updates.
[silc.git] / CHANGES
diff --git a/CHANGES b/CHANGES
index 07df78b822819a946946afeb0ad1cbcec79eb8e6..388e17c7a79428c4600ccb7e86f4a72f621dcae2 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,8 +1,402 @@
+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