mid [Thu, 29 Mar 2001 01:02:40 +0000 (01:02 +0000)]
- 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.
mid [Sat, 24 Mar 2001 03:38:58 +0000 (03:38 +0000)]
- 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!)
mid [Fri, 23 Mar 2001 05:52:31 +0000 (05:52 +0000)]
- 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...
mid [Fri, 23 Mar 2001 01:52:38 +0000 (01:52 +0000)]
- 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.
mid [Mon, 5 Mar 2001 01:28:44 +0000 (01:28 +0000)]
- 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)
mid [Sun, 11 Feb 2001 01:16:22 +0000 (01:16 +0000)]
- 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')
mid [Thu, 8 Feb 2001 05:57:32 +0000 (05:57 +0000)]
- 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.
mid [Sat, 16 Dec 2000 01:41:03 +0000 (01:41 +0000)]
- 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().
mid [Fri, 15 Dec 2000 23:38:51 +0000 (23:38 +0000)]
- 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).
mid [Fri, 15 Dec 2000 10:13:21 +0000 (10:13 +0000)]
- 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.]
mid [Thu, 14 Dec 2000 03:44:59 +0000 (03:44 +0000)]
- 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)
mid [Wed, 13 Dec 2000 00:42:28 +0000 (00:42 +0000)]
- 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
mid [Tue, 12 Dec 2000 23:15:24 +0000 (23:15 +0000)]
- 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.
mid [Fri, 1 Dec 2000 22:32:25 +0000 (22:32 +0000)]
- 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.
mid [Thu, 30 Nov 2000 01:37:20 +0000 (01:37 +0000)]
- 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
mid [Fri, 10 Nov 2000 08:35:06 +0000 (08:35 +0000)]
- 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.
mid [Wed, 8 Nov 2000 13:19:10 +0000 (13:19 +0000)]
- 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***)
mid [Wed, 8 Nov 2000 10:29:02 +0000 (10:29 +0000)]
- 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.
mid [Thu, 26 Oct 2000 00:59:02 +0000 (00:59 +0000)]
- 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
jbm [Sat, 14 Oct 2000 06:50:36 +0000 (06:50 +0000)]
(guest commit by jbm)
- 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: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.
- 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
- 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
- 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)
mid [Mon, 21 Aug 2000 22:11:49 +0000 (22:11 +0000)]
- 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)
- 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 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.)
mid [Fri, 30 Jun 2000 00:13:23 +0000 (00:13 +0000)]
- 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.
mid [Mon, 26 Jun 2000 08:09:09 +0000 (08:09 +0000)]
- 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.
mid [Sat, 24 Jun 2000 02:22:10 +0000 (02:22 +0000)]
- 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.
mid [Sat, 24 Jun 2000 02:01:31 +0000 (02:01 +0000)]
- 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
mid [Fri, 16 Jun 2000 20:47:56 +0000 (20:47 +0000)]
- 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
mid [Tue, 6 Jun 2000 02:52:55 +0000 (02:52 +0000)]
- 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)
mid [Sat, 3 Jun 2000 00:10:45 +0000 (00:10 +0000)]
- 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