merges from irssi.org cvs.
[silc.git] / CHANGES
diff --git a/CHANGES b/CHANGES
index aaa98c62a0361b6a9e9fccab60bd84b166a8112d..1af5295f0222ff88a8f14e91624d5dda997074ce 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,181 @@
+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
+         packet assembling to check whether the data to be added to    
+         the packet will fit to SILC_PACKET_MAX_LEN.  If not the data
+         len is truncated until it fits it.
+
+         Added checks for maximum length of channel message payload and
+         private message payload also.
+
+         Added checks for maximum packet length in server and in
+         client library.
+
+         Affected files are lib/silccore/silcpacket.h, silcd/packet_send.c,
+         lib/silcclient/client.c, lib/silccore/silcchannel.c and
+         lib/silccore/silcprivate.c, lib/silcclient/client_channel.c and
+         lib/silcclient/client_prvmsg.c.
+
+Mon Mar 18 14:54:42 CET 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Added silc_server_packet_queue_purge call to the
+         silc_server_disconnect_remote to assure that all data in the
+         queue before disconnecting is sent to the network.  Affected
+         file silcd/server.c.
+
+Sun Mar 17 19:26:16 EET 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Added the deleting of server's own ID cache entry to the
+         silc_server_free function.  Free also everything else that
+         has been allocated in silc_server_init.  The affected file 
+         is silcd/server.c.
+
 Sun Mar 17 15:44:56 EET 2002  Pekka Riikonen <priikone@silcnet.org>
 
        * Added functions silc_parse_version_string, silc_version_to_num,