Do not wait for backup after rehash.
[silc.git] / CHANGES
diff --git a/CHANGES b/CHANGES
index 372a01416757a124ce58d77c811dd5d314ce2047..9d0dd713dbc2db3a1d41f5e1624721502657d51d 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,264 @@
+Fri Jun 28 11:53:25 CEST 2002 Pekka Riikonen <priikone@silcnet.org>
+
+       * Remove server/router operator privileges in DETACH command,
+         since it's possible to resume to server where these
+         privileges would not be allowed for the client.  Affected
+         file silcd/command.c.
+
+       * Do not set to wait for backup in rehash of the server.
+         Affected file silcd/server.c.
+
+Thu Jun 27 20:07:27 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
+
+       * Buffer overflow with CUMODE command's mode->mode character
+         conversion.  Reported by Ville Räsänen.  Affected file
+         lib/silcutil/silcutil.c.
+
+Thu Jun 27 16:54:33 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
+
+       * Allow heartbeat packets to go disabled connections anyway.
+         Affected files silcd/server.c and silcd/packet_send.c.
+
+       * Do not broadcast New Channel packets with List flag set
+         in the packet to backup routers.  The router must check
+         for the correctness of the packets before sending them.
+         It is possible that router will have enforce Channel ID
+         change and this would cause desync in the backup router.
+         Affected file silcd/packet_receive.c.
+
+       * Remove SILC_PACKET_FLAG_LIST from the temp packets that
+         are handled in list parsing.  They are not list packets
+         anymore.  Affected file silcd/packet_receive.c.
+
+Thu Jun 27 11:27:07 CEST 2002 Pekka Riikonen <priikone@silcnet.org>
+
+       * Stop waiting for backup router through the timeout, not
+         directly after backup router has arrived.  Affected file
+         silcd/server.c.
+
+       * Do not re-create channel keys and send them when removing
+         clients in server shutdown.  Affected files are
+         silcd/server_internal.h and silcd/server_util.c.
+
+       * Notify distribution to backup routers was missing from
+         the silc_server_send_notify_dest function which caused
+         desyncing problems with backup router.  Affected file is
+         silcd/packet_send.c.
+
+       * The client's channel removing was working wrong on
+         backup router.  It assumed that it doesn't know global
+         information but backup router does know.  For this reason
+         it could remove channel when it wasn't supposed to do that.
+         Affected file silcd/server.c and silcd/server_util.c.
+
+Wed Jun 26 15:14:12 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
+
+       * Stop for a couple seconds after badkup router has become
+         primary router.  Affected file silcd/server.c.
+
+       * Added silc_server_remove_servers_by_server, which is used
+         to remove servers originated from some other server.  Also
+         clients of those servers can be removed too.  Affected file
+         silcd/server_util.[ch].
+
+       * When removing clients after a server has signed of remove
+         also all servers behind that server (unless they are known
+         to be available locally), and send SERVER_SIGNOFF for each
+         of the server separately.  Also the signed off clients are
+         sent now separately per signed off server.  The affected files
+         are silcd/server.c and silcd/server_util.[ch].
+
+       * All servers added with silc_idlist_add_server must always
+         have both "router" and "connection" pointers set.  Otherwise,
+         bad server entries may be left around in the cache.
+         Affected file silcd/command_reply.c.
+
+       * Do not create the channel key in NEW_CHANNEL packet
+         processing if the channel is empty.  Affected file
+         silcd/packet_receive.c.
+
+       * Completed backup router support for standalone routers.
+         Supports also servers in the cell that do not use the backup
+         at all.
+
+Wed Jun 26 10:38:11 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
+
+       * Fixed a bug in silc_string_regexify which did not add '^'
+         at the start of each string, and thus the matching was
+         not explicit.  For example ban list iikone@*!*@* would
+         match also "priikone", which is wrong, it would have to be
+         *iikone@*!*@* to match also "priikone".  Affected
+         file lib/silcutil/unix/silcunixutil.c.
+
+Tue Jun 25 18:47:39 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
+
+       * Enable all local server connections before updating client
+         caches when we've become backup router.  Otherwise, signoff
+         packets may not reach the clients.  Affected files are
+         silcd/server.c and silcd/server_util.[ch].
+
+       * Fixed a bug in version string parsing which could crash
+         the program with specially formatted version string.
+         Bug reported and patch provided by Ville Räsänen.  Affected
+         file lib/silcutil/silcutil.c.
+
+       * Handle the disconnection immediately when DISCONNECT
+         packet is received in server.  Affected file silcd/server.c.
+
+       * Primary router now waits a short time (10 seconds) for
+         backup router connection before accepting any other
+         connection (except local).  Affected file silcd/server.c,
+         serverconfig.[ch].
+
+       * Fixed a crash in client libary in NICK_CHANGE notify when
+         NICK_CHANGE arrived for client entry we are resolving
+         currently.  Affected file lib/silcclient/client_notify.c.
+
+       * Call the sconn->callback completion even if error had
+         occurred.  Start reconnecting always if connection to
+         primary router fails during backup router protocol.
+         Affected files silcd/server.c and server_backup.c.
+
+Mon Jun 24 17:47:52 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
+
+       * Added functions silc_server_send_opers and
+         silc_server_send_opers_notify to send packets stricly
+         to operators.  Added macro SILC_SERVER_SEND_OPERS macro
+         to send variable argument notify to operators.
+         Affected files silcd/packet_send.[ch] and silcd/server.h.
+
+       * Removed UMODE rights checking with UMODE_CHANGE notify.
+         Affected file silcd/packet_receive.c.
+
+       * Server/router operator now receives notify when network
+         switches to backup router and when it resumes the use of
+         primary router.  Affected file silcd/server.c and
+         silcd/server_backup.c.
+
+       * Fixed the updating of client information after backup
+         resuming protocol is over; update all except local clients
+         to the new primary router.  The affected file is
+         silcd/server_util.c.
+
+       * Added support for closing active connections in rehash
+         that were unconfigured by the user.  Supports currently
+         closing server and router connections.  Affected file
+         silcd/server.c.
+
+       * Rewrote some SILC_LOG_DEBUG's in silcd/server_backup.c.
+
+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
@@ -14,7 +275,7 @@ Thu Jun 20 13:48:15 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
        * Added macro SILC_NOT_IMPLEMENTED to lib/silcutil/silclog.h.
 
        * Added function silc_get_command_name to the file
-         lib/silcutil/silcutil.[ch
+         lib/silcutil/silcutil.[ch].
 
        * Improved the server debug output a bit.  Affected files are
          in silcd/.
@@ -3859,6 +4120,12 @@ Sat Aug 11 00:29:57 EEST 2001  Pekka Riikonen <priikone@silcnet.org>
          set as the new server's context instead of SilcServerEntry.
          This naturally caused some weird bugs.
 
+       * Added "updated" field the SilcChannelEntry which indicates
+         the time since the channel entry was last accessed.  This
+         can be used to determine whether it is necessary to
+         announce the channel after backup resuming protocol.
+         Affected files silcd/idlist.[ch].
+
 Thu Aug  9 18:28:37 EEST 2001  Pekka Riikonen <priikone@silcnet.org>
 
        * Do not delete the channel rekey task when adding it