Added SILC Server library.
[silc.git] / CHANGES
diff --git a/CHANGES b/CHANGES
index 2f92996c09abf8e10dcc34bce2fd07dfa520c71d..3fc948fd13338b45a1ac58302f8afb4d2364ac6b 100644 (file)
--- a/CHANGES
+++ b/CHANGES
+Wed Dec 28 13:55:22 EET 2005  Pekka Riikonen <priikone@silcnet.org>
+
+       * Added SILC Key Repository library, lib/silcskr.
+
+       * Added SILC Server library, lib/silcserver.
+
+Mon Dec 19 18:04:24 EET 2005  Pekka Riikonen <priikone@silcnet.org>
+
+       * MIME objects in attributes now use SilcMime.  Affected files
+         are lib/silccore/silcattrs.[ch].
+
+Sat Dec 17 20:13:31 EET 2005  Pekka Riikonen <priikone@silcnet.org>
+
+       * Synchronize semaphore posting for real threads in FSM.
+         Affected files are lib/silcutil/silcfsm.c, silcfsm_i.h.
+
+Mon Nov 28 17:06:54 EET 2005  Pekka Riikonen <priikone@silcnet.org>
+
+       * Added silc_file_set_nonblock.  Affected file is
+         lib/silcutil/silcfileutil.h.
+
+       * Added silc_fd_stream_file to lib/silcutil/silcfdstream.[ch].
+
+Sat Nov 26 16:13:40 EET 2005  Pekka Riikonen <priikone@silcnet.org>
+
+       * FSM based implementation of SILC SKE.  Simpler interface also.
+         Affected files are in lib/silcske/.
+
+       * Added SilcBool type.  Affected file lib/silcutil/silctypes.h.
+
+Sat Nov 19 17:34:51 EET 2005  Pekka Riikonen <priikone@silcnet.org>
+
+        * Added SilcMime API to lib/silcutil/silcmime.[ch].  The old
+          silc_mime_parse is available but deprecated.
+
+        * Check that packet is valid when processing key exchange,
+          authentication and rekey protocols.  Fixes a crashbug.
+          Affected files are apps/silcd/protocol.c and
+          lib/silcclient/protocol.c.
+
+        * Added SILC_HASH_MAXLEN to lib/silccrypt/silchash.h, and changed
+          all hash buffers to use that instead of fixed values.
+
+Wed Nov 16 15:47:12 EET 2005  Pekka Riikonen <priikone@silcnet.org>
+
+        * Added SHA-256 to crypto library.  The SHA-256 takes now
+          precedence over SHA-1.
+
+Thu May 26 20:31:06 EEST 2005  Pekka Riikonen <priikone@silcnet.org>
+
+       * Check for valid return value from regcomp.  Affected file
+         lib/silcutil/unix/silcunixutil.c.
+
+Tue May 10 23:11:17 EEST 2005  Pekka Riikonen <priikone@silcnet.org>
+
+       * Fixed silc_hash_uint to work with integers.  Affected
+         file lib/silcutil/silcutil.c.
+
+Tue May 10 15:11:53 EEST 2005  Pekka Riikonen <priikone@silcnet.org>
+
+       * Rewritten SILC Log API.  Affected files lib/silcutil/silclog.[ch].
+
+Mon May  9 12:00:08 EEST 2005  Pekka Riikonen <priikone@silcnet.org>
+
+       * Fixed channel public key list saving on JOIN command reply
+         on backup router.  Affected file apps/silcd/command_reply.c.
+
+Mon May  2 10:42:49 EEST 2005  Pekka Riikonen <priikone@silcnet.org>
+
+       * Added default limit how many channels client can join,
+         default is 50.  Added 'channel_join_limit' configuration
+         option to server too.  Affected files are apps/silcd/command.c
+         and serverconfig.[ch].
+
+Sun May  1 17:42:55 EEST 2005  Pekka Riikonen <priikone@silcnet.org>
+
+       * --without-silc -> --with-silc, --without-irssi -> --with-irssi.
+         On Toolkit the server and client are not compiled by default.
+         Affected file configure.ad.
+
+Thu Apr 28 15:57:37 EEST 2005  Pekka Riikonen <priikone@silcnet.org>
+
+       * Added lib/contrib/getopt.[ch] for platforms that don't
+         have it (it is not GPL implementation).
+
+       * Fixed compilation when pkg-config is used.
+
+Wed Apr 27 11:49:41 EEST 2005  Pekka Riikonen <priikone@silcnet.org>
+
+       * A comma in invite/ban string is invalid, check for it.
+         Affected file apps/silcd/server_util.c.
+
+       * Added SERVICE command to the server.  It parses the command
+         request but SILC Server does not support services for the
+         time being.  Affected file apps/silcd/command.[ch].
+
+       * Added SERVICE command and command reply to client library.
+         It is however incomplete.  Updated Toolkit documentation.
+         Affected files are lib/silcclient/command[_reply].[ch].
+
+       * Fixed IDENTIFY/WHOWAS command reply to send the username
+         correctly (uninitialized buffer).  Affected file is
+         apps/silcd/server_query.c.
+
+Mon Apr 25 14:25:24 EEST 2005  Pekka Riikonen <priikone@silcnet.org>
+
+       * Moved silcer/, silc/, silcd/ and irssi/ to apps/.  This
+         finalizes the major restructuring of the CVS tree.
+
+Mon Apr 25 00:39:30 EEST 2005  Pekka Riikonen <priikone@silcnet.org>
+
+       * Send empty MOTD reply if MOTD file cannot be read.
+         Affected file silcd/command.c.
+
+Sun Apr 24 12:01:37 EEST 2005  Pekka Riikonen <priikone@silcnet.org>
+
+       * Optimized primer number generator to use simpler conversion
+         routines.  Also assure that the prime number will have the
+         highest bit set after modifying it.  Affected file is
+         lib/silcmath/silcprimegen.c.
+
+       * Added LibTomMath to SILC Math library (SILC_DIST_TMA).
+
+       * Added FastTomMath to SILC Math Library (SILC_DIST_TFM),
+         for now only for testing purposes, it will not be delivered
+         in any distribution for now.
+
+       * Removed NSS MPI from the source tree.  Due to upcoming
+         license change for the SILC Toolkit, we cannot deliver the
+         NSS MPI anymore.  I decided to replace it in all distributions
+         with public domain library.
+
+       * Removed GNU regex from lib/contrib and introduced free
+         GNU compatible regex, lib/contrib/regexpr.[ch].  Added
+         GNU regex compatible API to it (only partial).
+
+       * Removed getopt routines from lib/contrib.
+
+Fri Apr 22 12:21:44 EEST 2005  Pekka Riikonen <priikone@silcnet.org>
+
+       * Use silc_server_send_command_reply to send replies instead
+         of encoding packet itself.  Affected file silcd/command.c.
+
+       * Added command sending and receiving statistics to server.
+         Affected files in silcd/.
+
+       * GCC 4 warning fixes.  -Wno-pointer-sign option is now used
+         with GCC, for it not to warn about pointer signedness.
+
+Tue Apr 19 11:57:35 EEST 2005  Pekka Riikonen <priikone@silcnet.org>
+
+       * Added context to the SilcIDCache destructor.  Affected
+         files are lib/silccore/silcidcache.[ch],
+         lib/silcclient/client.c and silcd/server.c.
+
+Mon Apr 18 09:53:28 EEST 2005  Pekka Riikonen <priikone@silcnet.org>
+
+       * Added pkg-config check to configure.
+
+       * The PublicKeyDir must not be used with Admin block in server
+         config.  Affected file silcd/serverconfig.c.
+
+Sat Apr 16 20:23:48 EEST 2005  Pekka Riikonen <priikone@silcnet.org>
+
+       * Added Autodist.
+
+Thu Apr 14 20:25:08 EEST 2005  Pekka Riikonen <priikone@silcnet.org>
+
+       * Handle empty LIST command reply correcttly in server.  Affected
+         file silcd/command_reply.c.
+
+       * Handle empty LIST command reply correctly in client library.
+         The application will now receive one LIST command reply with
+         all arguments set to NULL if there are no channels.  Updated
+         Client Library documentation accordingly.  Affected file
+         lib/silcclient/command_reply.c.
+
+Tue Apr 12 00:02:09 EEST 2005  Pekka Riikonen <priikone@silcnet.org>
+
+       * Added channel name string stringprep profile to the protocol
+         and implementation to allow a little free'er channel name
+         strings.  Affected files are lib/silcutil/silcstringprep.[ch].
+
+       * Added silc_channel_name_[check|verify] to check and verify
+         channel name strings.  Affected files are
+         lib/silcutil/silcstrutil.[ch].
+
+       * Added support for the new channel name preparation in client
+         library and server.  Affected files in lib/silcclient and
+         silcd/.
+
+Mon Apr 11 13:40:27 EEST 2005  Pekka Riikonen <priikone@silcnet.org>
+
+       * Added the Autodist into the source tree.  It replaces the
+         old ./prepare.  It can be used to create distributions as
+         previously.  See README.CVS and README.DIST.  See
+         distributions in distdir/.
+
+Sun Apr 10 11:30:56 EEST 2005  Pekka Riikonen <priikone@silcnet.org>
+
+       * Make sure query sends at least an error back if nothing
+         more is sent.  Affected file silcd/server_query.c.
+
+Thu Apr  7 14:50:01 EEST 2005  Pekka Riikonen <priikone@silcnet.org>
+
+       * During query, check if the original command caller goes
+         away.  If it does, stop the query.  Affected file
+         silcd/server_query.c.
+
+       * Check for valid channel creation in JOIN command reply.
+         Affected file lib/silcclient/command_reply.c.
+
+       * Handle the resolver counter in silc_client_get_users_by_channel
+         callback correctly.  Fixed auto-join bug in Gaim.  Affected
+         file lib/silcclient/idlist.c.
+
+Wed Apr  6 16:56:53 EEST 2005  Pekka Riikonen <priikone@silcnet.org>
+
+       * Added some better error messages.  Affected file
+         silcd/command_reply.c and packet_receive.c.
+
+       * Handle error in WATCH command propely on backup router.
+         Affected file silcd/command.c.
+
+       * Fixed freeing of unfreeable variable in WHOIS command reply.
+         Affected file silcd/command_reply.c.
+
+Wed Apr  6 09:10:31 CEST 2005  Pekka Riikonen <priikone@silcnet.org>
+
+       * Added pkg-config .pc file creation for silc core library
+         and silcclient library.  A patch by c0ffee.
+
+       * Removed the need for GNU Libidn.  Added the simple stringprep
+         from libidn into lib/contrib/.  It is now used also on Windows
+         build.
+
+Mon Apr  4 15:15:46 EEST 2005  Pekka Riikonen <priikone@silcnet.org>
+
+       * Simplified the invite and ban string handling in the
+         server.  Check for valid invite and ban arguments also.
+         Affected file silcd/server_util.c.
+
+Sun Apr  3 14:58:53 EEST 2005  Pekka Riikonen <priikone@silcnet.org>
+
+       * Added WATCH list announcing in backup router protocol.
+         Affected files are silcd/command.c, server.c, server_backup.c.
+
+       * Do not change users mode to founder on normal server/backup
+         if the founder mode is set, and user is first one to join.
+         Affected file silcd/pcaket_receive.c.
+
+       * Do not send CUMODE_CHANGE notify back to sender.  Affected
+         file silcd/packet_receive.c.
+
+       * Added getrusage() to take noise in SILC RNG.  A patch by
+         Mika Boström.  Affected files are configure.in.pre,
+         includes/silcincludes.h.in, lib/silccrypt/silcrng.c.
+
+Sat Apr  2 18:09:30 EEST 2005  Pekka Riikonen <priikone@silcnet.org>
+
+       * Splitted the SILC libraries configuration into a configure
+         fragment into lib/configure.ad.  It is now possible, once
+         this feature is added, to specify whether to compile or not
+         compile included SILC libraries.  Affected files are
+         configure.in.pre, lib/silcmath/mpi/configure.ad,
+         lib/configure.ad, Makefile.defines.pre and
+         Makefile.defines_int.pre.
+
+       * Added --with-silc-includes and --with-silc-libs to configure.
+         If specified the included libs are not compiled, but the
+         specified libs are used.  Pkg-config is not yet supported.
+         Affected file configure.in.pre.
+
+       * Fixed WATCH command handling on backup router.  Router does not
+         send the watch command any more to backup if it originates from
+         backup.  Affected file silcd/command.c.
+
+Fri Apr  1 18:52:47 EEST 2005  Pekka Riikonen <priikone@silcnet.org>
+
+       * Changed announcing to not announce unregistered clients.
+         Affected file silcd/server.c.
+
+       * Fixed username handling in command reply.  Affected file
+         silcd/command_reply.c.
+
+       * Log files are now 0600.  Affected file lib/silcutil/silclog.c.
+
+Thu Mar 31 22:34:22 CEST 2005  Patrik Weiskircher <pat@icore.at>
+
+       * Added new define SILC_MACOSX, if __APPLE__ and __MACH__ is defined.
+          Affected file: includes/silcincludes.h.in
+
+       * bool is defined as _Bool on Mac OS X now.
+          Affected file: lib/silcutil/silctypes.h
+
+Thu Mar 31 08:52:06 EEST 2005  Pekka Riikonen <priikone@silcnet.org>
+
+       * Added support for UTF-8 nicknames, channel names and
+         server names in client library.  Affected files in
+         lib/silcclient/.
+
+       * Added __SILC_HAVE_PTHREAD, __SILC_HAVE_SIM, __SILC_HAVE_LIBIDN,
+         and __SILC_ENABLE_DEBUG to include/silcclient.h for third-party
+         software to check how Toolkit has been compiled.
+
+Wed Mar 30 22:16:35 EEST 2005  Pekka Riikonen <priikone@silcnet.org>
+
+       * Added silc_utf8_str[n]casecmp into lib/silcutil/silcutf8.[ch].
+
+       * Use silc_utf8_str[n]casecmp instead of strcmp routines
+         in library and in SILC Client when dealing with nicknames
+         and other identifier strings.  Affected file in client lib
+         and irssi.
+
+       * Convert nickname to UTF-8 in /msg and /smsg.  Affected file
+         irssi/src/silc/core/silc-servers.c.
+
+Wed Mar 30 10:50:02 EEST 2005  Pekka Riikonen <priikone@silcnet.org>
+
+       * Fixed idcache to work with the new identifier strings.
+         Affected file lib/silccore/silcidcache.c.
+
+       * Added UTF-8 hash and compare function for SilcHashTable.
+         Affected file lib/silcutil/silcutil.[ch].
+
+       * Added casefolding stringprep, SILC_CASEFOLD_PREP.
+         Affected file lib/silcutil/silcstringprep.[ch].
+
+       * Changed the identifier string handling to include the original
+         format in client, server, channel entries and normalized
+         format in cache.  Affected files in silcd/.
+
+Tue Mar 29 16:51:35 EEST 2005  Pekka Riikonen <priikone@silcnet.org>
+
+       * Added support for the new identifier strings and their
+         validity checking.  Nicknames, channel names and usernames
+         can now include practically any kind of letters and various
+         other characters.  Affected files in silcd/ and in libraries.
+
+         NOTE: comparing these strings should now be done with memcmp()
+         to check binary compatibility.  All these strings are normalized
+         and casing is irrelevant.
+
+       * Added silc_identifier_check to lib/silcutil/silcstrutil.[ch]
+         as easy function for applications to check whether identifier
+         strings are valid.
+
+Tue Mar 29 00:45:11 EEST 2005  Pekka Riikonen <priikone@silcnet.org>
+
+       * Fixed SILC_STRING_LDAP_DN encoding and decoding.  Affected
+         file lib/silcutil/silcutf8.c.
+
+       * Added SILC_STRING_UTF8_ESCAPE to lib/silcutil/silcstrutil.h.
+
+Mon Mar 28 22:46:23 CEST 2005  Jochen Eisinger <jochen@penguin-breeder.org>
+
+       * Make public key in getkey reply mandatory.  Affected file
+         lib/silcclient/command_reply.c
+
+Sun Mar 27 19:03:31 CEST 2005  Patrik Weiskircher <pat@icore.at>
+
+       * Added Parameter dont_register_crypto_library to
+         SilcClientParam. If set to TRUE, silcclient library will
+         not initalize the Crypto Libraries and application
+         will need to do it. Affected file lib/silcclient/silcclient.h,
+          lib/silcclient/client.c.
+
+Sun Mar 27 19:02:48 EEST 2005  Pekka Riikonen <priikone@silcnet.org>
+
+       * Imported new silc_utf8_[encode|decode] routines from
+         my internal SILC 1.1 source tree.  New encodings added:
+         SILC_STRING_LOCALE (SILC_STRING_LANGUAGE is deprecated),
+         SILC_STRING_UTF8, SILC_STRING_PRINTABLE, SILC_STRING_VISIBLE,
+         SILC_STRING_TELETEX, SILC_STRING_NUMERICAL and
+         SILC_STRING_LDAP_DN.
+
+       * Splitted UTF-8 routines into lib/silcutil/silcutf8.[ch].
+
+       * Implemented stringprep (RFC 3454) API.  Internally we use
+         GNU Libidn's stringprep, for now, so it is required now to
+         compile SILC sources.  Added lib/silcutil/silcstringprep.[ch].
+
+       * Added checking for GNU Libidn and --with-libidn to configure.
+
+Wed Mar 23 11:20:33 CET 2005  Jochen Eisinger <jochen@penguin-breeder.org>
+
+       * If the passphrases entered do not match while generating a new key,
+         completly start over instead of going into an infinite loop asking
+         the user to re-enter the passphrase correctly.  Affected file
+         lib/silcutil/silcapputil.c
+
+Sun Jan  9 14:28:51 CET 2005  Pekka Riikonen <priikone@silcnet.org>
+
+       * Make sure server is removed from backup list when it is
+         deleted.  Affected files silcd/command.c, server.c,
+         server_util.c.
+
+       * Close socket when connecting to router fails.  Affected
+         file silcd/server.c.
+
+Tue Jan  4 13:06:26 CET 2005  Jochen Eisinger <jochen@penguin-breeder.org>
+
+       * Adopt configuration toolchain to current auto-tools.
+         Affected files prepare, irssi/configure.in
+       * Revert most of the UTF-8 fixes to SILC Client 1.0.1.  Will
+         redo that.  Affected files irssi/src/silc/core/client_ops.c,
+         irssi/src/fe-common/silc/fe-silc-channels.c
+       * Take over command line options into silcclient data structure.
+         Affected file irssi/src/silc/core/silc-core.c
+
+Wed Dec  8 16:15:11 CET 2004  Pekka Riikonen <priikone@silcnet.org>
+
+       * Do not try to initiate backup resuming protocol forever.
+         Affected file silcd/server_backup.c.
+
+Wed Nov 24 18:24:05 CET 2004  Pekka Riikonen <priikone@silcnet.org>
+
+       * ID change in resuming has to be done before changing
+         detached client's modes, since the ID change may fail and
+         leave ghosts on the network.  Affected file is
+         silcd/packet_receive.c.
+
+Tue Nov 23 16:54:35 CET 2004  Pekka Riikonen <priikone@silcnet.org>
+
+       * Fixed Win32 scheduler to not stuck anymore.  A patch from
+         Juha Räsänen.  Affected file is
+         lib/silcutil/win32/silcwin32schedule.c.
+
+       * Fixed QoS parsing for connection blocks in server.  Affected
+         file is silcd/serverconfig.c.
+
+       * Fixed server statistics increasing in server.  Affected file
+         is silcd/server.c.
+
+       * The CLOSE command now marks backup router as self disconnected
+         to avoid resuming problems.  Affected file silcd/command.c.
+
+Wed Sep 22 19:46:32 CEST 2004  Patrik Weiskircher <pat@icore.at>
+
+       * When using silc_net_create_connection[_async], and your system can
+         create IPv6 sockets, it will try to connect to the IPv6 host.
+         Now it tries to connect to an IPv4 host if IPv6 fails. Affected
+         file lib/silcutil/unix/silcunixnet.c
+
+Fri Jun 18 19:26:58 CEST 2004  Pekka Riikonen <priikone@silcnet.org>
+
+       * Check for valid route when receiving packet from router and
+         when routing it to local server in the cell.  A patch from
+         Matt Miller.  Affected files silcd/router.c and server.c.
+
+Sat May  1 13:55:54 CEST 2004  Patrik Weiskircher <pat@icore.at>
+
+       * Couldn't detach and reattach twice, because of the previous
+         commit. Affected file silcd/packet_receive.c
+
+Fri Apr 30 19:40:28 CEST 2004  Patrik Weiskircher <pat@icore.at>
+
+       * Added check to ignore Port value if Initiator is FALSE.
+         Remote router coudln't connect if Port was set. Affected file
+         silcd/serverconfig.c
+
+       * If some client tries to resume more than once at the same time,
+         server crashed. Router didn't crash, but showed odd behaviour
+         (didn't allow clients to join anymore, ..). Affected files
+         silcd/packet_receive.c silcd/idlist.h
+
+Mon Mar 15 21:10:08 EET 2004  Pekka Riikonen <priikone@silcnet.org>
+
+       * Destroy the file transfer session in silc_client_file_close
+         with timeout.  Affected file lib/silcclient/client_ftp.c.
+
+       * Call SFTP server monitor in READ and WRITE after the actual
+         operations.  Affected file lib/silcsftp/sftp_server.c.
+
+Wed Mar 10 21:30:02 EET 2004  Pekka Riikonen <priikone@silcnet.org>
+
+       * Create one configure script from configure fragments
+         (configure.ad).  This is a first step towards new distribution
+         system.  Affected files prepare, configure.in.pre,
+         lib/silcmath/mpi/configure.ad.
+
+Wed Mar 10 18:35:24 CET 2004  Jochen Eisinger <jochen@penguin-breeder.org>
+
+       * Removed expiring of client key pair.  Affected file is
+         irssi/src/silc/core/clientutil.c
+
+Tue Mar  9 17:11:58 EET 2004  Pekka Riikonen <priikone@silcnet.org>
+
+       * Check the number of connections from real number of
+         connections instead of socket number, when deciding if
+         server is full.  Affected files are silcd/server.c,
+         server_internal.h and silcd.c.
+
+       * Clarified the connections_max meaning in General section
+         in doc/example_silcd.conf.in.
+
+       * The reconnect_keep_trying default value set to TRUE
+         if it is not defined in the config file.  Affected file
+         silcd/serverconfig.c.
+
+Wed Mar  3 15:13:49 CET 2004  Pekka Riikonen <priikone@silcnet.org>
+
+       * Fixed crashbug in connection closing, after a protocol
+         completion callback, which might have closed it already.
+         Affected file silcd/server.c.
+
+       * Fixed rekey with PFS in backup router.  It did not allow
+         rekeys with PFS, and when the rekey protocol timedout
+         it crashed the backup router without the above fix.  Affected
+         file silcd/packet_send.c and server.c.
+
+Sat Feb 28 16:25:09 EET 2004  Pekka Riikonen <priikone@silcnet.org>
+
+       * The silc_client_add_channel_private_key now returns the
+         private key context if pointer is given as argument.
+         Affected files are lib/silcclient/silcclient.h and
+         client_channel.c.
+
+       * Added support for using channel private keys in SILC
+         Client Library even if the private key mode is not set
+         on the channel.  Affected file lib/silcclient/client_channel.c.
+
+       * The channel private key used to decrypt message is now
+         delivered to the application in the 'channel_messageÃ' client
+         operation.  Affected files are lib/silcclient/silcclient.h
+         and client_channel.c.
+
+       * Fixed wrong arg type for user limit in CMODE command reply.
+         Affected file silcd/command.c.
+
+       * The user limit is now taken and saved to SilcClientEntry in
+         JOIN and CMODE command replies and in CMODE_CHANGE notify.
+         Affected files lib/silcclient/silcclient.h, command_reply.c
+         and client_notify.c.
+
+       * Added support to the new private message key indicator
+         packet.  Added a new function to the client library:
+         silc_client_send_private_message_key_request.  The sender
+         indicates to be initiator, and receiver is responder.
+         Added the indicator to the SilcClientEntry as 'prv_resp'
+         boolean.  Affected files are lib/silcclient/silcclient.h
+         client.[ch], and client_prvmsg.c.
+
+Fri Feb 27 11:25:26 CET 2004  Pekka Riikonen <priikone@silcnet.org>
+
+       * Fixed the JOIN command calling when called with both
+        -auth and -founder.  Affected file is lib/silcclien/command.c.
+
+Wed Feb 25 23:12:11 EET 2004  Pekka Riikonen <priikone@silcnet.org>
+
+       * Check watcher list for resumed clients as well.  Affected
+         file is silcd/packet_receive.c.
+
+Tue Feb 24 16:49:10 EET 2004  Pekka Riikonen <priikone@silcnet.org>
+
+       * Implemented the user limit to the CMODE_CHANGE notify,
+         CMODE command reply and JOIN command reply in server.
+         Affected files are silcd/server.c, command.c, command_reply.c,
+         packet_send.c and packet_receive.c.
+
+Mon Feb 23 23:31:15 EET 2004  Pekka Riikonen <priikone@silcnet.org>
+
+       * Defined SILC_STRFMT_END that must be used now with
+         silc_buffer_strformat, instead of SILC_STR_END.  Fixes
+         crashes on AMD64.  Affected files are lib/silcutil/silcbuffmt.h,
+         lib/silcclient/silcvcard.c, silcd/server_util.c.
+
+       * Fixed the adding of public key to the WATCH list in server.
+         Fixed the WATCH notify sending to client.  Affected files
+         are silcd/packet_send.[ch], command.c, server_util.c.
+
+       * Implemented the watching by public key in the SILC Client
+         Library and SILC Client.  Affected files are
+         lib/silcclient/command.c and client_notify.c.
+
+Mon Feb 23 09:30:30 CET 2004  Pekka Riikonen <priikone@silcnet.org>
+
+       * Added support for public key watching in server.  Affected
+         files are silcd/server.c, server_internal.h, command.c,
+         server_util.c.
+
+Sun Feb 22 19:03:59 EET 2004  Pekka Riikonen <priikone@silcnet.org>
+
+       * Added public key to the SIlcClientEntry.  Affected files
+         are lib/silcclient/silcclient.h, command_reply.c, idlist.c
+
+       * Fixed the get_clients_whois reply processing to return
+         exactly same entries server returned.  Makes it possible
+         to search using attributes.  Affected file is
+         lib/silcclient/idlist.c.
+
+Sat Feb 21 19:21:57 EET 2004  Pekka Riikonen <priikone@silcnet.org>
+
+       * Save founder key to SilcChannelEntry.  Affected files are
+         lib/silcclient/silcclient.h, command_reply.c, idlist.c.
+
+Fri Feb 20 20:37:38 EET 2004  Pekka Riikonen <priikone@silcnet.org>
+
+       * Call the monitor callback with _CLOSED status from the
+         silc_client_file_close.  Affected files are
+         lib/silcclient/client_fpt.c, silcclient.h
+
+       * Added silc_client_get_clients_whois which resolves using
+         WHOIS, and supports requested attributes as well.
+         Affected files are lib/silcclient/silcclient.h, idlist.c.
+
+Fri Feb 19 21:09:22 EET 2004  Pekka Riikonen <priikone@silcnet.org>
+
+       * Added support for asking the destination filename where
+         the downloaded file is saved in the file transfer.  Affected
+         files are lib/silccilent/silcclient.h, client_ftp.c.
+
+Wed Feb 18 02:46:17 EET 2004  Pekka Riikonen <priikone@silcnet.org>
+
+       * Fixed error handling in resuming data processing.  Affected
+         files are lib/silcclient/client_resume.c and client.c.
+
+Tue Feb 17 19:34:30 EET 2004  Pekka Riikonen <priikone@silcnet.org>
+
+       * Fixed silc_client_send_private_message to return TRUE correctly.
+         Affected file lib/silcclient/client_prvmsg.c.
+
+       * Added topic to the SilcChannelEntry.  Affected files are
+         lib/silcclient/silcclient.h, command_reply.c, client_notify.c.
+
+Fri Feb 13 14:19:14 CET 2004  Jochen Eisinger <jochen@penguin-breeder.org>
+
+       * Use conn->cmd_ident for all silc_client_command_call()s.  Affected
+         file lib/silcclient/command.c
+
+Fri Feb 13 13:53:45 CET 2004  Jochen Eisinger <jochen@penguin-breeder.org>
+
+       * Convert all commands to UTF-8 before passing them to the
+         client library.  Still need to convert replies from UTF-8 to
+         the locale encoding.  Affected file
+         irssi/src/silc/core/silc-cmdqueue.c
+
+Fri Feb 13 13:13:07 CET 2004  Jochen Eisinger <jochen@penguin-breeder.org>
+
+       * redirect all silc_client_command_calls through a queueing framework.
+         This fixes /CYCLE and the annoying "nick change after auto-joining
+         a channel".  Furthermore it defines one central point where
+         command parameters can be UTF-8-ified.  Affected files
+         irssi/src/silc/core/Makefile, client_ops.c, silc-channels.c,
+         silc-servers.[ch], silc-core.c, silc-cmdqueue.[ch], silc-lag.c
+
+Fri Feb 13 12:04:41 CET 2004  Jochen Eisinger <jochen@penguin-breeder.org>
+
+       * use asynchronous connect() to establish router connections.
+         Fixes problem when the primary router goes down.  Affected files
+         silcd/server.c, silcd/server_backup.c
+
+Thu Feb 12 20:09:59 EET 2004  Pekka Riikonen <priikone@silcnet.org>
+
+       * Added SILC_[32|64]_TO_PTR and SILC_PTR_TO_[32|64] macros.
+         Fixed various compilation warnings when type casting ints
+         to pointers or vice versa, of different size.  Updates around
+         the source free.
+
+Tue Feb  3 23:25:17 EET 2004  Pekka Riikonen <priikone@silcnet.org>
+
+       * Surrogates not allowed in UTF-8 strings, updated decoder.
+         Affected file lib/silcutil/silcstrutil.c.  Added UTF-8
+         testers in lib/silcutil/tests/ directory.
+
+Wed Jan 14 18:42:44 EET 2004  Pekka Riikonen <priikone@silcnet.org>
+
+       * Added SILC_CLIENT_CONN_ERROR_KE, ERROR_AUTH, ERROR_RESUME and
+         ERROR_TIMEOUT SilcClientConnectionStatus errors.  Affected
+         files are lib/silcclient/silcclient.h, client.c.
+
+Mon Jan 12 13:01:10 CET 2004  Jochen Eisinger <jochen@penguin-breeder.org>
+
+       * When resuming a session fails, notify the user that the session
+         file needs to be removed eventually.  Affected files
+         irssi/src/fe-common/silc/module-formats.[ch],
+         irssi/src/silc/core/client_ops.c.
+
+Tue Jan 04 12:16:04 CET 2004  Jochen Eisinger <jochen@penguin-breeder.org>
+
+       * Added DIST_SUBDIRS symbols to include all subdirs in distributions.
+         Affected files lib/silcutil/Makefile.am, lib/silcmath/Makefile.am
+
+       * Typofix in Irssi::Silc module.  Affected file
+         irssi/src/perl/silc/Silc.xs.
+
+Tue Jan 04 02:43:44 CET 2004  Jochen Eisinger <jochen@penguin-breeder.org>
+
+       * Changed the way NOTICE flagged messages are treated. Added support
+         for notices in queries and signing notices.  Affected files
+         irssi/default.theme; irssi/docs/help/in/notice.in;
+         irssi/src/fe-common/silc/module-formats.[ch], fe-silc-messages.c;
+         irssi/src/silc/core/client_ops.c, silc-channels.c, silc-servers.c
+
+       * Fixed typo in /ACTION help.  Affected file
+         irssi/docs/help/in/action.in
+
+Mon Jan 03 23:26:38 CET 2004  Jochen Eisinger <jochen@penguin-breeder.org>
+
+       * Fixed typo in perl module.  Affected file
+         irssi/src/perl/silc/Server.xs
+
+       * Changed the way ACTION flagged messages are treated. Added support
+         for actions in queries and signing actions.  Affected files
+         irssi/default.theme; irssi/docs/help/in/action.in;
+         irssi/src/fe-common/silc/module-formats.[ch], fe-silc-messages.c,
+         fe-silc-queries.c; irssi/src/silc/core/client_ops.c, silc-channels.c,
+         silc-servers.[ch]
+
+Mon Jan 03 16:04:29 CET 2004  Jochen Eisinger <jochen@penguin-breeder.org>
+
+       * Incorrectly reported error when client had to be resolved from
+         server in /SMSG.  Affected file irssi/src/silc/core/silc-servers.c
+
+Sat Jan  3 16:37:15 EET 2004  Pekka Riikonen <priikone@silcnet.org>
+
+       * Fixed whois public key hash table deleting and adding in
+         detached client case.  Affected file silcd/packet_receive.c.
+
+Sat Jan 03 12:15:38 CET 2004  Jochen Eisinger <jochen@penguin-breeder.org>
+
+       * Changed filenames of silc/fe module not to collide with filenames
+         from core/fe.  Also seperated public messages printing from
+         query messages printing.  Affected files are all in
+         irssi/src/fe-common/silc.
+
+Sat Jan  3 12:18:07 EET 2004  Pekka Riikonen <priikone@silcnet.org>
+
+       * Fixed the invite process handling during joining to use
+         correct server name for the client that is matched against
+         the invite string for the channel.  Wrong server name caused
+         inability to join the channel.  Affected file is
+         silcd/command.c.
+
+Fri Jan  2 23:34:17 EET 2004  Pekka Riikonen <priikone@silcnet.org>
+
+       * Fixed the CUMODE channel founder authentication on normal
+         server to not remove the founder rights on existing founder
+         before checking that router accepts the mode change.  Affected
+         files are silcd/command.c and silcd/packet_receive.c.
+
+       * Remove the server entry correctly when rekey timeouts and
+         remote router connection on normal server is closed.  Fixes
+         a crash where server uses the freed server entry.  Affected
+         file silcd/server.c.
+
+Fri Jan 02 10:28:15 CET 2004  Jochen Eisinger <jochen@penguin-breeder.org>
+
+       * Add /SILCNET [ADD|REMOVE|LIST] command to manage different SILC
+         networks.  This is the first step in solving the bug about
+         /SERVER ADD -silcnet <silcnet>.  Affected files
+         irssi/docs/in/silcnet.in; irssi/src/fe-common/silc/Makefile.am,
+         fe-silcnet.c, fe-common-silc.c, module-formats.[ch];
+         irssi/src/silc/core/silc-chatnets.[ch], silc-core.c, Makefile.am
+
+Thu Jan 01 20:11:32 CET 2004  Jochen Eisinger <jochen@penguin-breeder.org>
+
+       * /SMSG and /MMSG now correctly create new queries. Affected files
+         irssi/src/fe-common/silc/fe-messages.c, irssi/scripts/silc-mime.pl
+
+       * Add basic support for SILC protocol specific variables in perl.
+         Affected files irssi/src/perl/silc/*, irssi/configure.in,
+         irssi/src/perl/Makefile.am
+
+Wed Dec 31 17:06:55 CET 2003  Jochen Eisinger <jochen@penguin-breeder.org>
+
+       * Don't use silc_get_input, it's obviously not reliable.  Fixes
+         issue when the current key expires.  Affect file
+         irssi/src/silc/core/clientutils.c
+
+       * Make the session data filename configurable.  This makes it
+         possible to have different session files for different
+         SILC networks.  Affected files irssi/src/silc/core/silc-core.c,
+         client_ops.[ch], silc-servers.c,
+         irssi/src/silc/fe-common/silc/module-formats.[ch]
+
+       * Use the same set of libtool files for the MPI lib as for the
+         rest of the toolkit.  Affected files lib/silcmath/mpi/config.guess,
+         config.sub, configure.in, install-sh, missing, mkinstalldirs
+
+Sun Dec 28 21:57:39 EET 2003  Pekka Riikonen <priikone@silcnet.org>
+
+       * Fixed server statistics decrementing error to not go to
+         negative.  Affected file silcd/packet_receive.c.
+
+Sat Dec 20 14:42:36 EET 2003  Pekka Riikonen <priikone@silcnet.org>
+
+       * Use silc_server_query_add_error to add error in public key
+         search error.  Added support in send_reply to send errors
+         without specific argument.  Affected file silcd/server_query.c.
+
+       * Fixed the WHOIS, IDENTIFY and WHOWAS error handling in SILC
+         Client for NO_SUCH_NICK.  It was against the protocol specs.
+         Affected file irssi/src/silc/core/client_ops.c.
+
+       * Added backwards support for the wrong NO_SUCH_NICK error sending
+         in server.  To be removed in SILC Server 1.0.  Both old clients
+         and clients with fixed error handling now works.  Affected file
+         silcd/server_query.c.
+
+Sat Dec 20 00:44:47 CET 2003  Patrik Weiskircher <pat@icore.at>
+
+       * fixed a bug in the whois using attributes function where no
+         error was sent if no nickname and client id but the attributes were
+         given to whois. Affected file silcd/server_query.c
+
+Tue Dec 16 21:34:59 CET 2003  Patrik Weiskircher <pat@icore.at>
+
+       * remove public key from public key hashtable on detach. Affected
+         file silcd/packet_receive.c
+
+       * free public key hashtable before removing clients on server
+         shutdown. Affected file silcd/server.c
+
+       * remove public key prior deleting client-data on killing a client.
+         Affected file silcd/server_util.c
+
+Sat Dec 06 21:35:14 CET 2003  Patrik Weiskircher <pat@icore.at>
+
+       * Getting the MOTD from other servers works now. Affected
+         files are silcd/command.c and silcd/command_reply.c
+
+Thu Dec 04 11:33:46 CET 2003  Jochen Eisinger <jochen@penguin-breeder.org>
+
+       * Initialize the variable idletag, since it is tested in
+         silc_core_deinit for its default value.  Affected file
+         irssi/src/silc/core/silc-core.c
+
+Sun Nov 30 19:47:02 CET 2003  Patrik Weiskircher <pat@icore.at>
+
+       * Fixed signed channel messages across cells. Affected file
+         silcd/packet_send.c
+
+Fri Nov 28 19:13:21 EET 2003  Pekka Riikonen <priikone@silcnet.org>
+
+       * Changed the SILC_LOG_* macros to not be empty if SILC_DEBUG
+         is not defined.  They can now be safely used in if-statements
+         without braces.  Affected file lib/silcutil/silclog.h.
+
+       * Added the checks for backup closing connection due to error
+         (local or remote) and thus not allow the resuming to occur
+         in reconnect.  Affected files are silcd/packet_send.c
+         and server.c.
+
+Tue Nov 25 15:20:59 EET 2003  Pekka Riikonen <priikone@silcnet.org>
+
+       * Help file updates.  Affected files in irssi/src/docs/help/in/.
+
+Wed Nov 23 20:51:21 CET 2003  Patrik Weiskircher <pat@icore.at>
+
+       * Fixed channel messages across cells. Affected file
+         silcd/packet_send.c
+
+Wed Nov 12 11:34:56 EET 2003  Pekka Riikonen <priikone@silcnet.org>
+
+       * Fixed file transmission accepting in client library to not
+         start the negotiation if user hasn't accepted the transfer,
+         instead create new session for resent transfer.  Affected
+         file lib/silcclient/client_ftp.c.
+
+       * Show the session ID in the file transmision list.  Remove
+         session from list that failed to transfer.  Switch the current
+         session automatically after transmission, and in errors, to new
+         session if other sessions exists in the transfer list.  Affected
+         files are irssi/src/silc/core/silc-servers.c,
+         irssi/src/fe-common/silc/modfule-formats.c.
+
+Mon Nov 10 14:41:40 CET 2003  Jochen Eisinger <jochen@penguin-breeder.org>
+
+       * Fixed MIME header parsing for the hopefully last time.  Affected
+         file lib/silcutil/silcstrutil.c
+
+Mon Nov 10 13:03:46 EET 2003  Pekka Riikonen <priikone@silcnet.org>
+
+       * Rewrote the PKCS#1 routines.  Added lib/silccrypt/silcpkcs1.[ch].
+
+       * The SILC RNG is now gauranteed to return non-zero random
+         values.  Affected files are lib/silccrypt/silcrng.[ch].
+
+Sun Nov  9 20:44:56 EET 2003  Pekka Riikonen <priikone@silcnet.org>
+
+       * Fixed nickname formatting when changing only case of the
+         nickname.  Affected file lib/silcclient/idlist.c.
+
+Sun Nov  9 19:33:59 CET 2003  Jochen Eisinger <jochen@penguin-breeder.org>
+
+       * Fixed a memory leak and incorrect printing of the "appears as"
+         message.  Affected file irssi/src/silc/core/client_ops.c
+
+Sun Nov  9 17:45:11 EET 2003  Pekka Riikonen <priikone@silcnet.org>
+
+       * Added CRT (Chinese Remainder Theorem) supported RSA
+         private keys and private key operations.  This significantly
+         increases private key operation efficiency.  No compatibility
+         issues with new or old private keys.  Affected files are
+         lib/silccrypt/rsa.[ch], rsa_internal.h and pkcs1.c.
+
+Sat Nov  8 13:08:53 EET 2003  Pekka Riikonen <priikone@silcnet.org>
+
+       * Fixed GCC-3.3.2 related compilation warnings from the
+         source tree.
+
+Fri Nov  7 23:01:47 EET 2003  Pekka Riikonen <priikone@silcnet.org>
+
+       * Removed RC6 from distributions.
+
+Fri Nov  7 19:38:42 EET 2003  Pekka Riikonen <priikone@silcnet.org>
+
+       * Added some better comments to lib/silccrypt/silcpkcs.h,
+         optimized some routines in lib/silccrypt/silcpkcs.c.
+         Added test_silcpkcs into lib/silccrypt/tests/.
+
+       * Fixed silc_rng_global_init to actually init the global RNG
+         if RNG wasn't provided for it.  Affected file is
+         lib/silccrypt/silrng.c.
+
+Thu Nov  6 21:08:28 EET 2003  Pekka Riikonen <priikone@silcnet.org>
+
+       * Added silc_hash_table_find_by_context_ext.  Affected files
+         lib/silcutil/silchashtable.[ch].
+
+       * Save the public key on normal server in WHOIS command reply
+         from attributes, if present, and add it to public key hash
+         table.  Fixes WHOIS resolving by public key on normal server.
+
+         Optimized the attributes resolving on normal server to not
+         resolve if we resolved them already from router.
+
+         Affected files are silcd/server_query.c, command_reply.c.
+
+Wed Nov  5 19:36:30 CET 2003 Patrik Weiskircher <pat@icore.at>
+
+       * Added support for whois using attributes.
+         Affected files silcd/command_reply.c, silcd/packet_receive.c,
+         silcd/server.c, silcd/server_internal.h, silcd/server_query.c,
+         silcd/server_util.c
+
+       * Added support for whois using public key attribute to /WHOIS i
+         client command. Affected files irssi/docs/help/in/whois.in,
+         irssi/src/silc/core/silc-servers.c, lib/silcclient/command.c
+
+Wed Nov  5 23:37:36 EET 2003 Pekka Riikonen <priikone@silcnet.org>
+
+       * Fixed UMODE setting in server when the client has anonymous
+         mode set.  The mode setting was not working.  Affected file
+         silcd/command.c.
+
+Mon Nov  2 11:36:08 CET 2003 Jochen Eisinger <jochen@penguin-breeder.org>
+
+       * Fixed some bugs and typos related to sending split messages.
+          Print notification when sending messages with /MMSG.  Affected
+         files irssi/scripts/silc-mime.pl, irssi/src/silc/core/client_ops.c
+
+Fri Oct 31 12:33:59 EET 2003 Pekka Riikonen <priikone@silcnet.org>
+
+       * Optimized the socket referencing in packet routines, client
+         library and server.  Affected files are lib/silccore/silcpacket.c,
+         lib/silcclient/client.c and silcd/server.c.
+
+       * If silc_socket_set_qos is given with NULL arguments the QoS is
+         reset from the socket.  Affected files are
+         lib/silcutil/silcsockconn.[ch].
+
+Thu Oct 30 21:23:24 CET 2003 Jochen Eisinger <jochen@penguin-breeder.org>
+
+       * Add a /LISTKEYS command which lists the locally cached
+         client and server keys.  Affected files
+         irssi/src/fe-common/module-formats.[ch],
+         irssi/src/silc/core/silc-{channels,servers}.c
+         irssi/docs/help/in/listkeys.in
+
+Thu Oct 30 20:23:40 EET 2003 Pekka Riikonen <priikone@silcnet.org>
+
+       * Check that packet queue purging was successful.  Affected
+         files lib/silcclient/client.c and silcd/packet_send.c.  Related
+         to MAC failed errors.
+
+       * Do not clear the inbuf even if it is empty if QoS was applied
+         to it.  Otherwise the QoS data is cleared and MAC failed error
+         will occur.  Affected file lib/silccore/silcpacket.c.
+
+       * Use the rekey period time as rekey protocol timeout value.
+         If the rekey does not succeed during the rekey period there's
+         something very wrong, and we most likely end up with wrong keys,
+         do graceful reconnect then.   Affected file silcd/server.c.
+
+       * Take reference of the socket in the parser context, as it's
+         possible to have the parsers in queue after the socket is
+         disconnected and this may cause crash.  Affected files are
+         lib/silccore/silcpacket.c, lib/silcclient/client.c and
+         silcd/server.c.
+
+Thu Oct 30 17:01:01 EET 2003 Pekka Riikonen <priikone@silcnet.org>
+
+       * Fixed KICK command reply sending, it sent to replies.
+         Affected file silcd/command.c.
+
+Wed Oct 30 14:06:52 CET 2003 Jochen Eisinger <jochen@penguin-breeder.org>
+
+       * Finish the silc-mime.pl script. It now supports MIME type
+         guessing using magic files, signing data messages, executing
+         MIME handlers in background. Affected files
+         irssi/scripts/silc-mime.pl and irssi/docs/help/in/mmsg.in
+
+       * Changed MIME signal handler to make things easier for the perl
+         script. Affected files irssi/src/silc/core/client_ops.c,
+         silc-servers.c, and irssi/docs/signals.txt
+
+       * Cleaned up the silc_mime_parse function and fixed detection
+         of wrapped header lines. Affected file lib/silcutil/silcstrutil.c
+
+Sun Oct 26 21:19:02 EET 2003 Pekka Riikonen <priikone@silcnet.org>
+
+       * Resolve the IP for file transfer listener from the connection
+         socket.  Affected file lib/silcclient/client_ftp.c.
+
+       * Accept NULL hostname parameter in the functions
+          silc_net_check_[local|remote]_by_socket.  Do not reverse lookup
+         if hostname is not wanted.
+
+Fri Oct 24 21:24:12 CEST 2003  Jochen Eisinger <jochen@penguin-breeder.org>
+
+       * Fixed race condition between silc_client_init and
+          my_silc_scheduler. Affected file irssi/src/silc/core/silc-core.c
+
+Fri Oct 24 16:43:40 EEST 2003  Pekka Riikonen <priikone@silcnet.org>
+
+       * Fixed file transfer connection closing when SIGNOFF for
+         the client is received from server.  Affected file is
+         lib/silcclient/client_ftp.c.
+
+Tue Oct 21 13:35:57 CEST 2003  Pekka Riikonen <priikone@silcnet.org>
+
+       * Check for disconnected socket in QUIT callback.  Affected
+         file silcd/command.c.
+
+Thu Oct 21 09:43:17 CEST 2003  Jochen Eisinger <jochen@penguin-breeder.org>
+
+        * Modified the MIME parsing to allow \n and \r\n as delimiters.
+         Affected files lib/silcutil/silcstrutil.c
+
+       * Cleaned up the escape/unescape functions for correctness and
+         speed. Affected file irssi/src/silc/core/client_ops.c
+
+       * Removed handling for data messages with Content-Type: text/*,
+         moved parsing of MIME headers to the signal handler, added
+         support for signing and verifying data messages. Affected
+         files are irssi/docs/signals.txt, irssi/src/silc/core/client_ops.c,
+         irssi/src/silc/core/silc-{servers,channels}.c
+
+       * Added a perl script for handling data messages based on
+         information read from Mailcap files. New file
+         irssi/scripts/silc-mime.pl
+
+Mon Oct 20 16:08:22 EEST 2003  Pekka Riikonen <priikone@silcnet.org>
+
+       * Added new SILC_MESSAGE_FLAG_ACK that can  be used to
+         acknowledge recepetion of a message to the sender.  Updated
+         protocol specs.
+
+Sat Oct 18 11:55:33 EEST 2003  Pekka Riikonen <priikone@silcnet.org>
+
+       * Unregister channel key saving callback when deleting channel.
+         Affected file lib/silcclient/idlist.c.
+
+       * Do not remove the client from channels in NOTIFY_TYPE_SIGNOFF
+         before calling notify client operation.  Affected file is
+         lib/silcclient/client_notify.c.
+
+       * Unregister QoS tasks when deleting the socket connection.
+         Affected files lib/silcutil/silcsockconn.[ch],
+         unix/silcunixsockconn.c.
+
+       * Implemented latest presence-attrs draft changes.  Affected
+         files lib/silccore/silcattrs.h and
+         irssi/src/silc/core/silc-queries.c.
+
+Tue Oct 14 18:24:53 EEST 2003  Pekka Riikonen <priikone@silcnet.org>
+
+       * Save old channel keys in list to allow more rapid change
+         of channel keys if server for some reason does that.  This
+         avoids loosing so many channel messages due to not having
+         key to decrypt.  Affected file lib/silcclient/silcclient.h,
+         idlist.c and client_channel.c.
+
+Mon Oct 13 21:37:47 EEST 2003  Pekka Riikonen <priikone@silcnet.org>
+
+       * Continued backup router tests and fixes.  Affected files
+         silcd/server_backup, server_util.c, server.c.  See TODO.
+
+Sun Oct 12 19:58:18 EEST 2003  Pekka Riikonen <priikone@silcnet.org>
+
+       * Fixed SERVER_SIGNOFF handling in servers.  The client
+         was removed from wrong list thus not removing the client
+         at all.  Affected file silcd/packet_receive.c.
+
+       * Do not execute rekey protocol for disabled connections as
+         it would never go through.  Affected file silcd/server.c.
+
+       * Added timeout for rekey protocol to catch if the protocol
+         never executes successfully.  Affected files silcd/server.c
+         and protocol.h.
+
+Sat Oct 11 15:39:22 EEST 2003  Pekka Riikonen <priikone@silcnet.org>
+
+       * Abandon packet processing for disconnected sockets.  Check
+         this always after calling packet processing callback.
+         Affected file lib/silccore/silcpacket.c.
+
+       * Fixed double registration disconnection code in server.
+         Closed wrong connection.  Affected file silcd/packet_receive.c.
+
+Fri Oct 10 16:27:12 EEST 2003  Pekka Riikonen <priikone@silcnet.org>
+
+       * On normal server reconnect to primary during resuming 4
+         times, then give up.  Affected file silcd/server_backup.c.
+
+       * If during reconnecting to routers we notice we have router
+         connection but no primary router set, the server is in desync.
+         Reconnect to primary to restore network.  Affected file
+         silcd/server.c.
+
+       * Assure that only one protocol is exeucting at the same time.
+         Added checks for all protocols.  Affected files are
+         silcd/server.c and server_backup.c.
+
+Thu Oct  9 20:24:09 EEST 2003  Pekka Riikonen <priikone@silcnet.org>
+
+       * Check that a string is not already part on invite/ban
+         string when processing it.  Affected file silcd/server_util.c.
+
+Thu Oct  9 12:06:40 CEST 2003  Pekka Riikonen <priikone@silcnet.org>
+
+       * Fixed the CUMODE_CHANGE for founder mode changes to comply
+         with 1.2 version of the protocol.  Affected file is
+         silcd/packet_receive.c.
+
+Wed Oct  8 19:41:15 EEST 2003  Pekka Riikonen <priikone@silcnet.org>
+
+       * ERR_BAD_PASSWORD now returns the Channel ID of the channel
+         where the passphrase was given.  Affected file is
+         silcd/command.c.
+
+Wed Oct  8 09:32:12 CEST 2003  Pekka Riikonen <priikone@silcnet.org>
+
+       * INVITE and BAN notifys are now delivered from routers to
+         servers (but not clients) on the channel.  Updated specs and
+         code.  Affected files silcd/packet_[send|receive].[ch],
+         command.c, server.c and server_util.c.
+
+       * Implemented INVITE and BAN announcing.  Affected files are
+         silcd/server.[ch], server_util.c.
+
+       * Implemented SilcStatus error type argument returning in
+         command reply error in server.  Affected file silcd/command.c.
+
+       * Implemented SilcStatus argument returning in comand reply
+         in client library.  The command_reply client operation now
+         returns error specific arguments as well.  Affected files
+         are lib/silcclient/command_reply.[ch], client_resume.c,
+         lib/silccore/silcstatus.[ch].
+
+Sun Oct  5 20:22:08 EEST 2003  Pekka Riikonen <priikone@silcnet.org>
+
+       * Backup router protocol version 1.2 implemented.  Testing still
+         required.  Affected files in silcd/server_backup.[ch], server.c,
+         packet_receive.c and server_internal.h.
+
+Sun Oct  5 12:36:37 EEST 2003  Pekka Riikonen <priikone@silcnet.org>
+
+       * silc_client_send_[channel|private]_message now return TRUE
+         or FALSE.  Affected file lib/silcclien/client_channel.c and
+         client_prvmsg.c.
+
+Thu Oct  2 17:03:09 EEST 2003  Pekka Riikonen <priikone@silcnet.org>
+
+       * Check for explicit nickname in INVITE and BAN processing
+         during join as well (and don't expect only wildcards in
+         invite/ban strings).  Affected file silcd/command.c.
+
+       * Fixed the INVITE and BAN by public key.  The public key saved
+         is the PK payload (as specified) not the raw data.  Affected
+         file silcd/server_util.c.
+
+Wed Oct  1 20:29:06 EEST 2003  Pekka Riikonen <priikone@silcnet.org>
+
+       * UTF-8 text message support for actions and notices in SILC
+         Client.  Affected file irssi/src/silc/core/client_ops.c.
+
+       * silc_get_username and silc_get_real_name now returns sensible
+         data on Win32.  Patch by Toni Willberg.  Affected file is
+         lib/silcutil/win32/silcwin32util.c.
+
+Sun Aug 24 23:35:19 CEST 2003  Jochen Eisinger <c0ffee@penguin-breeder.org>
+
+       * Provide a signal handler to send MIME encoded messages and emit
+         a signal when a MIME encoded message is received. Also document
+         the signals for usage with the perl interface.
+
+         A sample perl script will be supplied at a later point.
+
+         Affected files are irssi/docs/signals.txt,
+         irssi/src/silc/core/client_ops.[ch],
+         irssi/src/silc/core/silc-{channels,servers}.c
+
+Sun Aug 24 12:58:30 CEST 2003  Jochen Eisinger <c0ffee@penguin-breeder.org>
+
+       * Use SILC_COMMAND_PING to estimate the round-trip time to the
+         server. Use this time to display a lag and disconnect when it
+         exceeds a specified limit.
+
+         Affected files are irssi/src/silc/core/silc-{lag,core}.c.
+
+Mon Aug 11 17:14:17 EEST 2003  Pekka Riikonen <priikone@silcnet.org>
+
+       * Remove the channel auth list in normal server if router
+         encofrces its list during connecting.  Send notify to channel
+         to remove the mode to remove the list.  Affected files are
+         silcd/server_util.c and silcd/packet_receive.c.
+
+Wed Aug  6 14:52:04 EEST 2003  Pekka Riikonen <priikone@silcnet.org>
+
+       * Added support for channel public keys.  Updated protocol specs
+         and implemented it.  Affected files are
+         silcd/command.c, command_reply.c, lib/silcclient/command.c,
+         lib/silcclient/command_reply.c.
+
+Wed Jul 23 12:17:01 EEST 2003  Pekka Riikonen <priikone@silcnet.org>
+
+       * Ignore SIGXFSZ and SIGXCPU signals in server.  They can
+         terminate the process on Linux.  Affected file silcd/silcd.c.
+
+Mon Jun  2 19:13:27 EEST 2003  Pekka Riikonen <priikone@silcnet.org>
+
+       * Check for NULL buffer in silc_buffer_clear.  Affected file
+         is lib/silcutil/silcbuffer.h.
+
+       * Simplified the backup router protocol by removing the _GLOBAL
+         types.  Updated protocol specs and the code.  Affected files
+         are silcd/server_backup.[ch].
+
+Thu Apr 24 19:50:25 EEST 2003  Pekka Riikonen <priikone@silcnet.org>
+
+       * Deny '@' and '!' from nicknames since they are reserved
+         by the SILC_COMMAND_INVITE and SILC_COMMAND_BAN commands.
+         Updated protocol specs and the code.
+
+         Affected files are silcd/server_util.[ch].
+
+Wed Apr  9 18:51:59 EEST 2003  Pekka Riikonen <priikone@silcnet.org>
+
+       * Fixed stack overflow in Irssi SILC client.  Affected
+         file irssi/src/silc/core/client_ops.c.
+
+       * Check that Host is set in ServerConnection and RouterConnection
+         in silcd.conf.  Affected file silcd/serverconfig.c.
+
+       * Fixed crash in server with protocol completion callbacks,
+         namely rekey and backup resuming protocols.  Affected files
+         are silcd/server_backup.c and silcd/server.c.
+
+       * Fixed rekey protocol to not restart if it is started already.
+         Affected files are lib/silcclient/client.c and
+         silcd/server.c.c
+
+Mon Mar 17 18:35:24 EET 2003  Pekka Riikonen <priikone@silcnet.org>
+
+       * Rewrote SilcList, affected file lib/silcutil/silc*list.h.
+
+       * Fixed EOF handling in SILC Config, affected file
+         lib/silcutil/silcconfig.c.
+
+       * Fixed buffer overflows in lib/silcutil/silcstrutil.c.
+
+       * Fixed RESOLVING flag handling in JOIN notify and other
+         notifys to handle the resolvings correctly in client library.
+         Affected file lib/silcclient/client_notify.c.
+
+       * Do not send full INVITE and BAN lists in INVITE and BAN
+         notifys, only the changed information.  Affected file
+         silcd/command.c.
+
+       * Fixed INVITE notify sending in INVITE command, send it
+         only when needed.  Affected file silcd/command.c.
+
+       * Handle the founder key change properly in CMODE_CHANGE
+         notify.  Bug #122.  Affected file silcd/packet_receive.c.
+
+Sun Mar  9 16:29:20 EET 2003  Pekka Riikonen <priikone@silcnet.org>
+
+       * Remove the mark for output (mark it only for input) after
+         purging outgoing queue.  Prevents the "Error in select()"
+         floods.  Affected file silcd/packet_send.c.
+
+       * Fixed incorrect connection deletion from client library
+         after calling "connect" client operation.  Could cause
+         crashes for example during reconnect timeouts.  Affected
+         files are lib/silcclient/client.c and
+         irssi/src/silc/core/client_ops.c.
+
+       * Check server private key file permissions before starting
+         the server.  Affected file silcd/serverconfig.c.
+
+Tue Feb  4 22:53:26 EET 2003  Pekka Riikonen <priikone@silcnet.org>
+
+       * NULL terminate allocated string in silc_buffer_strformat.
+         Affected file lib/silcutil/silcbuffmt.c.
+
+       * Rewrote the invite/ban list string handling in server to
+         use SilcBuffer instead.  Affected files are silcd/command.c
+         and silcd/server_util.c.
+
+Mon Feb  3 14:43:52 CET 2003  Pekka Riikonen <priikone@silcnet.org>
+
+       * Fixed double free in CMODE command when setting new HMAC
+         for channel.  Affected file silcd/command.c.
+
+       * Added couple of missing memset's to zero sensitive memory.
+         Affected files silcd/command.c, lib/silcclient/command.c.
+
+Sun Jan 26 12:20:30 EET 2003  Pekka Riikonen <priikone@silcnet.org>
+
+       * Fixed a double free in INVITE command error handling in
+         server.  Affected file silcd/command.c.
+
+       * Added macros SILC_SWAB_[16|32] to swab byte order of
+         16-bit and 32-bit unsigned integers.  Affected file
+         lib/silcutil/silctypes.h.
+
+       * Use the SILC_SWAB_16 instead of htons() in server when
+         handling ports since the ports in structures are always
+         in little-endian order (regardless of platform).  Affected
+         file silcd/serverid.c and silcd/server_backup.c.
+
+Tue Jan 21 17:18:04 EET 2003  Pekka Riikonen <priikone@silcnet.org>
+
+       * Send DISCONNECT in close admin command in server.  Affected
+         file silcd/command.c.
+
+       * Check whether we are already connecting to a remote router
+         (in addition of checking whether we are already connected)
+         before creating new connection.  Affected file silcd/server.c.
+
+Thu Jan 16 18:47:00 EET 2003  Pekka Riikonen <priikone@silcnet.org>
+
+       * Added better compiler and compiler flags checking in
+         configure.
+
+       * Check that socket is valid after QoS is applied to data.
+         Affected file lib/silcutil/unix/silcunixsockconn.c.
+
+       * Make sure the socket connecetion is not closed to early
+         when closing connection in server.  Also make sure the
+         connection is always closed after error in a protocol.
+         Affected file silcd/server.c.
+
+Wed Jan 15 11:03:36 CET 2003  Pekka Riikonen <priikone@silcnet.org>
+
+       * Removed --session and --dummy options from Irssi SILC Client.
+         -d option is available only if --enable-debug was given.
+         Affected files are irssi/src/silc/core/silc-core,
+         irssi/src/core/session.c and irssi/src/fe-text/silc.c.
+
+Tue Jan 14 12:25:09 CET 2003  Pekka Riikonen <priikone@silcnet.org>
+
+       * Added silc_buffer_steal to steal the data from the buffer.
+         Affected file lib/silcutil/silcbuffer.h.
+
+Sat Jan 11 18:16:29 CET 2003  Giovanni Giacobbi <giovanni@giacobbi.net>
+
+       * Fixed server crash with double Primary block in config file.
+
+         Fixed also various memory leaks around the config file
+         parser.  Affected files lib/silcutil/silcconfig.c,
+         silcd/serverconfig.c.
+
+       * Changed my nickname (Johnny Mnemonic) to my real name, this
+         means that bugs introduced by him were actually introduced
+         by me!
+
+Tue Jan  7 21:58:53 CET 2003  Jochen Eisinger <c0ffee@penguin-breeder.org>
+
+       * Don't display "foo appears as foo\nYou're now known as foo"
+         messages.  Affected file irssi/src/silc/core/client_ops.c
+
+Tue Jan  7 20:08:15 EET 2003  Pekka Riikonen <priikone@silcnet.org>
+
+       * Fixed error handling of invalid client entry when calling
+         commands in server.  Fixes a crash.  Affected file
+         silcd/command.c.
+
+Thu Dec 26 14:19:29 EET 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Added some sanity checks in server for correctness of the
+         server configuration.  Affected file silcd/serverconfig.c.
+
+Fri Dec 20 10:47:59 CET 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Prevent endless resolving of user informations in USERS
+         command by checking the command reply status correctly.
+         Affected file lib/silcclient/command_reply.c.
+
+Tue Dec 17 10:05:00 CET 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Fixed file writing on WIN32 to use O_BINARY flag.  Affected
+         file is lib/silcutil/silcfileutil.c.  A patch by Matthew
+         Aldous <Matthew@Aldous.com>.
+
+       * Added better implementation using CriticalSection of
+         SilcMutex on WIN32.  A patch by Mikko Lähteenmäki
+         <mikko.lahteenmaki@pikabaana.net>.
+
+       * Added some Winsock WIN32 compatiblity defines into
+         includes/silcwin32.h.
+
+Mon Dec 16 19:33:05 EET 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Fixed double free in async host lookup code.  Affected file
+         lib/silcutil/silcsockconn.c.
+
+       * On backup router handle now the SERVER_SIGNOFF from router
+         for local connected servers too, and close the connections.
+
+         Do not process them as normally signing off servers when they
+         really signoff by sending EOF fe, but always assume that
+         router sends the SERVER_SIGNOFF.
+
+         Affected files silcd/server.c and silcd/packet_receive.c.
+
+       * Fixed socket unsetting when closing connections.  Affected
+         files silcd/server.c and silcd/packet_send.c.
+
+       * Do not print the nickname in SERVER_SIGNOFF if we do not
+         have it.  Prevents asserts in Irssi core.  It is possible we
+         don't have the nick if it was just being resolved when server
+         signoff.  Affected file irssi/src/silc/core/client_ops.c.
+
+Thu Dec 12 23:22:50 EET 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Fixed autonick crashbug in client library.  Affected file
+         lib/silcclient/client.c.
+
+       * Fixed Unix implementation of SilcMutex to really assert if
+         the mutex is locked/unlcoked already.  Affected file
+         lib/silcutil/unix/silcunixmutex.c.
+
+       * Fixed locking in silc_schedule_uninit.  It didn't lock
+         when dispatching timeout tasks.  Affected file is
+         lib/silcutil/silcschedule.c.
+
+       * Changed Win32 implementation of SilcThread to use modern
+         Win32 interface.  Affected file is
+         lib/silcutil/win32/silcwin32thread.c  A patch by Mikko L.
+
+Thu Dec 12 12:06:59 CET 2002 Jochen Eisinger <c0ffee@penguin-breeder.org>
+
+       * Don't print signed messages when sending failed.  Affected files
+         irssi/src/silc/core/silc-[servers.c/commands.h]
+
+       * Send adquate signal when founding a channel by joing it.  Affect
+         file irssi/src/silc/core/client_ops.c
+
+Wed Dec 11 21:46:19 CET 2002 Jochen Eisinger <c0ffee@penguin-breeder.org>
+
+       * Fix theme abstracts parsing.  Affected files irssi/default.theme,
+         irssi/src/fe-common/core/themes.c
+
+Wed Dec 11 20:20:07 EET 2002 Pekka Riikonen <priikone@silcnet.org>
+
+       * Fixed close command to use the port correctly when closing
+         server connections.  Affected file silcd/idlist.c.
+
+       * Check for NULL outbuf in silc_socket_write.  It is possible
+         that it is NULL is some odd case.  Affected files are
+         lib/silcutil/[unix/win32]/silc[unix/win32]sockconn.c.
+
+       * Do not call final protocol callback for backup router
+         resuming protocol when closing connection.  It is closed
+         by timeout in case of error.  Affected file silcd/server.c.
+
+       * Backup reconnect to router if backup resuming protocol
+         failed.  Affected file silcd/server_backup.c.
+
+Wed Dec 11 10:01:26 CET 2002 Pekka Riikonen <priikone@silcnet.org>
+
+       * Fixed double free in SKE library error hadling when signature
+         error occurred.  Affected file lib/silcske/silcske.c.
+
+       * Save the fingerprint to new SilcClientEntry after changing
+         nickname.  Affected file lib/silcclient/client_notify.c.
+
+       * Print SIGNOFF in Irssi SILC client only if the nickname is
+         known.  Prevents asserts in Irssi core.  It is possible we
+         don't have the nick if it was just being resolved when it
+         quit.  Affected file irssi/src/silc/core/client_ops.c.
+
+Tue Dec 10 21:47:56 EET 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Fixed double free in invite list adding code when adding
+         invite strings.  Affected file silcd/server_util.c.
+
+Fri Dec  6 17:40:24 EET 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * More log printing during backup router protocol.  Affected
+         file silcd/server_backup.c.
+
+       * Removed backwards support for old private key file format.
+         Affected file lib/silccrypt/silcpkcs.c.
+
+       * Removed backwards support for not-so-strict decryption length
+         check, it's strict now.  Affected lib/silccrypt/silccipher.c.
+
+       * GETKEY to update the client entrys fingerprint too.
+         Affected file lib/silcclient/command_reply.c.
+
+       * Added --without-libtoolfix for package builders using weird
+         wrappers around libtool (BSD at least).
+
+Thu Dec  5 22:29:46 EET 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Fixed backup router bugs:  When backup resumes router and
+         receives a CHANNEL_MESSAGE packet the backup must not act
+         as router since the packet header decryption would be
+         different.  Also, when relaying packets to channel, do
+         not re-encrypt packets on backup that came from the primary
+         since the connection isn't really router-router connection.
+         Affected files silcd/server.c, silcd/packet_send.c.
+
+       * Added checks in encryption/decryption that encryption/decryption
+         length sent as argument really is multiple by block size.  Helps
+         catching really weird bugs like the above backup router bugs
+         when packets are being decrypted in wrong way.  Affected files
+         lib/silccore/silcpacket.c, and lib/silccrypt/silccipher.c.
+
+       * Fixed padding generation in private key file encryption.
+         Affected file lib/silccrypt/silcpkcs.c.
+
+Thu Dec  5 16:35:23 EET 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Added ignore_message_signatures setting which can be used
+         to ignore signatures in messages.  Affected files are
+         irssi/src/silc/core/client_ops.c, silc-core.c.
+
+       * Fixed the libtoolfix to use command line options instead of
+         environment variables.  They didn't work as expected.  Now,
+         the libtool is fully run-time configurable.
+
+Wed Dec  4 21:08:52 CET 2002  Jochen Eisinger <c0ffee@penguin-breeder.org>
+
+       * Verify signature payload for signed messages. Affected files
+         irssi/src/silc/core/client_ops.h, irssi/src/silc/core/silc-servers.c,
+         irssi/src/silc/core/silc-core.h
+
+       * Display signature verification result in public and private
+         messages using theme abstracts. See irssi/default.theme for
+         examples on their usage. Affected files
+         irssi/default.theme, irssi/src/fe-common/silc/fe-messages.h,
+         irssi/src/fe-common/silc/module-formats.[ch],
+         irssi/src/fe-common/silc/fe-common-silc.c,
+         irssi/src/fe-common/silc/Makefile.am
+         irssi/src/fe-common/core/fe-messages.[ch]
+
+       * Fixed bugs in Irssi's theme parsing. Affected files
+         irssi/src/fe-common/core/themes.c
+
+Wed Dec  4 18:29:13 EET 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Calculate the correct length for signed messages before
+         encrypting, it must be multiple by block size.  Affected
+         file lib/silccore/silcmessage.c.
+
+       * silc_message_signed_get_public_key returns now both
+         decoded and encoded public key.  Affected files are
+         lib/silccore/silcmessage.[ch].
+
+       * Added libtoolfix script that makes the libtool more generic
+         and configurable in run-time.  Now we can specify in run-time
+         if what kind of libraries we want to create, regardless of
+         configuration.  SIMs are now creates even if --disable-shared
+         was explicitly given.
+
+Tue Dec  3 23:26:55 EET 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Fixed founder key sending in CMODE command in client.
+         Affected file lib/silcclient/command.c.
+
+       * Fixed CUMODE founder authentication in server to not check
+         for client's public key since it's not supposed to do that.
+         Affected file silcd/command.c.
+
+Tue Dec  3 12:02:41 CET 2002  Jochen Eisinger <c0ffee@penguin-breeder.org>
+
+       * Set realname and hostname in NICK_REC records. Affected file
+         irssi/src/silc/core/silc-nicklist.c
+
+Mon Dec  2 20:50:20 EET 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Remove 1.0 protocol backwards compat code from client
+         library.
+
+       * Added more reliable check for whether nickname did change
+         or not, or whether only Client ID changed in NICK_CHANGE
+         notify.  Affected file lib/silcclient/client_notify.c.
+         Fixes bug in '@' character handling in a nickname.
+
+       * Added support for automatically parsing signature from
+         the message payload.  Added new function
+         silc_message_get_signature to return the payload to
+         application.  Affected files lib/silccore/silcmessage.[ch].
+
+       * Changed the private_message and channel_message client
+         operations to deliver the SilcMessagePayload to the
+         application too.  Application can use it fe. to get the
+         signature from the message for verification.  Affected
+         file lib/silcclient/silcclient.h, client_channel.c and
+         client_prvmsg.c.
+
+       * Redefined the signed payload for message payloads.
+         Updated protocol specs and implemented.
+
+Mon Dec  2 16:28:29 EET 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Fixed wrong invite and ban list handling in server command
+         reply.  Affected files are silcd/command_reply.c,
+         silcd/server_util.[ch].
+
+Sun Dec  1 20:48:17 EET 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Fixed CMODE setting in server when founder mode was set.
+         Affected file silcd/command.c.  Bug #95.
+
+       * Added support to setting specific public key in CMODE in
+         Irssi SILC client.  Affected file lib/silcclient/command.c.
+
+       * Added support to use specific public key in CUMODE in
+         Irssi SILC Client.  Affected file lib/silcclient/command.c.
+
+       * Added support for inviting and banning by public key in
+         Irssi SILC client.  Affected file lib/silcclient/command.c.
+
+       * Fixed fingerprint/babbleprint showing in invite and ban
+         list command replys.  Affected file is
+         irssi/src/silc/core/client_ops.c.
+
+Sun Dec  1 16:32:03 CET 2002  Jochen Eisinger <c0ffee@penguin-breeder.org>
+
+       * Format CMODE +c and +h to display both the mode and the argument
+
+Sun Dec  1 18:17:22 EET 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Added test vectors and test programs for SHA-1, MD5,
+         HMAC-SHA1 and HMAC-MD5.  New tests are located in
+         lib/silccrypt/tests/.  Fixed also argument decoding bug in
+         MD5 implementation.  Affected file lib/silccrypt/md5.c.
+
+       * Changed the channel private key and private message key
+         generation (with static keys) to use SHA1 instead of MD5,
+         as SHA1 is the mandatory hash function in SILC.  Affected
+         file lib/silcclient/client_[channel/prvmsg].c.
+
+       * Changed the private key file encryption to use SHA1 instead
+         of MD5.  Added support for the old generation and added
+         automatic change of the key (to be removed later).  Affected
+         files lib/silccrypt/silcpkcs.c.
+
+Sat Nov 30 19:07:52 EET 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Load only files with .pub suffix in PublicKeyDir.  Affected
+         file silcd/serverconfig.c.
+
+Sat Nov 30 14:29:34 CET 2002  Johnny Mnemonic <johnny@themnemonic.org>
+
+       * Extended the SILC_SERVER_LOG_ERROR macro to all available logging
+         channels.  Affected files silcd/silcd.c, silcd/server.h.
+
+       * Added the config directive PublicKeyDir for the client block.
+         Affected files doc/exampe_silcd.conf.in, silcd/serverconfig.[ch].
+
+Sat Nov 30 09:30:55 CET 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Merged Toni's irssi/silc.conf patch.
+
+       * ROBODoc cleanup patch to lib/silccrypt/silcpkcs.h by johnny.
+
+       * Max alloc tests in allocation routines.  Affected file
+         lib/silcutil/silcmemory.c.
+
+Fri Nov 29 23:44:29 EET 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Fixed a typo in resuming code that fixed detach/resume code
+         in server.  Bug #93.  Affected file silcd/packet_receive.c.
+
+Thu Nov 28 17:17:11 CET 2002  Jochen Eisinger <c0ffee@penguin-breeder.org>
+
+       * Do reverse lookups for server when /connecting. Affected files
+         irssi/silc.conf, irssi/src/core/servers.c, irssi/src/core/network.c,
+         irssi/src/core/net-nonblock.*
+
+Thu Nov 28 16:19:18 CET 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Added library versioning for shared libraries.  Affected
+         files configure.in.pre and lib/Makefile.am.pre.
+
+Wed Nov 27 21:51:52 CET 2002  Jochen Eisinger <c0ffee@penguin-breeder.org>
+
+       * Display INVITE and BAN lists as specified by SILC 1.2
+
+Wed Nov 27 16:01:11 CET 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Do not send invite list back unless asked (when sending
+         no arguments) or when list was modified.  Affected file
+         silcd/command.c.
+
+       * Remove client from invite list in KILLED notify and in
+         KILL command.  Affected file silcd/command.c and
+         silcd/server.[ch].
+
+       * Fixed bugs in invite list handling in INVITE command.
+         Affected files silcd/command.c and silcd/server_util.c.
+
+       * Merged with Irssi 0.8.6.
+
+       * Fixed UTF-8 in Irssi SILC Client, setlocale was missing.
+         Affected file irssi/src/fe-text/silc.c.
+
+Mon Nov 25 18:21:43 EET 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * The silc_argument_get_[first/next] now return the argument
+         type to caller.  Added silc_argument_payload_encode_one.
+
+         Affected files are lib/silccore/silcargument.[ch].
+
+       * Added support for the SILC 1.2 INVITE command and new
+         invite lists to server.  Affected files are silcd/command.c,
+         silcd/server_util.[ch] and silcd/packet_[receive/send].[ch].
+
+       * Added support for the SILC 1.2 BAN command and new
+         ban lists to server.  Affected files are silcd/command.c,
+         silcd/server_util.[ch] and silcd/packet_[receive/send].[ch].
+
+       * Added support to client sending new INVITE command.  Affected
+         file is lib/silcclient/command.c.
+
+       * Added support to client sending new BAN command.  Affected
+         file is lib/silcclient/command.c.
+
+       * Added support for removing client from invite list when kicked
+         from channel, as SILC 1.2 dictates.  Affected files are
+         silcd/packet_receive.c and silcd/command.c.
+
+Sun Nov 24 18:26:42 EET 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * If iv argument to silc_cipher_[encrypt/decrypt] is NULL, use
+         automatically the cipher's internal IV.  Affected files
+         lib/silccrypt/silccipher.[ch].
+
+       * Assure the RESUME_CLIENT packet is not sent to twice to
+         backup router if the detached client was originated from
+         the backup.  Affected file silcd/server.c.  Bug #76.
+
+       * Changed silc_sim_symname to not allocate memory.  Affected
+         file lib/silcsim/silcsimutil.c.
+
+       * Fixed memory leaks with SIMs in server.  Affected files
+         silcd/serverconfig.c, silcd/server.c.
+
+       * Fixed channel key distribution after resuming detached
+         client.  Affected files silcd/packet_receive.c.
+
+       * Fixed channel's global_user boolean checking after detaching.
+         Check it after changing the owner of the client not before.
+         Affected file silcd/packet_receive.c.
+
+       * Fixed few double frees from client library.  Fixes at least
+         Bug #81, possibly others too.
+
+       * UTF-8 decode topics also in JOIN command reply and TOPIC_SET
+         notifys in Irssi SILC Client.  Affected file is
+         irssi/src/silc/core/client_ops.c.  Bug #82.
+
+       * Applied Ville Räsänen's manual page and --mandir bugfix
+         patch.  Affected files are configure.in.pre and Makefile.am.pre.
+         Bug #88.
+
+Fri Nov 22 18:34:20 EET 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Added support to backup router protocol for backup to tell
+         normal server that it cannot use the backup router as primary
+         because the primary isn't really down.  Updated protocol
+         specs.
+
+       * Added support for primary router to tell backup router that
+         resuming is not possible because the backup really isn't primary
+         in the cell.  For example if backup disconnected itself the
+         resuming is not allowed since the primary really did not
+         go down.  Updated protocol specs.
+
+       * Removed MARS from crypto library.
+
+       * Defined the CTR mode and Randomized CBC mode in SILC.  The
+         CTR mode is RECOMMENDED now in specification.  Defined also
+         Serpent cipher as optional cipher.  Updated the protocol specs.
+
+Thu Nov 21 12:43:28 EET 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Added support for inviting/banning by IP/MASK, public key,
+         and explicit Client ID.  Redefined the command and notify
+         types to allow easier forwards support for other methods
+         of inviting/banning.  Updated protocol specs.
+
+       * Remove the client from channel's invite lists if the client
+         is kicked or killed.  Updated protocol specs.
+
+       * Unified the Channel Message Payload and Private Message
+         into one Message Payload.  Updated protocol specs and
+         implemented.
+
+Tue Nov 19 22:30:56 EET 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Don't wait for EOF after socket error has occurred, but
+         close the connection.  Affected file is silcd/server.c.
+
+Mon Nov 18 18:58:26 EET 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Added support for setting FOUNDER mode on channel with
+         specific public key which can be set with CMODE command.
+         Updated protocol specs and implemented in client and server.
+
+       * Fixed the Irssi SILC client to correctly shutdown the client
+         library to avoid memory leaks.  Affected files are
+         irssi/src/silc/core/silc-core.c and silc-servers.c.
+
+       * Deprecated the No Reply flag in SKE protocol and introduced
+         "IV Included" flag which can be used to indicate that the IV
+         is included in the ciphertext.  This makes it possible to use
+         SILC on unreliable transport, such as UDP which may cause
+         packet reordering and losses.  Updated protocol specs, did
+         not implement yet.
+
+Sun Nov 17 15:50:57 EET 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Fixed the MPI implementation of silc_mp_sizeinbase to return
+         < 32 bit values in correct size.  Affected file is
+         lib/silcmath/mp_mpi.c.
+
+Sat Nov 16 13:14:45 EET 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Fixed the KE Start Payload parsing to check that mandatory
+         fields are present.  Affected file lib/silcske/payload.c.
+
+       * Fixed compilation warnigs in Irssi SILC Client.  Affected
+         files are irssi/src/silc/core/silc-query.c. client_ops.c.
+
+Thu Nov 14 19:33:28 CET 2002  Jochen Eisinger <c0ffee@penguin-breeder.org>
+
+       * Print "nick now appears as newnick" and update Irssi's nicklist
+         when you change your nick to "nick". Closes #62
+
+       * Never format your own nick. Closes #63
+
+Thu Nov 14 09:44:54 CET 2002  Jochen Eisinger <c0ffee@penguin-breeder.org>
+
+       * SILC_UMODE_GONE changes are now propagated correctly to the
+         Irssi client. Closes #54
+
+Tue Nov 12 19:42:18 CET 2002  Jochen Eisinger <c0ffee@penguin-breeder.org>
+
+       * Fixed example in /HELP KEY
+
+       * Added expando $j which expands to current SILC Client version
+
+Tue Nov 12 19:46:39 EET 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Fixed public key decoding in crypto library.
+
+       * Added better error printing to SKE library.
+
+Tue Nov 12 08:50:12 CET 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Fixed NICK command to not crash if nickname was not sent.
+
+Mon Nov 11 19:32:00 EET 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Added Encrypt-Then-MAC order to SILC packet MAC generation.
+         Deprecated the old Encrypt-And-MAC order.  Updated protocol
+         specs and implemented.
+
+       * Added Encrypt-Then-MAC order to Channel Message Payload MAC
+         generation.  Updated specs and implemented.
+
+Sun Nov 10 12:20:56 EET 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Added support for rekey before 2^32 sequence number wraps.
+         Affected files in server and client library.
+
+       * Padding must be at least 8 bytes now.  Implemented and updated
+         protocol specs.
+
+       * Compute maximum padding for authentication packets to make
+         passphrase approximation attacks impossible.  Affected files
+         in client library and in server.
+
+       * Fixed PING command sending in client library and handling in
+         server.  The server ID must be ID Payload, not raw ID data.
+         Affected files in server and client library.
+
+       * Defined that all public keys sent in commands and notify
+         payloads are actually Public Key Payloads not raw public key
+         data.  Updated protocol specs and implemented.
+
+       * Updated protocol version to 1.2.  Updated specs and code.
+
+       * Added ERR_UNSUPPORTED_PUBLIC_KEY and ERR_OPERATION_ALLOWED
+         status types.  Updated specs and the code.
+
+       * Added support for normal client to kill its own entries from
+         the network.  Updated protocol specs and the code.
+
+       * Defined the SILC_MESSAGE_FLAG_SIGNED.  Updated protocol specs
+         and added initial implementation.
+
+       * Added MAC field to the Private Message Payload to protect
+         against chosen ciphertext attacks.  Updated the protocol specs
+         and implemented.
+
+       * Added idle and signon fields to the ATTRIBUTE_SERVICE
+         attribute to indicate the user's current idle and signon time
+         of a service.  Updated protocol specs and implemented.
+
+Thu Nov  7 19:21:10 EET 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Added "do_not_bind" argument to silc_client_file_send what
+         can be used to not bind locally but assume the file receiver
+         provides the point of connect.  Usefull when sender is behind
+         NAT device.  Affected file lib/silcclient/silcclient.h and
+         client_ftp.c.
+
+       * Added -no-listener option to FILE SEND command in Irssi SILC
+         client.  Affected file irssi/src/silc/core/silc-servers.c.
+         Renamed FILE RECEIVE to FILE ACCEPT.
+
+       * Confirm passphrase for private key encryption in
+         silc_create_key_pair and silc_change_private_key_passphrase.
+         Affected files are lib/silcutil/silcapputil.c.
+
+Thu Nov  7 10:05:28 CET 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Move silc_client_packet_send back to internal, added
+         silc_client_send_packet, a bit simpler function for application.
+         Affected files lib/silcclient/silcclient.h, client.c and
+         client_internal.h.
+
+       * Moved the SilcClientEntry, SilcChannelEntry and
+         SilcServerEntry to silcclient.h to be public and documented
+         them for application.  Affected files are
+         lib/silcclient/silcclient.h and idlist.h.
+
+Wed Nov  6 17:18:13 EET 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Fixed manual page installation patch by Ville Räsänen.
+         USERS help page fix patch by Ville Räsänen
+
+       * Changed the silc_client_command_call interface to make
+         the command call simpler for the application.  The library
+         now handles the command line parsing, command finding and
+         execution.  Application only needs to call the function
+         with the command line.  Affected files are
+         lib/silcclient/silcclient.h, command.[ch].
+
+       * Fixed silc_get_input to NULL-terminate the returned input.
+         Affected file lib/silcutil/silcutil.c.
+
+       * Resolve the client's public key in JOIN command if the
+         founder auth data is being requested but we don't know the
+         client's public key.  Affected file silcd/command.c.
+         Bug #53.
+
+Mon Nov  4 16:02:59 EET 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Print notify for server opers when backup router comes
+         online.  Affected file silcd/server.c.
+
+       * Fixed the INVITE command to send the invite list in
+         command reply.  Affected file silcd/command_reply.c.
+
+       * Fixed MOTD command reply sending.  Affected file
+         silcd/command.c.
+
+       * UTF-8 decode the topic in TOPIC command reply and LIST
+         command reply in Irssi SILC client.  Affected file is
+         irssi/src/silc/core/client_ops.c.
+
+Sun Nov  3 17:59:15 EET 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Fixed the INVITE command to not crash Irssi SILC client
+         when given without nickname argument.  AFfected file
+         irssi/src/silc/core/client_ops.c.
+
+       * Fixed double free in WHOIS query on normal server when
+         forwarding query to router.  Affected file is
+         silcd/server_query.c.
+
+       * Fixed WATCH command reply handling on normal server which
+         was missing altogether.  Affected file silcd/command_reply.c.
+         Bug #44.
+
+Sun Nov  3 00:42:05 EET 2002  Mika Boström <bostik@lut.fi>
+
+       * Added man-pages for silc(1), silcd(8) and silcd.conf(5).
+         Included yodl sources for each of these. Also modified
+         Makefile.am prototype to install these files to proper
+         locations. Updated CREDITS. Affected file Makefile.am.pre,
+         new files doc/*.yo, doc/silc.1, doc/silcd.conf.5,
+         doc/silcd.8.
+
+Sat Nov  2 21:26:56 EET 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Added support for encrypted private key files.  Now
+         passphrase must be provided when new key pair is created
+         (can be empty though), and prompted when loading the
+         private key.  Added support for loading the old-style
+         non-encrypted private keys as well.  Affected files
+         lib/silccrypt/silcpkcs.[ch], Irssi SILC client and
+         SILC Server.
+
+       * Fixed silc_get_input to accept input on all terminals.
+         Affected file lib/silcutil/silcutil.c.
+
+       * Moved the Irssi SILC client key loading and other stuff
+         to be called after the arguments and UI is initialized.
+         Affected file irssi/src/silc/core/silc-core.c.  Bug #31.
+
+       * Added -P option to Irssi SILC client which can be used
+         to change the passphrase of the private key.  Affected
+         file irssi/src/silc/core/silc-core.c.
+
+       * Added silc_change_private_key_passphrase apputil routine
+         to lib/silcutil/silcapputil.[ch].
+
+Sat Nov  2 12:53:09 EET 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Fixed connection closing in client library to not crash.
+         Moved the connection freeing totally to function
+         silc_clinet_del_connection.  Affected file
+         lib/silcclinet/client.c.
+
+Fri Nov  1 18:57:02 EET 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Changed includes/silcincludes.h to silcincludes.h.in to
+         include configuration specific information.  The silcdefs.h
+         is not included in to installation anymore (it's only
+         compilation time header).
+
+Fri Nov  1 10:30:26 CET 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Moved the SilcClient and SilcClientConnection from client.h
+         to the public lib/silcclient/silcclient.h.  Changed the
+         structures a bit.
+
+Thu Oct 31 22:44:07 EET 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * If version string in silc_clinet_alloc is NULL the library
+         puts it automatically.  Affected file lib/silcclient/client.c.
+
+       * Changed the version strings from variables to #define's
+         in includes/silcversion.h.
+
+Wed Oct 30 16:17:30 CET 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Added shared library complation support.
+
+Tue Oct 29 21:48:55 EET 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Added lib/silcutil/silcapputil.[ch] for application
+         utility functions.  It includes routines for applications'
+         convenience.  Added silc_create_key_pair, silc_show_public_key
+         and silc_load_key_pair functions.
+
+Tue Oct 29 17:36:44 EET 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Send RESUME_CLIENT packet from router to backup routers
+         to in resuming.  Affected file silcd/packet_receive.c.
+
+Mon Oct 28 21:23:39 EET 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * In IDENTIFY command parsing, send all other IDs except
+         Client IDs explicitly to router for resolving on normal
+         server.  Also check that ID received in WHOIS command is
+         always Client ID, others are not allowed.  Affected file
+         silcd/server_query.c.
+
+       * Merged latest changes from irssi.org CVS.
+
+Sun Oct 27 11:44:32 EET 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Merged c0ffee's /set heartbeat patch to Irssi SILC client.
+         Affected files irssi/src/silc/core/silc-core, silc-server.c.
+
+       * Fixed the heartbeat sending in Irssi SILC client.  Moved
+         the silc_client_packet_send to silcclient.h for application
+         usage.  Affected files lib/silcclient/client_internal.h
+         lib/silcclient/silcclient.h.
+
+       * Fixed a bug in query resolving in server.  Used wrong
+         variable in a for loop and crashed.  Affected file is
+         silcd/server_query.c.
+
+       * Server constructs requested attributes only to locally
+         connected clients.  Affected file silcd/server_query.c.
+         Bug #36.
+
+       * Fixed a bug when sending resolving from router to server
+         with requested attributes.  The constructed WHOIS command
+         was incorrect.  Affected file silcd/server_query.c.
+         Bug #38.
+
+       * Fixed Requested Attributes saving in WHOIS command reply.
+         The length of the data buffer must be saved too.  Affected
+         file silcd/command_reply.c.
+
+       * Update the client entry's servername after detaching is
+         over.  Affected file silcd/packet_receive.c.  Bug #37.
+
+       * Resolve incomplete client entrys in CUMODE_CHANGE and
+         CMODE_CHANGE notifys.  Affected file is
+         lib/silcclient/client_notify.c.  Bug #42.
+
+Thu Oct 24 12:22:35 EEST 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Fixed channel key packet processing bug on backup router
+         during backup resuming protocol.  Affected file is
+         silcd/packet_receive.c.
+
+       * Fixed memory leaks in server.  Affected files are
+         silcd/server.c and silcd/packet_receive.c.
+
+       * Fixed packet decryption problem when backup router encrypted
+         channel message with wrong key during backup resuming
+         protocol.  Affected file silcd/packet_send.c.
+
+       * ROBODoc documented lib/silccrypt/silccipher.h.  A patch by
+         Toni Willberg (toniw@iki.fi)
+
+       * Changed the SilcCipher context to be private.  Changed the
+         silc_cipher_get_iv to just return pointer to the IV.  Added
+         silc_cipher_get_name to return the name of the cipher.
+         Fixed code all around to support these changes.  Affected
+         files are lib/silccrypt/silccipher.[ch], client library and
+         server.
+
+Wed Oct 23 19:01:41 EEST 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Fixed unaligned access in lib/silccore/silcattrs.c.
+
+       * Fixed libtool linking in lib/silcsim/Makefile.am.
+
+       * Fixed services attribute printing.  Affected files is
+         irssi/src/silc/core/silc-queries.c.
+
+Wed Oct 23 09:51:04 CEST 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Fixed a crashbug in incoming server accepting.  Affected
+         file silcd/server.c.
+
+Tue Oct 22 13:02:32 EEST 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Added automatically generated index to Toolkit Reference
+         Manual.
+
+       * Added support for Postscript Toolkit Reference Manual.
+
+Mon Oct 21 21:30:40 CEST 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Merged DISCONNECT fix, and autoconn port fix from Irssi
+         CVS.
+
+Sun Oct 20 19:54:55 EEST 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Added 'send_events' boolean argument to the function
+         silc_schedule_set_listen_fd which sends the set events to
+         the application explicitly if set to TRUE.  Default action
+         should be FALSE.  Affected file lib/silcutil/silcschedule.[ch],
+         lib/silcclient/client_internal.h and silcd/server_internal.h.
+
+       * Added silc_compare_timeval to determine which time values
+         is smaller.  Affected file lib/silcutil/silcutil.[ch].
+
+       * Added sort-of "Quality of Service" (QoS) support to
+         SilcSocketConnection.  Data reception can be controlled with
+         rate limit per second and/or read data length limit.
+         Added silc_socket_set_qos.  Affected files are
+         lib/silcutil/silcsockconn.[ch] and unix/silcunixsockconn.c.
+
+       * Added the QoS configuration to SILC Server configuration
+         file.  Affected files are silcd/serverconfig.[ch] and
+         server.c.
+
+Sun Oct 20 14:12:24 CEST 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Merged with irssi.org CVS.
+
+       * Failed OPER and SILCOPER authentications are now logged.
+         Affected file silcd/command.c.  Bugs #25.
+
+Sat Oct 19 13:32:15 CEST 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * ROBODoc documented lib/silcutil/silcbuffer.h and
+         lib/silcutil/silcdlist.h.  Patch by Ville Räsänen
+         <ville.rasanen@iki.fi>.
+
+Fri Oct 18 10:51:04 EEST 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Added support for auto-passphrase authentication from the
+         config file during connecting which was not implemented
+         yet.  Affected file irssi/src/silc/core/client_ops.c.
+
+       * Fixed a bug in authentication protocol failure handling which
+         was processing wrong callback context.  Affected files
+         are lib/silcclient/client.c and protocol.c.
+
+       * Fixed the /ATTR allow off to actually work.  Affected file
+         is irssi/src/silc/core/silc-queries.c.
+
+       * Fixed the /ATTR -del to work.  Affected file is
+         irssi/src/silc/core/silc-queries.c.
+
+Thu Oct 17 23:45:12 EEST 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Fixed string formatting crashbug in lib/silccore/silcattrs.c.
+
+       * Fixed mask attribute adding in Irssi SILC client.  Affected
+         file irssi/src/silc/core/silc-queries.c.
+
+Thu Oct 17 16:40:39 EEST 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Added support for saving the requested attributes in
+         WHOIS to directory.  Affected file is
+         irssi/src/silc/core/silc-queries.c.
+
+Wed Oct 16 17:40:56 EEST 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Added support for parsing VCard fields that do not have
+         the TYPE= for types.  Affected file lib/silcutil/silcvcard.c.
+
+       * Fixed a double free bug in hash table foreach function
+         if the entry was deleted in the foreach callback.  Affected
+         file lib/silcutil/silchashtable.c.
+
+Tue Oct 15 18:05:24 EEST 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Added silc_attribute_get_verify_data to return the signature
+         verification data for either user digital signature or
+         server digital signature in Requested Attributes.  Affected
+         files are lib/silccore/silcattrs.[ch].
+
+       * Added silc_vcard_alloc which is used to allocated dynamic
+         SilcVCard context.  The silc_vcard_free now checks whether
+         the context is dynamically allocated or not.  Affected files
+         are lib/silcutil/silcvcard.[ch].
+
+Mon Oct 14 17:55:44 EEST 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Periodically remove the NOATTR status from client entry
+         so that the client may take the attributes in use even after
+         server has resolved them unsuccessfully earlier.  Affected
+         file silcd/server_query.c and idlist.h.
+
+       * Moved sha1hash and md5hash from client->internal to
+         SilcClient for application usage.  Affected files are
+         lib/silcclient/client.h and client_internal.h.
+
+       * Fixed attribute encoding and decoding bugs.  Affected
+         files lib/silccore/silcattrs.[ch].
+
+       * Added ATTR command to Irssi SILC Client which is used to
+         manage user's Requested Attributes sending and values for
+         WHOIS command.  Affected files around Irssi SILC client.
+
+Mon Oct 14 14:33:54 EEST 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Added silc_buffer_strformat which can be used to format
+         strings into a buffer which size is automatically increased.
+         Affected file lib/silcutil/silcbuffmt.[ch].
+
+       * Added implementation of VCard (RFC 2426) which can be used
+         as part of Requested Attributes in WHOIS command.  Affected
+         file lib/silcutil/silcvcard.[ch].
+
+Fri Oct 11 23:52:17 EEST 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Some strncat -> silc_strncat changes our the core and
+         client library.
+
+       * Added SILC_SKE_STATUS_SIGNATURE_ERROR and OUT_OF_MEMORY
+         errors.  Added better error printing to SKE library.
+         Affected files lib/silcske/silcske.c, silcske_status.h and
+         payload.c.
+
+       * Save the PKCS key length even if only private key is set to
+         SilcPKCS.  Affected file lib/silccrypt/silcpkcs.[ch] and rsa.c.
+
+       * Fixed the usage of silc_pkcs_get_key_len since it returns the
+         length in bits not in bytes.  Affected files are
+         lib/silcske/silcske.c, lib/silccore/silcauth.c and
+         silcd/server_query.c.
+
 Wed Oct  9 17:22:57 EEST 2002  Pekka Riikonen <priikone@silcnet.org>
 
        * Added silc_attribute_payload_encode_data to directly encode
@@ -212,7 +2518,7 @@ Sat Sep  7 16:02:09 EEST 2002  Pekka Riikonen <priikone@silcnet.org>
          silcd/packet_receive.c.
 
        * From now on distribution versions are used as protocol versions
-         instead of by default using the Toolkit base version as protocol 
+         instead of by default using the Toolkit base version as protocol
          version.  Affected file prepare.
 
        * Do not set the locally resolved hostname for local client
@@ -334,7 +2640,7 @@ Sun Jun 30 01:30:22 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
 
        * Fixed pending command deletion in server and client library
          to check the whole list instead of breaking after first found.
-         The affected files are silcd/command.[ch] and 
+         The affected files are silcd/command.[ch] and
          lib/silcclient/command.[ch].
 
 Sat Jun 29 17:40:12 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
@@ -654,7 +2960,7 @@ Wed Jun 19 17:46:31 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
          It expected it to always be only client and ignored the
          notify.  Affected file silcd/packet_recieve.c.
 
-       * Removed some (unnecessary) debug printing from 
+       * Removed some (unnecessary) debug printing from
          lib/silccore/silcid.c and lib/silccore/silcargument.c.
 
        * Do not force CMODE_CHANGE when server is announcing new
@@ -667,7 +2973,7 @@ Wed Jun 19 17:46:31 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
          fixes some problems too.  Affected file silcd/packet_receive.c.
 
        * Fixed SERVER_SIGNOFF sending to local clients.  It was
-         totally broken and sent the notify to all local clients, 
+         totally broken and sent the notify to all local clients,
          instead of only to those that was on same channel as the
          signing off clients.  Affected file silcd/server_util.c.
 
@@ -991,7 +3297,7 @@ Mon May  6 19:46:12 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
          when that mode is set.  Protocol TODO #17.  Affected
          files are silcd/server.[ch], server_util.[ch],
          silcd/command.c, silcd/packet_receive.c and
-         lib/silcclient/command.c. 
+         lib/silcclient/command.c.
 
 Fri May  3 18:36:51 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
 
@@ -1018,7 +3324,7 @@ Fri May  3 11:37:10 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
          silcd/command.c and silcd/command_reply.c.
 
        * Fixed client info resolving on LEAVE command in client
-         library to not crash.  Affected file is 
+         library to not crash.  Affected file is
          lib/silcclient/client_notify.c.
 
 Thu May  2 08:45:11 CEST 2002 Pekka Riikonen <priikone@silcnet.org>
@@ -1073,7 +3379,7 @@ Sun Apr 21 19:44:38 EEST 2002  Pekka Riikonen <priikone@silcnet.org>
          Moved the silc_client_command_status_messages table to the
          lib/silcutil/silcutil.c and added new funtion
          silc_get_status_message, which deprecates function
-         silc_client_status_message.  Affected files are 
+         silc_client_status_message.  Affected files are
          lib/silccore/silcstatus.h, lib/silcclient/command_reply.[ch],
          lib/silcutil/silcutil.[ch].
 
@@ -1163,14 +3469,14 @@ Mon Apr 15 19:57:57 EEST 2002  Pekka Riikonen <priikone@silcnet.org>
 
        * Defined the use of extra WHOIS attributes in WHOIS command.
          The <Requested Attributes> (defined in a separate document)
-         can be used to request additional information about user 
+         can be used to request additional information about user
          not returned by standard WHOIS command.  Defined that server
          can send WHOIS command directly to client.  Client provides
          the requested attributes to the server.  Updated the protocol
          specs.  Protocol TODO #4.  Implementation is not done yet
           (Protocol TODO #24).
 
-       * Renamed function silc_client_command_status_message to        
+       * Renamed function silc_client_command_status_message to
          silc_client_status_message.  Affected files are
          lib/silcclient/command_reply.[ch].
 
@@ -1196,7 +3502,7 @@ Sat Apr 13 13:09:24 EEST 2002  Pekka Riikonen <priikone@silcnet.org>
 Fri Apr 12 20:09:08 EEST 2002  Pekka Riikonen <priikone@silcnet.org>
 
        * Added resolve_cmd_ident field to the SilcClientEntry structure
-         too so that if the entry is for example being resolved so 
+         too so that if the entry is for example being resolved so
          another command may attach to the same pending command reply
          without requiring to resolve the same entry again.  Added
           support for adding multiple pending commands for one
@@ -1265,7 +3571,7 @@ Tue Apr  9 17:15:42 EEST 2002  Pekka Riikonen <priikone@silcnet.org>
          Private Message Key flag is set (using private keys to protect
          private messages).  Updated protocol specs and code in client
          and server and core library.  Protocol TODO #23.  Affected
-         files are lib/silccore/silcmode.h, silcd/server.[ch], 
+         files are lib/silccore/silcmode.h, silcd/server.[ch],
          irssi/src/silc/core/client_ops.c, silcd/packet_receive.c,
          irssi/docs/help/in/umode.in, lib/silcclient/command.c.
 
@@ -1311,7 +3617,7 @@ Mon Apr  8 17:00:41 EEST 2002  Pekka Riikonen <priikone@silcnet.org>
        * Added more IM-like features by introducing new user modes
          for setting various presence information.  Added new modes:
          INDISPOSED, BUSY, PAGE, HYPER and ROBOT.  Updated protocol
-          specs and code.  Protocol TODO #19. Affected files are 
+          specs and code.  Protocol TODO #19. Affected files are
           lib/silccore/silcmode.h, irssi/src/silc/core/client_ops.c,
          irssi/docs/help/in/umode.in and lib/silcclient/command.c.
 
@@ -1320,7 +3626,7 @@ Sun Apr  7 17:07:59 EEST 2002  Pekka Riikonen <priikone@silcnet.org>
        * Added STATS command to the protocol after all, to return
          various statistical information about the network.  It can
          be used by clients to retrieve statistical information, and
-         servers may use it to to fetch cell and network wide 
+         servers may use it to to fetch cell and network wide
          statistics from router.  Updated the protocol specs and
          implemented it to the server.  Protocol TODO #16.
          Affected files are lib/silccore/silccommand, silcd/command.[ch],
@@ -1329,7 +3635,7 @@ Sun Apr  7 17:07:59 EEST 2002  Pekka Riikonen <priikone@silcnet.org>
 Sat Apr  6 17:08:58 EEST 2002  Pekka Riikonen <priikone@silcnet.org>
 
        * The LIST command reply in client libary now adds new channel
-         entry if the returned channel doesn't exist yet in cache, 
+         entry if the returned channel doesn't exist yet in cache,
          and returns the channel entry to the application in the
          command_reply client operation.  Affected file is
          lib/silcclient/command_reply.c.
@@ -1358,12 +3664,12 @@ Fri Apr  5 16:03:03 EEST 2002  Pekka Riikonen <priikone@silcnet.org>
 
        * Defined that the security property fields in SKE SHOULD be
          UTF-8 encoded, defined that version string MUST be US-ASCII
-         encoded, defined that passphrases sent in connection 
+         encoded, defined that passphrases sent in connection
          authentication protocol MUST be UTF-8 encoded.  Implemented
          these to the client and server.  Defined also that other
          passphrases sent in the protocol MUST be UTF-8 encoded.
-         Affected files are lib/silcske/silcske.c, 
-         lib/silcclient/protocol.c, silcd/protocol.c, 
+         Affected files are lib/silcske/silcske.c,
+         lib/silcclient/protocol.c, silcd/protocol.c,
          silcd/serverconfig.c, and lib/silccore/silcauth.c.
 
        * Changed the silc_client_close_connection interface to not
@@ -1388,7 +3694,7 @@ Wed Apr  3 16:24:51 EEST 2002  Pekka Riikonen <priikone@silcnet.org>
        * Added the killer's client ID to the KILLED notify and added
          it to protocol specs and implemented it to client and server.
          Protocol TODO #13.  Affected files are silcd/command.c,
-         silcd/packet_receive.c, packet_send.[ch], 
+         silcd/packet_receive.c, packet_send.[ch],
          lib/silcclient/client_notify.c, irssi/src/silc/core/client_ops.c.
          The killer's client entry is now returned to application in
          the `notify' client operation.
@@ -1422,7 +3728,7 @@ Wed Apr  3 16:24:51 EEST 2002  Pekka Riikonen <priikone@silcnet.org>
 
          Changed the client library to return the message length
          to application as well in the channel_message and private_message
-         client operations.  Affected files are 
+         client operations.  Affected files are
          lib/silcclient/client_prvmsg, lib/silcclient/client_channel.c,
          lib/silcclient/silcclient.h, irssi/src/silc/core/client_ops.c,
          and lib/silcclient/client_ops_example.c.
@@ -1439,7 +3745,7 @@ Wed Apr  3 16:24:51 EEST 2002  Pekka Riikonen <priikone@silcnet.org>
 
        * Deprecated all administrative commands from SILC protocol
          since they are highly implementation specific commands.
-         Updated protocol specs.  Moved the old commands in 
+         Updated protocol specs.  Moved the old commands in
          implementations to private range of command types.  Affected
          files are silcd/command.c, lib/silcclient/command.c and
          lib/silcclient/command_reply.c.  Protocol TODO #8.
@@ -1450,7 +3756,7 @@ Wed Apr  3 16:24:51 EEST 2002  Pekka Riikonen <priikone@silcnet.org>
 Wed Apr  3 09:57:47 CEST 2002  Pekka Riikonen <priikone@silcnet.org>
 
        * Added SILC_PROTOCOLVERSION macro to check protocol version
-         of a socket connection.  The affected file is 
+         of a socket connection.  The affected file is
          lib/silcutil/silcsockconn.h.
 
        * Added better error logging in rekey protocol.  Affected file
@@ -1465,9 +3771,9 @@ Wed Apr  3 09:57:47 CEST 2002  Pekka Riikonen <priikone@silcnet.org>
 Tue Apr  2 14:55:06 CEST 2002  Pekka Riikonen <priikone@silcnet.org>
 
        * Some client implementations quit network by doing first LEAVE
-         and then immediately SIGNOFF (like Bombyx).  We now do check 
-         after a short time after LEAVE notify and check whether the 
-         client is still valid after LEAVE, and if not we remove it from 
+         and then immediately SIGNOFF (like Bombyx).  We now do check
+         after a short time after LEAVE notify and check whether the
+         client is still valid after LEAVE, and if not we remove it from
          cache.  Affected file is lib/silcclient/client_notify.c.
 
 Tue Apr  2 13:39:04 CEST 2002  Johnny Mnemonic <johnny@themnemonic.org>
@@ -1586,7 +3892,7 @@ Thu Mar 28 17:01:43 EET 2002  Pekka Riikonen <priikone@silcnet.org>
        * Fixed the silc_log_quick handling in the logging routines.
          It didn't log quickly when it was TRUE.  Affected file is
          lib/silcutil/silclog.c.  Also the flush delay was set even
-         if it was 0 in config file.  Affected file is 
+         if it was 0 in config file.  Affected file is
          silcd/serverconfig.c.
 
        * Added support for changing key pair of the server in rehash.
@@ -1808,7 +4114,7 @@ Tue Mar 19 16:32:43 CET 2002  Pekka Riikonen <priikone@silcnet.org>
          called the application does not call silc_packet_send_prepare
          because the library will call it automatically.  These
          interfaces now also return a reference to the outgoing buffer
-         which includes the assembled packet, which the application can 
+         which includes the assembled packet, which the application can
          use to encrypt the packet.
 
          Affected files are lib/silccore/silcpacket.[ch],
@@ -1823,7 +4129,7 @@ Tue Mar 19 16:32:43 CET 2002  Pekka Riikonen <priikone@silcnet.org>
 Mon Mar 18 21:00:41 EET 2002  Pekka Riikonen <priikone@silcnet.org>
 
        * Added macro SILC_PACKET_DATALEN which can be used during
-         packet assembling to check whether the data to be added to    
+         packet assembling to check whether the data to be added to
          the packet will fit to SILC_PACKET_MAX_LEN.  If not the data
          len is truncated until it fits it.
 
@@ -1849,7 +4155,7 @@ Sun Mar 17 19:26:16 EET 2002  Pekka Riikonen <priikone@silcnet.org>
 
        * Added the deleting of server's own ID cache entry to the
          silc_server_free function.  Free also everything else that
-         has been allocated in silc_server_init.  The affected file 
+         has been allocated in silc_server_init.  The affected file
          is silcd/server.c.
 
 Sun Mar 17 15:44:56 EET 2002  Pekka Riikonen <priikone@silcnet.org>
@@ -1862,7 +4168,7 @@ Sun Mar 17 15:44:56 EET 2002  Pekka Riikonen <priikone@silcnet.org>
        * Added new configuration params: version_protocol, version_software
          and version_software_vendor to specify what version the remote
          host must at least be to be able to connect to server.  The vendor
-         string can be regex matched too.  Added new function 
+         string can be regex matched too.  Added new function
          silc_server_connection_allowed to check maximum number of allowed
          connections, and allowed versions for incoming connections.
          Affected files are silcd/server.c, server_util.[ch] and
@@ -1880,7 +4186,7 @@ Sun Mar 17 10:24:50 EET 2002  Pekka Riikonen <priikone@silcnet.org>
          Renamed silc_schedule_wakeup_init and silc_schedule_wakeup_uninit
          to silc_schedule_internal_init and silc_schedule_internal_uninit.
          Added new platform specific routines
-         silc_schedule_internal_signals_[un]block and 
+         silc_schedule_internal_signals_[un]block and
          silc_schedule_internal_signal_[un]register.
 
          Added new functions to SILC Schedule API:
@@ -1944,7 +4250,7 @@ Sat Mar 16 18:04:30 EET 2002  Pekka Riikonen <priikone@silcnet.org>
          it was mistakenly updated to SILC Protocol 1.0 even though it
          is to be included in 1.1.  Since it is not in 1.0 it is not
          mandatory, and this fix now handles it only if it is provided,
-         and it is not error if it is not provided.  Affected file 
+         and it is not error if it is not provided.  Affected file
          lib/silcclient/client_notify.c.
 
 Sat Mar 16 09:07:27 EET 2002  Pekka Riikonen <priikone@silcnet.org>
@@ -2019,7 +4325,7 @@ Sun Mar 10 20:07:49 EET 2002  Pekka Riikonen <priikone@silcnet.org>
        * Fixed the server to check correctly the amount of connections
          from single host, by checking also the type of the connection.
          Fixed also the comparison of number of connections and number
-         of allowed connections.  Affected files are silcd/server.c, 
+         of allowed connections.  Affected files are silcd/server.c,
          server_util.[ch].
 
 Fri Mar  8 17:16:41 EET 2002  Pekka Riikonen <priikone@silcnet.org>
@@ -2248,7 +4554,7 @@ Thu Feb 14 22:03:58 EET 2002  Pekka Riikonen <priikone@silcnet.org>
          reconnect_interval_max, reconnect_keep_trying and
          require_reverser_lookup.  Added ConnectionParam block, and
          implemented the connection parameters when connecting as
-         initiator and when accepting connections as responder. 
+         initiator and when accepting connections as responder.
 
          Added CONFIG_IS_DOUBLE macro in config file parsing, to check
          whether given configuration value has been given already.
@@ -2285,7 +4591,7 @@ Wed Feb 13 20:51:13 EET 2002  Pekka Riikonen <priikone@silcnet.org>
        * Removed doc/example_silc.conf.in since it is redundant.
          The make install will now install irssi/silc.conf file.
 
-       * Added new Passphrase and Publickey authentication methods to  
+       * Added new Passphrase and Publickey authentication methods to
          config file, allowing both public key and passphrase based
          authentication to be set at the same time.
 
@@ -2349,7 +4655,7 @@ Sun Feb  3 17:20:52 EET 2002  Pekka Riikonen <priikone@silcnet.org>
 
        * Fixed the file transfer's key agreement payload to include
          zero port also if the hostname is NULL because it could not
-         be bound.  
+         be bound.
 
          Call file transfer monitor callback now also if error occurs
          during key agreement protocol.
@@ -2418,12 +4724,12 @@ Thu Jan 31 23:34:33 EET 2002  Pekka Riikonen <priikone@silcnet.org>
 
 Thu Jan 31 19:06:22 EET 2002  Pekka Riikonen <priikone@silcnet.org>
 
-       * Added function silc_client_add_channel, 
+       * Added function silc_client_add_channel,
          silc_client_replace_channel_id, and removed functions
          silc_client_new_channel_id and silc_idlist_get_channel_by_id
          from client library.
 
-       * Added cross reference of the joined channels to the 
+       * Added cross reference of the joined channels to the
          SilcClientEntry, and changed the SilcChannelEntry's
          users list to SilcHashTable.  The affected files are
          lib/silcclient/idlist.[ch].
@@ -2440,7 +4746,7 @@ Thu Jan 31 19:06:22 EET 2002  Pekka Riikonen <priikone@silcnet.org>
        * Changed all hash table traversing to call the new
          silc_hash_table_list_reset in server and in client library.
 
-       * Added function silc_client_on_channel to return the 
+       * Added function silc_client_on_channel to return the
          SilcChannelUser entry if the specified client entry is joined
          on the specified channel.  This is exported to application as
          well.  Affected files lib/silcclient/client_channel.c, silcapi.h.
@@ -2502,7 +4808,7 @@ Mon Jan 28 17:49:42 EET 2002  Pekka Riikonen <priikone@silcnet.org>
 
        * Fixed the CHANNEL_CHANGE notify to re-announce the channel
          which ID was changed.  This way the router will send the
-         user list for the channel again, and server won't be in 
+         user list for the channel again, and server won't be in
          desync in some rare circumstances.  Affected file is
          silcd/packet_receive.c.
 
@@ -2582,7 +4888,7 @@ Mon Jan 21 19:07:53 EET 2002  Pekka Riikonen <priikone@silcnet.org>
 
        * Added silc_client_start_key_exchange_cb and lookup the
          remote hostname and IP address before starting the key
-         exchange with server.  The affected file is 
+         exchange with server.  The affected file is
          lib/silcclient/client.c.
 
        * The server's public key is now saved using the IP address
@@ -2623,7 +4929,7 @@ Thu Jan 17 18:59:11 EET 2002  Pekka Riikonen <priikone@silcnet.org>
          context.  When error occurs during socket operation (read
          or write) the error is saved.  Added also new function
          silc_socket_get_error to return human readable socket error
-         message.  Affected files are lib/silcutil/silcsockconn.[ch], 
+         message.  Affected files are lib/silcutil/silcsockconn.[ch],
          lib/silcutil/unix/silcunixsockconn.c, and
          lib/silcutil/win32/silcwin32sockconn.c.
 
@@ -2632,12 +4938,12 @@ Thu Jan 17 18:59:11 EET 2002  Pekka Riikonen <priikone@silcnet.org>
 
        * Fixed the `created' channel information sending from router
          to server in JOIN command.  Checks now whether the channel
-         really was created or not and set it according that. 
+         really was created or not and set it according that.
 
          Fixed the JOIN command to use the client entry's current
          ID during the joining procedure instead of the one it sent
          in the command (it is checked though), since it can change
-         between the packet processing and command processing, and 
+         between the packet processing and command processing, and
          would just case unnecessary pain in the client end.  Affected
          file silcd/command.c.
 
@@ -2790,7 +5096,7 @@ Thu Dec 20 16:14:52 CET 2001  Pekka Riikonen <priikone@silcnet.org>
 
          The server now checks that if unauthenticated connection
          sends data and its processing fails the server will close
-         the connection since it could be a malicious flooder. 
+         the connection since it could be a malicious flooder.
 
          Affected files lib/silccore/silcpacket.[ch], silcd/server.c.
 
@@ -2801,20 +5107,20 @@ Wed Dec 19 21:31:25 EET 2001  Pekka Riikonen <priikone@silcnet.org>
          too much useless log).  Affected file lib/silcutil/silclog.c.
 
 Wed Dec 19 18:21:51 CET 2001  Johnny Mnemonic <johnny@themnemonic.org>
+
        * Made the silc_server_daemonise() function more readable.
          Affected file silcd/server.c.
+
        * Pid file is now optional, the user may comment it out from
          the config file. Removed define SILC_SERVER_PID_FILE, we
          don't need a default any longer.  Affected file
          configure.in.pre, lib/Makefile.am.pre.
+
        * Make some use of the pid file. The server now dies at startup
          if it detects a valid pid file on his path. The server would
          die anyway in this circumstance, because of the bind() failure.
          Affected file silcd/silcd.c.
+
        * No longer compiling lib/dotconf.
 
 Mon Dec 17 18:24:27 EET 2001  Pekka Riikonen <priikone@silcnet.org>
@@ -2824,7 +5130,7 @@ Mon Dec 17 18:24:27 EET 2001  Pekka Riikonen <priikone@silcnet.org>
 
        * Fied the NICK_CHANGE notify to add the new client entry
          even it is resolved.  This removes an <[unknown]> nick
-         thingy bug in the client.  Affected file is 
+         thingy bug in the client.  Affected file is
          lib/silcclient/client_notify.c.
 
        * Do not try to allocate 0 bytes (efence does not like it)
@@ -2980,7 +5286,7 @@ Sun Dec  2 23:29:07 EET 2001  Pekka Riikonen <priikone@silcnet.org>
          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 
+         from router.  Fixes a bug in WHOIS and IDENTIFY.  Affected
          file silcd/command.c.
 
        * Search channel by name (if possible) rather than by ID
@@ -2995,7 +5301,7 @@ Sun Dec  2 13:48:46 EET 2001  Pekka Riikonen <priikone@silcnet.org>
 
        * 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 
+         except requirement to provide correct passphrase can be
          overrided by the channel founder.  Updated the protocol specs.
          Affected file silcd/command.c.
 
@@ -3128,10 +5434,10 @@ Sun Nov 25 18:01:45 EET 2001  Pekka Riikonen <priikone@silcnet.org>
          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 
+         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 
+         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
@@ -3166,7 +5472,7 @@ Sat Nov 24 20:08:22 EET 2001  Pekka Riikonen <priikone@silcnet.org>
 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. 
+         patch by toma.  Updated CREDITS file.
 
 Sun Nov 18 01:34:41 EET 2001  Pekka Riikonen <priikone@silcnet.org>
 
@@ -3257,7 +5563,7 @@ Sun Nov 11 10:49:10 EET 2001  Pekka Riikonen <priikone@silcnet.org>
          Should fix /NAMES bit more.  The affected file is
          irssi/src/silc/core/silc-channels.c.
 
-       * Added `fingerprint' field to the SilcIDListData in the 
+       * Added `fingerprint' field to the SilcIDListData in the
          silcd/idlist.h to hold the fingerprint of the client's
          public key.
 
@@ -3439,7 +5745,7 @@ Sat Nov  3 22:04:00 PST 2001  Brian Costello <bc@mksecure.com>
 
 Sat Nov  3 17:48:55 EET 2001  Pekka Riikonen <priikone@silcnet.org>
 
-       * Added silc_pkcs_public_key_compare to compare two 
+       * 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
@@ -3457,7 +5763,7 @@ Fri Nov  2 18:52:08 EST 2001  Pekka Riikonen <priikone@silcnet.org>
          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 
+         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
@@ -3488,7 +5794,7 @@ Thu Nov  1 22:10:07 EST 2001  Pekka Riikonen <priikone@silcnet.org>
          corresponding private key is verified by the server).
          Updated to the protocol specification.
 
-       * Added support of receiving the client's public key's 
+       * 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].
@@ -3545,7 +5851,7 @@ Mon Oct 29 17:43:04 EST 2001  Pekka Riikonen <priikone@silcnet.org>
          the provided table of client entries.  Affected file
          silcd/packet_send.[ch].
 
-       * Fixed a crash in client resolving in client_prvmsg.c in 
+       * 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
@@ -3560,7 +5866,7 @@ Mon Oct 29 17:43:04 EST 2001  Pekka Riikonen <priikone@silcnet.org>
          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 
+         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.
 
@@ -3648,7 +5954,7 @@ Mon Oct 22 16:35:05 EDT 2001  Pekka Riikonen <priikone@silcnet.org>
          lib/silcclient/client.c.
 
        * SilcPacketParserCallback now returns TRUE or FALSE to indicate
-         whether library should continue processing the packet. 
+         whether library should continue processing the packet.
          Affected file lib/silccore/silcpacket.h.
 
        * Added SilcSFTPMonitor callback, SilcSFTPMonitors and
@@ -3667,7 +5973,7 @@ Mon Oct 22 16:35:05 EDT 2001  Pekka Riikonen <priikone@silcnet.org>
        * 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/client_ops.c,
          irssi/src/silc/core/silc-server.[ch].
 
 Mon Oct 22 12:50:08 EDT 2001  Pekka Riikonen <priikone@silcnet.org>
@@ -3679,7 +5985,7 @@ 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 
+         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>
@@ -3964,7 +6270,7 @@ Thu Sep 27 22:52:30 EEST 2001  Pekka Riikonen <priikone@silcnet.org>
          (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 
+       * 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
@@ -3977,7 +6283,7 @@ Thu Sep 27 22:52:30 EEST 2001  Pekka Riikonen <priikone@silcnet.org>
          change causes incompatibilities in the protocol.
 
        * Redefined also the MAC computation from the packet.
-         An packet sequence number is now added to the MAC 
+         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.
@@ -4091,7 +6397,7 @@ Sun Sep 16 12:32:58 EEST 2001  Pekka Riikonen <priikone@silcnet.org>
          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 
+       * 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.
 
@@ -4150,7 +6456,7 @@ Thu Sep 13 20:24:52 EEST 2001  Pekka Riikonen <priikone@silcnet.org>
 
        * Removed channel key rekey task deleting from the function
          silc_server_save_channel_key.  Affected file silcd/server.c.
-         Added explicit timeout task context instead that is used to   
+         Added explicit timeout task context instead that is used to
          delete the task if we are registering a new task before the
          new task has elapsed.
 
@@ -4185,7 +6491,7 @@ Sun Sep  9 15:49:16 EEST 2001  Pekka Riikonen <priikone@silcnet.org>
          as well.  This replaced the old boolean registered field as well.
 
          Added resolve_cmd_ident field to the SilcClientEntry structure
-         too so that if the entry is for example being resolved so 
+         too so that if the entry is for example being resolved so
          another command may attach to the same pending command reply
          without requiring to resolve the same entry again.  This concept
          should optimize the WHOIS and the IDENTIFY resolving under
@@ -4291,7 +6597,7 @@ Thu Sep  6 12:47:37 EEST 2001  Pekka Riikonen <priikone@silcnet.org>
 
        * Changed the silc_client_get_clients_local to accept the formatted
          nickname as argument.  It accepts the real nickname too but the
-         formatted nickname can be used to find the true entry from 
+         formatted nickname can be used to find the true entry from
          multiple entries.  Affected file lib/silcclient/silcapi.h and
          lib/silcclient/idlist.c.
 
@@ -4305,7 +6611,7 @@ Thu Sep  6 12:47:37 EEST 2001  Pekka Riikonen <priikone@silcnet.org>
          provided then the library will use the string as is.  The
          affected file is lib/silcclient/silcapi.h.
 
-       * All the nickname strings passed to the client library in 
+       * All the nickname strings passed to the client library in
          commands are now expected to be formatted nickname strings.
          If the command does not support the formatted nickname string
          it will assume that the sent string is the actual nickname.
@@ -4332,7 +6638,7 @@ Tue Sep  4 12:39:17 EEST 2001  Pekka Riikonen <priikone@silcnet.org>
          application can call this function if it does not know the
          current authentication method.
 
-         Affected files are lib/silcclient/client.c and 
+         Affected files are lib/silcclient/client.c and
          lib/silcclient/silcapi.h.
 
        * The Irssi SILC client now automatically resolves the authentication
@@ -4392,7 +6698,7 @@ Sat Sep  1 00:29:33 EEST 2001  Pekka Riikonen <priikone@silcnet.org>
 
        * Changed the silc_id_create_client_id to be collision
          resistant.  It is now assured that there cannot be created
-         two same client ID's.  I suspect that some weird bugs in 
+         two same client ID's.  I suspect that some weird bugs in
          the server were actually caused by duplicate Client IDs.
          Affected file silcd/serverid.[ch].  A router receiving
          new ID now also assures and informs the sending server
@@ -4460,7 +6766,7 @@ Sat Aug 11 00:29:57 EEST 2001  Pekka Riikonen <priikone@silcnet.org>
          if client could not be added to ID cache.  Affected files
          silcd/packet_receive.c and silcd/server.c.
 
-       * When client's sock->user_data is freed, NULL also the 
+       * When client's sock->user_data is freed, NULL also the
          client->router and client->connection pointers.  Added check
          for these pointers being NULL to various places around the
          code.  Affected file silcd/server.c.
@@ -4470,7 +6776,7 @@ Sat Aug 11 00:29:57 EEST 2001  Pekka Riikonen <priikone@silcnet.org>
          are not handled when it is not allowed.  Affected file
          silcd/server.c.
 
-       * Added `bool registered' fields to all 
+       * Added `bool registered' fields to all
          silc_idlist_[server|client]_get_* routines to indicate whether
          the fetched client needs to be registered or not.  Affected
          file silcd/idlist.[ch].
@@ -4620,7 +6926,7 @@ Thu Jul 19 14:47:30 EEST 2001  Pekka Riikonen <priikone@silcnet.org>
 
 Wed Jul 18 18:34:01 EEST 2001  Pekka Riikonen <priikone@silcnet.org>
 
-       * Call silc_schedule_task_del_by_context in the 
+       * Call silc_schedule_task_del_by_context in the
          silc_protocol_cancel instead of silc_schedule_task_del_by_callback.
          Affected file lib/silccore/silcprotocol.c.
 
@@ -4724,7 +7030,7 @@ Wed Jul 11 18:31:57 EEST 2001  Pekka Riikonen <priikone@silcnet.org>
          updated the protocol specs.
 
        * Completed the GETKEY command in client. It can be now used
-         to fetch also servers public key not only some clients. 
+         to fetch also servers public key not only some clients.
          Affected files lib/silcclient/command[_reply].c.
 
        * Added silc_client_get_server to return server entry by the
@@ -4759,7 +7065,7 @@ Tue Jul 10 18:05:38 EEST 2001  Pekka Riikonen <priikone@silcnet.org>
 
          The INFO command now allocates the SilcServerEntry context
          and saves the server info there.  The COMMAND_REPLY in
-         the INFO now returns the parameters to application in 
+         the INFO now returns the parameters to application in
          same order as defined in the protocol specification.
 
          The entries are cached in the client->server_cache.
@@ -4789,7 +7095,7 @@ Tue Jul 10 18:05:38 EEST 2001  Pekka Riikonen <priikone@silcnet.org>
        * Fixed a channel joining bug in router.  The router must also
          check the channel modes, invite and ban lists etc. when serving
          the JOIN command sent by normal server.  Affected file is
-         silcd/command.c.  The router now resolves the client's 
+         silcd/command.c.  The router now resolves the client's
          information from the server who sent the JOIN command if it
          does not know it, and processes the JOIN command only after
          that.
@@ -4872,7 +7178,7 @@ Sun Jul  8 18:44:53 EEST 2001  Pekka Riikonen <priikone@silcnet.org>
 
        * Added SILC_MUTEX_DEFINE to define the mutex on environments
          that may or may not compile the mutex support in.
-       
+
          Changed the silc_mutex_alloc interface. It allocates the
          mutex now to the sent pointer and returns TRUE or FALSE.
 
@@ -5139,7 +7445,7 @@ Fri Jun 22 10:44:14 EEST 2001  Pekka Riikonen <priikone@silcnet.org>
 
        * 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 
+         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
@@ -5168,13 +7474,13 @@ Thu Jun 21 17:10:08 CEST 2001  Pekka Riikonen <priikone@poseidon.pspt.fi>
        * 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   
+       * 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 
+         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].
@@ -5184,7 +7490,7 @@ Thu Jun 21 17:10:08 CEST 2001  Pekka Riikonen <priikone@poseidon.pspt.fi>
          passed as client entry to the application. */
 
        * Fixed the task timeout calculation to assure that there is
-         never negative timeouts.  The affected file is 
+         never negative timeouts.  The affected file is
          lib/silcutil/silcschedule.c.
 
        * Fixed the channel user mode notification sending in server.
@@ -5202,7 +7508,7 @@ 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). 
+         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.
@@ -5264,7 +7570,7 @@ Mon Jun 18 18:49:07 EEST 2001  Pekka Riikonen <priikone@poseidon.pspt.fi>
          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 it was missing.  Added the kill message module formats
          as well.
 
          The affected file is irssi/src/silc/core/silc-channels.c.
@@ -5345,7 +7651,7 @@ Thu Jun  7 16:29:56 EEST 2001  Pekka Riikonen <priikone@poseidon.pspt.fi>
 
 Thu Jun  7 08:57:16 CEST 2001  Pekka Riikonen <priikone@poseidon.pspt.fi>
 
-       * Close log file after open.  Affected file 
+       * Close log file after open.  Affected file
          lib/silcutil/silclog.c.
 
        * Check whether sock == NULL in silc_client_send_packet and return
@@ -5357,7 +7663,7 @@ Thu Jun  7 08:57:16 CEST 2001  Pekka Riikonen <priikone@poseidon.pspt.fi>
 
 Tue Jun  5 08:08:21 CEST 2001  Pekka Riikonen <priikone@poseidon.pspt.fi>
 
-       * Merged a splitted window bugfix from Irssi CVS tree.  The 
+       * 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.
@@ -5428,7 +7734,7 @@ Fri Jun  1 22:19:37 EEST 2001  Pekka Riikonen <priikone@poseidon.pspt.fi>
          silcd/serverconfig.[h] and silcd/server.c.
 
        * Changed the layout of the header files of the public interfaces
-         in the SILC libraries.  The new layout supports ROBODoc 
+         in the SILC libraries.  The new layout supports ROBODoc
          documentation tool (and some others) so that it is easy to create
          a library reference manual.  All the other headers and source
          code must still follow the CodingStyle document.  Also source
@@ -5513,7 +7819,7 @@ Sun May 27 15:57:17 EEST 2001  Pekka Riikonen <priikone@poseidon.pspt.fi>
          error message printing to module formats in the Irssi SILC client.
 
        * Added new silc_client_set_away_message to set the away message
-         that is back to the person who sent private message.  The 
+         that is back to the person who sent private message.  The
          affected file lib/silcclient/silcapi.h and the
          lib/silcclient/client_prvmsg.c.
 
@@ -5551,7 +7857,7 @@ Sat May 26 17:43:42 EEST 2001  Pekka Riikonen <priikone@poseidon.pspt.fi>
 Sat May 26 12:13:37 EEST 2001  Pekka Riikonen <priikone@poseidon.pspt.fi>
 
        * Changed the ask_passphrase client operation to be ascynchronous.
-         It has now a completion callback and a context that the 
+         It has now a completion callback and a context that the
          application must call after it has got the passphrase from
          the user.  Affected files lib/silcclient/silcapi.h,
          lib/silcclient/protocol.c, lib/silcclient/command.c and
@@ -5583,7 +7889,7 @@ Sat May 26 12:13:37 EEST 2001  Pekka Riikonen <priikone@poseidon.pspt.fi>
          as well.  Defined SilcVerifyPublicKey callback that is used to
          indicate the success of the public key verification process.
 
-         Changed the server and client to use the new async client 
+         Changed the server and client to use the new async client
          operations.
 
        * Changed the Irssi SILC client's internal scheduler to be called
@@ -5651,7 +7957,7 @@ Mon May 21 21:46:20 EEST 2001  Pekka Riikonen <priikone@poseidon.pspt.fi>
 
        * Replaced the client entry's `channel' list and channel entry's
          `user_list' list to hash tables for optimized lookup.  Changed
-         the code to use the hash table interface around the code. 
+         the code to use the hash table interface around the code.
          Affected file lib/silcd/idlist.[ch].
 
        * Added `auto_rehash' boolean argument to the function
@@ -5687,7 +7993,7 @@ Sat May 19 16:30:03 EEST 2001  Pekka Riikonen <priikone@poseidon.pspt.fi>
          with Client ID but with the hash of the ID (which is a hash of
          the nickname) as well without any difference in performance.
 
-         Added also silc_idcache_find_by_id_one_ext to do one on one 
+         Added also silc_idcache_find_by_id_one_ext to do one on one
          searching when we have the actual ID.  Added also function
          silc_hash_client_id_compare.  The affected files are
          lib/silccore/idcache.[ch] and lib/silcutil/silcutil.[ch].
@@ -5698,7 +8004,7 @@ Sat May 19 16:30:03 EEST 2001  Pekka Riikonen <priikone@poseidon.pspt.fi>
          case sensitive.
 
        * Fixed a bug in server with channel message sending.  It put
-         wrong ID type as destination ID.  The affected file 
+         wrong ID type as destination ID.  The affected file
          silcd/packet_send.c.
 
        * silc_idcache_del_by_context now deletes from all hash tables
@@ -5841,8 +8147,8 @@ Sun May  6 13:59:48 EEST 2001  Pekka Riikonen <priikone@poseidon.pspt.fi>
          The affected files are lib/silccore/id.[ch] and other files
          around the tree using these routines.
 
-       * Removed the ID length arguments in server from various 
-         silc_server_send_notify_* routines -> they are not needed 
+       * Removed the ID length arguments in server from various
+         silc_server_send_notify_* routines -> they are not needed
          anymore.
 
 Sat May  5 13:56:33 EEST 2001  Pekka Riikonen <priikone@poseidon.pspt.fi>
@@ -5883,7 +8189,7 @@ Wed May  2 13:31:26 EEST 2001  Pekka Riikonen <priikone@poseidon.pspt.fi>
 Tue May  1 14:18:13 EEST 2001  Pekka Riikonen <priikone@poseidon.pspt.fi>
 
        * Fixed the silc_verify_public_key client operation function to
-         save the public keys differently.  The fingerprint is now 
+         save the public keys differently.  The fingerprint is now
          used as filename and not the hostname.  This way also the
          client keys are saved uniquely and not with hostnames.  The
          affected file is silc/client_ops.c.
@@ -6029,8 +8335,8 @@ Tue Apr 17 21:18:19 EEST 2001  Pekka Riikonen <priikone@poseidon.pspt.fi>
          incoming connection before executing any KE or authentication
          protocols.
 
-       * The connection configuration is now saved to the KE and 
-         connection auth protocol contexts and not fetched anymore in 
+       * The connection configuration is now saved to the KE and
+         connection auth protocol contexts and not fetched anymore in
          the protocol.  Affected files silcd/server.c, silcd/protocol.[ch].
 
        * The local hosts listenning address and port is also resolved
@@ -6050,7 +8356,7 @@ Tue Apr 17 21:18:19 EEST 2001  Pekka Riikonen <priikone@poseidon.pspt.fi>
 
        * Added function silc_server_config_is_primary_route to check
          whether primary router connection has been configured (a router
-         configuration that we are initiating).  If there is not, we 
+         configuration that we are initiating).  If there is not, we
          will assume that there is only two routers in the SILC network
          and we will use the incoming router connection as our primary
          route.  Affected files silcd/serverconfig.[ch], silcd/server.c.
@@ -6104,7 +8410,7 @@ Fri Apr 13 17:12:46 EEST 2001  Pekka Riikonen <priikone@poseidon.pspt.fi>
        * Removed the client's failure_callback handling with timeout
          and handle it immediately when received.
 
-       * The SKE library returned wrong type in SUCCESS and FAILURE 
+       * The SKE library returned wrong type in SUCCESS and FAILURE
          packets.  They must be 32 bit MSB not 16 bit MSB.
 
 Fri Apr 13 00:09:08 EEST 2001  Pekka Riikonen <priikone@poseidon.pspt.fi>
@@ -6143,7 +8449,7 @@ Wed Apr 11 22:10:15 EEST 2001  Pekka Riikonen <priikone@poseidon.pspt.fi>
          function is silc_[server/client]_packet_send_real to check
          the situation.
 
-       * Replaced the SIM paths from example config files to 
+       * Replaced the SIM paths from example config files to
          /usr/local/modules.  Also, make install creates now
          /usr/local/silc/logs directory to hold all the SILC server
          logs.
@@ -6252,10 +8558,10 @@ Thu Apr  5 17:42:30 EEST 2001  Pekka Riikonen <priikone@poseidon.pspt.fi>
 Wed Apr  4 16:32:31 EEST 2001  Pekka Riikonen <priikone@poseidon.pspt.fi>
 
        * Do not ask whether user wants to use the negotiated private key
-         for private messages, just use it.  Affected file is 
+         for private messages, just use it.  Affected file is
          silc/local_command.c.
 
-       * Added `send_enc_key' and `enc_key_len' fields to the 
+       * Added `send_enc_key' and `enc_key_len' fields to the
          SilcIDListData structure since they are needed in the re-key
          phase.  Affected file is silcd/idlist.[ch].
 
@@ -6280,7 +8586,7 @@ Tue Apr  3 21:52:42 EEST 2001  Pekka Riikonen <priikone@poseidon.pspt.fi>
          int64 of at least the xintXX size.  If void * is less that 4
          bytes uint32 * will be used.  Defined bool as boolean.
 
-       * Changed _ALL_ unsigned long and unsigned int to uint32, 
+       * Changed _ALL_ unsigned long and unsigned int to uint32,
          unsgined short to uint16 in the source tree.
 
        * Fixed a fatal bug in silc_server_remove_clients_by_server.  Do
@@ -6318,7 +8624,7 @@ Tue Apr  3 16:39:19 EEST 2001  Pekka Riikonen <priikone@poseidon.pspt.fi>
          This fixes some bugs with WHOIS, WHOWAS and IDENTIFY commands
          and command replies.
 
-       * All command reply functions in the server now calls the 
+       * All command reply functions in the server now calls the
          pending command callback even if error occured.  This way the
          error will be delivered to the client as well.  Affected files
          silcd/command.c and silcd/command_reply.c.
@@ -6379,7 +8685,7 @@ Sun Apr  1 19:49:34 EEST 2001  Pekka Riikonen <priikone@poseidon.pspt.fi>
          code and the protocol specs.
 
        * A little fix to IDENTIFY command in the server.  Search the
-         client first by hash not nickname.  Affected file is 
+         client first by hash not nickname.  Affected file is
          silcd/command.c.
 
        * Fixed the silc_client_close_connection to support closing
@@ -6417,14 +8723,14 @@ Sun Apr  1 19:49:34 EEST 2001  Pekka Riikonen <priikone@poseidon.pspt.fi>
          server's CMODE command.  Affected file silcd/command.c.
 
        * Added the following new functions into lib/silccore/silcauth.[ch]:
-         silc_auth_get_method and silc_auth_get_data.    
+         silc_auth_get_method and silc_auth_get_data.
 
        * The server now saves the remote hosts public key to the
          SilcIDListData pointer.  Affected file silcd/protocol.c.
 
        * The normal server now does not remove the channel entry from
          the cache if the founder authentication data is set.  It used
-         to remove it if the founder was the last one on the channel on 
+         to remove it if the founder was the last one on the channel on
          the server and left the channel.  The auth data is saved and
          if the channel is re-joined later the old entry is used with
          the old auth data.  Affected files silcd/command_reply.c and
@@ -6517,7 +8823,7 @@ Wed Mar 28 23:55:54 EEST 2001  Pekka Riikonen <priikone@poseidon.pspt.fi>
          message to a channel with SILC_MESSAGE_FLAG_ACTION to indicate
          some action.  Affected file silc/local_command.[ch].
 
-       * Changed channel_message and private_message client operations 
+       * Changed channel_message and private_message client operations
          to deliver the message flags to the application.  Added also
          the `flags' arguments to the silc_client_send_channel_message
          and silc_client_send_private_message functions.  Affected file
@@ -6568,7 +8874,7 @@ Wed Mar 28 15:52:36 EEST 2001  Pekka Riikonen <priikone@poseidon.pspt.fi>
 
        * Added `sockets' and `sockets_count' fields to the SilcClient
          object.  They hold the sockets of the listenning sockets in
-         the client.  Listenning sockets may be for example the key 
+         the client.  Listenning sockets may be for example the key
          agreement server.  Affected file lib/silcclient/client.[ch].
          Added functions the silc_client_add_socket and the
          silc_client_del_socket.  They are exported to the application
@@ -6616,7 +8922,7 @@ Tue Mar 27 12:49:56 EEST 2001  Pekka Riikonen <priikone@poseidon.pspt.fi>
        * Added <cipher> and <hmac> argument to the CMODE_CHANGE notify
          type to indicate the change of the current cipher and hmac
          on the channel.  Client can safely ignore the <cipher> argument
-         (if it chooses to do so) since the CHANNEL_KEY packet will 
+         (if it chooses to do so) since the CHANNEL_KEY packet will
          force the channel key change anyway.  The <hmac> argument is
          important since the client is responsible of setting the new
          HMAC and the hmac key into use.
@@ -6635,7 +8941,7 @@ Mon Mar 26 14:39:48 EEST 2001  Pekka Riikonen <priikone@poseidon.pspt.fi>
          client must be removed from all channels when receiving the
          KILLED notify.
 
-         Also, do not remove the client entry when giving the KILL 
+         Also, do not remove the client entry when giving the KILL
          command but when the KILLED notify is received.
 
        * Removed silc_idlist_find_client_by_nickname from the server.
@@ -6680,7 +8986,7 @@ Sun Mar 25 13:52:51 EEST 2001  Pekka Riikonen <priikone@poseidon.pspt.fi>
        * Added silc_server_send_notify_ban to send the BAN notify
          type between routers.
 
-       * Chaned the silc_notify_payload_encode to support that if 
+       * Chaned the silc_notify_payload_encode to support that if
          argument is NULL it ignores and checks the next argument.
          Affected file lib/silccore/silcnotify.c.
 
@@ -6711,7 +9017,7 @@ Fri Mar 23 16:25:11 EET 2001  Pekka Riikonen <priikone@poseidon.pspt.fi>
        * Added new command SILC_COMMAND_BAN that can be used to manage
          the ban list of the channel.  Updated the protocol specs.
 
-       * Removed the channel modes: the SILC_CMODE_BAN and the 
+       * Removed the channel modes: the SILC_CMODE_BAN and the
          SILC_CMODE_INVITE_LIST as they were a bit kludge to be included
          in the CMODE command.  The equivalent features are now available
          using INVITE and BAN commands.  Updated the protocol specs.
@@ -6720,7 +9026,7 @@ Fri Mar 23 16:25:11 EET 2001  Pekka Riikonen <priikone@poseidon.pspt.fi>
          in the network about change in the current ban list.  The notify
          type is not used by the client.
 
-       * Redefined parts of the SILC_NOTIFY_TYPE_INVITE command to 
+       * Redefined parts of the SILC_NOTIFY_TYPE_INVITE command to
          support the invite lists.
 
 Thu Mar 22 22:52:23 EET 2001  Pekka Riikonen <priikone@poseidon.pspt.fi>
@@ -6792,7 +9098,7 @@ Tue Mar 20 21:05:57 EET 2001  Pekka Riikonen <priikone@poseidon.pspt.fi>
        * Fixed various bugs in WHOIS and IDENTIFY command handling as
          they were buggy because of the WHOWAS information.
 
-       * Fixed local command MSG to handle the async resolving of 
+       * Fixed local command MSG to handle the async resolving of
          the remote client properly.  It used to fail the first MSG.
          Affected file silc/local_command.c.
 
@@ -6809,7 +9115,7 @@ Tue Mar 20 15:45:14 EET 2001  Pekka Riikonen <priikone@poseidon.pspt.fi>
          about the changed user mode.
 
          Implemented the notify handling in the server.  Affected file is
-         silcd/packet_receive.c.  Added the function 
+         silcd/packet_receive.c.  Added the function
          silc_server_send_notify_umode to the silcd/packet_send.[ch].
 
        * Added new generic Channel Payload and deprecated the New Channel
@@ -6877,7 +9183,7 @@ Mon Mar 19 16:13:07 EET 2001  Pekka Riikonen <priikone@poseidon.pspt.fi>
          like _send_private_message_key, _relay_notify etc.  Affected
          file is silcd/packet_send.[ch].
 
-         Removed silc_server_send_key_agreement, 
+         Removed silc_server_send_key_agreement,
          silc_server_send_private_message_key and
          silc_server_packet_relay_notify functions from the file
          silcd/packet_send.[ch].
@@ -6897,7 +9203,7 @@ Mon Mar 19 16:13:07 EET 2001  Pekka Riikonen <priikone@poseidon.pspt.fi>
          library in the file lib/silcclient/command.c.
 
        * Changed the silc_server_send_notify_on_channels's `sender'
-         argument from SilcSocketConnection to SilcClientEntry to 
+         argument from SilcSocketConnection to SilcClientEntry to
          check the sender as entry and not as connection object and not
          to send to the client provided as argument.  The affected file
          is silcd/packet_send.[ch].
@@ -6926,7 +9232,7 @@ Sun Mar 18 21:02:47 EET 2001  Pekka Riikonen <priikone@poseidon.pspt.fi>
          it to the client.  Affected file silcd/packet_send.[ch].
 
          Added also silc_server_packet_process_relay_notify to check
-         whereto relay the notify.  Affected file is 
+         whereto relay the notify.  Affected file is
          silcd/packet_receive.[ch].
 
        * Implemented the KILL command to the server.
@@ -7058,7 +9364,7 @@ Tue Mar 13 22:17:34 EET 2001  Pekka Riikonen <priikone@poseidon.pspt.fi>
 Tue Mar 13 13:26:18 EET 2001  Pekka Riikonen <priikone@poseidon.pspt.fi>
 
        * Added support to the server to enforce that commands are not
-         executed more than once in 2 seconds.  If server receives 
+         executed more than once in 2 seconds.  If server receives
          commands from client more frequently, timeout is registered
          to process the commands.  Affected file silcd/command.c.
          Added new function silc_server_command_process_timeout.
@@ -7069,12 +9375,12 @@ Tue Mar 13 13:26:18 EET 2001  Pekka Riikonen <priikone@poseidon.pspt.fi>
 
        * Removed error printing from the WHOIS and IDENTIFY commands.
          If error occurs then it is ignored silently in the client library.
-         The application, however, may map the received error to 
+         The application, however, may map the received error to
          human readable error string.  The application currently maps
          the NO_SUCH_NICKNAME error to string.
 
        * Made the command status message public to the application.  Moved
-         them from lib/silcclient/command_reply.c to 
+         them from lib/silcclient/command_reply.c to
          lib/silcclient/command_reply.h.  The application can map the
          received command status to the string with the
          silc_client_command_status_message function.
@@ -7140,8 +9446,8 @@ Sun Mar 11 14:59:05 EET 2001  Pekka Riikonen <priikone@poseidon.pspt.fi>
        * Added SilcChannelPrivateKey argument to the function
          silc_client_send_channel_message so that application can choose
          to use specific private ke if it wants to.  If it is not provided,
-         the normal channel key is used, unless private keys are set. 
-         In this case the first (key that was added first) is used 
+         the normal channel key is used, unless private keys are set.
+         In this case the first (key that was added first) is used
          as the encryption key.
 
        * Implemented the support for channel private key handling.
@@ -7167,7 +9473,7 @@ Sat Mar 10 21:36:22 EET 2001  Pekka Riikonen <priikone@poseidon.pspt.fi>
 
        * Removed the statement that server (or router) must send USERS
          command reply when joining to the channel so that the client
-         knows who are on the channel.  Instead, the client list and 
+         knows who are on the channel.  Instead, the client list and
          client's mode list is now sent in the JOIN command reply to the
          client who joined channel.  This is better solution.
 
@@ -7204,7 +9510,7 @@ Fri Mar  9 12:40:42 EET 2001  Pekka Riikonen <priikone@poseidon.pspt.fi>
          lib/silccore/silcchannel.[ch].
 
        * Moved the channel message etc, check from silc_packet_decrypt
-         to applications.  The library calls now a generic 
+         to applications.  The library calls now a generic
          SilcPacketCheckDecrypt callback which is to return TRUE or FALSE
          when the packet is either normal or special.  This was done to
          allow more wide range of checking that was not allowed when
@@ -7237,7 +9543,7 @@ Thu Mar  8 21:39:03 EET 2001  Pekka Riikonen <priikone@poseidon.pspt.fi>
          file: lib/silcutil/silcbuffmt.c.
 
        * Changed to auto-reconnect to check whether the remote host is
-         router and register the re-connect timeout if it is.  It used 
+         router and register the re-connect timeout if it is.  It used
          to check that whether we are normal server, but router must do
          auto-reconnect with another router as well.  Affected file
          silcd/server.c.
@@ -7281,7 +9587,7 @@ Wed Mar  7 20:58:50 EET 2001  Pekka Riikonen <priikone@poseidon.pspt.fi>
 
        * Redefined the mandatory HMAC algorithms and added new algorithms.
          Added hmac-sha1-96 and hmac-md5-96 which are normal hmac-sha1
-         and hmac-md5 truncated to 96 bits.  The mandatory is now 
+         and hmac-md5 truncated to 96 bits.  The mandatory is now
          hmac-sha1-96.  Rest are optional (including the one that used
          to be mandatory).  Rationale for this is that the truncated HMAC
          length is sufficient from security point of view and can actually
@@ -7352,7 +9658,7 @@ Tue Mar  6 15:36:11 EET 2001  Pekka Riikonen <priikone@poseidon.pspt.fi>
          another remote client.  The key material is passed to the
          application after the protocol is over.
 
-       * Created client_keyagr.c to include all the key agreement 
+       * Created client_keyagr.c to include all the key agreement
          routines.
 
        * Added macro SILC_TASK_CALLBACK_GLOBAL which is equal to the
@@ -7422,7 +9728,7 @@ Tue Feb 27 20:24:25 EET 2001  Pekka Riikonen <priikone@poseidon.pspt.fi>
          files: lib/silccrypt/silccipher.[ch].
 
        * Implemented silc silc_client_add_private_message_key,
-         silc_client_add_private_message_key_ske, 
+         silc_client_add_private_message_key_ske,
          silc_client_del_private_message_key,
          silc_client_list_private_message_keys and
          silc_client_free_private_message_keys functions in the
@@ -7471,7 +9777,7 @@ Mon Feb 26 12:13:58 EET 2001  Pekka Riikonen <priikone@poseidon.pspt.fi>
          code accordingly.  The default key length is now 256 bits.
 
        * Fixed SKE key distribution function silc_ske_process_key_material
-         when the key length is more than 128 bits.  The default key 
+         when the key length is more than 128 bits.  The default key
          length in SILC is now 256 bits.
 
        * Added new command status type: SILC_STATUS_ERR_UNKOWN_ALGORITHM
@@ -7571,7 +9877,7 @@ Thu Feb 22 15:08:20 EET 2001  Pekka Riikonen <priikone@poseidon.pspt.fi>
 
        * Also deprecated the following packet types: REPLACE_ID,
          NEW_CHANNEL_USER and REMOVE_CHANNEL_USER packet types.
-        
+
        * Added list support for Notify packet in server.
 
        * Added silc_server_send_notify_channel_change to send the
@@ -7588,12 +9894,12 @@ Thu Feb 22 15:08:20 EET 2001  Pekka Riikonen <priikone@poseidon.pspt.fi>
        * Added silc_server_send_notify_leave to send LEAVE notify type.
          Deprecates the function silc_server_send_remove_channel_user.
 
-       * Added silc_server_send_notify_cmode and 
+       * Added silc_server_send_notify_cmode and
          silc_server_send_notify_cumode to send CMODE and CUMODE notify
          types.  Deprecates the silc_server_send_set_mode function.
 
        * Added SERVER_SIGNOFF notify type to indicate that server has
-         quit.  This means that all clients on the channel from that 
+         quit.  This means that all clients on the channel from that
          server will drop.  This can be also used when netsplit happens.
 
          Deprecated REMOVE_ID packet type since it is not needed anymore
@@ -7607,7 +9913,7 @@ Thu Feb 22 15:08:20 EET 2001  Pekka Riikonen <priikone@poseidon.pspt.fi>
          SIGNOFF notify type.
 
        * Employed the PKCS #1. It is the mandatory way to do RSA in the
-         SILC protocol from this day on.  Changed the protocol 
+         SILC protocol from this day on.  Changed the protocol
          specification as well.
 
        * Added silc_server_send_notify_topic_set to send TOPIC_SET
@@ -7622,7 +9928,7 @@ Thu Feb 22 15:08:20 EET 2001  Pekka Riikonen <priikone@poseidon.pspt.fi>
 
        * The JOIN notify type now takes one extra argument <Channel ID>.
          The packet used to be destined to the channel but now the
-         JOIN type may be sent as list thus it is impossible to 
+         JOIN type may be sent as list thus it is impossible to
          destine it to any specific channel.  By adding this argument
          it is again possible.
 
@@ -7675,7 +9981,7 @@ Tue Feb 20 14:14:14 EET 2001  Pekka Riikonen <priikone@poseidon.pspt.fi>
        * Created Global RNG API which is global RNG that application can
          initialize.  After initializing, any routine anywhere in the
          code (including library) can use RNG without allocating a new
-         RNG object.  This was done to allow this sort of use of the 
+         RNG object.  This was done to allow this sort of use of the
          RNG in code that has no chance to allocate RNG object.  All
          applications currently allocate this and many routines in the
          library use this.  Affected file lib/silccrypt/silcrng.[ch].
@@ -7697,12 +10003,12 @@ Tue Feb 20 14:14:14 EET 2001  Pekka Riikonen <priikone@poseidon.pspt.fi>
 
        * Added silc_pkcs_encrypt, silc_pkcs_decrypt, silc_pkcs_sign,
          silc_pkcs_verify and silc_pkcs_sign_with_hash and
-         silc_pkcs_verify_with_hash functions into the file 
+         silc_pkcs_verify_with_hash functions into the file
          lib/silccrypt/silcpkcs.[ch].
 
 Mon Feb 19 19:59:28 EET 2001  Pekka Riikonen <priikone@poseidon.pspt.fi>
 
-       * The client entry's userinfo pointer must be always valid. 
+       * The client entry's userinfo pointer must be always valid.
          Otherwise the [<unknown>] bug will surface beacuse the WHOIS
          will fail since it requires the userinfo.  Now, the userinfo
          is allocated as "" if actual userinfo does not exist.  Actually,
@@ -7730,18 +10036,18 @@ Mon Feb 19 14:26:49 EET 2001  Pekka Riikonen <priikone@poseidon.pspt.fi>
          All this applies for client library code as well.  Similar
          changes were made there as well for the pending commands.
 
-         In the client, the application must now allocate the 
+         In the client, the application must now allocate the
          SilcClientCommandContext with the silc_client_command_alloc
          function.
 
        * Added reference counter to the SilcServerCommandContext.  Added
-         function silc_server_command_alloc and silc_server_command_dup 
+         function silc_server_command_alloc and silc_server_command_dup
          functions.
 
          Same type of functions added to the client library for the same
          purpose as well.
 
-       * Removed the cmd_ident from IDListData away since it is now 
+       * Removed the cmd_ident from IDListData away since it is now
          global for all connections.  It is the command identifier used
          in command sending and with pending commands.  The affected file
          is silcd/idlist.h.
@@ -7840,7 +10146,7 @@ Fri Feb 16 23:57:29 EET 2001  Pekka Riikonen <priikone@poseidon.pspt.fi>
 
        * Added new functions into the silcd/packet_receive.[ch]:
          silc_server_new_id_list, silc_server_new_channel_list and
-         silc_server_new_channel_user_list to handle the incoming 
+         silc_server_new_channel_user_list to handle the incoming
          NEW_ID_LIST, NEW_CHANNEL_LIST and NEW_CHANNEL_USER_LIST packets.
 
        * Added support of changing Channel ID in the function
@@ -7869,12 +10175,12 @@ Fri Feb 16 14:14:00 EET 2001  Pekka Riikonen <priikone@poseidon.pspt.fi>
 Thu Feb 15 20:07:37 EET 2001  Pekka Riikonen <priikone@poseidon.pspt.fi>
 
        * Added new packet type SILC_PACKET_HEARTBEAT that is used to
-         send keepalive packets.  The packet can be sent by clients, 
+         send keepalive packets.  The packet can be sent by clients,
          servers and routers.
 
          Added function silc_socket_set_heartbeat into the file
          lib/silccore/silcsockconn.[ch] to set the heartbeat timeout.
-         If not set, the heartbeat is not performed.  The actual 
+         If not set, the heartbeat is not performed.  The actual
          heartbeat is implemented in the low level socket connection
          library.  However, application is responsible of actually
          sending the packet.
@@ -7907,7 +10213,7 @@ Thu Feb 15 20:07:37 EET 2001  Pekka Riikonen <priikone@poseidon.pspt.fi>
          reverse order.  For this reason, MAC check failed.  Now, this
          is fixed by not sending the Channel Key packet immediately but
          putting it to queue.  However, this is more fundamental problem:
-         packets that are in queue should actually not be encrypted 
+         packets that are in queue should actually not be encrypted
          because packets that are sent immediately gets encrypted
          actually with wrong IV (and thus MAC check fails).  So, packets
          that are in queue should be encrypted when they are sent to
@@ -7948,7 +10254,7 @@ Wed Feb 14 16:03:25 EET 2001  Pekka Riikonen <priikone@poseidon.pspt.fi>
          whether the requested user and group actually exists.
 
        * Added sanity check to SKE's silc_ske_responder_finish to check
-         that the public and private key actually is valid. 
+         that the public and private key actually is valid.
 
        * Invalidate the client's nickname when receiving Replace ID
          packet and the Client ID is being replaced.  This means that the
@@ -7967,8 +10273,8 @@ Wed Feb 14 16:03:25 EET 2001  Pekka Riikonen <priikone@poseidon.pspt.fi>
 
        * Fixed some places where client was added to the IDList.  The
          rule of thumb is following (in order to get everything right):
-         If the client is directly connected local client then the 
-         `connection' argument must be set and `router' argument must be 
+         If the client is directly connected local client then the
+         `connection' argument must be set and `router' argument must be
          NULL to silc_idlist_add_client function.  If the client is not
          directly connected client then the `router' argument must
          bet set and the `connection' argument must be NULL to the
@@ -8022,7 +10328,7 @@ Sun Feb 11 18:19:51 EET 2001  Pekka Riikonen <priikone@poseidon.pspt.fi>
 
 Sat Feb 10 21:13:45 EET 2001  Pekka Riikonen <priikone@poseidon.pspt.fi>
 
-       * A big code auditing weekend happening.  Auditing code for 
+       * A big code auditing weekend happening.  Auditing code for
          obvious mistakes, bugs and errors.  Also, removing any code
          that is obsolete.
 
@@ -8037,11 +10343,11 @@ Sat Feb 10 21:13:45 EET 2001  Pekka Riikonen <priikone@poseidon.pspt.fi>
 
          o The buffer formatting routines now check that the destination
          buffer really has enough space to add the data.  This applies for
-         both buffer formatting and unformatting 
+         both buffer formatting and unformatting
          (lib/silcutil/silcbuffmt.[ch]).  Also, the entire buffer
-         unformatting was changed to accomodate following rules: 
+         unformatting was changed to accomodate following rules:
          XXX_*STRING_ALLOC will allocate space for the data into the pointer
-         sent to the function while XXX_*STRING will not allocate or copy 
+         sent to the function while XXX_*STRING will not allocate or copy
          the data into the buffer.  Instead it sets the pointer from the
          buffer into the pointer sent as argument (XXX_*STRING used to
          require that the pointer must be allocated already).  This change
@@ -8078,8 +10384,8 @@ Sun Feb  4 13:18:32 EET 2001  Pekka Riikonen <priikone@poseidon.pspt.fi>
          channels and clients channel modes) to all routers in the
          network.  Updated the protocol specification accordingly.
 
-         Added functions into silcd/packet_send.c and 
-         silcd/packet_receive.c: silc_server_send_set_mode, 
+         Added functions into silcd/packet_send.c and
+         silcd/packet_receive.c: silc_server_send_set_mode,
          silc_server_set_mode.
 
          Added new files silcmode.[ch] into lib/silccore that implements
@@ -8089,7 +10395,7 @@ Sun Feb  4 13:18:32 EET 2001  Pekka Riikonen <priikone@poseidon.pspt.fi>
 
 Sat Feb  3 15:44:54 EET 2001  Pekka Riikonen <priikone@poseidon.pspt.fi>
 
-       * Oops, a little mistake in server's connection authentication 
+       * Oops, a little mistake in server's connection authentication
          protocol.  The protocol is not ended with FAILURE but with
          SUCCESS if the authentication is Ok. :)  Affected file is
          silcd/protocol.c.
@@ -8099,13 +10405,13 @@ Sat Feb  3 15:44:54 EET 2001  Pekka Riikonen <priikone@poseidon.pspt.fi>
          the local clients on the channel.  After the changing nickname
          in router environment snhould work and the [<unknown>] nickname
          should appear no more.
+
          The silc_server_replace_id function that receives the Replace ID
          payload now sends the NICK_CHANGE notify type also in the file
          silcd/packet_receive.c
 
        * Changed WHOIS and IDENTIFY command to support the maximum amount
-         of arguments defined in protocol specs (3328 arguments).  This 
+         of arguments defined in protocol specs (3328 arguments).  This
          fixed a bug that caused problems when there were more than three
          users on a channel.
 
@@ -8158,7 +10464,7 @@ Thu Feb  1 21:32:27 EET 2001  Pekka Riikonen <priikone@poseidon.pspt.fi>
        * Fixed some minor bugs in client when sending WHOIS command.  The
          arguments was in wrong order.
 
-       * Removed statis function add_to_channel from server in 
+       * Removed statis function add_to_channel from server in
          silcd/command.c that was previously used with the joining but
          is obsolete now.
 
@@ -8198,7 +10504,7 @@ Tue Jan 30 22:39:15 EET 2001  Pekka Riikonen <priikone@poseidon.pspt.fi>
 
          Changed the function silc_client_command_pending and
          silc_client_command_pending_del and added new function
-         silc_client_command_pending_check.  Removed the 
+         silc_client_command_pending_check.  Removed the
          SILC_CLIENT_CMD_REPLY_EXEC, and SILC_CLIENT_PENDING_COMMAND_CHECK
          macros.
 
@@ -8272,13 +10578,13 @@ Sun Jan 28 16:19:49 EET 2001  Pekka Riikonen <priikone@poseidon.pspt.fi>
          global list who is joining and JOINs it to the channel.  This is
          for normal server, that is.
 
-         Changed silc_server_send_notify_on_channel, 
-         silc_server_packet_relay_to_channel and 
+         Changed silc_server_send_notify_on_channel,
+         silc_server_packet_relay_to_channel and
          silc_server_packet_send_to_channel check if we are normal server
          and client has router set (ie. global client) do not send the
          message to that client, as it is already routed to our router.
 
-       * Implemented LEAVE notify type handling in silc_server_notify 
+       * Implemented LEAVE notify type handling in silc_server_notify
          function.
 
        * Tested LEAVE command in router environment successfully.  Tested
@@ -8325,7 +10631,7 @@ Thu Jan 11 03:22:57 EET 2001  Pekka Riikonen <priikone@poseidon.pspt.fi>
          client.[ch] into client library.
 
        * Changed JOIN command reply to send information whether the channel
-         was created or not (is existing already) and the channel key 
+         was created or not (is existing already) and the channel key
          payload.  Changed protocol specs accordingly.
 
        * Fixed bugs in WHOIS and IDENTIFY command reply sending when
@@ -8337,7 +10643,7 @@ Sat Dec 23 21:55:07 EET 2000  Pekka Riikonen <priikone@poseidon.pspt.fi>
        * Fixed a bug in Client library.  IDENTIFY and WHOIS reply functions
          now correctly save the received data.
 
-       * silc_server_free_sock_user_data now notifies routers in the 
+       * silc_server_free_sock_user_data now notifies routers in the
          network about entities leaving the network.
 
          At the same time implemented functions silc_server_remove_id
@@ -8359,7 +10665,7 @@ Sat Dec 23 21:55:07 EET 2000  Pekka Riikonen <priikone@poseidon.pspt.fi>
 
          IDENTIFY command now also checks that client->nickname must be
          valid. If it is not if will request the data from the server who
-         owns the client.  Added new function 
+         owns the client.  Added new function
          silc_server_command_identify_check.
 
        * Added silc_command_set_command into lib/silccore/silcommand.[ch]
@@ -8387,7 +10693,7 @@ Sun Dec 17 14:40:08 EET 2000  Pekka Riikonen <priikone@poseidon.pspt.fi>
 Sat Dec 16 17:39:54 EET 2000  Pekka Riikonen <priikone@poseidon.pspt.fi>
 
        * Implemented version string checking to both client and server.
-         The check is incomplete currently due to the abnormal version 
+         The check is incomplete currently due to the abnormal version
          strings used in development version of SILC.
 
        * Changed all command functions in server to use the new
@@ -8399,7 +10705,7 @@ Fri Dec 15 15:55:12 EET 2000  Pekka Riikonen <priikone@poseidon.pspt.fi>
          support binary data as ID Cache data. Changed code to support
          binary data in lib/silccore/idcache.c.
 
-       * Renamed silc_server_packet_relay_command_reply to 
+       * Renamed silc_server_packet_relay_command_reply to
          silc_server_command_reply as it is normal packet receiving
          function. Rewrote the function to accept command replys for
          servers and not only for clients.
@@ -8488,7 +10794,7 @@ Mon Nov 27 21:39:40 EET 2000  Pekka Riikonen <priikone@poseidon.pspt.fi>
        * Fixed the JOIN command to really work in router environment.  If the
          channel is created it is always created by the router.  Router is
          also responsible of making the initial joining to the channel,
-         sending JOIN notify to the sending server and distributing 
+         sending JOIN notify to the sending server and distributing
          NEW_CHANNEL and NEW_CHANNEL_USER packets.  Hence, if the channel
          does not exist server doesn't do anything else but forward the
          command to the router which performs everything.
@@ -8549,7 +10855,7 @@ Tue Nov 21 19:49:31 EET 2000  Pekka Riikonen <priikone@poseidon.pspt.fi>
 
        * The channel key is now distributed to the local client as soon
          as it is received from the router (in router environment) so that
-         no other packet may be sent for the channel until client has 
+         no other packet may be sent for the channel until client has
          received the key.
 
        * silc_server_remove_channel_user now broadcasts the received
@@ -8572,7 +10878,7 @@ Tue Nov 21 19:49:31 EET 2000  Pekka Riikonen <priikone@poseidon.pspt.fi>
          silc_[client/server]_packet_parse_type the packet context must
          be duplicated by calling silc_packet_context_dup.  Otherwise it
          gets free'd after silc_[client/server]_packet_parse_type returns.
-         Also, one must remember that if packet is duplicated then its 
+         Also, one must remember that if packet is duplicated then its
          reference count must be decresed by calling the free function as
          many times as it was duplicated.
 
@@ -8682,7 +10988,7 @@ Sun Nov  5 22:28:44 EET 2000  Pekka Riikonen <priikone@poseidon.pspt.fi>
 
 Thu Nov  2 16:28:01 EET 2000  Pekka Riikonen <priikone@poseidon.pspt.fi>
 
-       * Changed client's channel table to SilcList and changed code 
+       * Changed client's channel table to SilcList and changed code
          accordingly.  Also changed SilcChannelClientEntry to include back-
          pointer to the channel so that client entry can use that structure
          as list as well and we have fast cross-reference to the channel.
@@ -8708,7 +11014,7 @@ Wed Nov  1 17:21:26 EET 2000  Pekka Riikonen <priikone@poseidon.pspt.fi>
        * NAMES command reply now shows users mode with the nickname when
          joining to channel.
 
-       * Moved silc_client_ch[u]mode[_char] functions from 
+       * Moved silc_client_ch[u]mode[_char] functions from
          silc/clientutil.[ch] to lib/silcclient/client.[ch].  Though, that
          place sucks, they are utility functions and should be in some
          other file.
@@ -8731,7 +11037,7 @@ Tue Oct 31 20:10:37 EET 2000  Pekka Riikonen <priikone@poseidon.pspt.fi>
          already defined as a list.  It is not suitable to add just some
          context to the list (in TRQ, the context is the list actually).
 
-         So, I defined SilcDList that can be used for the purpose where 
+         So, I defined SilcDList that can be used for the purpose where
          predefined list structure does not exit.  This can be used as
          such list.  Now some context just can be added to the SilcDList.
          Currently this list is not used in the SILC just yet, though there
@@ -8743,7 +11049,7 @@ Tue Oct 31 20:10:37 EET 2000  Pekka Riikonen <priikone@poseidon.pspt.fi>
          Also fixed some annoying warning messages that the original TRQ
          code generated.  Also minor changes to TRQ's Makefile.in.
 
-       * Added support for querying by Client ID to both WHOIS and 
+       * Added support for querying by Client ID to both WHOIS and
          IDENTIFY commands into server, as required by the protocol.
 
        * Removed method function pointers from SilcBuffer structure. They
@@ -8751,7 +11057,7 @@ Tue Oct 31 20:10:37 EET 2000  Pekka Riikonen <priikone@poseidon.pspt.fi>
          no good reason.  This change also made silc_buffer_alloc and
          silc_buffer_free functions inline functions.
 
-       * Disabled command flooding detection support until it's fixed so 
+       * Disabled command flooding detection support until it's fixed so
          that it accepts commands in but does not execute them more than once
          in two seconds.
 
@@ -8764,7 +11070,7 @@ Tue Oct 31 20:10:37 EET 2000  Pekka Riikonen <priikone@poseidon.pspt.fi>
          that the message is sent only once per client.
 
        * Moved silc_log_format (from lib/silcutil/silclog.[ch] into
-         lib/silcutil/silcutil.[ch] as silc_format function.  The new 
+         lib/silcutil/silcutil.[ch] as silc_format function.  The new
          function is generic and is used by server as well, not only by
          the logging routines.
 
@@ -8775,7 +11081,7 @@ Tue Oct 31 20:10:37 EET 2000  Pekka Riikonen <priikone@poseidon.pspt.fi>
          does not reside in the SKE library.  The function checks the version
          string remote end sent.
 
-       * Added back pointers (to opaque context and to SilcSocketConnection) 
+       * Added back pointers (to opaque context and to SilcSocketConnection)
          into SilcPacketContext structure into lib/silccore/silcpacket.h.
 
        * Added silc_packet_context_dup into lib/silccore/silcpacket.[ch] to
@@ -8788,14 +11094,14 @@ Tue Oct 31 20:10:37 EET 2000  Pekka Riikonen <priikone@poseidon.pspt.fi>
          to application (otherwise application doesn't know that it is for
          channel (library gets it from packet's Destination ID)).
 
-       * Added silc_client_remove_from_channels into client library to 
-         remove a client from all channels it has joined to.  Used when 
+       * Added silc_client_remove_from_channels into client library to
+         remove a client from all channels it has joined to.  Used when
          received SIGNOFF notify from server.  Added also new function
          silc_client_replace_from_channels to replace old ID entry with
          new ID entry on all channels.  Used when received NICK_CHANGE
          notify from server.
 
-       * Fixed ID Cache list handling in silc_idlist_get_client in 
+       * Fixed ID Cache list handling in silc_idlist_get_client in
          lib/silcclient/idlist.c.  Also, added silc_idlist_get_client_by_id
          to get (or query) client by ID.
 
@@ -8875,7 +11181,7 @@ Tue Oct 31 20:10:37 EET 2000  Pekka Riikonen <priikone@poseidon.pspt.fi>
 
 Mon Oct  9 20:57:02 EEST 2000  Pekka Riikonen <priikone@poseidon.pspt.fi>
 
-       * Changed SILC_COMMAND_IDENTIFY in protocol specification to 
+       * Changed SILC_COMMAND_IDENTIFY in protocol specification to
          accept searching by Client ID as well.
 
        * Added support for LEAVE and SIGNOFF notify types in client library.
@@ -9174,7 +11480,7 @@ Wed Jul 12 18:28:07 EEST 2000  Pekka Riikonen <priikone@poseidon.pspt.fi>
        * Added into lib/silccore/silcbufutil.[ch] new function;
          silc_buffer_realloc.
 
-       * Moved generic packet sending/encryption functions to 
+       * Moved generic packet sending/encryption functions to
          lib/silccore/silcpacket.[ch] from client and server.  Some
          rewriting of the functions.
 
@@ -9189,7 +11495,7 @@ Wed Jul 12 18:28:07 EEST 2000  Pekka Riikonen <priikone@poseidon.pspt.fi>
 
 Tue Jul 11 20:27:26 EEST 2000  Pekka Riikonen <priikone@poseidon.pspt.fi>
 
-       * Rewrote major parts of the ID cache system.  Don't know 
+       * Rewrote major parts of the ID cache system.  Don't know
          whether it is better now or not but at least the API is more
          cleaner now.
 
@@ -9246,7 +11552,7 @@ Thu Jul  6 18:12:24 EEST 2000  Pekka Riikonen <priikone@poseidon.pspt.fi>
 
        * Added public key verification process into client's protocol.c.
          The client now verifies the public key from user and saves
-         it into ~./silc/serverkeys/ directory. 
+         it into ~./silc/serverkeys/ directory.
 
          Added into: clientutil.[ch]: silc_client_verify_server_key.
 
@@ -9267,7 +11573,7 @@ Wed Jul  5 19:19:02 EEST 2000  Pekka Riikonen <priikone@poseidon.pspt.fi>
 
        * Removed wrong way of sending command status messages from
          server to client in server's command.c.  The old way violated
-         protocol specification.  
+         protocol specification.
 
          Changes to silccore/silccommand.[ch]: removed
          silc_command_encode_status_payload -> not needed anymore,
@@ -9317,7 +11623,7 @@ Sun Jul  2 18:23:01 EEST 2000  Pekka Riikonen <priikone@poseidon.pspt.fi>
 
        * Implemented LEAVE command on client and server.
 
-       * Previously deprecated SILC_PACKET_FORWARDED flag is now in use 
+       * Previously deprecated SILC_PACKET_FORWARDED flag is now in use
          again.  This change was made to the protocol as well.  Server
          should not violate the protocol specification anymore.