Added preliminary backup router support for standalone routers.
[silc.git] / CHANGES
diff --git a/CHANGES b/CHANGES
index ed32fb8320bda45ee209a2d9912db25b0d0245b5..837f2525820846c0ee77abcd3088f0c7b1808271 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,274 @@
+Sun Jun 23 17:32:31 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
+
+       * Don't do SILC_STRING_LANGUAGE encoding if the outbuffer
+         is NULL since seems that on some platforms NULL is allowed
+         and on some it's not.  Fallback encoding is used instead.
+         Affected file lib/silcutil/silcstrutil.c.
+
+       * Fixed statistics updating for incoming server connection
+         which could cause problems when re-connecting.  Affected
+         file silcd/server.c.
+
+       * Preliminary backup router support for standalone router
+         added.  Affected files in silcd/.
+
+       * Mark server connections in backup router disabled before
+         and after backup protocol.  Affected file is
+         silcd/server_backup.c.
+
+       * Added support for reconnecting to remote server connection
+         even if the protocol fails, and if the configuration wants
+         us to keep trying to connect anyway.
+
+         Server connection is not allowed to backup router if
+         backup router does not have connection to primary router yet.
+
+         Affected file is silcd/server.c.
+
+Sat Jun 22 21:34:59 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
+
+       * Added silc_client_udpate_server function to update changed
+         server info.  Affected file lib/silcclient/idlist.[ch].
+
+       * Added check for server entries that are being resolved when
+         notify is received.  If being resolved, handle the received
+         notify only after it's resolved so that all notifys are
+         handled in same order as received from the server.
+
+         Added similar resolver check to channel entries.  Every
+         notify that cause resolving of any information that affects
+         channel entry marks the channel entry in waiting state.
+         After whatever resolving is over the waiters are signalled
+         and only then the notifys are handled in the same order
+         as delivered from the server.
+
+         Affected files are lib/silcclient/idlist.[ch], and
+         client_notify.c.
+
+       * Fixed KILLED notify handling in normal server.  Affected
+         file silcd/packet_receive.c.
+
+       * Added SILC_IDLIST_STATUS_LOCAL which indicates that entry
+         is locally connected, or was locally connected (but may
+         be detached and connection is not active).  Added also
+         SILC_IS_LOCAL for checking this status.  Affected files
+         silcd/idlist.h, silcd/packet_receive.c, silcd/server_util.c,
+         silcd/server.c and silcd/server_internal.h.
+
+Sat Jun 22 17:06:58 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
+
+       * Don't send or handle TOPIC_SET if topic is already set and
+         is same as being set.  Affected files silcd/command.c and
+         silcd/packet_receive.c.
+
+       * Fixed CMODE change rights checking to work correctly when
+         removing modes by operator.  Affected file is
+         silcd/server_util.c.
+
+       * Fixed some handling with New Channel packet in router and
+         fixed some CMODE_CHANGE notify handling in server and router.
+         Affected file is silcd/packet_receive.c.
+
+       * Changed "disconnect" client operation to include the
+         reason of the disconnection and optional disconnection
+         message.  Affected file lib/silcclient/silcclient.h.
+
+       * Made the compilation of lib/contrib/ stuff conditional.
+         Affected files configure.in.pre, lib/contrib/Makefile.am.
+
+Sat Jun 22 12:49:21 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
+
+       * All CMODE_CHANGE and CUMODE_CHANGE notifys are now sent back
+         to the sender of the notify too, to avoid situation where two
+         notifys are in the network at the same time going to oppsite
+         directions.  Affected file silcd/packet_receice.c.
+
+Fri Jun 21 10:00:32 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
+
+       * Delete the client from channel even if the cilent->id is
+         NULL.  It was possible that client was deleted without
+         removing from channels (theoretically at least).  Affected
+         file silcd/server.c and silcd/server_util.c.
+
+       * Free the client data too when resuming is not successful.
+         Affected file silcd/packet_receive.c.
+
+       * Merged some code from c0ffee's silc-plugin.  Affected files
+         irssi/src/silc/core/silc-channels.c and silc-expandos.c.
+
+       * Added SILC_PRIMARY_ROUTE and SILC_BROADXAST macros to
+         silcd/server_internal.h.  SILC_PRIMARY_ROUTE Returns pointer
+         to the primary router connection, the other one returns
+         TRUE if packet must be broadcasted to network.
+
+       * All notifys that are destined to primary router (to network)
+         are now automatically sent to backup routers even if the
+         router is standalone (and has backup router).  Affected files
+         in silcd/.
+
+       * Added --without-irssi and --without-silcd configuration
+         options for disabling the compilation of these applications.
+         Affected file configure.in.pre and prepare.
+
+Thu Jun 20 13:48:15 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
+
+       * Implemented SILC_STRING_BMP and SILC_STRING_UNIVERSAL for
+         UTF-8 encoding and decoding.  Added also new encodings
+         SILC_STRING_BMP_LSB and SILC_STRING_UNIVERSAL_LSB.
+
+         Added also SILC_STRING_LANGUAGE which is language and charset
+         specific encoder and decoer for those platforms that support
+         iconv().  It can convert the UTF-8 to and from the locale
+         specific character set.
+
+         Affected file lib/silcutil/silcstrutil.[ch].
+
+       * Added macro SILC_NOT_IMPLEMENTED to lib/silcutil/silclog.h.
+
+       * Added function silc_get_command_name to the file
+         lib/silcutil/silcutil.[ch].
+
+       * Improved the server debug output a bit.  Affected files are
+         in silcd/.
+
+Wed Jun 19 17:46:31 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
+
+       * Save the channel passphrase when received succesful JOIN
+         command reply from router, on normal server.  Otherwise
+         joinig +a channels from normal server is not possible.
+         Affected file silcd/command.c.
+
+       * Fixed a bug in TOPIC_SET notify handling.  The notifier
+         may be other than client too, like server or channel.
+         It expected it to always be only client and ignored the
+         notify.  Affected file silcd/packet_recieve.c.
+
+       * Removed some (unnecessary) debug printing from 
+         lib/silccore/silcid.c and lib/silccore/silcargument.c.
+
+       * Do not force CMODE_CHANGE when server is announcing new
+         channel.
+
+         Router announces stuff only after server reannounces channel
+         after CHANNEL_CHANGE notify.
+
+         These fixes optimizes the announcing procedure, and perhaps
+         fixes some problems too.  Affected file silcd/packet_receive.c.
+
+       * Fixed SERVER_SIGNOFF sending to local clients.  It was
+         totally broken and sent the notify to all local clients, 
+         instead of only to those that was on same channel as the
+         signing off clients.  Affected file silcd/server_util.c.
+
+       * Added -D option to server.  It can be used to give debug
+         level.  The levels are from 0 - 99, and are predefined for
+         smooth server debugging.  (see silcd.c for the predefined
+         levels).  Affected file silcd/server.c.
+
+Wed Jun 19 16:01:51 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
+
+       * Fixed a bug in Irssi SILC client to close the connection
+         properly when disconnecting from server.  Affected file
+         irssi/src/silc/core/client_ops.c.
+
+Tue Jun 18 17:14:52 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
+
+       * When authenticating as founder during JOIN command, check
+         that the one authenticating becomes the only founder on the
+         channel.  Affected file silcd/command.c.
+
+       * Better checking for founder mode setting when CUMODE_CHANGE
+         notify is received.  Affected file silcd/packet_receive.c.
+
+       * Close all connections when shutting down the server by sending
+         DISCONNECT packet.  Close all listeners too when shutting
+         down the server.  Affected file silcd/server.c.
+
+       * Handle DISCONNECT packet correctly in client library by
+         calling the "disconnect" client operation.  Affected file
+         lib/silcclient/client.c.
+
+       * Handle local errors correctly during resuming.  Affected
+         file lib/silcclient/client.c.
+
+Tue Jun 18 10:26:27 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
+
+       * The log file is not dupped internally anymore in
+         lib/silcutil/silclog.c.  Fixed memory leaks too.
+
+       * The scheduler now dispatches all pending timeout tasks
+         when it is uninitialized with silc_schedule_uninit.
+         Affected file lib/silcutil/silcschedule.c.
+
+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.
+
+       * Reverted back a fix made to CUMODE which broke it.
+         Affected file silcd/command.c.
+
+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
@@ -9,6 +280,11 @@ Fri Jun 14 22:59:02 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
          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