+Thu Jun 28 21:30:39 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
+
+ * Changed the `say' client operation's interface to accept
+ new `type' argument to indicate the type of the message sent
+ by the library. The application may filter the library's
+ messages according the type. The affected file is the
+ lib/silcclient/silcapi.h.
+
+ * Added two new functions to lib/silcclient/silcapi.h:
+ silc_client_del_client and silc_client_del_client_by_id.
+ Affected file lib/silcclient/idlist.c.
+
+ * Moved the clientincludes.h from includes/ to silc/ and
+ serverincludes.h from includes/ to silcd/.
+
+ * The modes for the CMODE and CUMODE are now passed as
+ uint32 for application with COMMAND_REPLY. The affected
+ file is lib/silcclient/command_reply.c.
+
+Wed Jun 27 22:24:47 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
+
+ * /WHOIS without arguments shows client's own information.
+ Affected file lib/silcclient/command.c.
+
+ * Changed PING to not accept any arguments. The specs
+ says that client can ping only the connected server so
+ requiring an argument is not needed. Affected file is
+ lib/silcclient/command.c.
+
+Wed Jun 27 00:10:33 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
+
+ * Fixed a fatal bug in private message sending and reception
+ encryption and decryption when using private message keys.
+ The implementation was incorrect and did not follow the
+ specification. It causd that some of the message were
+ lost since it did not use the sending and receiving keys
+ as the protocol suggests. This has been fixed and will cause
+ incompatibilities with older clients when sending private
+ message encrypted with private message keys. Affected files
+ lib/silcclient/client_prvmsg.c, lib/silcclient/client_keyagr.c
+ and various other in Irssi SILC Client.
+
+ Added `responder' boolean argument to the functions
+ silc_client_add_private_message_key[_ske] to indicate when
+ the key is added as responder or initiator of the key
+ negotiation.
+
+Tue Jun 26 19:23:07 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
+
+ * Removed the silc_ske_check_version function and created
+ a SilcSKECheckVersion callback. Added also a function
+ silc_ske_set_callbacks that is now used to set all SKE
+ callbacks. The callback functions are not given to
+ the SKE functions anymore, but this function is used to
+ set the callbacks.
+
+ * Fixed the WIN32 DLL generation in lib/Makefile.am.pre.
+
+ * Added `silc_version' argument to the silc_client_alloc
+ to define the version of the application for the library.
+ The library will use the version string to compare it
+ against the remote host's (usually a server) version
+ string. Affected file lib/silcclient/silcapi.h
+
+ * Added the KE protocol context to Key Agreement context
+ in client library so that we can abort the SKE if it
+ is in process when we get timeout. Affected file is
+ lib/silcclient/client_keyagr.c.
+
+ * Do not resolve the client ID forever if it returns in the
+ first time that such client does not exist. This was done
+ for example with private message. Affected file is
+ lib/silcclient/client_prvmsg.c.
+
+Mon Jun 25 21:42:51 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
+
+ * Do not add regex.h for WIN32. The affected file
+ includes/silcincludes.h.
+
+ * Added WIN32 DLL generation to lib/Makefile.am.pre. It might
+ not work yet 100%. It generates the DLL's automatically
+ when compiling with --with-win32 under cygwin.
+
+Sun Jun 24 19:49:23 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
+
+ * lib/contrib/regex.c is not compiled on WIN32.
+
+ * Added silc_net_get_socket_opt function to the
+ lib/silcutil/silcnet.h.
+
+ * Added includes/silcwin32.h for WIN32 specific includes
+ and definitions.
+
+ * Do not use ptime structure or any of the posix process
+ functions on WIN32 in lib/silccrypt/silrng.c.
+
+ * Added silc_gettimeofday to provide generic function
+ for struct timeval on all platforms. Added the function
+ to lib/silcutil/silcutil.h.
+
+Sun Jun 24 12:19:52 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
+
+ * Moved the lib/silccore/silcsockconn.[ch] to the utility
+ library as they clearly belong there. As a plus side we
+ can make the actual socket connection routines platform
+ specific.
+
+ Added also new generic function silc_socket_read and
+ silc_socket_write (that used to be silc_packet_[read/write].
+ The implementation of these are platform specific.
+
+ * Added WIN32 specific routines of silc_socket_[read/write]
+ to lib/silcutil/win32/silcwin32sockconn.c.
+
+Sat Jun 23 16:01:00 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
+
+ * Added preliminary support for native WIN32 compilation under
+ cygwin (using the -mno-cygwin option for GCC) to the
+ ./configure.in.pre. The --with-win32 now prepares the
+ compilation for native WIN32.
+
+ * Rewrote the SILC Scheduler interface in the file
+ lib/silcutil/silcschedule.h. The scheduler is now context
+ based and does not have anymore any global static scheduler.
+ Moved the Unix scheduler to the lib/silcutil/unix/ directory
+ and created lib/silcutil/win32 directory for WIN32 based
+ scheduler.
+
+ * Added Unix specific network routines to the
+ lib/silcutil/unix/silcunixnet.c and the old
+ lib/silcutil/silcnet.c includes now only generic routines.
+
+ Added WIN32 specific network routines to the
+ lib/silcutil/win32/silcwin32net.c.
+
+ * Added Unix specific utility functions from the
+ lib/silcutil/silcutil.c to lib/silcutil/unix/silcunixutil.c.
+
+ * Added WIN32 SILC Scheduler to the file
+ lib/silcutil/win32/silcwin32schedule.c. The code is of course
+ untested.
+
+Fri Jun 22 10:44:14 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
+
+ * Do not handle JOIN notify in the server if the target client
+ is not registered (idata->registered == FALSE). The affected
+ file is silcd/packet_receive.c.
+
+ * Update the nickrec->founder in event_cumode in the Irssi SILC
+ client. Affected file irssi/src/silc/core/silc-channels.c.
+
+ * Fixed the CUMODE_CHANGE notify handling in the server when
+ server and router are announcing their clients on channels.
+ Now the mode changes are saved and notified correctly. The
+ affected file is /silcd/packet_receive.c.
+
+ * Fixed silc_idlit_replace_[server/client/channel]_id functions.
+ They really did not replace the cache entry in the ID Cache.
+ Now they do that. Affected file silcd/idlist.c.
+
+ * Fixed the KICK notify handling in the Irssi SILC client to
+ update the channel records so that the kicked client does not
+ appear to be on the channel. The affected file is
+ irssi/src/silc/core/silc-channels.c.
+
+ * Always update the conn->current_channel when executing command
+ on a channel. Affected file irssi/src/silc/core/silc-servers.c.
+
+ * Fixed the KILL notify handling in Irssi SILC client to remove
+ the killed client on all channels.
+
+Thu Jun 21 17:10:08 CEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
+
+ * Fixed the silc_parse_command_line to remove extra spaces
+ from the start and end of the arguments. Affected file is
+ lib/silcutil/silcutil.c.
+
+ * Cancel and free any active protocol in the function
+ silc_server_close_connection. Affected file silcd/server.c.
+
+ * Cancel and free any active protocol in the function
+ silc_client_close_connction. Affected file is
+ lib/silcclient/client.c.
+
+ * Do not execute the KILL command for clients that are in
+ history (ie. they are not in the network). Affected file is
+ silcd/command.c.
+
+ * Fixed KILL notify handling, client does not crash anymore.
+ Affected file irssi/src/silc/core/silc-channels.c.
+
+ * Reduced the default packet buffer size from 2048 to 1024 in
+ lib/silccore/silcpacket.c.
+
+ * Added SILC_SKE_STATUS_FREED SKE status type and a reference
+ counter to the SKE context that is incresed when the SKE library
+ performs async operation outside the library. If the outside
+ process frees the SKE context and FREED status will be set
+ and the library will detect after the sync operation that the
+ libary is freed. The affected files are
+ lib/silcske/silcske[_status].[ch].
+
+ * Resolve the client entry information in the function
+ silc_client_channel_message to assure that NULL pointer is not
+ passed as client entry to the application. */
+
+ * Fixed the task timeout calculation to assure that there is
+ never negative timeouts. The affected file is
+ lib/silcutil/silcschedule.c.
+
+ * Fixed the channel user mode notification sending in server.
+ It was sent point-to-point to the router (or to server by router)
+ but it needs to be destined to a channel. The routines now
+ supports sending the channel user mode notifys to the channels
+ when announcing clients and channels. Affected files are
+ silcd/server.c and silcd/packet_receive.c.
+
+ * Fixed the CHANNEL_CHANGE notify handling in the client libary.
+ It did not actually replace the old channel entry in the cache.
+ Affected file lib/silcclient/client_notify.c.
+
+Tue Jun 19 22:10:36 EEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
+
+ * Fixed a possible crash in silc_packet_send_prepare. It now
+ assures always that there is enough space in the buffer and
+ at the tail area of the buffer (for MAC).
+
+ Fixed the inbound buffer reallocation in silc_packet_read.
+ It was old code and did not handle the reallocation correctly.
+ Affected
+
+ The affected file is lib/silccore/silcpacket.c.
+
+ * Fixed buffer overflow in silc_parse_nickname in the file
+ lib/silcutil/silcutil.c.
+
+Tue Jun 19 13:40:09 CEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
+
+ * make install generates new server keys only if there is not
+ keys already.
+
+Mon Jun 18 18:49:07 EEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
+
+ * Set SILC_MESSAGE_FLAG_NOREPLY when sending the away message.
+ Added check that if the NOREPLY is set then we will not send
+ the away message. This avoids infinite loop of away messages
+ if both clients are away. The affected file is
+ lib/silcclient/client_prvmsg.c.
+
+ * Fixed client crash if /NICK was given without arguments.
+ Affected file lib/silcclient/command.c.
+
+ * Server does not send the invite list in INVITE command back
+ to the client if the list was not altered. Added this notion
+ to the protocol spec as well. Affected file silcd/command.c.
+
+ Fixed possible crash in INVITE command by checking the
+ value of silc_server_get_client_route command.
+
+ * Fixed the INVITE notify type handling. The arguments are now
+ taken in correct order and client does not crash. The affected
+ file is irssi/src/silc/core/silc-channels.c.
+
+ Removed the "Inviting xxx to channel" message from the
+ client library away and let the application handle it.
+ Affected file lib/silcclient/command.c. Added that message
+ to Irssi SILC client's message formats.
+
+ * Fixed CMODE command crash in client. It now checks the
+ amount of arguments correctly and does not crash. The affected
+ file is lib/silcclient/command.c.
+
+ * Do not create new channel automatically in silc_channels_join
+ but check whether the channel by that name already exists.
+ Affected file irssi/silc/core/silc-channels.c.
+
+ * Do not send the SERVER_SIGNOFF to router if the disconnected
+ entity was the router. Affected file silcd/server.c.
+
+ * Added the handling of the SERVER_SIGNOFF notify to the Irssi
+ SILC client as it was missing from there.
+
+ Added the handling of the KICK notify to the Irssi SILC client
+ as it was missing. Added "you have been kicked" message to
+ Irssi SILC client's message modules formats.
+
+ Added the handing of the KILL notify to the Irssi SILC client
+ as it was missing. Added the kill message module formats
+ as well.
+
+ The affected file is irssi/src/silc/core/silc-channels.c.
+
+ * The router did not save the channel mode the server announced.
+ Affected file silcd/packet_receive.c.
+
+ * Fixed a possible crash in INFO command in server. If the
+ server did not provide the server info it crashed. Affected
+ file silcd/command.c.
+
+Sun Jun 17 15:26:05 EEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
+
+ * Fixed the GETKEY command in the server to check also the
+ global list. Otherwise the GETKEY would not work correctly
+ in normal SILC server. Affected file silcd/command.c.
+
+Sat Jun 16 18:00:00 EEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
+
+ * Fixed GETKEY crash, it crashed if the command did not succseed.
+
+Tue Jun 12 21:36:18 EEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
+
+ * Redefined the SILC MP API in lib/silcmath/silcmp.h. The API
+ is now real and not just an macro interface to GMP.
+
+ Removed the entire GMP from the source tree and imported new
+ NSS MPI library instead. Reason for removing GMP is that it is
+ extremely large and compiles extremely slow. The NSS MPI
+ is only a few files and compiles in less than 10 seconds.
+ The speed is also about the same as GMP. The MPI is imported
+ to lib/silcmath/mpi.
+
+ If the system has GMP installed we will still use the GMP.
+ If it is not then the NSS MPI will be compiled.
+
+Mon Jun 11 18:07:24 EEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
+
+ * Merged a long nickname (127 characters long) crash bugfix from
+ Irssi CVS tree. Affected file irssi/src/core/misc.c.
+
+ * Merged a freed memory reference bugfix from Irssi CVS tree.
+ Affected file irssi/src/core/commands.c.
+
+Sun Jun 10 16:08:35 EEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
+
+ * Added the server's public key sving and verification to the
+ server when performing the SKE. This was missing and the
+ remote server's (or router's) public key was accepted without
+ checking whether we have it previously or trust it at all.
+ Affected file silcd/protocol.c.
+
+Sat Jun 9 20:17:30 EEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
+
+ * Check in the silc_server_timeout_remote if protocol is active
+ and make sure that the protocol's final callback is called so
+ that all memory if freed. Affected file silcd/server.c.
+
+Sat Jun 9 12:51:27 EEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
+
+ * silc_server_whois_send_reply crashed the server if the nickname
+ was 127 characters long. Affected file silcd/command.c.
+
+Thu Jun 7 16:29:56 EEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
+
+ * Added sanity check to the silc_server_new_client. If the hostname
+ is provided inside username then check that the provided hostname
+ really is the same as the resolved one. If the hostname was not
+ resolved then check it from the public key. Affected file is
+ silcd/packet_receive.c.
+
+ * Fixed a fatal bug in Irssi SILC client. Do not send QUIT command
+ if the server disconnected us and the connection is not valid
+ anymore. Affected file irssi/src/silc/core/silc-channels.c.
+
+ * Moved the silc_client_[chmode|chumode|chumode_char] away from
+ the library to the lib/silcutil/silcutil.[ch].
+
+Thu Jun 7 08:57:16 CEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
+
+ * Close log file after open. Affected file
+ lib/silcutil/silclog.c.
+
+ * Check whether sock == NULL in silc_client_send_packet and return
+ if it is. Affected file lib/silcclient/silcclient.c.
+
+ * Check rec->entry == NULL in the Irssi SILC Client before
+ sending the channel message. Affecte file is
+ irssi/src/silc/core/silc-servers.c.
+
+Tue Jun 5 08:08:21 CEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
+
+ * Merged a splitted window bugfix from Irssi CVS tree. The
+ affected file is irssi/src/fe-text/textbuffer-view.c.
+
+ * Fixed the ME, ACTION and NOTICE printing in Irssi Client.
+ It did not print nickname.
+
+ * Improved the distributions system a bit.
+
Mon Jun 4 17:57:16 CEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
* Merged /WINDOW bugfix from irssi CVS tree. Affected file is
not have username resolved. The affected file is
lib/silcclient/command_reply.c. Also, changed the IDENTIFY
command to WHOIS command to really resolve stuff. The USERS
- is not used an ymore in any critical section so WHOIS can
+ is not used any more in any critical section so WHOIS can
be used even though it might be slower than IDENTIFY.
+ * Changed the lib/silcutil/silchashtable.h header to ROBODoc
+ format.
+
Sun Jun 3 14:21:32 EEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
* Changed the protocol API a bit more consistent in the