Fixed memory leaks around the tree.
[silc.git] / CHANGES
diff --git a/CHANGES b/CHANGES
index e2348abdda7633b34f577cb40dca23ff012dbce8..c6aafe368b725d97e6c5d3ecb8ff8c8a9a272606 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,9 +1,378 @@
+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.
+
+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
+         or if zero is sent return current local time.  Affected
+         file lib/silcutil/silcutil.[ch].
+
+       * Added STATS command to client library and Irssi SILC client.
+         Patch provided by Ville Räsänen <ville.rasanen@iki.fi>.
+
+Wed Sep 11 09:22:00 CEST 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Assure that channel key is set before sending it.  May
+         crash server otherwise.  Affected file silcd/packet_send.c.
+
+Tue Sep 10 09:50:08 CEST 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Assure that endless loop cannot happen with detached client
+         resolving on normal server.  Added idlist status
+         SILC_IDLIST_STATUS_RESUME_RES.   Affected files are
+         silcd/idlist.h and silcd/packet_receive.c.
+
+Mon Sep  9 12:18:18 CEST 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Incoming file transfer request cannot use same session as
+         the sending session.  This can happen when sending file to
+         yourself.  Crashed the client on quit.  Affected file
+         lib/silcclient/client_ftp.c.  Bug #24.
+
+Sun Sep  8 18:39:25 EEST 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Implemented the draft-riikonen-precense-attrs draft and
+         the Attribute Payload into the lib/silccore/silcattrs.[ch].
+
+Sun Sep  8 13:13:44 EEST 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Distribute the SERVER_SIGNOFF notify also to local backup
+         routers from the primary router.  The backup router may not
+         have the signing of local server directly connected and need
+         to know about the signoff.  Affected file silcd/server_util.c.
+
+       * Use the primary router as the origin of the locally connected
+         server when it is disconnecting from the backup router since
+         that's where it really is coming from.  Now the clients from
+         the disconnecting server are removed correctly and "shadow"
+         clients are not left to the backup router.  Affected file
+         silcd/server.c.
+
 Sat Sep  7 22:26:50 EEST 2002  Pekka Riikonen <priikone@silcnet.org>
 
        * If normal server is standalone and found existing but disabled
          channel, do not re-create the channel since it creates
          duplicate same channels.  Affected file silcd/server.c.
 
+       * Added anonymous client connections support to server.  New
+         "anonymous" configuration option to ConnectionParams section
+         added.  If set to true, the username and hostname information
+         of the client will be scrambled and anonymous user mode is
+         set automatically to the user.  Affected files are
+         silcd/serverconfig.[ch], silcd/packet_receive.c and server.c.
+
 Sat Sep  7 16:02:09 EEST 2002  Pekka Riikonen <priikone@silcnet.org>
 
        * In JOIN notify handling, mark that the cache entry of the