+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.
+
+Thu Nov 29 19:31:23 EET 2001 Pekka Riikonen <priikone@silcnet.org>'
+
+ * Added IPv6 support checking to the configure.in.pre, added
+ also --enable-ipv6 option to override the check. Affected
+ file configure.in.pre.
+
+ * The silc_thread_create now calls the start function
+ directly if threads support is not compiled in. Removes
+ ugly #ifdef's from generic code. Affected files are
+ lib/silcutil/unix/silcunixthread, win32/silcwin32thread.c.
+
+ * Added silc_net_gethostby[name/addr]_async to asynchronously
+ resolve. Affected files are lib/silcutil/silcnet.[ch].
+
+ * Added support for rendering IPv6 based server, client and
+ channel IDs. Affected file lib/silcutil/silcutil.c.
+
+ * Added support for creating IPv6 based server IDs. Affected
+ file is silcd/serverid.c.
+
+Wed Nov 28 23:46:09 EET 2001 Pekka Riikonen <priikone@silcnet.org>'
+
+ * Added silc_net_gethostby[addr/name] into the
+ lib/silcutil/silcnet.[ch]. Added IPv6 support to Unix network
+ routines. Added silc_net_is_ip[4/6]. Affected file is
+ lib/silcutil/unix/silcunixnet.c. All routines that take
+ address as argument now supports both IPv4 and IPv6 addresses.
+
+Mon Nov 26 18:09:48 EET 2001 Pekka Riikonen <priikone@silcnet.org>'
+
+ * Fixed LIST command reply sending in server. Affected file
+ silcd/command.c.
+
+ * Server now sends the kicker's client ID in the KICK notify
+ to the kicked client. Affected file silcd/command.c.
+
+ * The client library now parses the kickers client ID and
+ UI displays it. Affected files lib/silcclient/client_notify.c
+ and irssi/src/silc/core/silc-channels.c, module-formats.c.
+
+ * Made all payload parsing function prototypes consistent.
+ They all take now const unsigned char * and uint32 pair as
+ the payload data instead of SilcBuffer. Changes all around
+ the source tree. Other unsigned char* -> const unsigned char*
+ changes around the tree as well.
+
+ * Optimized SFTP client and server packet sending not to
+ allocate new buffer for each packet but to recycle the
+ first allocated buffer. Affected files are
+ lib/silcsftp/sftp_client.c, sftp_server.c, sftp_util.[ch].
+
+ * Optimized the SFTP client to use SilcList instead of
+ SilcDList for requests, because it is faster. Affected file
+ is lib/silcsftp/sftp_client.c.
+
+ * Moved the ID Payload routines from lib/silccore/silcpayload.[ch]
+ into lib/silccore/silcid.[ch].
+
+ Renamed silcpayload.[ch] into silcargument.[ch].
+
+Mon Nov 26 15:01:53 CET 2001 Pekka Riikonen <priikone@silcnet.org>
+
+ * If client entry is deleted with active key agreement
+ session, abort the session.
+
+ The silc_client_abort_key_agreement now calls the completion
+ callback with new SILC_KEY_AGREEMENT_ABORTED status.
+
+ Affected file lib/silcclient/silcapi.h, client_keyagr.c and
+ idlist.c.
+
+Sun Nov 25 18:01:45 EET 2001 Pekka Riikonen <priikone@silcnet.org>
+
+ * Don't use __restrict in older GCC's. Affected file is
+ lib/silcmath/mpi/mpi-priv.h. A patch by salo.
+
+ * silc_net_localhost now attempts to reverse lookup the
+ IP/hostname. Affected file lib/silcutil/silcnet.c.
+
+ * Defined <founder auth> argument to the SILC_COMMAND_JOIN
+ command. It can be used to gain founder privileges at
+ the same time when joining the channel.
+
+ Defined that the SILC_NOTIFY_TYPE_KICKED send the
+ kicker's client ID as well. Updated protocol specs.
+
+ Defined that the server must send SILC_COMMAND_IDENTIFY
+ command reply with error status to client who sent
+ private message with invalid client ID.
+
+ Updated the protocol specification.
+
+ * Added silc_server_send_command_reply to send any
+ command reply. Affected file silcd/packet_send.[ch].
+
+ * Added silc_id_payload_encode_data to encode ID payload
+ from raw ID data. Affected file lib/silccore/silcpayload.[ch].
+
+ * The server now send IDENTIFY command reply with error
+ status if client ID in private message is invalid. Affected
+ file silcd/packet_receive.c.
+
+ * Save the server key file with server's IP address in
+ the filename instead of hostname. The affected file is
+ irssi/src/silc/core/client_ops.c.
+
+Sat Nov 24 20:08:22 EET 2001 Pekka Riikonen <priikone@silcnet.org>
+
+ * Typo fixes in irssi/src/fe-common/silc/module-formats.c.
+ A patch by Sunfall.
+
+ * Added libtool support for compiling shared objects in
+ lib/silcsim. Affected file configure.in.pre and
+ lib/silcsim/Makefile.am. Original patch by cras.
+
+Fri Nov 23 23:30:59 EET 2001 Pekka Riikonen <priikone@silcnet.org>
+
+ * Pid file configuration, and server's config file fixes
+ patch by toma. Updated CREDITS file.
+
+Sun Nov 18 01:34:41 EET 2001 Pekka Riikonen <priikone@silcnet.org>
+
+ * Fixed silc_client_channel_message to not try to decrypt
+ the message twice if it resolved the destination client
+ information. This could cause of dropping one channel
+ message. Affected file lib/silcclient/client_channel.c.
+
+Wed Nov 14 23:44:56 EET 2001 Pekka Riikonen <priikone@silcnet.org>
+
+ * Added silc_client_run_one into lib/silcclient/silcapi.h and
+ lib/silcclient/client.c. This function is used when the SILC
+ Client is run under some other scheduler, or event loop or
+ main loop. On GUI applications, for example this may be
+ desired to used to run the client under the GUI application's
+ main loop. Typically the GUI application would register an
+ idle task that calls this function multiple times in a second
+ to quickly process the SILC specific data.
+
+Wed Nov 14 19:16:52 CET 2001 Johnny Mnemonic <johnny@themnemonic.org>
+
+ * Fixed silc_server_drop() for dropping the supplementary
+ groups as well, this could cause a security hole on some
+ systems.
+
+Wed Nov 14 16:22:25 EET 2001 Pekka Riikonen <priikone@silcnet.org>
+
+ * __pid_t -> pid_t in lib/silccrypt/silcrng.c. A patch by
+ johnny.
+
+ * Write PID file after dropping privileges. Added -F option
+ to run server on foreground. A patch by debolaz.
+ Affected files silcd/server.c, silcd/silcd.c.
+
+ * Fixed MOTD to return the MOTD file server name. Affected
+ file silcd/command.c.
+
+ * Added INFO command reply handling to the Irssi SILC Client.
+ Affected file irssi/src/silc/core/client_ops.c.
+
+Wed Nov 14 00:18:08 EET 2001 Pekka Riikonen <priikone@silcnet.org>
+
+ * Fixed the silc_idcache_list_* routines to really support
+ the dynamic list. Fixes a crash. Affected file is
+ lib/silccore/silcidcache.c.
+
+ * Fixed the LIST command reply to really call LIST command's
+ pending callbacks. Affected file silcd/command_reply.c.
+
+Tue Nov 13 00:49:17 EET 2001 Pekka Riikonen <priikone@silcnet.org>
+
+ * Update conn->local_entry->nickname after giving NICK
+ command. Affected file lib/silcclient/command.c.
+
+Sun Nov 11 23:43:02 PST 2001 Brian Costello <bc@wpfr.org>
+
+ * Added the [pid] option to the silcd configuration file
+
+ Affected files: serverconfig.[ch] and silcd.c
+
+Sun Nov 11 23:56:39 EET 2001 Pekka Riikonen <priikone@silcnet.org>
+
+ * Save fingerprint in WHOIS command reply in server.
+ Affected file silcd/command_reply.c.
+
+ * Fixed NICK commands pending callback registration.
+ Affected file lib/silcclient/command.c.
+
+Sun Nov 11 10:49:10 EET 2001 Pekka Riikonen <priikone@silcnet.org>
+
+ * Use ++server->cmd_ident when sending commands in server,
+ instead of random number. Affected file silcd/command.c.
+
+ * Fixed GETKEY command reply to call actually GETKEY pending
+ command callbacks. Affected file silcd/command_reply.c.
+
+ * A bit stricter check for nicknames. Check for same nickname
+ in NICK command also. Affected file silcd/command.c.
+
+ * Do not call INFO command everytime client ID changes, only
+ during first connecting. Affected file lib/silcclient/client.c.
+
+ * Set the new nickname only after successful command reply for
+ NICK command is returned by server. Affected file
+ lib/silcclient/command.c.
+
+ * Remove nicknames from nicklist during server_signoff notify.
+ Should fix /NAMES bit more. The affected file is
+ irssi/src/silc/core/silc-channels.c.
+
+ * Added `fingerprint' field to the SilcIDListData in the
+ silcd/idlist.h to hold the fingerprint of the client's
+ public key.
+
+ Send the fingerprint of the client's public key in WHOIS
+ command reply.
+
+ Affected files silcd/command.c, and silcd/idlist.[ch].
+
+ * Added silc_fingerprint into lib/silcutil/silcutil.[ch] to
+ create fingerprint from given data.
+
+ * Show the fingerprint of the client's public key in WHOIS.
+ Affected files irssi/src/module-formats.[ch] and
+ irssi/src/silc/core/client_ops.c.
+
+ * Format the multiple same nicknames also during JOIN and
+ NICK_CHANGE notifys. Affected file is
+ lib/silcclient/client_notify.c.
+
+ * Do not print error on screen for invalid private message
+ payload since it can come if someone is sending private
+ messages with wrong key. Affected file
+ lib/silccore/silcprivate.c.
+
+ * Fixed multiple concurrent /PING crash. Affected file
+ lib/silcclient/command.c.
+
+ * Changed the wrong ID encoding. All IP addresses must be
+ in MSB first order in encoded format. They were encoded
+ wrong and was in LSB format. Affected files are
+ silcd/serverid.c, lib/silcutil/silcutil.c.
+
+ * Remove silc_net_addr2bin_ne from lib/silcutil/silcnet.[ch].
+
+ * Call the `connect' client operation through the scheduler
+ in case of error. Affected file lib/silcclient/client.c.
+
+ * Call the `failure' client operation even if the error
+ occurred locally during a protocol. Affected file is
+ lib/silcclient/protocol.c.
+
+ * Added support of sending LIST command to router from normal
+ server. This way normal server can get list of all channels
+ in the network too. Fixed the channel list sending in the
+ server too. Affected files are silcd/command.c, and
+ silcd/command_reply.[ch].
+
+ * Added silc_server_update_channels_by_server and
+ silc_server_remove_channels_by_server. They are used during
+ disconnection of primary router and in backup router protocol.
+ Affected file silcd/server_util.[ch], silcd/server.c and
+ silcd/server_backup.c.
+
+ * Fixed channel adding to global list in IDENTIFY command
+ reply in server. Affected file silcd/command_reply.c.
+
+Sat Nov 10 21:39:22 EET 2001 Pekka Riikonen <priikone@silcnet.org>
+
+ * If the incoming packet type is REKEY or REKEY_DONE process
+ that packet always synchronously. Fixes yet another MAC
+ failed error on slow (dialup) connections. Affected file
+ lib/silcclient/client.c and silcd/server.c.
+
+Thu Nov 8 22:21:09 EET 2001 Pekka Riikonen <priikone@silcnet.org>
+
+ * Call check_version SKE callback for initiator too. Affected
+ file lib/silcske/silcske.c.
+
+ * Implemented fix for security hole found in the SKE that was
+ fixed in the specification few days back; the initiator's
+ public key is now added to the HASH value computation.
+ Added backwards support for the old way of doing it too, for
+ old clients and old servers. Affected file is
+ lib/silcske/silcske.c.
+
+ * Enabled mutual authentication by default in SKE. If initiator
+ is not providing mutual authentication the responder will
+ force it. This will provide the proof of posession of the
+ private key for responder. The affected files are
+ lib/silcclient/protocol.c and silcd/protocol.c.
+
+ * Do not cache anymore the server's public key during SKE.
+ We do mutual authentication so the proof of posession of
+ private key is done, and if the server is authenticated in
+ conn auth protocol with public key we must have the public
+ key already. Affected file silcd/protocol.c.
+
+ * Added new global debug variable: silc_debug_hexdump. If
+ it is set to TRUE SILC_LOG_HEXDUMP will be printed. Affected
+ file lib/silcutil/silclog.[ch].
+
+ * Fixed compilation warning due to char * -> const char *.
+ Affected files lib/silcutil/silcnet.h, and
+ lib/silccore/silcauth.[ch].
+
+Wed Nov 7 20:43:03 EET 2001 Pekka Riikonen <priikone@silcnet.org>
+
+ * Fixed CMODE command when new channel key was created. If
+ the creation failed the old key was removed. Next time giving
+ same command would crash the server since the old key was
+ freed already. Affected file silcd/command.c.
+
+ * Fixed the silc_server_announce_get_channels to not crash
+ on reconnect. Affected file silcd/server.c.
+
+Wed Nov 7 17:15:07 EET 2001 Pekka Riikonen <priikone@silcnet.org>
+
+ * Added silc_log_set_debug_string function to set a regex
+ string to match for debug output. Only the function names,
+ or filenames matching the given debug string is actually
+ printed. This way it is possible to filter out those debug
+ strings that user is not interested in.
+
+ Fixed a bug in silc_string_regexify.
+
+ Affected files lib/silcutil/silclog.[ch], and
+ lib/silcutil/unix/silcunixutil.c.
+
+ * Changed the -d options in both server and Irssi SILC client
+ to take the debug string as argument. Affected files
+ silcd/silcd.c and irssi/src/silc/core/silc-core.c.
+
+Tue Nov 6 21:31:54 EET 2001 Pekka Riikonen <priikone@silcnet.org>
+
+ * Added silc_hash_babbleprint to create a Bubble Babble
+ Encoded fingerprint. The encoding is developed by Antti
+ Huima (draft-huima-babble-01.txt), and it creates human
+ readable strings out of binary data. Affected file
+ lib/silccrypt/silchash.[ch].
+
+ * Print the babble print now in addition of fingerprint as well
+ in Irssi SILC client. Affected files are
+ irssi/src/fe-common/silc/module-formats.[ch],
+ irssi/src/fe-common/silc/core/client_ops.c.
+
+Sun Nov 4 23:37:28 EET 2001 Pekka Riikonen <priikone@silcnet.org>
+
+ * Fixed a security problem found in SKE. The initiator's
+ public key too is now added to the HASH hash value creation
+ which is signed by the responder to create the SIGN value.
+ This will prevent anyone in the middle to lie to the responder
+ about the initiator's public key. If this is done now, the
+ man in the middle will get caught. Updated the protocol
+ specification.
+
+Sun Nov 4 11:43:53 EET 2001 Pekka Riikonen <priikone@silcnet.org>
+
+ * Better installation directory handling. Configure module
+ paths and other paths automatically to example_silc* files
+ in doc/. A patch by toma.
+
+ * Fixed compiler warning from MPI library, and from SILC RNG.
+ A patch by johnny.
+
+ * Added SILC_SERVER_PID_FILE to define the pid file for server.
+ It can be configured with ./configure. A patch by toma.
+
+Sat Nov 3 23:48:23 EET 2001 Pekka Riikonen <priikone@silcnet.org>
+
+ * Find correct make to use in prepare-clean. A patch by
+ toma. Affected file prepare-clean.
+
+Sat Nov 3 22:04:00 PST 2001 Brian Costello <bc@mksecure.com>
+
+ * Added irssi variables use_auto_addr, auto_bind_ip,
+ auto_bind_port and auto_public_ip.
+
+ * Changed the interface for silc_client_send_key_agreement
+ in lib/silcclient/silcapi.h
+
+ Affected files:
+
+ irssi/src/silc/core/silc-core.c
+ irssi/config
+ lib/silcclient/silcapi.h
+ irssi/src/silc/core/silc-channels.c
+ lib/silcclient/client_keyagr.c
+ irssi/docs/help/key
+
+Sat Nov 3 17:48:55 EET 2001 Pekka Riikonen <priikone@silcnet.org>
+
+ * Added silc_pkcs_public_key_compare to compare two
+ public keys. Affected file lib/silccrypt/silcpkcs.[ch].
+
+ * Check that the client who set the founder mode on the
+ channel is the same client that is giving the founder
+ mode to itself. It is done by comparing the saved public
+ key (it is saved even in the authentication is passphrase).
+ Affected file silcd/command.c.
+
+Fri Nov 2 18:52:08 EST 2001 Pekka Riikonen <priikone@silcnet.org>
+
+ * Do not process packet for disconnected socket connection.
+ Affected file lib/silccore/silcpacket.c.
+
+ * Process the DISCONNECT packet through scheduler in the
+ client library. Affected file lib/silcclient/client.c.
+
+ * Fixed the silc_client_packet_parse to not to increase
+ the packet sequence number if the conn->sock and the
+ current socket connection is not same. This can happen
+ for example during key agreement when the conn includes
+ multiple socket connections (listeners). Affected file
+ lib/silcclient/client.c.
+
+ * The sender of the file transfer request now provides also
+ the pointer (listener) for the key exchange protocol. If
+ the listener cannot be created then it sends empty key
+ agreement and lets the receiver provide the listener.
+
+ Added `local_ip' and `local_port' arguments to the
+ silc_client_file_send. If they are provided they are used,
+ if not then it will attempt to find local IP address, if
+ not found or bind fails then the remote client will provide
+ the listener.
+
+ Affected files are lib/silcclient/client_ftp.c and
+ lib/silcclient/silcapi.h.
+
+ * Extended the FILE SEND command to support defining the
+ local IP and port for key exchange listener. They are
+ optional. Affected file irssi/src/silc/core/silc-servers.c.
+
+Thu Nov 1 22:10:07 EST 2001 Pekka Riikonen <priikone@silcnet.org>
+
+ * Defined to WHOIS command reply the sending of fingerprint
+ of the client's public key (if the proof of posession of the
+ corresponding private key is verified by the server).
+ Updated to the protocol specification.
+
+ * Added support of receiving the client's public key's
+ fingerprint in command reply in client library. Affected
+ file is lib/silcclient/command_reply.c, and
+ lib/silcclient/idlist.[ch].
+
+Thu Nov 1 18:06:12 EST 2001 Pekka Riikonen <priikone@silcnet.org>
+
+ * Do not send over 128 chars long nickname to the server
+ in NICK command. Affected file lib/silcclient/command.c.
+
+ * Do not send over 256 chars long channel names to the server
+ in JOIN command. Affected file lib/silcclient/command.c.
+
+Tue Oct 30 22:48:59 EST 2001 Pekka Riikonen <priikone@silcnet.org>
+
+ * Assure that silc_server_close_connection cannot be called
+ twice for same socket context. Affected file is
+ silcd/server.c.
+
+Tue Oct 30 16:58:14 EST 2001 Pekka Riikonen <priikone@silcnet.org>
+
+ * Send error message to application if opening file for
+ writing during file transfer fails. Affected file is
+ lib/silcclient/client_ftp.c.
+
+ Remove all file transfer sessions for a client that we're
+ removing from ID cache.
+
+ Affected file is lib/silcclient/client_ftp.c.
+
+ * Fixed silc_net_addr2bin to return correct address. Affected
+ file lib/silcutil/[unix/win32]/silc[unix/win32]net.c.
+
+ * Fixed file transfer session removing on signoff notify.
+ Affected file irssi/src/silc/core/silc-servers.c.
+
+ * Added the SilcClientFileError to be returned in the monitor
+ callback. Added NO_SUCH_FILE and PERMISSION_DENIED errors.
+ Affected file lib/silcclient/silcapi.h.
+
+Mon Oct 29 17:43:04 EST 2001 Pekka Riikonen <priikone@silcnet.org>
+
+ * Fixed a crash in silc_client_ftp_free_sessions and
+ silc_client_ftp_session_free_client. Affected file
+ lib/silcclient/client_ftp.c.
+
+ * Added `disabled' field in the SilcChannelEntry in the server
+ to indicate if the server entry is disabled. Affected file
+ silcd/idlist.h, silcd/command[_reply].c.
+
+ * SILC server adds now /var/run/silcd.pid everytime it is
+ started. Affected file silcd/silcd.c.
+
+ * Added silc_server_packet_send_clients to send a packet to
+ the provided table of client entries. Affected file
+ silcd/packet_send.[ch].
+
+ * Fixed a crash in client resolving in client_prvmsg.c in
+ client library. Affected file lib/silcclient/client_prvmsg.c.
+
+ * Do not actually remove the client directly from ID cache
+ during SERVER_SIGNOFF, but invalidate it. This way we
+ preserve the WHOWAS info for the client. Affected file
+ silcd/server_util.c.
+
+ * Fixed SERVER_SIGNOFF notify handling in the server. The
+ server is now able to process incoming SERVER_SIGNOFF notify
+ for a server that it doesn't even know about. It will remove
+ the clients provided in the notify. Affected file
+ silcd/packet_receive.c.
+
+ * Check for partial packet in data queue after every packet that
+ was found from the queue. Return and wait for more data if
+ there is partial data in queue. Affected file is
+ lib/silccore/silcpacket.c.
+
+Sun Oct 28 18:46:27 EST 2001 Pekka Riikonen <priikone@silcnet.org>
+
+ * Added SilcClietFileError enum to indicate error in
+ file transfer. Added SILC_CLIENT_FILE_MONITOR_KEY_AGREEMENT
+ and SILC_CLIENT_FILE_MONITOR_ERROR new monitor statuses.
+ Affected files lib/silcclient/silcapi.h and
+ lib/silcclient/client_ftp.c.
+
+ * Check that newsize in silc_buffer_realloc is larger than
+ the old buffer's size. Affected file lib/silcutil/silcbufutil.h.
+
+ * Added better monitor of file transfers. It now monitors
+ key agreement protocol during the file transfer too. Added
+ error reporting too. Affected files
+ irssi/src/silc/core/silc-servers.c,
+ irssi/src/fe-common/silc/module-formats.[ch].
+
+ * Wrote a help file for FILE command.
+
+ * Added silc_rng_global_get_byte_fast to get not-so-secure
+ random data as fast as possible. Random data is read from
+ /dev/urandom if available and from the SILC RNG if not
+ available. It is used in padding generation. Affected file
+ lib/silccrypt/silcrng.[ch].
+
+ * All packets in client library are now processed synchronously.
+ Optimized packet processing a lot. Affected file
+ lib/silcclient/client.c.
+
+ * All server connection packets are processing synchronously
+ now in server, to optimize packet processing. Affected file
+ silcd/server.c.
+
+ * Include files are installed now only in Toolkit distribution
+ if make install is given. Affected files: all Makefile.am's.
+
+Thu Oct 25 22:44:06 EDT 2001 Pekka Riikonen <priikone@silcnet.org>
+
+ * Assure that silc_client_notify_by_server_resolve does not
+ resolve the client information multiple times. If it cannot
+ be found by the first it cannot be found at all. Affected
+ file lib/silcclient/client_notify.c.
+
+ * Fixed WHOWAS command reply calling. Affected file
+ lib/silcclient/command_reply.c.
+
+ * Removed all references to silc_idlist_get_client from the
+ Irssi SILC client since that call is internal call used by
+ the library. The Irssi SILC client will use now client
+ retrieval functions found in silcapi.h.
+
+ * Fixed a bug in resolving nickname info before sending
+ private message. It used freed memory. Affected file
+ irssi/src/silc/core/silc-servers.c.
+
+Thu Oct 25 19:04:49 EDT 2001 Pekka Riikonen <priikone@silcnet.org>
+
+ * Assure my_channels statistics cannot go negative in server.
+ Affected files silcd/server.c, silcd/server_util.c.
+
+Wed Oct 24 19:53:05 EDT 2001 Pekka Riikonen <priikone@silcnet.org>
+
+ * Upgraded dotconf 1.0.2 to 1.0.6 in lib/dotconf.
+
+Tue Oct 23 13:51:19 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
+
+ * Win32 Toolkit changes. Affected files
+ win32/silc.dsw, win32/libsilc/libsilc.def,
+ win32/libsilcclient/libsilc.def,
+ lib/silcutil/silcutil.c, and
+ lib/sftp/sftp_fs_memory.c.
+
+Mon Oct 22 16:35:05 EDT 2001 Pekka Riikonen <priikone@silcnet.org>
+
+ * Added silc_net_localip to return local host's IP address.
+ Affected file lib/silcutil/silcnet.[ch].
+
+ * If key exchange or rekey protocol is active for a connection
+ parse all packets syncronously since there might be packets
+ in packet queue that we are not able to process without first
+ processing packets before them. Affected file silcd/server,
+ lib/silcclient/client.c.
+
+ * SilcPacketParserCallback now returns TRUE or FALSE to indicate
+ whether library should continue processing the packet.
+ Affected file lib/silccore/silcpacket.h.
+
+ * Added SilcSFTPMonitor callback, SilcSFTPMonitors and
+ SilcSFTPMonitorData to SFTP server to monitor various
+ SFTP client requests. Affected file lib/silcsftp/silcsftp.h,
+ lib/silcsftp/sftp_server.c.
+
+ * Added silc_file_size to return file size. Affected file
+ lib/silcutil/silcutil.[ch].
+
+ * Implemented the file transfer support for the client library.
+ Added preliminary support for simple client to client one-file
+ transmission. Affected file lib/silcclient/client_ftp.c,
+ lib/silccilent/client.[ch].
+
+ * Added new local command FILE to the Irssi SILC Client.
+ It is used to perform the file transfer. It has subcommands
+ SEND, RECEIVE, SHOW and CLOSE. Affected files
+ irssi/src/silc/core/client_ops.c,
+ irssi/src/silc/core/silc-server.[ch].
+
+Mon Oct 22 12:50:08 EDT 2001 Pekka Riikonen <priikone@silcnet.org>
+
+ * Relay the SILC_PACKET_FTP in the server. Affected files
+ silcd/server.c and silcd/packet_receive.c.
+
+Sun Oct 21 20:21:02 EDT 2001 Pekka Riikonen <priikone@silcnet.org>
+
+ * Renamed silc_file_read and silc_file_write to functions
+ silc_file_readfile and silc_file_writefile. Added function
+ silc_file_open and silc_file_close. Affected files
+ lib/silcutil/silcutil.[ch].
+
+Thu Oct 18 20:58:13 EDT 2001 Pekka Riikonen <priikone@silcnet.org>
+
+ * Resolve the client info when received private message or
+ channel message for a client which nickname we don't know.
+ Affected files lib/silcclient/client_prvmsg.c and
+ lib/silcclient/client_channel.c.
+
+ * Do not crash in /KEY if client is not connected. Affected
+ file irssi/src/silc/core/silc-channels.c.
+
+ * Added SilcClientStatus field to the SilcClientEntry in the
+ lib/silcclient/idlist.h.
+
+ Added SILC_CLIENT_STATUS_RESOLVING to mark that the entry
+ is incomplete and is being resolved, it won't be resolved
+ twice.
+
+ Make sure also that USERS command reply does not resolve
+ twice information. Affected file is
+ lib/silcclient/command_reply.c.
+
+ Make sure that silc_client_get_clients_by_list does not
+ resolve twice same information.
+
+ * Check for valid client->id in the silc_server_free_client_data.
+ Affected file silcd/server.c.
+
+ * Fixed /GETKEY nick@server not to crash if the server entry
+ is not found. Affected file lib/silcclient/command.c.
+
+ * Fixed the silc_server_check_cmode_rights to check the
+ requested modes correctly. Affected file silcd/command.c.
+
+Thu Oct 18 12:10:22 CEST 2001 Pekka Riikonen <priikone@silcnet.org>
+
+ * Better checks for non-printable chars in nick added.
+ Affected file silcd/command.c.
+
+Thu Oct 18 09:18:58 EDT 2001 Pekka Riikonen <priikone@silcnet.org>
+
+ * Call the silc_server_udpate_servers_by_server in the
+ primary router that comes back online in the backup resuming
+ protocol. Otherwise it routes packets wrong. Affected file
+ silcd/server_util.[ch], silcd/server_backup.c.
+
+Wed Oct 17 16:51:18 EDT 2001 Pekka Riikonen <priikone@silcnet.org>
+
+ * Added SILC_STR_UI8_[N]STRING[_ALLOC] formats to the
+ lib/silcutil/silcbuffmt.[ch].
+
+ * Redefined the SILC packet header to include the padding
+ length. Affected file lib/silccore/silcpacket.[ch].
+
+ * Added SILC_PACKET_PADLEN_MAX macro to return the padding
+ length for maximum padding up to 128 bytes). Affected
+ file lib/silccore/silcpacket.h.
+
+ * Removed all backwards support for old 0.5.x MAC thingies.
+ The SILC packet header change makes it impossible to be
+ backwards compatible.
+
+ * Send the ENDING packet with timeout in the backup resuming
+ protocol. This is to assure that all routers has connected
+ to the primary router. Affected file silcd/server_backup.c.
+
+ * Changed the RNG to take the first IV from random data. It
+ used to take it from zero actually. Changed the RNG also
+ to use /dev/urandom during session. /dev/random is used
+ in initialization. Affected file lib/silccrypt/silcrng.[ch].
+
+Tue Oct 16 20:45:49 EDT 2001 Pekka Riikonen <priikone@silcnet.org>
+
+ * Changed the SILC packet header to have the first two bytes
+ (the packet length) encrypted. Affected files aroung the
+ code tree, lib/silccore/silcpacket.[ch]. Removed the
+ SilcPacketCheckDecrypt callback. It is not needed anymore
+ since the silc_packet_receive_process will determine now
+ whether the packet is normal or special.
+
+ * Implemented the unidirectional MAC keys. Affected files
+ lib/silcske/silcske.c, silcd/protocol.c and
+ lib/silcclient/protocol.c.
+
+ * Implemented the packet sequence number to the MAC computation.
+ Affected files lib/silccore/silcpacket.c, silcd/protocol.c,
+ silcd/packet_send.c, silcd/server.c, lib/silcclient/client.c,
+ lib/silcclient/protocol.c.
+
+Mon Oct 15 17:42:55 EDT 2001 Pekka Riikonen <priikone@silcnet.org>
+
+ * Allow backup router to announce servers. All servers
+ announced by backup router are added to the global list
+ automatically. Update hte server's socket to our primary
+ router also when backup router announces a server.
+ Affected file silcd/packet_receive.c.
+
+ * Do not update the client->router in the function
+ silc_server_udpate_clients_by_server if the client is on
+ global list. We might fail to find any specific server
+ for locally connected clients and local cell clients. They
+ should still use the `from' and not `to' as client->router.
+ This fixes backup router resuming protocol. Affected file
+ silcd/server_util.c.
+
+ * Decrease channel statistics count only if the channel
+ deletion worked. Affected files are silcd/server.c and
+ silcd/server_util.c.
+
+ * Added silc_server_update_servers_by_server to update origin
+ of all server entries. Used during backup router protocol.
+ Affected files silcd/server_util.[ch], silcd/server.c. and
+ silcd/backup_router.c.
+
+ * ROBODoc documented the lib/silccrypt/silchmac.h. Added new
+ function silc_hmac_init, silc_hmac_update, silc_hmac_final,
+ silc_hmac_get_hash and silc_hmac_get_name. Affected file
+ lib/silccrypt/silchmac.c.
+
+Sun Oct 14 18:28:22 EDT 2001 Pekka Riikonen <priikone@silcnet.org>
+
+ * Assure that router cannot reroute the same channel message
+ to the sender. Affected file silcd/packet_receive.c.
+
+Sat Oct 13 12:46:18 EDT 2001 Pekka Riikonen <priikone@silcnet.org>
+
+ * Made better checks that the channel message is not sent
+ to the router it came from. Affected file is
+ silcd/packet_send.c. Fixed memory leak too.
+
+ * Announce informations for incoming router connection, but
+ only after checking if it is replaced by backup router.
+ Affected file silcd/packet_receive.c.
+
+Fri Oct 12 18:37:24 EDT 2001 Pekka Riikonen <priikone@silcnet.org>
+
+ * Fixed the backup resuming protocol to work in multiple
+ router environment. Affected file silcd/server_backup.c.
+
+ * Route packet only to one router in the function
+ silc_server_packet_send_to_channel. Affected file is
+ silcd/packet_send.c.
+
+ * Fixed silc_server_send_notify_dest to set the broadcast
+ flag. Fixed the silc_server_send_notify_topic to actually
+ send the TOPIC_CHANGE notify and not SERVER_SIGNOFF notify.
+ Affected file silcd/packet_send.c.
+
+ * Changed the SFTP Filesystem interface. Changed the
+ SilcSFTPFilesystemStruct to SilcSFTPFilesystemOps to include
+ the filesystem operation function. The SilcSFTPFilesystem
+ is now a context that is allocated by all filesystem allocation
+ functions and it already includes the operations structure
+ and filesystem specific context. It is given as argument
+ now to the silc_sftp_server_start. This made the interface
+ a bit cleaner. Affected file lib/silcsftp/silcsftp[_fs].h,
+ lib/silcsftp/sftp_fs_memory.c and sftp_server.c.
+
+Thu Oct 11 22:19:26 EDT 2001 Pekka Riikonen <priikone@silcnet.org>
+
+ * Changed the backup router adding and getting interfaces
+ in the server. The router that will be replaced by the
+ specified backup router is now sent as argument. Affected
+ files silcd/serverconfig.[ch], silcd/backup_router.[ch], and
+ silcd/server.c.
+
+ * Added silc_net_addr2bin_ne to return the binary form of
+ the IP address in network byte order. Affected files
+ lib/silcutil/[unix/win32].silc[unix/win32]net.[ch].
+
+Thu Oct 11 12:14:19 EDT 2001 Pekka Riikonen <priikone@silcnet.org>
+
+ * Check for existing server ID in silc_server_new_server
+ and in silc_server_connect_to_router_final and remove the
+ old entry if it exists. Affected file silcd/packet_receive.c,
+ silcd/server.c.
+
+ * Send the channel message always to only one router, either
+ in upstream or downstream. Affected file is
+ silcd/packet_send.c.
+
+Tue Oct 9 17:45:43 EDT 2001 Pekka Riikonen <priikone@silcnet.org>
+
+ * Wrote the definition of the backup resuming protocol to the
+ protocol specification.
+
+ * Removed one redundant channel key generation from normal
+ server during joining procedure. Removed one redundant
+ channel key sending from server to router during joining
+ procedure. Affected file silcd/command.c.
+
+ * Made minor bugfixes to the backup router resuming protocol.
+ Affected file silcd/server_backup.c, server.c.
+
+Mon Oct 8 16:47:42 EDT 2001 Pekka Riikonen <priikone@silcnet.org>
+
+ * Added --disable-asm configuration option. Affected files
+ configure.in.pre, lib/silcmath/mpi/configure.in. A patch
+ by salo.
+
+ * Implemented the backup resuming protocol that is used to
+ resume the primary router position in the cell after the
+ primary router comes back online. Affected files
+ silcd/server_backup.[ch], silcd/server, silcd/packet_receive.c,
+ and silcd/server_util.[ch].
+
+Sun Oct 7 12:29:25 EDT 2001 Pekka Riikonen <priikone@silcnet.org>
+
+ * Sleep two (2) seconds after sending QUIT command to server.
+ Affected file lib/silcclient/command.c.
+
+ * Assure that if outgoing data buffer is pending do not force
+ send any data. Affected file silcd/packet_send.c.
+
+ * Assure that if outgoing data buffer is pending do not force
+ send any data. Affected file lib/silcclient/client.c.
+
+ * Implemented the backup router support when the primary router
+ goes down. The servers and routers can now use the backup
+ router as new primary router without loosing connectivity.
+
+Sat Oct 6 21:18:54 EDT 2001 Pekka Riikonen <priikone@silcnet.org>
+
+ * Added new SILC_IDLIST_STATUS_DISABLED flag for entries
+ in the server to indicate disabled entry. All data read
+ from the connection will be ignored and no data is sent
+ for entry that is disabled. Affected files are
+ silcd/idlist.h, silcd/server.c.
+
+Fri Oct 5 00:03:29 EDT 2001 Pekka Riikonen <priikone@silcnet.org>
+
+ * Created SFTP client and server test programs in the
+ lib/silcsftp/tests directory.
+
+Wed Oct 3 23:31:42 EDT 2001 Pekka Riikonen <priikone@silcnet.org>
+
+ * Implemented memory filesystem (virtual filesystem) for
+ SFTP server. Affected file lib/silcsftp/silcsftp_fs.h,
+ sftp_fs_memory.c.
+
+Sun Sep 30 22:10:57 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
+
+ * Implemented the SFTP (SSH File Transfer Protocol) to the
+ lib/silcsftp. It includes SFTP client and SFTP server
+ implementations.
+
+Sun Sep 30 10:35:44 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
+
+ * Moved lib/silccore/silcprotocol.[ch] to the
+ lib/silcutil library.
+
+ * Added silc_buffer_format_vp and silc_buffer_unformat_vp to
+ take variable argument list pointer as argument. Affected
+ file lib/silcutil/silcbuffmt.[ch].
+
+ * Added silc_buffer_set function that is used to set data
+ to a SilcBuffer that is not allocated at all (SilcBufferStruct).
+ Affected file lib/silcutil/silcbuffer.h.
+
+ * Changed various routines in the core library to use the new
+ silc_buffer_set instead of allocating new buffer only for
+ temporary purposes.
+
+ * Added 64-bit value formatting and unformatting support to the
+ silc_buffer_[un]format routines. Affected file is
+ lib/silcutil/silcbuffmt.[ch].
+
+ Added also 64-bit macros: SILC_GET64_MSB and SILC_PUT64_MSB,
+ to includes/bitmove.h.
+
+Fri Sep 28 21:30:10 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
+
+ * Fixed channel user mode saving in client library. Affected
+ file lib/silcclient/command[_reply].c.
+
+Thu Sep 27 22:52:30 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
+
+ * Defined the file transfer to the SILC Protocol. Added
+ new packet type SILC_PACKET_FTP and defined File Transfer
+ Payload. The mandatory file transfer protocol is SFTP
+ (SSH File Transfer Protocol). Affected file in addition
+ of the internet draft is lib/silccore/silcpacket.h.
+
+ * Deprecated the SILC_PACKET_CELL_ROUTERS and defined new
+ packet SILC_PACKET_RESUME_ROUTER instead. The new packet
+ is used as part of backup router protocol when the primary
+ router of the cell is back online and wishes to resume
+ the position as primary router.
+
+ * Redefined the MAC generation keys in the protocol. The
+ same key is not used anymore in both direction. Both
+ direction will now use different keys for sending and
+ receiving. This fixes a potential security flaw. This
+ change causes incompatibilities in the protocol.
+
+ * Redefined also the MAC computation from the packet.
+ An packet sequence number is now added to the MAC
+ computation. This prevents possible replay attacks against
+ the protocol. This change too causes incompatibilities
+ in the protocol.
+
+ Added `sequence' field to the SilcPacketContext to hold
+ the current sequence number for the packet.
+
+Wed Sep 26 20:15:22 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
+
+ * Added `created' field to the SilcIDListData in the file
+ silcd/idlist.h to indicate the time when the entry was
+ created.
+
+ * Added `created' field to the SilcChannelEntry too. Affected
+ file silcd/idlist.h.
+
+ * Added `creation_time' aguments to all the announcement functions
+ in the server. If it is provided then only the entries that
+ was created after the provided time frame are actually
+ announced. Affected file silcd/server.[ch].
+
+ * The protocol says that the Channel ID's IP address must be
+ based on the router's IP address. Added check for this in
+ the silc_server_new_channel when processing incoming New Channel
+ Payload. Affected file silcd/packet_receive.c.
+
+ * Print out the correct version with --version in SILC client.
+ Affected file irssi/src/silc/core/silc-core.c.
+
+Mon Sep 24 17:19:00 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
+
+ * Fixed WHOWAS command to check for completnes of the client
+ entry always, not just when the command is coming from client.
+ Affected file silcd/command.c.
+
+ * Added new function silc_server_packet_queue_purge to purge the
+ outgoing data queue to the network. After the function returns
+ it is guaranteed that the outgoing packet queue is empty.
+ Affected file silcd/packet_send.[ch].
+
+ * Purge the outgoing packet queue in the rekey protocol's final
+ callback to assure that all rekey packets go to the network
+ before quitting the protocol. Affected file silcd/server.c.
+
+ * Added silc_client_packet_queue_parse as similar function as
+ in server to the client library. The affected file is
+ lib/silcclient/client.c.
+
+Sun Sep 23 15:15:53 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
+
+ * Splitted silcd/server.c and created silcd/server_util.[ch]
+ for utility functions.
+
+ * Added new socket flag SILC_SF_DISABLED to indicate that the
+ connection is open but nothing can be sent to or received from
+ the connection. Affected file lib/silcutil/silsockconn.[ch].
+ The checking for disabled socket is checked in the low level
+ silc_socket_write and silc_socket_read functions.
+
+Thu Sep 20 23:11:28 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
+
+ * Allow only nicknames and channel names that fits into the
+ 7-bit unsigned char ASCII set. Affected file silcd/command.c.
+
+Thu Sep 20 18:04:12 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
+
+ * When processing JOIN command reply in server check that if
+ the channel exists in our global list we'll move it the local
+ list. Affected file silcd/command_reply.c.
+
+ * Fixed the check whether client is joined on the channel already
+ in JOIN command. Affected file lib/silcclient/command.c.
+
+ * Fixed the JOIN command reply to check whether the channel
+ already exists. Affected file lib/silcclient/command_reply.c.
+
+Wed Sep 19 22:58:32 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
+
+ * Added silc_ske_status_string to map the SKE error numbers
+ to readable strings. The affected files are
+ lib/silcske/silcske[_status].[ch].
+
+Tue Sep 18 22:50:41 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
+
+ * Do not show the private channels on the WHOIS channel list
+ as it is not allowed by the protocol. The affected file is
+ silcd/server.c.
+
Sun Sep 16 12:32:58 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
* Assure that the packet length digged from the actual packet
nickname formatter doesn't set the new nick anymore to Nick@host.
Affected file lib/silcclient/idlist.[ch].
+ * Now actually fixed the nickname changing on disconnection.
+ Added new function silc_change_nick to the Irssi SILC Client.
+ Affected file irssi/src/silc/core/client_ops.c,
+ irssi/src/silc/core/silc-nicklist.[ch].
+
Sat Sep 15 13:29:17 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
* Check that the public key exists in the GETKEY command before