+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:
+
+ Memory leak fixes around libaries, irssi window resize fix,
+ new silclist.h and silcdlist.h, all extern inline changed to
+ static inline.
+
+ * Removed dotconf from lib/dotconf, not needed anymore.
+
+ * 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.
+ Affected file silcd/server.c.
+
+Mon Jan 28 17:49:42 EET 2002 Pekka Riikonen <priikone@silcnet.org>
+
+ * Fixed memory leaks in silc_server_create_new_channel*
+ functions. Affected file silcd/server.c.
+
+ * Fixed the CHANNEL_CHANGE notify to re-announce the channel
+ which ID was changed. This way the router will send the
+ user list for the channel again, and server won't be in
+ desync in some rare circumstances. Affected file is
+ silcd/packet_receive.c.
+
+Sun Jan 27 21:04:19 EET 2002 Pekka Riikonen <priikone@silcnet.org>
+
+ * Check for NULL socket pointer in the function
+ silc_server_packet_send_to_channel_real. Affected file
+ silcd/packet_send.c.
+
+ * Fixed the BAN notify handling to correctly remove ban
+ list. Affected file silcd/packet_receive.c.
+
+Sat Jan 26 23:01:03 EET 2002 Pekka Riikonen <priikone@silcnet.org>
+
+ * Fixed some header addition to Toolkit distribution in
+ lib/silcutil/Makefile.am and lib/trq/Makefile.am.
+
+ * Added lib/silcclient/client_ops_example.h as an template
+ file for application programmers to quickly start using
+ the SilcClientOperation functions in their application.
+ Updated the lib/silcclient/README as well to tell about this
+ nice file made available.
+
+Sat Jan 26 10:45:41 EET 2002 Pekka Riikonen <priikone@silcnet.org>
+
+ * Call silc_server_remove_from_channels when removing client
+ entry when NO_SUCH_CLIENT_ID was received. Affected file
+ is silcd/command_reply.c.
+
+Fri Jan 25 19:12:36 EET 2002 Pekka Riikonen <priikone@silcnet.org>
+
+ * Added server & router operator statistics updating. Affected
+ file silcd/packet_receive.c and silcd/command.c.
+
+ * Fixed the SERVER_SIGNOFF notify handling on normal server
+ not to save the history information for clients. Same was
+ fixed earlier in remove_clients_by_server function, but not
+ here. Affected file silcd/packet_receive.c.
+
+ * Raised the default connection-retry count from 4 to 7 in
+ server. Affected file silcd/server.h.
+
+ * Cancel any possible reconnect timeouts when we start the
+ key exchange. Affected file silcd/server.c.
+
+ * Do not reconnect on connection failure when SCONNECT was
+ given. Affected files silcd/server.[ch].
+
+Tue Jan 22 18:19:36 EET 2002 Pekka Riikonen <priikone@silcnet.org>
+
+ * Removed assert()'s from the lib/silcclient/client_keyagr.c.
+
+ * Fixed the NICK command to always give the unformatted
+ nickname to the one giving the NICK command. If unformatted
+ nickname is cached already it will be formatted and the
+ local entry will always get the unformatted nickname.
+ Affected file lib/silcclient/idlist.c.
+
+ * Fixed some double frees from client library commands.
+ Affected file is lib/silcclient/command.c.
+
+ * Fixed CUMODE command in server to assure that no one can
+ change founder's mode than the founder itself, there was a
+ little bug. Affected file silcd/command.c.
+
+Mon Jan 21 19:07:53 EET 2002 Pekka Riikonen <priikone@silcnet.org>
+
+ * Removed the SilcClientCommandDestructor from the client
+ libary, it is not needed anymore. Affected files are
+ lib/silcclient/silcapi.h, command[_reply].[ch],
+ client_notify, idlist.c.
+
+ * Fixed GETKEY command to first resolve client, and then
+ resolve the server only if the client was not found, instead
+ of resolving both at the same time. Affected file is
+ lib/silcclient/command.c.
+
+ * Added silc_client_start_key_exchange_cb and lookup the
+ remote hostname and IP address before starting the key
+ exchange with server. The affected file is
+ lib/silcclient/client.c.
+
+ * The server's public key is now saved using the IP address
+ of the server and not the servername for the filename.
+ The hostname public key filename is checked as an fall back
+ method if the IP address based filename is not found.
+
+ Fixed the GETKEY command to save the fetched server key
+ in correct filename.
+
+ Print the remote server's hostname now when new key is
+ received during connection process. Affected file is
+ irssi/src/silc/core/client_ops.c.
+
+ * Return always our own public key to the client if it asks
+ for it with GETKEY command. Affected file silcd/command.c.
+
+ * Removed the use_auto_addr variable from default config
+ file since it was in wrong section. Affected file is
+ irssi/src/config.
+
+ * Fixed TOPIC_CHANGE notification to not route it when it
+ was sent using silc_server_send_notify_to_channel function.
+ Affected file silcd/command.c.
+
+ * Fixed silc_server_send_notify_kicked to send the kicker's
+ Client ID also, it was missing. Affected files are
+ silcd/command.c, silcd/packet_send.[ch].
+
+Thu Jan 17 18:59:11 EET 2002 Pekka Riikonen <priikone@silcnet.org>
+
+ * Do not save client history information in SERVER_SIGNOFF.
+ Fixes the bug in normal server that it does not detect
+ the client becoming valid after the server becomes back
+ online. Affected file silcd/server_util.c.
+
+ * Added `sock_error' field into the SilcSocketConnection
+ context. When error occurs during socket operation (read
+ or write) the error is saved. Added also new function
+ silc_socket_get_error to return human readable socket error
+ message. Affected files are lib/silcutil/silcsockconn.[ch],
+ lib/silcutil/unix/silcunixsockconn.c, and
+ lib/silcutil/win32/silcwin32sockconn.c.
+
+ * The server now prints the socket error message in the
+ signoff for client. Affected file silcd/server.c.
+
+ * Fixed the `created' channel information sending from router
+ to server in JOIN command. Checks now whether the channel
+ really was created or not and set it according that.
+
+ Fixed the JOIN command to use the client entry's current
+ ID during the joining procedure instead of the one it sent
+ in the command (it is checked though), since it can change
+ between the packet processing and command processing, and
+ would just case unnecessary pain in the client end. Affected
+ file silcd/command.c.
+
+ * Fixed a channel key payload sending to use correct channel
+ ID when the server was forced to change the channel's ID by
+ router. Router sent the key payload with the old Channel ID.
+ Affected file silcd/packet_receive.c.
+
+Wed Jan 16 22:26:30 EET 2002 Pekka Riikonen <priikone@silcnet.org>
+
+ * Call silc_server_save_channel_key only if the key payload
+ was provided in the JOIN command's command reply. Affected
+ file silcd/command_reply.c.
+
+Tue Jan 15 18:49:41 EET 2002 Pekka Riikonen <priikone@silcnet.org>
+
+ * Fixed silc_mp_sizeinbase to return the value correctly with
+ MPI. Affected file lib/silcmath/mp_mpi.c.
+
+ * Fixed the stop_server signal to correctly stop the scheduler
+ and gracefully stop the server when SIGTERM or SIGINT signals
+ are received. Affected file silcd/silcd.c.
+
+Mon Jan 7 23:38:19 CET 2002 Johnny Mnemonic <johnny@themnemonic.org>
+
+ * Simple handling of TERM and HUP signals. Also added some log
+ flushing call around. Affected file is
+ silcd/silcd.c.
+
+ * Fixed small bugs in silclog.c. Now buffering output will take
+ effect after 10 seconds since startup: This will ensure that
+ no important startup messages are lost. Also output redirection
+ will preserve original format ([Date] [Type] message).
+ Affected file is lib/silcutil/silclog.c.
+
+ * Added two options to the config file, in the logging section:
+ quicklogs:<yes/no>: and flushdelay:<seconds>:. Affected files
+ lib/silcutil/silclog.[ch], silcd/serverconfig.[ch].
+
+Sun Jan 6 12:49:40 EET 2002 Pekka Riikonen <priikone@silcnet.org>
+
+ * Do not print the warning about log files not being initialized
+ more than once to avoid excess logging. Affected file is
+ lib/silcutil/silclog.c.
+
+ * Fixed the SIM compilation in lib/silcsim/Makefile.am. Fixed
+ the SIM copying in make install in Makefile.am.pre.
+
+Sun Jan 6 01:10:21 CET 2001 Johnny Mnemonic <johnny@themnemonic.org>
+
+ * Rewritten silclog APIs. Globally interesting changes follows:
+ silc_log_set_files() changed to silc_log_set_file().
+ silc_log_set_callbacks() changed to silc_log_set_callback().
+ ROBOdoc documented silclog header file.
+ SilcLogCb now returns bool to wether inihibit the default
+ handler or not (to keep the old behaviour return always TRUE).
+ The new APIs should also fix the problem of the
+ silcd_error.log file that was written in the current directory.
+
+ New features:
+ Log files streams will remain opened after silc_log_set_file()
+ call, means less CPU usage notably on high traffic servers.
+ File streams are now full buffered, and flushed to the disk
+ every 5 minutes, lesses HD activity and CPU usage.
+ Messages can be redirected, allowing admins to configure
+ one single logfile for all server messages.
+ the silc_log_quick global variable to activate fast-logging.
+ Affected files lib/silcutil/silclog.[ch]
+
+ * Changed some code to conform new silclog APIs. Affected
+ files are doc/example_silcd.conf.in, silcd/server.c
+ irssi/src/silc/core/silc-core.c, silcd/serverconfig.[ch],
+ silcd/silcd.c.
+
+ * Fixed a memory leak that could occur in some situations.
+ Affected file silcd/serverconfig.c.
+
+Sat Jan 5 13:37:29 EET 2002 Pekka Riikonen <priikone@silcnet.org>
+
+ * Added the silc_client_del_client to remove the client from
+ all channels as well. Affected file lib/silcclient/idlist.c.
+
+ * Fixed the client library to correctly remove the client
+ from all channels when the client entry is being destroyed.
+ Affected file lib/silcclient/client_notify.c, command.c.
+
+ * Added auto-nicking support to the client library. If the
+ applicatio now sets client->nickname it will be sent to the
+ server after connecting by the library. This way for example
+ SILCNICK (or IRCNICK) environment variables will have effect
+ and always change the nickname automatically to whatever
+ it is wanted. Affected file lib/silcclient/client.[ch].
+
+ * Renamed silc_server_command_bad_chars to the
+ silc_server_name_bad_chars and moved it to the
+ silcd/server_util.[ch]. Added also new function
+ silc_server_name_modify_bad to return nickname that
+ includes bad characters as new nickname without those
+ bad characters. This check and modify is now used in
+ silc_server_new_client when the username is initially set
+ as nickname, so it must be checked to be valid nickname.
+ Affected file silcd/packet_receive.c.
+
+ * The nickname length is now taken from the packet for real
+ and not trusted to strlen() since it clearly can return
+ wrong length for nickname including bad characters. This
+ also applies to channel names. Affected file silcd/command.c.
+
+ * Removed the lib/silcsilm/modules directory. Modules are now
+ compiled into the lib/silcsim. Fixed the copying of the
+ modules to follow symbolic links in Makefile.am.pre.
+
+Wed Jan 2 18:56:21 EET 2002 Pekka Riikonen <priikone@silcnet.org>
+
+ * Fixed silc_string_regexify list creation. Fixes bugs with
+ BAN and INVITE commands in server. The affected file is
+ lib/silcutil/unix/silcunixutil.c.
+
+Sun Dec 30 13:41:34 EET 2001 Pekka Riikonen <priikone@silcnet.org>
+
+ * Removed the command destructor entirely from the server's
+ command and command reply routines. It is not needed, and
+ its usage was buggy and caused crashes. Affected files are
+ silcd/command[_reply].[ch].
+
+Fri Dec 28 12:43:22 EET 2001 Pekka Riikonen <priikone@silcnet.org>
+
+ * Cancel protocol and NULL sock->protocol if timeout
+ occurred during protocol. Affected file silcd/server.c.
+
+ * Cancel protocol timeouts always before calling the final
+ callback, to assure that after final callback is called
+ no other state will be called for the protocol anymore.
+ Affected file silcd/protocol.c.
+
+ * Print error log if incoming connection configuration could
+ not be found. Affected file silcd/server.c.
+
+ * Fixed JOIN command to correctly save the founder mode
+ to the client on normal SILC server, when the channel
+ was created by the router. Affected file silcd/command.c.
+
+ * Fixed LIST command (hopefully) to send correct reply
+ packets. Affected file silcd/command.c.
+
+Thu Dec 20 16:14:52 CET 2001 Pekka Riikonen <priikone@silcnet.org>
+
+ * The silc_packet_receive_process now returns FALSE if the
+ read data was invalid packet, and TRUE if it was ok.
+
+ The server now checks that if unauthenticated connection
+ sends data and its processing fails the server will close
+ the connection since it could be a malicious flooder.
+
+ Affected files lib/silccore/silcpacket.[ch], silcd/server.c.
+
+Wed Dec 19 21:31:25 EET 2001 Pekka Riikonen <priikone@silcnet.org>
+
+ * Make sure the warning about error opening a log file is
+ printed only once and not everytime it fails (produces
+ too much useless log). Affected file lib/silcutil/silclog.c.
+
+Wed Dec 19 18:21:51 CET 2001 Johnny Mnemonic <johnny@themnemonic.org>
+
+ * Made the silc_server_daemonise() function more readable.
+ Affected file silcd/server.c.
+
+ * Pid file is now optional, the user may comment it out from
+ the config file. Removed define SILC_SERVER_PID_FILE, we
+ don't need a default any longer. Affected file
+ configure.in.pre, lib/Makefile.am.pre.
+
+ * Make some use of the pid file. The server now dies at startup
+ if it detects a valid pid file on his path. The server would
+ die anyway in this circumstance, because of the bind() failure.
+ Affected file silcd/silcd.c.
+
+ * No longer compiling lib/dotconf.
+
+Mon Dec 17 18:24:27 EET 2001 Pekka Riikonen <priikone@silcnet.org>
+
+ * Fixed JOIN command parsing not to crash. Affected file
+ lib/silcclient/command.c.
+
+ * Fied the NICK_CHANGE notify to add the new client entry
+ even it is resolved. This removes an <[unknown]> nick
+ thingy bug in the client. Affected file is
+ lib/silcclient/client_notify.c.
+
+ * Do not try to allocate 0 bytes (efence does not like it)
+ in lib/silccore/silccomand.c when encoding payload.
+
+ * Do not take IRCNICK as nickname in Irssi SILC client since
+ it is not possible to set nickname before hand connecting
+ the server (TODO has an entry about adding auto-nicking
+ support).
+
+ * Changed the silc_server_command_pending to check whether
+ there already exists an pending entry with the specified
+ command, command identifier and pending callback. This is
+ to fix IDENTIFY and WHOIS related crashes that may register
+ multiple pending commands with same identifier. Affected
+ file silcd/command.c.
+
+ * Fixed the server to reconnect to the router even if it
+ was already reconnecting and EOF was received. This to
+ fix a possibility that the server wouldn't ever try to
+ auto-reconnect to the router. Affected file silcd/server.c.
+
+Sat Dec 15 20:31:50 EET 2001 Pekka Riikonen <priikone@silcnet.org>
+
+ * Fixed the server's password authentication to use the
+ length of the locally saved password, and not the one
+ sent in the packet. Affected file silcd/protocol.c.
+
+ * Fixed same password authentication problem in the
+ Authentication Payload handling routines in
+ lib/silccore/silcauth.c.
+
+ * Yet another password authentication problem fixed with
+ channel password handling in silcd/command.c.
+
+Mon Dec 10 19:57:40 EET 2001 Pekka Riikonen <priikone@silcnet.org>
+
+ * If first character of string in silc_parse_userfqdn is '@'
+ then do not parse it. Affected file is
+ lib/silcutil/silcutil.c.
+
+Sun Dec 9 22:18:50 EET 2001 Pekka Riikonen <priikone@silcnet.org>
+
+ * Fixed minor bug in IDENTIFY command reply sending, which
+ caused various weird problems during JOIN when it was
+ resolving names for users. Affected file silcd/command.c.
+
+Sun Dec 9 19:18:41 EET 2001 Pekka Riikonen <priikone@silcnet.org>
+
+ * Fixed the IDENTIFY command reply sending to chech better valid
+ clients. It was possible to send incomplete list of replies.
+ Affected file silcd/command.c.
+
+Sat Dec 8 15:58:31 EET 2001 Pekka Riikonen <priikone@silcnet.org>
+
+ * Added silc_client_command[s]_[un]register functions now to
+ dynamically register the commands in client library. Removed
+ the static table of commands. This allows the client library
+ to call commands without causing the application to know about
+ what commands library has called.
+
+ Removed the INFO command reply kludge to detect when the command
+ was called by library. Now library use its own command reply
+ function for INFO command.
+
+ Added function silc_client_command_call to call a command.
+ Application can use it to call command, not access the structure
+ directly.
+
+ Now all commands that are sent by the client library (not
+ explicitly sent by application) use own command reply functions.
+
+ Affected files around lib/silcclient/ and in
+ irssi/src/silc/core/.
+
+ * Fixed the WHOIS command reply sending to chech better valid
+ clients. It was possible to send incomplete list of replies.
+
+ Fixed the WHOIS and IDENTIFY to send the request to router
+ if normal server did not do it and did not find any results.
+
+ Affected file silcd/command.c.
+
+Thu Dec 6 17:21:06 EET 2001 Pekka Riikonen <priikone@silcnet.org>
+
+ * Moved the internal data from SilcClient context into its
+ own file, not accesible to application. Affected files
+ lib/silcclient/client.h and lib/silcclient/client_internal.h,
+ and other files in client library.
+
+Thu Dec 6 10:37:55 EET 2001 Pekka Riikonen <priikone@silcnet.org>
+
+ * Added doc/examples installation target in Makefile.am.pre.
+ A patch by salo.
+
+Tue Dec 4 17:43:19 EET 2001 Pekka Riikonen <priikone@silcnet.org>
+
+ * If NO_SUCH_CLIENT_ID notify is received for WHOIS or IDENTIFY
+ commands the found client entry will be removed from the
+ cache, after notifying application about the error. Affected
+ file lib/silcclient/command_reply.c.
+
+ * Changed the /MSG to check for exact nickname user gave, and
+ not let `nick' match `nick@host' if it is only one found. Now,
+ user must type the exact nickname (like nick@host2) even if
+ there are no more than one same nicks found. This is to avoid
+ a possibility of sending nickname to wrong nickname since
+ `nick' could match `nick@host'. Affected file is
+ irssi/src/core/silc-servers.c.
+
+Mon Dec 3 18:49:45 EET 2001 Pekka Riikonen <priikone@silcnet.org>
+
+ * Do not print "you are now server operator" or similar when
+ giving /away command. Affected files are
+ irssi/src/silc/core/client_ops.c, silc-servers.h.
+
+ * Made the silc_server_command_pending_error_check to send
+ the same command reply payload it received back to the
+ original sender of the command. This way all arguments
+ that was received by the server will be received by the
+ client too. Affected file silcd/command.c.
+
+ * Added the silc_idcache_add to return the created cache entry
+ to a pointer. Affected file lib/silccore/silcidcache.[ch].
+
+ * Add global clients to expire if they are not on any channel.
+ This is because normal server will never know if they signoff
+ if they are not on any channel. The cache expiry will take
+ case of these entries. This is done by normal servers only.
+ The affected files are silcd/command_reply.c,
+ silcd/idlist.[ch], silcd/server and silcd/packet_receive.c.
+
+ * If server receives invalid ID notification for WHOIS or
+ IDENTIFY and the ID exists in the lists, it is removed.
+ Affected file silcd/command_reply.c.
+
+ * If NO_SUCH_CLIENT_ID is received for WHOIS or IDENTIFY command
+ in client then client entry that it matches is searched and
+ the nickname is printed on the screen for user. Affected
+ file irssi/src/silc/core/client_ops.c.
+
+Mon Dec 3 11:56:59 EET 2001 Pekka Riikonen <priikone@silcnet.org>
+
+ * Use cache entry expire time in the LIST command reply to
+ purge old entries from the cache after the LIST command
+ reply has been received. This way we don't have non-existent
+ entries in the cache for too long. Affected file is
+ silcd/command_reply.c.
+
+Sun Dec 2 23:29:07 EET 2001 Pekka Riikonen <priikone@silcnet.org>
+
+ * If we are normal server, and we've not resolved client info
+ in WHOIS or IDENTIFY from router, and it is global client,
+ we'll check whether it is on some channel. If it is not
+ then we cannot be sure about its validity and will resolve it
+ from router. Fixes a bug in WHOIS and IDENTIFY. Affected
+ file silcd/command.c.
+
+ * Search channel by name (if possible) rather than by ID
+ in IDENTIFY command's command reply. Affected file is
+ silcd/command_reply.c.
+
+Sun Dec 2 13:48:46 EET 2001 Pekka Riikonen <priikone@silcnet.org>
+
+ * Distribute to the channel passphrase in CMODE_CHANGE notify.
+ Updated specs and implemented it. Affected file silcd/command.c,
+ silcd/packet_send.c and silcd/packet_receive.c.
+
+ * Implemented the <founder auth> payload handling in the JOIN
+ command. If provided all conditions for channel joining
+ except requirement to provide correct passphrase can be
+ overrided by the channel founder. Updated the protocol specs.
+ Affected file silcd/command.c.
+
+ Added support for founder auth in JOIN command in client
+ library. Fixed the parsing of the JOIN command now to support
+ all options as they should be. The affected file is
+ lib/silcclient/command.c.
+
+ * Optimized the WHOIS and IDENTIFY commands to send the request
+ to router only if it includes nicknames or other names. If
+ they include only IDs then check the local cache first before
+ routing. Affected file is silcd/command.c.
+
+ * Added channels topic announcements. Affected file is
+ silcd/packet_receive.c and silcd/server.c.
+
+ * Fixed the silc_server_send_notify_topic_set to really destine
+ the packet to channel. Affected file silcd/packet_send.c.
+
+ * Fixed a crash in CHANNEL_CHANGE notify handling in the client
+ library. Affected file lib/silcclient/client_notify.c.
+
+ * Added UMODE announcements. Affected file silcd/server.c.
+
+Sat Dec 1 12:52:39 EET 2001 Pekka Riikonen <priikone@silcnet.org>
+
+ * Memory leak fixes in:
+
+ lib/silcutil/silcsockconn.c
+ lib/silcske/silcske.c
+ lib/silcske/groups.c
+ lib/silccrypt/rsa.c
+ lib/silccrypt/silcpkcs.c
+ lib/silccore/silccommand.c
+ lib/silccore/silcidcache.c
+ silcd/idlist.c
+ silcd/packet_send.c
+ silcd/command.c
+
+ * ROBOdoc documented the lib/silcske/groups.h file and a
+ bit changed the interface for better.
+
+Thu Nov 29 22:12:50 EET 2001 Pekka Riikonen <priikone@silcnet.org>'
+
+ * Update the client entry context in the ID cache after
+ nick change. Affected file lib/silcclient/command.c.
+ Fixes the CUMODE command when regaining founder privileges,
+ and a little WHOIS problem.
+
+ * Fixed silc_net_gethostbyname to correctly call the
+ inet_ntop. Affected file lib/silcutil/silcnet.c.
+