X-Git-Url: http://andersk.mit.edu/gitweb/libfaim.git/blobdiff_plain/efe9513b07a4c3fbdcf7301d60439200302b168a..HEAD:/CHANGES diff --git a/CHANGES b/CHANGES index 68ba965..50b2476 100644 --- a/CHANGES +++ b/CHANGES @@ -1,6 +1,570 @@ No release numbers ------------------ + - Sun Oct 14 19:45:54 PDT 2001 + - Fix aim_icq_setstatus + - Minor touchups + - Parse 1/f (selfinfo) + - Add ICQ status defines + + - Wed Oct 3 11:07:22 PDT 2001 + - Fix awful bug in ft listenestablish. + - struct aim_userinfo_s becomes aim_userinfo_t. + - I haven't decided what to do with this. I like it in its current + form to an extent, but it is also not flexible enough. But it would + become too complex and cumbersome if I were to do it more flexibly. + - Also added a few accessor functions that should be used instead of + directly accessing the struct, particularly for the capabilities. + + - Wed Sep 19 18:50:34 PDT 2001 + - Remove non-standard default features from aim_send_im_ext. + - Sadly, AOL 5.0 ignores messages with non-standard features. Once + AOL releases AOL 6 for the Macintosh, there will no longer be any + reason for anyone to use AOL 5, and this will be a non-issue. + - Check for 0x2711 TLV in buddy icons. This is weird. + - Add AIM_IMFLAG_ACTIVEBUDDY. + - Fix ICQ login. (Oops.) + + - Tue Sep 11 16:41:11 PDT 2001 + - Fix chat invites. + - Keep faimtest from passing va_list's. That scares me. + + - Tue Sep 11 04:42:28 PDT 2001 + - Fix faim_internal/export confusion for the TLV functions + - Add aim_addtlvtochain_userinfo() (used by AP) + - Clean up ICBM Channel 1 parsing ever so slightly + - Add multipart message support in both directions, and some + fun examples of it in faimtest. + - Yes, I'm insane. + + - Mon Sep 10 06:15:43 PDT 2001 + - Remove $Id line from md5.h. I really really hate those things. + - Remove all that locking crap. It never worked right anyway. + - Add conn->inside for things that should never ever be seen by clients + - Store supported groups list for each connection + - Support migrations. + - faimtest now theoretically supports doing this. It happens so rarely + that it makes it difficult to test. For more complicated clients, a + flag will have to be kept so that some things that happen during login + don't get triggered the second time around. But faimtest doesn't have + such problems. + - Added some random commentary. + + - Sun Sep 9 03:01:28 PDT 2001 + - Three fixes in directim for gaim. It works now. Yay. + + - Sat Sep 8 21:26:27 PDT 2001 + - Minor bug directim_connect + + - Sat Sep 8 20:18:34 PDT 2001 + - Split up the ICBM Channel 2 handlers a bit more + - Add a stub parser for recieving buddy lists. It will stay that way until + someone decides on a good API for passing lists like this to the client. + In case someone does, the same standard will be used for setbuddylist and + the as yet nonexistant support for server-side buddy lists. + - Make infochange work again. I still don't like it, but I don't want to + fix it. + + - Sat Sep 8 19:05:05 PDT 2001 + - Redo ICQ login + - Fix search by email (oops). + + - Sat Sep 8 17:07:09 PDT 2001 + - Fix directim so you can do it more than once without crashing. + - This removes the connect/disconnect callbacks. They were pointless, as + you can get the same information at a better spot by looking for when + aim_getcommand returns -1, just like is done for FLAP connections. + - (This was causing aim_conn_kill to be called twice for the same connect, + once in the client callback, and once more when aim_getcommand returned + the -1). + - Add aim_conn_(close|kill)_rend(). This is for destroying the cookie and + the internal data sections in one spot. + - Fix a bug in aim_connrst (and hence aim_logout()) that caused intdata/priv + to not be freed in those cases. Evil. + + - Sat Sep 8 07:32:27 PDT 2001 + - Clean up ft.c slightly. Direct IM now works. In both directions. + - This could still use a lot more help. It should use bstreams more. + + - Sat Sep 8 00:55:46 PDT 2001 + - Chatnav loop fix. (Err. I shouldn't code when I'm that tired.) + - Remove some things from BUGS + - Remove USE_MACROS from faimconfig.h. Not used, and frivelous when it was. + + - Fri Sep 7 21:18:51 PDT 2001 + - Make icon field names uniform + - Add AIM_IMFLAGS_CUSTOMFEATURES. This allows the client to send/recieve + the field in IMs that show client information. + - This can be used to identify other open source OSCAR clients, if any + one is interested. + - Increase the size of args->icbmflags to 32bits + - Make sure that extended-only flags are not set for aim_send_im() + + - Fri Sep 7 19:59:43 PDT 2001 + - Fix buddyicons. Yay! (checksums are 32bits all the time. duh.) + + - Mon Sep 3 18:48:26 PDT 2001 + - Reformat everything to use real tabs (and to my latest coding style) + - Abstract out the numerical data types to fu8/16/32_t for portability. + - AIM_FRAMETYPE_OSCAR -> AIM_FRAMETYPE_FLAP. This makes more sense. + - aim_conn_t's FLAP sequence number was a signed int. Oops. + - Get rid of the 'struct' on all types suffixed with _t. That's been + annoying me for a while. They're all real typedefs now. + - Yes, client people are going to be rather annoyed by this. But it + doesn't stop there. Keep reading. + - Make the 'struct aim_rxcblist_t' type local to rxhandlers.c. + - Combine the command_tx_struct and command_rx_struct into aim_frame_t. + - Mostly aim_frame_t is command_rx_struct. For command_tx_struct, the + same structure is used, except where ->sent was, ->handled is now + used. + - This makes things a lot easier, everywhere. + - Get rid of ->lock. Pointless. If libfaim is ever preemptible, it + has much more important problems than that. + - Welcome to aim_bstream_t. No more direct buffer accesses. Anywhere. + - In fact I plan on getting rid of the aimutil macros completly. + - This isn't complete yet. It will be better later. Believe me. Maybe + even make more sense. + - More advanced and configurable boundschecking is coming, too. + - Clean up lots of stuff, everywhere. + - Rearrange the implementation of the TLV functions, saving lots of code. + - I'm rather pleased with the way some things got implemented with this, + particularly in places where TLVs contain TLVs. + - Get rid of aim_puttlv_() functions. Those were gross. Use tlvchains. + - XOR login is temporarily broken. I'll fix it someday. ("Someone" needs it.) + - Fix the return values of most everything -- OSCAR functions should all + return 0 on sucess, negative errno on failure. + - There are several things braced with #ifdef MID_REWROTE_ALL_THE_CRAP. + Consider that code broken and nonfunctional for now. + - I think I may have broken buddy icons. Remind me to fix that. + - Renovate faimtest substantially. Reformat, split up, update to new types. + + - Wed Aug 29 16:59:24 PDT 2001 + - Pass up entire icon triplet (checksum/length/timestamp) in all cases + that it is recieved. + - Eric was paying more attention than I am. + + - Sat Aug 25 19:46:38 PDT 2001 + - Pass "Maximum visible message length" to client in chat info update + - This is the real maximum message length now. There is still a + "complexity" limit that will prevent you from sending messages + even if they are less than this limit (102 right now), but I don't + know how that is calculated. + + - Sat Aug 25 19:19:16 PDT 2001 + - Keep parsing missed calls for entire packet + - This is really easy to test now. Just talk to someone with + their minmsginterval set high (like 10seconds or something) + + - Sat Aug 25 18:35:13 PDT 2001 + - aim_sendconnack -> aim_sendflapver + - Remove addicbmparam. This was identical to aim_seticbmparam + - aim_seticbmparam now takes a struct with the parameters in it. See + faimtest. !!! REQUIRES CLIENT CHANGES if you use aim_seticbmparam, which + you really really should -- the defaults are insanely limited + - Fix rendezvous IM parsing that I broke last time. + - ICBM parameter info callback gives same struct as above. !!! REQUIRES + CLIENT CHANGES + - Reformat login.c and part of faimtest.c + - !!! NOTE: don't do anything in your motd handler. If you do, it will + get run twice, sine for some reason AOL is sending two MOTDs now. + + - Wed Aug 22 22:11:18 PDT 2001 + - Reformat the rest of im.c + - Fix a few returns, particularly in error cases + + - Thu Aug 16 06:17:57 PDT 2001 + - Reformat a bit of im.c and aim.h + - Rearrange encoding/subencoding checks in IM parsing + + - Fri Aug 3 14:19:37 EDT 2001 + - Naje aun_sebd_un retyrn sabe vakyes + + - Thu Aug 2 13:28:37 EDT 2001 + - Uhm. Why does arcanejill think its in EDT? + - Cache the username on warnings so errors work right. + - Someday, I'm going to convert all of libfaim to that formatting style, too. + + - Wed Jun 27 00:13:20 EDT 2001 + - Some comments about UNICODE in faimtest. + + - Fri Jun 15 17:51:27 EDT 2001 + - Make faimtest compile on RH7.1 (new gcc). + - Add aim_conn_getsess() + - Add aim_getconn_type_all() and aim_getconn_fd(). + - Make aim_connrst() and aim_conn_getnext() static to conn.c. + - Why does arcanejill think she is in EDT? Oh well. + + - Thu Jun 14 17:37:47 PDT 2001 + - Rearrange aim_setprofile(). It will now let you _not_ send a profile, + if you really want to (pass NULL). Note that this is quite different + than sending a _blank_ profile. Also fixes the "asci" bug. + + - Mon Jun 4 12:57:46 PDT 2001 + - Fix chatnav. Whoops. + + - Mon Jun 4 12:45:18 PDT 2001 + - Don't use snacid's for generic requests (gets around recent blocks) + - If they start doing snacid-based blocks again, an audit will have + to be done to see what WinAIM requests uses snacids for and what + it leaves it blank for. That will be tedious and I'm not going to + do it. + + - Thu May 31 23:00:50 PDT 2001 + - Store two hardcoded hashes in login.c. Sigh. + - Add prototype for aim_callhandler_noparam in aim_internal.h + + - Sat May 26 03:58:27 PDT 2001 + - Aha! This is why I could never get icons to work before. + - Luckily the checksum is painfully simple. + + - Sat May 26 01:37:39 PDT 2001 + - So this is my big merge with the ActiveBuddy version... + - Remove use of tlvchains from IM parsing for better performance + - Add in buddy icon support + - Add support for sending UNICODE messages. + - Split up the more complicated options to aim_send_im into a structure + that is passed to aim_send_im_ext(). This makes it easier to send + simple messages, and only slightly harder to send complex ones. + - aim_send_im_ext() must be used if you're using buddy icons and/or you + are sending UNICODE messages. + - UNICODE is fully explained in commentary above aim_send_im_ext() in im.c. + - The ISO-8859-1 option is also added. Use when necessary, to avoid making + WinAIM barf. + - This removes the msglen parameter to aim_send_im because that was only + needed to do UNICODE, which can now only be done by aim_send_im_ext. + + - Wed May 23 18:05:46 PDT 2001 + - I upgraded libtool. Which broke the faimtest makefile. + - Parse locate rights + - You shouldn't ask so many questions, Eric. + + - Wed May 16 12:48:13 PDT 2001 + - Thanks Rob and Eric + + - Thu May 10 17:37:23 PDT 2001 + - I haven't had lunch yet. What should I have? + + - Wed May 9 15:21:51 PDT 2001 + - I had pizza for lunch. + + - Mon May 7 15:19:55 PDT 2001 + - Rename rxhandler_t to aim_rxhandler_t. This has been + bugging me for a while. + + - Thu May 3 15:47:23 PDT 2001 + - Clean up getcap/putcaps + - Add GAMES2 and SENDBUDDYLIST caps (the latter is new in winaim 4.7beta) + - Update hash to latest value + + - Wed Apr 25 11:51:39 PDT 2001 + - I think this was a bug. + + - Tue Apr 24 17:36:03 PDT 2001 + - Let Eric generate the hash if he wants. + + - Mon Apr 23 15:58:11 PDT 2001 + - On a clear day, you can see forever. + + - Thu Mar 29 13:05:50 PST 2001 + - Less leaks. + + - Thu Mar 29 14:45:22 CST 2001 (jbm) + - Add module capability to the 0001/001f stuff (jbm) + + - Wed Mar 28 21:20:08 PST 2001 + - Add flags arg to aim_chat_send_im() + - Add msglen arg to aim_send_im and aim_chat_send_im + - This will make more sense when I make the UNICODE commit (tomorrow?) + + - Wed Mar 28 16:51:25 PST 2001 + - I decided it was a good day while I was figuring out that it was a bad day. + - See faimtest and login.c::memrequest(). + - Hopefully I'm done for a while. + + - Tue Mar 27 19:15:10 PST 2001 + - I haven't decided yet whether today is a good day or a bad day. + - Probably both. + - More later. + + - Mon Mar 26 16:08:45 PST 2001 + - Why didn't anyone tell me buddy-offgoing wasn't working? + - *** REQUIRES CLIENT CHANGES... buddy-offgoing now passes a userinfo + struct (its now identical to buddy-oncoming) + + - Mon Mar 26 15:57:41 PST 2001 + - Hrmph. + - Debuglevel wasn't getting set properly by aim_session_init + + - Sat Mar 24 03:16:32 UTC 2001 + - vaargs to msgerror and locateerror swapped + - ** CLIENT CHANGE: Reason code comes before SN now. This is so that + the backend code for all three error handlers is identical. + - aim_getinfo() returns -1 on failure (hah! I don't think anyone checks + return codes from libfaim anyway...they're known for their + inconsistency and lack of sensicality) + - Remove _DEFAULT handlers in faimtest... + - They were not consistent. + - They did not make sense. + - They did not work anyway. + - Most of them were #if 0'd. + - Add ICBM Parameter Info callback... you can catch this if you want. + - aim_getbuildstring() now takes a buffer instead of returning static (ew!) + - Clean up, "factorize", etc + - More stuff... (Only one "middle handler" left in rxhandlers.c!) + + - Fri Mar 23 05:42:11 UTC 2001 + - Export aim_encode_password_md5() + - Add middle handler for 000b/0002 (min report interval) + - Add aim_session_kill() + - CLIENTS MUST CALL THIS either in addition to or instead of + aim_logoff(), particularly if you keep lots of sessions open. + (Sessions now contain dynamically allocated memory which must be freed.) + - Oh, and some other stuff... + + - Fri Mar 23 01:45:28 UTC 2001 + - Add AIM_CLIENTINFO_KNOWNGOOD + - Fix a few details in aim_send_login (thanks temas) + - Prevent aim_rxhandlers from being called recursively + - This is something that has been in my PENDING_AIM mailbox for over + a year now. I figured it was trivial enough to throw in. EveryBuddy + wanted it, but I don't remember why. It should never happen anyway. + - Use AIM_CLIENTINFO_KNOWNGOOD + - This lets faimtest log in after today's round of AOL being mean. + + - Fri Mar 16 23:12:58 UTC 2001 + - Remove one level from aim_rxdispatch() + + - Wed Mar 14 20:21:49 UTC 2001 + - Clean up declarations of TLV functions (ie, const) + - Add -o and -O to faimtest (I didn't use your patch, josh) + + - Wed Mar 14 03:11:03 UTC 2001 + - Err...I'll commit before I go home. More faimtest crap. + + - Tue Mar 13 20:23:04 UTC 2001 + - Fiddle with faimtest a bit. + + - Sun Mar 11 06:02:19 UTC 2001 + - Banish socklen_t. + + - Sun Mar 11 05:51:45 UTC 2001 (jbm) + - Split off aim_internal.h + - Add aim_tx_cleanqueue() + - Remove sn from directim callback (use priv) + + - Mon Mar 5 01:19:48 UTC 2001 + - Fix typo in last CHANGES entry. + - Add fix from Eric to keep efence from complaining about malloc(0) + - Add .cvsignore files (also from Eric) + - Throw in josh's latest OFT/ODC kludges + - Completly remove all calls to printf and (unbounded) sprintf + - Add aim_setdebuggingcb() + - Remove preprocessor-based debug semantics (faimconfig.h) + - faimdprintf() now calls a user-specified callback to do printing + - Rearrange aim_tx_new() parameters to be more sensical, add sess + - Do some sanity checking in aim_tx_new() + - Add #defines to keep printf from compiling inside libfaim + - Who knows what else. (in total, this patch is nearly 5k lines) + + - Fri Mar 2 02:17:22 UTC 2001 + - Add aim_fingerprintclient(). (AB will trust this, but you shouldn't.) + - Add some EXTRA_DIST to Makefile.am + + - Mon Feb 26 01:46:34 UTC 2001 + - Fix swapped bytes in aim_caps[]. Thanks to + Bruce Miller for pointing this out. + + - Sun Feb 11 01:07:36 UTC 2001 + - Make secondary connections to the authorizer work again + - Make aim_auth_changepasswd() work again. + - Add aim_auth_setversions(), aim_auth_getinfo(), aim_auth_setemail(), + aim_auth_reqconfirm() + - Add middle handlers for responses to all of above. + - Add examples of above to faimtest (start with 'reqauth') + + - Fri Feb 9 22:31:22 UTC 2001 + - Add aim_tx_setenqueue(). + + - Thu Feb 8 20:12:39 UTC 2001 + - Let TLV functions out of aim.h if FAIM_NEED_TLV is defined. + + - Thu Feb 8 02:31:25 UTC 2001 + - Remove aim_purgecookies() -- never used anyway + - Clean up a few bits of aim_msgcookie.c + - Remove AIM_CONN_MAX constant (hasn't been relevent in ages) + - Change commentary on synchro in aim.h + - Add NOPLOCKS and make them default + - Make faim/aim.h more of a mess; try to keep interfaces hiddenish. + - Add #define FAIM_INTERNAL to top of every file + - Remove aim_countconn (no one uses it anyway) + - Add aim_cloneconn() (cringe.) + - Throw in josh's getfile patch (and then munge it enough to break it) + - Add getopt() to faimtest. + - Remove aim_buildcode.h/mkbuildinfo.sh crap. + - Clean up aim_cleansnacs() + - There may have been other stuff too. As always, the diff is the + most accurate changelog there is. + - *** FT is currently more broken than it was before. Also, this patch + introduces even more memory leaks. You've been warned. + + - Sun Dec 17 07:19:04 UTC 2000 + - Update the capability block list + + - Sat Dec 16 01:34:19 UTC 2000 + - Rename paramid to rateclass + - Add a long comment about the rate system + - Add a few other comments + - Clean up aim_bos_clientready(). + + - Fri Dec 15 23:35:01 UTC 2000 + - Add genericerr callback/middle. + - This is for catching the errors that come back, for instance, from + sending a SNAC that isn't supported by the host (such as the + Watcher Request SNAC). + + - Fri Dec 15 21:51:32 UTC 2000 + - Add more info to evilnotify callback + - Add a few values to aim_cbtypes.h + + - Fri Dec 15 20:41:15 UTC 2000 + - Revise README + - Make aimdebugd compile + - Typos + + - Fri Dec 15 02:04:12 UTC 2000 + - Parse rate changes *properly* + - Add sample code to faimtest demonstrating my approximations + on how to fiddle with aim_conn_setlatency() in relation + to the rate changes (properly wildly conservative). [I also + copied this stuff into mfaim.] + + - Thu Dec 14 03:39:34 UTC 2000 + - Change the 0x01 to a 0x00 in auth request to make buddy lists work again + - Rearrange bytes in setversions() to match winaim + - Add several cachesnac() calls + - Add hostonline and hostversions parsers (superfluous) + + - Wed Dec 13 02:26:39 UTC 2000 + - Create aim_cachesnac() + - Some long overdue cleanups + + - Wed Dec 13 00:38:56 UTC 2000 + - Added the client update/version info to the authresp callback + - Added the prototype for aim_getfile_send_chunk to aim.h + + - Tue Dec 12 23:02:41 UTC 2000 + - Got pissed off at sess->logininfo. Got rid of it. + - Now pass all that stuff in as varargs, like it should be. + - *** Look at the changes to faimtest. You'll also need to + change anything in your code that references sess->logininfo + to reference sess->sn instead. The rest of the other info + is now unavailable (it was before, too, it just didnt look like it). + - A few other minor cleanups. + - Added aim_gettlv8/16/32, aim_puttlv_8, and aim_addtlvtochain_noval. + - Added that short 0x004a TLV to the auth request, like WinAIM 4.3. + + - Mon Dec 4 23:46:35 UTC 2000 + - Add exchange to the create response callback (doh!) + + - Sat Dec 2 02:14:45 UTC 2000 + - Dumb bug in aim_clearhandlers() + + - Fri Dec 1 23:48:38 UTC 2000 + - Store exchange along with room name in the great chat hack + + - Fri Dec 1 22:25:56 UTC 2000 + - Fix numerous tiny (but sometimes catastrophic) bugs dealing + with connection death (particularly with chat connections) + - *** Any connection with a -1 fd will get returned by aim_select + immediatly now... your code probably already handles this implicitly. + + - Wed Nov 29 17:31:23 UTC 2000 + - Rewrote some of the msgcookie stuff + - Changed cachecookies to uncachecookies where it makes sense (arg!) + - Minor other stuff + + - Fri Nov 10 08:24:34 UTC 2000 + - Add sess->flags (replaces sess->snaclogin) + - Remove odd setstatus call in chat parser + - Remove aim_tx_enqueue macro, replace with a smarter one + - If a connection is in progress, enqueue instead of calling + the client-specified queuer + - Add support for nonblocking connects through the + AIM_SESS_FLAG_NONBLOCKCONNECT flag to aim_session_init() + - Add AIM_CB_SPECIAL_CONNCOMPLETE callback. Not real useful. + - Add AIM_CB_SPECIAL_FLAPVER callback. Can be used as an alternate + way of starting the login process, or just to look like you + know what you're doing. Fixed associated inconsistencies + in aim_rxhandlers too. + - Fix some connection status stupidities in faimtest. + + - Wed Nov 8 13:11:18 UTC 2000 + - Reenable/reimplement older login, but only use for ICQ UINs + - This is a fairly ugly hack. But...eh. It works. + - You'll need to remove the aim_sendconnack() before the + call to aim_request_login. It will now do it automatically + if its needed. (hint: ***CLIENT CHANGE***) + + - Wed Nov 8 02:23:25 UTC 2000 + - I'm trying out using a modified version of the kernel-doc scripts + to help document the libfaim code a bit. See aim_conn.c and + aim_tlv.c, as well as the scripts in utils/docs. + + - Wed Oct 25 17:52:20 UTC 2000 + - Cleanup warnings from newer gcc's (RH7.0) + - Aparently newer gcc's don't let you do as strong of integer types + on va_arg as older ones... So, let me know if this breaks on your + compiler + + - Tue Oct 17 02:10:13 UTC 2000 + - Rearrange a few things + + - Mon Oct 16 20:56:59 UTC 2000 + - Remove some warnings + + - Mon Oct 9 04:24:56 CDT 2000 (jbm) + - took care of the XXXs in aim_putuserinfo() + - now use dynamic TLV count to send ("look ma, no magic!") + - now send cap blocks + - now send icq info if a numeric SN + + - Wed Oct 4 21:29:47 CDT 2000 (jbm) + - Fix borked disconnect callbacks + - Add aim_conn_in_sess() + - A little housekeeping in faimtest ("fixing" order of printf, + remove a comment) + + - Mon Sep 25 00:21:31 CDT 2000 (jbm) + - Add a couple of ICQ userinfo parses + + - Fri Sep 22 22:47:49 UTC 2000 + - Add aim_icq_setstatus() (jbm) + + - Fri Sep 22 22:35:51 UTC 2000 + - Apply jbm's patch below + - Minor cleanup in cb handler stuff + + - Thu Sep 21 20:28:20 CDT 2000 (jbm) + - DirectIM shouldn't kill us any more. + - Eliminated a potential segfault in aim_send_im_direct(). + - make tags (yay!). + - Added an aim_tx_destroy(); need to move the lib over to using it. + - Got rid of some #if 0 BS code in a couple of places + (aim_ft::establish() and aim_im::aim_parse_incoming_im_middle()). + - Added some file transfer stuff (so experimental, i haven't + had a chance to see if it causes cancer in lab animals). + - Added to faimtest for all of the above. + - Added myself to AUTHORS with Real Info. + + - Thu Sep 21 00:24:36 UTC 2000 + - Add socks5 proxy support (not tested real well, worked the + few times a tried). + - Added proxy support to faimtest. + + - Tue Sep 19 03:10:07 UTC 2000 + - Add aim_setuserinterests() and aim_setdirectoryinfo() + - Add ICQ away status + - Thu Sep 14 00:54:48 UTC 2000 - Added create room callback