updates.
[silc.git] / CHANGES
diff --git a/CHANGES b/CHANGES
index 0c4b060a2023b6807e8a8527657b375702de2329..064ef49b98423280935f5f26b92617782e32616a 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,493 @@
+Wed Nov  6 17:18:13 EET 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Fixed manual page installation patch by Ville Räsänen.
+         USERS help page fix patch by Ville Räsänen
+
+       * Changed the silc_client_command_call interface to make
+         the command call simpler for the application.  The library
+         now handles the command line parsing, command finding and
+         execution.  Application only needs to call the function
+         with the command line.  Affected files are 
+         lib/silcclient/silcclient.h, command.[ch].
+
+       * Fixed silc_get_input to NULL-terminate the returned input.
+         Affected file lib/silcutil/silcutil.c.
+
+Mon Nov  4 16:02:59 EET 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Print notify for server opers when backup router comes
+         online.  Affected file silcd/server.c.
+
+       * Fixed the INVITE command to send the invite list in
+         command reply.  Affected file silcd/command_reply.c.
+
+       * Fixed MOTD command reply sending.  Affected file
+         silcd/command.c.
+
+       * UTF-8 decode the topic in TOPIC command reply and LIST
+         command reply in Irssi SILC client.  Affected file is
+         irssi/src/silc/core/client_ops.c.
+
+Sun Nov  3 17:59:15 EET 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Fixed the INVITE command to not crash Irssi SILC client
+         when given without nickname argument.  AFfected file
+         irssi/src/silc/core/client_ops.c.
+
+       * Fixed double free in WHOIS query on normal server when
+         forwarding query to router.  Affected file is
+         silcd/server_query.c.
+
+       * Fixed WATCH command reply handling on normal server which
+         was missing altogether.  Affected file silcd/command_reply.c.
+         Bug #44.
+
+Sun Nov  3 00:42:05 EET 2002  Mika Boström <bostik@lut.fi>
+
+       * Added man-pages for silc(1), silcd(8) and silcd.conf(5).
+         Included yodl sources for each of these. Also modified
+         Makefile.am prototype to install these files to proper
+         locations. Updated CREDITS. Affected file Makefile.am.pre,
+         new files doc/*.yo, doc/silc.1, doc/silcd.conf.5,
+         doc/silcd.8.
+
+Sat Nov  2 21:26:56 EET 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Added support for encrypted private key files.  Now
+         passphrase must be provided when new key pair is created
+         (can be empty though), and prompted when loading the
+         private key.  Added support for loading the old-style
+         non-encrypted private keys as well.  Affected files
+         lib/silccrypt/silcpkcs.[ch], Irssi SILC client and
+         SILC Server.
+
+       * Fixed silc_get_input to accept input on all terminals.
+         Affected file lib/silcutil/silcutil.c.
+
+       * Moved the Irssi SILC client key loading and other stuff
+         to be called after the arguments and UI is initialized.
+         Affected file irssi/src/silc/core/silc-core.c.  Bug #31.
+
+       * Added -P option to Irssi SILC client which can be used
+         to change the passphrase of the private key.  Affected
+         file irssi/src/silc/core/silc-core.c.
+
+       * Added silc_change_private_key_passphrase apputil routine
+         to lib/silcutil/silcapputil.[ch].
+
+Sat Nov  2 12:53:09 EET 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Fixed connection closing in client library to not crash.
+         Moved the connection freeing totally to function
+         silc_clinet_del_connection.  Affected file 
+         lib/silcclinet/client.c.
+
+Fri Nov  1 18:57:02 EET 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Changed includes/silcincludes.h to silcincludes.h.in to
+         include configuration specific information.  The silcdefs.h
+         is not included in to installation anymore (it's only
+         compilation time header).
+
+Fri Nov  1 10:30:26 CET 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Moved the SilcClient and SilcClientConnection from client.h
+         to the public lib/silcclient/silcclient.h.  Changed the
+         structures a bit.
+
+Thu Oct 31 22:44:07 EET 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * If version string in silc_clinet_alloc is NULL the library
+         puts it automatically.  Affected file lib/silcclient/client.c.
+
+       * Changed the version strings from variables to #define's
+         in includes/silcversion.h.
+
+Wed Oct 30 16:17:30 CET 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Added shared library complation support.
+
+Tue Oct 29 21:48:55 EET 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Added lib/silcutil/silcapputil.[ch] for application
+         utility functions.  It includes routines for applications'
+         convenience.  Added silc_create_key_pair, silc_show_public_key
+         and silc_load_key_pair functions.
+
+Tue Oct 29 17:36:44 EET 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Send RESUME_CLIENT packet from router to backup routers
+         to in resuming.  Affected file silcd/packet_receive.c.
+
+Mon Oct 28 21:23:39 EET 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * In IDENTIFY command parsing, send all other IDs except
+         Client IDs explicitly to router for resolving on normal
+         server.  Also check that ID received in WHOIS command is
+         always Client ID, others are not allowed.  Affected file
+         silcd/server_query.c.
+
+       * Merged latest changes from irssi.org CVS.
+
+Sun Oct 27 11:44:32 EET 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Merged c0ffee's /set heartbeat patch to Irssi SILC client.
+         Affected files irssi/src/silc/core/silc-core, silc-server.c.
+
+       * Fixed the heartbeat sending in Irssi SILC client.  Moved
+         the silc_client_packet_send to silcclient.h for application
+         usage.  Affected files lib/silcclient/client_internal.h
+         lib/silcclient/silcclient.h.
+
+       * Fixed a bug in query resolving in server.  Used wrong 
+         variable in a for loop and crashed.  Affected file is
+         silcd/server_query.c.
+
+       * Server constructs requested attributes only to locally
+         connected clients.  Affected file silcd/server_query.c.
+         Bug #36.
+
+       * Fixed a bug when sending resolving from router to server
+         with requested attributes.  The constructed WHOIS command
+         was incorrect.  Affected file silcd/server_query.c.
+         Bug #38.
+
+       * Fixed Requested Attributes saving in WHOIS command reply.
+         The length of the data buffer must be saved too.  Affected
+         file silcd/command_reply.c.
+
+       * Update the client entry's servername after detaching is
+         over.  Affected file silcd/packet_receive.c.  Bug #37.
+
+       * Resolve incomplete client entrys in CUMODE_CHANGE and
+         CMODE_CHANGE notifys.  Affected file is 
+         lib/silcclient/client_notify.c.  Bug #42.
+
+Thu Oct 24 12:22:35 EEST 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Fixed channel key packet processing bug on backup router
+         during backup resuming protocol.  Affected file is
+         silcd/packet_receive.c.
+
+       * Fixed memory leaks in server.  Affected files are
+         silcd/server.c and silcd/packet_receive.c.
+
+       * Fixed packet decryption problem when backup router encrypted
+         channel message with wrong key during backup resuming
+         protocol.  Affected file silcd/packet_send.c.
+
+       * ROBODoc documented lib/silccrypt/silccipher.h.  A patch by
+         Toni Willberg (toniw@iki.fi)
+
+       * Changed the SilcCipher context to be private.  Changed the
+         silc_cipher_get_iv to just return pointer to the IV.  Added
+         silc_cipher_get_name to return the name of the cipher.
+         Fixed code all around to support these changes.  Affected
+         files are lib/silccrypt/silccipher.[ch], client library and
+         server.
+
+Wed Oct 23 19:01:41 EEST 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Fixed unaligned access in lib/silccore/silcattrs.c.
+
+       * Fixed libtool linking in lib/silcsim/Makefile.am.
+
+       * Fixed services attribute printing.  Affected files is
+         irssi/src/silc/core/silc-queries.c.
+
+Wed Oct 23 09:51:04 CEST 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Fixed a crashbug in incoming server accepting.  Affected
+         file silcd/server.c.
+
+Tue Oct 22 13:02:32 EEST 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Added automatically generated index to Toolkit Reference
+         Manual.
+
+       * Added support for Postscript Toolkit Reference Manual.
+
+Mon Oct 21 21:30:40 CEST 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Merged DISCONNECT fix, and autoconn port fix from Irssi
+         CVS.
+
+Sun Oct 20 19:54:55 EEST 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Added 'send_events' boolean argument to the function
+         silc_schedule_set_listen_fd which sends the set events to
+         the application explicitly if set to TRUE.  Default action
+         should be FALSE.  Affected file lib/silcutil/silcschedule.[ch],
+         lib/silcclient/client_internal.h and silcd/server_internal.h.
+
+       * Added silc_compare_timeval to determine which time values
+         is smaller.  Affected file lib/silcutil/silcutil.[ch].
+
+       * Added sort-of "Quality of Service" (QoS) support to
+         SilcSocketConnection.  Data reception can be controlled with
+         rate limit per second and/or read data length limit.
+         Added silc_socket_set_qos.  Affected files are
+         lib/silcutil/silcsockconn.[ch] and unix/silcunixsockconn.c.
+
+       * Added the QoS configuration to SILC Server configuration
+         file.  Affected files are silcd/serverconfig.[ch] and
+         server.c.
+
+Sun Oct 20 14:12:24 CEST 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Merged with irssi.org CVS.
+
+       * Failed OPER and SILCOPER authentications are now logged.
+         Affected file silcd/command.c.  Bugs #25.
+
+Sat Oct 19 13:32:15 CEST 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * ROBODoc documented lib/silcutil/silcbuffer.h and
+         lib/silcutil/silcdlist.h.  Patch by Ville Räsänen
+         <ville.rasanen@iki.fi>.
+
+Fri Oct 18 10:51:04 EEST 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Added support for auto-passphrase authentication from the
+         config file during connecting which was not implemented
+         yet.  Affected file irssi/src/silc/core/client_ops.c.
+
+       * Fixed a bug in authentication protocol failure handling which
+         was processing wrong callback context.  Affected files
+         are lib/silcclient/client.c and protocol.c.
+
+       * Fixed the /ATTR allow off to actually work.  Affected file
+         is irssi/src/silc/core/silc-queries.c.
+
+       * Fixed the /ATTR -del to work.  Affected file is
+         irssi/src/silc/core/silc-queries.c.
+
+Thu Oct 17 23:45:12 EEST 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Fixed string formatting crashbug in lib/silccore/silcattrs.c.
+
+       * Fixed mask attribute adding in Irssi SILC client.  Affected
+         file irssi/src/silc/core/silc-queries.c.
+
+Thu Oct 17 16:40:39 EEST 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Added support for saving the requested attributes in
+         WHOIS to directory.  Affected file is
+         irssi/src/silc/core/silc-queries.c.
+
+Wed Oct 16 17:40:56 EEST 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Added support for parsing VCard fields that do not have
+         the TYPE= for types.  Affected file lib/silcutil/silcvcard.c.
+
+       * Fixed a double free bug in hash table foreach function
+         if the entry was deleted in the foreach callback.  Affected
+         file lib/silcutil/silchashtable.c.
+
+Tue Oct 15 18:05:24 EEST 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Added silc_attribute_get_verify_data to return the signature
+         verification data for either user digital signature or
+         server digital signature in Requested Attributes.  Affected
+         files are lib/silccore/silcattrs.[ch].
+
+       * Added silc_vcard_alloc which is used to allocated dynamic
+         SilcVCard context.  The silc_vcard_free now checks whether
+         the context is dynamically allocated or not.  Affected files
+         are lib/silcutil/silcvcard.[ch].
+
+Mon Oct 14 17:55:44 EEST 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Periodically remove the NOATTR status from client entry
+         so that the client may take the attributes in use even after
+         server has resolved them unsuccessfully earlier.  Affected
+         file silcd/server_query.c and idlist.h.
+
+       * Moved sha1hash and md5hash from client->internal to
+         SilcClient for application usage.  Affected files are
+         lib/silcclient/client.h and client_internal.h.
+
+       * Fixed attribute encoding and decoding bugs.  Affected
+         files lib/silccore/silcattrs.[ch].
+
+       * Added ATTR command to Irssi SILC Client which is used to      
+         manage user's Requested Attributes sending and values for
+         WHOIS command.  Affected files around Irssi SILC client.
+
+Mon Oct 14 14:33:54 EEST 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Added silc_buffer_strformat which can be used to format
+         strings into a buffer which size is automatically increased.
+         Affected file lib/silcutil/silcbuffmt.[ch].
+
+       * Added implementation of VCard (RFC 2426) which can be used
+         as part of Requested Attributes in WHOIS command.  Affected
+         file lib/silcutil/silcvcard.[ch].
+
+Fri Oct 11 23:52:17 EEST 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Some strncat -> silc_strncat changes our the core and
+         client library.
+
+       * Added SILC_SKE_STATUS_SIGNATURE_ERROR and OUT_OF_MEMORY
+         errors.  Added better error printing to SKE library.
+         Affected files lib/silcske/silcske.c, silcske_status.h and
+         payload.c.
+
+       * Save the PKCS key length even if only private key is set to   
+         SilcPKCS.  Affected file lib/silccrypt/silcpkcs.[ch] and rsa.c.
+
+       * Fixed the usage of silc_pkcs_get_key_len since it returns the
+         length in bits not in bytes.  Affected files are
+         lib/silcske/silcske.c, lib/silccore/silcauth.c and
+         silcd/server_query.c.
+
+Wed Oct  9 17:22:57 EEST 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Added silc_attribute_payload_encode_data to directly encode
+         the data into the attributes buffer.  Renamed function
+         silc_attribute_payload_parse_list to silc_attribute_payload_parse.
+         Affected files are lib/silccore/silcattrs.[ch].
+
+       * silc_hash_table_find_foreach calls the foreach function now
+         once even if the nothing was found with context set to NULL.
+         Affected file lib/silcutil/silchashtable.[ch].
+
+       * Remove the RESOLVING flag from client entry after received
+         the Requested Attributes from the client.  Fixed memory leak
+         in client entry freeing.  Affected files silcd/server_query.c
+         and idlist.c.
+
+       * Added Requested Attributes support into SILC Client Library.
+         It is not able to send requested attributes in WHOIS command,
+         and also receive and process requested attributes.  Added
+         silc_client_attribute_[add|del] and silc_client_attributes_get
+         functions.  Added also `ignore_requested_attributes' to the
+         SilcClientParams to not use attributes in client.  Affected
+         files are lib/silcclient/command.c, client_attrs.[ch],
+         silcclient.h, client_internal and client.[ch].
+
+       * Changed the silc_client_get_client_by_id to support Requested
+         Attributes, it takes them as argument now.  Affected file
+         is lib/silcclient/silcclient.h, and idlist.c.
+
+       * Added -details option to WHOIS command in Irssi SILC Client
+         to support the requested attributes.  By default it requests
+         all attributes.  Affected file lib/silcclient/command.c and
+         irssi/doc/help/in/whois.in.
+
+Tue Oct  8 17:58:28 EEST 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Add also SERVICE attribute for server-constructed attribute
+         data.  Also digitally sign the attributes and add
+         SERVER_DIGITAL_SIGNATURE attribute.  Affected file is
+         silcd/server_query.c.
+
+Mon Oct  7 18:25:35 EEST 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Changed the silc_attribute_payload_encode to support list
+         of attributes (function may be called several times to add
+         a new attribute).  Removed the silc_attribute_payload_encode_list
+         function.  The encoding function now also automatically encodes
+         the data, so the caller does not need to do that.  Affected
+         files lib/silccore/silcattrs.[ch].
+
+       * Added support for replying on behalf of the user to the
+         Requested Attributes in WHOIS command in the server.  Affected
+         file silcd/server_query.c.
+
+       * SILC_NOT_IMPLEMENTED macro use SILC_LOG_INFO now instead of
+         SILC_LOG_DEBUG.  Affected file lib/silcutil/silclog.h.
+
+Sun Oct  6 16:48:32 EEST 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Don't swtich to become primary router if we are backup if
+         decryption error has occurred.  Affected file silcd/server.c.
+
+       * Fixed a bug in backup router IP address comparison in
+         silc_server_backup_get.
+
+         Save now also the port of the server/router and use that
+         in comparison as well.  Affected file silcd/server_backup.c.
+
+       * Normal server now reconnects to backup router automatically
+         if connection is lost to it.  Affected file silcd/server.c.
+
+Thu Sep 26 13:51:02 CEST 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * If packet processing fails (like integrity check fails)
+         the connection is closed now.  Affected files are
+         lib/silccore/silcpacket.c and silcd/server.c.
+
+Mon Sep 23 10:59:39 CEST 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Fixed double free in RSA public key set function
+         silc_rsa_set_public_key.  Affected file lib/silccrypt/rsa.c.
+         Bug #29.
+
+Sun Sep 22 14:54:05 EEST 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Rewrote WHOIS, WHOWAS and IDENTIFY commands in the server.
+         Added server_query.[ch] which provides one interface for
+         querying information using all three commands.
+
+       * Changed all "typedef unsigned char" in core library to
+         "typedef SilcUInt8".
+
+Sat Sep 21 21:36:45 EEST 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Added silc_strncat into lib/silcutil/silcstrutil.[ch].
+
+       * Renamed silc_server_get_client_resolve to
+         silc_server_query_resolve and moved to server_query.[ch].
+
+Wed Sep 18 18:28:04 EEST 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Resumed client packet handling from server put the resumed
+         client on wrong list on router and caused the client not
+         be present on the network anymore.  Now fixed to put the
+         client to correct list.  Affected file silcd/packet_receive.c.
+
+Wed Sep 18 15:13:48 CEST 2002  Johnny Mnemonic <johnny@themnemonic.org>
+
+       * Various cleanup in error message output in config parsing code
+         and in server init code.  Fixed error log files containing
+         too many newlines ('\n') in some situations.  Affected files are
+         silcd/serverconfig.c, silcd/silcd.c, and silcd/server.c.
+
+Wed Sep 18 10:51:23 CEST 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Use the reverse lookupped hostname in client internals
+         instead of one user provided us as remote server name.
+         Affected file lib/silcclient/client.c.
+
+Mon Sep 16 12:02:54 EEST 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Added 'app_context' to silc_schedule_init.  It is an
+         application specific context that is delivered to application
+         in task callback functions.  Affected files are
+         lib/silcutil/silcutil.[ch].
+
+       * The hb_context in SilcSocketConnection is not freed
+         automatically anymore (application must free it).  Freeing
+         it automatic is inconsistent.  Affected files are
+         lib/silcutil/silcsockconn.[ch].
+
+Sun Sep 15 22:16:19 EEST 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Added support for removing explicitly added client connections
+         in rehash and closing the client connections if they were
+         unconfigured in the rehash.  Affected file silcd/server.c.
+
+       * Added support for aborting automatically pending commands
+         that never receives the reply (to avoid memory leaks).
+         Added also silc_server_command_pending_timed to set the
+         specific timeout for pending command.  Affected files are
+         silcd/command[_reply].[ch].
+
+       * Added SILC_STATUS_ERR_TIMEDOUT status.  Updated protocol
+         specs and lib/silccore/silcstatus.h.
+
 Sun Sep 15 12:25:10 EEST 2002  Pekka Riikonen <priikone@silcnet.org>
 
        * Changed the silc_get_time to accept time value as argument