updates.
[silc.git] / CHANGES
diff --git a/CHANGES b/CHANGES
index 7611885ccbe17f72fa3a9bfe78d30e6cddc473ee..3a357a62b00f83e4108f0c597081f05acb80cb77 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,222 @@
+Thu Apr 11 16:32:08 EEST 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Changed the UMODE's mode mask argument to be optional.  If
+         not provided then the command merely returns the current mode
+         mask to the client.  Updated protocol specs and the server.
+         Affected file is silcd/command.c.
+
+       * Added SILC session detachment/resuming support.  It is possible
+         to detach by closing the network connection and then re-connect
+         and resume to the old client session.  Added DETACHED user
+         mode that server will set for detached client.  Added new
+         packet RESUME_CLIENT which is used to perform the resuming
+         process.  Added DETACH command.  Updated the protocol specs,
+         core library, client and server.  Protocol TODO #22.  Very
+         many affected files around the tree.
+
+Wed Apr 10 16:32:01 EEST 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Changed the CMODE's mode mask argument to be optional.  If
+         not provided then the command merely returns the current mode
+         mask to the client.  Updated protocol specs and the server.
+         Affected file is silcd/command.c.
+
+       * Changed the Killer's Client ID in KILLED notify to be just
+         any ID payload since router server is allowed to kill as well.
+         Updated protocol specs, client libary and server.  Affected
+         files are lib/silcclient/client_notify.c, silcd/packet_receive.c,
+         and irssi/src/silc/core/client_ops.c.
+
+Tue Apr  9 17:15:42 EEST 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Added new user modes ANONYMOUS for special anonymous servers
+         that may set the mode for client, and BLOCK_PRIVMSG which
+         client may set to block incoming private messages unless the
+         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], 
+         irssi/src/silc/core/client_ops.c, silcd/packet_receive.c,
+         irssi/docs/help/in/umode.in, lib/silcclient/command.c.
+
+       * Added new channel user mode BLOCK_MESSAGES which the client
+         may set to itself to tell server not send channel messages.
+         Other packets such as channel key packets are still sent.
+         Protocol TODO #23.  Updated the protocol specs, client and
+         server.  Affected files are lib/silccore/silcmode.h,
+         irssi/docs/help/in/cumode.in, lib/silcclient/command.c,
+         lib/silcutil/silcutil.c, silcd/command.c, and
+         silcd/packet_send.c.
+
+Mon Apr  8 23:57:32 EEST 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Redefined the Status Payload to include now two 8 bit fields,
+         instead of one 16 bit field.  This now makes it possible to
+         send list of errors.  Updated the protocol specs and the code
+         in core library, client library and server.  Protocol TODO #1.
+         Affected files are lib/silccore/silccommand.[ch],
+         lib/silcclient/command_reply.[ch], silcd/command.c,
+         silcd/command_reply.c and silcd/packet_receive.[ch].
+
+Mon Apr  8 19:57:40 CEST 2002  Johnny Mnemonic <johnny@themnemonic.org>
+
+       * Added config parse status SILC_CONFIG_EPRINTLINE, this status
+         must be handled by the application and should tell the application
+         that an error message was already printed, and it should print the
+         config coords (line, filename, ...).  Affected files are
+         silcd/serverconfig.c, lib/silcutil/silcconfig.[ch].
+
+       * Added local macro SILC_SERVER_CONFIG_ALLOCTMP to make the
+         server config parsing code more readable.
+
+         Fixed a bug in the fetch_logging() config callback.
+
+         Affected files is silcd/serverconfig.c.
+
+       * Drop root privileges when started in foreground.  Don't drop them
+         if debugging also.  Affected file is silcd/silcd.c.
+
+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 
+          lib/silccore/silcmode.h, irssi/src/silc/core/client_ops.c,
+         irssi/docs/help/in/umode.in and lib/silcclient/command.c.
+
+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 
+         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],
+         silcd/command_reply.[ch].
+
+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, 
+         and returns the channel entry to the application in the
+         command_reply client operation.  Affected file is
+         lib/silcclient/command_reply.c.
+
+       * Changed the channel message payload's MAC generation to
+         include the IV in the MAC as well.  This way all relevant
+         parts of the channel message payload are authenticated also
+         with the channel message MAC (and not only by packet MAC).
+         Causes incompatibility with 1.0 protocol.  Protocol TODO #7.
+         Affected file is lib/silccore/silcchannel.c.
+
+       * Fixed the SKE to save the remote version, since the
+         silc_ske_parse_version mistakenly checked wrong version,
+         after it replaced the start payload.  Affected files are
+         lib/silcske/silcske.[ch].
+
+Fri Apr  5 16:03:03 EEST 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Splitted lib/silcutil/silcutil.h into silcstrutil.h for
+         string utility functions.  Added there also new functions
+         silc_utf8_[encode/decode/valid] for UTF-8 string encoding.
+         Affected files lib/silcutil/silcstrutil.[ch].
+
+       * Renamed silc_*_pem functions to silc_pem_* functions.  Affected
+         files are lib/silcutil/silcstrutil.[ch].
+
+       * 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 
+         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, 
+         silcd/serverconfig.c, and lib/silccore/silcauth.c.
+
+       * Changed the silc_client_close_connection interface to not
+         need the SilcSocketConnection which should not be visible
+         to application.  Affected files are lib/silcclient/client.c
+         and lib/silcclient/silcclient.h.
+
+       * Rewrote the text for Private Message Key Payload in the
+         protocol specification.  Protocol TODO #11.
+
+Wed Apr  3 16:24:51 EEST 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Upgraded the protocol version to 1.1, updated protocol specs
+         and software.
+
+       * Added the nickname as new argument to NICK_CHANGE notify and
+         added it to protocol specs and implemented it to client and
+         server.  Protocol TODO #3.  Affected files are silcd/idlist.[ch],
+         silcd/command.c, silcd/packet_receive.c, packet_send.[ch], and
+         lib/silcclient/client_notify.c.
+
+       * 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], 
+         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.
+
+       * Fixed the Max Argument fields that had too large value set
+         in the protocol specs.  Protocol TODO #14.
+
+       * Added the LEAVE command reply to return the ID of parted
+         channel.  Updated protocol specs and implemented it to the
+         client and server.  Protocol TODO #15.  Affected files are
+         silcd/command.c, lib/silcclient/command_reply.c.  The channel
+         entry is now returned to application in the `command_reply'
+         client operation.
+
+       * Rewrote the version SKE version checking in client libary
+         and in server to use the silc_parse_version_string.  Affected
+         files are lib/silcclient/protocol.c, silcd/protocol.c.
+
+       * Added SILC_STATUS_ERR_NO_CHANNEL_FOPRIV error status to few
+         commands that was missing it, and updated protocol specs and
+         the server implementation.  Protocol TODO #10.  The affected
+         file is silcd/command.c.
+
+       * Defined new message flags SILC_MESSAGE_FLAG_REPLY to be
+         generic reply to a generic request (REQUEST flag), and
+         SILC_MESSAGE_FLAG_DATA to send any kind of data in a generic
+         way.  A draft-riikonen-silc-flags-payloads-00.txt is written
+         to define the payload for DATA flag.  Added the flags to
+         the implementation.  Protocol TODO #9.  Affected file is
+         lib/silccore/silcchannel.h.
+
+         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 
+         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.
+
+       * Added two new channel modes: SILC_CMODE_SILENCE_USERS
+         and SILC_CMODE_SILENCE_OPERS which can be used to moderate
+         the channel.  Updated protocol specs and impelemented this
+         to client and server.  Protocol TODO #6.  Affected files are
+         silcd/packet_receive.c, server_util.c, lib/silcclient/command.c,
+         lib/silcclient/client_channel.c, lib/silccore/silcmode.h.
+
+         Added new options m and M to CMODE command in Irssi SILC
+         client to set these modes.
+
+       * Deprecated all administrative commands from SILC protocol
+         since they are highly implementation specific commands.
+         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.
+
+       * Fixed a bug in server where sending unknown command crashes
+         the server.  Affected file silcd/command.c.
+
 Wed Apr  3 09:57:47 CEST 2002  Pekka Riikonen <priikone@silcnet.org>
 
        * Added SILC_PROTOCOLVERSION macro to check protocol version
@@ -10,6 +229,9 @@ Wed Apr  3 09:57:47 CEST 2002  Pekka Riikonen <priikone@silcnet.org>
        * Do not check public key types in SKE during rekey.  Affected
          file lib/silcske/payload.c.
 
+       * Fixed the rekey protocol with PFS, which was totally broken.
+         Affected file silcd/protocol.c.
+
 Tue Apr  2 14:55:06 CEST 2002  Pekka Riikonen <priikone@silcnet.org>
 
        * Some client implementations quit network by doing first LEAVE