updates.
[silc.git] / CHANGES
diff --git a/CHANGES b/CHANGES
index 0173db9144eb77995e098556a4e85babd884baa2..e6dd27489a0527feb8af897f015f69f9a97e68d6 100644 (file)
--- a/CHANGES
+++ b/CHANGES
+Sun Dec  9 19:18:41 EET 2001  Pekka Riikonen <priikone@silcnet.org>
+
+       * Fixed the IDENTIFY command reply sending to chech better valid
+         clients.  It was possible to send incomplete list of replies.
+         Affected file silcd/command.c.
+
+Sat Dec  8 15:58:31 EET 2001  Pekka Riikonen <priikone@silcnet.org>
+
+       * Added silc_client_command[s]_[un]register functions now to
+         dynamically register the commands in client library.  Removed
+         the static table of commands.  This allows the client library
+         to call commands without causing the application to know about
+         what commands library has called.
+
+         Removed the INFO command reply kludge to detect when the command
+         was called by library.  Now library use its own command reply
+         function for INFO command.
+
+         Added function silc_client_command_call to call a command.
+         Application can use it to call command, not access the structure
+         directly.
+
+         Now all commands that are sent by the client library (not
+         explicitly sent by application) use own command reply functions.
+
+         Affected files around lib/silcclient/ and in
+         irssi/src/silc/core/.
+
+       * Fixed the WHOIS command reply sending to chech better valid
+         clients.  It was possible to send incomplete list of replies.
+
+         Fixed the WHOIS and IDENTIFY to send the request to router
+         if normal server did not do it and did not find any results.
+
+         Affected file silcd/command.c.
+
+Thu Dec  6 17:21:06 EET 2001  Pekka Riikonen <priikone@silcnet.org>
+
+       * Moved the internal data from SilcClient context into its
+         own file, not accesible to application.  Affected files
+         lib/silcclient/client.h and lib/silcclient/client_internal.h,
+         and other files in client library.
+
+Thu Dec  6 10:37:55 EET 2001  Pekka Riikonen <priikone@silcnet.org>
+
+       * Added doc/examples installation target in Makefile.am.pre.
+         A patch by salo.
+
+Tue Dec  4 17:43:19 EET 2001  Pekka Riikonen <priikone@silcnet.org>
+
+       * If NO_SUCH_CLIENT_ID notify is received for WHOIS or IDENTIFY
+         commands the found client entry will be removed from the
+         cache, after notifying application about the error.  Affected
+         file lib/silcclient/command_reply.c.
+
+       * Changed the /MSG to check for exact nickname user gave, and
+         not let `nick' match `nick@host' if it is only one found.  Now,
+         user must type the exact nickname (like nick@host2) even if
+         there are no more than one same nicks found.  This is to avoid
+         a possibility of sending nickname to wrong nickname since
+         `nick' could match `nick@host'.  Affected file is
+         irssi/src/core/silc-servers.c.
+
+Mon Dec  3 18:49:45 EET 2001  Pekka Riikonen <priikone@silcnet.org>
+
+       * Do not print "you are now server operator" or similar when
+         giving /away command.  Affected files are
+         irssi/src/silc/core/client_ops.c, silc-servers.h.
+
+       * Made the silc_server_command_pending_error_check to send
+         the same command reply payload it received back to the
+         original sender of the command.  This way all arguments
+         that was received by the server will be received by the
+         client too.  Affected file silcd/command.c.
+
+       * Added the silc_idcache_add to return the created cache entry
+         to a pointer.  Affected file lib/silccore/silcidcache.[ch].
+
+       * Add global clients to expire if they are not on any channel.
+         This is because normal server will never know if they signoff
+         if they are not on any channel.  The cache expiry will take
+         case of these entries.  This is done by normal servers only.
+         The affected files are silcd/command_reply.c,
+         silcd/idlist.[ch], silcd/server and silcd/packet_receive.c.
+
+       * If server receives invalid ID notification for WHOIS or
+         IDENTIFY and the ID exists in the lists, it is removed.
+         Affected file silcd/command_reply.c.
+
+       * If NO_SUCH_CLIENT_ID is received for WHOIS or IDENTIFY command
+         in client then client entry that it matches is searched and
+         the nickname is printed on the screen for user.  Affected
+         file irssi/src/silc/core/client_ops.c.
+
+Mon Dec  3 11:56:59 EET 2001  Pekka Riikonen <priikone@silcnet.org>
+
+       * Use cache entry expire time in the LIST command reply to
+         purge old entries from the cache after the LIST command
+         reply has been received.  This way we don't have non-existent
+         entries in the cache for too long.  Affected file is
+         silcd/command_reply.c.
+
+Sun Dec  2 23:29:07 EET 2001  Pekka Riikonen <priikone@silcnet.org>
+
+       * If we are normal server, and we've not resolved client info
+         in WHOIS or IDENTIFY from router, and it is global client,
+         we'll check whether it is on some channel.  If it is not
+         then we cannot be sure about its validity and will resolve it
+         from router.  Fixes a bug in WHOIS and IDENTIFY.  Affected 
+         file silcd/command.c.
+
+       * Search channel by name (if possible) rather than by ID
+         in IDENTIFY command's command reply.  Affected file is
+         silcd/command_reply.c.
+
+Sun Dec  2 13:48:46 EET 2001  Pekka Riikonen <priikone@silcnet.org>
+
+       * Distribute to the channel passphrase in CMODE_CHANGE notify.
+         Updated specs and implemented it.  Affected file silcd/command.c,
+         silcd/packet_send.c and silcd/packet_receive.c.
+
+       * Implemented the <founder auth> payload handling in the JOIN
+         command.  If provided all conditions for channel joining
+         except requirement to provide correct passphrase can be 
+         overrided by the channel founder.  Updated the protocol specs.
+         Affected file silcd/command.c.
+
+         Added support for founder auth in JOIN command in client
+         library.  Fixed the parsing of the JOIN command now to support
+         all options as they should be.  The affected file is
+         lib/silcclient/command.c.
+
+       * Optimized the WHOIS and IDENTIFY commands to send the request
+         to router only if it includes nicknames or other names.  If
+         they include only IDs then check the local cache first before
+         routing.  Affected file is silcd/command.c.
+
+       * Added channels topic announcements.  Affected file is
+         silcd/packet_receive.c and silcd/server.c.
+
+       * Fixed the silc_server_send_notify_topic_set to really destine
+         the packet to channel.  Affected file silcd/packet_send.c.
+
+       * Fixed a crash in CHANNEL_CHANGE notify handling in the client
+         library.  Affected file lib/silcclient/client_notify.c.
+
+       * Added UMODE announcements.  Affected file silcd/server.c.
+
+Sat Dec  1 12:52:39 EET 2001  Pekka Riikonen <priikone@silcnet.org>
+
+       * Memory leak fixes in:
+
+         lib/silcutil/silcsockconn.c
+         lib/silcske/silcske.c
+         lib/silcske/groups.c
+         lib/silccrypt/rsa.c
+         lib/silccrypt/silcpkcs.c
+         lib/silccore/silccommand.c
+         lib/silccore/silcidcache.c
+         silcd/idlist.c
+         silcd/packet_send.c
+         silcd/command.c
+
+       * ROBOdoc documented the lib/silcske/groups.h file and a
+         bit changed the interface for better.
+
+Thu Nov 29 22:12:50 EET 2001  Pekka Riikonen <priikone@silcnet.org>'
+
+       * Update the client entry context in the ID cache after
+         nick change.  Affected file lib/silcclient/command.c.
+         Fixes the CUMODE command when regaining founder privileges,
+         and a little WHOIS problem.
+
+       * Fixed silc_net_gethostbyname to correctly call the
+         inet_ntop.  Affected file lib/silcutil/silcnet.c.
+
+Thu Nov 29 19:31:23 EET 2001  Pekka Riikonen <priikone@silcnet.org>'
+
+       * Added IPv6 support checking to the configure.in.pre, added
+         also --enable-ipv6 option to override the check.  Affected
+         file configure.in.pre.
+
+       * The silc_thread_create now calls the start function
+         directly if threads support is not compiled in.  Removes
+         ugly #ifdef's from generic code.  Affected files are
+         lib/silcutil/unix/silcunixthread, win32/silcwin32thread.c.
+
+       * Added silc_net_gethostby[name/addr]_async to asynchronously
+         resolve.  Affected files are lib/silcutil/silcnet.[ch].
+
+       * Added support for rendering IPv6 based server, client and
+         channel IDs.  Affected file lib/silcutil/silcutil.c.
+
+       * Added support for creating IPv6 based server IDs.  Affected
+         file is silcd/serverid.c.
+
+Wed Nov 28 23:46:09 EET 2001  Pekka Riikonen <priikone@silcnet.org>'
+
+       * Added silc_net_gethostby[addr/name] into the
+         lib/silcutil/silcnet.[ch].  Added IPv6 support to Unix network
+         routines.  Added silc_net_is_ip[4/6].  Affected file is
+         lib/silcutil/unix/silcunixnet.c.  All routines that take
+         address as argument now supports both IPv4 and IPv6 addresses.
+
+Mon Nov 26 18:09:48 EET 2001  Pekka Riikonen <priikone@silcnet.org>'
+
+       * Fixed LIST command reply sending in server.  Affected file
+         silcd/command.c.
+
+       * Server now sends the kicker's client ID in the KICK notify
+         to the kicked client.  Affected file silcd/command.c.
+
+       * The client library now parses the kickers client ID and
+         UI displays it.  Affected files lib/silcclient/client_notify.c
+         and irssi/src/silc/core/silc-channels.c, module-formats.c.
+
+       * Made all payload parsing function prototypes consistent.
+         They all take now const unsigned char * and uint32 pair as
+         the payload data instead of SilcBuffer.  Changes all around
+         the source tree.  Other unsigned char* -> const unsigned char*
+         changes around the tree as well.
+
+       * Optimized SFTP client and server packet sending not to
+         allocate new buffer for each packet but to recycle the
+         first allocated buffer.  Affected files are
+         lib/silcsftp/sftp_client.c, sftp_server.c, sftp_util.[ch].
+
+       * Optimized the SFTP client to use SilcList instead of
+         SilcDList for requests, because it is faster.  Affected file
+         is lib/silcsftp/sftp_client.c.
+
+       * Moved the ID Payload routines from lib/silccore/silcpayload.[ch]
+         into lib/silccore/silcid.[ch].
+
+         Renamed silcpayload.[ch] into silcargument.[ch].
+
+Mon Nov 26 15:01:53 CET 2001  Pekka Riikonen <priikone@silcnet.org>
+
+       * If client entry is deleted with active key agreement
+         session, abort the session.
+
+         The silc_client_abort_key_agreement now calls the completion
+         callback with new SILC_KEY_AGREEMENT_ABORTED status.
+
+         Affected file lib/silcclient/silcapi.h, client_keyagr.c and
+         idlist.c.
+
+Sun Nov 25 18:01:45 EET 2001  Pekka Riikonen <priikone@silcnet.org>
+
+       * Don't use __restrict in older GCC's.  Affected file is
+         lib/silcmath/mpi/mpi-priv.h.  A patch by salo.
+
+       * silc_net_localhost now attempts to reverse lookup the
+         IP/hostname.  Affected file lib/silcutil/silcnet.c.
+
+       * Defined <founder auth> argument to the SILC_COMMAND_JOIN
+         command.  It can be used to gain founder privileges at 
+         the same time when joining the channel.
+
+         Defined that the SILC_NOTIFY_TYPE_KICKED send the 
+         kicker's client ID as well.  Updated protocol specs.
+
+         Defined that the server must send SILC_COMMAND_IDENTIFY
+         command reply with error status to client who sent
+         private message with invalid client ID.
+
+         Updated the protocol specification.
+
+       * Added silc_server_send_command_reply to send any
+         command reply.  Affected file silcd/packet_send.[ch].
+
+       * Added silc_id_payload_encode_data to encode ID payload
+         from raw ID data.  Affected file lib/silccore/silcpayload.[ch].
+
+       * The server now send IDENTIFY command reply with error
+         status if client ID in private message is invalid.  Affected
+         file silcd/packet_receive.c.
+
+       * Save the server key file with server's IP address in
+         the filename instead of hostname.  The affected file is
+         irssi/src/silc/core/client_ops.c.
+
+Sat Nov 24 20:08:22 EET 2001  Pekka Riikonen <priikone@silcnet.org>
+
+       * Typo fixes in irssi/src/fe-common/silc/module-formats.c.
+         A patch by Sunfall.
+
+       * Added libtool support for compiling shared objects in
+         lib/silcsim.  Affected file configure.in.pre and
+         lib/silcsim/Makefile.am.  Original patch by cras.
+
+Fri Nov 23 23:30:59 EET 2001  Pekka Riikonen <priikone@silcnet.org>
+
+       * Pid file configuration, and server's config file fixes
+         patch by toma.  Updated CREDITS file. 
+
+Sun Nov 18 01:34:41 EET 2001  Pekka Riikonen <priikone@silcnet.org>
+
+       * Fixed silc_client_channel_message to not try to decrypt
+         the message twice if it resolved the destination client
+         information.  This could cause of dropping one channel
+         message.  Affected file lib/silcclient/client_channel.c.
+
+Wed Nov 14 23:44:56 EET 2001  Pekka Riikonen <priikone@silcnet.org>
+
+       * Added silc_client_run_one into lib/silcclient/silcapi.h and
+         lib/silcclient/client.c. This function is used when the SILC
+         Client is run under some other scheduler, or event loop or
+         main loop.  On GUI applications, for example this may be
+         desired to used to run the client under the GUI application's
+         main loop.  Typically the GUI application would register an
+         idle task that calls this function multiple times in a second
+         to quickly process the SILC specific data.
+
+Wed Nov 14 19:16:52 CET 2001  Johnny Mnemonic <johnny@themnemonic.org>
+
+        * Fixed silc_server_drop() for dropping the supplementary
+          groups as well, this could cause a security hole on some
+          systems.
+
+Wed Nov 14 16:22:25 EET 2001  Pekka Riikonen <priikone@silcnet.org>
+
+       * __pid_t -> pid_t in lib/silccrypt/silcrng.c.  A patch by
+         johnny.
+
+       * Write PID file after dropping privileges.  Added -F option
+         to run server on foreground.  A patch by debolaz.
+         Affected files silcd/server.c, silcd/silcd.c.
+
+       * Fixed MOTD to return the MOTD file server name.  Affected
+         file silcd/command.c.
+
+       * Added INFO command reply handling to the Irssi SILC Client.
+         Affected file irssi/src/silc/core/client_ops.c.
+
+Wed Nov 14 00:18:08 EET 2001  Pekka Riikonen <priikone@silcnet.org>
+
+       * Fixed the silc_idcache_list_* routines to really support
+         the dynamic list.  Fixes a crash.  Affected file is
+         lib/silccore/silcidcache.c.
+
+       * Fixed the LIST command reply to really call LIST command's
+         pending callbacks.  Affected file silcd/command_reply.c.
+
+Tue Nov 13 00:49:17 EET 2001  Pekka Riikonen <priikone@silcnet.org>
+
+       * Update conn->local_entry->nickname after giving NICK
+         command.  Affected file lib/silcclient/command.c.
+
+Sun Nov 11 23:43:02 PST 2001  Brian Costello <bc@wpfr.org>
+
+       * Added the [pid] option to the silcd configuration file
+
+         Affected files: serverconfig.[ch] and silcd.c
+
+Sun Nov 11 23:56:39 EET 2001  Pekka Riikonen <priikone@silcnet.org>
+
+       * Save fingerprint in WHOIS command reply in server.
+         Affected file silcd/command_reply.c.
+
+       * Fixed NICK commands pending callback registration.
+         Affected file lib/silcclient/command.c.
+
+Sun Nov 11 10:49:10 EET 2001  Pekka Riikonen <priikone@silcnet.org>
+
+       * Use ++server->cmd_ident when sending commands in server,
+         instead of random number.  Affected file silcd/command.c.
+
+       * Fixed GETKEY command reply to call actually GETKEY pending
+         command callbacks.  Affected file silcd/command_reply.c.
+
+       * A bit stricter check for nicknames.  Check for same nickname
+         in NICK command also.  Affected file silcd/command.c.
+
+       * Do not call INFO command everytime client ID changes, only
+         during first connecting.  Affected file lib/silcclient/client.c.
+
+       * Set the new nickname only after successful command reply for
+         NICK command is returned by server.  Affected file
+         lib/silcclient/command.c.
+
+       * Remove nicknames from nicklist during server_signoff notify.
+         Should fix /NAMES bit more.  The affected file is
+         irssi/src/silc/core/silc-channels.c.
+
+       * Added `fingerprint' field to the SilcIDListData in the 
+         silcd/idlist.h to hold the fingerprint of the client's
+         public key.
+
+         Send the fingerprint of the client's public key in WHOIS
+         command reply.
+
+         Affected files silcd/command.c, and silcd/idlist.[ch].
+
+       * Added silc_fingerprint into lib/silcutil/silcutil.[ch] to
+         create fingerprint from given data.
+
+       * Show the fingerprint of the client's public key in WHOIS.
+         Affected files irssi/src/module-formats.[ch] and
+         irssi/src/silc/core/client_ops.c.
+
+       * Format the multiple same nicknames also during JOIN and
+         NICK_CHANGE notifys.  Affected file is
+         lib/silcclient/client_notify.c.
+
+       * Do not print error on screen for invalid private message
+         payload since it can come if someone is sending private
+         messages with wrong key.  Affected file
+         lib/silccore/silcprivate.c.
+
+       * Fixed multiple concurrent /PING crash.  Affected file
+         lib/silcclient/command.c.
+
+       * Changed the wrong ID encoding.  All IP addresses must be
+         in MSB first order in encoded format.  They were encoded
+         wrong and was in LSB format.  Affected files are
+         silcd/serverid.c, lib/silcutil/silcutil.c.
+
+       * Remove silc_net_addr2bin_ne from lib/silcutil/silcnet.[ch].
+
+       * Call the `connect' client operation through the scheduler
+         in case of error.  Affected file lib/silcclient/client.c.
+
+       * Call the `failure' client operation even if the error
+         occurred locally during a protocol.  Affected file is
+         lib/silcclient/protocol.c.
+
+       * Added support of sending LIST command to router from normal
+         server.  This way normal server can get list of all channels
+         in the network too.  Fixed the channel list sending in the
+         server too.  Affected files are silcd/command.c, and
+         silcd/command_reply.[ch].
+
+       * Added silc_server_update_channels_by_server and
+         silc_server_remove_channels_by_server.  They are used during
+         disconnection of primary router and in backup router protocol.
+         Affected file silcd/server_util.[ch], silcd/server.c and
+         silcd/server_backup.c.
+
+       * Fixed channel adding to global list in IDENTIFY command
+         reply in server.  Affected file silcd/command_reply.c.
+
+Sat Nov 10 21:39:22 EET 2001  Pekka Riikonen <priikone@silcnet.org>
+
+       * If the incoming packet type is REKEY or REKEY_DONE process
+         that packet always synchronously.  Fixes yet another MAC
+         failed error on slow (dialup) connections.  Affected file
+         lib/silcclient/client.c and silcd/server.c.
+
+Thu Nov  8 22:21:09 EET 2001  Pekka Riikonen <priikone@silcnet.org>
+
+       * Call check_version SKE callback for initiator too.  Affected
+         file lib/silcske/silcske.c.
+
+       * Implemented fix for security hole found in the SKE that was
+         fixed in the specification few days back; the initiator's
+         public key is now added to the HASH value computation.
+         Added backwards support for the old way of doing it too, for
+         old clients and old servers.  Affected file is
+         lib/silcske/silcske.c.
+
+       * Enabled mutual authentication by default in SKE.  If initiator
+         is not providing mutual authentication the responder will
+         force it.  This will provide the proof of posession of the
+         private key for responder.  The affected files are
+         lib/silcclient/protocol.c and silcd/protocol.c.
+
+       * Do not cache anymore the server's public key during SKE.
+         We do mutual authentication so the proof of posession of
+         private key is done, and if the server is authenticated in
+         conn auth protocol with public key we must have the public
+         key already.  Affected file silcd/protocol.c.
+
+       * Added new global debug variable: silc_debug_hexdump.  If
+         it is set to TRUE SILC_LOG_HEXDUMP will be printed.  Affected
+         file lib/silcutil/silclog.[ch].
+
+       * Fixed compilation warning due to char * -> const char *.
+         Affected files lib/silcutil/silcnet.h, and
+         lib/silccore/silcauth.[ch].
+
+Wed Nov  7 20:43:03 EET 2001  Pekka Riikonen <priikone@silcnet.org>
+
+       * Fixed CMODE command when new channel key was created.  If
+         the creation failed the old key was removed.  Next time giving
+         same command would crash the server since the old key was
+         freed already.  Affected file silcd/command.c.
+
+       * Fixed the silc_server_announce_get_channels to not crash
+         on reconnect.  Affected file silcd/server.c.
+
+Wed Nov  7 17:15:07 EET 2001  Pekka Riikonen <priikone@silcnet.org>
+
+       * Added silc_log_set_debug_string function to set a regex
+         string to match for debug output.  Only the function names,
+         or filenames matching the given debug string is actually
+         printed.  This way it is possible to filter out those debug
+         strings that user is not interested in.
+
+         Fixed a bug in silc_string_regexify.
+
+         Affected files lib/silcutil/silclog.[ch], and
+         lib/silcutil/unix/silcunixutil.c.
+
+       * Changed the -d options in both server and Irssi SILC client
+         to take the debug string as argument.  Affected files
+         silcd/silcd.c and irssi/src/silc/core/silc-core.c.
+
+Tue Nov  6 21:31:54 EET 2001  Pekka Riikonen <priikone@silcnet.org>
+
+       * Added silc_hash_babbleprint to create a Bubble Babble
+         Encoded fingerprint.  The encoding is developed by Antti
+         Huima (draft-huima-babble-01.txt), and it creates human
+         readable strings out of binary data.  Affected file
+         lib/silccrypt/silchash.[ch].
+
+       * Print the babble print now in addition of fingerprint as well
+         in Irssi SILC client.  Affected files are
+         irssi/src/fe-common/silc/module-formats.[ch],
+         irssi/src/fe-common/silc/core/client_ops.c.
+
+Sun Nov  4 23:37:28 EET 2001  Pekka Riikonen <priikone@silcnet.org>
+
+       * Fixed a security problem found in SKE.  The initiator's
+         public key too is now added to the HASH hash value creation
+         which is signed by the responder to create the SIGN value.
+         This will prevent anyone in the middle to lie to the responder
+         about the initiator's public key.  If this is done now, the
+         man in the middle will get caught.  Updated the protocol
+         specification.
+
+Sun Nov  4 11:43:53 EET 2001  Pekka Riikonen <priikone@silcnet.org>
+
+       * Better installation directory handling.  Configure module
+         paths and other paths automatically to example_silc* files
+         in doc/.  A patch by toma.
+
+       * Fixed compiler warning from MPI library, and from SILC RNG.
+         A patch by johnny.
+
+       * Added SILC_SERVER_PID_FILE to define the pid file for server.
+         It can be configured with ./configure.  A patch by toma.
+
+Sat Nov  3 23:48:23 EET 2001  Pekka Riikonen <priikone@silcnet.org>
+
+       * Find correct make to use in prepare-clean.  A patch by
+         toma.  Affected file prepare-clean.
+
+Sat Nov  3 22:04:00 PST 2001  Brian Costello <bc@mksecure.com>
+
+       * Added irssi variables use_auto_addr, auto_bind_ip,
+          auto_bind_port and auto_public_ip.
+
+       * Changed the interface for silc_client_send_key_agreement
+          in lib/silcclient/silcapi.h
+
+       Affected files:
+
+         irssi/src/silc/core/silc-core.c
+         irssi/config
+         lib/silcclient/silcapi.h
+         irssi/src/silc/core/silc-channels.c
+         lib/silcclient/client_keyagr.c
+         irssi/docs/help/key
+
+Sat Nov  3 17:48:55 EET 2001  Pekka Riikonen <priikone@silcnet.org>
+
+       * Added silc_pkcs_public_key_compare to compare two 
+         public keys.  Affected file lib/silccrypt/silcpkcs.[ch].
+
+       * Check that the client who set the founder mode on the
+         channel is the same client that is giving the founder
+         mode to itself.  It is done by comparing the saved public
+         key (it is saved even in the authentication is passphrase).
+         Affected file silcd/command.c.
+
+Fri Nov  2 18:52:08 EST 2001  Pekka Riikonen <priikone@silcnet.org>
+
+       * Do not process packet for disconnected socket connection.
+         Affected file lib/silccore/silcpacket.c.
+
+       * Process the DISCONNECT packet through scheduler in the
+         client library.  Affected file lib/silcclient/client.c.
+
+       * Fixed the silc_client_packet_parse to not to increase
+         the packet sequence number if the conn->sock and the 
+         current socket connection is not same.  This can happen
+         for example during key agreement when the conn includes
+         multiple socket connections (listeners).  Affected file
+         lib/silcclient/client.c.
+
+       * The sender of the file transfer request now provides also
+         the pointer (listener) for the key exchange protocol.  If
+         the listener cannot be created then it sends empty key
+         agreement and lets the receiver provide the listener.
+
+         Added `local_ip' and `local_port' arguments to the
+         silc_client_file_send.  If they are provided they are used,
+         if not then it will attempt to find local IP address, if
+         not found or bind fails then the remote client will provide
+         the listener.
+
+         Affected files are lib/silcclient/client_ftp.c and
+         lib/silcclient/silcapi.h.
+
+       * Extended the FILE SEND command to support defining the
+         local IP and port for key exchange listener.  They are
+         optional.  Affected file irssi/src/silc/core/silc-servers.c.
+
+Thu Nov  1 22:10:07 EST 2001  Pekka Riikonen <priikone@silcnet.org>
+
+       * Defined to WHOIS command reply the sending of fingerprint
+         of the client's public key (if the proof of posession of the
+         corresponding private key is verified by the server).
+         Updated to the protocol specification.
+
+       * Added support of receiving the client's public key's 
+         fingerprint in command reply in client library.  Affected
+         file is lib/silcclient/command_reply.c, and
+         lib/silcclient/idlist.[ch].
+
+Thu Nov  1 18:06:12 EST 2001  Pekka Riikonen <priikone@silcnet.org>
+
+       * Do not send over 128 chars long nickname to the server
+         in NICK command.  Affected file lib/silcclient/command.c.
+
+       * Do not send over 256 chars long channel names to the server
+         in JOIN command.  Affected file lib/silcclient/command.c.
+
+Tue Oct 30 22:48:59 EST 2001  Pekka Riikonen <priikone@silcnet.org>
+
+       * Assure that silc_server_close_connection cannot be called
+         twice for same socket context.  Affected file is
+         silcd/server.c.
+
+Tue Oct 30 16:58:14 EST 2001  Pekka Riikonen <priikone@silcnet.org>
+
+       * Send error message to application if opening file for
+         writing during file transfer fails.  Affected file is
+         lib/silcclient/client_ftp.c.
+
+         Remove all file transfer sessions for a client that we're
+         removing from ID cache.
+
+         Affected file is lib/silcclient/client_ftp.c.
+
+       * Fixed silc_net_addr2bin to return correct address.  Affected
+         file lib/silcutil/[unix/win32]/silc[unix/win32]net.c.
+
+       * Fixed file transfer session removing on signoff notify.
+         Affected file irssi/src/silc/core/silc-servers.c.
+
+       * Added the SilcClientFileError to be returned in the monitor
+         callback.  Added NO_SUCH_FILE and PERMISSION_DENIED errors.
+         Affected file lib/silcclient/silcapi.h.
+
+Mon Oct 29 17:43:04 EST 2001  Pekka Riikonen <priikone@silcnet.org>
+
+       * Fixed a crash in silc_client_ftp_free_sessions and
+         silc_client_ftp_session_free_client.  Affected file
+         lib/silcclient/client_ftp.c.
+
+       * Added `disabled' field in the SilcChannelEntry in the server
+         to indicate if the server entry is disabled.  Affected file
+         silcd/idlist.h, silcd/command[_reply].c.
+
+       * SILC server adds now /var/run/silcd.pid everytime it is
+         started.  Affected file silcd/silcd.c.
+
+       * Added silc_server_packet_send_clients to send a packet to
+         the provided table of client entries.  Affected file
+         silcd/packet_send.[ch].
+
+       * Fixed a crash in client resolving in client_prvmsg.c in 
+         client library.  Affected file lib/silcclient/client_prvmsg.c.
+
+       * Do not actually remove the client directly from ID cache
+         during SERVER_SIGNOFF, but invalidate it.  This way we
+         preserve the WHOWAS info for the client.  Affected file
+         silcd/server_util.c.
+
+       * Fixed SERVER_SIGNOFF notify handling in the server.  The
+         server is now able to process incoming SERVER_SIGNOFF notify
+         for a server that it doesn't even know about.  It will remove
+         the clients provided in the notify.  Affected file
+         silcd/packet_receive.c.
+
+       * Check for partial packet in data queue after every packet that
+         was found from the queue.  Return and wait for more data if 
+         there is partial data in queue.  Affected file is
+         lib/silccore/silcpacket.c.
+
+Sun Oct 28 18:46:27 EST 2001  Pekka Riikonen <priikone@silcnet.org>
+
+       * Added SilcClietFileError enum to indicate error in
+         file transfer.  Added SILC_CLIENT_FILE_MONITOR_KEY_AGREEMENT
+         and SILC_CLIENT_FILE_MONITOR_ERROR new monitor statuses.
+         Affected files lib/silcclient/silcapi.h and
+         lib/silcclient/client_ftp.c.
+
+       * Check that newsize in silc_buffer_realloc is larger than
+         the old buffer's size.  Affected file lib/silcutil/silcbufutil.h.
+
+       * Added better monitor of file transfers.  It now monitors
+         key agreement protocol during the file transfer too.  Added
+         error reporting too.  Affected files
+         irssi/src/silc/core/silc-servers.c,
+         irssi/src/fe-common/silc/module-formats.[ch].
+
+       * Wrote a help file for FILE command.
+
+       * Added silc_rng_global_get_byte_fast to get not-so-secure
+         random data as fast as possible.  Random data is read from
+         /dev/urandom if available and from the SILC RNG if not
+         available.  It is used in padding generation.  Affected file
+         lib/silccrypt/silcrng.[ch].
+
+       * All packets in client library are now processed synchronously.
+         Optimized packet processing a lot.  Affected file
+         lib/silcclient/client.c.
+
+       * All server connection packets are processing synchronously
+         now in server, to optimize packet processing.  Affected file
+         silcd/server.c.
+
+       * Include files are installed now only in Toolkit distribution
+         if make install is given.  Affected files: all Makefile.am's.
+
+Thu Oct 25 22:44:06 EDT 2001  Pekka Riikonen <priikone@silcnet.org>
+
+       * Assure that silc_client_notify_by_server_resolve does not
+         resolve the client information multiple times.  If it cannot
+         be found by the first it cannot be found at all.  Affected
+         file lib/silcclient/client_notify.c.
+
+       * Fixed WHOWAS command reply calling.  Affected file
+         lib/silcclient/command_reply.c.
+
+       * Removed all references to silc_idlist_get_client from the
+         Irssi SILC client since that call is internal call used by
+         the library.  The Irssi SILC client will use now client
+         retrieval functions found in silcapi.h.
+
+       * Fixed a bug in resolving nickname info before sending
+         private message.  It used freed memory.  Affected file
+         irssi/src/silc/core/silc-servers.c.
+
+Thu Oct 25 19:04:49 EDT 2001  Pekka Riikonen <priikone@silcnet.org>
+
+       * Assure my_channels statistics cannot go negative in server.
+         Affected files silcd/server.c, silcd/server_util.c.
+
+Wed Oct 24 19:53:05 EDT 2001  Pekka Riikonen <priikone@silcnet.org>
+
+       * Upgraded dotconf 1.0.2 to 1.0.6 in lib/dotconf.
+
+Tue Oct 23 13:51:19 EEST 2001  Pekka Riikonen <priikone@silcnet.org>
+
+       * Win32 Toolkit changes.  Affected files
+         win32/silc.dsw, win32/libsilc/libsilc.def,
+         win32/libsilcclient/libsilc.def,
+         lib/silcutil/silcutil.c, and
+         lib/sftp/sftp_fs_memory.c.
+
+Mon Oct 22 16:35:05 EDT 2001  Pekka Riikonen <priikone@silcnet.org>
+
+       * Added silc_net_localip to return local host's IP address.
+         Affected file lib/silcutil/silcnet.[ch].
+
+       * If key exchange or rekey protocol is active for a connection
+         parse all packets syncronously since there might be packets
+         in packet queue that we are not able to process without first
+         processing packets before them.  Affected file silcd/server,
+         lib/silcclient/client.c.
+
+       * SilcPacketParserCallback now returns TRUE or FALSE to indicate
+         whether library should continue processing the packet. 
+         Affected file lib/silccore/silcpacket.h.
+
+       * Added SilcSFTPMonitor callback, SilcSFTPMonitors and
+         SilcSFTPMonitorData to SFTP server to monitor various
+         SFTP client requests.  Affected file lib/silcsftp/silcsftp.h,
+         lib/silcsftp/sftp_server.c.
+
+       * Added silc_file_size to return file size.  Affected file
+         lib/silcutil/silcutil.[ch].
+
+       * Implemented the file transfer support for the client library.
+         Added preliminary support for simple client to client one-file
+         transmission.  Affected file lib/silcclient/client_ftp.c,
+         lib/silccilent/client.[ch].
+
+       * Added new local command FILE to the Irssi SILC Client.
+         It is used to perform the file transfer.  It has subcommands
+         SEND, RECEIVE, SHOW and CLOSE.  Affected files
+         irssi/src/silc/core/client_ops.c, 
+         irssi/src/silc/core/silc-server.[ch].
+
+Mon Oct 22 12:50:08 EDT 2001  Pekka Riikonen <priikone@silcnet.org>
+
+       * Relay the SILC_PACKET_FTP in the server.  Affected files
+         silcd/server.c and silcd/packet_receive.c.
+
+Sun Oct 21 20:21:02 EDT 2001  Pekka Riikonen <priikone@silcnet.org>
+
+       * Renamed silc_file_read and silc_file_write to functions
+         silc_file_readfile and silc_file_writefile.  Added function
+         silc_file_open and silc_file_close.  Affected files 
+         lib/silcutil/silcutil.[ch].
+
+Thu Oct 18 20:58:13 EDT 2001  Pekka Riikonen <priikone@silcnet.org>
+
+       * Resolve the client info when received private message or
+         channel message for a client which nickname we don't know.
+         Affected files lib/silcclient/client_prvmsg.c and
+         lib/silcclient/client_channel.c.
+
+       * Do not crash in /KEY if client is not connected.  Affected
+         file irssi/src/silc/core/silc-channels.c.
+
+       * Added SilcClientStatus field to the SilcClientEntry in the
+         lib/silcclient/idlist.h.
+
+         Added SILC_CLIENT_STATUS_RESOLVING to mark that the entry
+         is incomplete and is being resolved, it won't be resolved
+         twice.
+
+         Make sure also that USERS command reply does not resolve
+         twice information.  Affected file is
+         lib/silcclient/command_reply.c.
+
+         Make sure that silc_client_get_clients_by_list does not
+         resolve twice same information.
+
+       * Check for valid client->id in the silc_server_free_client_data.
+         Affected file silcd/server.c.
+
+       * Fixed /GETKEY nick@server not to crash if the server entry
+         is not found.  Affected file lib/silcclient/command.c.
+
+       * Fixed the silc_server_check_cmode_rights to check the
+         requested modes correctly.  Affected file silcd/command.c.
+
+Thu Oct 18 12:10:22 CEST 2001  Pekka Riikonen <priikone@silcnet.org>
+
+       * Better checks for non-printable chars in nick added.
+         Affected file silcd/command.c.
+
+Thu Oct 18 09:18:58 EDT 2001  Pekka Riikonen <priikone@silcnet.org>
+
+       * Call the silc_server_udpate_servers_by_server in the
+         primary router that comes back online in the backup resuming
+         protocol.  Otherwise it routes packets wrong.  Affected file
+         silcd/server_util.[ch], silcd/server_backup.c.
+
+Wed Oct 17 16:51:18 EDT 2001  Pekka Riikonen <priikone@silcnet.org>
+
+       * Added SILC_STR_UI8_[N]STRING[_ALLOC] formats to the
+         lib/silcutil/silcbuffmt.[ch].
+
+       * Redefined the SILC packet header to include the padding
+         length.  Affected file lib/silccore/silcpacket.[ch].
+
+       * Added SILC_PACKET_PADLEN_MAX macro to return the padding
+         length for maximum padding up to 128 bytes).  Affected
+         file lib/silccore/silcpacket.h.
+
+       * Removed all backwards support for old 0.5.x MAC thingies.
+         The SILC packet header change makes it impossible to be
+         backwards compatible.
+
+       * Send the ENDING packet with timeout in the backup resuming
+         protocol.  This is to assure that all routers has connected
+         to the primary router.  Affected file silcd/server_backup.c.
+
+       * Changed the RNG to take the first IV from random data.  It
+         used to take it from zero actually.  Changed the RNG also
+         to use /dev/urandom during session.  /dev/random is used
+         in initialization.  Affected file lib/silccrypt/silcrng.[ch].
+
+Tue Oct 16 20:45:49 EDT 2001  Pekka Riikonen <priikone@silcnet.org>
+
+       * Changed the SILC packet header to have the first two bytes
+         (the packet length) encrypted.  Affected files aroung the
+         code tree, lib/silccore/silcpacket.[ch].  Removed the
+         SilcPacketCheckDecrypt callback.  It is not needed anymore
+         since the silc_packet_receive_process will determine now
+         whether the packet is normal or special.
+
+       * Implemented the unidirectional MAC keys.  Affected files
+         lib/silcske/silcske.c, silcd/protocol.c and
+         lib/silcclient/protocol.c.
+
+       * Implemented the packet sequence number to the MAC computation.
+         Affected files lib/silccore/silcpacket.c, silcd/protocol.c,
+         silcd/packet_send.c, silcd/server.c, lib/silcclient/client.c,
+         lib/silcclient/protocol.c.
+
+Mon Oct 15 17:42:55 EDT 2001  Pekka Riikonen <priikone@silcnet.org>
+
+       * Allow backup router to announce servers.  All servers
+         announced by backup router are added to the global list
+         automatically.  Update hte server's socket to our primary
+         router also when backup router announces a server.
+         Affected file silcd/packet_receive.c.
+
+       * Do not update the client->router in the function
+         silc_server_udpate_clients_by_server if the client is on
+         global list.  We might fail to find any specific server
+         for locally connected clients and local cell clients.  They
+         should still use the `from' and not `to' as client->router.
+         This fixes backup router resuming protocol.  Affected file
+         silcd/server_util.c.
+
+       * Decrease channel statistics count only if the channel
+         deletion worked.  Affected files are silcd/server.c and
+         silcd/server_util.c.
+
+       * Added silc_server_update_servers_by_server to update origin
+         of all server entries.  Used during backup router protocol.
+         Affected files silcd/server_util.[ch], silcd/server.c. and
+         silcd/backup_router.c.
+
+       * ROBODoc documented the lib/silccrypt/silchmac.h.  Added new
+         function silc_hmac_init, silc_hmac_update, silc_hmac_final,
+         silc_hmac_get_hash and silc_hmac_get_name.  Affected file
+         lib/silccrypt/silchmac.c.
+
+Sun Oct 14 18:28:22 EDT 2001  Pekka Riikonen <priikone@silcnet.org>
+
+       * Assure that router cannot reroute the same channel message
+         to the sender.  Affected file silcd/packet_receive.c.
+
+Sat Oct 13 12:46:18 EDT 2001  Pekka Riikonen <priikone@silcnet.org>
+
+       * Made better checks that the channel message is not sent
+         to the router it came from.  Affected file is
+         silcd/packet_send.c.  Fixed memory leak too.
+
+       * Announce informations for incoming router connection, but
+         only after checking if it is replaced by backup router.
+         Affected file silcd/packet_receive.c.
+
+Fri Oct 12 18:37:24 EDT 2001  Pekka Riikonen <priikone@silcnet.org>
+
+       * Fixed the backup resuming protocol to work in multiple
+         router environment.  Affected file silcd/server_backup.c.
+
+       * Route packet only to one router in the function
+         silc_server_packet_send_to_channel.  Affected file is
+         silcd/packet_send.c.
+
+       * Fixed silc_server_send_notify_dest to set the broadcast
+         flag.  Fixed the silc_server_send_notify_topic to actually
+         send the TOPIC_CHANGE notify and not SERVER_SIGNOFF notify.
+         Affected file silcd/packet_send.c.
+
+       * Changed the SFTP Filesystem interface.  Changed the
+         SilcSFTPFilesystemStruct to SilcSFTPFilesystemOps to include
+         the filesystem operation function.  The SilcSFTPFilesystem
+         is now a context that is allocated by all filesystem allocation
+         functions and it already includes the operations structure
+         and filesystem specific context.  It is given as argument
+         now to the silc_sftp_server_start.  This made the interface
+         a bit cleaner.  Affected file lib/silcsftp/silcsftp[_fs].h,
+         lib/silcsftp/sftp_fs_memory.c and sftp_server.c.
+
+Thu Oct 11 22:19:26 EDT 2001  Pekka Riikonen <priikone@silcnet.org>
+
+       * Changed the backup router adding and getting interfaces
+         in the server.  The router that will be replaced by the
+         specified backup router is now sent as argument.  Affected
+         files silcd/serverconfig.[ch], silcd/backup_router.[ch], and
+         silcd/server.c.
+
+       * Added silc_net_addr2bin_ne to return the binary form of
+         the IP address in network byte order.  Affected files
+         lib/silcutil/[unix/win32].silc[unix/win32]net.[ch].
+
+Thu Oct 11 12:14:19 EDT 2001  Pekka Riikonen <priikone@silcnet.org>
+
+       * Check for existing server ID in silc_server_new_server
+         and in silc_server_connect_to_router_final and remove the
+         old entry if it exists.  Affected file silcd/packet_receive.c,
+         silcd/server.c.
+
+       * Send the channel message always to only one router, either
+         in upstream or downstream.  Affected file is
+         silcd/packet_send.c.
+
+Tue Oct  9 17:45:43 EDT 2001  Pekka Riikonen <priikone@silcnet.org>
+
+       * Wrote the definition of the backup resuming protocol to the
+         protocol specification.
+
+       * Removed one redundant channel key generation from normal
+         server during joining procedure.  Removed one redundant
+         channel key sending from server to router during joining
+         procedure.  Affected file silcd/command.c.
+
+       * Made minor bugfixes to the backup router resuming protocol.
+         Affected file silcd/server_backup.c, server.c.
+
+Mon Oct  8 16:47:42 EDT 2001  Pekka Riikonen <priikone@silcnet.org>
+
+       * Added --disable-asm configuration option.  Affected files
+         configure.in.pre, lib/silcmath/mpi/configure.in.  A patch
+         by salo.
+
+       * Implemented the backup resuming protocol that is used to
+         resume the primary router position in the cell after the
+         primary router comes back online.  Affected files
+         silcd/server_backup.[ch], silcd/server, silcd/packet_receive.c,
+         and silcd/server_util.[ch].
+
+Sun Oct  7 12:29:25 EDT 2001  Pekka Riikonen <priikone@silcnet.org>
+
+       * Sleep two (2) seconds after sending QUIT command to server.
+         Affected file lib/silcclient/command.c.
+
+       * Assure that if outgoing data buffer is pending do not force
+         send any data.  Affected file silcd/packet_send.c.
+
+       * Assure that if outgoing data buffer is pending do not force
+         send any data.  Affected file lib/silcclient/client.c.
+
+       * Implemented the backup router support when the primary router
+         goes down.  The servers and routers can now use the backup
+         router as new primary router without loosing connectivity.
+
+Sat Oct  6 21:18:54 EDT 2001  Pekka Riikonen <priikone@silcnet.org>
+
+       * Added new SILC_IDLIST_STATUS_DISABLED flag for entries
+         in the server to indicate disabled entry.  All data read
+         from the connection will be ignored and no data is sent
+         for entry that is disabled.  Affected files are
+         silcd/idlist.h, silcd/server.c.
+
+Fri Oct  5 00:03:29 EDT 2001  Pekka Riikonen <priikone@silcnet.org>
+
+       * Created SFTP client and server test programs in the
+         lib/silcsftp/tests directory.
+
+Wed Oct  3 23:31:42 EDT 2001  Pekka Riikonen <priikone@silcnet.org>
+
+       * Implemented memory filesystem (virtual filesystem) for
+         SFTP server.  Affected file lib/silcsftp/silcsftp_fs.h,
+         sftp_fs_memory.c.
+
+Sun Sep 30 22:10:57 EEST 2001  Pekka Riikonen <priikone@silcnet.org>
+
+       * Implemented the SFTP (SSH File Transfer Protocol) to the
+         lib/silcsftp.  It includes SFTP client and SFTP server
+         implementations.
+
+Sun Sep 30 10:35:44 EEST 2001  Pekka Riikonen <priikone@silcnet.org>
+
+       * Moved lib/silccore/silcprotocol.[ch] to the
+         lib/silcutil library.
+
+       * Added silc_buffer_format_vp and silc_buffer_unformat_vp to
+         take variable argument list pointer as argument.  Affected
+         file lib/silcutil/silcbuffmt.[ch].
+
+       * Added silc_buffer_set function that is used to set data
+         to a SilcBuffer that is not allocated at all (SilcBufferStruct).
+         Affected file lib/silcutil/silcbuffer.h.
+
+       * Changed various routines in the core library to use the new
+         silc_buffer_set instead of allocating new buffer only for
+         temporary purposes.
+
+       * Added 64-bit value formatting and unformatting support to the
+         silc_buffer_[un]format routines.  Affected file is
+         lib/silcutil/silcbuffmt.[ch].
+
+         Added also 64-bit macros: SILC_GET64_MSB and SILC_PUT64_MSB,
+         to includes/bitmove.h.
+
+Fri Sep 28 21:30:10 EEST 2001  Pekka Riikonen <priikone@silcnet.org>
+
+       * Fixed channel user mode saving in client library.  Affected
+         file lib/silcclient/command[_reply].c.
+
+Thu Sep 27 22:52:30 EEST 2001  Pekka Riikonen <priikone@silcnet.org>
+
+       * Defined the file transfer to the SILC Protocol.  Added
+         new packet type SILC_PACKET_FTP and defined File Transfer
+         Payload.  The mandatory file transfer protocol is SFTP
+         (SSH File Transfer Protocol).  Affected file in addition
+         of the internet draft is lib/silccore/silcpacket.h.
+
+       * Deprecated the SILC_PACKET_CELL_ROUTERS and defined new 
+         packet SILC_PACKET_RESUME_ROUTER instead.  The new packet
+         is used as part of backup router protocol when the primary
+         router of the cell is back online and wishes to resume
+         the position as primary router.
+
+       * Redefined the MAC generation keys in the protocol.  The
+         same key is not used anymore in both direction.  Both
+         direction will now use different keys for sending and
+         receiving.  This fixes a potential security flaw.  This
+         change causes incompatibilities in the protocol.
+
+       * Redefined also the MAC computation from the packet.
+         An packet sequence number is now added to the MAC 
+         computation.  This prevents possible replay attacks against
+         the protocol.  This change too causes incompatibilities
+         in the protocol.
+
+         Added `sequence' field to the SilcPacketContext to hold
+         the current sequence number for the packet.
+
+Wed Sep 26 20:15:22 EEST 2001  Pekka Riikonen <priikone@silcnet.org>
+
+       * Added `created' field to the SilcIDListData in the file
+         silcd/idlist.h to indicate the time when the entry was
+         created.
+
+       * Added `created' field to the SilcChannelEntry too.  Affected
+         file silcd/idlist.h.
+
+       * Added `creation_time' aguments to all the announcement functions
+         in the server.  If it is provided then only the entries that
+         was created after the provided time frame are actually
+         announced.  Affected file silcd/server.[ch].
+
+       * The protocol says that the Channel ID's IP address must be
+         based on the router's IP address.  Added check for this in
+         the silc_server_new_channel when processing incoming New Channel
+         Payload.  Affected file silcd/packet_receive.c.
+
+       * Print out the correct version with --version in SILC client.
+         Affected file irssi/src/silc/core/silc-core.c.
+
+Mon Sep 24 17:19:00 EEST 2001  Pekka Riikonen <priikone@silcnet.org>
+
+       * Fixed WHOWAS command to check for completnes of the client
+         entry always, not just when the command is coming from client.
+         Affected file silcd/command.c.
+
+       * Added new function silc_server_packet_queue_purge to purge the
+         outgoing data queue to the network.  After the function returns
+         it is guaranteed that the outgoing packet queue is empty.
+         Affected file silcd/packet_send.[ch].
+
+       * Purge the outgoing packet queue in the rekey protocol's final
+         callback to assure that all rekey packets go to the network
+         before quitting the protocol.  Affected file silcd/server.c.
+
+       * Added silc_client_packet_queue_parse as similar function as
+         in server to the client library.  The affected file is
+         lib/silcclient/client.c.
+
+Sun Sep 23 15:15:53 EEST 2001  Pekka Riikonen <priikone@silcnet.org>
+
+       * Splitted silcd/server.c and created silcd/server_util.[ch]
+         for utility functions.
+
+       * Added new socket flag SILC_SF_DISABLED to indicate that the
+         connection is open but nothing can be sent to or received from
+         the connection.  Affected file lib/silcutil/silsockconn.[ch].
+         The checking for disabled socket is checked in the low level
+         silc_socket_write and silc_socket_read functions.
+
+Thu Sep 20 23:11:28 EEST 2001  Pekka Riikonen <priikone@silcnet.org>
+
+       * Allow only nicknames and channel names that fits into the
+         7-bit unsigned char ASCII set.  Affected file silcd/command.c.
+
+Thu Sep 20 18:04:12 EEST 2001  Pekka Riikonen <priikone@silcnet.org>
+
+       * When processing JOIN command reply in server check that if
+         the channel exists in our global list we'll move it the local
+         list.  Affected file silcd/command_reply.c.
+
+       * Fixed the check whether client is joined on the channel already
+         in JOIN command.  Affected file lib/silcclient/command.c.
+
+       * Fixed the JOIN command reply to check whether the channel
+         already exists.  Affected file lib/silcclient/command_reply.c.
+
+Wed Sep 19 22:58:32 EEST 2001  Pekka Riikonen <priikone@silcnet.org>
+
+       * Added silc_ske_status_string to map the SKE error numbers
+         to readable strings.  The affected files are
+         lib/silcske/silcske[_status].[ch].
+
+Tue Sep 18 22:50:41 EEST 2001  Pekka Riikonen <priikone@silcnet.org>
+
+       * Do not show the private channels on the WHOIS channel list
+         as it is not allowed by the protocol.  The affected file is
+         silcd/server.c.
+
 Sun Sep 16 12:32:58 EEST 2001  Pekka Riikonen <priikone@silcnet.org>
 
        * Assure that the packet length digged from the actual packet
@@ -11,6 +1205,34 @@ Sun Sep 16 12:32:58 EEST 2001  Pekka Riikonen <priikone@silcnet.org>
        * Print the selected security properties to the log files in
          the server.  Affected file silcd/protocol.c.
 
+       * Add SKE's reference counter even if calling the completion
+         callback manually.  Otherwise it goes negative, although it
+         does not cause any problems.  The affected file is
+         lib/silcske/silcske.c.
+
+       * Remove the client entry with short timeout after giving the
+         KILL command.  Affected file lib/silcclient/command.c.
+
+       * Fixed to send error reply in WHOIS and IDENTIFY commands in
+         case all found clients are already disconnected (WHOWAS would
+         found them) in the server.  Affected file silcd/command.c.
+
+       * Update the last_receive (time of last data received) to be 
+         updated only when received private or channel message so that
+         the idle time showed in WHOIS makes more sense.
+
+       * Added boolean field `valid' in to the SilcClientEntry in the
+         client library to indicate whether the entry is valid or not.
+         This fixes the nickname change bug on channel when changing
+         the nickname to be same than the old (like nick to Nick) the
+         nickname formatter doesn't set the new nick anymore to Nick@host.
+         Affected file lib/silcclient/idlist.[ch].
+
+       * Now actually fixed the nickname changing on disconnection.
+         Added new function silc_change_nick to the Irssi SILC Client.
+         Affected file irssi/src/silc/core/client_ops.c,
+         irssi/src/silc/core/silc-nicklist.[ch].
+
 Sat Sep 15 13:29:17 EEST 2001  Pekka Riikonen <priikone@silcnet.org>
 
        * Check that the public key exists in the GETKEY command before