]> andersk Git - libfaim.git/blob - CHANGES
- Thu Sep 14 00:54:48 UTC 2000
[libfaim.git] / CHANGES
1
2 No release numbers
3 ------------------
4  - Thu Sep 14 00:54:48 UTC 2000
5    - Added create room callback
6
7  - Wed Sep 13 22:01:35 UTC 2000
8    - Remove references to "new" and "class" for dumb C++ compilers
9    - Renamed userinfo->class to userinfo->flags both for clarity and C++
10    - Remove some extraneous variables
11
12  - Tue Sep 12 20:16:51 UTC 2000
13    - Add aim_flap_nop() from my work tree 
14
15  - Tue Sep 12 05:06:53 UTC 2000
16    - Revert the two-byte change in aim_misc, clientready
17
18  - Tue Sep  5 04:41:45 GMT 2000
19    - Few more minor things
20    - Added the changes needed for faimtest.
21    - Removed aimdebugd from default build
22
23  - Tue Sep  5 03:47:26 GMT 2000
24    - More ANSIfication for win32
25    - Forgot aim_misc last time.
26
27  - Mon Sep  4 22:08:35 GMT 2000
28    - Forgot aim_snac and aim_search
29
30  - Mon Sep  4 21:38:09 GMT 2000
31    - A mild step towards ANSI compliance
32      - Compiles cleanly with -pedantic (except for the libc issue in socket.h)
33      - Fixes various sign mismatch things. There may be more, we'll see
34        what MSVC has to say about it.
35    - Add faim_internal and faim_export macros so Win32 DLL is easier
36
37  - Sun Sep  3 23:58:17 UTC 2000
38    - Portability fixes (for solaris, set the SOLARIS env var first)
39
40  - Sat Sep  2 23:42:37 UTC 2000
41    - Hopefully fix aim_snac.c bugs
42    - Add Buddy List Rights parser (max buddies and max watchers)
43    - Fix rather major problem in rxhandlers caused by missing breaks
44    - Add reason code for msgerr (0004/0001) callback
45    - Add BOS Rights parser (max permit / max deny)
46    - Add locate error (0002/0001) parser
47    - Add parser for missed calls (0004/000a)
48
49  - Fri Sep  1 23:34:28 UTC 2000
50    - Switched the read()s in rxqueue to use recv()
51      - Should fix the big message problem and the big buddy list problem
52    - Changed some values around in aim_misc to match winaim4.1
53    - Added aim_addicbmparm. dunno what it does
54    - Cleanup the login process in faimtest (can now login in less than 2sec)
55
56  - Fri Sep  1 00:13:04 UTC 2000
57    - Avoid zero-length mallocs in aim_tlv
58
59  - Thu Aug 31 23:40:23 UTC 2000
60    - Threw in aim_select modification from nicolas
61    - Remove stray debugging printf in aim_tlv
62
63  - Mon Aug 28 03:11:15 GMT 2000
64    - Adds lots of comments
65    - Add AIM_CLASS_ALLUSERS constant for setgrouppermmask()
66    - Add warnings support (jbm)
67
68  - Mon Aug 21 22:00:18 UTC 2000
69    - Implement SNAC login MD5 (thanks to Sonuvbob for that one)
70    - Clear out all that old login cruft. Much cleaner now.
71    - REQUIRES CLIENT CHANGES (see faimtest)
72
73  - Fri Aug 18 19:52:54 UTC 2000
74    - Fix the non-pthread bug
75
76  - Thu Aug 17 23:19:40 UTC 2000
77    - A few more leak fixes (only a few left to go...)
78
79  - Thu Aug 17 23:08:08 UTC 2000
80    - More leak fixes (eric, eric, eric...)
81
82  - Thu Aug 17 22:53:03 UTC 2000
83    - Change the SNAC cache to a hash instead of list
84    - Fixed a few leaks relating to aim_gettlv_str()
85
86  - Thu Aug 17 14:04:18 UTC 2000
87    - Fix the fd closing bug introduced last week
88
89  - Tue Aug  8 04:25:35 UTC 2000
90    - Preserve subtype and priv after aim_conn_close
91
92  - Tue Aug  8 04:15:47 UTC 2000
93    - Fixed double-calling of faim_mutex_init
94    - conn->type preserved after aim_conn_close
95
96  - Mon Jul 17 01:56:31 UTC 2000
97    - Added 0004/000c callback (for message acknowledgments)
98       - This goes with the AIM_IMFLAGS_ACK option that has been there
99         for ages now.  When you send a message with that option, you'll
100         get a message back containing the screenname, telling you it was sent.
101    - Moved the aim_conn_kill's out of aim_get_command() and into
102       the client.  They're only closed in there now.  This is so that you 
103       can detect what type of connection died.  You'll want to handle
104       BOS and chat connections in special ways most likely.  You'll also
105       need to call aim_conn_kill when you're done with it.
106    - Added/fixed the Rate Change handlers.  Now passes up a long that
107       should contain a number.  I'm currently in pattern-searching mode.
108
109  - Sun Jul 16 22:59:39 GMT 2000
110    - Fixed the locking in the rendezvous code.  Hopefully is safe now.
111
112  - Sun Jul 16 11:03:28 GMT 2000
113    - Fixed 0001/000a chat printf.  (Actually a one liner a few days ago.)
114    - Started integrating josh's 3k rendezvous patch.  Currently only
115       directim is working.  And its got bugs.  But he's not online
116       right now, so I can't bitch.  I'd love to bitch here, but I'm 
117       tired. 
118      - Can definitly accept directim connections and send/recieve.
119      - See faimtest for the new callbacks.  (Urg.)
120      - Here weeee gooooo.  (Not sure if this will break everyone or not.)
121
122  - Fri Jun 30 00:04:47 UTC 2000
123    - Removed the forceful ICQ-related warnings, just in case they're wrong
124    - Added three new fields to the client info.  
125       - **REQUIRES CLIENT CHANGES -- see faimtest for new initializer
126    - Cleaned up aim_send_login()
127    - Put in a nice hidious fix for AOL's latest bit of the drama.  See
128       aim_readtlvchain() for the details.
129
130  - Mon Jun 26 07:53:02 UTC 2000
131    - Added utils/aimdebugd for playing with things -- see the README
132    - Added aim_im.c::aim_parse_outgoing_im().  Probably not useful
133       unless you're writing a server or something (or hacking aimdebugd).
134    - aim_send_im() now sends the same data as AIM4 does (three more bytes)
135    - Added aim_debugconn_sendconnect() for aimdebugd-enablement.
136
137  - Sat Jun 24 02:14:07 UTC 2000
138    - Added fakelocks for platforms without pthreads or that have no
139       use for them.
140    - Added workaround for MSG_WAITALL for people with the very broken
141       libc that comes with earlier Red Hat's.
142
143  - Sat Jun 24 00:44:24 UTC 2000
144    - Support zero-type TLVs in aim_extractinfo()
145      - AOL now ocassionally throws extra zeros in so in order to break
146          clients.  Aparently zero-type TLVs are a special case -- if the
147          type is zero, then _there is no length_ field.  AOL are geniuses.
148      - Note that you only get these if you send a bad client string, such
149          as the top one in faimtest.  If you #if 0 that one out and use the
150          second one, you'll be fine.  (Unless you just want to see the message
151          for yourself.  Its nifty. (FREE!))
152    - ICBM parser now uses aim_extractuserinfo() so that it can benefit
153        from the above changes, as well as clean up the whole "is it the 
154        first or the second one of this type?" issue
155      - This also fixes the changes AOL made in away messages.
156    = Fixed a possible buffer overflow when AOL changes the max sn length
157    - Increased MAXSNLEN to 32 (they appear to be valid)
158      - If you start getting messages from someone called "AOL Instant
159         Messenger", see comment one, paragraph two.
160    - aim_select() now returns a -1 if there are no connections open
161    - Connections are now killed completely if there is a major error on them
162    - faimtest now calls aim_logoff() on connection error
163
164  - Fri Jun 23 22:38:47 UTC 2000
165    - Adds start of adverts support
166    - Adds aim_bos_nop().  You may want to send this occassionally
167    - Fixes aim_rxhandlers.c to work for people with three-letter
168        screen names
169
170  - The week prior to Fri Jun 16 19:37:09 UTC 2000
171    - Rethought the rendezvous stuff.  DEFINIT WORK IN PROGRESS
172      - Do not bother trying to use this.  This will probably break
173          your clients.  You may or may not want to fix them, since 
174          I may change it again soon.  
175      - I REPEAT: This really is a developer-only version.  It barely
176          compiles.  I'm just committing it so I don't have so many
177          trees floating around.
178    - Added stuff to support OFT as well as OSCAR protocols
179    - Added aim_send_im_direct() for directim ("IM Image")
180    - Added caps getting/putting routines 
181    - Added more aim_login fixes to avoid more AOL stupidity
182      - This is the same as went to libfaim-devel yesterday, so don't upgrade
183        just to get these changes.
184    - Removed aimicq_encode_password -- now use the same table
185        for both ICQ and AIM
186    - Added AUTHORS
187
188  - Tue Jun  6 01:36:48 UTC 2000
189    - Inverted gethostbyname2() check.  Not sure how that ended up 
190        in that state.
191    - Added some of the initial framework to support file transfers
192    - Added in a few checks for that
193      - Can currently parse and send a denial message.
194    - Added cookie caching.  (Sorry, I just like saying that.)
195    - Rearranged channel 2 ICBM parsing (detects the different
196        rendezvous types better and hopefully accuratly).
197    - Killed the connection array.  Now a list.  (Suits the
198        upcoming features better.)  --- REQUIRES CLIENT CHANGES...
199      - In most cases, you need to change aim_conn_close() calls
200          to aim_conn_kill().  This will free them as well as 
201          close them.  If you don't do this, you'll pollute the
202          connection list and leak memory.
203    - Possibly a few other minor things (some cleanups to faimtest for one)
204
205  - Fri Jun  2 23:27:28 UTC 2000
206    - Cleaned up aim_send_login slightly
207    - Added aimicq_encode_password to support the new hash
208        values required for logging in with ICQ
209    - Removed crash when email and/or reg status aren't
210        in the auth response (they're not in ICQ responses)
211    - So now as long as you specify a client version of 
212        4.30.3141 in the client info, and your ICQ number
213        as your screen name, you can login to ICQ via libfaim
214        and use it just like an AIM account.
215    - Added AIM_CB_SPECIAL_CONNERR callback for recieving 
216        messages such as disconnect reasonses ("you logged
217        on from a different machine", etc).
218    - Added faimtest's userinfo handler to support away messages
219
220  - Fri Jun  2 15:57:27 UTC 2000
221    - Add creation time, maxmsglen, and various unknowns to chat info
222      update callback.
223    - Remove 'nothing works yet' comment from top of aim_chat.c (it works!)
224
225  - Wed May 31 01:17:24 UTC 2000
226    - Added constants for message sizes (MAXMSGLEN, MAXCHATMSGLEN)
227      - Note that the new max message size is defined as 7988bytes,
228          drastically larger than WinAIM lets you put out.  This is a
229          libfaim-exclusive feature :)
230    - Reduced base buffer size on aim_send_im()  
231  
232  - Tue May 30 22:32:31 UTC 2000
233    - Added lock around tx seqnum to prevent that race when transmitting
234        from diverse threads. (actually committed earlier today)
235    - Added aim_meta.c and a few constants and things to keep
236        track of "releases".  
237    - Added mkbuildinfo.sh to automatically update build string
238        "constants" on every invocation of 'make all'.
239
240  - Mon May 29 12:08:28 GMT 2000
241    - Rearranged aim_tx_flushqueue(); moved write operation 
242        to aim_tx_sendframe()
243    - Turned aim_tx_enqueue() into a macro that calls sess->tx_enqueue,
244        a function pointer to whatever you want to use to enqueue
245        things for transmition (or not)
246    - Old aim_tx_enqueue becomes aim_tx_enqueue__queuebased.  Added
247        aim_tx_enqueue__immediate for doing immediate writes.  Default
248        is to use queue-based procedure.
249    - Cleaned up parts of aim_conn.c
250    - Added locking around the sockets themselves.  Should allow
251        for full cross-thread usage.
252      - Unfortunatly, only pthreads are supported at this time.
253        If you don't have pthreads on your arch, implement the
254        macros your arch needs and send me a patch.  (A SysV
255        semaphore implementation would be trivial, as would a 
256        simple integer-based lock.)
257
258  - Sun May 21 14:59:20 GMT 2000
259    - Added infotype parameter to aim_getinfo() for requesting
260        different types of messages.  AIM_GETINFO_GENERALINFO
261        will get you the normal stuff, AIM_GETINFO_AWAYMESSAGE
262        will get the normal stuff, with the profile replaced with
263        the user's away message.  Also, the callback adds an 
264        unsigned short to the end to give you the value that
265        was originally passed to the request.
266    - There were a few server-pertinent changes that didn't get 
267        documented from last month.  I have no idea what they were.
268
269  - Sun Apr  2 07:29:11 UTC 2000
270    - Redid much of the tx path to remove the superfluous copy.  But
271        it touches every function that transmits.  Its been a long 
272        time in coming.
273    - Added caps parameter to aim_bos_setprofile().  You can now
274        control what capabilties you show up as others to
275    - Added ->capabilities to userinfo.  It should be nonzero when
276        its coming off buddy oncoming information, but NOT requested
277        user info.
278
279  - Sun Apr  2 01:45:15 UTC 2000
280    - Increased AIM_CONN_MAX from 5 to 7.  Precausionary only
281    - Removed deprecated TIS_TELNET_PROXY from faim/faimconfig.h
282    - Added macros for the simple integer functions in aim_util.c
283    - Removed usage of aim_failsaferead() 
284       - Still not sure why I had it to begin with.  I think it 
285         was a remament from when we used non-blocking sockets
286         (which I don't know why I did either)
287    - Removed some of the oddities in aim_get_command()
288       - gprof showed this taking 20kns on my k6-300.  Should be faster now.
289       - Added conn parameter.  This should prevent aim_select() from
290         getting called too many times in a row.
291
292  - Thu Mar 23 08:45:40 UTC 2000
293    - Removed aim_countconn() > 0 check in aim_select(), its logically redundent
294    - Added aim_putuserinfo() (inverse of aim_extractuserinfo())
295    - Added aim_sendbuddyoncoming/offgoing() 
296    - Rearranged loop in rxdispatch()
297    - Remove aim_conn_close() if connections dead in aim_get_command()
298
299  - Thu Mar 23 00:44:32 UTC 2000
300    - Added a check to purge_rxqueue to skip handled commands
301
302  - Mon Mar 20 05:30:59 UTC 2000
303    - Added some server-only functions for login
304    - Added aim_counttlvchain()
305    - Added aim_sncmp() and aim_snlen()
306
307  - Sun Mar 19 06:07:52 UTC 2000
308    - Added a parameter to aim_select to return event type 
309      - REQUIRES CLIENT CHANGES.
310    - For the most part rewrote the tx and rx queuing code 
311      - Should fix many, many outstanding problems in and related
312          to that code, including one that keeps memory from freeing 
313    - Fixed several bugs in various places
314    - Reformated a lot of code, and did general cleanups
315    - Should have a generally more robust lib now.
316
317  - Sun Mar 12 00:07:40 UTC 2000
318    - Fixed a robustness problem in aim_handleredirect_middle()
319    - Added TLV chain creation routines (yes, aimd is progressing)
320
321  - Mon Jan  3 04:07:55 UTC 2000
322    - Fixed bug in aim_snac.c
323    - Fixed condition where commands read from connections that have 
324        been closed were still left in the queue.  Now cancelled.
325    - Added some printfs to aim_info to get more informative crahes
326    - Fixed a bug in aim_rxqueue::purge
327
328  - Sun Jan  2 10:31:19 UTC 2000
329    - Cleanups in aim_info.c
330    - Can compile with -Ddebug=100 again
331    - Implemented chat: Joining/Leaving, info parsing, IM parsing/sending
332    - Implemented some chatnav: rights req/parsing, room creation
333
334  - Thu Dec 30 10:08:42 UTC 1999
335    - Fixed bug in aim_im.c when (encoding == NULL) || (lang == NULL)
336    - Added detection of voice chat requests
337    - Added AIM_CLASS_* defines, including new Away flag
338    - Added awaymsg parameter to bos_setprofile.
339      - If awaymsg is nonnull, you will be advertised as being away (your
340          class will be ORed with AIM_CLASS_AWAY), otherwise you'll show 
341          up normal.
342
343  - Wed Dec 29 10:06:35 UTC 1999
344    - Fixed small bug in IM parser
345    - Added stubs for the capability TLVs in userinfo.
346
347  - Wed Dec 29 09:14:45 UTC 1999
348    - Added a capability block to aim_bos_setprofile.  Can now get chat 
349        invites again.
350    - Extended ICBM parser to support channel 2 messages (chat invites)
351      - A channel parameter has been prepended to the varargs -- REQUIRES 
352          CLIENT CHANGES.
353      - Extended faimtest to support chat invites.
354    - Changed faimtest to get sn/password from environment
355
356  - Wed Dec 29 04:17:03 UTC 1999
357    - Added -g to CFLAGS
358    - Added aim_sendconnack() to aim_login.c (needed for newer login)
359    - Added code for the new SNAC-based login/auth procedure. (see SNACLOGIN
360        in faim/faimconfig.h for why its not enabled)
361    - Reimplemented aim_authparse(), aim_handleredirect() using TLVlists
362        - The old auth_failed callback is now integrated into the
363            success one.  If there was an error, logininfo->errorcode is nonzero
364    - Fiddled with version information.  Added aim_setversions()
365    - Added table of SNAC names for showing unknown snacs (jbm)
366    - Added a middle handler for MOTD
367    - Added new authorization SNACs to faim/aim_cbtypes.h   
368
369  - Sun Dec 26 22:59:10 UTC 1999
370    - Renamed login_phase1_struct to aim_login_struct
371    - Changed cookie and sn to be static arrays in aim_login_struct
372    - Integrated the Jabber-faim changes.  (temas)  [BIG CLIENT CHANGES]
373      - Added aim_session_t, removed all global variables
374      - Changed all functions to accept a session pointer
375      - Removed aim_global.c
376      - Updated faimtest to use an aim_session_t.
377      - Removed all cases where logininfo was passed as vararg to client
378    - Fixed small bug in aim_newconn's 'fixing' of host:port addresses
379    - Added an install rule to the makefile (installs headers+so only!)
380    - Enabled USE_SNAC_FOR_IMS by default, assuming it got fixed
381        by n's new aim_snac.c from ages ago
382    - Implemented a middle handler for 0004/0001 message errors, added
383        snacid lookup to get illfated destination SN and pass to client
384    - Implemented a short middle handler for offgoing buddy.
385
386  - Fri Dec 24 21:30:06 UTC 1999
387    - Added an error-counting Read() that has been sitting in my inbox
388    - Cleaned up header files, created aim_cbtypes.h.
389    - Added void * to aim_conn_t for private client use if they want. (Orb)
390    - Removed all stderr output.  All output is important, and goes to stdout.
391    - Renamed isautoresponse in IM parser to icbmflags.
392    - Added Orb's fix for the new login code, deleted old (see Orb, I do read
393        your mail....eventually).
394    - Added mailing lists to README.
395
396  - Fri Dec 24 11:12:34 UTC 1999
397    - Cleaned up both outgoing and incoming ICBM handling.  Anything
398        that crashes around there is no longer libfaims fault!
399        - The encoding flags are now passed up to the client.
400    - Added several TLV routines to parse large blocks of continuous
401        TLV triplets.  Not terribly effecient, but quite elegent in usage.
402    - Added icbm_setparams() back in from way-back-long-ago.  It hasn't
403        been implemented in a long time, but I think we should still send it.
404
405  - Fri Dec 24 01:23:06 UTC 1999
406    - Fixed a very minor bug in aim_newconn().
407    - Added aimutil_get{16,32}()
408    - Added aim_extractuserinfo() for extracting  user data
409        blocks and putting them into struct aim_userinfo_s's.
410          - Added a loop to print out info on extraneous TLVs.
411          - Put in lots of comments.
412    - Added parse_oncoming_middle() to parse the user data
413        block of that packet.  Now passes struct aim_userinfo_s
414        to client.
415    - Rearranged parse_userinfo_middle().  Now passes an entire
416        userinfo struct to client instead of individual variables.
417    - Convered the version of parse_im_middle() thats actually getting
418        used to pass up a userinfo struct.  
419    - Updated faimtest to accept new structs.
420
421  - Tue Dec 21 06:18:50 UTC 1999
422    - Fixed a Win32 header problem
423  - Tue Dec 21 03:44:13 UTC 1999
424    - Latency timers now update on rx as well as tx.  Gets rid of even more
425        of the rate problems that most clients are having.  
426    - Renamed lasttx and settxlatency to lastactivity and setlatency, respec.
427    - Integrated fixes needed for Win32 -- should compile cleanly now (DMP)
428    - Cleaned up some places, use aim_putsnac everywhere now.
429
430  - Sun Sep 26 20:04:20 MST 1999
431    - Reduced the IM parsing to look for 3 zeros instead of 4 -- NEEDS WORK
432        - This was needed to work with MacAIM3 and some WinAIM3s.
433    - Added aim_conn_settxlatency() for throttling outgoing frames -- NEEDS WORK
434    - Added an int to the userinfo and incoming IM user callbacks for new
435        TLV that AOL put it in -- its the number of seconds elapsed since
436        the user logged in
437    - Worked more on the callbacks (more internal rearrangements)
438    - Fixed bug in aim_select() (returning negative fds)
439    - Clear out logininfo struct before putting more data into it
440    - Other bugfixes that I can't particularly remember.
441
442  - Tue Aug 24 03:13:12 UTC 1999   --- TRANSITION RELEASE!!
443    - Added jbm's new aim_rxqueue.c, which should crash less
444    - Started the overhaul on the callback system.  No where near complete yet.
445
446  - Sun Aug  1 03:02:17 UTC 1999
447    - Added aimutil_*()s in aim_util.c for raw byte placement
448    - Cleaned up aim_im.c, aim_auth.c, and aim_login.c using aimutil_*
449    - Added AIM_IMFLAGS, flags option to aim_send_im(), removed
450        aim_send_im_away()
451    - Added client_info parameter to aim_send_login()
452    - Tweaked aim_send_im() (AOL changed a few things, there's some more
453        changes left to do)
454    - Some Chat stuff changed, still no where near functional
455    - Finally remembered to switch the license to LGPL (from GPL)
456    - Permit/Deny (blocking) list support added
457    - Released a snapshot
458
459  - Sat Jul 31 05:28:38 UTC 1999
460    - Changed aim_bos_setdeny() to aim_bos_changevisibility() and actually
461        did the implementation.  
462
463  - Fri Jul 23 17:45:22 UTC 1999
464    - Work around for the AOL change in IP syntax (thanks to Eric Peyton)
465    - Released snapshot
466
467  - Sun Apr 25 23:31:44 UTC 1999
468    - Fixed stupid off-by-one bug in aim_logoff()
469
470  - Sun Apr 25 22:43:31 UTC 1999
471    - Renamed/reclassified missed IM errors (now all callbacks -- no backend handling)
472    - Killed aim_login() -- all connections now opened in frontend
473    - aim_conn_close() will not close fd's < 3
474    - Released snapshot.
475
476  - Sat Apr 10 22:44:07 UTC 1999
477    - Changed how rx_command->handled works; now uses return value from callback
478    - Changed the if's in the dispatcher (aim_rxhandlers.c) to switch()es
479
480  - Sat Apr 10 03:51:21 UTC 1999
481    - Started CHANGES
482    - Put in n's aim_snac.c.
483    - Updated aim_{add,remove}_buddy() to use aim_conn
484    - Updated aim_usersearch_address() to use aim_conn
485    - Cleaned up aim.h a bit (removed old *phase* protos)
486    - Changed gethostbyname() to gethostbyname2() (for MacOS X)
487    - Changed aim_newconn() to pass connection errors in connstruct->status
488      - Updated faimtest.c to detect connection errors
489    - Fixed a small typo in aim_im::aim_parse_incoming_im_middle()
490    - Added free()s in that function and to userinfo counterpart (fewer leaks)
491    - Released snapshot
492
493  - Sat Apr  3 06:43:14 UTC 1999
494    - Released snapshot
495
496  - Wed Dec 30 01:20:59 MST 1998
497    - Released snapshot
498
499  - Mon Dec  7 16:57:57 MST 1998
500    - Released snapshot
501
502  - Sat Dec  5 00:01:53 MST 1998
503    - Released snapshot
504  
505  - Thu Nov 26 17:50:02 MST 1998
506    -  Released snapshot
This page took 1.559362 seconds and 5 git commands to generate.