updates.
[silc.git] / CHANGES
diff --git a/CHANGES b/CHANGES
index c6eef9a96d805117101f94c5e7ca11c1460fbadf..4b32d3bcd675666900b32a8229ba8357405c372d 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,848 @@
+Wed Mar 27 19:43:16 EET 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Fixed the KICKED notify handling in client library to
+         correctly remove the channel and all entries from the
+         channel when I was kicked.  This bug crashed the client.
+
+         Fixed yet another but in KICKED notify handling to remove
+         the kicked client correctly from the channel.
+
+         Affected file is lib/silcclient/client_notify.c.
+
+       * Fixed a minor bug in looking up correct client entry
+         in KICKED notify in server.  Affected file is
+         silcd/packet_receive.c.
+
+       * Fixed the lib/silcmath/Makefile.am to include the MPI and GMP
+         sources correctly to distribution.  Fixes --with-gmp option.
+
+       * Removed the manual rehashing from ID Cache, and changed it
+         to use the SILC Hash Table's auto rehash feature.  Affected
+         file is lib/silccore/silcidcache.c.
+
+Wed Mar 27 00:07:11 EET 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Fixed a bug in the silc_client_nickname_format function that
+         handles the multiple same nickname formatting.  Two clients
+         with same nickname caused problems after the first one left
+         and rejoined.  It didn't format the nickname correctly.
+         Affected file is lib/silcclient/idlist.c.
+
+Tue Mar 26 19:33:03 CET 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Don't change the topic if olod topic is same as new one.
+         Affected file is silcd/packet_receive.c.
+
+Mon Mar 25 21:11:35 EET 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Added cross-reference support to the SILC Documentation
+         generator.  All types across all HTML files are now cross-
+         referenced.  Affected files util/robodoc/generator.c and
+         scripts/silcdoc/silcdoc.
+
+       * Added file lib/silcutil/silctypes.h to include all the
+         arithmetic type definitions and some macros.  Removed
+         includes/bitmove.h and moved macros to silctypes.h.
+
+Mon Mar 25 17:19:46 EET 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Merged bugfixes for Irssi SILC client from irssi.org CVS.
+
+Sun Mar 24 11:21:04 EET 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Added `type' argument to silc_id_payload_parse_id function which
+         now returns the type of the ID to the sent pointer.  Affected
+         file is lib/silccore/silcid.[ch].
+
+       * Added check for CMODE_CHANGE notify type that mode change is
+         allowed by the sender.  Affected file silcd/packet_receive.c.
+
+       * Added check for CUMODE_CHANGE notify type that mode change is
+         allowed by the sender.  Affected file silcd/packet_receive.c.
+         Added the ID type as CUMODE_CHANGE notify type as argument
+         to the `notify' client operation.  Affected files are
+         lib/silcclient/client_notify.c, irssi/src/silc/core/client_ops.c.
+
+       * Added function silc_client_add_server to the client library.
+         Added support for resolving also channel and server info when
+         received unknown entity in notify packet.  Affected files are
+         lib/silcclient/idlist.[ch], lib/silcclient/client_notify.c.
+
+       * Added function silc_command_get_status to return the command
+         status from the command reply's argument payload.  Affected files
+         are lib/silccore/silccommand.[ch].
+
+       * Added check for KICKED notify type that the kicking is
+         allowed by the client.  Affected file silcd/packet_receive.c.
+
+       * Created function silc_get_input which can be used to get input
+         (echo on or off) from user on command line.  Affected files are
+         lib/silcutil/silcutil.[ch].
+
+Sat Mar 23 09:51:26 EET 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Optimized silc_server_packet_relay_to_channel function.
+         Added new function silc_channel_message_payload_encrypt which
+         can be called directly if channel message payload needs to
+         be encrypted and is already encoded (no need to call _encode
+         function).  Packet relaying is now done by router without any
+         extra memory allocations.  Affected files are
+         lib/silccore/silcchanel.[ch], silcd/packet_receive.c and
+         silcd/packet_send.c.
+
+       * Fixed the INVITE notify handling.  It took wrong arguments
+         as invite list and invite delete.  Affected file is
+         silcd/packet_receive.c.
+
+       * Added check for TOPIC_SET notify type that the topic change is
+         allowed by the client.  Affected file silcd/packet_receive.c.
+
+       * Added check for INVITE notify type that inviting is allowed by
+         the client.  Affected file silcd/packet_receive.c.
+
+       * Changed the silc_server_client_on_channel to return the
+         SilcChannelClientEntry as well.  Moved the function
+         silc_server_check_cmode_rights to server_util.[ch].
+         Affected files are silcd/server_util.[ch], silcd/command.c.
+
+       * Added function silc_server_check_umode_rights to check whether
+         changing client's user mode is allowed.  Added check for
+         UMODE_CHANGE notify type that the umode change is allowed
+         by the client.  Affected files are silcd/server_util.[ch],
+         silcd/packet_receive.c and silcd/command.c.
+
+Fri Mar 22 12:25:58 CET 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Fixed the SILC_PACKET_MAX_ID_LEN to actually be the max
+         ID length.  It ignored that ID can be IPv6 based as well.
+         Affected file lib/silccore/silcpacket.h.
+
+       * Fixed the silc_id_id2str and silc_id_str2id to take the
+         IPv6 address offset's into consideration.  Affecte file is
+         lib/silccore/silcid.c.
+
+Thu Mar 21 20:44:13 EET 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Fixed the internal Unix scheduler functions to check for
+         NULL context they may receive.  The affected file is
+         lib/silcutil/unix/silcunixschedule.c.
+
+Thu Mar 21 19:12:22 EET 2002  Timo Sirainen <tss@iki.fi>
+
+       * Changed hardcoded ~/.silc paths to use get_irssi_dir() so you
+          can specify different directory with --home command line
+         parameter. Affected files irssi/src/silc/core/client_ops.c,
+          clientutil.c
+
+        * SILC-specific commands aren't now executed if the active server
+          isn't of SILC-type, so there won't be problems with having
+          IRC and SILC protocol support in same client. Affected files
+          irssi/src/silc/core/silc-channels.c, silc-servers.c,
+         silc-commands.h
+
+Wed Mar 20 11:06:57 CET 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Improved the signal support in SILC Schedule.  Added new
+         function silc_schedule_signal_call which is used by application
+         to mark a signal to be called.  It is now safe to perform
+         any kind of tasks in signal callbacks since it is guaranteed
+         that the application specified signal callback is called
+         after the signal is over.  Affected files are
+         lib/silcutil/silcschedule.[ch], lib/silcutil/*/silc*schedule.c.
+
+Tue Mar 19 20:42:41 EET 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Added `name' field to SilcChannelPrivateKey to represent
+         application given name for the key.  Moved also the context from
+         lib/silcclient/idlist.h into lib/silcclient/silcclient.h.
+         Added the `name' argument also to the function
+         silc_client_add_channel_private_key.
+
+         Added function silc_client_current_channel_private_key to set the
+         current channel private key in use.
+
+         Added "change" command to KEY command which can be used to change
+         the current channel private key.  Bound the command also to
+         alt+K (Alt+Shift+k).
+
+         Also affected files lib/silcclient/client_channel.c,
+         irssi/src/docs/help/in/key.in, irssi/src/silc/core/silc-channel.c.
+
+Tue Mar 19 16:32:43 CET 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Added silc_rng_get_byte_fast function in to the
+         lib/silccrypt/silcrng.[ch].
+
+       * Changed the interface of silc_packet_assemble and the
+         silc_packet_send_prepare.  If silc_packet_assmble is now
+         called the application does not call silc_packet_send_prepare
+         because the library will call it automatically.  These
+         interfaces now also return a reference to the outgoing buffer
+         which includes the assembled packet, which the application can 
+         use to encrypt the packet.
+
+         Affected files are lib/silccore/silcpacket.[ch],
+         lib/silcclient/client.c, client_channel.c client_prvmsg.c,
+         silcd/packet_send.c, server_backup.c and packet_receive.c.
+
+       * Fixed a packet sending bug on very high load, where outgoing
+         packet queue wasn't handled correctly and packets got corrupted.
+         Affected files are lib/silcutil/*/silc*sockconn.c,
+         lib/silcclient/client.c and silcd/server.c.
+
+Mon Mar 18 21:00:41 EET 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Added macro SILC_PACKET_DATALEN which can be used during
+         packet assembling to check whether the data to be added to    
+         the packet will fit to SILC_PACKET_MAX_LEN.  If not the data
+         len is truncated until it fits it.
+
+         Added checks for maximum length of channel message payload and
+         private message payload also.
+
+         Added checks for maximum packet length in server and in
+         client library.
+
+         Affected files are lib/silccore/silcpacket.h, silcd/packet_send.c,
+         lib/silcclient/client.c, lib/silccore/silcchannel.c and
+         lib/silccore/silcprivate.c, lib/silcclient/client_channel.c and
+         lib/silcclient/client_prvmsg.c.
+
+Mon Mar 18 14:54:42 CET 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Added silc_server_packet_queue_purge call to the
+         silc_server_disconnect_remote to assure that all data in the
+         queue before disconnecting is sent to the network.  Affected
+         file silcd/server.c.
+
+Sun Mar 17 19:26:16 EET 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Added the deleting of server's own ID cache entry to the
+         silc_server_free function.  Free also everything else that
+         has been allocated in silc_server_init.  The affected file 
+         is silcd/server.c.
+
+Sun Mar 17 15:44:56 EET 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Added functions silc_parse_version_string, silc_version_to_num,
+         and silc_ske_parse_version to parse SILC protocol style version
+         strings.  Affected files lib/silcutil/silcutil.[ch] and
+         lib/silcske/silcske.[ch].
+
+       * Added new configuration params: version_protocol, version_software
+         and version_software_vendor to specify what version the remote
+         host must at least be to be able to connect to server.  The vendor
+         string can be regex matched too.  Added new function 
+         silc_server_connection_allowed to check maximum number of allowed
+         connections, and allowed versions for incoming connections.
+         Affected files are silcd/server.c, server_util.[ch] and
+         serverconfig.[ch].
+
+Sun Mar 17 10:24:50 EET 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Added preliminary support for signals in scheduler.  The
+         signals we care about are now blocked always when the scheduler
+         is locked.  This way we can synchronise the use of signal with
+         scheduler.  It is guaranteed that when signal occurs the scheduler
+         is not locked, and thus new tasks can be safely added to the
+         scheduler.
+
+         Renamed silc_schedule_wakeup_init and silc_schedule_wakeup_uninit
+         to silc_schedule_internal_init and silc_schedule_internal_uninit.
+         Added new platform specific routines
+         silc_schedule_internal_signals_[un]block and 
+         silc_schedule_internal_signal_[un]register.
+
+         Added new functions to SILC Schedule API:
+         silc_schedule_signal_[un]register.  Each signal that application
+         is going to use should be registered to the scheduler.
+
+         Affected files are lib/silcutil/silcschedule.[ch],
+         lib/silcutil/*/silc*schedule.c.
+
+Sat Mar 16 22:39:23 EET 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Check for unauthenticated client and server in the
+         silc_server_new_client and silc_server_new_server functions.
+         Affected file silcd/packet_receive.c.
+
+       * Added function silc_string_is_ascii to check whether given
+         string is 7-bit ASCII string.  Affected files are
+         lib/silcutil/silcutil.[ch].
+
+       * Added function silc_id_is_valid_server_id into the
+         silcd/serverid.c and added checking for valid Server ID's in
+         silc_server_new_server.  The Server ID must always be based
+         on the server's public IP address.
+
+       * Added logging of DISCONNECT packet message in the server.
+         Affected file silcd/server.c.
+
+Sat Mar 16 18:04:30 EET 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Changed all library interfaces that use Global RNG to also
+         accept SilcRng as argument.  Affected files are
+         lib/silcclient/command.c, lib/silccore/silcauth.[ch],
+         lib/silccore/silcchanel.[ch], lib/silcclient/client_channel.c,
+         silcd/packet_send.c, lib/silccore/silcprivate.[ch],
+         lib/silcmath/silcprimegen.c, lib/silcmath/silcmath.h, and
+         lib/silccrypt/rsa.c.
+
+       * Added function silc_pkcs_generate_key to the
+         lib/silccrypt/silcpkcs.[ch] for applications so that they
+         don't need to do pkcs->pkcs->init calls anymore.
+
+       * Remove SilcSocketConnection from the SFTP API since it really
+         wasn't needed there.  The application has the information
+         saved in its contexts anyway and the SFTP layer doesn't need
+         know about it.  Affected files lib/silcsft/silcsftp.h and
+         lib/silcsftp/sftp_[server/client].c.
+
+       * Rewrote the SILC SIM (modules) interface in lib/silcsim.[ch].
+         The SilcSimContext is not SilcSim.
+
+       * Fixed possible buffer overflows in silc_id_render in the
+         lib/silcutil/silcutil.c.
+
+       * On EPOC the global crypto module lists are not used at all
+         in the crypto library.  Added support for using the constant
+         algorithm list on EPOC.  Affected files are
+         lib/silccrypt/silccipher.c, silchash.c, silchmac.c and
+         silcpkcs.c.
+
+       * Fixed the handling of third parameter of KICKED notify, since
+         it was mistakenly updated to SILC Protocol 1.0 even though it
+         is to be included in 1.1.  Since it is not in 1.0 it is not
+         mandatory, and this fix now handles it only if it is provided,
+         and it is not error if it is not provided.  Affected file 
+         lib/silcclient/client_notify.c.
+
+Sat Mar 16 09:07:27 EET 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Handled CHANNEL_CHANGE notify (ignore it) in Irssi SILC
+         client.  Affected file irssi/src/silc/core/client_ops.c.
+
+       * Merged with Irssi 0.8.4 from irssi.org CVS.
+
+Thu Mar 14 12:53:57 CET 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Check for valid socket connection in client entries before
+         sending any messages.  Fixes a crash, but doesn't fix some
+         other underlaying bug that is lurking there.  Affected
+         file silcd/packet_send.c.
+
+Thu Mar 14 13:38:12 EET 2002  Timo Sirainen <tss@iki.fi>
+
+       * $usermode, $cumode and $cumode_space expandos shouldn't do
+         anything with non-SILC server records. Affected file
+         irssi/src/silc/core/silc-expandos.c
+
+Wed Mar 13 21:38:26 EET 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Fixed the silc_net_check_[host/local]_by_sock to support
+         IPv6 bound sockets as well.  Now they can return IPv6 addresses
+         as well.  Affected file lib/silcutil/silcnet.c.
+
+       * Fixed silc_net_addr2bin to correctly convert IPv6 addresses.
+         Affected lib/silcutil/unix/silcunixnet.c.
+
+       * Fixed ID rendering (at least on some platforms, not NetBSD)
+         for IPv6 addresses.  Affected file lib/silcutil/silcutil.c.
+
+Tue Mar 12 17:58:59 EET 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Added silc_hash_public_key and silc_hash_public_key_compare
+         functions to be used with SilcHashTable.  They can be used to
+         hash public keys and compare public keys in hash table.  Affected
+         file lib/silcutil/silcutil.[ch].
+
+       * Added support for specifying multiple public keys for Client
+         connection section in server configuration file.  This makes it
+         possible to accept multiple public keys from same host, or to
+         make a section that accepts any incoming host, and have the
+         accepted public keys listed in the section.
+
+         Added functions silc_sever_[find/get]_public_key,  added the
+         support for this actually to all connection sections but only
+         the Client section is currently allowed to specify multiple
+         public keys.
+
+         Affected files are silcd/server.c, server_internal.h,
+         command.c, protocol.c, server_util.[ch], packet_receive.c.
+
+Mon Mar 11 23:37:38 EET 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Merged Irssi 0.8.2 from irssi.org CVS.
+
+Sun Mar 10 23:34:48 CET 2002  Johnny Mnemonic <johnny@themnemonic.org>
+
+       * If silc_debug is TRUE, also output standard logging messages
+         to stderr with the debug output.
+
+         Made silc_log_reset_all() flushing all channels before returning.
+         Also fixed some documentation typos.
+
+         Affected files are lib/silcutil/silclog.[ch].
+
+Sun Mar 10 20:07:49 EET 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Fixed the server to check correctly the amount of connections
+         from single host, by checking also the type of the connection.
+         Fixed also the comparison of number of connections and number
+         of allowed connections.  Affected files are silcd/server.c, 
+         server_util.[ch].
+
+Fri Mar  8 17:16:41 EET 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Fixed the USERS command reply to save the user's mode on the
+         channel as well.  Fixed JOIN command reply to check whether a
+         client is on channel already and not join it twice.  Affected
+         file lib/silcclient/command_reply.c.
+
+       * Added new file silc-expandos.c into irssi/silc/core/ to return
+         various stuff for various signal for the statusbar etc. updating.
+         Now Irssi SILC client prints channel user modes etc. on the
+         statusbar.
+
+       * The user mode (like server/router operator changes) is now shown
+         on the Irssi SILC client's statusbar.  The affected files are
+         irssi/src/silc/core/client_ops.c, silc-expandos.c.
+
+Thu Mar  7 19:21:22 EET 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Changed silc_mutex_[un]lock calls in lib/silcutil/silcschedule.c
+         to SILC_SCHEDULE_[UN]LOCK macros.
+
+       * Added more error printing to logs in server code.  Affected
+         files silcd/server.c and silcd/protocol.c.
+
+       * Fixed -S option parsing in Irssi SILC Client.  Affected file
+         irssi/src/silc/core/silc-core.c.
+
+       * Added silc_buffer_alloc_size function.  Affected file is
+         lib/silcutil/silcbuffer.h.
+
+Tue Mar  5 14:37:27 EET 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Changed all silc_[hash|hmac|cipher|pkcs]_default tables to
+         constants.  Affected files in
+         lib/silccrypt/silcpkcs.[ch], silchash.[ch], silchmac.[ch] and
+         silccipher.[ch].
+
+       * Changed the internal SFTP Memory FS table to const.  Affected
+         file lib/silcsftp/sftp_fs_memory.c.
+
+Sun Mar  3 18:37:13 EET 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Fixed the buffer formatting and unformatting routines to
+         check the size of 64 bits types with sizeof().  Affected
+         file is lib/silcutil/silcbuffmt.c.
+
+Mon Feb 25 17:19:05 EET 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Removed 0.6.x backwards support.
+
+Sun Feb 24 12:53:25 EET 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Changed all integer type names:
+         [u]int[8/16/32/64] -> Silc[UInt/Int][8/16/32/64].  This is
+         to avoid collisions with other libraries using same type names
+         as we did.
+
+Sat Feb 23 20:31:43 EET 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Added `prefer_ipv6' argument to the functions
+         silc_net_gethostbyname[_async].  If it is TRUE it will return
+         IPv6 address over IPv4.  If FALSE IPv4 address is returned
+         even if IPv6 address was found.  Affected files
+         lib/silcutil/silcnet.[ch].
+
+       * Added support silc_net_create_connection[_async] to fallback
+         to IPv4 address if IPv6 address could not be used (like if
+         it doesn't work on a specific system).  Affected file in
+         lib/silcutil/unix/silcunixnet.c.
+
+Sat Feb 23 15:20:30 EET 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Added silc_schedule_reinit function to do the enlarging
+         of the max tasks handling capabilities of the scheduler.
+         Affected files lib/silcutil/silcschedule.[ch].
+
+Wed Feb 20 20:41:01 EET 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Added automatic extern "C" { ... } for C++ compilers so the
+         application does not need to define them.  Affected file
+         includes/silcincludes.h.
+
+       * Renamed lib/silcclient/silcapi.h to silcclient.h as the
+         old name went against naming convention.  Applications now
+         include "silcclient.h" instead of "clientlibincludes.h".
+         Removed includes/clientlibincludes.h, it is redundant now.
+
+       * Renamed includes/version.h to silcversion.h.
+
+       * Added really preliminary support for OS/2 into the util
+         library.  Only thread & mutex API is implemented, others
+         are still to be implemented.  Created the lib/silcutil/os2/
+         directory.  Created also file includes/silcos2.h.
+
+Wed Feb 20 18:48:49 EET 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Added preliminary BeOS support into the util library.
+         Created lib/silcutil/beos/, and implemented all the needed
+         functions to support SILC on BeOS.  Created also file
+         includes/silcbeos.h.
+
+Mon Feb 18 15:49:22 EET 2002  Timo Sirainen <tss@iki.fi>
+
+       * Added proper initializations to silc's irssi code, so it's
+         now possible to load it as module.  Affected files
+         irssi/src/silc/core/silc-core.c,
+         fe-common/silc/fe-common-silc-core.[ch] and fe-text/silc.c
+
+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
+         sender's old command identifier was not saved back to the
+         sender's command context, fixed now.  The affected file is
+         silcd/command.c.
+
+       * Create the key in JOIN command of the router did not return
+         the channel key, added check for this.  Affected file is
+         silcd/command.c.
+
+       * Fixed a channel ID update bug in JOIN command reply.  Do
+         not directly upgrade the ID but call the function
+         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:
@@ -10,6 +855,11 @@ Tue Jan 29 19:49:31 EET 2002  Pekka Riikonen <priikone@silcnet.org>
 
        * Removed TRQ from lib/trq, not needed anymore.
 
+       * Do more frequent heartbeats (5 minutes instead of 10 minutes)
+         with server connections.  Later this will be configurable
+         in config file after new config file is done.  Affected file
+         silcd/server.c.
+
 Tue Jan 29 10:35:03 CET 2002  Pekka Riikonen <priikone@silcnet.org>
 
        * Fixed a crash in server related to channel announcements.