make it compile on mingw32.
[silc.git] / CHANGES
diff --git a/CHANGES b/CHANGES
index 7667f232cc3dbfc6469f5b9eead9cd0dffc1e9a3..60186ed1777ef0f40efa4776cf50988b8508cb8f 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,8 +1,374 @@
-Tue Mar 19 12:32:43 CET 2002  Pekka Riikonen <priikone@silcnet.org>
+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 18:29:02 CEST 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Merged irssi crash fixes on /QUIT, patch from cras.
+
+Sun Apr 14 20:41:28 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.
+
+Mon Apr  8 19:57:40 CEST 2002  Johnny Mnemonic <johnny@themnemonic.org>
+
+       * Added config parse status SILC_CONFIG_EPRINTLINE, this status
+         must be handled by the application and should tell the application
+         that an error message was already printed, and it should print the
+         config coords (line, filename, ...).  Affected files are
+         silcd/serverconfig.c, lib/silcutil/silcconfig.[ch].
+
+       * Added local macro SILC_SERVER_CONFIG_ALLOCTMP to make the
+         server config parsing code more readable.
+
+         Fixed a bug in the fetch_logging() config callback.
+
+         Affected files is silcd/serverconfig.c.
+
+       * Drop root privileges when started in foreground.  Don't drop them
+         if debugging also.  Affected file is silcd/silcd.c.
+
+Wed Apr  3 12:36:05 CEST 2002  Pekka Riikonen <priikone@silcnet.org>
+
+        * Added better error logging in rekey protocol.  Affected file
+          silcd/protocol.c.
+
+        * Do not check public key types in SKE during rekey.  Affected
+          file lib/silcske/payload.c.
+
+        * Fixed the rekey protocol with PFS, which was totally broken.
+          Affected file silcd/protocol.c.
+
+Tue Apr  2 13:39:04 CEST 2002  Johnny Mnemonic <johnny@themnemonic.org>
+
+       * Merged version 1.1.4 of zlib. Even if it not currently in use,
+         it's good not to have security holes here.
+
+       * Fixed a negative refcount situtuation for the config context.
+         Affected file is silcd/serverconfig.c.
+
+Mon Apr  1 20:15:10 CEST 2002  Johnny Mnemonic <johnny@themnemonic.org>
+
+       * ROBOdoc documented lib/silcutil/silcutil.h.
+
+Sat Mar 30 18:15:55 EET 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Changed the silc_get_username and silc_get_real_name to
+         never fail.  Affected file lib/silcutil/unix/silcunixutil.c.
+
+       * Fixed the Irssi SILC Client to use the silc_get_username and
+         silc_get_real_name insted of glib routines since the glib
+         routines only corrupt stack.  Fixes the Irssi SILC to work in
+         Cygwin.  Affected file irssi/src/silc/core/silc-core.c.
+
+       * Fixed the Irssi to not use g_get_home_dir since it crashes
+         or returns garbage on cygwin and corrupts stack.  Added function
+         get_home_dir to Irssi routines.  Affected files are
+         irssi/src/core/misc.[ch] and irssi/src/core/core.c.
+
+Fri Mar 29 10:41:07 EET 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * And yet again reverted back the config thing since Johnny
+         screwed it up.  Affected file silcd/serverconfig.[ch], server.c,
+         and silcd.c.
+
+       * Fixed memory leaks from config object.  Affected files are
+         silcd/serverconfig.[ch].
+
+       * Added support for adding new connections to the server in rehash.
+         After rehash they take effect.
+
+         Added support for changing the maximum allowed connections in
+         rehash.  The number can grow but going smaller is not supported.
+
+         Added function silc_server_num_sockets_by_remote to the
+         silcd/server_util.[ch].
+
+         Affected files are silcd/server.c, and silcd/serverconfig.[ch].
+
+Fri Mar 29 03:26:12 CET 2002 Johnny Mnemonic <johnny@themnemonic.org>
+
+       * Added preliminary checking during config parsing for a valid
+         public/private key and removed further checks in the code.
+         Affected files are silcd/serverconfig.[ch], server.c.
+
+       * Moved functions silc_server_drop() and silc_server_daemonise()
+         from server.c to silcd.c since they are stricly related to
+         the application activity.
+
+       * Reverted a small part of the automatic ref/unref since
+         it caused a double unref in some situations.  Affected
+         files are silcd/silcd.[ch], server.c, serverconfig.c.
+
+       * Added some .cvsignore files in the lib directory.
+
+Thu Mar 28 22:51:15 EET 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Fixed silc_net_gethostbyaddr to correctly resolve by
+         address.  Affected file lib/silcutil/silcnet.c.
+
+       * Fixed the notify relaying to client.  The HMAC to be used
+         with relayed packets ws wrong and caused decryption failure
+         at the client end.  Affected file is silcd/packet_receive.c.
+
+Thu Mar 28 19:02:05 EET 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Created new branch silc_protocol_1_0_branch.
+
+       * Reverted the silc_log_quick change in lib/silcutil/silclog.c.
+
+       * Changed the silc_server_config_* routines to be SilcServer
+         independent.  They are now officially application specific code
+         and not part of generic server implementation.  Affected files
+         are silcd/serverconfig.[ch], silcd/silcd.c, silcd/server.c.
+
+Thu Mar 28 17:01:43 EET 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Added automatic referencing of config context in the
+         silc_server_config_alloc, and automatic unreferencing in the
+         silc_server_config_destroy.  Affected files are
+         silcd/serverconfig.[ch], silcd/silcd.c.
+
+       * Fixed the silc_log_quick handling in the logging routines.
+         It didn't log quickly when it was TRUE.  Affected file is
+         lib/silcutil/silclog.c.  Also the flush delay was set even
+         if it was 0 in config file.  Affected file is 
+         silcd/serverconfig.c.
+
+       * Added support for changing key pair of the server in rehash.
+         Affected file silcd/server.c.
+
+Thu Mar 28 12:17:21 CET 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Fixed the TOPIC_SET notify to not cras.  It changed the topic
+         too early, before getting the channel entry.  Affected file
+         is silcd/packet_receive.c.
+
+Thu Mar 28 09:58:16 CET 2002  Johnny Mnemonic <johnny@themnemonic.org>
+
+       * Added functions silc_server_config_[ref/unref], these are used
+         to prevent that the config object is destroyed.
+
+         No longer directly affect global variables silc_log_quick and
+         silc_log_delay, they are first cached inside the config object
+         and then applied with silc_server_config_setlogfiles().
+
+         silc_server_config_set_defaults() is now internal to
+         serverconfig.c, there are no reasons to show this internal stuff
+         to the server.
+
+         Affected files are silcd/serverconfig.[ch].
+
+       * Added macro SILC_SERVER_LOG_STDERR(), this should replace most
+         fprintf's to stderr, since some code may be executed again after
+         the server went into the background.  Affected files are
+         silcd/server.[ch].
+
+       * Added rehash support. Added function silc_server_rehash() that
+         will perform all the basic tasks of the rehashing procedure.
+
+       * Added command line option `-x, --hexdump'. This will enable the
+         SILC_LOG_HEXDUMP calls that are no longer enabled with `--debug'.
+         The option `--hexdump' implies `--debug'.
+
+       * Fixed a bad bug in the logging APIs (silcutil library) where
+         the application would crash after calling silc_log_reset_all().
+
+Wed Mar 27 19:43:16 EET 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Fixed the KICKED notify handling in client library to
+         correctly remove the channel and all entries from the
+         channel when I was kicked.  This bug crashed the client.
+
+         Fixed yet another but in KICKED notify handling to remove
+         the kicked client correctly from the channel.
+
+         Affected file is lib/silcclient/client_notify.c.
+
+       * Fixed a minor bug in looking up correct client entry
+         in KICKED notify in server.  Affected file is
+         silcd/packet_receive.c.
+
+       * Fixed the lib/silcmath/Makefile.am to include the MPI and GMP
+         sources correctly to distribution.  Fixes --with-gmp option.
+
+       * Removed the manual rehashing from ID Cache, and changed it
+         to use the SILC Hash Table's auto rehash feature.  Affected
+         file is lib/silccore/silcidcache.c.
+
+Wed Mar 27 00:07:11 EET 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Fixed a bug in the silc_client_nickname_format function that
+         handles the multiple same nickname formatting.  Two clients
+         with same nickname caused problems after the first one left
+         and rejoined.  It didn't format the nickname correctly.
+         Affected file is lib/silcclient/idlist.c.
+
+Tue Mar 26 19:33:03 CET 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Don't change the topic if olod topic is same as new one.
+         Affected file is silcd/packet_receive.c.
+
+Mon Mar 25 21:11:35 EET 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Added cross-reference support to the SILC Documentation
+         generator.  All types across all HTML files are now cross-
+         referenced.  Affected files util/robodoc/generator.c and
+         scripts/silcdoc/silcdoc.
+
+       * Added file lib/silcutil/silctypes.h to include all the
+         arithmetic type definitions and some macros.  Removed
+         includes/bitmove.h and moved macros to silctypes.h.
+
+Mon Mar 25 17:19:46 EET 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Merged bugfixes for Irssi SILC client from irssi.org CVS.
+
+Sun Mar 24 11:21:04 EET 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Added `type' argument to silc_id_payload_parse_id function which
+         now returns the type of the ID to the sent pointer.  Affected
+         file is lib/silccore/silcid.[ch].
+
+       * Added check for CMODE_CHANGE notify type that mode change is
+         allowed by the sender.  Affected file silcd/packet_receive.c.
+
+       * Added check for CUMODE_CHANGE notify type that mode change is
+         allowed by the sender.  Affected file silcd/packet_receive.c.
+         Added the ID type as CUMODE_CHANGE notify type as argument
+         to the `notify' client operation.  Affected files are
+         lib/silcclient/client_notify.c, irssi/src/silc/core/client_ops.c.
+
+       * Added function silc_client_add_server to the client library.
+         Added support for resolving also channel and server info when
+         received unknown entity in notify packet.  Affected files are
+         lib/silcclient/idlist.[ch], lib/silcclient/client_notify.c.
+
+       * Added function silc_command_get_status to return the command
+         status from the command reply's argument payload.  Affected files
+         are lib/silccore/silccommand.[ch].
+
+       * Added check for KICKED notify type that the kicking is
+         allowed by the client.  Affected file silcd/packet_receive.c.
+
+       * Created function silc_get_input which can be used to get input
+         (echo on or off) from user on command line.  Affected files are
+         lib/silcutil/silcutil.[ch].
+
+Sat Mar 23 09:51:26 EET 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Optimized silc_server_packet_relay_to_channel function.
+         Added new function silc_channel_message_payload_encrypt which
+         can be called directly if channel message payload needs to
+         be encrypted and is already encoded (no need to call _encode
+         function).  Packet relaying is now done by router without any
+         extra memory allocations.  Affected files are
+         lib/silccore/silcchanel.[ch], silcd/packet_receive.c and
+         silcd/packet_send.c.
+
+       * Fixed the INVITE notify handling.  It took wrong arguments
+         as invite list and invite delete.  Affected file is
+         silcd/packet_receive.c.
+
+       * Added check for TOPIC_SET notify type that the topic change is
+         allowed by the client.  Affected file silcd/packet_receive.c.
+
+       * Added check for INVITE notify type that inviting is allowed by
+         the client.  Affected file silcd/packet_receive.c.
+
+       * Changed the silc_server_client_on_channel to return the
+         SilcChannelClientEntry as well.  Moved the function
+         silc_server_check_cmode_rights to server_util.[ch].
+         Affected files are silcd/server_util.[ch], silcd/command.c.
+
+       * Added function silc_server_check_umode_rights to check whether
+         changing client's user mode is allowed.  Added check for
+         UMODE_CHANGE notify type that the umode change is allowed
+         by the client.  Affected files are silcd/server_util.[ch],
+         silcd/packet_receive.c and silcd/command.c.
+
+Fri Mar 22 12:25:58 CET 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Fixed the SILC_PACKET_MAX_ID_LEN to actually be the max
+         ID length.  It ignored that ID can be IPv6 based as well.
+         Affected file lib/silccore/silcpacket.h.
+
+       * Fixed the silc_id_id2str and silc_id_str2id to take the
+         IPv6 address offset's into consideration.  Affecte file is
+         lib/silccore/silcid.c.
+
+Thu Mar 21 20:44:13 EET 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Fixed the internal Unix scheduler functions to check for
+         NULL context they may receive.  The affected file is
+         lib/silcutil/unix/silcunixschedule.c.
+
+Thu Mar 21 19:12:22 EET 2002  Timo Sirainen <tss@iki.fi>
+
+       * Changed hardcoded ~/.silc paths to use get_irssi_dir() so you
+          can specify different directory with --home command line
+         parameter. Affected files irssi/src/silc/core/client_ops.c,
+          clientutil.c
+
+        * SILC-specific commands aren't now executed if the active server
+          isn't of SILC-type, so there won't be problems with having
+          IRC and SILC protocol support in same client. Affected files
+          irssi/src/silc/core/silc-channels.c, silc-servers.c,
+         silc-commands.h
+
+Wed Mar 20 11:06:57 CET 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Improved the signal support in SILC Schedule.  Added new
+         function silc_schedule_signal_call which is used by application
+         to mark a signal to be called.  It is now safe to perform
+         any kind of tasks in signal callbacks since it is guaranteed
+         that the application specified signal callback is called
+         after the signal is over.  Affected files are
+         lib/silcutil/silcschedule.[ch], lib/silcutil/*/silc*schedule.c.
+
+Tue Mar 19 20:42:41 EET 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Added `name' field to SilcChannelPrivateKey to represent
+         application given name for the key.  Moved also the context from
+         lib/silcclient/idlist.h into lib/silcclient/silcclient.h.
+         Added the `name' argument also to the function
+         silc_client_add_channel_private_key.
+
+         Added function silc_client_current_channel_private_key to set the
+         current channel private key in use.
+
+         Added "change" command to KEY command which can be used to change
+         the current channel private key.  Bound the command also to
+         alt+K (Alt+Shift+k).
+
+         Also affected files lib/silcclient/client_channel.c,
+         irssi/src/docs/help/in/key.in, irssi/src/silc/core/silc-channel.c.
+
+Tue Mar 19 16:32:43 CET 2002  Pekka Riikonen <priikone@silcnet.org>
 
        * Added silc_rng_get_byte_fast function in to the
          lib/silccrypt/silcrng.[ch].
 
+       * Changed the interface of silc_packet_assemble and the
+         silc_packet_send_prepare.  If silc_packet_assmble is now
+         called the application does not call silc_packet_send_prepare
+         because the library will call it automatically.  These
+         interfaces now also return a reference to the outgoing buffer
+         which includes the assembled packet, which the application can 
+         use to encrypt the packet.
+
+         Affected files are lib/silccore/silcpacket.[ch],
+         lib/silcclient/client.c, client_channel.c client_prvmsg.c,
+         silcd/packet_send.c, server_backup.c and packet_receive.c.
+
+       * Fixed a packet sending bug on very high load, where outgoing
+         packet queue wasn't handled correctly and packets got corrupted.
+         Affected files are lib/silcutil/*/silc*sockconn.c,
+         lib/silcclient/client.c and silcd/server.c.
+
 Mon Mar 18 21:00:41 EET 2002  Pekka Riikonen <priikone@silcnet.org>
 
        * Added macro SILC_PACKET_DATALEN which can be used during