1999-12-12  Denis V. Dmitrienko  <denis@null.net>

	* icqlib/udphandle.c: Authorization Request packet handling fixed.

	* Makefile.am: DEVEL file included

1999-12-02  Bill Soudan  <soudan@kde.org>

	commited missing filesession.c and filesession.h files.  Sorry
	'bout that :)

1999-11-30  Bill Soudan  <soudan@kde.org>

	More file xfer support added.  icqlib tcp will now 'go through the
	motions' for receiving a file.  file data is not written to 
	disk, yet.
	
	* icqlib/Makefile.am: added filesession.[ch]

	* icqlib/icq.h.in: new notify constant (ICQ_NOTIFY_FILE),
	new icq_FileSessions member in icqlink struct, new AcceptFileReq
	prototype

	* icqlib/icqpacket.h: ICQ_PACKET_DATA_SIZE increased to 4096
	to support file transfer packets

	* icqlib/tcp.c: added file session logic

	* icqlib/tcpfilehandle.c: added icq_HandleFileHello

	* icqlib/tcphandle.c: more file xfer logic added

	* icqlib/tcplink.c, tcplink.h: buffer overflow check added,
	tcplinks will now close if buffer overflows.  increased
	icq_TCPLinkBufferSize to 4096 to support file transfer packets

1999-11-29  Denis V. Dmitrienko  <denis@null.net>

	* icqlib/udphandle.c: icq_DoMsg() redone using string lists.

	* icqlib/strlist.c, icqlib/strlist.h:
	General interface for string lists added.

	* icqlib/tcplink.c: Absence of socklen_t type fixed.

	* icqlib/icq.h.in, icqlib/callbacks.c:
	icq_RecvMailExpress callback added.

	* icqlib/Makefile.am: strlist.[ch] added.

1999-10-14  Denis V. Dmitrienko  <denis@null.net>

	* icq.h.in, udp.c: icq_UpdateMetaInfo* functions added.

1999-10-07  Denis V. Dmitrienko  <denis@null.net>

	* icq.h.in, tcp.h: Internal/external functions declarations
	unified a little.

	* kicq/Makefile.am, proxy.c, udp.c: proxy.h file removed.

1999-10-06  Denis V. Dmitrienko  <denis@null.net>

	* DEVEL: Added the "developers' hint guide". Please read it
	carefully.

1999-09-29  Bill Soudan  <soudan@kde.org>

        Check out my spiffy new email address! :)

        Renamed all tcp_link* functions to icq_TCPLink*.

        Forgot to note: fixed memory leak in tcp.c (tcp packets were not
        being deleted after use... oops :)

	* chatsession.c, tcpchathandle.c, tcpfilehandle.c, tcphandle.c,
        chatsession.h: reworked chat/file handling.  fixed chat. (it's
        been broke since I put non-blocking connects in)

        * Makefile.am: added new files

        * icq.h.in: changed some notification values, added support for
        chat sessions to icqlink

        * icqlib.h, udp.h: moved a bunch of udp-only defines to udp.h

	* icqpacket.c, list.c: cleanups

        * tcp.c: cleanups, moved connect logic from _handle_ready_sockets
        to icq_TCPLinkOnConnect, tcp_link->icq_TCPLink

        * tcplink.c, tcplink.h: renamed tcp_link* to icq_TCPLink*.  many
        cleanups, added icq_TCPLinkOnConnect

        * stdpackets.c, stdpackets.h, tcp.h: tcp_link*->icq_TCPLink*

	* udp.c: tcp port wasn't being sent properly in login packet

1999-09-29  Denis V. Dmitrienko  <denis@null.net>

	Show must go on! Hopefully fixed CVS problems.

	* icqlib.c: Host/network/icq byteorder systemized.
	icq_Init() cleaned up.

	* acconfig.h, configure.in, icqlib.m4.in,
	icqlib/icqbyteorder.[ch]: More optimized byteswap stuff.

	* icqlib.h: LOGIN_*_TCP defines added.

	* icqpacket.[ch]: icq_PacketAppend16n() added for network-ordered
	word appending.

	* queue.[ch]: ICQLINK compatibility added.

	* stdpackets.c: Host/network byteorder cleanups.

	* tcplink.c: TCP code SOCKS-ification. Not finished.

	* udp.c: Webaware functions enabled without success even with
	UDP v5 - need more investigations.

	* udphandle.c: MailExpress message handler started.

1999-07-18  Bill Soudan          <wes0472@rit.edu>

	fixed tcp problems, changed icq_ContactItem structure to use
	list.c and moved to contacts.c, removed old byte swap macros
        in favor of new functions in icqbyteorder.c, and added better
        log messages

	* Makefile.am: added contacts.c, contacts.h

	* contacts.c, contacts.h: added

	* icq.h.in: moved icq_ContactItem struct to contacts.h,
        removed old *Sok members, renamed icq_Cont* functions

	* icqlib.c, icqlib.h: changed to use new byte-order functions &
	contact list functions

	* icqpacket.c: changed to use new byte-order functions

	* tcp.c: added better log messages

	* tcplink.c: fixed fail notification bug introduced during ICQLINK
        changes, changed to use new byte-order functions & contact list
        functions, added better log messages 

	* udp.c: changed to use new byte-order functions &
        contact list functions

	* udphandle.c: fixed tcp port bug in icq_HandleUserOnline, changed
        to use new byte-order & contact list functions

	* util.c, util.h: removed old byte order and contact list
        functions

1999-07-16  Denis V. Dmitrienko  <denis@null.net>

	Version changed to 0.2.0

	* udp.c, udp.h, udphandle.c: ICQ UDP v5 implemented.
 	Encription for ICQ UDP v5 implemented.
 	icq_Packet* unified interface for UDP packets implemented.
	Multipacket support of ICQ UDP v5 added.

	* util.[ch]: Status support changed to support early unsupported
	combined (ORed) statuses.

	* Makefile.am, icqlib/Makefile.am: Remove automatically generated
	files by "make maintainer-clean"

1999-07-02  Vadim Zaliva  <lord@crocodile.org>

	* icqlib/udphandle.c (icq_HandleUserOnline): using icqtohl macros to convert parameters of callback (IP addresses, port #) to host order.

	* icqlib/icqbyteorder.h: added (per Bill suggestion) defenitions of icqtohs, icqtons, ntociqs, htociqs macros.

	* icqlib/tcppacket.c: some system header files included to avoid compilation warnings.

	* icqlib/tcplink.c: some system header files included to avoid compilation warnings.

	* icqlib/tcp.h: icq_TCPProcessFilePacket prototype added to avoid compilation warnings.

	* icqlib/tcp.c: add includes to avoid compilation warning for getsockopt() and some other functions.

	* configure.in: add detection of headers used on Solaris, Linux, FreeBSD to detect edianness.

	* icqlib/icqbyteorder.h: defenition of icqtohl, icqtonl, ntociql, htociql macros.

1999-07-02  Bill Soudan          <wes0472@rit.edu>

	icq_SendMessage and icq_SendURL now accept a 3 choice thruSrv arg:
        ICQ_SEND_THRUSERVER, ICQ_SEND_DIRECT, or ICQ_SEND_BESTWAY.
        added support to icq_ContactItem structure and udphandle.c.

	* icq.h: added new ICQ_SEND_* constants

	* icqlib.c: added new code to support thruSrv arg to SendMessage
	and SendURL

	* util.h: added tcp_flag member to icq_ContactItem struct

	* udphandle.c: added code to HandleUserOnline to update tcp_flag

1999-06-30  Bill Soudan          <wes0472@rit.edu>

	implemented non-blocking connects, including checking for failed
        connects.  failed sends/other networking calls still to do.

	* icq.h: renamed ICQ_NOTIFY_CONNECTFAILED to ICQ_NOTIFY_FAILED

        * list.h, list.c: changed list_traverse to use va_list

	* tcpprocess.c: cleanups

	* tcp.c, tcplink.c, tcplink.h: implemented non-blocking connects
c
1999-05-03  Bill Soudan          <wes0472@rit.edu>

	* tcplink.c: removed exit calls

        * callbacks.c, icq.h, tcp.c, tcp.h, tcppackets.c, tcppackets.h,
        tcpprocess.c: initial file xfer support added- untested

1999-04-29  Denis V. Dmitrienko  <denis@null.net>

	* icqlib.h, udp.c, udp.h, udphandle.c: Unsuccessful attempt to
	implement web presence (webaware) feature - doesn't seems to work
	in ICQ v2.

	* list.c, tcp.c, tcplink.c, tcpprocess.c: Cleanups, warning
	removed

	* Makefile.in, acinclude.m4, aclocal.m4, config.h.in, configure,
	stamp-h.in, icqlib/Makefile.in: Removed automake/autoconf
	generated tools from CVS - "make -f Makefile.cvs" to generate them 
	after checkout.

1999-04-17  Bill Soudan          <wes0472@rit.edu>

	reworked tcp system significantly- tcp links are now kept as a
        seperate list instead of in icq_ContactItem.  chat requests can now be
        both sent and received successfully.

	* util.c, util.h, udphandle.c: removed *_link entries from
        icq_ContactItem, including cleaup/init code

	* icqlib.c, icq.h: modified Send* functions to return DWORD
        instead of WORD

	* tcp.c: _major_ restructuring.  all tcp sockets (including 
        listening sockets) are kept in global linked list, icq_TCPLinks.
        accept and listen functions moved to tcplink.c.  changed return
        values of Send* functions to DWORD.

	* tcp.h: changed return values of Send* functions to DWORD.

	* tcplink.c, tcplink.h: fixed bug in tcp_link_on_data_received,
        multiple packets that come in on one recv call are now handled
        correctly.  added tcp_link_accept and tcp_link_listen.  started
        using mode and type structure entries.  added icq_TCPLinks list
        and find_tcp_link function.  changed received_queue and send_queue
        to lists.

	* tcppacket.c, tcppacket.h: added tcp_packet_node_delete function
        and changed structure to include list_node for new list routines.

	* tcppackets.c, tcppackets.h: added new functions to create
        chat packets. removed unnecessary code.  added new function to
        create URL ack packet.

	* tcpprocess.c: reworked code to use tcp_links instead of
        icq_ContactItem entries.  modified ProcessChatPacket to negotiate
        both sending and receiving chat requests properly.

	* list.c, list.h: new list functions- replaces packetqueue
        and handles new list of tcp_links

	* packetqueue.c, packetqueue.h: removed, list.c now used for
	queues

	* Makefile.am: removed packetqueue.c, added list.c

1999-04-14  Denis V. Dmitrienko  <denis@null.net>

	* tcpprocess.c: icq_ContactItem parameter added to function
	icq_TCPOnMessageReceived(). Segfault fixed on spoofed messages.

	* icqlib.c, proxy.c, packetqueue.c, icqlib.h, tcp.c, tcp.h,
	tcplink.c, udp.c, udp.h, udphandle.c, util.c, util.h, tcppacket.c,
	tcppackets.c, tcpprocess.c, tcppackets.h: Cleanups for "strict"
	compiling (-ansi -pedantic)

	* icqlib.c, proxy.c, udp.c, udphandle.c, cyrillic.c: Switched from
	icq_Log callback to icq_FmtLog function.

	* tcp.h: Some declarations added

	* tcp.c: Parameter port added to icq_TCPCreateListeningSocket()
	function.

	* icq.h: Added icq_FmtLog()

	* configure: Added AC_CHECK_COMPILERS to allow --enable-debug and
	--enable-strict configure options.

1999-04-05  Bill Soudan          <wes0472@rit.edu>

        icqlib will now create and listen on the chat socket when
        necessary, and will perform negotiation for _receiving_ remote
        chat requests only.          

	* callbacks.c icq.h tcp.c tcp.h tcplink.c tcplink.h tcppacket.c       
        tcppackets.c tcppackets.h tcpprocess.c udphandle.c util.c
        util.h: added initial chat support

1999-04-05  Denis V. Dmitrienko  <denis@null.net>

	* icqlib.c: Send messages and URLs to 'not in list' users fixed.

1999-03-30  Bill Soudan           <wes0472@rit.edu>

        tcp messages and urls completely functional!
        unsuccessful connects not handled yet, however, plus connect
        is currently blocking (yuck)

	* util.c: cleaned up old TCPLog function
	* udphandle.c: added tcpflag handling to UserOnline
	* icq.h: added icq_TCPSendURL and modified icq_UserOnline to
          handle tcpflag
	* icqlib.c: added tcp support to SendURL
	* icqlib.h: modified LOGIN_X2_DEF to 0x04 instead of 0x06- we're
          ready to accept tcp packets now!  removed duplicate LOGIN_X*
          definitions
	* packetqueue.c tcp.c tcp.h tcplink.c tcppacket.c tcppackets.c
	  tcppackets.h tcpprocess.c: wrapped up many tcp details-  code
	  now handles incoming and outgoing tcp messages and urls!

1999-03-30  Vadim Zaliva  <lorda@crocodile.org>

	* icqlib/util.c (icq_GetCountryName): function prototype now takes 'unsigned short' as country code.
	Country codes list now prorerly sorted, thus no need to sort it using qsort.

1999-03-29  Vadim Zaliva  <lord@crocodile.org>

	* icqlib/util.c (icq_ConvertStatus2Str): this function now accepts ulong as sttatus argument, since we use unsigned long for status everywhere.
	(icq_TCPXlateStatus): This function now use unsigned long as 'udp_status' parameter type.
	(icq_GetCountryName): Optimized country code search.
	(icq_TCPXlateStatus): cleanup.

	* icqlib/icq.h: Change state constants to long.

1999-03-27  Bill Soudan          <wes0472@rit.edu>

        preliminary tcp support added and functional!
        tcp messages will send to and from remote client when kicq
        initiates the connection- remote clients will not try a tcp
        connection to kicq yet

	* icq.h: added extern TCP function prototypes
        * icqlib.c: added TCP support to icq_SendMessage
	* packetqueue.c: cleaned up, fixed bugs, finished packet_queue_dump
	* tcp.c: added icq_TCPSendMessage and socket close/process logic
	* tcplink.c: fixed tcp_link_connect so it really connects to
          remote client instead of always to my local test computer O:)
	* tcppacket.c: added code to handle null string in 
          tcp_packet_append_string
	* tcppackets.c,h: CreateStdPacket actually puts IP and port info
	  in now, added CreateStdAck and CreateMessageAck
	* udphandle.c: fixed bug in HandleUserOnline (remote_ip and
          remote_real_ip were not evaluating correctly), added hack
          so I can test using local network, fixed function names
          so icqlib compiles
	* tcpprocess.c: added code to handle received messages,
          finished process ack function
	* util.c: removed static from Country_Codes so regwin.cpp
          from kicq can use it

1999-03-26  Bill Soudan          <wes0472@rit.edu>

	* tcp.c, tcp.h: finished select logic
	* tcplink.c: fixed C++ comments, cleaned up
	* tcpprocess.c: added icq_TCPProcessHello
	* packetqueue.c: moved packet_queue_find_queue from tcp.c
	* util.c: rewrote icq_TCPLog

1999-03-25  Bill Soudan          <wes0472@rit.edu>

	* tcplink.c, tcplink.h: added
	* Makefile.am: added tcplink.c
	* icqlib.c: added #include "util.h"
	* tcp.c, tcp.h: moved many functions into tcplink.c
	* tcpprocess.c: changed types to standard
	* udphandle.c: modified HandleUserOnline & Offline for new message_link
	* util.c: ContItem functions modified for message_link
	* util.h: message_link added to ContactItem struct, moved types to
          seperate file
	* icqtypes.h: added
	* tcppacket.h: cleaned up

1999-03-24  Denis V. Dmitrienko  <denis@null.net>

	* Makefile.am, Makefile.in, callbacks.c, cyrillic.c, icq.h,
	icqlib.c, icqlib.h, packetqueue.c, packetqueue.h, proxy.c,
	proxy.h, tcp.c, tcp.h, tcppacket.c, tcppacket.h, tcppackets.c,
	tcppackets.h, tcpprocess.c, udp.c, udp.h, udphandle.c, util.c,
	util.h:
 	Underscored files with TCP stuff renamed.
	TCP stuff cleaned up
	Function names changed to corresponding names.
	icqlib.c splitted to many small files by subject.
	C++ comments changed to ANSI C comments.

	* Makefile.cvs, Makefile.in, acconfig.h, acinclude.m4,
	acinclude.m4.in, aclocal.m4, config.guess, config.h.in,
	config.sub, configure, configure.in, install-sh, libtool.m4.in,
	ltconfig, ltmain.sh, mkinstalldirs, stamp-h.in: Updated
	autoconf/automake/libtool configuration tools

1999-03-22  Bill Soudan          <wes0472@rit.edu>

	* Makefile.am: added new files

	* icqlib.h, icqlib.c: added additional struct entries in
          icq_ContactItem for tcp code, added code in
	  icq_HandleUserOnline and icq_HandleUserOffline for setup/cleanup

	* added many files for tcp implementation:
	  icq_tcp.c icq_tcp.h icq_tcp_packets.c icq_tcp_packets.h
          icq_tcp_process.c packet_queue.c packet_queue.h
          tcp_packet.c tcp_packet.h util.c

1999-03-05  Denis V. Dmitrienko  <denis@null.net>

	* icqlib.h, icqlib.c, icq.h: Some cosmetic changes...

Version 0.1.3 (08 Dec 1998)
  SOCKS5 proxy support.
  icq_RecvMessage now returns sending message time not receiving.
  Visible list support changed.
  Handle icq99a statuses.

Version 0.1.2 (05 Oct 1998)
  Search by UIN added.
  SunOS port (Thanks to Joe Avila <joe@avilate.com>).

Version 0.1.1 (21 Sep 1998)
  Renamed from libicq to icqlib - there is another libicq on the net.
  Little changes to allow UI call select() itself.

Version 0.1.0 (18 Sep 1998)
  Initial public version.
