updates.
[silc.git] / CHANGES
diff --git a/CHANGES b/CHANGES
index 96fd1d61516baf9a58b21fd8db94a287aa52b9b3..01d6bbf5af442e7a4b4545cbdd860b08c39a57a3 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,327 @@
+Sun Feb 17 19:02:56 EET 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Merged latest Irssi (0.8.1) from the irssi.org's CVS into
+         the SILC tree.
+
+       * Fixed the silcdoc document generator to correct generate
+         docs from all kinds of filenames.  Affected files are
+         util/robodoc/Source/generator.c, scripts/silcdoc/silcdoc
+
+       * ROBOdoc documented lib/silcutil/silcmemory.h.
+         Added also new function silc_memdup.
+
+       * Removed lib/silcutil/silcbufutil.h and moved those routines
+         to the lib/silcutil/silcbuffer.h.
+
+Sun Feb 17 15:52:30 EET 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Added `user_count' to the SilcChannelEntry which now tells the
+         number of users on the channel.  The user count is now saved
+         in normal server of global channels as well.  Affected files
+         silcd/server.c, idlist.h, packet_receive.c and command.c.
+
+       * Splitted lib/silcutil/silcutil.[ch] into silcfileutil.[ch] to
+         include file utility functions.
+
+       * Fixed the lib/silcsftp/sftp_fs_memory.c to use silcutil routines
+         instead of calling directly OS routines.
+
+       * Fixed NICK change printing in Irssi SILC Client. Fixed
+         KICKED notify printing in Irssi SILC Client.  Affected file
+         irssi/src/silc/core/client_ops.c.
+
+       * Fixed a NICK change bug in client library, to not recreate the
+         client_entry->channels hash table everytime nick is changed.
+         Affected file lib/silcclient/client.c.
+
+Sun Feb 17 10:10:14 EET 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * ROBOdoc documented the lib/silcske/silcske.h, and improved
+         the SKE interface a bit.
+
+       * Fixed padding problem in PKCS#1. The padding was not actually
+         random since the random number generator was used incorrectly.
+         This security bug affects only when encrypting with PKCS#1, and
+         it is not currently used at all in SILC. SILC only use signing
+         with PKCS#1. Affected file lib/silccrypt/pkcs1.c.
+
+Sat Feb 16 13:44:24 EET 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Rewrote the notify handling in Irssi SILC client to not call
+         the events as signals.  Fixes problems with Perl support.
+         Affected files irssi/src/silc/core/client_ops.c, silc-channels.c.
+
+       * Send the auto-nicking NICK command in client library with
+         little timeout after connecting.  The affected file is
+         lib/silcclient/client.c.
+
+       * Added following new config file settings:
+         channel_rekey_secs, key_exchange_rekey, key_exchange_pfs,
+         key_exchange_timeout, conn_auth_timeout, connections_max,
+         links_max.
+
+         Implemented all the new config settings handling in the server.
+
+         Optimized the use of SKE Mutual flag usage.  Use it only
+         if connection authentication protocol is not based in public
+         key authentication.
+
+         Renamed all SilcServerConfigSection* to SilcServerConfig*
+         to have a bit shorter names.
+
+         Affected files silcd/serverconfig.[ch], server.[ch], and
+         protocol.[ch].
+
+Sat Feb 16 02:46:43 CET 2002  Johnny Mnemonic <johnny@themnemonic.org>
+
+       * Cleaned up the listening sockets code, preparing for the rehash
+         support.  Affected file is silcd/server.c.
+
+       * Fixed some output messages.  Affected files are silcd/silcd.c,
+         and silcd/server.c.
+
+Fri Feb 15 19:10:20 EET 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Create lib/doc/silcrng_intro.html document as introduction
+         to SILC RNG.  ROBOdoc documented lib/silccrypt/silcrng.h.
+
+Fri Feb 15 13:23:03 CET 2002  Johnny Mnemonic <johnny@themnemonic.org>
+
+       * Fixes to the silcd config template.  Affected file is
+         doc/example_silcd.conf.in.
+
+       * Removed type casts from silc_calloc(), conforming to the
+         CodingStyle.  Affected file is lib/silcutil/silcconfig.c.
+
+       * Removed param_name member from client, server, and router
+         section structs, now identifying the param directly.
+
+         Added CONFIG_FREE_AUTH macro in config file parsing.
+
+         Affected files are silcd/serverconfig.[ch].
+
+Fri Feb 15 12:24:08 EET 2002  Timo Sirainen <tss@iki.fi>
+
+       * Fixed command line parameter handling. All SILC initialization
+          is now done in silc_core_init() which also fixes autoconnecting
+         to servers.
+
+         Affected files irssi/src/silc/core/silc-core.c,
+         irssi/src/fe-text/silc.c.
+
+Thu Feb 14 22:03:58 EET 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Added new configuration options and blocks:
+         keepalive_secs, reconnect_count, reconnect_interval,
+         reconnect_interval_max, reconnect_keep_trying and
+         require_reverser_lookup.  Added ConnectionParam block, and
+         implemented the connection parameters when connecting as
+         initiator and when accepting connections as responder. 
+
+         Added CONFIG_IS_DOUBLE macro in config file parsing, to check
+         whether given configuration value has been given already.
+
+         Affected files silcd/serverconfig.[c], server.[c].
+
+       * Splitted the doc/example_silcd.conf.in.  Separated the crypto
+         algorithm parts and created new file silcalgs.conf, that
+         is now included from the example_silcd.conf.in.
+
+       * Optimized the silc_server_connect_to_router_second to take
+         the connection configuration object from the SilcServerConnection
+         object instead of finding it during the connecting phase.
+         Added the configuration object to SilcServerConnection struct.
+         Affected files silcd/server_internal.h, server.c.
+
+Thu Feb 14 16:02:26 CET 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Add the client on channel after it was resolved at the
+         channel message receiving, and it was not already on the
+         channel.  Affected file lib/silcclient/client_channel.c.
+
+Wed Feb 13 23:16:41 EET 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Fixed the public key authentication to allocate always the
+         destination signature buffer instead of using static buffer.
+         Affected file silcd/protocol.c.
+
+Wed Feb 13 20:51:13 EET 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Unified the serverconfig.[ch]'s helper function interface.
+         Affected file silcd/serverconfig.[ch].
+
+       * Removed doc/example_silc.conf.in since it is redundant.
+         The make install will now install irssi/silc.conf file.
+
+       * Added new Passphrase and Publickey authentication methods to  
+         config file, allowing both public key and passphrase based
+         authentication to be set at the same time.
+
+         Added `prefer_passphrase_auth' setting in config file which
+         can be used to set to prefer passwd auth if both passwd and
+         public key is set.  If not set, public key is preferred.
+         This has effect only when being initiator (responder will try
+         both anyway).
+
+         Added support for authentication with passphrase and public key
+         at the same time.  The passphrase is tried first always since
+         it is faster to check.
+
+         Affected file silcd/serverconfig.[ch], server.c, protocol.[ch].
+
+Wed Feb 13 12:46:25 CET 2002  Johnny Mnemonic <johnny@themnemonic.org>
+
+       * Merged the new SILC Config library, with the server parsing
+         support.  Read the header file silcconfig.h or the toolkit
+         documentation for the news.  Affected files are
+         doc/example_silcd.conf.in lib/silcutil/silcconfig.[ch]
+         silcd/command.c silcd/packet_receive.c silcd/packet_send.c
+         silcd/protocol.c silcd/server.c silcd/server_backup.c
+         silcd/serverconfig.[ch] silcd/silcd.c.
+
+       * Fixed some silclog documentation.  Affected file is
+         lib/silcutil/silclog.h.
+
+Sun Feb 10 18:11:30 EET 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * The silc_cipher_register, silc_hash_register and
+         silc_hmac_register now checks if the object to be registered
+         is registered already.  Affected files are
+         lib/silccrypt/silccipher.c, silchash.c and silchmac.c.
+
+Sun Feb 10 15:48:38 EET 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Merged new irssi from irssi.org's CVS, the version 0.7.99.
+
+Sat Feb  9 14:54:33 EET 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Allow zero length channel messages inside the Channel Message
+         Payload.  Affected file lib/silccore/silcchannel.c.
+
+       * Fixed scripts/silcdoc/silcdoc to support all kinds of filenames
+         as header filenames.
+
+       * Removed lib/silcclient/README and created HTML file
+         lib/silcclient/silcclient_using.html, which is now included
+         as part of Toolkit documentation.
+
+Thu Feb  7 10:12:25 CET 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Fixed CUMODE_CHANGE notify handling to change the mode of
+         correct client.  Affected file lib/silcclient/client_notify.c.
+
+       * Make silc_rng_alloc fail if it cannot allocate the sha1
+         hash algorithm.  Affected file lib/silccrypt/silcrng.c.
+
+Sun Feb  3 17:20:52 EET 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Fixed the file transfer's key agreement payload to include
+         zero port also if the hostname is NULL because it could not
+         be bound.  
+
+         Call file transfer monitor callback now also if error occurs
+         during key agreement protocol.
+
+         Changed the silc_client_file_send interface to return the
+         SilcClientFileError instead of session id.  The session ID
+         is returned into pointer provided as argument.
+
+         Check that the file exists locally before sending the
+         file transfer request at all.
+
+         Affected file lib/silcclient/client_ftp.c, silcapi.h.
+
+       * Added SILC_CLIENT_FILE_KEY_AGREEMENT_FAILED file transfer
+         error than can occur while key agreement protocol.  Affected
+         file lib/silcclient/silcapi.h.
+
+       * Fixed the event_mode CMODE handler to not crash when mode
+         is changed and +k mode is set in the channel.  Affected file
+         irssi/src/silc/core/silc-channels.c.
+
+       * Fixed SILC_LOG_ERROR to give out Error and not Warning, and
+         SILC_LOG_WARNING to give out Warning and not Error.  Affected
+         file lib/silcutil/silclog.c.
+
+       * Fixed the channel message payload decryption in the function
+         silc_channel_message_payload_decrypt to not modify the original
+         buffer before it is verified that the message decrypted
+         correctly.  Otherwise, next time it is called with correct
+         channel key it won't encrypt since the payload is corrupted.
+         Affected file lib/silccore/silcchannel.c.
+
+Sun Feb  3 11:46:12 EET 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Do not constantly resize the window.  A fix patch by cras.
+         Affected file irssi/src/fe-text/screen.c.
+
+Sat Feb  2 16:54:18 EET 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Applied IPv6 fix patch from Jun-ichiro itojun Hagino.
+         Affected file lib/silcutil/silcnet.c.
+
+Fri Feb  1 22:33:11 EET 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Fixed a bug in hash table internal routine for traversing
+         the table with foreach callback.  The current entry may
+         become invalid in the callback but it was referenced after
+         the callback returned.
+
+         Do not allow auto rehashing of hash table during the
+         silc_hash_table_foreach operation, for same reasons as it is
+         not allowed for SilcHashTableList.  Affected files are
+         lib/silcutil/silchashtable.[ch].
+
+Fri Feb  1 14:55:00 CET 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Defined DLLAPI into silcincludes.h and silcwin32.h for
+         Win32 DLL.  extern's in header files are now declared with
+         DLLAPI.
+
+Thu Jan 31 23:34:33 EET 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Fixed private message handling.  It used some old code that
+         caused the client to crash.  Affecte file is
+         lib/silcclient/client_prvmsg.c.
+
+Thu Jan 31 19:06:22 EET 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Added function silc_client_add_channel, 
+         silc_client_replace_channel_id, and removed functions
+         silc_client_new_channel_id and silc_idlist_get_channel_by_id
+         from client library.
+
+       * Added cross reference of the joined channels to the 
+         SilcClientEntry, and changed the SilcChannelEntry's
+         users list to SilcHashTable.  The affected files are
+         lib/silcclient/idlist.[ch].
+
+       * Fixed a bug in hash table tarversing.  While the hash table
+         is traversed with SilcHashTableList the table must not be
+         rehashed.  It is now guaranteed that auto rehashable tables
+         are not rehashed while tarversing the list.  Also defined that
+         silc_hash_table_rehash must not be called while tarversing
+         the table.  Added function silc_hash_table_list_reset that must
+         be called after the tarversing is over.  The affected files are
+         lib/silcutil/silchashtable.[ch].
+
+       * Changed all hash table traversing to call the new
+         silc_hash_table_list_reset in server and in client library.
+
+       * Added function silc_client_on_channel to return the 
+         SilcChannelUser entry if the specified client entry is joined
+         on the specified channel.  This is exported to application as
+         well.  Affected files lib/silcclient/client_channel.c, silcapi.h.
+
+Wed Jan 30 19:14:31 EET 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Fixed founder regaining problem with JOIN command on normal
+         server.  The notify for mode change must be sent always and
+         not only if !cmd->pending.  Affected file silcd/command.c.
+
+       * Fixed the WHOWAS command's reply sending to support the
+         lists correctly.  Affected file silcd/command.c.
+
 Wed Jan 30 11:11:47 CET 2002  Pekka Riikonen <priikone@silcnet.org>
 
        * When sending JOIN command to router for processing the
@@ -14,6 +338,9 @@ Wed Jan 30 11:11:47 CET 2002  Pekka Riikonen <priikone@silcnet.org>
          silc_idlist_replace_channel_id if the ID was changed.
          Affected file silcd/command_reply.c.
 
+       * Fixed memory leaks from command calling if it would fail.
+         Affected file silcd/command.c.
+
 Tue Jan 29 19:49:31 EET 2002  Pekka Riikonen <priikone@silcnet.org>
 
        * Applied patches from cras: