updates.
[silc.git] / CHANGES
diff --git a/CHANGES b/CHANGES
index 9e449d75943a0aa11284a90c47ff6139a677f9fb..0af543804c7b2257b633735b3df34ca6321a67d5 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,319 @@
+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
+         without problems.  More tests needed.  The SIMs didn't compile
+         though.
+
+       * Added various #ifdef HAVE_* stuff to lib/silccrypt/silrng.c.
+
+       * Fixed possible crash in silc_get_username in the
+         lib/silcutil/silcutil.c.
+
+Tue May  8 09:04:03 EEST 2001  Pekka Riikonen <priikone@poseidon.pspt.fi>
+
+       * Fixed a va_arg in silc/client_ops.c.
+
+       * Oops, RC5 routines were named AES and caused some problems
+         when not using SIM's.  Affected file lib/silccrypt/rc5.c.
+
+Sun May  6 13:59:48 EEST 2001  Pekka Riikonen <priikone@poseidon.pspt.fi>
+
+       * Added new SilcIDIP structure into the lib/silccore/id.h and
+         replaced the old `ip' fields from all SILC ID's to that type.
+         This is a step towards IPv6 support.
+
+         The silc_id_get_len takes now the ID as an extra argument.
+         The silc_id_id2str, silc_id_str2id and silc_id_dup now supports
+         both IPv4 and IPv6 based ID's.
+
+         The affected files are lib/silccore/id.[ch] and other files
+         around the tree using these routines.
+
+       * Removed the ID length arguments in server from various 
+         silc_server_send_notify_* routines -> they are not needed 
+         anymore.
+
+Sat May  5 13:56:33 EEST 2001  Pekka Riikonen <priikone@poseidon.pspt.fi>
+
+       * Fixed memory leak in silc_encode_pem_file in the file
+         lib/silcutil/silcutil.c.
+
+Thu May  3 21:23:50 EEST 2001  Pekka Riikonen <priikone@poseidon.pspt.fi>
+
+       * Check minor version as well in the SKE.  Affected files are
+         silcd/protocol.c and lib/silcclient/protocol.c.
+
+       * Added --identifier option to the server so that an identifier
+         can be when creating the public key for the server.  Affected
+         file is silcd/silcd.c.
+
+       * Fixed minor decoding bug in silc_pkcs_decode_identifier in
+         lib/silccrypt/silcpkcs.c.
+
+Wed May  2 20:50:49 EEST 2001  Pekka Riikonen <priikone@poseidon.pspt.fi>
+
+       * Register default ciphers and stuff when using -C option with
+         the server.  Affected file sildc/silcd.c.
+
+       * Put back the servers public key filename format, it is better
+         than the new one.  For now, the client keys are saved with the
+         new filename format.  The affected file silc/client_ops.c.
+
+       * Implemented the Cipher API for the rest of the ciphers that
+         did not implement it or implemented it the wrong way.
+
+Wed May  2 13:31:26 EEST 2001  Pekka Riikonen <priikone@poseidon.pspt.fi>
+
+       * Register default ciphers and stuff when using the -S option
+         in the client.  Affected file silc/silc.c.  Same also when
+         creating new key pair with -C option.
+
+Tue May  1 14:18:13 EEST 2001  Pekka Riikonen <priikone@poseidon.pspt.fi>
+
+       * Fixed the silc_verify_public_key client operation function to
+         save the public keys differently.  The fingerprint is now 
+         used as filename and not the hostname.  This way also the
+         client keys are saved uniquely and not with hostnames.  The
+         affected file is silc/client_ops.c.
+
+       * Trimmed the silc_hash_fingerprint function to remove extra
+         whitespaces from the end of the fingerprint.  The affected
+         file is lib/silccrypt/silchash.c.
+
+       * Updated TODO.
+
+       * Added silc_cipher_register_default function to register all
+         default ciphers.  It can be used when configuration files
+         does not exist and the application does not want any specific
+         ciphers in any specific order.
+
+         The SilcDList is now used as silc_cipher_list dynamically
+         allocated cipher list.  Removed the static list all together
+         and now all ciphers must be allocated to the dynamic list.
+         The silc_cipher_alloc routine was changed to check only the
+         dynamic list.
+
+         All silc_cipher_* routines that used to return int returns
+         now bool.
+
+         The affected files lib/silccrypt/silccrypt.[ch].
+
+       * The same thing was done to silc_hash_* as for silc_cipher_*
+         routines.  Affected files lib/silccrypt/silchash.[ch].
+
+       * The same thing was done to silc_pkcs_* as for silc_cipher_*
+         routines.  Affected files lib/silccrypt/silcpkcs.[ch].
+         Added also silc_pkcs_[un]register[_default] functions.
+         Removed the data_context from the PKCS API.
+
+       * Added silc_hmac_register_default function to register default
+         hmacs.  Affected files lib/silccrypt/silchmac.[ch].  Added also
+         SILC_ALL_HMACS macro that can be used with silc_hmac_unregister
+         to unregister all hmacs at once.
+
+       * Register the default ciphers, hash functions, PKCSs and HMACs
+         if client's configuration file does not exist.  The affected
+         file silc/silc.c.
+
+       * The client did not load the hash functions from the SIM
+         modules at all.  Added support for this.  Affected file is
+         silc/clientconfig.c.
+
+       * When decoding public key with silc_pkcs_public_key_decode, check
+         the supported algorithm only if PKCS are registered.  Affected
+         file lib/silccrypt/silcpkcs.c.  The same was done with the
+         silc_pkcs_private_key_decode.
+
+       * Fixed the SILC List routines to keep the list always in order.
+         It used to change the list's order when traversing the list but
+         not it preserves the order.  Affected file lib/trq/silclist.h.
+
+Mon Apr 30 17:29:03 EEST 2001  Pekka Riikonen <priikone@poseidon.pspt.fi>
+
+       * Added the client library to use the SilcSocketConnection's
+         reference counter (by silc_socket_dup) to prevent the bug that
+         the socket object may be freed underneath async operation.
+
+       * The name resolv library checking fixes in the configure.in.pre.
+         The patch by salo.
+
+       * Created new version of the protocol drafts for future
+         development. The -03 drafts are the ones that will be changed
+         in the trunk now and the -02 will remain as they are.
+
+       * Send list of CUMODE notifys to the router when announcing
+         the channel users to the router.  Affected file silcd/server.c.
+         If the router receiving channel founder CUMODE for a channel
+         that already has channel founder it will send CUMODE notify
+         to the sender to remove the channel founder rights from the
+         announced client.  Affected file silcd/packet_receive.c.
+
+       * The CUMODE notify may now use Server ID as well as the entity
+         who changes the mode.  Updated protocool specs.
+
+       * Updated INSTALL and README files.
+
+Sun Apr 29 23:17:50 EEST 2001  Pekka Riikonen <priikone@poseidon.pspt.fi>
+
+       * New web pages in the http://silc.pspt.fi.  The pages was
+         designed by salo.
+
+       * Updated CREDITS.
+
+Sun Apr 29 13:33:41 EEST 2001  Pekka Riikonen <priikone@poseidon.pspt.fi>
+
+       * Implemented the [DenyConnectin] config section in the server.
+         Added silc_server_config_denied_conn to check whether incoming
+         connection is denied.  Affected file silcd/serverconfig.[ch].
+
+       * Do not check the ports when checking the incoming configuration
+         data if the port is 0, meaning any.  Affected file is
+         silcd/serverconfig.c.
+
 Fri Apr 20 18:58:43 EEST 2001  Pekka Riikonen <priikone@poseidon.pspt.fi>
 
        * Fixed buffer overflow in silc_string_compare in the file