updates.
[silc.git] / CHANGES
diff --git a/CHANGES b/CHANGES
index 2ffe0ed5932010e3eaee40d2c561f0ae6a7884cb..4073d8976c72e6ff6ef9371c0c5bfb33a09a93c7 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,9 +1,208 @@
+Thu Jan 17 18:59:11 EET 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Do not save client history information in SERVER_SIGNOFF.
+         Fixes the bug in normal server that it does not detect
+         the client becoming valid after the server becomes back
+         online.  Affected file silcd/server_util.c.
+
+       * Added `sock_error' field  into the SilcSocketConnection
+         context.  When error occurs during socket operation (read
+         or write) the error is saved.  Added also new function
+         silc_socket_get_error to return human readable socket error
+         message.  Affected files are lib/silcutil/silcsockconn.[ch], 
+         lib/silcutil/unix/silcunixsockconn.c, and
+         lib/silcutil/win32/silcwin32sockconn.c.
+
+       * The server now prints the socket error message in the
+         signoff for client.  Affected file silcd/server.c.
+
+       * Fixed the `created' channel information sending from router
+         to server in JOIN command.  Checks now whether the channel
+         really was created or not and set it according that. 
+
+         Fixed the JOIN command to use the client entry's current
+         ID during the joining procedure instead of the one it sent
+         in the command (it is checked though), since it can change
+         between the packet processing and command processing, and 
+         would just case unnecessary pain in the client end.  Affected
+         file silcd/command.c.
+
+       * Fixed a channel key payload sending to use correct channel
+         ID when the server was forced to change the channel's ID by
+         router.  Router sent the key payload with the old Channel ID.
+         Affected file silcd/packet_receive.c.
+
+Wed Jan 16 22:26:30 EET 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Call silc_server_save_channel_key only if the key payload
+         was provided in the JOIN command's command reply.  Affected
+         file silcd/command_reply.c.
+
+Tue Jan 15 18:49:41 EET 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Fixed silc_mp_sizeinbase to return the value correctly with
+         MPI.  Affected file lib/silcmath/mp_mpi.c.
+
+       * Fixed the stop_server signal to correctly stop the scheduler
+         and gracefully stop the server when SIGTERM or SIGINT signals
+         are received.  Affected file silcd/silcd.c.
+
+Mon Jan  7 23:38:19 CET 2002  Johnny Mnemonic <johnny@themnemonic.org>
+
+       * Simple handling of TERM and HUP signals. Also added some log
+         flushing call around.  Affected file is
+         silcd/silcd.c.
+
+       * Fixed small bugs in silclog.c. Now buffering output will take
+         effect after 10 seconds since startup: This will ensure that
+         no important startup messages are lost. Also output redirection
+         will preserve original format ([Date] [Type] message).
+         Affected file is lib/silcutil/silclog.c.
+
+       * Added two options to the config file, in the logging section:
+         quicklogs:<yes/no>: and flushdelay:<seconds>:.  Affected files
+         lib/silcutil/silclog.[ch], silcd/serverconfig.[ch].
+
+Sun Jan  6 12:49:40 EET 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Do not print the warning about log files not being initialized
+         more than once to avoid excess logging.  Affected file is
+         lib/silcutil/silclog.c.
+
+       * Fixed the SIM compilation in lib/silcsim/Makefile.am.  Fixed
+         the SIM copying in make install in Makefile.am.pre.
+
+Sun Jan  6 01:10:21 CET 2001  Johnny Mnemonic <johnny@themnemonic.org>
+
+       * Rewritten silclog APIs. Globally interesting changes follows:
+         silc_log_set_files() changed to silc_log_set_file().
+         silc_log_set_callbacks() changed to silc_log_set_callback().
+         ROBOdoc documented silclog header file.
+         SilcLogCb now returns bool to wether inihibit the default
+         handler or not (to keep the old behaviour return always TRUE).
+         The new APIs should also fix the problem of the
+         silcd_error.log file that was written in the current directory.
+
+         New features:
+         Log files streams will remain opened after silc_log_set_file()
+         call, means less CPU usage notably on high traffic servers.
+         File streams are now full buffered, and flushed to the disk
+         every 5 minutes, lesses HD activity and CPU usage.
+         Messages can be redirected, allowing admins to configure
+         one single logfile for all server messages.
+         the silc_log_quick global variable to activate fast-logging.
+         Affected files lib/silcutil/silclog.[ch]
+
+       * Changed some code to conform new silclog APIs. Affected
+         files are doc/example_silcd.conf.in, silcd/server.c
+         irssi/src/silc/core/silc-core.c, silcd/serverconfig.[ch],
+         silcd/silcd.c.
+
+       * Fixed a memory leak that could occur in some situations.
+         Affected file silcd/serverconfig.c.
+
+Sat Jan  5 13:37:29 EET 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Added the silc_client_del_client to remove the client from
+         all channels as well.  Affected file lib/silcclient/idlist.c.
+
+       * Fixed the client library to correctly remove the client
+         from all channels when the client entry is being destroyed.
+         Affected file lib/silcclient/client_notify.c, command.c.
+
+       * Added auto-nicking support to the client library.  If the
+         applicatio now sets client->nickname it will be sent to the
+         server after connecting by the library.  This way for example
+         SILCNICK (or IRCNICK) environment variables will have effect
+         and always change the nickname automatically to whatever
+         it is wanted.  Affected file lib/silcclient/client.[ch].
+
+       * Renamed silc_server_command_bad_chars to the
+         silc_server_name_bad_chars and moved it to the
+         silcd/server_util.[ch].  Added also new function
+         silc_server_name_modify_bad to return nickname that
+         includes bad characters as new nickname without those
+         bad characters.  This check and modify is now used in
+         silc_server_new_client when the username is initially set
+         as nickname, so it must be checked to be valid nickname.
+         Affected file silcd/packet_receive.c.
+
+       * The nickname length is now taken from the packet for real
+         and not trusted to strlen() since it clearly can return
+         wrong length for nickname including bad characters.  This
+         also applies to channel names.  Affected file silcd/command.c.
+
+       * Removed the lib/silcsilm/modules directory.  Modules are now
+         compiled into the lib/silcsim.  Fixed the copying of the
+         modules to follow symbolic links in Makefile.am.pre.
+
+Wed Jan  2 18:56:21 EET 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Fixed silc_string_regexify list creation.  Fixes bugs with
+         BAN and INVITE commands in server.  The affected file is
+         lib/silcutil/unix/silcunixutil.c.
+
+Sun Dec 30 13:41:34 EET 2001  Pekka Riikonen <priikone@silcnet.org>
+
+       * Removed the command destructor entirely from the server's
+         command and command reply routines.  It is not needed, and
+         its usage was buggy and caused crashes.  Affected files are
+         silcd/command[_reply].[ch].
+
+Fri Dec 28 12:43:22 EET 2001  Pekka Riikonen <priikone@silcnet.org>
+
+       * Cancel protocol and NULL sock->protocol if timeout
+         occurred during protocol.  Affected file silcd/server.c.
+
+       * Cancel protocol timeouts always before calling the final
+         callback, to assure that after final callback is called
+         no other state will be called for the protocol anymore.
+         Affected file silcd/protocol.c.
+
+       * Print error log if incoming connection configuration could
+         not be found.  Affected file silcd/server.c.
+
+       * Fixed JOIN command to correctly save the founder mode
+         to the client on normal SILC server, when the channel
+         was created by the router.  Affected file silcd/command.c.
+
+       * Fixed LIST command (hopefully) to send correct reply
+         packets.  Affected file silcd/command.c.
+
+Thu Dec 20 16:14:52 CET 2001  Pekka Riikonen <priikone@silcnet.org>
+
+       * The silc_packet_receive_process now returns FALSE if the
+         read data was invalid packet, and TRUE if it was ok.
+
+         The server now checks that if unauthenticated connection
+         sends data and its processing fails the server will close
+         the connection since it could be a malicious flooder. 
+
+         Affected files lib/silccore/silcpacket.[ch], silcd/server.c.
+
 Wed Dec 19 21:31:25 EET 2001  Pekka Riikonen <priikone@silcnet.org>
 
        * Make sure the warning about error opening a log file is
          printed only once and not everytime it fails (produces
          too much useless log).  Affected file lib/silcutil/silclog.c.
 
+Wed Dec 19 18:21:51 CET 2001  Johnny Mnemonic <johnny@themnemonic.org>
+       * Made the silc_server_daemonise() function more readable.
+         Affected file silcd/server.c.
+       * Pid file is now optional, the user may comment it out from
+         the config file. Removed define SILC_SERVER_PID_FILE, we
+         don't need a default any longer.  Affected file
+         configure.in.pre, lib/Makefile.am.pre.
+       * Make some use of the pid file. The server now dies at startup
+         if it detects a valid pid file on his path. The server would
+         die anyway in this circumstance, because of the bind() failure.
+         Affected file silcd/silcd.c.
+       * No longer compiling lib/dotconf.
+
 Mon Dec 17 18:24:27 EET 2001  Pekka Riikonen <priikone@silcnet.org>
 
        * Fixed JOIN command parsing not to crash.  Affected file