updteas.
[silc.git] / CHANGES
diff --git a/CHANGES b/CHANGES
index 65971497fc78f89e1d1ce37dbeb0f4110dceac32..c6c440a78453c4647ab84801c1380d5cc1da2edd 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,213 @@
+Fri Mar 23 16:25:11 EET 2001  Pekka Riikonen <priikone@poseidon.pspt.fi>
+
+       * Redefined the INVITE command.  The same command can be used to
+         invite individuals to the channel but also to manage the invite
+         list of the channel (to add to and remove from the invite list).
+         Updated the protocol specs.
+
+       * Added new command SILC_COMMAND_BAN that can be used to manage
+         the ban list of the channel.  Updated the protocol specs.
+
+       * Removed the channel modes: the SILC_CMODE_BAN and the 
+         SILC_CMODE_INVITE_LIST as they were a bit kludge to be included
+         in the CMODE command.  The equivalent features are now available
+         using INVITE and BAN commands.  Updated the protocol specs.
+
+       * Added new SILC_NOTIFY_TYPE_BAN notify type to notify routers
+         in the network about change in the current ban list.  The notify
+         type is not used by the client.
+
+       * Redefined parts of the SILC_NOTIFY_TYPE_INVITE command to 
+         support the invite lists.
+
+Thu Mar 22 22:52:23 EET 2001  Pekka Riikonen <priikone@poseidon.pspt.fi>
+
+       * Added new function silc_string_regexify that converts string
+         including wildcard characters into regex string that can
+         be used by the GNU regex library.  Added into the file
+         lib/silcutil/silcutil.[ch].
+
+         Added silc_string_regex_combine to combine to regex strings
+         into one so that they can be used as one regex string by
+         the GNU regex library.  Added into the file
+         lib/silcutil/silcutil.[ch].
+
+         Added silc_string_regex_match to match two strings.  It returns
+         TRUE if the strings match.  Added into lib/silcutil/silcutil.[ch].
+
+Thu Mar 22 15:29:42 EET 2001  Pekka Riikonen <priikone@poseidon.pspt.fi>
+
+       * Imported GNU regex to the soruce tree into lib/contrib.
+         Fixed some compiler warning from the regex.c.
+
+Wed Mar 21 15:27:58 EET 2001  Pekka Riikonen <priikone@poseidon.pspt.fi>
+
+       * Fixed MOTD command in the server to work in router environment.
+
+       * Fixed the MOTD command in the client library to support
+         the server argument in the command.
+
+       * Added `nickname_len' argument to the silc_idlist_add_client
+         in the server, as the `nickname' argument may be binary data
+         (it may be hash).
+
+       * Added silc_idlist_get_channels to return all channels from
+         the ID list.
+
+       * Implemented LIST command to the server.  Affected file is
+         silcd/command.c.
+
+       * Implemented the LIST command to the client library and on the
+         user interface.
+
+       * Added [<user count>] argument to the LIST command reply.
+         With private channels the user count is not shown.
+
+       * Updated TODO and README.
+
+Tue Mar 20 21:05:57 EET 2001  Pekka Riikonen <priikone@poseidon.pspt.fi>
+
+       * The client entry's data.registered must be TRUE even with
+         global client entry on global client list.  The data.registered
+         is used to check whether the client is anymore in the network,
+         for example with WHOWAS command so it must be valid.
+
+       * Fixed the WHOWAS command in the server.  It now actually works
+         in router environment.  Added function into silcd/command_reply.c
+         silc_server_command_reply_whowas_save.
+
+       * Added silc_idlist_purge function to the silcd/idlist.c
+         to periodically purge the ID Cache.
+
+       * Fixed INFO command in the server.  It works now in router
+         environment.  Added <server name> argument to the INFO command
+         reply.  Updated the protocol specs.
+
+       * Fixed minor bug in silc_idcache_purge to not purge if the
+         expire value is zero.
+
+       * Fixed various bugs in WHOIS and IDENTIFY command handling as
+         they were buggy because of the WHOWAS information.
+
+       * Fixed local command MSG to handle the async resolving of 
+         the remote client properly.  It used to fail the first MSG.
+         Affected file silc/local_command.c.
+
+       * Added `data_len' field to SilcIDCache context.
+
+Tue Mar 20 16:29:00 EET 2001  Pekka Riikonen <priikone@poseidon.pspt.fi>
+
+       * Update TODO.  Todo in commands in the server.
+
+Tue Mar 20 15:45:14 EET 2001  Pekka Riikonen <priikone@poseidon.pspt.fi>
+
+       * Added new notify type SILC_NOTIFY_TYPE_UMODE_CHANGE that is
+         used by routers as broadcast packet to inform other routers
+         about the changed user mode.
+
+         Implemented the notify handling in the server.  Affected file is
+         silcd/packet_receive.c.  Added the function 
+         silc_server_send_notify_umode to the silcd/packet_send.[ch].
+
+       * Added new generic Channel Payload and deprecated the New Channel
+         Payload.  The New Channel Payload is now the generic Channel
+         Payload.
+
+       * Added new argument `mode' to the silc_server_send_new_channel
+         as it is required in the Channel Payload now.
+
+       * Renamed the SilcChannelPayload to SilcChannelMessagePayload
+         and created a new and real SilChannelPayload to represent the
+         new generic Channel Payload.  Implemented the encode/decode
+         for Channel Payload.  Affected file lib/silccore/silcchannel.[ch].
+
+       * Added silc_server_get_client_channel_list to return the list
+         of channels the client has joined for WHOIS command reply.
+         Affected file silcd/server.[ch].
+
+       * Implemented the channel list sending in the WHOIS command reply
+         in server and in the client.
+
+         Implemented the channel list displaying on the user interface
+         as well.  Affected file silc/client_ops.c.
+
+       * Added silc_channel_payload_parse_list to parse list of Channel
+         Payloads.  It returns SilcDList list of SilcChannelPayloads.
+         Client for example can use this function to parse the list of
+         channels it receives in the WHOIS command reply.  The caller
+         must free the list by calling silc_channel_payload_list_free.
+         Affected files lib/silccore/silcchannel.[ch].
+
+Mon Mar 19 21:39:15 EET 2001  Pekka Riikonen <priikone@poseidon.pspt.fi>
+
+       * Added one new argument <user mode> to the WHOIS command reply
+         to return the mode of the user in SILC.  Updated the protocol
+         specs.
+
+         Implemented it to the server and client.
+
+Mon Mar 19 18:43:06 EET 2001  Pekka Riikonen <priikone@poseidon.pspt.fi>
+
+       * Fixed the mode printing on the user interface on joining.
+         Affected file silc/client_ops.c.
+
+       * Implemented the UMODE command and user modes in general to the
+         client library and to the user interface.
+
+       * Implemented the UMODE command to the server.
+
+       * The server now sends UNKNOWN_COMMAND error status if client sends
+         unknown command.  Affected file silcd/command.c.
+
+       * All server commands now handle the command identifier the right
+         way when sending the command reply to the client.  The client can
+         use to identify the command replies with the identifier.
+
+Mon Mar 19 16:13:07 EET 2001  Pekka Riikonen <priikone@poseidon.pspt.fi>
+
+       * Added silc_server_get_client_route to resolve the route to
+         the client indicated by the client ID.  Affected file is
+         silcd/server.[ch].
+
+       * Added silc_server_relay_packet as general function to relay
+         packet to arbitrary destination.  This deprecates functions
+         like _send_private_message_key, _relay_notify etc.  Affected
+         file is silcd/packet_send.[ch].
+
+         Removed silc_server_send_key_agreement, 
+         silc_server_send_private_message_key and
+         silc_server_packet_relay_notify functions from the file
+         silcd/packet_send.[ch].
+
+       * Updated TODO.
+
+       * Implemented the SILC_NOTIFY_TYPE_KILLED notify handling in the
+         server.  Affected file silcd/packet_receive.[ch].
+
+       * Implemented the KILL command to the client.  Implemented the
+         SILC_NOTIFY_TYPE_KILLED notify handling in the client library.
+         Affected files lib/silcclient/command[_reply].c and
+         lib/silcclient/client_notify.c.  Implemented the KILL notify
+         printing in the user inteface.
+
+       * Fixed a lot silc_parse_nick memory leaks from the client
+         library in the file lib/silcclient/command.c.
+
+       * Changed the silc_server_send_notify_on_channels's `sender'
+         argument from SilcSocketConnection to SilcClientEntry to 
+         check the sender as entry and not as connection object and not
+         to send to the client provided as argument.  The affected file
+         is silcd/packet_send.[ch].
+
+       * The notify packets that are destined directly to the client used
+         to not to be processed by the server.  Now changed that and the
+         server processes all notify packets.  After relaying the packet
+         to the client the notify packet is processed in the server.
+
+       * The silc_server_free_client_data now checks whether there is
+         pending outgoing traffic for the client and purges the data to
+         the network before removing the client entry.
+
 Sun Mar 18 21:02:47 EET 2001  Pekka Riikonen <priikone@poseidon.pspt.fi>
 
        * Added SILC_NOTIFY_TYPE_KILLED notify type.  It is sent when
@@ -16,7 +226,7 @@ Sun Mar 18 21:02:47 EET 2001  Pekka Riikonen <priikone@poseidon.pspt.fi>
          whereto relay the notify.  Affected file is 
          silcd/packet_receive.[ch].
 
-       * Implemented KILL command to the server.
+       * Implemented the KILL command to the server.
 
        * Updated TODO.