updates.
[silc.git] / CHANGES
diff --git a/CHANGES b/CHANGES
index 00c6b56db2351e182df15c7bed934529787c8817..45db30e115fc6e1415f60c1f7a8063f5f013857a 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,280 @@
+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
+         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