updates.
[silc.git] / CHANGES
diff --git a/CHANGES b/CHANGES
index 5b1a5015f65ee7c6c8b71e9ec6ffb529c7121887..9333281e78b8d82416c95baa84af07e810d001cb 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,191 @@
+Wed Mar 14 20:37:35 EET 2001  Pekka Riikonen <priikone@poseidon.pspt.fi>
+
+       * Added new SILC_CF_LAG_STRICT command flag that strictly forces
+         that the command may be executed only once in (about) 2 seconds.
+         The old SILC_CF_LAG flag is same but allows command bursts up
+         to five before limiting.
+
+         Added the support for CF_LAG and CF_LAG_STRICT flags to the
+         server code.  Various commands now includes the CF_LAG_STRICT
+         flag to disallow any kind of miss-use of the command.
+
+Wed Mar 14 16:10:30 EET 2001  Pekka Riikonen <priikone@poseidon.pspt.fi>
+
+       * Changed the format of AdminConnection configuration section
+         in the server.  Added username of the admin to the format.
+         Affected files silcd/serverconfig.[ch].
+
+         Added silc_server_config_find_admin into silcd/serverconfig.[ch]
+         to return admin configuration data by host, username and/or
+         nickname.
+
+Wed Mar 14 13:18:16 EET 2001  Pekka Riikonen <priikone@poseidon.pspt.fi>
+
+       * Implemented WHOWAS command to the server.  Added the functions:
+
+         silc_server_command_whowas_parse,
+         silc_server_command_whowas_send_reply,
+         silc_server_command_whowas_from_client and
+         silc_server_command_whowas_from_server
+
+       * Added <Client ID> argument to the WHOWAS command reply.  Updated
+         the protocol specs accordingly.
+
+       * Implemented WHOWAS command and command_reply to the client
+         library.
+
+         Implemented the WHOWAS printing on the user interface.
+
+Tue Mar 13 22:17:34 EET 2001  Pekka Riikonen <priikone@poseidon.pspt.fi>
+
+       * Added new argument to the WHOWAS command reply, the real name.
+         It is an optional argument.  Updated the protocol specs.
+
+       * Added SilcIDCacheDestructor callback that is registered when
+         the SilcIDCache is allocated.  The callback is called when
+         an cache entry in the ID Cache expires, or is purged from the
+         cache.  Added into lib/silccore/idcache.[ch].
+
+         Added silc_idlist_client_destructor to the silcd/idlist.[ch]
+         to destruct the client entries when the cache entry expires.
+         Other ID Cache's in server and in the client library ignores
+         the destructor.
+
+       * If the ID Cache entry's `expire' field is zero then the entry
+         never expires.  Added boolean `expire' argument to the
+         silc_idcache_add function in the lib/silccore/idcache.[ch].
+         If it is TRUE the default expiry value is used.
+
+       * Added silc_server_free_client_data_timeout that is registered
+         when client disconnects.  By default for 5 minutes we preserve
+         the client entry for history - for WHOWAS command.
+
+Tue Mar 13 13:26:18 EET 2001  Pekka Riikonen <priikone@poseidon.pspt.fi>
+
+       * Added support to the server to enforce that commands are not
+         executed more than once in 2 seconds.  If server receives 
+         commands from client more frequently, timeout is registered
+         to process the commands.  Affected file silcd/command.c.
+         Added new function silc_server_command_process_timeout.
+
+       * Changed NICK_NOTIFY handling in client library to check that
+         if the client's nickname was changed, so there is no need to
+         resolve anything from the server.
+
+       * Removed error printing from the WHOIS and IDENTIFY commands.
+         If error occurs then it is ignored silently in the client library.
+         The application, however, may map the received error to 
+         human readable error string.  The application currently maps
+         the NO_SUCH_NICKNAME error to string.
+
+       * Made the command status message public to the application.  Moved
+         them from lib/silcclient/command_reply.c to 
+         lib/silcclient/command_reply.h.  The application can map the
+         received command status to the string with the
+         silc_client_command_status_message function.
+
+       * Added check to the server to check that client's ID is same
+         as the Source ID in the packet the client sent.  They must
+         match.
+
+Tue Mar 13 12:49:21 EET 2001  Pekka Riikonen <priikone@poseidon.pspt.fi>
+
+       * Added dist-bzip hook to the Makefile.am to make bzip2
+         compressed distributions.
+
+Mon Mar 12 18:43:38 EET 2001  Pekka Riikonen <priikone@poseidon.pspt.fi>
+
+       * Server now enforces the maximum length for the nickname and
+         the channel as protocol specification dictates.  128 bytes for
+         nickname and 256 bytes for channel name.
+
+       * Moved the WHOIS printing to the application.  The client libary
+         does not print out the WHOIS information anymore, the application
+         must do it.  Renamed silc_client_command_reply_whois_print to
+         the silc_client_command_reply_whois_save.
+
+         The client's idle time is also sent to the application now, and
+         the idle is shown on screen.
+
+       * Added silc_client_command_reply_identify_save to save the
+         received IDENTIFY entries.
+
+       * Do not check for channel private keys in message sending and
+         reception if the channel does not have the PRIVKEY mode set.
+         Affected file lib/silclient/client_channel.c.
+
+Sun Mar 11 20:25:06 EET 2001  Pekka Riikonen <priikone@poseidon.pspt.fi>
+
+       * Fixed a minor bug if WHOIS and IDENTIFY command parsing that
+         just surfaced after chaning the JOIN procedure.
+
+Sun Mar 11 14:59:05 EET 2001  Pekka Riikonen <priikone@poseidon.pspt.fi>
+
+       * Added silc_client_get_clients_by_list to get client entries
+         from Client ID list, that is returned for example by JOIN
+         and USERS command replies.  The application should use this
+         function for example when JOIN command reply is received to
+         resolve the clients already on the channel (library does not
+         do that anymore as USERS command reply is not used in the JOIN
+         procedure anymore).  Affected files lib/silcclient/silcapi.h and
+         lib/silcclient/idlist.c.
+
+       * JOIN command reply and USERS command reply returns now SilcBuffer
+         pointers instead of unsigned char pointers when returning
+         the client list and mode list.
+
+       * Added <Client ID> argument to the JOIN command reply, mainly
+         for the server to identify for which client the command was
+         originally sent.  Updated protocol specs accordingly.
+
+       * Added SilcDlist private_key pointer to the SilcChannelEntry
+         in the client to support the channel private keys.  Affected
+         file is lib/silcclient/idlist.h.
+
+       * Added SilcChannelPrivateKey argument to the function
+         silc_client_send_channel_message so that application can choose
+         to use specific private ke if it wants to.  If it is not provided,
+         the normal channel key is used, unless private keys are set. 
+         In this case the first (key that was added first) is used 
+         as the encryption key.
+
+       * Implemented the support for channel private key handling.
+         Implemented the following functions:
+
+         silc_client_add_channel_private_key,
+         silc_client_del_channel_private_keys,
+         silc_client_del_channel_private_key,
+         silc_client_list_channel_private_keys and
+         silc_client_free_channel_private_keys
+
+         Affected file lib/silcclient/client_channel.c.
+
+       * Added the support for the private keys in the channel message
+         sending and encryption and in the message reception and
+         decryption.  Affected funtions are
+         silc_client_send_channel_message and silc_client_channel_message.
+
+Sat Mar 10 21:36:22 EET 2001  Pekka Riikonen <priikone@poseidon.pspt.fi>
+
+       * Added SKE's key verify callback to the client library's
+         KE protocol context. Affected files lib/silcclient/protocol.[ch].
+
+       * Removed the statement that server (or router) must send USERS
+         command reply when joining to the channel so that the client
+         knows who are on the channel.  Instead, the client list and 
+         client's mode list is now sent in the JOIN command reply to the
+         client who joined channel.  This is better solution.
+
+       * Added function silc_server_get_users_on_channel and function
+         silc_server_save_users_on_channel to the silcd/server.[ch].
+
+       * Removed function silc_server_command_send_users from the
+         silcd/command.c.
+
+       * Do not show topic on the client library anymore.  The topic is
+         sent in the command reply notify to the application and the
+         application must show the topic now.
+
 Sat Mar 10 00:07:37 EET 2001  Pekka Riikonen <priikone@poseidon.pspt.fi>
 
        * Added client searching by nickname hash into the IDENTIFY and