+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
+ to prevent that the config object is destroyed.
+
+ No longer directly affect global variables silc_log_quick and
+ silc_log_delay, they are first cached inside the config object
+ and then applied with silc_server_config_setlogfiles().
+
+ silc_server_config_set_defaults() is now internal to
+ serverconfig.c, there are no reasons to show this internal stuff
+ to the server.
+
+ Affected files are silcd/serverconfig.[ch].
+
+ * Added macro SILC_SERVER_LOG_STDERR(), this should replace most
+ fprintf's to stderr, since some code may be executed again after
+ the server went into the background. Affected files are
+ silcd/server.[ch].
+
+ * Added rehash support. Added function silc_server_rehash() that
+ will perform all the basic tasks of the rehashing procedure.
+
+ * Added command line option `-x, --hexdump'. This will enable the
+ SILC_LOG_HEXDUMP calls that are no longer enabled with `--debug'.
+ The option `--hexdump' implies `--debug'.
+
+ * Fixed a bad bug in the logging APIs (silcutil library) where
+ the application would crash after calling silc_log_reset_all().
+
+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