4 - The week prior to Fri Jun 16 19:37:09 UTC 2000
5 - Rethought the rendezvous stuff. DEFINIT WORK IN PROGRESS
6 - Do not bother trying to use this. This will probably break
7 your clients. You may or may not want to fix them, since
8 I may change it again soon.
9 - I REPEAT: This really is a developer-only version. It barely
10 compiles. I'm just committing it so I don't have so many
11 trees floating around.
12 - Added stuff to support OFT as well as OSCAR protocols
13 - Added aim_send_im_direct() for directim ("IM Image")
14 - Added caps getting/putting routines
15 - Added more aim_login fixes to avoid more AOL stupidity
16 - This is the same as went to libfaim-devel yesterday, so don't upgrade
17 just to get these changes.
18 - Removed aimicq_encode_password -- now use the same table
22 - Tue Jun 6 01:36:48 UTC 2000
23 - Inverted gethostbyname2() check. Not sure how that ended up
25 - Added some of the initial framework to support file transfers
26 - Added in a few checks for that
27 - Can currently parse and send a denial message.
28 - Added cookie caching. (Sorry, I just like saying that.)
29 - Rearranged channel 2 ICBM parsing (detects the different
30 rendezvous types better and hopefully accuratly).
31 - Killed the connection array. Now a list. (Suits the
32 upcoming features better.) --- REQUIRES CLIENT CHANGES...
33 - In most cases, you need to change aim_conn_close() calls
34 to aim_conn_kill(). This will free them as well as
35 close them. If you don't do this, you'll pollute the
36 connection list and leak memory.
37 - Possibly a few other minor things (some cleanups to faimtest for one)
39 - Fri Jun 2 23:27:28 UTC 2000
40 - Cleaned up aim_send_login slightly
41 - Added aimicq_encode_password to support the new hash
42 values required for logging in with ICQ
43 - Removed crash when email and/or reg status aren't
44 in the auth response (they're not in ICQ responses)
45 - So now as long as you specify a client version of
46 4.30.3141 in the client info, and your ICQ number
47 as your screen name, you can login to ICQ via libfaim
48 and use it just like an AIM account.
49 - Added AIM_CB_SPECIAL_CONNERR callback for recieving
50 messages such as disconnect reasonses ("you logged
51 on from a different machine", etc).
52 - Added faimtest's userinfo handler to support away messages
54 - Fri Jun 2 15:57:27 UTC 2000
55 - Add creation time, maxmsglen, and various unknowns to chat info
57 - Remove 'nothing works yet' comment from top of aim_chat.c (it works!)
59 - Wed May 31 01:17:24 UTC 2000
60 - Added constants for message sizes (MAXMSGLEN, MAXCHATMSGLEN)
61 - Note that the new max message size is defined as 7988bytes,
62 drastically larger than WinAIM lets you put out. This is a
63 libfaim-exclusive feature :)
64 - Reduced base buffer size on aim_send_im()
66 - Tue May 30 22:32:31 UTC 2000
67 - Added lock around tx seqnum to prevent that race when transmitting
68 from diverse threads. (actually committed earlier today)
69 - Added aim_meta.c and a few constants and things to keep
71 - Added mkbuildinfo.sh to automatically update build string
72 "constants" on every invocation of 'make all'.
74 - Mon May 29 12:08:28 GMT 2000
75 - Rearranged aim_tx_flushqueue(); moved write operation
77 - Turned aim_tx_enqueue() into a macro that calls sess->tx_enqueue,
78 a function pointer to whatever you want to use to enqueue
79 things for transmition (or not)
80 - Old aim_tx_enqueue becomes aim_tx_enqueue__queuebased. Added
81 aim_tx_enqueue__immediate for doing immediate writes. Default
82 is to use queue-based procedure.
83 - Cleaned up parts of aim_conn.c
84 - Added locking around the sockets themselves. Should allow
85 for full cross-thread usage.
86 - Unfortunatly, only pthreads are supported at this time.
87 If you don't have pthreads on your arch, implement the
88 macros your arch needs and send me a patch. (A SysV
89 semaphore implementation would be trivial, as would a
90 simple integer-based lock.)
92 - Sun May 21 14:59:20 GMT 2000
93 - Added infotype parameter to aim_getinfo() for requesting
94 different types of messages. AIM_GETINFO_GENERALINFO
95 will get you the normal stuff, AIM_GETINFO_AWAYMESSAGE
96 will get the normal stuff, with the profile replaced with
97 the user's away message. Also, the callback adds an
98 unsigned short to the end to give you the value that
99 was originally passed to the request.
100 - There were a few server-pertinent changes that didn't get
101 documented from last month. I have no idea what they were.
103 - Sun Apr 2 07:29:11 UTC 2000
104 - Redid much of the tx path to remove the superfluous copy. But
105 it touches every function that transmits. Its been a long
107 - Added caps parameter to aim_bos_setprofile(). You can now
108 control what capabilties you show up as others to
109 - Added ->capabilities to userinfo. It should be nonzero when
110 its coming off buddy oncoming information, but NOT requested
113 - Sun Apr 2 01:45:15 UTC 2000
114 - Increased AIM_CONN_MAX from 5 to 7. Precausionary only
115 - Removed deprecated TIS_TELNET_PROXY from faim/faimconfig.h
116 - Added macros for the simple integer functions in aim_util.c
117 - Removed usage of aim_failsaferead()
118 - Still not sure why I had it to begin with. I think it
119 was a remament from when we used non-blocking sockets
120 (which I don't know why I did either)
121 - Removed some of the oddities in aim_get_command()
122 - gprof showed this taking 20kns on my k6-300. Should be faster now.
123 - Added conn parameter. This should prevent aim_select() from
124 getting called too many times in a row.
126 - Thu Mar 23 08:45:40 UTC 2000
127 - Removed aim_countconn() > 0 check in aim_select(), its logically redundent
128 - Added aim_putuserinfo() (inverse of aim_extractuserinfo())
129 - Added aim_sendbuddyoncoming/offgoing()
130 - Rearranged loop in rxdispatch()
131 - Remove aim_conn_close() if connections dead in aim_get_command()
133 - Thu Mar 23 00:44:32 UTC 2000
134 - Added a check to purge_rxqueue to skip handled commands
136 - Mon Mar 20 05:30:59 UTC 2000
137 - Added some server-only functions for login
138 - Added aim_counttlvchain()
139 - Added aim_sncmp() and aim_snlen()
141 - Sun Mar 19 06:07:52 UTC 2000
142 - Added a parameter to aim_select to return event type
143 - REQUIRES CLIENT CHANGES.
144 - For the most part rewrote the tx and rx queuing code
145 - Should fix many, many outstanding problems in and related
146 to that code, including one that keeps memory from freeing
147 - Fixed several bugs in various places
148 - Reformated a lot of code, and did general cleanups
149 - Should have a generally more robust lib now.
151 - Sun Mar 12 00:07:40 UTC 2000
152 - Fixed a robustness problem in aim_handleredirect_middle()
153 - Added TLV chain creation routines (yes, aimd is progressing)
155 - Mon Jan 3 04:07:55 UTC 2000
156 - Fixed bug in aim_snac.c
157 - Fixed condition where commands read from connections that have
158 been closed were still left in the queue. Now cancelled.
159 - Added some printfs to aim_info to get more informative crahes
160 - Fixed a bug in aim_rxqueue::purge
162 - Sun Jan 2 10:31:19 UTC 2000
163 - Cleanups in aim_info.c
164 - Can compile with -Ddebug=100 again
165 - Implemented chat: Joining/Leaving, info parsing, IM parsing/sending
166 - Implemented some chatnav: rights req/parsing, room creation
168 - Thu Dec 30 10:08:42 UTC 1999
169 - Fixed bug in aim_im.c when (encoding == NULL) || (lang == NULL)
170 - Added detection of voice chat requests
171 - Added AIM_CLASS_* defines, including new Away flag
172 - Added awaymsg parameter to bos_setprofile.
173 - If awaymsg is nonnull, you will be advertised as being away (your
174 class will be ORed with AIM_CLASS_AWAY), otherwise you'll show
177 - Wed Dec 29 10:06:35 UTC 1999
178 - Fixed small bug in IM parser
179 - Added stubs for the capability TLVs in userinfo.
181 - Wed Dec 29 09:14:45 UTC 1999
182 - Added a capability block to aim_bos_setprofile. Can now get chat
184 - Extended ICBM parser to support channel 2 messages (chat invites)
185 - A channel parameter has been prepended to the varargs -- REQUIRES
187 - Extended faimtest to support chat invites.
188 - Changed faimtest to get sn/password from environment
190 - Wed Dec 29 04:17:03 UTC 1999
192 - Added aim_sendconnack() to aim_login.c (needed for newer login)
193 - Added code for the new SNAC-based login/auth procedure. (see SNACLOGIN
194 in faim/faimconfig.h for why its not enabled)
195 - Reimplemented aim_authparse(), aim_handleredirect() using TLVlists
196 - The old auth_failed callback is now integrated into the
197 success one. If there was an error, logininfo->errorcode is nonzero
198 - Fiddled with version information. Added aim_setversions()
199 - Added table of SNAC names for showing unknown snacs (jbm)
200 - Added a middle handler for MOTD
201 - Added new authorization SNACs to faim/aim_cbtypes.h
203 - Sun Dec 26 22:59:10 UTC 1999
204 - Renamed login_phase1_struct to aim_login_struct
205 - Changed cookie and sn to be static arrays in aim_login_struct
206 - Integrated the Jabber-faim changes. (temas) [BIG CLIENT CHANGES]
207 - Added aim_session_t, removed all global variables
208 - Changed all functions to accept a session pointer
209 - Removed aim_global.c
210 - Updated faimtest to use an aim_session_t.
211 - Removed all cases where logininfo was passed as vararg to client
212 - Fixed small bug in aim_newconn's 'fixing' of host:port addresses
213 - Added an install rule to the makefile (installs headers+so only!)
214 - Enabled USE_SNAC_FOR_IMS by default, assuming it got fixed
215 by n's new aim_snac.c from ages ago
216 - Implemented a middle handler for 0004/0001 message errors, added
217 snacid lookup to get illfated destination SN and pass to client
218 - Implemented a short middle handler for offgoing buddy.
220 - Fri Dec 24 21:30:06 UTC 1999
221 - Added an error-counting Read() that has been sitting in my inbox
222 - Cleaned up header files, created aim_cbtypes.h.
223 - Added void * to aim_conn_t for private client use if they want. (Orb)
224 - Removed all stderr output. All output is important, and goes to stdout.
225 - Renamed isautoresponse in IM parser to icbmflags.
226 - Added Orb's fix for the new login code, deleted old (see Orb, I do read
227 your mail....eventually).
228 - Added mailing lists to README.
230 - Fri Dec 24 11:12:34 UTC 1999
231 - Cleaned up both outgoing and incoming ICBM handling. Anything
232 that crashes around there is no longer libfaims fault!
233 - The encoding flags are now passed up to the client.
234 - Added several TLV routines to parse large blocks of continuous
235 TLV triplets. Not terribly effecient, but quite elegent in usage.
236 - Added icbm_setparams() back in from way-back-long-ago. It hasn't
237 been implemented in a long time, but I think we should still send it.
239 - Fri Dec 24 01:23:06 UTC 1999
240 - Fixed a very minor bug in aim_newconn().
241 - Added aimutil_get{16,32}()
242 - Added aim_extractuserinfo() for extracting user data
243 blocks and putting them into struct aim_userinfo_s's.
244 - Added a loop to print out info on extraneous TLVs.
245 - Put in lots of comments.
246 - Added parse_oncoming_middle() to parse the user data
247 block of that packet. Now passes struct aim_userinfo_s
249 - Rearranged parse_userinfo_middle(). Now passes an entire
250 userinfo struct to client instead of individual variables.
251 - Convered the version of parse_im_middle() thats actually getting
252 used to pass up a userinfo struct.
253 - Updated faimtest to accept new structs.
255 - Tue Dec 21 06:18:50 UTC 1999
256 - Fixed a Win32 header problem
257 - Tue Dec 21 03:44:13 UTC 1999
258 - Latency timers now update on rx as well as tx. Gets rid of even more
259 of the rate problems that most clients are having.
260 - Renamed lasttx and settxlatency to lastactivity and setlatency, respec.
261 - Integrated fixes needed for Win32 -- should compile cleanly now (DMP)
262 - Cleaned up some places, use aim_putsnac everywhere now.
264 - Sun Sep 26 20:04:20 MST 1999
265 - Reduced the IM parsing to look for 3 zeros instead of 4 -- NEEDS WORK
266 - This was needed to work with MacAIM3 and some WinAIM3s.
267 - Added aim_conn_settxlatency() for throttling outgoing frames -- NEEDS WORK
268 - Added an int to the userinfo and incoming IM user callbacks for new
269 TLV that AOL put it in -- its the number of seconds elapsed since
271 - Worked more on the callbacks (more internal rearrangements)
272 - Fixed bug in aim_select() (returning negative fds)
273 - Clear out logininfo struct before putting more data into it
274 - Other bugfixes that I can't particularly remember.
276 - Tue Aug 24 03:13:12 UTC 1999 --- TRANSITION RELEASE!!
277 - Added jbm's new aim_rxqueue.c, which should crash less
278 - Started the overhaul on the callback system. No where near complete yet.
280 - Sun Aug 1 03:02:17 UTC 1999
281 - Added aimutil_*()s in aim_util.c for raw byte placement
282 - Cleaned up aim_im.c, aim_auth.c, and aim_login.c using aimutil_*
283 - Added AIM_IMFLAGS, flags option to aim_send_im(), removed
285 - Added client_info parameter to aim_send_login()
286 - Tweaked aim_send_im() (AOL changed a few things, there's some more
288 - Some Chat stuff changed, still no where near functional
289 - Finally remembered to switch the license to LGPL (from GPL)
290 - Permit/Deny (blocking) list support added
291 - Released a snapshot
293 - Sat Jul 31 05:28:38 UTC 1999
294 - Changed aim_bos_setdeny() to aim_bos_changevisibility() and actually
295 did the implementation.
297 - Fri Jul 23 17:45:22 UTC 1999
298 - Work around for the AOL change in IP syntax (thanks to Eric Peyton)
301 - Sun Apr 25 23:31:44 UTC 1999
302 - Fixed stupid off-by-one bug in aim_logoff()
304 - Sun Apr 25 22:43:31 UTC 1999
305 - Renamed/reclassified missed IM errors (now all callbacks -- no backend handling)
306 - Killed aim_login() -- all connections now opened in frontend
307 - aim_conn_close() will not close fd's < 3
310 - Sat Apr 10 22:44:07 UTC 1999
311 - Changed how rx_command->handled works; now uses return value from callback
312 - Changed the if's in the dispatcher (aim_rxhandlers.c) to switch()es
314 - Sat Apr 10 03:51:21 UTC 1999
316 - Put in n's aim_snac.c.
317 - Updated aim_{add,remove}_buddy() to use aim_conn
318 - Updated aim_usersearch_address() to use aim_conn
319 - Cleaned up aim.h a bit (removed old *phase* protos)
320 - Changed gethostbyname() to gethostbyname2() (for MacOS X)
321 - Changed aim_newconn() to pass connection errors in connstruct->status
322 - Updated faimtest.c to detect connection errors
323 - Fixed a small typo in aim_im::aim_parse_incoming_im_middle()
324 - Added free()s in that function and to userinfo counterpart (fewer leaks)
327 - Sat Apr 3 06:43:14 UTC 1999
330 - Wed Dec 30 01:20:59 MST 1998
333 - Mon Dec 7 16:57:57 MST 1998
336 - Sat Dec 5 00:01:53 MST 1998
339 - Thu Nov 26 17:50:02 MST 1998