+Tue May 29 22:16:40 EEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
+
+ * Added Makefile.defines_int to include the actual definitions
+ for Makefile.defines.in. Tested the new distribution system,
+ created distributions and tested installation.
+
+ * Added AWAY message printing to the Irssi SILC client. Added
+ the messages to the irssi/src/fe-common/silc/module-formats.[ch].
+
+ * Added SCONNECT command to call the SILC's CONNECT command.
+ Cannot use CONNECT directly since Irssi uses that internally.
+ Affected file irssi/src/silc/core/silc-servers.c.
+
+ Added ACTION local command. It is same as ME command but takes
+ the channel as mandatory argument.
+
+ Rewrote some of the Irssi's help files to suite for SILC
+ protocol.
+
+Mon May 28 19:05:22 EEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
+
+ * Added Makefile.defines[.in] that should for now on be included
+ in all Makefile.am file in the source tree. That file includes
+ all common compilation definitions for SILC source tree.
+
+Mon May 28 10:30:51 EEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
+
+ * Minor changes to the ./prepare script to change the package
+ name according the distribution name to the configure.in.
+
+Sun May 27 22:24:57 EEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
+
+ * Created new distribution system. Added file `distributions'
+ that defines all the distributions that can be created out of
+ the SILC source tree. The ./prepare script now reads that
+ file to determine how to prepare the distributions. The
+ first argument to the ./prepare is the name of the distribution
+ and second is the version of the distribution. If given
+ without arguments it creates the default (toolkit) distribution
+ with the default version (defined in ./prepare).
+
+ All Makefile.am files that are subject to the distributions
+ are now named as Makefile.am.pre. These are ./Makefile.am
+ and lib/Makefile.am. Others may be changed later.
+
+Sun May 27 15:57:17 EEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
+
+ * Added invite list, ban list, some key management and connection
+ error message printing to module formats in the Irssi SILC client.
+
+ * Added new silc_client_set_away_message to set the away message
+ that is back to the person who sent private message. The
+ affected file lib/silcclient/silcapi.h and the
+ lib/silcclient/client_prvmsg.c.
+
+Sun May 27 12:39:48 EEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
+
+ * Fixed the private message sending in the Irssi SILC client,
+ added local command KEY to the Irssi SILC client.
+
+ Added key management and key agreement message formats to the
+ irssi/src/fe-common/silc/module-formats.[ch].
+
+ Added USERS (alias WHO) printing, server/router operator
+ indication and LIST command printing to the module formats.
+
+Sat May 26 17:43:42 EEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
+
+ * Fixed channel joining notify handling, cumode notify handling
+ from Irssi SILC client.
+
+ * Added SILC specific module-formats to the Irssi SILC client so
+ that SILC specific message hilighting, colors etc is possible.
+ Affected file irssi/src/fe-common/silc/module-formats.[ch].
+
+ Added channel mode, channel user mode, actions, notices,
+ whois and whowas printing to the the module-formats.c.
+
+ * Fixed a bug in channel deletion in the server. The channel
+ is not left to the cache even if the channel founder auth mode
+ is set when there are no users anymore on the channel. Affected
+ file silcd/server.c.
+
+ * The silc_net_localhost now resolves the entire hostname including
+ the domain name. Affected file lib/silcutil/silcnet.c.
+
+Sat May 26 12:13:37 EEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
+
+ * Changed the ask_passphrase client operation to be ascynchronous.
+ It has now a completion callback and a context that the
+ application must call after it has got the passphrase from
+ the user. Affected files lib/silcclient/silcapi.h,
+ lib/silcclient/protocol.c, lib/silcclient/command.c and
+ silc/client_ops.c.
+
+ Added SilcAskPassphrase callback that the application calls
+ to deliver the passphrase to the library.
+
+ * Changed the SKE protocol's SilcSKEVerifyCb to be asynchronous.
+ The public key verification and especially a certificate
+ verification is asynchronous procedure.
+
+ Added new SILC_SKE_STATUS_PENDING status to indicate the
+ request is pending and a callback will be called to finalize
+ the request.
+
+ Added also SILC_SKE_STATUS_PUBLIC_KEY_NOT_PROVIDED status to
+ indicate that remote end did not send its public key (or
+ certificate), even though we require it. Added check for this
+ condition in the SKE. This was a security bug, now fixed.
+
+ Defined new SilcSKEVerifyCbCompletion callback that is called
+ when the verification process is completed.
+
+ The affected files lib/silcske/silcske_status.h and
+ lib/silcske/silcske.[ch].
+
+ * Changed the verify_public_key client operation to be async
+ as well. Defined SilcVerifyPublicKey callback that is used to
+ indicate the success of the public key verification process.
+
+ Changed the server and client to use the new async client
+ operations.
+
+ * Changed the Irssi SILC client's internal scheduler to be called
+ twice as many times as it used to be. As a result the client
+ should be a bit faster now. Affected file is
+ irssi/src/silc/core/silc-core.c.
+
+ * Added support to Irssi SILC client of asynchronous public key
+ verification and passphrase inquiry. Affected file is
+ irssi/src/silc/core/silc-core.c.
+
+Fri May 25 14:38:38 EEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
+
+ * Do not say "You have left channel %s" in client library.
+ Moved it to the application. Affected files are
+ lib/silcclient/command.c and silc/client_ops.c.
+
+ * Fixed silc_client_get_clients. Command context was not
+ duplicated and was freed memory in the callback. Affected
+ file lib/silcclient/idlist.c.
+
+ * Do not say "you are now talking..." on JOIN command in the
+ client library. The appliation must handle it.
+
+ * Do not say ".. changed topic to" in command reply in the
+ client libary. The application must handle it.
+
+ * Fixed TOPIC command sending in the client library.
+
+ * Fixed a memory leak in silc_client_command_free in the file
+ lib/silcclient/command.c.
+
+Thu May 24 19:08:55 EEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
+
+ * Imported a modified version of Irssi client to the source tree.
+ The Irssi will be used to create a new client called
+ Irssi SILC. Imported to irssi/.
+
+ Added silc_core_init_finish function to the Irssi. Affected
+ file irssi/configure.in.
+
+ A lot changes in the Makefile.ams around the irssi tree.
+
+Tue May 22 22:23:49 EEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
+
+ * Do not rehash if the new size is same as the old size of the
+ hash table, in the silc_hash_table_rehash*. The affected file
+ lib/silcutil/silchashtable.c.
+
+ * Replaced hash_table_del_by_context calls from the server
+ (when channel->user_list and client->channels) to the
+ hash_table_del as it is sufficient and faster.
+
+Tue May 22 17:27:16 EEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
+
+ * Added silc_hash_table_list, silc_hash_table_get and the
+ SilcHashTableList structure to provide an alternative way to
+ traverse the hash table. The affected files are
+ lib/silcutil/silchashtable.[ch].
+
+ * Changed the server's idlist routines to use the hash table
+ routines to optimize the code.
+
+Mon May 21 21:46:20 EEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
+
+ * Replaced the client entry's `channel' list and channel entry's
+ `user_list' list to hash tables for optimized lookup. Changed
+ the code to use the hash table interface around the code.
+ Affected file lib/silcd/idlist.[ch].
+
+ * Added `auto_rehash' boolean argument to the function
+ silc_hash_table_alloc to indicate whether the hash table should
+ auto-rehash when it thinks is appropriate time. It will
+ increase the hash table size if the there is twice as much
+ entries in the table than the size of the table, and will
+ decrease the size if there are twice as less entries than
+ the size of the table.
+
+Mon May 21 09:51:11 EEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
+
+ * Fixed silc_xxx_get_supported to not crash at some circumstances.
+
+Sun May 20 13:45:58 EEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
+
+ * silc_idcache_purge_by_context deletes the entry now by context
+ as it is supposed to do. Affected file lib/silccore/idcache.c.
+
+ * Send the ERR_NO_SUCH_NICK in the WHOIS command reply if the
+ client is not anymore valid (WHOWAS givens the info) and not
+ the ERR_NO_SUCH_CLIENT_ID if the nickname still exists.
+
+Sat May 19 16:30:03 EEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
+
+ * Removed the `data' and `data_len' arguments from the ID Cache
+ interfaces and added `name' argument. ID Cache does not handle
+ anymore the binary data only a names associated with given ID.
+
+ * When hashing a Client ID with silc_hash_id the entire ID is
+ not hashed anymore, instead only the hash of the Client ID is
+ hashed. This way we can access the Client ID from the cache
+ with Client ID but with the hash of the ID (which is a hash of
+ the nickname) as well without any difference in performance.
+
+ Added also silc_idcache_find_by_id_one_ext to do one on one
+ searching when we have the actual ID. Added also function
+ silc_hash_client_id_compare. The affected files are
+ lib/silccore/idcache.[ch] and lib/silcutil/silcutil.[ch].
+
+ * When hashing the name associated with a ID it is always done
+ in lowercase. This way we can access the cache without worrying
+ about case-sensitivity, even though, for example nicknames are
+ case sensitive.
+
+ * Fixed a bug in server with channel message sending. It put
+ wrong ID type as destination ID. The affected file
+ silcd/packet_send.c.
+
+ * silc_idcache_del_by_context now deletes from all hash tables
+ by context. Affected file lib/silccore/idcache.c.
+
+Fri May 18 17:42:00 EEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
+
+ * Changed the client library to use the new ID Cache interface.
+ Changes around the source tree.
+
+ * Added silc_hash_table_rehash_ext to rehash with specific
+ hash function. Affected file lib/silcutil/silchashtable.[ch].
+
+ * Added silc_hash_string_compare to compare two strings in the
+ hash table. Affected file lib/silcutil/silcutil.[ch].
+
+Fri May 18 11:18:45 EEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
+
+ * Added new function silc_idcache_del_by_context into the
+ lib/silccore/idcache.[ch].
+
+ * Changed the server's ID list routines to use the new ID Cache
+ interface. Changes around the source tree.
+
+Fri May 18 08:35:31 EEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
+
+ * Added silc_hash_table_del[_by_context]_ext functions in to the
+ lib/silcutil/silchashtable.[ch].
+
+ Removed silc_hash_table_find_all* routines and added new
+ silc_hash_table_find_foreach to replace them.
+
+ Added silc_hash_table_replace_ext function as extended
+ replacing function. Separated the simple hash table interface
+ from the extended hash table interface in the file
+ lib/silcutil/silchashtable.h.
+
+ * Fixed minor bugs and changed it to use some of the new
+ hash table functions in lib/silccore/idcache.c
+
+Thu May 17 18:15:12 EEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
+
+ * Added new function silc_hash_table_find_all to return all keys
+ in the hash table by the specified key. As the hash table is
+ collision resistant it also makes it possible to have several
+ duplicate keys in the hash table. This function may be used to
+ find all of the keys from the hash.
+
+ Added user_context arguments to the SilcHashFunction,
+ SilcHashCompare and SilcHashDestructor to deliver user specified
+ context.
+
+ Added new fuctions silc_hash_table_find[_all]_ext to do
+ extended lookup with specified hash and compare functions and
+ specified user contexts.
+
+ Added new function silc_hash_table_add_ext to add the key
+ with specified hash function and user context.
+
+ Added new function silc_hash_table_foreach to traverse all
+ entrys in the hash table. Added SilcHashForeach callback
+ function.
+
+ Added new function silc_hash_table_del_by_context to delete
+ the entry only if the context associated with the key matches.
+
+ Affected files are lib/silcutil/silchashtable.[ch].
+
+ * Removed silc_hash_[server/client/channel]_id and added just
+ silc_hash_id to the lib/silcutil/silcutil.[ch]. Added also
+ silc_hash_id_compare to compare two ID's using as the hash table
+ comparison function. Added also silc_hash_data to hash
+ binary data and silc_hash_data_compare to compare it.
+
+ * Removed silc_idlist_find_client_by_hash as it is not needed
+ anymore. Affected file silcd/idlist.[ch].
+
+ * Rewrote the entire ID Cache system (in lib/silccore/idcache.[ch])
+ to use internally the SilcHashTable. The new ID Cache is a lot
+ faster than the old one. Some of the ID Cache interface was also
+ rewritten and obsolete and stupid functions were removed.
+
+Wed May 16 23:03:30 EEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
+
+ * Added entry_count field to the SilcHashTable to keep the number
+ of the entries in the table. Implemented the function
+ silc_hash_table_rehash. Added new function
+ silc_hash_table_count. Affected file lib/silcutil/silchashtable.c.
+
+ Fixed a minor bug in silc_hash_table_free.
+
+ * Added silc_hash_string, silc_hash_uint, silc_hash_ptr,
+ silc_hash_client_id, silc_hash_server_id and silc_hash_channel_id
+ into the lib/silcutil/silcutil.[ch].
+
+Wed May 16 20:02:47 EEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
+
+ * Implemented a collision resistant hash table into the
+ lib/silcutil/silchashtable[ch]. See the header and the source
+ for the SilcHashTable API.
+
+Tue May 15 22:05:46 EEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
+
+ * Merged dotconf version 1.0.2 into lib/dotconf.
+
+Sun May 13 19:32:09 EEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
+
+ * Do not compile anything in lib/silcsim/* if the SIM support
+ is not enabled. The tree should now compile without problems
+ under cygwin.
+
Thu May 10 22:49:51 EEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
* Compiled the SILC under cygwin. Compiled and tested briefly