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