4 - Wed Aug 29 16:59:24 PDT 2001
5 - Pass up entire icon triplet (checksum/length/timestamp) in all cases
7 - Eric was paying more attention than I am.
9 - Sat Aug 25 19:46:38 PDT 2001
10 - Pass "Maximum visible message length" to client in chat info update
11 - This is the real maximum message length now. There is still a
12 "complexity" limit that will prevent you from sending messages
13 even if they are less than this limit (102 right now), but I don't
14 know how that is calculated.
16 - Sat Aug 25 19:19:16 PDT 2001
17 - Keep parsing missed calls for entire packet
18 - This is really easy to test now. Just talk to someone with
19 their minmsginterval set high (like 10seconds or something)
21 - Sat Aug 25 18:35:13 PDT 2001
22 - aim_sendconnack -> aim_sendflapver
23 - Remove addicbmparam. This was identical to aim_seticbmparam
24 - aim_seticbmparam now takes a struct with the parameters in it. See
25 faimtest. !!! REQUIRES CLIENT CHANGES if you use aim_seticbmparam, which
26 you really really should -- the defaults are insanely limited
27 - Fix rendezvous IM parsing that I broke last time.
28 - ICBM parameter info callback gives same struct as above. !!! REQUIRES
30 - Reformat login.c and part of faimtest.c
31 - !!! NOTE: don't do anything in your motd handler. If you do, it will
32 get run twice, sine for some reason AOL is sending two MOTDs now.
34 - Wed Aug 22 22:11:18 PDT 2001
35 - Reformat the rest of im.c
36 - Fix a few returns, particularly in error cases
38 - Thu Aug 16 06:17:57 PDT 2001
39 - Reformat a bit of im.c and aim.h
40 - Rearrange encoding/subencoding checks in IM parsing
42 - Fri Aug 3 14:19:37 EDT 2001
43 - Naje aun_sebd_un retyrn sabe vakyes
45 - Thu Aug 2 13:28:37 EDT 2001
46 - Uhm. Why does arcanejill think its in EDT?
47 - Cache the username on warnings so errors work right.
48 - Someday, I'm going to convert all of libfaim to that formatting style, too.
50 - Wed Jun 27 00:13:20 EDT 2001
51 - Some comments about UNICODE in faimtest.
53 - Fri Jun 15 17:51:27 EDT 2001
54 - Make faimtest compile on RH7.1 (new gcc).
55 - Add aim_conn_getsess()
56 - Add aim_getconn_type_all() and aim_getconn_fd().
57 - Make aim_connrst() and aim_conn_getnext() static to conn.c.
58 - Why does arcanejill think she is in EDT? Oh well.
60 - Thu Jun 14 17:37:47 PDT 2001
61 - Rearrange aim_setprofile(). It will now let you _not_ send a profile,
62 if you really want to (pass NULL). Note that this is quite different
63 than sending a _blank_ profile. Also fixes the "asci" bug.
65 - Mon Jun 4 12:57:46 PDT 2001
66 - Fix chatnav. Whoops.
68 - Mon Jun 4 12:45:18 PDT 2001
69 - Don't use snacid's for generic requests (gets around recent blocks)
70 - If they start doing snacid-based blocks again, an audit will have
71 to be done to see what WinAIM requests uses snacids for and what
72 it leaves it blank for. That will be tedious and I'm not going to
75 - Thu May 31 23:00:50 PDT 2001
76 - Store two hardcoded hashes in login.c. Sigh.
77 - Add prototype for aim_callhandler_noparam in aim_internal.h
79 - Sat May 26 03:58:27 PDT 2001
80 - Aha! This is why I could never get icons to work before.
81 - Luckily the checksum is painfully simple.
83 - Sat May 26 01:37:39 PDT 2001
84 - So this is my big merge with the ActiveBuddy version...
85 - Remove use of tlvchains from IM parsing for better performance
86 - Add in buddy icon support
87 - Add support for sending UNICODE messages.
88 - Split up the more complicated options to aim_send_im into a structure
89 that is passed to aim_send_im_ext(). This makes it easier to send
90 simple messages, and only slightly harder to send complex ones.
91 - aim_send_im_ext() must be used if you're using buddy icons and/or you
92 are sending UNICODE messages.
93 - UNICODE is fully explained in commentary above aim_send_im_ext() in im.c.
94 - The ISO-8859-1 option is also added. Use when necessary, to avoid making
96 - This removes the msglen parameter to aim_send_im because that was only
97 needed to do UNICODE, which can now only be done by aim_send_im_ext.
99 - Wed May 23 18:05:46 PDT 2001
100 - I upgraded libtool. Which broke the faimtest makefile.
101 - Parse locate rights
102 - You shouldn't ask so many questions, Eric.
104 - Wed May 16 12:48:13 PDT 2001
105 - Thanks Rob and Eric
107 - Thu May 10 17:37:23 PDT 2001
108 - I haven't had lunch yet. What should I have?
110 - Wed May 9 15:21:51 PDT 2001
111 - I had pizza for lunch.
113 - Mon May 7 15:19:55 PDT 2001
114 - Rename rxhandler_t to aim_rxhandler_t. This has been
115 bugging me for a while.
117 - Thu May 3 15:47:23 PDT 2001
118 - Clean up getcap/putcaps
119 - Add GAMES2 and SENDBUDDYLIST caps (the latter is new in winaim 4.7beta)
120 - Update hash to latest value
122 - Wed Apr 25 11:51:39 PDT 2001
123 - I think this was a bug.
125 - Tue Apr 24 17:36:03 PDT 2001
126 - Let Eric generate the hash if he wants.
128 - Mon Apr 23 15:58:11 PDT 2001
129 - On a clear day, you can see forever.
131 - Thu Mar 29 13:05:50 PST 2001
134 - Thu Mar 29 14:45:22 CST 2001 (jbm)
135 - Add module capability to the 0001/001f stuff (jbm)
137 - Wed Mar 28 21:20:08 PST 2001
138 - Add flags arg to aim_chat_send_im()
139 - Add msglen arg to aim_send_im and aim_chat_send_im
140 - This will make more sense when I make the UNICODE commit (tomorrow?)
142 - Wed Mar 28 16:51:25 PST 2001
143 - I decided it was a good day while I was figuring out that it was a bad day.
144 - See faimtest and login.c::memrequest().
145 - Hopefully I'm done for a while.
147 - Tue Mar 27 19:15:10 PST 2001
148 - I haven't decided yet whether today is a good day or a bad day.
152 - Mon Mar 26 16:08:45 PST 2001
153 - Why didn't anyone tell me buddy-offgoing wasn't working?
154 - *** REQUIRES CLIENT CHANGES... buddy-offgoing now passes a userinfo
155 struct (its now identical to buddy-oncoming)
157 - Mon Mar 26 15:57:41 PST 2001
159 - Debuglevel wasn't getting set properly by aim_session_init
161 - Sat Mar 24 03:16:32 UTC 2001
162 - vaargs to msgerror and locateerror swapped
163 - ** CLIENT CHANGE: Reason code comes before SN now. This is so that
164 the backend code for all three error handlers is identical.
165 - aim_getinfo() returns -1 on failure (hah! I don't think anyone checks
166 return codes from libfaim anyway...they're known for their
167 inconsistency and lack of sensicality)
168 - Remove _DEFAULT handlers in faimtest...
169 - They were not consistent.
170 - They did not make sense.
171 - They did not work anyway.
172 - Most of them were #if 0'd.
173 - Add ICBM Parameter Info callback... you can catch this if you want.
174 - aim_getbuildstring() now takes a buffer instead of returning static (ew!)
175 - Clean up, "factorize", etc
176 - More stuff... (Only one "middle handler" left in rxhandlers.c!)
178 - Fri Mar 23 05:42:11 UTC 2001
179 - Export aim_encode_password_md5()
180 - Add middle handler for 000b/0002 (min report interval)
181 - Add aim_session_kill()
182 - CLIENTS MUST CALL THIS either in addition to or instead of
183 aim_logoff(), particularly if you keep lots of sessions open.
184 (Sessions now contain dynamically allocated memory which must be freed.)
185 - Oh, and some other stuff...
187 - Fri Mar 23 01:45:28 UTC 2001
188 - Add AIM_CLIENTINFO_KNOWNGOOD
189 - Fix a few details in aim_send_login (thanks temas)
190 - Prevent aim_rxhandlers from being called recursively
191 - This is something that has been in my PENDING_AIM mailbox for over
192 a year now. I figured it was trivial enough to throw in. EveryBuddy
193 wanted it, but I don't remember why. It should never happen anyway.
194 - Use AIM_CLIENTINFO_KNOWNGOOD
195 - This lets faimtest log in after today's round of AOL being mean.
197 - Fri Mar 16 23:12:58 UTC 2001
198 - Remove one level from aim_rxdispatch()
200 - Wed Mar 14 20:21:49 UTC 2001
201 - Clean up declarations of TLV functions (ie, const)
202 - Add -o and -O to faimtest (I didn't use your patch, josh)
204 - Wed Mar 14 03:11:03 UTC 2001
205 - Err...I'll commit before I go home. More faimtest crap.
207 - Tue Mar 13 20:23:04 UTC 2001
208 - Fiddle with faimtest a bit.
210 - Sun Mar 11 06:02:19 UTC 2001
213 - Sun Mar 11 05:51:45 UTC 2001 (jbm)
214 - Split off aim_internal.h
215 - Add aim_tx_cleanqueue()
216 - Remove sn from directim callback (use priv)
218 - Mon Mar 5 01:19:48 UTC 2001
219 - Fix typo in last CHANGES entry.
220 - Add fix from Eric to keep efence from complaining about malloc(0)
221 - Add .cvsignore files (also from Eric)
222 - Throw in josh's latest OFT/ODC kludges
223 - Completly remove all calls to printf and (unbounded) sprintf
224 - Add aim_setdebuggingcb()
225 - Remove preprocessor-based debug semantics (faimconfig.h)
226 - faimdprintf() now calls a user-specified callback to do printing
227 - Rearrange aim_tx_new() parameters to be more sensical, add sess
228 - Do some sanity checking in aim_tx_new()
229 - Add #defines to keep printf from compiling inside libfaim
230 - Who knows what else. (in total, this patch is nearly 5k lines)
232 - Fri Mar 2 02:17:22 UTC 2001
233 - Add aim_fingerprintclient(). (AB will trust this, but you shouldn't.)
234 - Add some EXTRA_DIST to Makefile.am
236 - Mon Feb 26 01:46:34 UTC 2001
237 - Fix swapped bytes in aim_caps[]. Thanks to
238 Bruce Miller <bmiller@ics.uci.edu> for pointing this out.
240 - Sun Feb 11 01:07:36 UTC 2001
241 - Make secondary connections to the authorizer work again
242 - Make aim_auth_changepasswd() work again.
243 - Add aim_auth_setversions(), aim_auth_getinfo(), aim_auth_setemail(),
244 aim_auth_reqconfirm()
245 - Add middle handlers for responses to all of above.
246 - Add examples of above to faimtest (start with 'reqauth')
248 - Fri Feb 9 22:31:22 UTC 2001
249 - Add aim_tx_setenqueue().
251 - Thu Feb 8 20:12:39 UTC 2001
252 - Let TLV functions out of aim.h if FAIM_NEED_TLV is defined.
254 - Thu Feb 8 02:31:25 UTC 2001
255 - Remove aim_purgecookies() -- never used anyway
256 - Clean up a few bits of aim_msgcookie.c
257 - Remove AIM_CONN_MAX constant (hasn't been relevent in ages)
258 - Change commentary on synchro in aim.h
259 - Add NOPLOCKS and make them default
260 - Make faim/aim.h more of a mess; try to keep interfaces hiddenish.
261 - Add #define FAIM_INTERNAL to top of every file
262 - Remove aim_countconn (no one uses it anyway)
263 - Add aim_cloneconn() (cringe.)
264 - Throw in josh's getfile patch (and then munge it enough to break it)
265 - Add getopt() to faimtest.
266 - Remove aim_buildcode.h/mkbuildinfo.sh crap.
267 - Clean up aim_cleansnacs()
268 - There may have been other stuff too. As always, the diff is the
269 most accurate changelog there is.
270 - *** FT is currently more broken than it was before. Also, this patch
271 introduces even more memory leaks. You've been warned.
273 - Sun Dec 17 07:19:04 UTC 2000
274 - Update the capability block list
276 - Sat Dec 16 01:34:19 UTC 2000
277 - Rename paramid to rateclass
278 - Add a long comment about the rate system
279 - Add a few other comments
280 - Clean up aim_bos_clientready().
282 - Fri Dec 15 23:35:01 UTC 2000
283 - Add genericerr callback/middle.
284 - This is for catching the errors that come back, for instance, from
285 sending a SNAC that isn't supported by the host (such as the
286 Watcher Request SNAC).
288 - Fri Dec 15 21:51:32 UTC 2000
289 - Add more info to evilnotify callback
290 - Add a few values to aim_cbtypes.h
292 - Fri Dec 15 20:41:15 UTC 2000
294 - Make aimdebugd compile
297 - Fri Dec 15 02:04:12 UTC 2000
298 - Parse rate changes *properly*
299 - Add sample code to faimtest demonstrating my approximations
300 on how to fiddle with aim_conn_setlatency() in relation
301 to the rate changes (properly wildly conservative). [I also
302 copied this stuff into mfaim.]
304 - Thu Dec 14 03:39:34 UTC 2000
305 - Change the 0x01 to a 0x00 in auth request to make buddy lists work again
306 - Rearrange bytes in setversions() to match winaim
307 - Add several cachesnac() calls
308 - Add hostonline and hostversions parsers (superfluous)
310 - Wed Dec 13 02:26:39 UTC 2000
311 - Create aim_cachesnac()
312 - Some long overdue cleanups
314 - Wed Dec 13 00:38:56 UTC 2000
315 - Added the client update/version info to the authresp callback
316 - Added the prototype for aim_getfile_send_chunk to aim.h
318 - Tue Dec 12 23:02:41 UTC 2000
319 - Got pissed off at sess->logininfo. Got rid of it.
320 - Now pass all that stuff in as varargs, like it should be.
321 - *** Look at the changes to faimtest. You'll also need to
322 change anything in your code that references sess->logininfo
323 to reference sess->sn instead. The rest of the other info
324 is now unavailable (it was before, too, it just didnt look like it).
325 - A few other minor cleanups.
326 - Added aim_gettlv8/16/32, aim_puttlv_8, and aim_addtlvtochain_noval.
327 - Added that short 0x004a TLV to the auth request, like WinAIM 4.3.
329 - Mon Dec 4 23:46:35 UTC 2000
330 - Add exchange to the create response callback (doh!)
332 - Sat Dec 2 02:14:45 UTC 2000
333 - Dumb bug in aim_clearhandlers()
335 - Fri Dec 1 23:48:38 UTC 2000
336 - Store exchange along with room name in the great chat hack
338 - Fri Dec 1 22:25:56 UTC 2000
339 - Fix numerous tiny (but sometimes catastrophic) bugs dealing
340 with connection death (particularly with chat connections)
341 - *** Any connection with a -1 fd will get returned by aim_select
342 immediatly now... your code probably already handles this implicitly.
344 - Wed Nov 29 17:31:23 UTC 2000
345 - Rewrote some of the msgcookie stuff
346 - Changed cachecookies to uncachecookies where it makes sense (arg!)
349 - Fri Nov 10 08:24:34 UTC 2000
350 - Add sess->flags (replaces sess->snaclogin)
351 - Remove odd setstatus call in chat parser
352 - Remove aim_tx_enqueue macro, replace with a smarter one
353 - If a connection is in progress, enqueue instead of calling
354 the client-specified queuer
355 - Add support for nonblocking connects through the
356 AIM_SESS_FLAG_NONBLOCKCONNECT flag to aim_session_init()
357 - Add AIM_CB_SPECIAL_CONNCOMPLETE callback. Not real useful.
358 - Add AIM_CB_SPECIAL_FLAPVER callback. Can be used as an alternate
359 way of starting the login process, or just to look like you
360 know what you're doing. Fixed associated inconsistencies
361 in aim_rxhandlers too.
362 - Fix some connection status stupidities in faimtest.
364 - Wed Nov 8 13:11:18 UTC 2000
365 - Reenable/reimplement older login, but only use for ICQ UINs
366 - This is a fairly ugly hack. But...eh. It works.
367 - You'll need to remove the aim_sendconnack() before the
368 call to aim_request_login. It will now do it automatically
369 if its needed. (hint: ***CLIENT CHANGE***)
371 - Wed Nov 8 02:23:25 UTC 2000
372 - I'm trying out using a modified version of the kernel-doc scripts
373 to help document the libfaim code a bit. See aim_conn.c and
374 aim_tlv.c, as well as the scripts in utils/docs.
376 - Wed Oct 25 17:52:20 UTC 2000
377 - Cleanup warnings from newer gcc's (RH7.0)
378 - Aparently newer gcc's don't let you do as strong of integer types
379 on va_arg as older ones... So, let me know if this breaks on your
382 - Tue Oct 17 02:10:13 UTC 2000
383 - Rearrange a few things
385 - Mon Oct 16 20:56:59 UTC 2000
386 - Remove some warnings
388 - Mon Oct 9 04:24:56 CDT 2000 (jbm)
389 - took care of the XXXs in aim_putuserinfo()
390 - now use dynamic TLV count to send ("look ma, no magic!")
391 - now send cap blocks
392 - now send icq info if a numeric SN
394 - Wed Oct 4 21:29:47 CDT 2000 (jbm)
395 - Fix borked disconnect callbacks
396 - Add aim_conn_in_sess()
397 - A little housekeeping in faimtest ("fixing" order of printf,
400 - Mon Sep 25 00:21:31 CDT 2000 (jbm)
401 - Add a couple of ICQ userinfo parses
403 - Fri Sep 22 22:47:49 UTC 2000
404 - Add aim_icq_setstatus() (jbm)
406 - Fri Sep 22 22:35:51 UTC 2000
407 - Apply jbm's patch below
408 - Minor cleanup in cb handler stuff
410 - Thu Sep 21 20:28:20 CDT 2000 (jbm)
411 - DirectIM shouldn't kill us any more.
412 - Eliminated a potential segfault in aim_send_im_direct().
414 - Added an aim_tx_destroy(); need to move the lib over to using it.
415 - Got rid of some #if 0 BS code in a couple of places
416 (aim_ft::establish() and aim_im::aim_parse_incoming_im_middle()).
417 - Added some file transfer stuff (so experimental, i haven't
418 had a chance to see if it causes cancer in lab animals).
419 - Added to faimtest for all of the above.
420 - Added myself to AUTHORS with Real Info.
422 - Thu Sep 21 00:24:36 UTC 2000
423 - Add socks5 proxy support (not tested real well, worked the
425 - Added proxy support to faimtest.
427 - Tue Sep 19 03:10:07 UTC 2000
428 - Add aim_setuserinterests() and aim_setdirectoryinfo()
429 - Add ICQ away status
431 - Thu Sep 14 00:54:48 UTC 2000
432 - Added create room callback
434 - Wed Sep 13 22:01:35 UTC 2000
435 - Remove references to "new" and "class" for dumb C++ compilers
436 - Renamed userinfo->class to userinfo->flags both for clarity and C++
437 - Remove some extraneous variables
439 - Tue Sep 12 20:16:51 UTC 2000
440 - Add aim_flap_nop() from my work tree
442 - Tue Sep 12 05:06:53 UTC 2000
443 - Revert the two-byte change in aim_misc, clientready
445 - Tue Sep 5 04:41:45 GMT 2000
446 - Few more minor things
447 - Added the changes needed for faimtest.
448 - Removed aimdebugd from default build
450 - Tue Sep 5 03:47:26 GMT 2000
451 - More ANSIfication for win32
452 - Forgot aim_misc last time.
454 - Mon Sep 4 22:08:35 GMT 2000
455 - Forgot aim_snac and aim_search
457 - Mon Sep 4 21:38:09 GMT 2000
458 - A mild step towards ANSI compliance
459 - Compiles cleanly with -pedantic (except for the libc issue in socket.h)
460 - Fixes various sign mismatch things. There may be more, we'll see
461 what MSVC has to say about it.
462 - Add faim_internal and faim_export macros so Win32 DLL is easier
464 - Sun Sep 3 23:58:17 UTC 2000
465 - Portability fixes (for solaris, set the SOLARIS env var first)
467 - Sat Sep 2 23:42:37 UTC 2000
468 - Hopefully fix aim_snac.c bugs
469 - Add Buddy List Rights parser (max buddies and max watchers)
470 - Fix rather major problem in rxhandlers caused by missing breaks
471 - Add reason code for msgerr (0004/0001) callback
472 - Add BOS Rights parser (max permit / max deny)
473 - Add locate error (0002/0001) parser
474 - Add parser for missed calls (0004/000a)
476 - Fri Sep 1 23:34:28 UTC 2000
477 - Switched the read()s in rxqueue to use recv()
478 - Should fix the big message problem and the big buddy list problem
479 - Changed some values around in aim_misc to match winaim4.1
480 - Added aim_addicbmparm. dunno what it does
481 - Cleanup the login process in faimtest (can now login in less than 2sec)
483 - Fri Sep 1 00:13:04 UTC 2000
484 - Avoid zero-length mallocs in aim_tlv
486 - Thu Aug 31 23:40:23 UTC 2000
487 - Threw in aim_select modification from nicolas
488 - Remove stray debugging printf in aim_tlv
490 - Mon Aug 28 03:11:15 GMT 2000
491 - Adds lots of comments
492 - Add AIM_CLASS_ALLUSERS constant for setgrouppermmask()
493 - Add warnings support (jbm)
495 - Mon Aug 21 22:00:18 UTC 2000
496 - Implement SNAC login MD5 (thanks to Sonuvbob for that one)
497 - Clear out all that old login cruft. Much cleaner now.
498 - REQUIRES CLIENT CHANGES (see faimtest)
500 - Fri Aug 18 19:52:54 UTC 2000
501 - Fix the non-pthread bug
503 - Thu Aug 17 23:19:40 UTC 2000
504 - A few more leak fixes (only a few left to go...)
506 - Thu Aug 17 23:08:08 UTC 2000
507 - More leak fixes (eric, eric, eric...)
509 - Thu Aug 17 22:53:03 UTC 2000
510 - Change the SNAC cache to a hash instead of list
511 - Fixed a few leaks relating to aim_gettlv_str()
513 - Thu Aug 17 14:04:18 UTC 2000
514 - Fix the fd closing bug introduced last week
516 - Tue Aug 8 04:25:35 UTC 2000
517 - Preserve subtype and priv after aim_conn_close
519 - Tue Aug 8 04:15:47 UTC 2000
520 - Fixed double-calling of faim_mutex_init
521 - conn->type preserved after aim_conn_close
523 - Mon Jul 17 01:56:31 UTC 2000
524 - Added 0004/000c callback (for message acknowledgments)
525 - This goes with the AIM_IMFLAGS_ACK option that has been there
526 for ages now. When you send a message with that option, you'll
527 get a message back containing the screenname, telling you it was sent.
528 - Moved the aim_conn_kill's out of aim_get_command() and into
529 the client. They're only closed in there now. This is so that you
530 can detect what type of connection died. You'll want to handle
531 BOS and chat connections in special ways most likely. You'll also
532 need to call aim_conn_kill when you're done with it.
533 - Added/fixed the Rate Change handlers. Now passes up a long that
534 should contain a number. I'm currently in pattern-searching mode.
536 - Sun Jul 16 22:59:39 GMT 2000
537 - Fixed the locking in the rendezvous code. Hopefully is safe now.
539 - Sun Jul 16 11:03:28 GMT 2000
540 - Fixed 0001/000a chat printf. (Actually a one liner a few days ago.)
541 - Started integrating josh's 3k rendezvous patch. Currently only
542 directim is working. And its got bugs. But he's not online
543 right now, so I can't bitch. I'd love to bitch here, but I'm
545 - Can definitly accept directim connections and send/recieve.
546 - See faimtest for the new callbacks. (Urg.)
547 - Here weeee gooooo. (Not sure if this will break everyone or not.)
549 - Fri Jun 30 00:04:47 UTC 2000
550 - Removed the forceful ICQ-related warnings, just in case they're wrong
551 - Added three new fields to the client info.
552 - **REQUIRES CLIENT CHANGES -- see faimtest for new initializer
553 - Cleaned up aim_send_login()
554 - Put in a nice hidious fix for AOL's latest bit of the drama. See
555 aim_readtlvchain() for the details.
557 - Mon Jun 26 07:53:02 UTC 2000
558 - Added utils/aimdebugd for playing with things -- see the README
559 - Added aim_im.c::aim_parse_outgoing_im(). Probably not useful
560 unless you're writing a server or something (or hacking aimdebugd).
561 - aim_send_im() now sends the same data as AIM4 does (three more bytes)
562 - Added aim_debugconn_sendconnect() for aimdebugd-enablement.
564 - Sat Jun 24 02:14:07 UTC 2000
565 - Added fakelocks for platforms without pthreads or that have no
567 - Added workaround for MSG_WAITALL for people with the very broken
568 libc that comes with earlier Red Hat's.
570 - Sat Jun 24 00:44:24 UTC 2000
571 - Support zero-type TLVs in aim_extractinfo()
572 - AOL now ocassionally throws extra zeros in so in order to break
573 clients. Aparently zero-type TLVs are a special case -- if the
574 type is zero, then _there is no length_ field. AOL are geniuses.
575 - Note that you only get these if you send a bad client string, such
576 as the top one in faimtest. If you #if 0 that one out and use the
577 second one, you'll be fine. (Unless you just want to see the message
578 for yourself. Its nifty. (FREE!))
579 - ICBM parser now uses aim_extractuserinfo() so that it can benefit
580 from the above changes, as well as clean up the whole "is it the
581 first or the second one of this type?" issue
582 - This also fixes the changes AOL made in away messages.
583 = Fixed a possible buffer overflow when AOL changes the max sn length
584 - Increased MAXSNLEN to 32 (they appear to be valid)
585 - If you start getting messages from someone called "AOL Instant
586 Messenger", see comment one, paragraph two.
587 - aim_select() now returns a -1 if there are no connections open
588 - Connections are now killed completely if there is a major error on them
589 - faimtest now calls aim_logoff() on connection error
591 - Fri Jun 23 22:38:47 UTC 2000
592 - Adds start of adverts support
593 - Adds aim_bos_nop(). You may want to send this occassionally
594 - Fixes aim_rxhandlers.c to work for people with three-letter
597 - The week prior to Fri Jun 16 19:37:09 UTC 2000
598 - Rethought the rendezvous stuff. DEFINIT WORK IN PROGRESS
599 - Do not bother trying to use this. This will probably break
600 your clients. You may or may not want to fix them, since
601 I may change it again soon.
602 - I REPEAT: This really is a developer-only version. It barely
603 compiles. I'm just committing it so I don't have so many
604 trees floating around.
605 - Added stuff to support OFT as well as OSCAR protocols
606 - Added aim_send_im_direct() for directim ("IM Image")
607 - Added caps getting/putting routines
608 - Added more aim_login fixes to avoid more AOL stupidity
609 - This is the same as went to libfaim-devel yesterday, so don't upgrade
610 just to get these changes.
611 - Removed aimicq_encode_password -- now use the same table
615 - Tue Jun 6 01:36:48 UTC 2000
616 - Inverted gethostbyname2() check. Not sure how that ended up
618 - Added some of the initial framework to support file transfers
619 - Added in a few checks for that
620 - Can currently parse and send a denial message.
621 - Added cookie caching. (Sorry, I just like saying that.)
622 - Rearranged channel 2 ICBM parsing (detects the different
623 rendezvous types better and hopefully accuratly).
624 - Killed the connection array. Now a list. (Suits the
625 upcoming features better.) --- REQUIRES CLIENT CHANGES...
626 - In most cases, you need to change aim_conn_close() calls
627 to aim_conn_kill(). This will free them as well as
628 close them. If you don't do this, you'll pollute the
629 connection list and leak memory.
630 - Possibly a few other minor things (some cleanups to faimtest for one)
632 - Fri Jun 2 23:27:28 UTC 2000
633 - Cleaned up aim_send_login slightly
634 - Added aimicq_encode_password to support the new hash
635 values required for logging in with ICQ
636 - Removed crash when email and/or reg status aren't
637 in the auth response (they're not in ICQ responses)
638 - So now as long as you specify a client version of
639 4.30.3141 in the client info, and your ICQ number
640 as your screen name, you can login to ICQ via libfaim
641 and use it just like an AIM account.
642 - Added AIM_CB_SPECIAL_CONNERR callback for recieving
643 messages such as disconnect reasonses ("you logged
644 on from a different machine", etc).
645 - Added faimtest's userinfo handler to support away messages
647 - Fri Jun 2 15:57:27 UTC 2000
648 - Add creation time, maxmsglen, and various unknowns to chat info
650 - Remove 'nothing works yet' comment from top of aim_chat.c (it works!)
652 - Wed May 31 01:17:24 UTC 2000
653 - Added constants for message sizes (MAXMSGLEN, MAXCHATMSGLEN)
654 - Note that the new max message size is defined as 7988bytes,
655 drastically larger than WinAIM lets you put out. This is a
656 libfaim-exclusive feature :)
657 - Reduced base buffer size on aim_send_im()
659 - Tue May 30 22:32:31 UTC 2000
660 - Added lock around tx seqnum to prevent that race when transmitting
661 from diverse threads. (actually committed earlier today)
662 - Added aim_meta.c and a few constants and things to keep
664 - Added mkbuildinfo.sh to automatically update build string
665 "constants" on every invocation of 'make all'.
667 - Mon May 29 12:08:28 GMT 2000
668 - Rearranged aim_tx_flushqueue(); moved write operation
669 to aim_tx_sendframe()
670 - Turned aim_tx_enqueue() into a macro that calls sess->tx_enqueue,
671 a function pointer to whatever you want to use to enqueue
672 things for transmition (or not)
673 - Old aim_tx_enqueue becomes aim_tx_enqueue__queuebased. Added
674 aim_tx_enqueue__immediate for doing immediate writes. Default
675 is to use queue-based procedure.
676 - Cleaned up parts of aim_conn.c
677 - Added locking around the sockets themselves. Should allow
678 for full cross-thread usage.
679 - Unfortunatly, only pthreads are supported at this time.
680 If you don't have pthreads on your arch, implement the
681 macros your arch needs and send me a patch. (A SysV
682 semaphore implementation would be trivial, as would a
683 simple integer-based lock.)
685 - Sun May 21 14:59:20 GMT 2000
686 - Added infotype parameter to aim_getinfo() for requesting
687 different types of messages. AIM_GETINFO_GENERALINFO
688 will get you the normal stuff, AIM_GETINFO_AWAYMESSAGE
689 will get the normal stuff, with the profile replaced with
690 the user's away message. Also, the callback adds an
691 unsigned short to the end to give you the value that
692 was originally passed to the request.
693 - There were a few server-pertinent changes that didn't get
694 documented from last month. I have no idea what they were.
696 - Sun Apr 2 07:29:11 UTC 2000
697 - Redid much of the tx path to remove the superfluous copy. But
698 it touches every function that transmits. Its been a long
700 - Added caps parameter to aim_bos_setprofile(). You can now
701 control what capabilties you show up as others to
702 - Added ->capabilities to userinfo. It should be nonzero when
703 its coming off buddy oncoming information, but NOT requested
706 - Sun Apr 2 01:45:15 UTC 2000
707 - Increased AIM_CONN_MAX from 5 to 7. Precausionary only
708 - Removed deprecated TIS_TELNET_PROXY from faim/faimconfig.h
709 - Added macros for the simple integer functions in aim_util.c
710 - Removed usage of aim_failsaferead()
711 - Still not sure why I had it to begin with. I think it
712 was a remament from when we used non-blocking sockets
713 (which I don't know why I did either)
714 - Removed some of the oddities in aim_get_command()
715 - gprof showed this taking 20kns on my k6-300. Should be faster now.
716 - Added conn parameter. This should prevent aim_select() from
717 getting called too many times in a row.
719 - Thu Mar 23 08:45:40 UTC 2000
720 - Removed aim_countconn() > 0 check in aim_select(), its logically redundent
721 - Added aim_putuserinfo() (inverse of aim_extractuserinfo())
722 - Added aim_sendbuddyoncoming/offgoing()
723 - Rearranged loop in rxdispatch()
724 - Remove aim_conn_close() if connections dead in aim_get_command()
726 - Thu Mar 23 00:44:32 UTC 2000
727 - Added a check to purge_rxqueue to skip handled commands
729 - Mon Mar 20 05:30:59 UTC 2000
730 - Added some server-only functions for login
731 - Added aim_counttlvchain()
732 - Added aim_sncmp() and aim_snlen()
734 - Sun Mar 19 06:07:52 UTC 2000
735 - Added a parameter to aim_select to return event type
736 - REQUIRES CLIENT CHANGES.
737 - For the most part rewrote the tx and rx queuing code
738 - Should fix many, many outstanding problems in and related
739 to that code, including one that keeps memory from freeing
740 - Fixed several bugs in various places
741 - Reformated a lot of code, and did general cleanups
742 - Should have a generally more robust lib now.
744 - Sun Mar 12 00:07:40 UTC 2000
745 - Fixed a robustness problem in aim_handleredirect_middle()
746 - Added TLV chain creation routines (yes, aimd is progressing)
748 - Mon Jan 3 04:07:55 UTC 2000
749 - Fixed bug in aim_snac.c
750 - Fixed condition where commands read from connections that have
751 been closed were still left in the queue. Now cancelled.
752 - Added some printfs to aim_info to get more informative crahes
753 - Fixed a bug in aim_rxqueue::purge
755 - Sun Jan 2 10:31:19 UTC 2000
756 - Cleanups in aim_info.c
757 - Can compile with -Ddebug=100 again
758 - Implemented chat: Joining/Leaving, info parsing, IM parsing/sending
759 - Implemented some chatnav: rights req/parsing, room creation
761 - Thu Dec 30 10:08:42 UTC 1999
762 - Fixed bug in aim_im.c when (encoding == NULL) || (lang == NULL)
763 - Added detection of voice chat requests
764 - Added AIM_CLASS_* defines, including new Away flag
765 - Added awaymsg parameter to bos_setprofile.
766 - If awaymsg is nonnull, you will be advertised as being away (your
767 class will be ORed with AIM_CLASS_AWAY), otherwise you'll show
770 - Wed Dec 29 10:06:35 UTC 1999
771 - Fixed small bug in IM parser
772 - Added stubs for the capability TLVs in userinfo.
774 - Wed Dec 29 09:14:45 UTC 1999
775 - Added a capability block to aim_bos_setprofile. Can now get chat
777 - Extended ICBM parser to support channel 2 messages (chat invites)
778 - A channel parameter has been prepended to the varargs -- REQUIRES
780 - Extended faimtest to support chat invites.
781 - Changed faimtest to get sn/password from environment
783 - Wed Dec 29 04:17:03 UTC 1999
785 - Added aim_sendconnack() to aim_login.c (needed for newer login)
786 - Added code for the new SNAC-based login/auth procedure. (see SNACLOGIN
787 in faim/faimconfig.h for why its not enabled)
788 - Reimplemented aim_authparse(), aim_handleredirect() using TLVlists
789 - The old auth_failed callback is now integrated into the
790 success one. If there was an error, logininfo->errorcode is nonzero
791 - Fiddled with version information. Added aim_setversions()
792 - Added table of SNAC names for showing unknown snacs (jbm)
793 - Added a middle handler for MOTD
794 - Added new authorization SNACs to faim/aim_cbtypes.h
796 - Sun Dec 26 22:59:10 UTC 1999
797 - Renamed login_phase1_struct to aim_login_struct
798 - Changed cookie and sn to be static arrays in aim_login_struct
799 - Integrated the Jabber-faim changes. (temas) [BIG CLIENT CHANGES]
800 - Added aim_session_t, removed all global variables
801 - Changed all functions to accept a session pointer
802 - Removed aim_global.c
803 - Updated faimtest to use an aim_session_t.
804 - Removed all cases where logininfo was passed as vararg to client
805 - Fixed small bug in aim_newconn's 'fixing' of host:port addresses
806 - Added an install rule to the makefile (installs headers+so only!)
807 - Enabled USE_SNAC_FOR_IMS by default, assuming it got fixed
808 by n's new aim_snac.c from ages ago
809 - Implemented a middle handler for 0004/0001 message errors, added
810 snacid lookup to get illfated destination SN and pass to client
811 - Implemented a short middle handler for offgoing buddy.
813 - Fri Dec 24 21:30:06 UTC 1999
814 - Added an error-counting Read() that has been sitting in my inbox
815 - Cleaned up header files, created aim_cbtypes.h.
816 - Added void * to aim_conn_t for private client use if they want. (Orb)
817 - Removed all stderr output. All output is important, and goes to stdout.
818 - Renamed isautoresponse in IM parser to icbmflags.
819 - Added Orb's fix for the new login code, deleted old (see Orb, I do read
820 your mail....eventually).
821 - Added mailing lists to README.
823 - Fri Dec 24 11:12:34 UTC 1999
824 - Cleaned up both outgoing and incoming ICBM handling. Anything
825 that crashes around there is no longer libfaims fault!
826 - The encoding flags are now passed up to the client.
827 - Added several TLV routines to parse large blocks of continuous
828 TLV triplets. Not terribly effecient, but quite elegent in usage.
829 - Added icbm_setparams() back in from way-back-long-ago. It hasn't
830 been implemented in a long time, but I think we should still send it.
832 - Fri Dec 24 01:23:06 UTC 1999
833 - Fixed a very minor bug in aim_newconn().
834 - Added aimutil_get{16,32}()
835 - Added aim_extractuserinfo() for extracting user data
836 blocks and putting them into struct aim_userinfo_s's.
837 - Added a loop to print out info on extraneous TLVs.
838 - Put in lots of comments.
839 - Added parse_oncoming_middle() to parse the user data
840 block of that packet. Now passes struct aim_userinfo_s
842 - Rearranged parse_userinfo_middle(). Now passes an entire
843 userinfo struct to client instead of individual variables.
844 - Convered the version of parse_im_middle() thats actually getting
845 used to pass up a userinfo struct.
846 - Updated faimtest to accept new structs.
848 - Tue Dec 21 06:18:50 UTC 1999
849 - Fixed a Win32 header problem
850 - Tue Dec 21 03:44:13 UTC 1999
851 - Latency timers now update on rx as well as tx. Gets rid of even more
852 of the rate problems that most clients are having.
853 - Renamed lasttx and settxlatency to lastactivity and setlatency, respec.
854 - Integrated fixes needed for Win32 -- should compile cleanly now (DMP)
855 - Cleaned up some places, use aim_putsnac everywhere now.
857 - Sun Sep 26 20:04:20 MST 1999
858 - Reduced the IM parsing to look for 3 zeros instead of 4 -- NEEDS WORK
859 - This was needed to work with MacAIM3 and some WinAIM3s.
860 - Added aim_conn_settxlatency() for throttling outgoing frames -- NEEDS WORK
861 - Added an int to the userinfo and incoming IM user callbacks for new
862 TLV that AOL put it in -- its the number of seconds elapsed since
864 - Worked more on the callbacks (more internal rearrangements)
865 - Fixed bug in aim_select() (returning negative fds)
866 - Clear out logininfo struct before putting more data into it
867 - Other bugfixes that I can't particularly remember.
869 - Tue Aug 24 03:13:12 UTC 1999 --- TRANSITION RELEASE!!
870 - Added jbm's new aim_rxqueue.c, which should crash less
871 - Started the overhaul on the callback system. No where near complete yet.
873 - Sun Aug 1 03:02:17 UTC 1999
874 - Added aimutil_*()s in aim_util.c for raw byte placement
875 - Cleaned up aim_im.c, aim_auth.c, and aim_login.c using aimutil_*
876 - Added AIM_IMFLAGS, flags option to aim_send_im(), removed
878 - Added client_info parameter to aim_send_login()
879 - Tweaked aim_send_im() (AOL changed a few things, there's some more
881 - Some Chat stuff changed, still no where near functional
882 - Finally remembered to switch the license to LGPL (from GPL)
883 - Permit/Deny (blocking) list support added
884 - Released a snapshot
886 - Sat Jul 31 05:28:38 UTC 1999
887 - Changed aim_bos_setdeny() to aim_bos_changevisibility() and actually
888 did the implementation.
890 - Fri Jul 23 17:45:22 UTC 1999
891 - Work around for the AOL change in IP syntax (thanks to Eric Peyton)
894 - Sun Apr 25 23:31:44 UTC 1999
895 - Fixed stupid off-by-one bug in aim_logoff()
897 - Sun Apr 25 22:43:31 UTC 1999
898 - Renamed/reclassified missed IM errors (now all callbacks -- no backend handling)
899 - Killed aim_login() -- all connections now opened in frontend
900 - aim_conn_close() will not close fd's < 3
903 - Sat Apr 10 22:44:07 UTC 1999
904 - Changed how rx_command->handled works; now uses return value from callback
905 - Changed the if's in the dispatcher (aim_rxhandlers.c) to switch()es
907 - Sat Apr 10 03:51:21 UTC 1999
909 - Put in n's aim_snac.c.
910 - Updated aim_{add,remove}_buddy() to use aim_conn
911 - Updated aim_usersearch_address() to use aim_conn
912 - Cleaned up aim.h a bit (removed old *phase* protos)
913 - Changed gethostbyname() to gethostbyname2() (for MacOS X)
914 - Changed aim_newconn() to pass connection errors in connstruct->status
915 - Updated faimtest.c to detect connection errors
916 - Fixed a small typo in aim_im::aim_parse_incoming_im_middle()
917 - Added free()s in that function and to userinfo counterpart (fewer leaks)
920 - Sat Apr 3 06:43:14 UTC 1999
923 - Wed Dec 30 01:20:59 MST 1998
926 - Mon Dec 7 16:57:57 MST 1998
929 - Sat Dec 5 00:01:53 MST 1998
932 - Thu Nov 26 17:50:02 MST 1998