Cleaned up some SILC_LOG_DEBUG's in backup protocol code.
[silc.git] / CHANGES
diff --git a/CHANGES b/CHANGES
index 089a3c93384d5dbef6efb2616e8c637d552091b2..d0b13bfa43e3b3f349b10058aa6e7ba5bc8b2344 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,6 +1,718 @@
+Mon Jun 24 17:47:52 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
+
+       * Added functions silc_server_send_opers and
+         silc_server_send_opers_notify to send packets stricly
+         to operators.  Added macro SILC_SERVER_SEND_OPERS macro
+         to send variable argument notify to operators.
+         Affected files silcd/packet_send.[ch] and silcd/server.h.
+
+       * Removed UMODE rights checking with UMODE_CHANGE notify.
+         Affected file silcd/packet_receive.c.
+
+       * Server/router operator now receives notify when network
+         switches to backup router and when it resumes the use of
+         primary router.  Affected file silcd/server.c and
+         silcd/server_backup.c.
+
+       * Fixed the updating of client information after backup
+         resuming protocol is over; update all except local clients
+         to the new primary router.  The affected file is
+         silcd/server_util.c.
+
+       * Added support for closing active connections in rehash
+         that were unconfigured by the user.  Supports currently
+         closing server and router connections.  Affected file
+         silcd/server.c.
+
+       * Rewrote some SILC_LOG_DEBUG's in silcd/server_backup.c.
+
+Sun Jun 23 17:32:31 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
+
+       * Don't do SILC_STRING_LANGUAGE encoding if the outbuffer
+         is NULL since seems that on some platforms NULL is allowed
+         and on some it's not.  Fallback encoding is used instead.
+         Affected file lib/silcutil/silcstrutil.c.
+
+       * Fixed statistics updating for incoming server connection
+         which could cause problems when re-connecting.  Affected
+         file silcd/server.c.
+
+       * Preliminary backup router support for standalone router
+         added.  Affected files in silcd/.
+
+       * Mark server connections in backup router disabled before
+         and after backup protocol.  Affected file is
+         silcd/server_backup.c.
+
+       * Added support for reconnecting to remote server connection
+         even if the protocol fails, and if the configuration wants
+         us to keep trying to connect anyway.
+
+         Server connection is not allowed to backup router if
+         backup router does not have connection to primary router yet.
+
+         Affected file is silcd/server.c.
+
+Sat Jun 22 21:34:59 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
+
+       * Added silc_client_udpate_server function to update changed
+         server info.  Affected file lib/silcclient/idlist.[ch].
+
+       * Added check for server entries that are being resolved when
+         notify is received.  If being resolved, handle the received
+         notify only after it's resolved so that all notifys are
+         handled in same order as received from the server.
+
+         Added similar resolver check to channel entries.  Every
+         notify that cause resolving of any information that affects
+         channel entry marks the channel entry in waiting state.
+         After whatever resolving is over the waiters are signalled
+         and only then the notifys are handled in the same order
+         as delivered from the server.
+
+         Affected files are lib/silcclient/idlist.[ch], and
+         client_notify.c.
+
+       * Fixed KILLED notify handling in normal server.  Affected
+         file silcd/packet_receive.c.
+
+       * Added SILC_IDLIST_STATUS_LOCAL which indicates that entry
+         is locally connected, or was locally connected (but may
+         be detached and connection is not active).  Added also
+         SILC_IS_LOCAL for checking this status.  Affected files
+         silcd/idlist.h, silcd/packet_receive.c, silcd/server_util.c,
+         silcd/server.c and silcd/server_internal.h.
+
+Sat Jun 22 17:06:58 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
+
+       * Don't send or handle TOPIC_SET if topic is already set and
+         is same as being set.  Affected files silcd/command.c and
+         silcd/packet_receive.c.
+
+       * Fixed CMODE change rights checking to work correctly when
+         removing modes by operator.  Affected file is
+         silcd/server_util.c.
+
+       * Fixed some handling with New Channel packet in router and
+         fixed some CMODE_CHANGE notify handling in server and router.
+         Affected file is silcd/packet_receive.c.
+
+       * Changed "disconnect" client operation to include the
+         reason of the disconnection and optional disconnection
+         message.  Affected file lib/silcclient/silcclient.h.
+
+       * Made the compilation of lib/contrib/ stuff conditional.
+         Affected files configure.in.pre, lib/contrib/Makefile.am.
+
+Sat Jun 22 12:49:21 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
+
+       * All CMODE_CHANGE and CUMODE_CHANGE notifys are now sent back
+         to the sender of the notify too, to avoid situation where two
+         notifys are in the network at the same time going to oppsite
+         directions.  Affected file silcd/packet_receice.c.
+
+Fri Jun 21 10:00:32 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
+
+       * Delete the client from channel even if the cilent->id is
+         NULL.  It was possible that client was deleted without
+         removing from channels (theoretically at least).  Affected
+         file silcd/server.c and silcd/server_util.c.
+
+       * Free the client data too when resuming is not successful.
+         Affected file silcd/packet_receive.c.
+
+       * Merged some code from c0ffee's silc-plugin.  Affected files
+         irssi/src/silc/core/silc-channels.c and silc-expandos.c.
+
+       * Added SILC_PRIMARY_ROUTE and SILC_BROADXAST macros to
+         silcd/server_internal.h.  SILC_PRIMARY_ROUTE Returns pointer
+         to the primary router connection, the other one returns
+         TRUE if packet must be broadcasted to network.
+
+       * All notifys that are destined to primary router (to network)
+         are now automatically sent to backup routers even if the
+         router is standalone (and has backup router).  Affected files
+         in silcd/.
+
+       * Added --without-irssi and --without-silcd configuration
+         options for disabling the compilation of these applications.
+         Affected file configure.in.pre and prepare.
+
+Thu Jun 20 13:48:15 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
+
+       * Implemented SILC_STRING_BMP and SILC_STRING_UNIVERSAL for
+         UTF-8 encoding and decoding.  Added also new encodings
+         SILC_STRING_BMP_LSB and SILC_STRING_UNIVERSAL_LSB.
+
+         Added also SILC_STRING_LANGUAGE which is language and charset
+         specific encoder and decoer for those platforms that support
+         iconv().  It can convert the UTF-8 to and from the locale
+         specific character set.
+
+         Affected file lib/silcutil/silcstrutil.[ch].
+
+       * Added macro SILC_NOT_IMPLEMENTED to lib/silcutil/silclog.h.
+
+       * Added function silc_get_command_name to the file
+         lib/silcutil/silcutil.[ch].
+
+       * Improved the server debug output a bit.  Affected files are
+         in silcd/.
+
+Wed Jun 19 17:46:31 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
+
+       * Save the channel passphrase when received succesful JOIN
+         command reply from router, on normal server.  Otherwise
+         joinig +a channels from normal server is not possible.
+         Affected file silcd/command.c.
+
+       * Fixed a bug in TOPIC_SET notify handling.  The notifier
+         may be other than client too, like server or channel.
+         It expected it to always be only client and ignored the
+         notify.  Affected file silcd/packet_recieve.c.
+
+       * 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
+         channel.
+
+         Router announces stuff only after server reannounces channel
+         after CHANNEL_CHANGE notify.
+
+         These fixes optimizes the announcing procedure, and perhaps
+         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, 
+         instead of only to those that was on same channel as the
+         signing off clients.  Affected file silcd/server_util.c.
+
+       * Added -D option to server.  It can be used to give debug
+         level.  The levels are from 0 - 99, and are predefined for
+         smooth server debugging.  (see silcd.c for the predefined
+         levels).  Affected file silcd/server.c.
+
+Wed Jun 19 16:01:51 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
+
+       * Fixed a bug in Irssi SILC client to close the connection
+         properly when disconnecting from server.  Affected file
+         irssi/src/silc/core/client_ops.c.
+
+Tue Jun 18 17:14:52 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
+
+       * When authenticating as founder during JOIN command, check
+         that the one authenticating becomes the only founder on the
+         channel.  Affected file silcd/command.c.
+
+       * Better checking for founder mode setting when CUMODE_CHANGE
+         notify is received.  Affected file silcd/packet_receive.c.
+
+       * Close all connections when shutting down the server by sending
+         DISCONNECT packet.  Close all listeners too when shutting
+         down the server.  Affected file silcd/server.c.
+
+       * Handle DISCONNECT packet correctly in client library by
+         calling the "disconnect" client operation.  Affected file
+         lib/silcclient/client.c.
+
+       * Handle local errors correctly during resuming.  Affected
+         file lib/silcclient/client.c.
+
+Tue Jun 18 10:26:27 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
+
+       * The log file is not dupped internally anymore in
+         lib/silcutil/silclog.c.  Fixed memory leaks too.
+
+       * The scheduler now dispatches all pending timeout tasks
+         when it is uninitialized with silc_schedule_uninit.
+         Affected file lib/silcutil/silcschedule.c.
+
+Mon Jun 17 21:30:55 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
+
+       * Added --enable-stack-trace option to configure.  Added
+         memory allocation stack trace support.  Added files
+         lib/silcutil/stacktrace.[ch].  Affected files are
+         lib/silcutil/silcmemory.[ch].
+
+       * Fixed memory leaks from libraries and server.  Affected
+         files around the tree.
+
+       * Reverted back a fix made to CUMODE which broke it.
+         Affected file silcd/command.c.
+
+Sun Jun 16 11:49:45 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
+
+       * Added SILC_MESSAGE_FLAG_UTF8 to the protocol specs and the
+         core library, and implemented it.  All textual messages SHOULD
+         use this flag and the message MUST be UTF-8 encoded.
+         All text messages sent by Irssi SILC client are now UTF-8
+         encoded (regardless whether the terminal supports UTF-8 or not).
+         Affected files are lib/silccore/silcchannel.h,
+         irssi/src/silc/core/silc-servers.c, silc-channels.c and
+         client_ops.c.
+
+Sat Jun 15 18:23:39 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
+
+       * Added lots of new statistics updating that was missing from
+         the server and router code.  Affected files in silcd/.
+
+       * Sending SIGUSR1 signal to server now dumps the current
+         server statistics into /tmp directory.  Affected file is
+         silcd/silcd.c.
+
+       * ROBODoc documented the lib/silccrypt/silchash.h.  Improved
+         the SILC Hash Interface also.  Added new functions
+         silc_hash_get_name, silc_hash_init, silc_hash_update and
+         silc_hash_final.  Affected file lib/silccrypt/silchash.c.
+
+Sat Jun 15 12:09:14 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
+
+       * Added some better info printing for client during connecting.
+         Affected file silcd/server_util.c.
+
+       * Implemented the SILC_CHANNEL_UMODE_QUIET mode that can be used
+         to silence a user on a channel.  Affected files are
+         lib/silcclient/client_channel.c, irssi/src/silc/core/client_ops.c,
+         irssi/src/fe-common/silc/module-formats.[ch], silcd/command.c
+         and silcd/packet_receive.c.
+
+       * Fixed a fatal bug in handling of malformed command payload.
+         Affected file silcd/command.c.
+
+       * Fixed a double free when announcing channel users to router.
+         Affected file silcd/server.c.
+
+       * After successful authentication to channel founder mode, check
+         that there isn't anyone else with founder mode on the channel.
+         The one that authenticated will become founder and anyone
+         else is demoted.  Affected file silcd/command.c.
+
+       * Added error printing of any error that has occurred during
+         any command in client library.  Affected file is
+         irssi/src/silc/core/client_ops.c.
+
+       * Removed some error printing from the client library and left
+         it for the application to worry (from the error status it
+         receives in 'command' client operation.  Affected file is
+         lib/silcclient/command.c.
+
+Fri Jun 14 22:59:02 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
+
+       * Added new status types KEY_AGREEMENT_ALREADY_STARTED and
+         KEY_AGREEMENT_SELF_DENIED to lib/silcclient/silcclient.h.
+         Starting key agreement with itself is denied.  Affected file
+         is lib/silcclient/client_keyagr.c.
+
+       * Fixed some error checkings from the SFTP library which caused
+         misbehaviour.  Affected files are lib/silcsftp/sftp_client.c
+         and lib/silcsftp/sftp_util.c.
+
+       * Added new "debug" and "debug_string" settings to Irssi SILC
+         client which can be used to print runtime debugging on the
+         Irssi's screen.  Available when compiled with --enable-debug
+         option.  Affected file irssi/src/silc/core/silc-core.c.
+
+Tue Jun 11 16:36:02 CEST 2002 Johnny Mnemonic <johnny@themnemonic.org>
+
+       * Fixed a missing variadic parameter in a function call that
+         caused server crash when a non-allowed connection arrived.
+         Reported by Richard Becker.  Affected file silcd/server.c.
+
+Mon Jun 10 16:29:42 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
+
+       * Added WATCH list sending to backup routers from router.
+         The WATCH command is sent by the router to the backup
+         router.  Affected file silcd/command.c.
+
+       * Mark the backup_router flag for RouterConnection entry
+         if the backup router stuff is defined in the config file.
+         Affected file silcd/serverconfig.c.
+
+       * Fixed some backup data sending around the code to work better
+         if the router is standalone router.  Not all places were fixed.
+         Affected file silcd/packet_receive.c, silcd/packet_send.c,
+         silcd/server.c.
+
+       * Fixed the router connecting when connecting to multiple
+         routers.  It ignored every other router except the first
+         one.  Affected file silcd/server.c.
+
+Mon Jun 10 09:28:21 CEST 2002 Pekka Riikonen <priikone@silcnet.org>
+
+       * Made the private key generation after expiration optional.
+         If not created after expiration the old key will re-expire
+         at a later time (and thus key pair is not necessary to
+         change).  Affected file irssi/src/silc/core/clientutil.c.
+
+Sun Jun  9 18:58:25 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
+
+       * The length arguments in bind() and connect() were wrong
+         and fixed now to used SIZEOF_SOCKADDR in the
+         lib/silcutil/unix/silcunixutil.c.
+
+Tue Jun  4 18:36:05 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
+
+       * Fixed detach timeout handling to use Client ID and not
+         the actual client entry which may be freed in the callback.
+         Affected file silcd/command.c.
+
+Thu May 30 15:53:45 CEST 2002 Pekka Riikonen <priikone@silcnet.org>
+
+       * Merged c0ffee's multiple interface support patch.
+         Affected files in silcd/.
+
+Wed May 29 18:08:15 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
+
+       * Cleanup keys properly.  Affected file is
+         irssi/src/silc/core/clientutil.c.
+
+Tue May 28 20:11:41 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
+
+       * Display the user mode on the status bar.  Affected file
+         irssi/src/silc/core/silc-expandos.c.
+
+Tue May 28 13:56:26 CEST 2002 Pekka Riikonen <priikone@silcnet.org>
+
+       * If private message key is not set, but the flag is set in
+         the packet, ignore the packet since it cannot be decrypted.
+         Affected file lib/silcclient/client_prvmsg.c.
+
+Thu May 23 12:00:14 CEST 2002 Pekka Riikonen <priikone@silcnet.org>
+
+       * When resuming client, remove the old client entry from
+         the watcher list too.  Affected file silcd/packet_receive.c.
+
+       * Do not allow normal server to force founder mode away
+         from router if the founder mode is already set.  Affected
+         file silcd/packet_receive.c.
+
+       * Remove the client entry with watch notify types with short
+         timeout, and not directly, so that other notifys can be
+         retrieved too.  Affected file lib/silcclient/client_notify.c.
+
+       * Display notification about data messages that cannot be
+         displayed.  Affected files irssi/src/silc/core/client_ops.c,
+         irssi/src/fe-common/silc/module-formats.[ch].
+
+Sun May 19 18:59:00 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
+
+       * Fixed the CHANNEL_CHANGE notify handling in client libary
+         to not use freed memory.  Affected file is
+         lib/silcclient/client_notify.c.
+
+       * Fixed CUMODE_CHANGE notify handling in server.  Affected
+         file silcd/packet_receive.c.
+
+       * Fixed USERS command to support empty channels.  Affected
+         file silcd/command.c.
+
+Sat May 18 11:35:19 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
+
+       * Allow multiple identical pending commands to be registered
+         in client library.  Affected file is lib/silcclient/command.c.
+
+       * Call the completion for resolving client information only
+         after all resolvers has finished.  This fixes a crash in
+         the client.  Added support for checking when the resolvers
+         are finished.  Affected file is lib/silcclient/idlist.c.
+
+       * Wait by default 3 seconds before reconnecting to the server
+         after being disconnected.  Makes the /detach command a bit
+         more usable.
+
+Fri May 17 17:23:45 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
+
+       * Check the watcher list before sending signoff notifys
+         when closing client connection.  Affected file is
+         silcd/server.c.
+
+       * Added better CMODE command rights checking.  Affected file
+         silcd/server_util.c.
+
+Fri May 17 08:33:41 CEST 2002 Pekka Riikonen <priikone@silcnet.org>
+
+       * Fixed watcher list checking during server signoff.  It
+         crashed the server.  Affected file silcd/server_util.c.
+
+       * The JOIN command reply returns now the founder's public
+         key.  Affected file is silcd/command.c.
+
+       * Announce the channel mode, and the mode properties with
+         CMODE_CHANGE notify.  Affected file silcd/server.c.
+
+       * Mark new channels by default disabled, untill at least
+         one user joins the channel.  Affected file is
+         silcd/packet_receive.c.
+
+Thu May 16 13:05:13 CEST 2002 Pekka Riikonen <priikone@silcnet.org>
+
+       * The nickname argument to watch notify can be optional.
+         Fixes a crash in server.  Affected file silcd/packet_send.c.
+
+       * Remove the client entry from cache if the WATCH notify type
+         is KILLED, SERVER_SIGNOFF or SIGNOFF.  Affected file is
+         lib/silcclient/client_notify.c.
+
+       * Check the watcher list before and after changing nickname
+         when the NICK_CHANGE notify is received.  Affected file is
+         silcd/idlist.c.
+
+       * Fixed a crash in OPER and SILCOPER command sending.  Empty
+         passphrase caused the crash.  Affected file is
+         lib/silcclient/command.c.
+
+Wed May 15 19:01:42 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
+
+       * Merged with Irssi CVS for Irssi SILC client.
+
+Tue May 14 19:37:48 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
+
+       * Completed the protocol specifications.
+
+Tue May  7 20:41:58 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
+
+       * Merged with Irssi CVS for Irssi SILC client.
+
+Tue May  7 11:07:16 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
+
+       * Added the founder's public key delivery to the
+         CUMODE_CHANGE notify type as well.  Updated the protocol
+         specs and the code.  Affected files are silcd/packet_send.[ch],
+         silcd/packet_receive.c and silcd/command.c.
+
+Mon May  6 19:46:12 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
+
+       * Added silc_pkcs_public_key_copy function into the
+         lib/silccrypt/silcpkcs.[ch].
+
+       * Remove the `iv' from the SilcChannelEntry since we can
+         live without it.  Affected files are silcd/idlist.h and
+         silcd/packet_receive.c.
+
+       * Added support for sending the founder's public key in
+         the CMODE_CHANGE notify packet in the server.  Affected
+         files are silcd/packet_send.[ch], silcd/packet_receive.c,
+         silcd/command.c and silcd/server.c.
+
+       * Changed the FOUNDER_AUTH authentication to use only
+         public key authentication as defined by new protocol
+         specs.  Passphrase authentication with that mode cannot
+         be used anymore.  It is now possible to reclaim founder
+         mode from any server in the network.  Affected files are
+         silcd/command.c, silcd/idlist.h and silcd/command_reply.c.
+
+       * Added permanent channels support by making the channel
+         permanent when FOUNDER_AUTH mode is set on the channel.
+         The channel will not be destroyed even if channel is empty
+         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. 
+
+Fri May  3 18:36:51 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
+
+       * Added reference counter to the command reply context in
+         the client library.  Affected files are
+         lib/silcclient/command_reply.[ch].
+
+Fri May  3 11:37:10 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
+
+       * Fixed rekey protocol with PFS in the client library.
+         Affected file is lib/silcclient/protocol.c.
+
+       * Added support for list of errors in client library
+         command reply handling.  Affected file is
+         lib/silcclient/command_reply.c.
+
+       * Defined that the WHOIS and IDENTIFY commands can send
+         list of errors.  Updated the protocol specs.  Protocol
+         TODO #2.
+
+       * Added support for sending list of errors to WHOIS and
+         IDENTIFY commands in server.  Added support for receiving
+         list of errors in server.  Affected files are
+         silcd/command.c and silcd/command_reply.c.
+
+       * Fixed client info resolving on LEAVE command in client
+         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>
+
+       * Defined that the NICK command replies with thew changed
+         nickname too, to make the nickname changing simpler at
+         the client's end.  Updated protocol specs and the code
+         in client and server.  Affected files are
+         silcd/command.c, lib/silcclient/command_reply.c and
+         lib/silcclient/command.c.
+
+Mon Apr 29 20:10:42 EEST 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Added `Compressed' packet flag to indicate that the packet
+         payload is compressed by the sender.  Updated the protocol
+         specs and the core library.  The compression still is not
+         implemented in the sources.  Affected file is
+         lib/silccore/silcpacket.h.
+
+Mon Apr 29 09:48:12 CEST 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Remove pending command callbacks also if the connection
+         to the server is destroyed.  Affected file is
+         lib/silcclient/client.c.
+
+Sat Apr 27 19:52:32 EEST 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Added new QUIET channel user mode that can be used to
+         quiet a user in a channel.  Updated the protocol specs but
+         it wasn't implemented yet.  Protocol TODO #27.  Affected
+         file is lib/silccore/silcmode.h.
+
+Mon Apr 22 09:09:44 CEST 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Added BLOCK_INVITE user mode to be able to block incoming
+         invite notifications.  Protoocol TODO #26.  Affected files
+         are lib/silccore/silcmode.h, lib/silcclient/command.c and
+         silcd/command.c.
+
+       * SILC Publickey fields MUST be UTF-8 encoded now.  Updated
+         the protocol specs and the code.  Affected file is
+         lib/silccrypt/silcpkcs.c.
+
+Sun Apr 21 19:44:38 EEST 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Disconnect Payload includes now the status type.  Updated
+         the protocol specs and the code.  Protocol TODO #25.
+         Affected files are silcd/server.c, lib/silcclient/client.c.
+
+       * Added NOT_AUTHENTICATED, BAD_SERVER_ID, INCOMPLETE_INFORMATION,
+         KEY_EXCHANGE_FAILED and BAD_VERSION error status types.
+         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 
+         lib/silccore/silcstatus.h, lib/silcclient/command_reply.[ch],
+         lib/silcutil/silcutil.[ch].
+
+Fri Apr 19 17:35:15 EEST 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Defined that the nickname hash in Client ID MUST be from
+         lowercase nickname.  This effectively changes nicknames in
+         SILC to case-insensitive.  Updated the protocol specs and
+          the code.  Affected files are lib/silcutil/silcutil.[ch],
+          silcd/serverid.c, and silcd/idlist.c.
+
+       * Added new channel user modes BLOCK_MESSAGES_USERS and
+         BLOCK_MESSAGES_ROBOTS.  Updated the protocol specs and the
+         code.  Affected files are lib/silccore/silcmode.h,
+         lib/silcclient/command.c, and silcd/packet_send.c.
+
+       * Added new error status ERR_RESOURCE_LIMIT.  Updated protocol
+         specs and code.  Affected file lib/silccore/silcstatus.h.
+
+       * Added support for watch list.  It is possible to add nicknames
+         to be watched, and when they come to network, leave network
+         or user mode changes the watcher will be notified of this
+         change.  Added SILC_COMMAND_WATCH command, added new
+         notify type SILC_NOTIFY_TYPE_WATCH to deliver the watch
+         notifications.  Updated the protocol specs and implemented
+         this to library, client and server.  Protocol TODO #21.
+         Affected files are lib/silccore/silccomand.h,
+         lib/silccore/silcnotify.h, lib/silcclient/command[_reply].[ch],
+         silcd/command[_reply].[ch], lib/silcclient/client_notify.c,
+         silcd/packet_send.[ch], silcd/packet_receive.c, and
+         irssi/src/silc/core/client_ops.c.
+
+       * Added user mode SILC_UMODE_REJECT_WATCHING to reject
+         somebody watching you.  Updated the protocol specs and the
+         code.  Affected files are lib/silccore/silcmode.h, and
+         lib/silcclient/command.c.
+
+Fri Apr 19 09:02:20 CEST 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Added service support to SILC protocol.  Added new command
+          SILC_COMMAND_SERVICE.  Updated the protocol specs and the
+          core library.  Services are not implemented in server or
+          client for now.  Protocol TODO #20.  Affected files are
+          lib/silccore/silcstatus.h, lib/silccore/silccommand.h.
+
+       * Added SilcStatus argument to `command' client operation
+         to return the error status when command sending fails
+         locally.  Changed all command in client library to return
+         correct command status.  Affected files are
+         lib/silcclient/command.c, lib/silcclient/silcclient.h and
+         irssi/src/silc/core/client_ops.c.
+
+Thu Apr 18 14:09:51 CEST 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Added silc_mime_parse function to parse MIME headers.
+         Affected files are lib/silcutil/silcstruti.[ch].
+
+       * Added MIME header parsing in Irssi SILC Client.  It displays
+         all textual MIME objects, others it ignores.  Affected file
+         is irssi/src/silc/core/clien_ops.c.
+
+Wed Apr 17 22:07:59 CEST 2002  Johnny Mnemonic <johnny@themnemonic.org>
+
+       * Fixed a bug in the pid writing function, which couldn't be
+         written in a root-owned directory.
+
+Tue Apr 16 09:34:40 EEST 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Defined that channel message to unknown Channel ID must
+         cause SILC_NOTIFY_TYPE_ERROR notify message to the sender.
+         Updated the protocol specs and the code in server.  The
+         affected file is silcd/packet_receive.c.
+
+Mon Apr 15 19:57:57 EEST 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Added new notify type SILC_NOTIFY_TYPE_ERROR and specified
+         that it is used to send error notifys if error occurs during
+         some SILC packet processing, except commands.  The error
+         types are same as for command reply types.  Defined that
+         if private message is sent to unknown Client ID the error
+         is sent in SILC_NOTIFY_TYPE_ERROR instead of command reply.
+         Updated the protocol specs and code.  Affected files are
+         lib/silccore/silcnotify.h, added lib/silccore/silcstatus.h,
+         lib/silcclient/client_notify.c, silcd/packet_receive.c,
+         and irssi/src/silc/core/client_ops.c.  Renamed the
+          SilcCommandStatus to SilcStatus.
+
+       * 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 
+         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        
+         silc_client_status_message.  Affected files are
+         lib/silcclient/command_reply.[ch].
+
+Sun Apr 14 21:13:42 EEST 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Changed the WHOIS, IDENTIFY and WHOWAS count arguments to
+         32 bit integers.  Updated the protcol specs and the code.
+         Affected files are silcd/command.c and
+         lib/silcclient/command.c.
+
+Sun Apr 14 19:49:02 CEST 2002  Johnny Mnemonic <johnny@themnemonic.org>
+
+       * Fixed a bug in library where sending a bogus authentication
+         payload would lead to a crash.  Affected file is
+         lib/silccore/silcauth.c.
+
+Sat Apr 13 13:09:24 EEST 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Added detach_disabled and detach_timeout server config
+         options to the server.  Affected files silcd/serverconfig.[ch],
+         silcd/command.c and silcd/packet_receive.c.
+
 Fri Apr 12 20:09:08 EEST 2002  Pekka Riikonen <priikone@silcnet.org>
 
-         Added resolve_cmd_ident field to the SilcClientEntry structure
+       * Added resolve_cmd_ident field to the SilcClientEntry structure
          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