+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
+ is something sensible in the silc_packet_decrypt_rest_special
+ in lib/silccrypt/silcpacket.c.
+
+ * Free and NULL the allocated pointer in silc_hmac_alloc if
+ the HMAC allocation fails. The affected file is
+ lib/silccrypt/silchmac.c.
+
+ * Print the selected security properties to the log files in
+ the server. Affected file silcd/protocol.c.
+
+ * Add SKE's reference counter even if calling the completion
+ callback manually. Otherwise it goes negative, although it
+ does not cause any problems. The affected file is
+ lib/silcske/silcske.c.
+
+ * Remove the client entry with short timeout after giving the
+ KILL command. Affected file lib/silcclient/command.c.
+
+ * Fixed to send error reply in WHOIS and IDENTIFY commands in
+ case all found clients are already disconnected (WHOWAS would
+ found them) in the server. Affected file silcd/command.c.
+
+ * Update the last_receive (time of last data received) to be
+ updated only when received private or channel message so that
+ the idle time showed in WHOIS makes more sense.
+
+ * Added boolean field `valid' in to the SilcClientEntry in the
+ client library to indicate whether the entry is valid or not.
+ This fixes the nickname change bug on channel when changing
+ the nickname to be same than the old (like nick to Nick) the
+ 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
+ trying to encode it. Affected file silcd/command.c.
+
+ * Print some notifications on received public keys with GETKEY
+ command in the Irssi SILC Client. Affected files are
+ irssi/src/fe-common/silc/module-formats.[ch],
+ irssi/src/silc/core/client_ops.c.
+
+ * Use IDENTIFY command to resolve the server information in the
+ GETKEY command instead of INFO command. Affected file
+ lib/silcclient/command.c.
+
+ * All command reply functions in the client library now calls
+ the pending command reply callbacks even if an error has
+ occurred. The server has done this a long time and now it was
+ time to move the client library to this as well. Now all
+ errors can be delivered back to the pending command reply
+ callbacks if necessary. Affected files are
+ lib/silcclient/command[_reply].[ch].
+
+ * Change the nickname on disconnection back to the username
+ because in reconnect the server will enforce it to it anyway.
+ Affected file irssi/src/silc/core/silc-servers.c.
+
+ * Fixed a config file parsing bug in the Irssi SILC client.
+ Affected file irssi/src/silc/core/clientconfig.c.
+
+Thu Sep 13 23:11:18 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
+
+ * When printing the channel mode on JOIN, verify that the
+ channel key and channel's HMAC are valid. Affected file
+ irssi/src/silc/core/client_ops.c.
+
+Thu Sep 13 20:24:52 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
+
+ * Added defines SILC_DEFAULT_CIPHER, SILC_DEFAULT_HMAC,
+ SILC_DEFAULT_HASH and SILC_DEFAULT_PKCS in the file
+ lib/silccrypt/[silccipher.h|silchmac.h|silchash.h|silcpkcs.h].
+
+ * Removed channel key rekey task deleting from the function
+ silc_server_save_channel_key. Affected file silcd/server.c.
+ Added explicit timeout task context instead that is used to
+ delete the task if we are registering a new task before the
+ new task has elapsed.
+
+ * When channel key rekey occurs the client library now saves
+ the old channel key for a short period of time (10 seconds) and
+ is able to use it in case some is still sending channel
+ messages encrypted with the old key after the rekey. Affected
+ file lib/silcclient/[idlist.h|client_channel.c].
+
+Sun Sep 9 15:49:16 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
+
+ * Added check to the silc_server_new_id_real to not accept
+ new ID if it is the sender's own ID. Affected file is
+ silcd/packet_receive.c.
+
+ * Assure that we do not announce ourself or the one we've
+ sending our announcements when we're router and are announcing
+ servers to our primary router. Affected file silcd/server.c.
+
+ * Fixed silc_server_command_identify_check_client to assemble
+ correct WHOIS packet. It send corrupted WHOIS packet and
+ caused problem with router to router connections. Affected
+ file silcd/command.c.
+
+ Fixed also silc_server_command_whois_check the same way
+ as for the IDENTIFY command.
+
+ * Added new SilcIDListStatus to the server in the SilcIDListData
+ structure. The status now includes the current status of
+ the entry (like registered, resolved etc.). Affected file
+ silcd/idlist.[ch]. Defined a bunch of different status types
+ as well. This replaced the old boolean registered field as well.
+
+ Added resolve_cmd_ident field to the SilcClientEntry structure
+ too so that if the entry is for example being resolved so
+ another command may attach to the same pending command reply
+ without requiring to resolve the same entry again. This concept
+ should optimize the WHOIS and the IDENTIFY resolving under
+ heavy load by taking away unnecessary resolving for entries
+ that are being resolved already.
+
+ Added support for adding multiple pending commands for one
+ command idenfier. Affected file silcd/command[_reply].[ch].
+
+ * Fixed WHOIS and IDENTIFY save to remove the cache entry
+ before deleting the data. Otherwise the hash table will have
+ freed data in comparison functions. Affected file is
+ silcd/command_reply.c.
+
+ * Fixed silc_idlist_replace_client_id to add the new entry to
+ the cache with NULL nickname. Otherwise there will be invalid
+ memory as the nickname after the nickname is freed. Affected
+ file silcd/packet_receive.c.
+
+ * Fixed the silc_idlist_get_clients_by_hash. The entries was
+ saved into wrong slots because the previous number of entries
+ was not taken into account. Affected file silcd/idlist.c.
+ Fixed same thing in silc_idlist_get_clients_by_nickname too.
+
+ * If we are router and we receive JOIN notify to a channel that
+ does not have any users then notified client is marked as the
+ channel founder, as it is it. The affected file is
+ silcd/packet_receive.c
+
+ * Added to the extended hash table API's table_del_*ext functions
+ the destructor as argument too, so that the caller can decide
+ which destructor to use or whether to use destructor at all.
+ Affected file lib/silcutil/silchashtable.[ch].
+
+ * Fixed ID Cache purging. It actually deleted the entries from
+ the hash table after the data was freed. The hash table ended
+ up comparing freed memory. The affected file is
+ lib/silccore/silcidcache.c.
+
+Sat Sep 8 10:22:10 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
+
+ * Fixed Irssi SILC client's KILL command's HELP syntax.
+
+ * The USERS command now resolves the detailed user information
+ if the userinfo field is missing. Affected file is
+ lib/silcclient/command_reply.c.
+
+ * Do not print error in silc_file_read if the read file does
+ not exist. Just silently return NULL. Affected file is
+ lib/silcutil/silcutil.c.
+
+ * Fixed the silc_log_output to not wine about NULL filename
+ and to not create some bogus " " filename. Affected file is
+ lib/silcutil/silclog.c.
+
+Fri Sep 7 22:16:38 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
+
+ * Fixed various printing bugs on the user interface in the
+ Irssi SILC Client. Minor changes that were forgotten from
+ the release.
+
+Fri Sep 7 17:28:37 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
+
+ * Fixed the configure.in.pre and the compilation and distribution
+ environment to support the new autoconf 2.52. That version is
+ now required to compile the CVS trunk.
+
+Thu Sep 6 12:47:37 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
+
+ * Renamed function silc_parse_nickname to silc_parse_userfqdn
+ to generally parse user@fqdn format strings. Affected file
+ lib/silcutil/silcutil.c.
+
+ * Added nickname_format and nickname_force_format fields to the
+ SilcClientParams structure. The first one defines the format
+ for the nicknames that the library will enforce if the receives
+ multiple same nicknames. The second one is boolean value and
+ can be used to force the library to always enforce the format
+ to the nicknames regardles whether there are multiple nicknames
+ or not. This configurable formatting was employed to flexibly
+ support accessing multiple nicknames from the user interface.
+ The userinterface can now set the nicknames to what ever format
+ they prefer. Affected file lib/silcclient/silcapi.h.
+
+ Added function silc_client_nickname_format to the file
+ lib/silcclient/idlist.c. It performs the nickname formatting.
+
+ Added new field `hostname´ to the SilcClientEntry context.
+ It holds the hostname of the client. Affected file is
+ lib/silcclient/idlist.h.
+
+ * Irssi SILC Client sets the nicknames in nick@hostn format.
+ Fe. priikone@otaku, priikone@otaku2 etc. Affected file
+ irssi/src/silc/core/silc-core.c.
+
+ The WHOIS printing now also shows both the real nickname and
+ the formatted nickname so that user knows how to access the
+ user if there are multiple same nicknames cached. Affected
+ file irssi/src/silc/core/client_ops.c. Changed the WHOIS
+ printing formatting too to take the hostname now as a separate
+ argument. The Affected file is
+ irssi/src/fe-common/silc/modules-formats.[ch].
+
+ * Changed the silc_client_get_clients_local to accept the formatted
+ nickname as argument. It accepts the real nickname too but the
+ formatted nickname can be used to find the true entry from
+ multiple entries. Affected file lib/silcclient/silcapi.h and
+ lib/silcclient/idlist.c.
+
+ * Added nickname_format_parse field to the SilcClientParams.
+ It is a callback function provided by the application to parse
+ the nickname out of the formatted nickname string. The library
+ calls it to get the nickname from the formatted string. Since
+ the application generally knows better the format of the nickname
+ string it parses it instead of the library, even though library
+ encodes the formatted string. If the callback function is not
+ provided then the library will use the string as is. The
+ affected file is lib/silcclient/silcapi.h.
+
+ * All the nickname strings passed to the client library in
+ commands are now expected to be formatted nickname strings.
+ If the command does not support the formatted nickname string
+ it will assume that the sent string is the actual nickname.
+ Affected file lib/silcclient/command.c.
+
+Tue Sep 4 22:31:28 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
+
+ * Added public key authentication support to OPER and SILCOPER
+ commands in the client library. Affected file is
+ lib/silcclient/command.c.
+
+Tue Sep 4 12:39:17 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
+
+ * Changed the get_auth_methdod client operation to be asynchronous.
+ It can be async if the application resolves the authentication
+ method from the server during the negotiation. Added new
+ SilcGetAuthMeth completion callback that the application will
+ call after resolving the authentication method.
+
+ Added function silc_client_request_authentication_method that
+ the application can use to resolve the authentication method
+ from the server. Added also SilcConnectionAuthRequest callback
+ that the library will call after the server has replied. The
+ application can call this function if it does not know the
+ current authentication method.
+
+ Affected files are lib/silcclient/client.c and
+ lib/silcclient/silcapi.h.
+
+ * The Irssi SILC client now automatically resolves the authentication
+ method incase any configuration information is not present (and
+ currently there never is). The affected file is
+ irssi/src/silc/core/client_ops.c.
+
+ * Fixed public key authentication from the client library.
+ Affected file lib/silcclient/protocol.c. Changed also the
+ protocol specification about the public key authentication in
+ the connection authentication protocol. The actual data to be
+ signed is now computed with a hash function before signing.
+
+ * Fixed the public key authentication from the server as well.
+ Affected file silcd/protocol.c.
+
+ * Removed the mlock()'s from the memory allocation routines.
+ Affected file lib/silcutil/silcmemory.c. The ./configure does
+ not check anymore for the mlock(). Affected file is
+ configure.in.pre.
+
+ * Fixed USERS command in server to allow the execution of the
+ command for private and secret channels if the client sending
+ the command is on the channel. Affected file silcd/command.c.
+
+ * Fixed silc_client_get_clients_local to return the clients
+ count correctly. It could return wrong value. Affected file
+ lib/silcclient/idlist.c.
+
+Mon Sep 3 20:09:59 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
+
+ * Fixed the lib/silcmath/mpi/mpi.h to always use 32-bit data
+ types. The assembler optimizations seemed not to like 64-bit
+ data types. The assmebler optimizations thus are now enabled
+ also for BSD systems as opposed to only enable them for Linux.
+
+ * Do not check for threads at all on BSD systems. Affected
+ file configure.in.pre.
+
+ * Removed -n and -h options from the Irssi SILC Client since
+ they are not used in silc.
+
+ * Fixed the prime generation to assure that the first digit
+ of the generated random number is not zero since our conversion
+ routines does not like number strings that starts with zero
+ digit. If zero digit is seen the random number is regenerated.
+ This caused some corrupted RSA keys when the zero first digit
+ was met. Affected file lib/silcmath/silcprimegen.c.
+
+Sun Sep 2 17:17:24 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
+
+ * Fixed WIN32 configuration in the ./configure script.
+ Fixed to include xti.h on environments that has it.
+ Patches by Carsten Ilchmann and andrew.
+
+Sat Sep 1 00:29:33 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
+
+ * Changed the silc_id_create_client_id to be collision
+ resistant. It is now assured that there cannot be created
+ two same client ID's. I suspect that some weird bugs in
+ the server were actually caused by duplicate Client IDs.
+ Affected file silcd/serverid.[ch]. A router receiving
+ new ID now also assures and informs the sending server
+ if the ID caused collision.
+
+ * Changed the silc_id_create_channel_id to also assure that
+ there are no collisions.
+
+Wed Aug 29 17:55:01 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
+
+ * Statement about ignoring the Mutual Authentication flag when
+ performing rekey with PFS was a bit misleading. It is ignored
+ if it was set in the initial negotiation, it cannot be even
+ set in the rekey. Fixed in the ke-auth draft. Started the
+ new versions of the protocol drafts in the doc/.
+
+Sun Aug 26 14:59:15 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
+
+ * Fixed a bug in silc_client_command_identify_save when saving
+ new channel information. The channel name was no duplicated
+ and caused crash on exit. Affected file is
+ lib/silcclient/command_reply.c.
+
+Fri Aug 17 23:07:45 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
+
+ * Fixed the getkey command handling in the server. Send just
+ empty OK reply to the sender if the key could not be fetched
+ (but everything else was ok, like the key just was not available).
+ Changed the public key parameter to optional in the protocol
+ specs so that empty OK reply can be sent. Affected file
+ silcd/command.c.
+
+ Added a message to Irssi SILC client to tell to user if the
+ server did not return a public key.
+
+Tue Aug 14 07:29:27 CEST 2001 Pekka Riikonen <priikone@silcnet.org>
+
+ * Fixed a channel key regeneration bug. It registered new
+ timeout tasks exponentially until all system resources were
+ used. Affected file silcd/server.c.
+
+Sun Aug 12 20:48:14 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
+
+ * Added the SILC Document generator to the scripts/silcdoc.
+ It can be used to generate the Toolkit Reference Manual out
+ of the source tree. Internally it will also use the RoboDoc
+ generator now imported in util/robodoc.
+
+Sun Aug 12 12:28:17 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
+
+ * Added couple of return's in rekey protocol if error orccurred
+ during the protocol. The execution must be terminated.
+ Affected file silcd/protocol.c. Also, terminate the protocol
+ always with timeout.
+
+Sat Aug 11 12:36:02 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
+
+ * The client's Client ID was created initally from the wrong
+ nickname (it could have been in format nick@host) in the
+ silc_server_new_client. Affected file silcd/packet_receive.c
+
+Sat Aug 11 00:29:57 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
+
+ * Added some SILC_LOG_ERROR's to various error conditions
+ if client could not be added to ID cache. Affected files
+ silcd/packet_receive.c and silcd/server.c.
+
+ * When client's sock->user_data is freed, NULL also the
+ client->router and client->connection pointers. Added check
+ for these pointers being NULL to various places around the
+ code. Affected file silcd/server.c.
+
+ * Added client->data.registered == TRUE checks to various
+ places around the code to assure that unregistered client's
+ are not handled when it is not allowed. Affected file
+ silcd/server.c.
+
+ * Added `bool registered' fields to all
+ silc_idlist_[server|client]_get_* routines to indicate whether
+ the fetched client needs to be registered or not. Affected
+ file silcd/idlist.[ch].
+
+ * Add your own entry as registered to the ID cache in the
+ server. Affected file server.c.
+
+ * Fixed a bug in silc_server_new_server. The SilcServer was
+ set as the new server's context instead of SilcServerEntry.
+ This naturally caused some weird bugs.
+
+Thu Aug 9 18:28:37 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
+
+ * Do not delete the channel rekey task when adding it
+ for in silc_server_create_channel_key.
+
+ * Changed the silc_server_create_channel_key to return
+ TRUE or FALSE to indicate the success of the channel key
+ creation.
+
+Thu Jul 26 11:32:31 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
+
+ * Fixed MSVC++ project files and added missing files to
+ Makefiles under win32/.
+
+Wed Jul 25 18:43:54 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
+
+ * Do not add TCP_NODELAY flag if the operating system
+ does not have it defined. Affected files are
+ lib/silcutil/[unix/win32]/silc[unix/win32]net.c.
+
+ * Fixed buffer overflow from Irssi SILC Client. Affected
+ file irssi/src/fe-common/core/themes.c.
+
+ * Fixed double free in client library in the file
+ lib/silcclient/client.c when disconnecting from server.
+
+ * Applied double free patch from cras to Irssi SILC client.
+ Affected files irssi/src/core/[modules/expandos].c
+
+ * Fixed the disconnection handling to Irssi SILC Client.
+ The application must call silc_client_close_connection
+ in ops->connect client operation in case of failure of
+ the connection. Affected file is
+ irssi/src/silc/core/client_ops.c.
+
+ * Do not set sock->protocol to NULL in the function
+ silc_client_close_connection after executing the protocol's
+ final callback since the sock might not be valid anymore.
+ Affected file lib/silcclient/client.c.
+
+Wed Jul 25 16:04:35 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
+
+ * Do not enable SILC_THREADS if the linking with libpthread
+ did not happen. Affected file configure.in.pre.
+
+ * Added notion to protocol specification that server must
+ verify the sent authentication payload with CMODE when
+ setting the channel founder key. Implemented it to the
+ server. Affected file silcd/command.c.
+
+Mon Jul 23 18:31:43 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
+
+ * Added _EXTRA_DIST SILC distribution variable to the
+ distributions file. It is used to conditionally add extra
+ files or directories to the specific distribution. Affected
+ files ./prepare, Makefile.am.pre and distributions.
+
+ Removed the `_' from the start of the distribution names.
+ It is redundant.
+
+ * Added README.WIN32 for instructions to compile the Toolkit
+ under WIN32.
+
+Mon Jul 23 10:12:37 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
+
+ * Fixed a double free in disconnection in the server. Affected
+ file is silcd/server.c.
+
+ * Fixed the lib/silcske/groups.c to work now also with GMP
+ MP library. The string conversion did not work when using
+ specific base and the base is indicated in the string as well.
+
+ * Created win32/ directory which now includes MSVC++ specific
+ stuff so that toolkit (DLLs) may be compiled with MSVC++.
+ It will appear only in the toolkit distribution
+
+Sun Jul 22 19:40:30 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
+
+ * Changed the key material distribution function in case when
+ the hash output is too short. The data is now concatenated
+ a bit differently than it used to. Made the change to the
+ SKE protocol specification.
+
+ * Added better GMP detection to configure.in.pre. A patch
+ by salo.
+
+Fri Jul 20 13:16:00 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
+
+ * Fixed a minor bug in SKE that might cause some problem on
+ some platforms. Affected file lib/silcske/silcske.c.
+
+ * Added the cookie checking for initiator in the SKE. It checks
+ that the responder returns the sent cookie unmodified. The
+ affected file is lib/silcske/silcske.c. Added new SKE
+ error type INVALID_COOKIE that can be sent during the
+ negotiation. Fixed some memory leaks as well.
+
+ * Added the "invalid cookie" error message to Irssi SILC client's
+ message formats.
+
+Thu Jul 19 21:44:31 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
+
+ * Added `task_max' field to the SilcClientParams to indicate
+ the maximum tasks the scheduler can handle. If set to zero,
+ default values are used. Affected file lib/silcclient/silcapi.h.
+
+ * Fixed memory leaks in silc_client_close_connection. Affected
+ file lib/silcclient/client.c.
+
+ * Added silc_client_del_client_entry to client library to free
+ all memory of given client entry. Affected file is
+ lib/silcclient/idlist.[ch].
+
+ * Added new functions silc_client_del_channel and
+ silc_client_del_server to delete channel and server entries.
+ Affected file lib/silcclient/[silcapi.h/idlist.c].
+
+ * Removed silc_client_del_client_by_id from silcapi.h.
+
+ * Fixed the INFO command to return the server's own info
+ correctly when querying by Server ID. Affected file is
+ silcd/command.c.
+
+Thu Jul 19 14:47:30 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
+
+ * Removed the non-blocking settings in WIN32 code in the
+ silc_sock_[read/write] and added SleepEx instead. Affected
+ file lib/silcutil/win32/silcwin32sockconn.c. The availability
+ of input data is now checked with FIONREAD and ioctlsocket.
+
+Wed Jul 18 18:34:01 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
+
+ * Call silc_schedule_task_del_by_context in the
+ silc_protocol_cancel instead of silc_schedule_task_del_by_callback.
+ Affected file lib/silccore/silcprotocol.c.
+
+ * Call silc_protocol_cancel for active protocols in the
+ silc_server_close_connection if the funtion
+ silc_server_free_sock_user_data has not been called.
+ Affected file silcd/server.c.
+
+ * Generic tasks cannot be deleted using the del_by_fd
+ task deleting function since generic tasks does not match
+ any specific fd. Affected file lib/silcutil/silcschedule.[ch].
+
+ * Added a notion to SILCOPER help file that the SILCOPER works
+ only on router server, not on normal server.
+
+Wed Jul 18 09:40:04 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
+
+ * Added for WIN32 support for the new scheduler as well.
+ Affected file lib/silcutil/win32/silcwin32schedule.c.
+
+ * Fixed the SHA1 implementation to work on various platforms.
+
+Tue Jul 17 23:04:10 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
+
+ * Rewrote the SILC Scheduler entirely. Removed the old SILC Task
+ API. It is part of the scheduler now. Everything else is
+ as previously but some functions has changed their names.
+ Checkout the lib/silcutil/silcschedule.h for the interface.
+ Updated all applications to use the new interface. Affected
+ files are lib/silcutil/silcschedule.[ch].
+
+Tue Jul 17 16:53:30 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
+
+ * Found a bug in the SKE implementation. The HASH value,
+ specified by the protocol, was not computed correctly. The
+ public key of the responder was not added to the computation
+ even though it is mandatory. Affected file lib/silcske/silcske.c.
+ This unfortunately causes incompatibilities with older
+ clients and servers.
+
+ * Added WIN32 specific network init and uninit functions:
+ silc_net_win32_init and silc_net_win32_uninit to init and uninit
+ the Winsock2. Affected file lib/silcutil/silcnet.h and
+ lib/silcutil/win32/silcwin32net.c.
+
+ * Set the socket always to nonblocking mode on WIN32 after
+ reading data or writing data. Affected file is
+ lib/silcutil/win32/silcwin32sockconn.c.
+
+Mon Jul 16 22:55:26 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
+
+ * Fixed various compilation problems under WIN32. Affected
+ files lib/silcutil/win32/silcwin32thread.c and
+ lib/silcutil/win32/silcwin32schedule.c.
+
+ * Removed all _internal.h #includes from public header
+ files. Internal headers must never be included from
+ public headers.
+
+ Removed also the lib/silcske/payload_internal.h file.
+
+ * All include files that may be needed (public and some others
+ included by the public headers) by application developers are
+ now copied to the ./includes directory. It does not copy any
+ internal headers. Affected file Makefile.defines.pre and all
+ Makefile.am's under lib/ and subdirs.
+
+Thu Jul 12 17:49:31 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
+
+ * Do not change the ~/.silc directory's permissions automatically.
+ Affected file irssi/src/silc/core/clientutil.c.
+
+Thu Jul 12 10:18:40 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
+
+ * Do not cancel the protocol in silc_server_close_connection
+ it might cause recursion. Now cancelled in the function
+ silc_server_free_sock_user_data. Affected file silcd/server.c.
+
+ * Fixed the silc_server_remove_clients_by_server to regenerate
+ the channel keys correctly finally. Added also new function
+ silc_server_remove_clients_channels to actually do it.
+ Affected file silcd/server.c.
+
+ * Fixed the silc_server_new_channel to not crash by giving
+ wrong router to the new channel. Affected file is
+ silcd/packet_receive.c.
+
+Wed Jul 11 18:31:57 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
+
+ * Added SilcClientParams structure to the lib/silcclient/silcapi.h
+ which is given as argument to the silc_client_alloc now.
+ It can be used to configure the client and set various parameters
+ that affect the function of the client.
+
+ * The USERS command in server did not check whether the channel
+ is private or secret. Affected file silcd/command.c.
+
+ * Added new argument to the USERS command in protocol specification.
+ The USERS command now can take the channel name as argument
+ as well. Added support for this in client and server and
+ updated the protocol specs.
+
+ * Completed the GETKEY command in client. It can be now used
+ to fetch also servers public key not only some clients.
+ Affected files lib/silcclient/command[_reply].c.
+
+ * Added silc_client_get_server to return server entry by the
+ server name. Affected files lib/silcclient/silcapi.h and
+ idlist.c.
+
+ * Redefined the IDENTIFY command in protocol specification to be
+ more generic. It now can be used to query information about
+ any entity in the SILC Network, including clients, servers and
+ channels. The query may be based either the entity's name
+ or the ID. Added support for this in both client and server.
+
+ Affected files silcd/command.c and lib/silcclient/command.c
+ and command_reply.c.
+
+ * Optimized the WHOIS and WHOWAS commands in the server. Removed
+ the _from_client and _from_server functions. Affected file
+ silcd/command.c.
+
+ * Added silc_client_get_channel_by_id_resolve to the file
+ lib/silcclient/silcapi.h to resolve channel information by
+ its ID. Added also silc_client_get_channel_by_id that
+ does not resolve it from the server.
+
+Tue Jul 10 18:05:38 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
+
+ * Added SilcServerEntry context into the client library
+ to represent one server. The INFO command now allocates
+ these to save the resolved server info. For now on the
+ client library will also keep information about servers,
+ connected and resolved with INFO.
+
+ The INFO command now allocates the SilcServerEntry context
+ and saves the server info there. The COMMAND_REPLY in
+ the INFO now returns the parameters to application in
+ same order as defined in the protocol specification.
+
+ The entries are cached in the client->server_cache.
+
+ * The INFO command is now issued after received the Client ID
+ from the server. Affected file lib/silcclient/client.c.
+
+ * The CMODE_CHANGE notify may now return also an SilcServerEntry
+ to the application as the mode changer might be server.
+ It is guaranteed that NULL is not returned anymore to the
+ application. Affected file lib/silcclient/client_notify.c.
+
+ The ID Type is now also passed to the application so that
+ it can check whether the returned entry is SilcClientEntry
+ or SilcServerEntry.
+
+ Added new function silc_client_get_server_by_id to return
+ the server entry by ID. Affected files are the
+ lib/silcclient/silcapi.h and lib/silcclient/idlist.c.
+
+ * Do not create the channel in the Irssi SILC Client when issuing
+ the JOIN command but when received the sucessful JOIN command
+ reply. Otherwise the channel might get created even though we
+ could not join it. The Affected file is
+ irssi/src/silc/core/[silc-channels.c/client_ops.c].
+
+ * Fixed a channel joining bug in router. The router must also
+ check the channel modes, invite and ban lists etc. when serving
+ the JOIN command sent by normal server. Affected file is
+ silcd/command.c. The router now resolves the client's
+ information from the server who sent the JOIN command if it
+ does not know it, and processes the JOIN command only after
+ that.
+
+ * Changed the SilcCommandCb to take new argument; void *context2.
+ Affected file lib/silccore/silccommand.h
+
+ The second argument in the command callbacks in the server now
+ includes the SilcServerCommandReplyContext if the command was
+ called as pending command callback from the command reply.
+ Otherwise it is NULL. When called as pending the status of the
+ command reply will be checked and if it was erronous the
+ error will be sent to the original sender of the command.
+ This way the client always receives the error messages even
+ though the server was actually the one who received the error
+ when it resent the command to router, for example. Affected
+ files silcd/command[_reply].[ch].
+
+ * Fixed sending WHOWAS command's error message to client if
+ the requested client could not be found. It was missing.
+ silcd/command.c.
+
+ * Changed the CMODE and CUMODE commands reply arguments in the
+ protocol specification. The Channel ID is now sent in both
+ of the commands to identify the channel. Implemented this
+ new feature to the client and server. Affected files
+ lib/silcclient/command_reply.c and silcd/command.c.
+
+ * Made better checks for invite and ban lists in the JOIN
+ command in server. Affected file silcd/command.c.
+
+Mon Jul 9 18:28:34 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
+
+ * The server now performs the incoming host IP/DNS lookup
+ using the silc_socket_host_lookup and thus does not block
+ the server anymore. Affected file silcd/server.c.
+
+ * Completed the multi-thread support for SILC Scheduler in
+ the lib/silcutil/silcschedule.c.
+
+ * Fixed the configure.in.pre to detect the pthread correctly
+ on various systems.
+
+ * Fixed a deadlock in silc_task_queue_wakeup in the file
+ lib/silcutil/silctask.c.
+
+Mon Jul 9 13:40:03 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
+
+ * Added new function silc_schedule_wakeup that is used in
+ multi-threaded environment to wakeup the main thread's
+ schduler. It needs to be used when a thread adds a new task
+ or removes a task from task queues. After waking up, the
+ scheduler will detect the task queue changes. If threads
+ support is not compiled in this function has no effect.
+ Implemented the wakeup mechanism to both Unix and WIN32
+ systems. Affected files are lib/silcutil/silcschedule.[ch],
+ lib/silcutil/unix/silcunixschedule.c and the
+ lib/silcutil/win32/silcwin32schedule.c.
+
+ * Added new function silc_task_queue_wakeup to wakeup the
+ scheduler by the specified task queue. Affected file
+ lib/silcutil/silctask.[ch].
+
+ * The silc_socket_host_lookup_start now wakes up the scheduler
+ after adding the timeout task. Affected file is
+ lib/silcutil/silcsockconn.c.
+
+ * The silc_socket_host_lookup is synchronous now if the threads
+ support is not compiled in. However, the callback is still
+ called asyncronously through the scheduler, anyway. Affected
+ file lib/silcutil/silcsockconn.c.
+
+Mon Jul 9 00:24:45 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
+
+ * Added new function silc_socket_host_lookup to perform
+ asynchronous IP and FQDN lookups for the socket connection.
+ Affected files lib/silcutil/silcsockconn.[ch].
+
+Sun Jul 8 18:44:53 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
+
+ * Added SILC_MUTEX_DEFINE to define the mutex on environments
+ that may or may not compile the mutex support in.
+
+ Changed the silc_mutex_alloc interface. It allocates the
+ mutex now to the sent pointer and returns TRUE or FALSE.
+
+ Affected file lib/silcutil/silcmutex.h.
+
+ * Wrote the SILC Task Queue interface to support multi-threads.
+ Affected file lib/silcutil/silctask.[ch].
+
+ * Wrote the SILC Scheduler to support multi-threads. Affected
+ file lib/silcutil/silcschedule.c.
+
+Sun Jul 8 11:16:01 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
+
+ * Implemented the SILC Mutex API and SILC Thread API for WIN32
+ in lib/silcutil/win32/.
+
+Sun Jul 8 00:18:15 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
+
+ * Defined SILC Mutex API and SILC Thread API and implemented
+ them for Unix. Affected files are
+ lib/silcutil/silcmutex.h, lib/silcutil/silcthread.h,
+ lib/silcutil/unix/silcunixmutex.c and
+ lib/silcutil/unix/silcunixthread.c.
+
+Sat Jul 7 14:40:31 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
+
+ * Fixed the silc_server_remove_clients_by_server's channel
+ key re-generation. The hash table handling was incorrect
+ and would not work with many channels. Affected file is
+ silcd/server.c.
+
+ * Fixed some memory leaks around the server code.
+
+ * Rewrote the silc_server_get_users_on_channel to support IPv6
+ based Client ID's. Affected file silcd/server.c.
+
+ * Defined the SILC_MESSAGE_FLAG_SIGNED to the protocol
+ specification. However, a separate document must be written
+ to define the detailed signing procedure and the payload
+ associated with the flag. Defined the flag to the
+ lib/silccore/silcchannel.h as well.
+
+Fri Jul 6 18:26:31 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
+
+ * Changed the dynamic tables to static size tables in the
+ lib/silccrypt/silchmac.c.
+
+ * Removed GCC dependencies from the code. A patch by cras.
+
+Fri Jul 6 09:39:35 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
+
+ * Do not show the error "Error receiving packet bla bla"
+ in server if it really was not an error (-2 means that reading
+ is pending). Affected file silcd/server.c.
+
+Thu Jul 5 21:22:32 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
+
+ * Fixed a possible crash in silc_server_remove_clients_by_server
+ in silcd/server.c. Fixed there also some memory leaks.
+
+ * Fixed the silc_idlist_replace_client_id. It could replace
+ wrong key in the hash table. Affected file silcd/idlist.c.
+
+ * Do not check whether there are global users on the channel
+ if the channel->global_users is FALSE. Affected functions
+ silc_server_remove_from_one_channel and
+ silc_server_remove_from_channels in silcd/server.c. Also,
+ do not check if the removed client is local as we can be
+ sure that global client was not removed from the channel
+ and checking for global users is not needed.
+
+ * The silc_server_remove_clients_by_server now re-generates
+ the channel keys correctly for those channels that had
+ clients removed from them. Affected file silcd/server.c.
+
+Tue Jul 3 11:39:20 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
+
+ * Found the reason of random crashes in the server. We weren't
+ ignoring the SIGPIPE signal (which can be sent in write())
+ and it crashed the server. Affected file silcd/silcd.c.
+
+Fri Jun 29 20:05:25 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
+
+ * Assure that sock->user_data is not NULL in the function
+ silc_server_packet_send in silcd/packet_send.c.
+
+ * Disconnect the remote connection if it could not be added
+ to any ID lists in the server. The affected file is
+ silcd/server.c.
+
+ * Check in silc_server_packet_send[_real/dest] that the
+ socket is not disconnecting and ignore the data if it is.
+ Affected file silcd/packet_send.c.
+
+ * Define inline to __inline on native WIN32 compilation.
+ Affected file includes/silcwin32.h.
+
+ * Added some explicit type casts for inline code since MSVC
+ require them. Affected files lib/silcutil/silcbuffer.h,
+ lib/trq/silcdlist.h and lib/trq/silclist.h.
+
+ * Print warning in log files from now on if the packet
+ decryption fails. Affected file silcd/server.c.
+
+Thu Jun 28 21:30:39 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
+
+ * Changed the `say' client operation's interface to accept
+ new `type' argument to indicate the type of the message sent
+ by the library. The application may filter the library's
+ messages according the type. The affected file is the
+ lib/silcclient/silcapi.h.
+
+ * Added two new functions to lib/silcclient/silcapi.h:
+ silc_client_del_client and silc_client_del_client_by_id.
+ Affected file lib/silcclient/idlist.c.
+
+ * Moved the clientincludes.h from includes/ to silc/ and
+ serverincludes.h from includes/ to silcd/.
+
+ * The modes for the CMODE and CUMODE are now passed as
+ uint32 for application with COMMAND_REPLY. The affected
+ file is lib/silcclient/command_reply.c.
+
+Wed Jun 27 22:24:47 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
+
+ * /WHOIS without arguments shows client's own information.
+ Affected file lib/silcclient/command.c.
+
+ * Changed PING to not accept any arguments. The specs
+ says that client can ping only the connected server so
+ requiring an argument is not needed. Affected file is
+ lib/silcclient/command.c.
+
+Wed Jun 27 00:10:33 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
+
+ * Fixed a fatal bug in private message sending and reception
+ encryption and decryption when using private message keys.
+ The implementation was incorrect and did not follow the
+ specification. It causd that some of the message were
+ lost since it did not use the sending and receiving keys
+ as the protocol suggests. This has been fixed and will cause
+ incompatibilities with older clients when sending private
+ message encrypted with private message keys. Affected files
+ lib/silcclient/client_prvmsg.c, lib/silcclient/client_keyagr.c
+ and various other in Irssi SILC Client.
+
+ Added `responder' boolean argument to the functions
+ silc_client_add_private_message_key[_ske] to indicate when
+ the key is added as responder or initiator of the key
+ negotiation.
+
+Tue Jun 26 19:23:07 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
+
+ * Removed the silc_ske_check_version function and created
+ a SilcSKECheckVersion callback. Added also a function
+ silc_ske_set_callbacks that is now used to set all SKE
+ callbacks. The callback functions are not given to
+ the SKE functions anymore, but this function is used to
+ set the callbacks.
+
+ * Fixed the WIN32 DLL generation in lib/Makefile.am.pre.
+
+ * Added `silc_version' argument to the silc_client_alloc
+ to define the version of the application for the library.
+ The library will use the version string to compare it
+ against the remote host's (usually a server) version
+ string. Affected file lib/silcclient/silcapi.h
+
+ * Added the KE protocol context to Key Agreement context
+ in client library so that we can abort the SKE if it
+ is in process when we get timeout. Affected file is
+ lib/silcclient/client_keyagr.c.
+
+ * Do not resolve the client ID forever if it returns in the
+ first time that such client does not exist. This was done
+ for example with private message. Affected file is
+ lib/silcclient/client_prvmsg.c.
+
+Mon Jun 25 21:42:51 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
+
+ * Do not add regex.h for WIN32. The affected file
+ includes/silcincludes.h.
+
+ * Added WIN32 DLL generation to lib/Makefile.am.pre. It might
+ not work yet 100%. It generates the DLL's automatically
+ when compiling with --with-win32 under cygwin.
+
+Sun Jun 24 19:49:23 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
+
+ * lib/contrib/regex.c is not compiled on WIN32.
+
+ * Added silc_net_get_socket_opt function to the
+ lib/silcutil/silcnet.h.
+
+ * Added includes/silcwin32.h for WIN32 specific includes
+ and definitions.
+
+ * Do not use ptime structure or any of the posix process
+ functions on WIN32 in lib/silccrypt/silrng.c.
+
+ * Added silc_gettimeofday to provide generic function
+ for struct timeval on all platforms. Added the function
+ to lib/silcutil/silcutil.h.
+
+Sun Jun 24 12:19:52 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
+
+ * Moved the lib/silccore/silcsockconn.[ch] to the utility
+ library as they clearly belong there. As a plus side we
+ can make the actual socket connection routines platform
+ specific.
+
+ Added also new generic function silc_socket_read and
+ silc_socket_write (that used to be silc_packet_[read/write].
+ The implementation of these are platform specific.
+
+ * Added WIN32 specific routines of silc_socket_[read/write]
+ to lib/silcutil/win32/silcwin32sockconn.c.
+
+Sat Jun 23 16:01:00 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
+
+ * Added preliminary support for native WIN32 compilation under
+ cygwin (using the -mno-cygwin option for GCC) to the
+ ./configure.in.pre. The --with-win32 now prepares the
+ compilation for native WIN32.
+
+ * Rewrote the SILC Scheduler interface in the file
+ lib/silcutil/silcschedule.h. The scheduler is now context
+ based and does not have anymore any global static scheduler.
+ Moved the Unix scheduler to the lib/silcutil/unix/ directory
+ and created lib/silcutil/win32 directory for WIN32 based
+ scheduler.
+
+ * Added Unix specific network routines to the
+ lib/silcutil/unix/silcunixnet.c and the old
+ lib/silcutil/silcnet.c includes now only generic routines.
+
+ Added WIN32 specific network routines to the
+ lib/silcutil/win32/silcwin32net.c.
+
+ * Added Unix specific utility functions from the
+ lib/silcutil/silcutil.c to lib/silcutil/unix/silcunixutil.c.
+
+ * Added WIN32 SILC Scheduler to the file
+ lib/silcutil/win32/silcwin32schedule.c. The code is of course
+ untested.
+
+Fri Jun 22 10:44:14 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
+
+ * Do not handle JOIN notify in the server if the target client
+ is not registered (idata->registered == FALSE). The affected
+ file is silcd/packet_receive.c.
+
+ * Update the nickrec->founder in event_cumode in the Irssi SILC
+ client. Affected file irssi/src/silc/core/silc-channels.c.
+
+ * Fixed the CUMODE_CHANGE notify handling in the server when
+ server and router are announcing their clients on channels.
+ Now the mode changes are saved and notified correctly. The
+ affected file is /silcd/packet_receive.c.
+
+ * Fixed silc_idlit_replace_[server/client/channel]_id functions.
+ They really did not replace the cache entry in the ID Cache.
+ Now they do that. Affected file silcd/idlist.c.
+
+ * Fixed the KICK notify handling in the Irssi SILC client to
+ update the channel records so that the kicked client does not
+ appear to be on the channel. The affected file is
+ irssi/src/silc/core/silc-channels.c.
+
+ * Always update the conn->current_channel when executing command
+ on a channel. Affected file irssi/src/silc/core/silc-servers.c.
+
+ * Fixed the KILL notify handling in Irssi SILC client to remove
+ the killed client on all channels.
+
+Thu Jun 21 17:10:08 CEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
+
+ * Fixed the silc_parse_command_line to remove extra spaces
+ from the start and end of the arguments. Affected file is
+ lib/silcutil/silcutil.c.
+
+ * Cancel and free any active protocol in the function
+ silc_server_close_connection. Affected file silcd/server.c.
+
+ * Cancel and free any active protocol in the function
+ silc_client_close_connction. Affected file is
+ lib/silcclient/client.c.
+
+ * Do not execute the KILL command for clients that are in
+ history (ie. they are not in the network). Affected file is
+ silcd/command.c.
+
+ * Fixed KILL notify handling, client does not crash anymore.
+ Affected file irssi/src/silc/core/silc-channels.c.
+
+ * Reduced the default packet buffer size from 2048 to 1024 in
+ lib/silccore/silcpacket.c.
+
+ * Added SILC_SKE_STATUS_FREED SKE status type and a reference
+ counter to the SKE context that is incresed when the SKE library
+ performs async operation outside the library. If the outside
+ process frees the SKE context and FREED status will be set
+ and the library will detect after the sync operation that the
+ libary is freed. The affected files are
+ lib/silcske/silcske[_status].[ch].
+
+ * Resolve the client entry information in the function
+ silc_client_channel_message to assure that NULL pointer is not
+ passed as client entry to the application. */
+
+ * Fixed the task timeout calculation to assure that there is
+ never negative timeouts. The affected file is
+ lib/silcutil/silcschedule.c.
+
+ * Fixed the channel user mode notification sending in server.
+ It was sent point-to-point to the router (or to server by router)
+ but it needs to be destined to a channel. The routines now
+ supports sending the channel user mode notifys to the channels
+ when announcing clients and channels. Affected files are
+ silcd/server.c and silcd/packet_receive.c.
+
+ * Fixed the CHANNEL_CHANGE notify handling in the client libary.
+ It did not actually replace the old channel entry in the cache.
+ Affected file lib/silcclient/client_notify.c.
+
+Tue Jun 19 22:10:36 EEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
+
+ * Fixed a possible crash in silc_packet_send_prepare. It now
+ assures always that there is enough space in the buffer and
+ at the tail area of the buffer (for MAC).
+
+ Fixed the inbound buffer reallocation in silc_packet_read.
+ It was old code and did not handle the reallocation correctly.
+ Affected
+
+ The affected file is lib/silccore/silcpacket.c.
+
+ * Fixed buffer overflow in silc_parse_nickname in the file
+ lib/silcutil/silcutil.c.
+
+Tue Jun 19 13:40:09 CEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
+
+ * make install generates new server keys only if there is not
+ keys already.
+
+Mon Jun 18 18:49:07 EEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
+
+ * Set SILC_MESSAGE_FLAG_NOREPLY when sending the away message.
+ Added check that if the NOREPLY is set then we will not send
+ the away message. This avoids infinite loop of away messages
+ if both clients are away. The affected file is
+ lib/silcclient/client_prvmsg.c.
+
+ * Fixed client crash if /NICK was given without arguments.
+ Affected file lib/silcclient/command.c.
+
+ * Server does not send the invite list in INVITE command back
+ to the client if the list was not altered. Added this notion
+ to the protocol spec as well. Affected file silcd/command.c.
+
+ Fixed possible crash in INVITE command by checking the
+ value of silc_server_get_client_route command.
+
+ * Fixed the INVITE notify type handling. The arguments are now
+ taken in correct order and client does not crash. The affected
+ file is irssi/src/silc/core/silc-channels.c.
+
+ Removed the "Inviting xxx to channel" message from the
+ client library away and let the application handle it.
+ Affected file lib/silcclient/command.c. Added that message
+ to Irssi SILC client's message formats.
+
+ * Fixed CMODE command crash in client. It now checks the
+ amount of arguments correctly and does not crash. The affected
+ file is lib/silcclient/command.c.
+
+ * Do not create new channel automatically in silc_channels_join
+ but check whether the channel by that name already exists.
+ Affected file irssi/silc/core/silc-channels.c.
+
+ * Do not send the SERVER_SIGNOFF to router if the disconnected
+ entity was the router. Affected file silcd/server.c.
+
+ * Added the handling of the SERVER_SIGNOFF notify to the Irssi
+ SILC client as it was missing from there.
+
+ Added the handling of the KICK notify to the Irssi SILC client
+ as it was missing. Added "you have been kicked" message to
+ Irssi SILC client's message modules formats.
+
+ Added the handing of the KILL notify to the Irssi SILC client
+ as it was missing. Added the kill message module formats
+ as well.
+
+ The affected file is irssi/src/silc/core/silc-channels.c.
+
+ * The router did not save the channel mode the server announced.
+ Affected file silcd/packet_receive.c.
+
+ * Fixed a possible crash in INFO command in server. If the
+ server did not provide the server info it crashed. Affected
+ file silcd/command.c.
+
+Sun Jun 17 15:26:05 EEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
+
+ * Fixed the GETKEY command in the server to check also the
+ global list. Otherwise the GETKEY would not work correctly
+ in normal SILC server. Affected file silcd/command.c.
+
+Sat Jun 16 18:00:00 EEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
+
+ * Fixed GETKEY crash, it crashed if the command did not succseed.
+
+Tue Jun 12 21:36:18 EEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
+
+ * Redefined the SILC MP API in lib/silcmath/silcmp.h. The API
+ is now real and not just an macro interface to GMP.
+
+ Removed the entire GMP from the source tree and imported new
+ NSS MPI library instead. Reason for removing GMP is that it is
+ extremely large and compiles extremely slow. The NSS MPI
+ is only a few files and compiles in less than 10 seconds.
+ The speed is also about the same as GMP. The MPI is imported
+ to lib/silcmath/mpi.
+
+ If the system has GMP installed we will still use the GMP.
+ If it is not then the NSS MPI will be compiled.
+
+Mon Jun 11 18:07:24 EEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
+
+ * Merged a long nickname (127 characters long) crash bugfix from
+ Irssi CVS tree. Affected file irssi/src/core/misc.c.
+
+ * Merged a freed memory reference bugfix from Irssi CVS tree.
+ Affected file irssi/src/core/commands.c.
+
+Sun Jun 10 16:08:35 EEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
+
+ * Added the server's public key sving and verification to the
+ server when performing the SKE. This was missing and the
+ remote server's (or router's) public key was accepted without
+ checking whether we have it previously or trust it at all.
+ Affected file silcd/protocol.c.
+
+Sat Jun 9 20:17:30 EEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
+
+ * Check in the silc_server_timeout_remote if protocol is active
+ and make sure that the protocol's final callback is called so
+ that all memory if freed. Affected file silcd/server.c.
+
+Sat Jun 9 12:51:27 EEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
+
+ * silc_server_whois_send_reply crashed the server if the nickname
+ was 127 characters long. Affected file silcd/command.c.
+
+Thu Jun 7 16:29:56 EEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
+
+ * Added sanity check to the silc_server_new_client. If the hostname
+ is provided inside username then check that the provided hostname
+ really is the same as the resolved one. If the hostname was not
+ resolved then check it from the public key. Affected file is
+ silcd/packet_receive.c.
+
+ * Fixed a fatal bug in Irssi SILC client. Do not send QUIT command
+ if the server disconnected us and the connection is not valid
+ anymore. Affected file irssi/src/silc/core/silc-channels.c.
+
+ * Moved the silc_client_[chmode|chumode|chumode_char] away from
+ the library to the lib/silcutil/silcutil.[ch].
+
+Thu Jun 7 08:57:16 CEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
+
+ * Close log file after open. Affected file
+ lib/silcutil/silclog.c.
+
+ * Check whether sock == NULL in silc_client_send_packet and return
+ if it is. Affected file lib/silcclient/silcclient.c.
+
+ * Check rec->entry == NULL in the Irssi SILC Client before
+ sending the channel message. Affecte file is
+ irssi/src/silc/core/silc-servers.c.
+
+Tue Jun 5 08:08:21 CEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
+
+ * Merged a splitted window bugfix from Irssi CVS tree. The
+ affected file is irssi/src/fe-text/textbuffer-view.c.
+
+ * Fixed the ME, ACTION and NOTICE printing in Irssi Client.
+ It did not print nickname.
+
+ * Improved the distributions system a bit.
+
Mon Jun 4 17:57:16 CEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
* Merged /WINDOW bugfix from irssi CVS tree. Affected file is
is not used any more in any critical section so WHOIS can
be used even though it might be slower than IDENTIFY.
+ * Changed the lib/silcutil/silchashtable.h header to ROBODoc
+ format.
+
Sun Jun 3 14:21:32 EEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
* Changed the protocol API a bit more consistent in the