+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
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