Merged c0ffee's patch.
[silc.git] / CHANGES
diff --git a/CHANGES b/CHANGES
index 2054572c01c98977f930758e0c8b965af5159a8d..5f41b0b244171d209fb117f1e76048bb3848aa7d 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,350 @@
+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
@@ -6,7 +353,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
+       * 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