Started implementing protocol version 1.1 and narrowing down
[silc.git] / CHANGES
diff --git a/CHANGES b/CHANGES
index 4101f61865a68e2044c90aad2d4064edf2fb22a0..299db091a746c76abf534389c6622aad3e0907eb 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,227 @@
+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
+         of a socket connection.  The affected file is 
+         lib/silcutil/silcsockconn.h.
+
+       * Added better error logging in rekey protocol.  Affected file
+         silcd/protocol.c.
+
+       * 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
+         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>
+
+       * Merged version 1.1.4 of zlib. Even if it not currently in use,
+         it's good not to have security holes here.
+
+       * Fixed a negative refcount situtuation for the config context.
+         Affected file is silcd/serverconfig.c.
+
+Mon Apr  1 20:15:10 CEST 2002  Johnny Mnemonic <johnny@themnemonic.org>
+
+       * ROBOdoc documented lib/silcutil/silcutil.h.
+
+Sat Mar 30 21:06:45 EET 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Optimized even more the SilcPacketContext structure.  Now
+         totally saved 16 bytes of memory per context after optimization.
+         Affected files are lib/silccore/silcpacket.[ch].
+
+       * Made strict checks for valid SILC IDs.  Affected file is
+         lib/silccore/silcid.c.
+
+Sat Mar 30 18:15:55 EET 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Changed the object argument for silc_cipher_register,
+         silc_hash_register, silc_hmac_register and silc_pkcs_register
+         to const.  Affected files are lib/silccrypt/silccipher.[ch],
+         silchash.[ch], silchmac.[ch] and silcpkcs.[ch].
+
+       * Changed the silc_get_username and silc_get_real_name to
+         never fail.  Affected file lib/silcutil/unix/silcunixutil.c.
+
+       * Fixed the Irssi SILC Client to use the silc_get_username and
+         silc_get_real_name insted of glib routines since the glib
+         routines only corrupt stack.  Fixes the Irssi SILC to work in
+         Cygwin.  Affected file irssi/src/silc/core/silc-core.c.
+
+       * Fixed the Irssi to not use g_get_home_dir since it crashes
+         or returns garbage on cygwin and corrupts stack.  Added function
+         get_home_dir to Irssi routines.  Affected files are
+         irssi/src/core/misc.[ch] and irssi/src/core/core.c.
+
+Fri Mar 29 21:55:41 EET 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Made some structure optimizations.  SFTP memory FS MemFSEntry
+         entry structure.  Optimized SilcTask structure.  Optimized
+         SilcPacketContext structure.
+
+         Affected files lib/silcsftp/sftp_fs_memory.c,
+         lib/silcutil/silcschedule.c, lib/silccore/silcpacket.h.
+
+Fri Mar 29 10:41:07 EET 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * And yet again reverted back the config thing since Johnny
+         screwed it up.  Affected file silcd/serverconfig.[ch], server.c,
+         and silcd.c.
+
+       * Fixed memory leaks from config object.  Affected files are
+         silcd/serverconfig.[ch].
+
+       * Added support for adding new connections to the server in rehash.
+         After rehash they take effect.
+
+         Added support for changing the maximum allowed connections in
+         rehash.  The number can grow but going smaller is not supported.
+
+         Added function silc_server_num_sockets_by_remote to the
+         silcd/server_util.[ch].
+
+         Affected files are silcd/server.c, and silcd/serverconfig.[ch].
+
+Fri Mar 29 03:26:12 CET 2002 Johnny Mnemonic <johnny@themnemonic.org>
+
+       * Added preliminary checking during config parsing for a valid
+         public/private key and removed further checks in the code.
+         Affected files are silcd/serverconfig.[ch], server.c.
+
+       * Moved functions silc_server_drop() and silc_server_daemonise()
+         from server.c to silcd.c since they are stricly related to
+         the application activity.
+
+       * Reverted a small part of the automatic ref/unref since
+         it caused a double unref in some situations.  Affected
+         files are silcd/silcd.[ch], server.c, serverconfig.c.
+
+       * Added some .cvsignore files in the lib directory.
+
+Thu Mar 28 22:51:15 EET 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Fixed silc_net_gethostbyaddr to correctly resolve by
+         address.  Affected file lib/silcutil/silcnet.c.
+
+       * Fixed the notify relaying to client.  The HMAC to be used
+         with relayed packets ws wrong and caused decryption failure
+         at the client end.  Affected file is silcd/packet_receive.c.
+
+Thu Mar 28 19:02:05 EET 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Created new branch silc_protocol_1_0_branch.
+
+       * Reverted the silc_log_quick change in lib/silcutil/silclog.c.
+
+       * Changed the silc_server_config_* routines to be SilcServer
+         independent.  They are now officially application specific code
+         and not part of generic server implementation.  Affected files
+         are silcd/serverconfig.[ch], silcd/silcd.c, silcd/server.c.
+
+Thu Mar 28 17:01:43 EET 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Added automatic referencing of config context in the
+         silc_server_config_alloc, and automatic unreferencing in the
+         silc_server_config_destroy.  Affected files are
+         silcd/serverconfig.[ch], silcd/silcd.c.
+
+       * 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 
+         silcd/serverconfig.c.
+
+       * Added support for changing key pair of the server in rehash.
+         Affected file silcd/server.c.
+
+Thu Mar 28 12:17:21 CET 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Fixed the TOPIC_SET notify to not cras.  It changed the topic
+         too early, before getting the channel entry.  Affected file
+         is silcd/packet_receive.c.
+
 Thu Mar 28 09:58:16 CET 2002  Johnny Mnemonic <johnny@themnemonic.org>
 
        * Added functions silc_server_config_[ref/unref], these are used