updates.
[silc.git] / CHANGES
diff --git a/CHANGES b/CHANGES
index b2cf8ffdb89bef1b5228719c42f937c717a7bd58..42413044f220cee2ac47aaa6f384305aa1c2db0f 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,295 @@
+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
 Mon Jul 23 10:12:37 EEST 2001  Pekka Riikonen <priikone@silcnet.org>
 
        * Fixed a double free in disconnection in the server.  Affected
@@ -7,6 +299,10 @@ Mon Jul 23 10:12:37 EEST 2001  Pekka Riikonen <priikone@silcnet.org>
          MP library.  The string conversion did not work when using
          specific base and the base is indicated in the string as well.
 
          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
 Sun Jul 22 19:40:30 EEST 2001  Pekka Riikonen <priikone@silcnet.org>
 
        * Changed the key material distribution function in case when