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