12000-07-30 Denis V. Dmitrienko <denis@null.net> 2 3 * ChangeLog, icqlib-0.2.0.lsm, icqlib-1.0.0.lsm, README, TODO, 4 VERSION, Win32.zip: 5 Updated version for 1.0.0 release. 6 72000-07-25 Denis V. Dmitrienko <denis@null.net> 8 9 * README: Description was changed a little. 10 11 * icqlib/icq.h.in: Cleanups. 12 132000-07-23 Bill Soudan <soudan@kde.org> 14 15 * README: added description 16 17 * icqlib/icq.h.in, icqlib/icqlib.c, icqlib/tcpchathandle.c, 18 icqlib/tcpfilehandle.c: added support for real nickname during 19 TCP transactions like file and chat, instead of using Bill 20 all the time (hmm, where'd I get that from? :) 21 222000-07-22 Denis V. Dmitrienko <denis@null.net> 23 24 * AUTHORS, DEVEL, icqlib-0.1.3.lsm, icqlib-0.2.0.lsm, README, TODO: 25 Text files in root directory were changed to reflect latest changes. 26 272000-07-22 Denis V. Dmitrienko <denis@null.net> 28 29 * icqlib/util.c: Trinidad and Tobago country was added. 30 31 * icqlib/icq.h.in: Cleanups. 32 332000-07-21 Denis V. Dmitrienko <denis@null.net> 34 35 * icqlib/util.c: All languages, possible in original icq were added. 36 Occupation array fixed. 37 382000-07-20 Denis V. Dmitrienko <denis@null.net> 39 40 * icqlib/util.c: 41 Occupation table corrected to comply with original ICQ. 42 432000-07-09 Bill Soudan <soudan@kde.org> 44 45 * icqlib/list.c: added more trace messages, added list_remove_node 46 call in list_free... fixes list corruption bug introduced 47 during last commit 48 49 * icqlib/queue.c: added more trace messages, reworked packet 50 delete handling: now happens during _icq_UDEQueueItemFree rather 51 than during icq_UDPQueueDelSeq - fixes memory leak 52 532000-07-09 Bill Soudan <soudan@kde.org> 54 55 Cleanups, and nasty memory bug fixes. Hopefully this will 56 correct the strange crashes Denis is having after the icq_Done 57 call! 58 59 The major problem was: icq_TCPLinkDelete and icq_FileSessionDelete 60 were calling list_remove to remove themselves from the global 61 TCPLink and FileSession lists kept in ICQLINK. But, these 62 functions were being called from a list_delete call also, 63 in icq_TCPDone, so what was happening is the list_nodes were 64 getting free()ed twice! 65 66 This problem was circumvented by removing the list_remove 67 from the *Delete functions, and creating new Close functions 68 that do the list_remove and then call the corresponding 69 Delete function. 70 71 * icqlib/chatsession.c, icqlib/chatsession.h, icqlib/filesession.c, 72 icqlib/tcp.c, icqlib/tcpchathandle.c, icqlib/tcpfilehandle.c, 73 icqlib/tcplink.c, icqlib/tcplink.h, icqlib/udp.c, 74 icqlib/stdpackets.h: adding new *Close functions, use *Close 75 functions instead of *Delete where correct, and misc cleanups 76 77 * icqlib/icq.h.in: removed unnecessary members from ICQLINK 78 79 * icqlib/icqlib.c, icqlib/icqlib.h: removed unnecessary 80 functions 81 82 * icqlib/list.c, icqlib/list.h: recoded list_free function - this 83 was working very incorrectly! it was only freeing the first 84 node of the list, and then ending. fixes a memory leak. 85 86 * icqlib/queue.c: use new list_free 87 88 * icqlib/tcp.c: use Close functions, misc cleanups 89 902000-07-09 Denis V. Dmitrienko <denis@null.net> 91 92 * icqlib/icq.h.in: Cleanups. 93 94 * icqlib/icqlib.c: 95 Initial memset() in icq_Init() replaced by callback's clearance. 96 97 * icqlib/udp.c: 98 icq_UpdateNewUserInfo() now returns seq1 instead of seq2 since it 99 isn't META function. 100 1012000-07-07 Denis V. Dmitrienko <denis@null.net> 102 103 * icqlib/icqpacket.c: 104 "icq_Packet data overflow" log message temporarily commented out. 105 1062000-07-04 Paul Cadach <paul@odt.east.telecom.kz> 107 * icqlib/utilc: 108 icq_FmtLog() crashed when it receives NULL at link argument. 109 1102000-06-30 Denis V. Dmitrienko <denis@null.net> 111 112 * icqlib/util.c: Slovak Republic country code fixed. 113 1142000-06-25 Denis V. Dmitrienko <denis@null.net> 115 116 * icqlib/udphandle.c: 117 icq_HandleMetaUserInfo() handles all (!) available in original icq2k 118 Meta User Info packets along with other useful Meta* packets. (WOW! ;) 119 120 * icqlib/icq.h.in: 121 New callbacks (we really need an event-driven model later): 122 icq_MetaUserFound, icq_MetaUserInfo, icq_MetaUserWork, 123 icq_MetaUserMore, icq_MetaUserAbout, icq_MetaUserInterests, 124 icq_MetaUserAffiliations, icq_MetaUserHomePageCategory 125 New functions-companions for Meta User Info: 126 icq_GetMetaOccupationName(), icq_GetMetaBackgroundName(), 127 icq_GetMetaAffiliationName(), icq_GetMetaLanguageName() 128 New function to request Meta User Info icq_SendMetaInfoReq() 129 COUNTRY_CODE was "generalized" to icq_ArrayType. Note: this is 130 source incompatible change! 131 132 * icqlib/util.c: icq_MetaOccupation[], icq_MetaPastBackgrounds[], 133 icq_MetaAffiliations[] and icq_MetaLanguages[] arrays were added along 134 with icq_GetMetaOccupationName(), icq_GetMetaBackgroundName(), 135 icq_GetMetaAffiliationName() and icq_GetMetaLanguageName() functions 136 to access them. 137 138 * icqlib/udp.h: Some META* defines changed/added. 139 USER_INFO structure which is never been used now removed. 140 141 * icqlib/udp.c: icq_SendMetaInfoReq() was added. 142 All icq_*Meta*() functions now returns sequence number 2 because their 143 replies from the server are synced with it. 144 145 * icqlib/tcphandle.c, icqlib/tcpfilehandle.c, icqlib/eventhandle.c: 146 '\n' was added at the end of log messages. 147 148 * icqlib/queue.c: 149 Some sanity checks were added to icq_UDPQueueDelete() and 150 icq_UDPQueueFree() 151 152 * icqlib/icqpacket.c: icq_PacketUDPDump() tweaked a little. 153 1542000-06-17 Denis V. Dmitrienko <denis@null.net> 155 156 * icqlib/contacts.c, icqlib/icq.h.in: 157 New parameter was added in icq_ContactSetVis() for setting/resetting 158 'Visible to User' status. 159 Port's type was changed to unsigned short in icq_UserOnline callback. 160 1612000-06-15 Bill Soudan <soudan@kde.org> 162 163 * icqlib/icqevent.c, icqlib/icqevent.h, icqlib/eventhandle.c, 164 icqlib/eventhandle.h: committed for safekeeping, not used yet. 165 this code will soon replace stdpackets.c and tcphandle.c, as 166 well as reducing code duplication in many other places. hopefully 167 it can eventually be extended to manage udp events as well, as 168 it's written in pseudo-object-oriented style. 169 1702000-06-14 Bill Soudan <soudan@kde.org> 171 172 Bugfixes and code cleanups. 173 174 * icqlib/filesession.c, icqlib/filesession.h: added id arg to 175 icq_FindFileSession to allow searches for specific file session 176 177 * icqlib/icq.h.in: removed *Seq functions, renamed chat req functions 178 to be consistent with file req functions, added Cancel and Refuse 179 functions for chat and file reqs 180 181 * icqlib/queue.h: added proto for icq_UDPQueueInterval 182 183 * icqlib/stdpackets.c, icqlib/stdpackets.h: added creation 184 functions for cancel and refuse operations 185 186 * icqlib/tcp.c, icqlib/tcp.h: added Cancel and Refuse functions 187 for chat and file reqs, changed packet sending code to use new 188 icq_TCPLinkSendSeq function to elimitane duplicate code, removed 189 *Seq functions, renamed chat req functions 190 191 * icqlib/tcpfilehandle.c: fixed bug: sending file sessions would 192 freeze if remote side changed speed 193 194 * icqlib/tcplink.c, icqlib/tcplink.h: added icq_TCPLinkSendSeq 195 function 196 197 * icqlib/icqlib.c, icqlib/udp.c: removed *Seq functions 198 1992000-05-21 Denis V. Dmitrienko <denis@null.net> 200 201 * icqlib/util.c: Bulgaria country code was added. Thanks to 202 "Napalm Death" <napalmbox@hotmail.com> 203 204 * icqlib/cyrillic.c: Applied patch for russian letters IO and io by 205 Vladimir Eltchinov <elik@design.ru> 206 2072000-05-10 Denis V. Dmitrienko <denis@null.net> 208 209 * icqlib/icq.h.in, icqlib/icqlib.c, icqlib/queue.c, 210 icqlib/queue.h, icqlib/udp.c: 211 UDP outgoing packet queue was implemented. 212 213 * icqlib/udphandle.c, icqlib/proxy.c: 214 icq_Disconnect() now called before icq_Disconnected callback to 215 prevent high CPU usage in kicq's "reconnect on disconnect" code. 216 217 * icqlib/list.c, icqlib/list.h: 218 list_free() was added to free but do not dispose the list. 219 Memory leak with destroying the list was fixed. 220 2212000-05-05 Denis V. Dmitrienko <denis@null.net> 222 223 * Win32.zip: 224 Automatically generated icq.h repackaged for Win32 portability. 225 2262000-05-04 Bill Soudan <soudan@kde.org> 227 228 * icqlib/tcp.h: undefined TCP debug trace constants in preparation 229 for release. 230 231 * icqlib/stdpackets.c: warning cleanups. 232 233 * icqlib/icq.h.in: changed FILE_STATUS_* defines, removed 234 many ICQ_NOTIFY_FILE* defines, added new direction member 235 to icq_FileSession, removed unnecessary uin arg from 236 icq_FileSessionSetSpeed. 237 238 * icqlib/tcpchathandle.c, icqlib/tcpfilehandle.c, icqlib/tcphandle.c, 239 icqlib/tcplink.c, icqlib/filesession.c, icqlib/tcp.c: 240 Reworked file transfer notification, small bugfixes, 241 and cleanups. 242 2432000-05-03 Denis V. Dmitrienko <denis@null.net> 244 245 * icqlib/udp.c: icq_UpdateNewUserInfo() was added. 246 All icq_UpdateMetaInfo*() now return their sequence number. 247 248 * icqlib/chatsession.c, icqlib/filesession.c, icqlib/icq.h.in, 249 icqlib/Makefile.am, icqlib/proxy.c, icqlib/tcpchathandle.c, 250 icqlib/tcpfilehandle.c, icqlib/tcphandle.c, icqlib/tcplink.c, 251 icqlib/udphandle.c, icqlib/util.c, icqlib/callbacks.c: 252 Callbacks have been moved to the ICQLINK structure. 253 254 * icqlib/icqpacket.c, icqlib/icqpacket.h: 255 icq_PacketReadUDPInUIN() was added. 256 257 * icqlib/list.c: Bug with empty contact list was fixed. 258 259 * icqlib/icqlib.c: Unfinished UDP queue was commented out. 260 2612000-04-13 Denis V. Dmitrienko <denis@null.net> 262 263 * README.Win32, VC5.zip, Win32.zip: 264 icq.h header file which is automatically generated on Unix is packaged 265 in Win32.zip archive along with the Visual C++ 5.0 project file. 266 2672000-04-10 Denis V. Dmitrienko <denis@null.net> 268 269 * icqlib/chatsession.h, icqlib/filesession.h, icqlib/stdpackets.c, 270 icqlib/tcp.c, icqlib/tcpfilehandle.c, icqlib/tcplink.c: 271 ANSI cleanups. 272 273 * icqlib/filesession.c, icqlib/icqlib.c, icqlib/stdpackets.h, 274 icqlib/tcp.c, icqlib/tcpfilehandle.c, icqlib/tcp.h, 275 icqlib/tcplink.c, icqlib/udp.c, icqlib/udp.h, icqlib/util.c, 276 VC5.zip: 277 Some more Win32 compatibility from Guillaume Rosanis <grs@mail.com> 278 2792000-04-06 Herbert Valerio Riedel <hvr@gnu.org> 280 281 * icqlib/icq.h.in, icqlib/udp.c (icq_KeepAlive,icq_SendAuthMsg): 282 return sequence number 283 2842000-04-06 Denis V. Dmitrienko <denis@null.net> 285 286 * icqlib/icq.h.in, icqlib/icqlib.c, icqlib/stdpackets.c, icqlib/tcp.c: 287 icq_*Send*Seq() functions with specified sequence number were added. 288 289 * icqlib/udp.c: 290 So called "Online List problem" bug with Long Contact List was fixed. 291 icq_*Send*Seq() functions with specified sequence number were added. 292 2932000-04-05 Denis V. Dmitrienko <denis@null.net> 294 295 * README.Win32, VC5.zip, icqlib/icqbyteorder.h, icqlib/icq.h.in, 296 icqlib/icqlib.c, icqlib/icqlib.h, icqlib/icqpacket.c, 297 icqlib/icqtypes.h, icqlib/proxy.c, icqlib/tcp.c, 298 icqlib/tcpchathandle.c, icqlib/tcpfilehandle.c, 299 icqlib/tcphandle.c, icqlib/tcplink.c, icqlib/tcplink.h, 300 icqlib/udp.c, icqlib/util.c, icqlib/util.h: 301 Applied patch from "Guillaume R." <grs@mail.com> for basic Win32 302 compatibility. 303 3042000-03-31 Igor S. Petrenko <nofate@europe.com> 305 306 * icqlib/util.c: remove static variable 307 3082000-03-30 Denis V. Dmitrienko <denis@null.net> 309 310 * am_edit, configure.in, libtool.m4.in, ltconfig, ltmain.sh, 311 missing, mkinstalldirs, acinclude.m4.in, Makefile.cvs: 312 New autoconf/automake stuff from KDE2. 313 314 * icqlib/queue.c: Fixed FreeBSD warning about obsolete malloc.h 315 header. 316 3172000-02-14 Bill Soudan <soudan@kde.org> 318 319 Applied patch from Paul Cadach <paul@odt.east.telecom.kz>. 320 321 * icqlib/icq.h.in: added icq_TCPSendChatData_n 322 323 * icqlib/tcp.c: use new icq_ChatRusConv_n function in 324 icq_TCPSendChatData, new icq_TCPSendChatData_n function 325 326 * icqlib/tcplink.c, tcplink.h: new icq_ChatRusConv_n function 327 3282000-02-06 Bill Soudan <soudan@kde.org> 329 330 * icqlib/tcpchathandle.c: warning cleanups. 331 3322000-02-06 Bill Soudan <soudan@kde.org> 333 334 Applied patch from Paul Cadach <paul@odt.east.telecom.kz>. 335 Thanks Paul! 336 337 Paul's change list: 338 339 1) Modified TCP link code to allow non-blocking TCP connects over 340 SOCKS5 proxy 341 2) Added missed Cyrillic translating for Chat subject, URL subject, 342 File transfer subject (both directions); 343 3) Fix a bug in TCPLinkProxyConnect code (remote address was random 344 due to using local variable instead of plink's remote_address). 345 346 * icqlib/cyrillic.c, icqlib/icqlib.h: added icq_RusConv_n 347 348 * icqlib/stdpackets.c: slightly modified chat packets 349 350 * icqlib/tcp.c: new code for SOCKS connections, more cyrillic 351 translations 352 353 * icqlib/tcpchathandle.c: new code for special chat functions 354 (background, fonts, etc) 355 356 * icqlib/tcplink.c: implemented non-blocking TCP connects 357 over SOCKS, cyrillic translation for chat 358 359 * icqlib/tcplink.h: new defines for SOCKS5 code 360 361 * icqlib/udphandle.c: changed log message in HandleUserOnline 362 3632000-02-03 Bill Soudan <soudan@kde.org> 364 365 * icqlib/icqlib.h: line 33, fixed minor compile bug, changed 366 u_int32_t declaration to unsigned long. This was causing a 367 problem compiling on SunOS, as reported by Longwen 368 <longwen@mail.com> 369 3702000-01-20 Bill Soudan <soudan@kde.org> 371 372 Worked more on file send implementation. icqlib will now also 373 handle sending file requests to clients. 374 375 * icqlib/filesession.c, filesession.h, icq.h.in, stdpackets.c 376 stdpackets.h, tcp.c, tcpfilehandle.c, tcphandle.c: 377 first implementation of sending file requests 378 379 * icqlib/tcplink.c: fixed bug in icq_TCPLinkConnect that caused 380 file/chat connection attempts to go to the wrong port 381 3822000-01-16 Bill Soudan <soudan@kde.org> 383 384 Exported icq_FileSession structure to library clients; 385 fixed a serious list bug. Oops. :) 386 387 * icqlib/filesession.c, filesession.h: added new public functions, 388 icq_FileSessionSetSpeed, icq_FileSessionClose, 389 icq_FileSessionSetWorkingDir, moved icq_FileSession interface to 390 icq.h.in 391 392 * icqlib/icq.h.in: added definition for icq_FileSession and new 393 public functions 394 395 * icqlib/list.c: fixed serious bug in list_remove 396 397 * icqlib/tcp.c: renamed icq_TCPAcceptFileReq to 398 icq_AcceptFileRequest, moved file request functions to new 399 file session code 400 401 * icqlib/tcpfilehandle.c: added code so icq_FileSessions now 402 keep track of the tcplink to which they are attached 403 404 * icqlib/tcplink.h: removed list_node from icq_TCPLink 405 4062000-01-15 Bill Soudan <soudan@kde.org> 407 408 Reworked list routines so list_node's don't need to be 409 inside item structures. Note this made the strlist code 410 unnecessary - strlist code was replaced with generic list 411 commands. 412 413 * icqlib/Makefile.am: strlist.c, strlist.h removed 414 415 * chatsession.c, chatsession.h, contacts.c, contacts.h, 416 filesession.c, filesession.h, icqlib.c, icqpacket.c, icqpacket.h, 417 list.c, list.h, queue.c, queue.h, tcp.c, tcplink.c, tcplink.h, 418 udphandle.c: reworked list code, removed strlist code 419 420 * strlist.c, strlist.h: removed 421 4221999-12-27 Bill Soudan <soudan@kde.org> 423 424 * icqlib/icq.h.in: added proto for icq_TCPFileSetSpeed 425 426 * icqlib/icqlib.c: cleanups 427 428 * icqlib/tcp.c: fixed bug in icq_TCPAcceptFileReq, added 429 icq_TCPFileSetSpeed 430 431 * icqlib/tcplink.c: fixed bug in icq_TCPOnDataReceived, 432 removed flags variable ;) 433 4341999-12-27 Denis V. Dmitrienko <denis@null.net> 435 436 * icqlib/udphandle.c, icqlib/udp.h, icqlib/udp.c, icqlib/icq.h.in: 437 icq_UpdateMetaInfoSecurity() added for setting "My authorization is 438 required", "Web Aware" and "IP Publishing". 439 440 * icqlib/tcplink.c: Unused "flags" variable commented out. 441 4421999-12-20 Bill Soudan <soudan@kde.org> 443 444 Worked more on file transfer. icqlib will now write received 445 files to disk, and handles all transfer details accordingly 446 after icq_TCPAcceptFileReq is called. Note currently 447 files are always saved in current directory. Receiving a 448 single file is working 100% as best I can tell - receiving 449 multiple files hasn't been tested well but should work. 450 451 Also reworked icq_TCPLinkOnDataRecevied to handle quick, large 452 streams of data (processing 1 packet every main loop call 453 just didn't cut it :), and at the same time fixed a bug where 454 received packets would not get processed if the remote end 455 closed the connection immediately after sending one. This had 456 the result that the tcp sockets stay in non-blocking mode 457 for their entire life, instead of just during connect 458 as before. 459 460 Resume is currently off-by-one I think. Don't rely on it. 461 462 * icqlib/filesession.[ch]: added file open/close logic, changed 463 icq_FileSession struct a bit 464 465 * icqlib/icq.h.in: removed unnecessary icq_TCPSendFile??Packet 466 functions, user programs do not use these 467 468 * icqlib/tcp.[ch]: moved _process_packet logic into tcplink:: 469 icq_TCPLinkProcessReceived, removed unnecessary 470 icq_TCPSendFile??Packet functions 471 472 * icqlib/tcpfilehandle.c: added more file transfer logic to 473 write file to disk 474 475 * icqlib/tcplink.c: added icq_TCPLinkProcessReceived to 476 support processing receive queue before delete (packets used 477 to get dropped in this instance, oops), reworked 478 icq_TCPLinkOnDataReceived to handle quick, large streams 479 of data, changed icq_TCPLinkOnConnect and *Accept to 480 make all sockets non-blocking. 481 4821999-12-13 Bill Soudan <soudan@kde.org> 483 484 Implemeted SF task #10224, use real_ip when our IP and remote 485 IP are same, and task #10203, connect timeout for tcp requests. 486 487 Fixed bug #100312, double freeing of list item. 488 489 NOTE: masq hack in udphandle.c::icq_HandleUserOnline is now gone! 490 Updated connect logic _should_ automatically do that for us now. 491 492 * icqlib/contacts.h: added remote_real_ip member to icq_ContactItem 493 struct 494 495 * icqlib/tcp.c: fixed double delete bug in _handle_ready_sockets, 496 added code to implement connect timeout 497 498 * icqlib/tcplink.c: icq_TCPLinkConnect now uses real_ip when 499 our IP is same as remote IP to make connection, added 500 code to implement connect timeout 501 502 * icqlib/tcplink.h: added TCP_LINK_CONNECT_TIMEOUT constant, 503 added connect_time to icq_TCPLink struct 504 505 * icqlib/udphandle.c: removed old real_ip->ip masq hack, 506 added store to remote_real_ip in icq_ContactItem 507 5081999-12-12 Denis V. Dmitrienko <denis@null.net> 509 510 * icqlib/udphandle.c: Authorization Request packet handling fixed. 511 512 * Makefile.am: DEVEL file included 513 5141999-12-02 Bill Soudan <soudan@kde.org> 515 516 commited missing filesession.c and filesession.h files. Sorry 517 'bout that :) 518 5191999-11-30 Bill Soudan <soudan@kde.org> 520 521 More file xfer support added. icqlib tcp will now 'go through the 522 motions' for receiving a file. file data is not written to 523 disk, yet. 524 525 * icqlib/Makefile.am: added filesession.[ch] 526 527 * icqlib/icq.h.in: new notify constant (ICQ_NOTIFY_FILE), 528 new icq_FileSessions member in icqlink struct, new AcceptFileReq 529 prototype 530 531 * icqlib/icqpacket.h: ICQ_PACKET_DATA_SIZE increased to 4096 532 to support file transfer packets 533 534 * icqlib/tcp.c: added file session logic 535 536 * icqlib/tcpfilehandle.c: added icq_HandleFileHello 537 538 * icqlib/tcphandle.c: more file xfer logic added 539 540 * icqlib/tcplink.c, tcplink.h: buffer overflow check added, 541 tcplinks will now close if buffer overflows. increased 542 icq_TCPLinkBufferSize to 4096 to support file transfer packets 543 5441999-11-29 Denis V. Dmitrienko <denis@null.net> 545 546 * icqlib/udphandle.c: icq_DoMsg() redone using string lists. 547 548 * icqlib/strlist.c, icqlib/strlist.h: 549 General interface for string lists added. 550 551 * icqlib/tcplink.c: Absence of socklen_t type fixed. 552 553 * icqlib/icq.h.in, icqlib/callbacks.c: 554 icq_RecvMailExpress callback added. 555 556 * icqlib/Makefile.am: strlist.[ch] added. 557 5581999-10-14 Denis V. Dmitrienko <denis@null.net> 559 560 * icq.h.in, udp.c: icq_UpdateMetaInfo* functions added. 561 5621999-10-07 Denis V. Dmitrienko <denis@null.net> 563 564 * icq.h.in, tcp.h: Internal/external functions declarations 565 unified a little. 566 567 * kicq/Makefile.am, proxy.c, udp.c: proxy.h file removed. 568 5691999-10-06 Denis V. Dmitrienko <denis@null.net> 570 571 * DEVEL: Added the "developers' hint guide". Please read it 572 carefully. 573 5741999-09-29 Bill Soudan <soudan@kde.org> 575 576 Check out my spiffy new email address! :) 577 578 Renamed all tcp_link* functions to icq_TCPLink*. 579 580 Forgot to note: fixed memory leak in tcp.c (tcp packets were not 581 being deleted after use... oops :) 582 583 * chatsession.c, tcpchathandle.c, tcpfilehandle.c, tcphandle.c, 584 chatsession.h: reworked chat/file handling. fixed chat. (it's 585 been broke since I put non-blocking connects in) 586 587 * Makefile.am: added new files 588 589 * icq.h.in: changed some notification values, added support for 590 chat sessions to icqlink 591 592 * icqlib.h, udp.h: moved a bunch of udp-only defines to udp.h 593 594 * icqpacket.c, list.c: cleanups 595 596 * tcp.c: cleanups, moved connect logic from _handle_ready_sockets 597 to icq_TCPLinkOnConnect, tcp_link->icq_TCPLink 598 599 * tcplink.c, tcplink.h: renamed tcp_link* to icq_TCPLink*. many 600 cleanups, added icq_TCPLinkOnConnect 601 602 * stdpackets.c, stdpackets.h, tcp.h: tcp_link*->icq_TCPLink* 603 604 * udp.c: tcp port wasn't being sent properly in login packet 605 6061999-09-29 Denis V. Dmitrienko <denis@null.net> 607 608 Show must go on! Hopefully fixed CVS problems. 609 610 * icqlib.c: Host/network/icq byteorder systemized. 611 icq_Init() cleaned up. 612 613 * acconfig.h, configure.in, icqlib.m4.in, 614 icqlib/icqbyteorder.[ch]: More optimized byteswap stuff. 615 616 * icqlib.h: LOGIN_*_TCP defines added. 617 618 * icqpacket.[ch]: icq_PacketAppend16n() added for network-ordered 619 word appending. 620 621 * queue.[ch]: ICQLINK compatibility added. 622 623 * stdpackets.c: Host/network byteorder cleanups. 624 625 * tcplink.c: TCP code SOCKS-ification. Not finished. 626 627 * udp.c: Webaware functions enabled without success even with 628 UDP v5 - need more investigations. 629 630 * udphandle.c: MailExpress message handler started. 631 6321999-07-18 Bill Soudan <wes0472@rit.edu> 633 634 fixed tcp problems, changed icq_ContactItem structure to use 635 list.c and moved to contacts.c, removed old byte swap macros 636 in favor of new functions in icqbyteorder.c, and added better 637 log messages 638 639 * Makefile.am: added contacts.c, contacts.h 640 641 * contacts.c, contacts.h: added 642 643 * icq.h.in: moved icq_ContactItem struct to contacts.h, 644 removed old *Sok members, renamed icq_Cont* functions 645 646 * icqlib.c, icqlib.h: changed to use new byte-order functions & 647 contact list functions 648 649 * icqpacket.c: changed to use new byte-order functions 650 651 * tcp.c: added better log messages 652 653 * tcplink.c: fixed fail notification bug introduced during ICQLINK 654 changes, changed to use new byte-order functions & contact list 655 functions, added better log messages 656 657 * udp.c: changed to use new byte-order functions & 658 contact list functions 659 660 * udphandle.c: fixed tcp port bug in icq_HandleUserOnline, changed 661 to use new byte-order & contact list functions 662 663 * util.c, util.h: removed old byte order and contact list 664 functions 665 6661999-07-16 Denis V. Dmitrienko <denis@null.net> 667 668 Version changed to 0.2.0 669 670 * udp.c, udp.h, udphandle.c: ICQ UDP v5 implemented. 671 Encription for ICQ UDP v5 implemented. 672 icq_Packet* unified interface for UDP packets implemented. 673 Multipacket support of ICQ UDP v5 added. 674 675 * util.[ch]: Status support changed to support early unsupported 676 combined (ORed) statuses. 677 678 * Makefile.am, icqlib/Makefile.am: Remove automatically generated 679 files by "make maintainer-clean" 680 6811999-07-02 Vadim Zaliva <lord@crocodile.org> 682 683 * icqlib/udphandle.c (icq_HandleUserOnline): using icqtohl macros 684 to convert parameters of callback (IP addresses, port #) to host 685 order. 686 687 * icqlib/icqbyteorder.h: added (per Bill suggestion) defenitions 688 of icqtohs, icqtons, ntociqs, htociqs macros. 689 690 * icqlib/tcppacket.c: some system header files included to avoid 691 compilation warnings. 692 693 * icqlib/tcplink.c: some system header files included to avoid 694 compilation warnings. 695 696 * icqlib/tcp.h: icq_TCPProcessFilePacket prototype added to avoid 697 compilation warnings. 698 699 * icqlib/tcp.c: add includes to avoid compilation warning for 700 getsockopt() and some other functions. 701 702 * configure.in: add detection of headers used on Solaris, Linux, 703 FreeBSD to detect edianness. 704 705 * icqlib/icqbyteorder.h: defenition of icqtohl, icqtonl, ntociql, 706 htociql macros. 707 7081999-07-02 Bill Soudan <wes0472@rit.edu> 709 710 icq_SendMessage and icq_SendURL now accept a 3 choice thruSrv arg: 711 ICQ_SEND_THRUSERVER, ICQ_SEND_DIRECT, or ICQ_SEND_BESTWAY. 712 added support to icq_ContactItem structure and udphandle.c. 713 714 * icq.h: added new ICQ_SEND_* constants 715 716 * icqlib.c: added new code to support thruSrv arg to SendMessage 717 and SendURL 718 719 * util.h: added tcp_flag member to icq_ContactItem struct 720 721 * udphandle.c: added code to HandleUserOnline to update tcp_flag 722 7231999-06-30 Bill Soudan <wes0472@rit.edu> 724 725 implemented non-blocking connects, including checking for failed 726 connects. failed sends/other networking calls still to do. 727 728 * icq.h: renamed ICQ_NOTIFY_CONNECTFAILED to ICQ_NOTIFY_FAILED 729 730 * list.h, list.c: changed list_traverse to use va_list 731 732 * tcpprocess.c: cleanups 733 734 * tcp.c, tcplink.c, tcplink.h: implemented non-blocking connects 735c 7361999-05-03 Bill Soudan <wes0472@rit.edu> 737 738 * tcplink.c: removed exit calls 739 740 * callbacks.c, icq.h, tcp.c, tcp.h, tcppackets.c, tcppackets.h, 741 tcpprocess.c: initial file xfer support added- untested 742 7431999-04-29 Denis V. Dmitrienko <denis@null.net> 744 745 * icqlib.h, udp.c, udp.h, udphandle.c: Unsuccessful attempt to 746 implement web presence (webaware) feature - doesn't seems to work 747 in ICQ v2. 748 749 * list.c, tcp.c, tcplink.c, tcpprocess.c: Cleanups, warning 750 removed 751 752 * Makefile.in, acinclude.m4, aclocal.m4, config.h.in, configure, 753 stamp-h.in, icqlib/Makefile.in: Removed automake/autoconf 754 generated tools from CVS - "make -f Makefile.cvs" to generate them 755 after checkout. 756 7571999-04-17 Bill Soudan <wes0472@rit.edu> 758 759 reworked tcp system significantly- tcp links are now kept as a 760 seperate list instead of in icq_ContactItem. chat requests can now be 761 both sent and received successfully. 762 763 * util.c, util.h, udphandle.c: removed *_link entries from 764 icq_ContactItem, including cleaup/init code 765 766 * icqlib.c, icq.h: modified Send* functions to return DWORD 767 instead of WORD 768 769 * tcp.c: _major_ restructuring. all tcp sockets (including 770 listening sockets) are kept in global linked list, icq_TCPLinks. 771 accept and listen functions moved to tcplink.c. changed return 772 values of Send* functions to DWORD. 773 774 * tcp.h: changed return values of Send* functions to DWORD. 775 776 * tcplink.c, tcplink.h: fixed bug in tcp_link_on_data_received, 777 multiple packets that come in on one recv call are now handled 778 correctly. added tcp_link_accept and tcp_link_listen. started 779 using mode and type structure entries. added icq_TCPLinks list 780 and find_tcp_link function. changed received_queue and send_queue 781 to lists. 782 783 * tcppacket.c, tcppacket.h: added tcp_packet_node_delete function 784 and changed structure to include list_node for new list routines. 785 786 * tcppackets.c, tcppackets.h: added new functions to create 787 chat packets. removed unnecessary code. added new function to 788 create URL ack packet. 789 790 * tcpprocess.c: reworked code to use tcp_links instead of 791 icq_ContactItem entries. modified ProcessChatPacket to negotiate 792 both sending and receiving chat requests properly. 793 794 * list.c, list.h: new list functions- replaces packetqueue 795 and handles new list of tcp_links 796 797 * packetqueue.c, packetqueue.h: removed, list.c now used for 798 queues 799 800 * Makefile.am: removed packetqueue.c, added list.c 801 8021999-04-14 Denis V. Dmitrienko <denis@null.net> 803 804 * tcpprocess.c: icq_ContactItem parameter added to function 805 icq_TCPOnMessageReceived(). Segfault fixed on spoofed messages. 806 807 * icqlib.c, proxy.c, packetqueue.c, icqlib.h, tcp.c, tcp.h, 808 tcplink.c, udp.c, udp.h, udphandle.c, util.c, util.h, tcppacket.c, 809 tcppackets.c, tcpprocess.c, tcppackets.h: Cleanups for "strict" 810 compiling (-ansi -pedantic) 811 812 * icqlib.c, proxy.c, udp.c, udphandle.c, cyrillic.c: Switched from 813 icq_Log callback to icq_FmtLog function. 814 815 * tcp.h: Some declarations added 816 817 * tcp.c: Parameter port added to icq_TCPCreateListeningSocket() 818 function. 819 820 * icq.h: Added icq_FmtLog() 821 822 * configure: Added AC_CHECK_COMPILERS to allow --enable-debug and 823 --enable-strict configure options. 824 8251999-04-05 Bill Soudan <wes0472@rit.edu> 826 827 icqlib will now create and listen on the chat socket when 828 necessary, and will perform negotiation for _receiving_ remote 829 chat requests only. 830 831 * callbacks.c icq.h tcp.c tcp.h tcplink.c tcplink.h tcppacket.c 832 tcppackets.c tcppackets.h tcpprocess.c udphandle.c util.c 833 util.h: added initial chat support 834 8351999-04-05 Denis V. Dmitrienko <denis@null.net> 836 837 * icqlib.c: Send messages and URLs to 'not in list' users fixed. 838 8391999-03-30 Bill Soudan <wes0472@rit.edu> 840 841 tcp messages and urls completely functional! 842 unsuccessful connects not handled yet, however, plus connect 843 is currently blocking (yuck) 844 845 * util.c: cleaned up old TCPLog function 846 * udphandle.c: added tcpflag handling to UserOnline 847 * icq.h: added icq_TCPSendURL and modified icq_UserOnline to 848 handle tcpflag 849 * icqlib.c: added tcp support to SendURL 850 * icqlib.h: modified LOGIN_X2_DEF to 0x04 instead of 0x06- we're 851 ready to accept tcp packets now! removed duplicate LOGIN_X* 852 definitions 853 * packetqueue.c tcp.c tcp.h tcplink.c tcppacket.c tcppackets.c 854 tcppackets.h tcpprocess.c: wrapped up many tcp details- code 855 now handles incoming and outgoing tcp messages and urls! 856 8571999-03-30 Vadim Zaliva <lorda@crocodile.org> 858 859 * icqlib/util.c (icq_GetCountryName): function prototype now takes 860 'unsigned short' as country code. 861 Country codes list now prorerly sorted, thus no need to sort it 862 using qsort. 863 8641999-03-29 Vadim Zaliva <lord@crocodile.org> 865 866 * icqlib/util.c (icq_ConvertStatus2Str): this function now accepts 867 ulong as sttatus argument, since we use unsigned long for status 868 everywhere. 869 (icq_TCPXlateStatus): This function now use unsigned long as 870 'udp_status' parameter type. 871 (icq_GetCountryName): Optimized country code search. 872 (icq_TCPXlateStatus): cleanup. 873 874 * icqlib/icq.h: Change state constants to long. 875 8761999-03-27 Bill Soudan <wes0472@rit.edu> 877 878 preliminary tcp support added and functional! 879 tcp messages will send to and from remote client when kicq 880 initiates the connection- remote clients will not try a tcp 881 connection to kicq yet 882 883 * icq.h: added extern TCP function prototypes 884 * icqlib.c: added TCP support to icq_SendMessage 885 * packetqueue.c: cleaned up, fixed bugs, finished packet_queue_dump 886 * tcp.c: added icq_TCPSendMessage and socket close/process logic 887 * tcplink.c: fixed tcp_link_connect so it really connects to 888 remote client instead of always to my local test computer O:) 889 * tcppacket.c: added code to handle null string in 890 tcp_packet_append_string 891 * tcppackets.c,h: CreateStdPacket actually puts IP and port info 892 in now, added CreateStdAck and CreateMessageAck 893 * udphandle.c: fixed bug in HandleUserOnline (remote_ip and 894 remote_real_ip were not evaluating correctly), added hack 895 so I can test using local network, fixed function names 896 so icqlib compiles 897 * tcpprocess.c: added code to handle received messages, 898 finished process ack function 899 * util.c: removed static from Country_Codes so regwin.cpp 900 from kicq can use it 901 9021999-03-26 Bill Soudan <wes0472@rit.edu> 903 904 * tcp.c, tcp.h: finished select logic 905 * tcplink.c: fixed C++ comments, cleaned up 906 * tcpprocess.c: added icq_TCPProcessHello 907 * packetqueue.c: moved packet_queue_find_queue from tcp.c 908 * util.c: rewrote icq_TCPLog 909 9101999-03-25 Bill Soudan <wes0472@rit.edu> 911 912 * tcplink.c, tcplink.h: added 913 * Makefile.am: added tcplink.c 914 * icqlib.c: added #include "util.h" 915 * tcp.c, tcp.h: moved many functions into tcplink.c 916 * tcpprocess.c: changed types to standard 917 * udphandle.c: modified HandleUserOnline & Offline for new message_link 918 * util.c: ContItem functions modified for message_link 919 * util.h: message_link added to ContactItem struct, moved types to 920 seperate file 921 * icqtypes.h: added 922 * tcppacket.h: cleaned up 923 9241999-03-24 Denis V. Dmitrienko <denis@null.net> 925 926 * Makefile.am, Makefile.in, callbacks.c, cyrillic.c, icq.h, 927 icqlib.c, icqlib.h, packetqueue.c, packetqueue.h, proxy.c, 928 proxy.h, tcp.c, tcp.h, tcppacket.c, tcppacket.h, tcppackets.c, 929 tcppackets.h, tcpprocess.c, udp.c, udp.h, udphandle.c, util.c, 930 util.h: 931 Underscored files with TCP stuff renamed. 932 TCP stuff cleaned up 933 Function names changed to corresponding names. 934 icqlib.c splitted to many small files by subject. 935 C++ comments changed to ANSI C comments. 936 937 * Makefile.cvs, Makefile.in, acconfig.h, acinclude.m4, 938 acinclude.m4.in, aclocal.m4, config.guess, config.h.in, 939 config.sub, configure, configure.in, install-sh, libtool.m4.in, 940 ltconfig, ltmain.sh, mkinstalldirs, stamp-h.in: Updated 941 autoconf/automake/libtool configuration tools 942 9431999-03-22 Bill Soudan <wes0472@rit.edu> 944 945 * Makefile.am: added new files 946 947 * icqlib.h, icqlib.c: added additional struct entries in 948 icq_ContactItem for tcp code, added code in 949 icq_HandleUserOnline and icq_HandleUserOffline for setup/cleanup 950 951 * added many files for tcp implementation: 952 icq_tcp.c icq_tcp.h icq_tcp_packets.c icq_tcp_packets.h 953 icq_tcp_process.c packet_queue.c packet_queue.h 954 tcp_packet.c tcp_packet.h util.c 955 9561999-03-05 Denis V. Dmitrienko <denis@null.net> 957 958 * icqlib.h, icqlib.c, icq.h: Some cosmetic changes... 959 960Version 0.1.3 (08 Dec 1998) 961 SOCKS5 proxy support. 962 icq_RecvMessage now returns sending message time not receiving. 963 Visible list support changed. 964 Handle icq99a statuses. 965 966Version 0.1.2 (05 Oct 1998) 967 Search by UIN added. 968 SunOS port (Thanks to Joe Avila <joe@avilate.com>). 969 970Version 0.1.1 (21 Sep 1998) 971 Renamed from libicq to icqlib - there is another libicq on the net. 972 Little changes to allow UI call select() itself. 973 974Version 0.1.0 (18 Sep 1998) 975 Initial public version. 976