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