Added stacktrace support with --enable-stack-trace option.
[silc.git] / CHANGES
diff --git a/CHANGES b/CHANGES
index 089a3c93384d5dbef6efb2616e8c637d552091b2..f33435d5a1ad5e04cbafbcfe04a58bf23446e636 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,6 +1,485 @@
+Mon Jun 17 21:30:55 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
+
+       * Added --enable-stack-trace option to configure.  Added
+         memory allocation stack trace support.  Added files
+         lib/silcutil/stacktrace.[ch].  Affected files are
+         lib/silcutil/silcmemory.[ch].
+
+       * Fixed memory leaks from libraries and server.  Affected
+         files around the tree.
+
+Sun Jun 16 11:49:45 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
+
+       * Added SILC_MESSAGE_FLAG_UTF8 to the protocol specs and the
+         core library, and implemented it.  All textual messages SHOULD
+         use this flag and the message MUST be UTF-8 encoded.
+         All text messages sent by Irssi SILC client are now UTF-8
+         encoded (regardless whether the terminal supports UTF-8 or not).
+         Affected files are lib/silccore/silcchannel.h,
+         irssi/src/silc/core/silc-servers.c, silc-channels.c and
+         client_ops.c.
+
+Sat Jun 15 18:23:39 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
+
+       * Added lots of new statistics updating that was missing from
+         the server and router code.  Affected files in silcd/.
+
+       * Sending SIGUSR1 signal to server now dumps the current
+         server statistics into /tmp directory.  Affected file is
+         silcd/silcd.c.
+
+       * ROBODoc documented the lib/silccrypt/silchash.h.  Improved
+         the SILC Hash Interface also.  Added new functions
+         silc_hash_get_name, silc_hash_init, silc_hash_update and
+         silc_hash_final.  Affected file lib/silccrypt/silchash.c.
+
+Sat Jun 15 12:09:14 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
+
+       * Added some better info printing for client during connecting.
+         Affected file silcd/server_util.c.
+
+       * Implemented the SILC_CHANNEL_UMODE_QUIET mode that can be used
+         to silence a user on a channel.  Affected files are
+         lib/silcclient/client_channel.c, irssi/src/silc/core/client_ops.c,
+         irssi/src/fe-common/silc/module-formats.[ch], silcd/command.c
+         and silcd/packet_receive.c.
+
+       * Fixed a fatal bug in handling of malformed command payload.
+         Affected file silcd/command.c.
+
+       * Fixed a double free when announcing channel users to router.
+         Affected file silcd/server.c.
+
+       * After successful authentication to channel founder mode, check
+         that there isn't anyone else with founder mode on the channel.
+         The one that authenticated will become founder and anyone
+         else is demoted.  Affected file silcd/command.c.
+
+       * Added error printing of any error that has occurred during
+         any command in client library.  Affected file is
+         irssi/src/silc/core/client_ops.c.
+
+       * Removed some error printing from the client library and left
+         it for the application to worry (from the error status it
+         receives in 'command' client operation.  Affected file is
+         lib/silcclient/command.c.
+
+Fri Jun 14 22:59:02 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
+
+       * Added new status types KEY_AGREEMENT_ALREADY_STARTED and
+         KEY_AGREEMENT_SELF_DENIED to lib/silcclient/silcclient.h.
+         Starting key agreement with itself is denied.  Affected file
+         is lib/silcclient/client_keyagr.c.
+
+       * Fixed some error checkings from the SFTP library which caused
+         misbehaviour.  Affected files are lib/silcsftp/sftp_client.c
+         and lib/silcsftp/sftp_util.c.
+
+       * Added new "debug" and "debug_string" settings to Irssi SILC
+         client which can be used to print runtime debugging on the
+         Irssi's screen.  Available when compiled with --enable-debug
+         option.  Affected file irssi/src/silc/core/silc-core.c.
+
+Tue Jun 11 16:36:02 CEST 2002 Johnny Mnemonic <johnny@themnemonic.org>
+
+       * Fixed a missing variadic parameter in a function call that
+         caused server crash when a non-allowed connection arrived.
+         Reported by Richard Becker.  Affected file silcd/server.c.
+
+Mon Jun 10 16:29:42 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
+
+       * Added WATCH list sending to backup routers from router.
+         The WATCH command is sent by the router to the backup
+         router.  Affected file silcd/command.c.
+
+       * Mark the backup_router flag for RouterConnection entry
+         if the backup router stuff is defined in the config file.
+         Affected file silcd/serverconfig.c.
+
+       * Fixed some backup data sending around the code to work better
+         if the router is standalone router.  Not all places were fixed.
+         Affected file silcd/packet_receive.c, silcd/packet_send.c,
+         silcd/server.c.
+
+       * Fixed the router connecting when connecting to multiple
+         routers.  It ignored every other router except the first
+         one.  Affected file silcd/server.c.
+
+Mon Jun 10 09:28:21 CEST 2002 Pekka Riikonen <priikone@silcnet.org>
+
+       * Made the private key generation after expiration optional.
+         If not created after expiration the old key will re-expire
+         at a later time (and thus key pair is not necessary to
+         change).  Affected file irssi/src/silc/core/clientutil.c.
+
+Sun Jun  9 18:58:25 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
+
+       * The length arguments in bind() and connect() were wrong
+         and fixed now to used SIZEOF_SOCKADDR in the
+         lib/silcutil/unix/silcunixutil.c.
+
+Tue Jun  4 18:36:05 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
+
+       * Fixed detach timeout handling to use Client ID and not
+         the actual client entry which may be freed in the callback.
+         Affected file silcd/command.c.
+
+Thu May 30 15:53:45 CEST 2002 Pekka Riikonen <priikone@silcnet.org>
+
+       * Merged c0ffee's multiple interface support patch.
+         Affected files in silcd/.
+
+Wed May 29 18:08:15 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
+
+       * Cleanup keys properly.  Affected file is
+         irssi/src/silc/core/clientutil.c.
+
+Tue May 28 20:11:41 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
+
+       * Display the user mode on the status bar.  Affected file
+         irssi/src/silc/core/silc-expandos.c.
+
+Tue May 28 13:56:26 CEST 2002 Pekka Riikonen <priikone@silcnet.org>
+
+       * If private message key is not set, but the flag is set in
+         the packet, ignore the packet since it cannot be decrypted.
+         Affected file lib/silcclient/client_prvmsg.c.
+
+Thu May 23 12:00:14 CEST 2002 Pekka Riikonen <priikone@silcnet.org>
+
+       * When resuming client, remove the old client entry from
+         the watcher list too.  Affected file silcd/packet_receive.c.
+
+       * Do not allow normal server to force founder mode away
+         from router if the founder mode is already set.  Affected
+         file silcd/packet_receive.c.
+
+       * Remove the client entry with watch notify types with short
+         timeout, and not directly, so that other notifys can be
+         retrieved too.  Affected file lib/silcclient/client_notify.c.
+
+       * Display notification about data messages that cannot be
+         displayed.  Affected files irssi/src/silc/core/client_ops.c,
+         irssi/src/fe-common/silc/module-formats.[ch].
+
+Sun May 19 18:59:00 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
+
+       * Fixed the CHANNEL_CHANGE notify handling in client libary
+         to not use freed memory.  Affected file is
+         lib/silcclient/client_notify.c.
+
+       * Fixed CUMODE_CHANGE notify handling in server.  Affected
+         file silcd/packet_receive.c.
+
+       * Fixed USERS command to support empty channels.  Affected
+         file silcd/command.c.
+
+Sat May 18 11:35:19 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
+
+       * Allow multiple identical pending commands to be registered
+         in client library.  Affected file is lib/silcclient/command.c.
+
+       * Call the completion for resolving client information only
+         after all resolvers has finished.  This fixes a crash in
+         the client.  Added support for checking when the resolvers
+         are finished.  Affected file is lib/silcclient/idlist.c.
+
+       * Wait by default 3 seconds before reconnecting to the server
+         after being disconnected.  Makes the /detach command a bit
+         more usable.
+
+Fri May 17 17:23:45 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
+
+       * Check the watcher list before sending signoff notifys
+         when closing client connection.  Affected file is
+         silcd/server.c.
+
+       * Added better CMODE command rights checking.  Affected file
+         silcd/server_util.c.
+
+Fri May 17 08:33:41 CEST 2002 Pekka Riikonen <priikone@silcnet.org>
+
+       * Fixed watcher list checking during server signoff.  It
+         crashed the server.  Affected file silcd/server_util.c.
+
+       * The JOIN command reply returns now the founder's public
+         key.  Affected file is silcd/command.c.
+
+       * Announce the channel mode, and the mode properties with
+         CMODE_CHANGE notify.  Affected file silcd/server.c.
+
+       * Mark new channels by default disabled, untill at least
+         one user joins the channel.  Affected file is
+         silcd/packet_receive.c.
+
+Thu May 16 13:05:13 CEST 2002 Pekka Riikonen <priikone@silcnet.org>
+
+       * The nickname argument to watch notify can be optional.
+         Fixes a crash in server.  Affected file silcd/packet_send.c.
+
+       * Remove the client entry from cache if the WATCH notify type
+         is KILLED, SERVER_SIGNOFF or SIGNOFF.  Affected file is
+         lib/silcclient/client_notify.c.
+
+       * Check the watcher list before and after changing nickname
+         when the NICK_CHANGE notify is received.  Affected file is
+         silcd/idlist.c.
+
+       * Fixed a crash in OPER and SILCOPER command sending.  Empty
+         passphrase caused the crash.  Affected file is
+         lib/silcclient/command.c.
+
+Wed May 15 19:01:42 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
+
+       * Merged with Irssi CVS for Irssi SILC client.
+
+Tue May 14 19:37:48 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
+
+       * Completed the protocol specifications.
+
+Tue May  7 20:41:58 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
+
+       * Merged with Irssi CVS for Irssi SILC client.
+
+Tue May  7 11:07:16 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
+
+       * Added the founder's public key delivery to the
+         CUMODE_CHANGE notify type as well.  Updated the protocol
+         specs and the code.  Affected files are silcd/packet_send.[ch],
+         silcd/packet_receive.c and silcd/command.c.
+
+Mon May  6 19:46:12 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
+
+       * Added silc_pkcs_public_key_copy function into the
+         lib/silccrypt/silcpkcs.[ch].
+
+       * Remove the `iv' from the SilcChannelEntry since we can
+         live without it.  Affected files are silcd/idlist.h and
+         silcd/packet_receive.c.
+
+       * Added support for sending the founder's public key in
+         the CMODE_CHANGE notify packet in the server.  Affected
+         files are silcd/packet_send.[ch], silcd/packet_receive.c,
+         silcd/command.c and silcd/server.c.
+
+       * Changed the FOUNDER_AUTH authentication to use only
+         public key authentication as defined by new protocol
+         specs.  Passphrase authentication with that mode cannot
+         be used anymore.  It is now possible to reclaim founder
+         mode from any server in the network.  Affected files are
+         silcd/command.c, silcd/idlist.h and silcd/command_reply.c.
+
+       * Added permanent channels support by making the channel
+         permanent when FOUNDER_AUTH mode is set on the channel.
+         The channel will not be destroyed even if channel is empty
+         when that mode is set.  Protocol TODO #17.  Affected
+         files are silcd/server.[ch], server_util.[ch],
+         silcd/command.c, silcd/packet_receive.c and
+         lib/silcclient/command.c. 
+
+Fri May  3 18:36:51 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
+
+       * Added reference counter to the command reply context in
+         the client library.  Affected files are
+         lib/silcclient/command_reply.[ch].
+
+Fri May  3 11:37:10 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
+
+       * Fixed rekey protocol with PFS in the client library.
+         Affected file is lib/silcclient/protocol.c.
+
+       * Added support for list of errors in client library
+         command reply handling.  Affected file is
+         lib/silcclient/command_reply.c.
+
+       * Defined that the WHOIS and IDENTIFY commands can send
+         list of errors.  Updated the protocol specs.  Protocol
+         TODO #2.
+
+       * Added support for sending list of errors to WHOIS and
+         IDENTIFY commands in server.  Added support for receiving
+         list of errors in server.  Affected files are
+         silcd/command.c and silcd/command_reply.c.
+
+       * Fixed client info resolving on LEAVE command in client
+         library to not crash.  Affected file is 
+         lib/silcclient/client_notify.c.
+
+Thu May  2 08:45:11 CEST 2002 Pekka Riikonen <priikone@silcnet.org>
+
+       * Defined that the NICK command replies with thew changed
+         nickname too, to make the nickname changing simpler at
+         the client's end.  Updated protocol specs and the code
+         in client and server.  Affected files are
+         silcd/command.c, lib/silcclient/command_reply.c and
+         lib/silcclient/command.c.
+
+Mon Apr 29 20:10:42 EEST 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Added `Compressed' packet flag to indicate that the packet
+         payload is compressed by the sender.  Updated the protocol
+         specs and the core library.  The compression still is not
+         implemented in the sources.  Affected file is
+         lib/silccore/silcpacket.h.
+
+Mon Apr 29 09:48:12 CEST 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Remove pending command callbacks also if the connection
+         to the server is destroyed.  Affected file is
+         lib/silcclient/client.c.
+
+Sat Apr 27 19:52:32 EEST 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Added new QUIET channel user mode that can be used to
+         quiet a user in a channel.  Updated the protocol specs but
+         it wasn't implemented yet.  Protocol TODO #27.  Affected
+         file is lib/silccore/silcmode.h.
+
+Mon Apr 22 09:09:44 CEST 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Added BLOCK_INVITE user mode to be able to block incoming
+         invite notifications.  Protoocol TODO #26.  Affected files
+         are lib/silccore/silcmode.h, lib/silcclient/command.c and
+         silcd/command.c.
+
+       * SILC Publickey fields MUST be UTF-8 encoded now.  Updated
+         the protocol specs and the code.  Affected file is
+         lib/silccrypt/silcpkcs.c.
+
+Sun Apr 21 19:44:38 EEST 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Disconnect Payload includes now the status type.  Updated
+         the protocol specs and the code.  Protocol TODO #25.
+         Affected files are silcd/server.c, lib/silcclient/client.c.
+
+       * Added NOT_AUTHENTICATED, BAD_SERVER_ID, INCOMPLETE_INFORMATION,
+         KEY_EXCHANGE_FAILED and BAD_VERSION error status types.
+         Moved the silc_client_command_status_messages table to the
+         lib/silcutil/silcutil.c and added new funtion
+         silc_get_status_message, which deprecates function
+         silc_client_status_message.  Affected files are 
+         lib/silccore/silcstatus.h, lib/silcclient/command_reply.[ch],
+         lib/silcutil/silcutil.[ch].
+
+Fri Apr 19 17:35:15 EEST 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Defined that the nickname hash in Client ID MUST be from
+         lowercase nickname.  This effectively changes nicknames in
+         SILC to case-insensitive.  Updated the protocol specs and
+          the code.  Affected files are lib/silcutil/silcutil.[ch],
+          silcd/serverid.c, and silcd/idlist.c.
+
+       * Added new channel user modes BLOCK_MESSAGES_USERS and
+         BLOCK_MESSAGES_ROBOTS.  Updated the protocol specs and the
+         code.  Affected files are lib/silccore/silcmode.h,
+         lib/silcclient/command.c, and silcd/packet_send.c.
+
+       * Added new error status ERR_RESOURCE_LIMIT.  Updated protocol
+         specs and code.  Affected file lib/silccore/silcstatus.h.
+
+       * Added support for watch list.  It is possible to add nicknames
+         to be watched, and when they come to network, leave network
+         or user mode changes the watcher will be notified of this
+         change.  Added SILC_COMMAND_WATCH command, added new
+         notify type SILC_NOTIFY_TYPE_WATCH to deliver the watch
+         notifications.  Updated the protocol specs and implemented
+         this to library, client and server.  Protocol TODO #21.
+         Affected files are lib/silccore/silccomand.h,
+         lib/silccore/silcnotify.h, lib/silcclient/command[_reply].[ch],
+         silcd/command[_reply].[ch], lib/silcclient/client_notify.c,
+         silcd/packet_send.[ch], silcd/packet_receive.c, and
+         irssi/src/silc/core/client_ops.c.
+
+       * Added user mode SILC_UMODE_REJECT_WATCHING to reject
+         somebody watching you.  Updated the protocol specs and the
+         code.  Affected files are lib/silccore/silcmode.h, and
+         lib/silcclient/command.c.
+
+Fri Apr 19 09:02:20 CEST 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Added service support to SILC protocol.  Added new command
+          SILC_COMMAND_SERVICE.  Updated the protocol specs and the
+          core library.  Services are not implemented in server or
+          client for now.  Protocol TODO #20.  Affected files are
+          lib/silccore/silcstatus.h, lib/silccore/silccommand.h.
+
+       * Added SilcStatus argument to `command' client operation
+         to return the error status when command sending fails
+         locally.  Changed all command in client library to return
+         correct command status.  Affected files are
+         lib/silcclient/command.c, lib/silcclient/silcclient.h and
+         irssi/src/silc/core/client_ops.c.
+
+Thu Apr 18 14:09:51 CEST 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Added silc_mime_parse function to parse MIME headers.
+         Affected files are lib/silcutil/silcstruti.[ch].
+
+       * Added MIME header parsing in Irssi SILC Client.  It displays
+         all textual MIME objects, others it ignores.  Affected file
+         is irssi/src/silc/core/clien_ops.c.
+
+Wed Apr 17 22:07:59 CEST 2002  Johnny Mnemonic <johnny@themnemonic.org>
+
+       * Fixed a bug in the pid writing function, which couldn't be
+         written in a root-owned directory.
+
+Tue Apr 16 09:34:40 EEST 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Defined that channel message to unknown Channel ID must
+         cause SILC_NOTIFY_TYPE_ERROR notify message to the sender.
+         Updated the protocol specs and the code in server.  The
+         affected file is silcd/packet_receive.c.
+
+Mon Apr 15 19:57:57 EEST 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Added new notify type SILC_NOTIFY_TYPE_ERROR and specified
+         that it is used to send error notifys if error occurs during
+         some SILC packet processing, except commands.  The error
+         types are same as for command reply types.  Defined that
+         if private message is sent to unknown Client ID the error
+         is sent in SILC_NOTIFY_TYPE_ERROR instead of command reply.
+         Updated the protocol specs and code.  Affected files are
+         lib/silccore/silcnotify.h, added lib/silccore/silcstatus.h,
+         lib/silcclient/client_notify.c, silcd/packet_receive.c,
+         and irssi/src/silc/core/client_ops.c.  Renamed the
+          SilcCommandStatus to SilcStatus.
+
+       * Defined the use of extra WHOIS attributes in WHOIS command.
+         The <Requested Attributes> (defined in a separate document)
+         can be used to request additional information about user 
+         not returned by standard WHOIS command.  Defined that server
+         can send WHOIS command directly to client.  Client provides
+         the requested attributes to the server.  Updated the protocol
+         specs.  Protocol TODO #4.  Implementation is not done yet
+          (Protocol TODO #24).
+
+       * Renamed function silc_client_command_status_message to        
+         silc_client_status_message.  Affected files are
+         lib/silcclient/command_reply.[ch].
+
+Sun Apr 14 21:13:42 EEST 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Changed the WHOIS, IDENTIFY and WHOWAS count arguments to
+         32 bit integers.  Updated the protcol specs and the code.
+         Affected files are silcd/command.c and
+         lib/silcclient/command.c.
+
+Sun Apr 14 19:49:02 CEST 2002  Johnny Mnemonic <johnny@themnemonic.org>
+
+       * Fixed a bug in library where sending a bogus authentication
+         payload would lead to a crash.  Affected file is
+         lib/silccore/silcauth.c.
+
+Sat Apr 13 13:09:24 EEST 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Added detach_disabled and detach_timeout server config
+         options to the server.  Affected files silcd/serverconfig.[ch],
+         silcd/command.c and silcd/packet_receive.c.
+
 Fri Apr 12 20:09:08 EEST 2002  Pekka Riikonen <priikone@silcnet.org>
 
-         Added resolve_cmd_ident field to the SilcClientEntry structure
+       * Added resolve_cmd_ident field to the SilcClientEntry structure
          too so that if the entry is for example being resolved so 
          another command may attach to the same pending command reply
          without requiring to resolve the same entry again.  Added