X-Git-Url: http://andersk.mit.edu/gitweb/libfaim.git/blobdiff_plain/0c20631fc9dd6411357abe57e146196087631010..98c88242811131668c416faa1e8775b1ff386a88:/CHANGES diff --git a/CHANGES b/CHANGES index e1bd75d..08ab5ad 100644 --- a/CHANGES +++ b/CHANGES @@ -1,6 +1,271 @@ No release numbers ------------------ + - Mon Aug 28 03:11:15 GMT 2000 + - Adds lots of comments + - Add AIM_CLASS_ALLUSERS constant for setgrouppermmask() + - Add warnings support (jbm) + + - Mon Aug 21 22:00:18 UTC 2000 + - Implement SNAC login MD5 (thanks to Sonuvbob for that one) + - Clear out all that old login cruft. Much cleaner now. + - REQUIRES CLIENT CHANGES (see faimtest) + + - Fri Aug 18 19:52:54 UTC 2000 + - Fix the non-pthread bug + + - Thu Aug 17 23:19:40 UTC 2000 + - A few more leak fixes (only a few left to go...) + + - Thu Aug 17 23:08:08 UTC 2000 + - More leak fixes (eric, eric, eric...) + + - Thu Aug 17 22:53:03 UTC 2000 + - Change the SNAC cache to a hash instead of list + - Fixed a few leaks relating to aim_gettlv_str() + + - Thu Aug 17 14:04:18 UTC 2000 + - Fix the fd closing bug introduced last week + + - Tue Aug 8 04:25:35 UTC 2000 + - Preserve subtype and priv after aim_conn_close + + - Tue Aug 8 04:15:47 UTC 2000 + - Fixed double-calling of faim_mutex_init + - conn->type preserved after aim_conn_close + + - Mon Jul 17 01:56:31 UTC 2000 + - Added 0004/000c callback (for message acknowledgments) + - This goes with the AIM_IMFLAGS_ACK option that has been there + for ages now. When you send a message with that option, you'll + get a message back containing the screenname, telling you it was sent. + - Moved the aim_conn_kill's out of aim_get_command() and into + the client. They're only closed in there now. This is so that you + can detect what type of connection died. You'll want to handle + BOS and chat connections in special ways most likely. You'll also + need to call aim_conn_kill when you're done with it. + - Added/fixed the Rate Change handlers. Now passes up a long that + should contain a number. I'm currently in pattern-searching mode. + + - Sun Jul 16 22:59:39 GMT 2000 + - Fixed the locking in the rendezvous code. Hopefully is safe now. + + - Sun Jul 16 11:03:28 GMT 2000 + - Fixed 0001/000a chat printf. (Actually a one liner a few days ago.) + - Started integrating josh's 3k rendezvous patch. Currently only + directim is working. And its got bugs. But he's not online + right now, so I can't bitch. I'd love to bitch here, but I'm + tired. + - Can definitly accept directim connections and send/recieve. + - See faimtest for the new callbacks. (Urg.) + - Here weeee gooooo. (Not sure if this will break everyone or not.) + + - Fri Jun 30 00:04:47 UTC 2000 + - Removed the forceful ICQ-related warnings, just in case they're wrong + - Added three new fields to the client info. + - **REQUIRES CLIENT CHANGES -- see faimtest for new initializer + - Cleaned up aim_send_login() + - Put in a nice hidious fix for AOL's latest bit of the drama. See + aim_readtlvchain() for the details. + + - Mon Jun 26 07:53:02 UTC 2000 + - Added utils/aimdebugd for playing with things -- see the README + - Added aim_im.c::aim_parse_outgoing_im(). Probably not useful + unless you're writing a server or something (or hacking aimdebugd). + - aim_send_im() now sends the same data as AIM4 does (three more bytes) + - Added aim_debugconn_sendconnect() for aimdebugd-enablement. + + - Sat Jun 24 02:14:07 UTC 2000 + - Added fakelocks for platforms without pthreads or that have no + use for them. + - Added workaround for MSG_WAITALL for people with the very broken + libc that comes with earlier Red Hat's. + + - Sat Jun 24 00:44:24 UTC 2000 + - Support zero-type TLVs in aim_extractinfo() + - AOL now ocassionally throws extra zeros in so in order to break + clients. Aparently zero-type TLVs are a special case -- if the + type is zero, then _there is no length_ field. AOL are geniuses. + - Note that you only get these if you send a bad client string, such + as the top one in faimtest. If you #if 0 that one out and use the + second one, you'll be fine. (Unless you just want to see the message + for yourself. Its nifty. (FREE!)) + - ICBM parser now uses aim_extractuserinfo() so that it can benefit + from the above changes, as well as clean up the whole "is it the + first or the second one of this type?" issue + - This also fixes the changes AOL made in away messages. + = Fixed a possible buffer overflow when AOL changes the max sn length + - Increased MAXSNLEN to 32 (they appear to be valid) + - If you start getting messages from someone called "AOL Instant + Messenger", see comment one, paragraph two. + - aim_select() now returns a -1 if there are no connections open + - Connections are now killed completely if there is a major error on them + - faimtest now calls aim_logoff() on connection error + + - Fri Jun 23 22:38:47 UTC 2000 + - Adds start of adverts support + - Adds aim_bos_nop(). You may want to send this occassionally + - Fixes aim_rxhandlers.c to work for people with three-letter + screen names + + - The week prior to Fri Jun 16 19:37:09 UTC 2000 + - Rethought the rendezvous stuff. DEFINIT WORK IN PROGRESS + - Do not bother trying to use this. This will probably break + your clients. You may or may not want to fix them, since + I may change it again soon. + - I REPEAT: This really is a developer-only version. It barely + compiles. I'm just committing it so I don't have so many + trees floating around. + - Added stuff to support OFT as well as OSCAR protocols + - Added aim_send_im_direct() for directim ("IM Image") + - Added caps getting/putting routines + - Added more aim_login fixes to avoid more AOL stupidity + - This is the same as went to libfaim-devel yesterday, so don't upgrade + just to get these changes. + - Removed aimicq_encode_password -- now use the same table + for both ICQ and AIM + - Added AUTHORS + + - Tue Jun 6 01:36:48 UTC 2000 + - Inverted gethostbyname2() check. Not sure how that ended up + in that state. + - Added some of the initial framework to support file transfers + - Added in a few checks for that + - Can currently parse and send a denial message. + - Added cookie caching. (Sorry, I just like saying that.) + - Rearranged channel 2 ICBM parsing (detects the different + rendezvous types better and hopefully accuratly). + - Killed the connection array. Now a list. (Suits the + upcoming features better.) --- REQUIRES CLIENT CHANGES... + - In most cases, you need to change aim_conn_close() calls + to aim_conn_kill(). This will free them as well as + close them. If you don't do this, you'll pollute the + connection list and leak memory. + - Possibly a few other minor things (some cleanups to faimtest for one) + + - Fri Jun 2 23:27:28 UTC 2000 + - Cleaned up aim_send_login slightly + - Added aimicq_encode_password to support the new hash + values required for logging in with ICQ + - Removed crash when email and/or reg status aren't + in the auth response (they're not in ICQ responses) + - So now as long as you specify a client version of + 4.30.3141 in the client info, and your ICQ number + as your screen name, you can login to ICQ via libfaim + and use it just like an AIM account. + - Added AIM_CB_SPECIAL_CONNERR callback for recieving + messages such as disconnect reasonses ("you logged + on from a different machine", etc). + - Added faimtest's userinfo handler to support away messages + + - Fri Jun 2 15:57:27 UTC 2000 + - Add creation time, maxmsglen, and various unknowns to chat info + update callback. + - Remove 'nothing works yet' comment from top of aim_chat.c (it works!) + + - Wed May 31 01:17:24 UTC 2000 + - Added constants for message sizes (MAXMSGLEN, MAXCHATMSGLEN) + - Note that the new max message size is defined as 7988bytes, + drastically larger than WinAIM lets you put out. This is a + libfaim-exclusive feature :) + - Reduced base buffer size on aim_send_im() + + - Tue May 30 22:32:31 UTC 2000 + - Added lock around tx seqnum to prevent that race when transmitting + from diverse threads. (actually committed earlier today) + - Added aim_meta.c and a few constants and things to keep + track of "releases". + - Added mkbuildinfo.sh to automatically update build string + "constants" on every invocation of 'make all'. + + - Mon May 29 12:08:28 GMT 2000 + - Rearranged aim_tx_flushqueue(); moved write operation + to aim_tx_sendframe() + - Turned aim_tx_enqueue() into a macro that calls sess->tx_enqueue, + a function pointer to whatever you want to use to enqueue + things for transmition (or not) + - Old aim_tx_enqueue becomes aim_tx_enqueue__queuebased. Added + aim_tx_enqueue__immediate for doing immediate writes. Default + is to use queue-based procedure. + - Cleaned up parts of aim_conn.c + - Added locking around the sockets themselves. Should allow + for full cross-thread usage. + - Unfortunatly, only pthreads are supported at this time. + If you don't have pthreads on your arch, implement the + macros your arch needs and send me a patch. (A SysV + semaphore implementation would be trivial, as would a + simple integer-based lock.) + + - Sun May 21 14:59:20 GMT 2000 + - Added infotype parameter to aim_getinfo() for requesting + different types of messages. AIM_GETINFO_GENERALINFO + will get you the normal stuff, AIM_GETINFO_AWAYMESSAGE + will get the normal stuff, with the profile replaced with + the user's away message. Also, the callback adds an + unsigned short to the end to give you the value that + was originally passed to the request. + - There were a few server-pertinent changes that didn't get + documented from last month. I have no idea what they were. + + - Sun Apr 2 07:29:11 UTC 2000 + - Redid much of the tx path to remove the superfluous copy. But + it touches every function that transmits. Its been a long + time in coming. + - Added caps parameter to aim_bos_setprofile(). You can now + control what capabilties you show up as others to + - Added ->capabilities to userinfo. It should be nonzero when + its coming off buddy oncoming information, but NOT requested + user info. + + - Sun Apr 2 01:45:15 UTC 2000 + - Increased AIM_CONN_MAX from 5 to 7. Precausionary only + - Removed deprecated TIS_TELNET_PROXY from faim/faimconfig.h + - Added macros for the simple integer functions in aim_util.c + - Removed usage of aim_failsaferead() + - Still not sure why I had it to begin with. I think it + was a remament from when we used non-blocking sockets + (which I don't know why I did either) + - Removed some of the oddities in aim_get_command() + - gprof showed this taking 20kns on my k6-300. Should be faster now. + - Added conn parameter. This should prevent aim_select() from + getting called too many times in a row. + + - Thu Mar 23 08:45:40 UTC 2000 + - Removed aim_countconn() > 0 check in aim_select(), its logically redundent + - Added aim_putuserinfo() (inverse of aim_extractuserinfo()) + - Added aim_sendbuddyoncoming/offgoing() + - Rearranged loop in rxdispatch() + - Remove aim_conn_close() if connections dead in aim_get_command() + + - Thu Mar 23 00:44:32 UTC 2000 + - Added a check to purge_rxqueue to skip handled commands + + - Mon Mar 20 05:30:59 UTC 2000 + - Added some server-only functions for login + - Added aim_counttlvchain() + - Added aim_sncmp() and aim_snlen() + + - Sun Mar 19 06:07:52 UTC 2000 + - Added a parameter to aim_select to return event type + - REQUIRES CLIENT CHANGES. + - For the most part rewrote the tx and rx queuing code + - Should fix many, many outstanding problems in and related + to that code, including one that keeps memory from freeing + - Fixed several bugs in various places + - Reformated a lot of code, and did general cleanups + - Should have a generally more robust lib now. + + - Sun Mar 12 00:07:40 UTC 2000 + - Fixed a robustness problem in aim_handleredirect_middle() + - Added TLV chain creation routines (yes, aimd is progressing) + + - Mon Jan 3 04:07:55 UTC 2000 + - Fixed bug in aim_snac.c + - Fixed condition where commands read from connections that have + been closed were still left in the queue. Now cancelled. + - Added some printfs to aim_info to get more informative crahes + - Fixed a bug in aim_rxqueue::purge + - Sun Jan 2 10:31:19 UTC 2000 - Cleanups in aim_info.c - Can compile with -Ddebug=100 again