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