]> andersk Git - libfaim.git/blobdiff - CHANGES
Minor typo.
[libfaim.git] / CHANGES
diff --git a/CHANGES b/CHANGES
index 5f1f7b099ee712b32e3f88a5814e9c50ebcb96ea..e261088fcfe19306dc829e377f29d5f9256ecacc 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,6 +1,453 @@
 
 No release numbers
 ------------------
+ - 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
+
+ - Wed Sep 13 22:01:35 UTC 2000
+   - Remove references to "new" and "class" for dumb C++ compilers
+   - Renamed userinfo->class to userinfo->flags both for clarity and C++
+   - Remove some extraneous variables
+
+ - Tue Sep 12 20:16:51 UTC 2000
+   - Add aim_flap_nop() from my work tree 
+
+ - Tue Sep 12 05:06:53 UTC 2000
+   - Revert the two-byte change in aim_misc, clientready
+
+ - Tue Sep  5 04:41:45 GMT 2000
+   - Few more minor things
+   - Added the changes needed for faimtest.
+   - Removed aimdebugd from default build
+
+ - Tue Sep  5 03:47:26 GMT 2000
+   - More ANSIfication for win32
+   - Forgot aim_misc last time.
+
+ - Mon Sep  4 22:08:35 GMT 2000
+   - Forgot aim_snac and aim_search
+
+ - Mon Sep  4 21:38:09 GMT 2000
+   - A mild step towards ANSI compliance
+     - Compiles cleanly with -pedantic (except for the libc issue in socket.h)
+     - Fixes various sign mismatch things. There may be more, we'll see
+       what MSVC has to say about it.
+   - Add faim_internal and faim_export macros so Win32 DLL is easier
+
+ - Sun Sep  3 23:58:17 UTC 2000
+   - Portability fixes (for solaris, set the SOLARIS env var first)
+
+ - Sat Sep  2 23:42:37 UTC 2000
+   - Hopefully fix aim_snac.c bugs
+   - Add Buddy List Rights parser (max buddies and max watchers)
+   - Fix rather major problem in rxhandlers caused by missing breaks
+   - Add reason code for msgerr (0004/0001) callback
+   - Add BOS Rights parser (max permit / max deny)
+   - Add locate error (0002/0001) parser
+   - Add parser for missed calls (0004/000a)
+
+ - Fri Sep  1 23:34:28 UTC 2000
+   - Switched the read()s in rxqueue to use recv()
+     - Should fix the big message problem and the big buddy list problem
+   - Changed some values around in aim_misc to match winaim4.1
+   - Added aim_addicbmparm. dunno what it does
+   - Cleanup the login process in faimtest (can now login in less than 2sec)
+
+ - Fri Sep  1 00:13:04 UTC 2000
+   - Avoid zero-length mallocs in aim_tlv
+
+ - Thu Aug 31 23:40:23 UTC 2000
+   - Threw in aim_select modification from nicolas
+   - Remove stray debugging printf in aim_tlv
+
+ - 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
+   - Implemented chat: Joining/Leaving, info parsing, IM parsing/sending
+   - Implemented some chatnav: rights req/parsing, room creation
+
+ - Thu Dec 30 10:08:42 UTC 1999
+   - Fixed bug in aim_im.c when (encoding == NULL) || (lang == NULL)
+   - Added detection of voice chat requests
+   - Added AIM_CLASS_* defines, including new Away flag
+   - Added awaymsg parameter to bos_setprofile.
+     - If awaymsg is nonnull, you will be advertised as being away (your
+         class will be ORed with AIM_CLASS_AWAY), otherwise you'll show 
+         up normal.
+
+ - Wed Dec 29 10:06:35 UTC 1999
+   - Fixed small bug in IM parser
+   - Added stubs for the capability TLVs in userinfo.
+
+ - Wed Dec 29 09:14:45 UTC 1999
+   - Added a capability block to aim_bos_setprofile.  Can now get chat 
+       invites again.
+   - Extended ICBM parser to support channel 2 messages (chat invites)
+     - A channel parameter has been prepended to the varargs -- REQUIRES 
+         CLIENT CHANGES.
+     - Extended faimtest to support chat invites.
+   - Changed faimtest to get sn/password from environment
+
+ - Wed Dec 29 04:17:03 UTC 1999
+   - Added -g to CFLAGS
+   - Added aim_sendconnack() to aim_login.c (needed for newer login)
+   - Added code for the new SNAC-based login/auth procedure. (see SNACLOGIN
+       in faim/faimconfig.h for why its not enabled)
+   - Reimplemented aim_authparse(), aim_handleredirect() using TLVlists
+       - The old auth_failed callback is now integrated into the
+           success one.  If there was an error, logininfo->errorcode is nonzero
+   - Fiddled with version information.  Added aim_setversions()
+   - Added table of SNAC names for showing unknown snacs (jbm)
+   - Added a middle handler for MOTD
+   - Added new authorization SNACs to faim/aim_cbtypes.h   
+
  - Sun Dec 26 22:59:10 UTC 1999
    - Renamed login_phase1_struct to aim_login_struct
    - Changed cookie and sn to be static arrays in aim_login_struct
This page took 0.046886 seconds and 4 git commands to generate.