updates.
[silc.git] / CHANGES
diff --git a/CHANGES b/CHANGES
index faf5fa54873d0f6ed1dcc28a8472dd27c14b9500..f970f7c93c6aa60fc8a2a537e5847d44235df85e 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,195 @@
+Mon Feb 26 12:13:58 EET 2001  Pekka Riikonen <priikone@poseidon.pspt.fi>
+
+       * Redefined ciphers for the SILC protocol.  Added some new ciphers
+         and defined the key lengths for the algorithms.  Changed the
+         code accordingly.  The default key length is now 256 bits.
+
+       * Fixed SKE key distribution function silc_ske_process_key_material
+         when the key length is more than 128 bits.  The default key 
+         length in SILC is now 256 bits.
+
+       * Added new command status type: SILC_STATUS_ERR_UNKOWN_ALGORITHM
+         to indicate unsupported algorithm.
+
+       * Renamed rijndael.c to aes.c and all functions as well.
+
+       * Fixed a long standing channel key setting bug in client library.
+         Weird that it has never surfaced before.
+
+       * Fixed bug in channel deletion.  If the entire channel is removed
+         then it must also delete the references of the channel entry
+         from the client's channel list as the client's channel entry and
+         the channel's client entry share same memory.
+
+Sun Feb 25 20:47:29 EET 2001  Pekka Riikonen <priikone@poseidon.pspt.fi>
+
+       * Implemented CONNECT and SHUTDOWN commands in the client.
+
+       * Implemented CLOSE command to the client.
+
+       * Added the function silc_idlist_find_server_by_name into the
+         files silcd/idlist.[ch].
+
+         Added the function silc_idlist_find_server_by_conn into the
+         files silcd/idlist.[ch].
+
+Sat Feb 24 23:45:49 EET 2001  Pekka Riikonen <priikone@poseidon.pspt.fi>
+
+       * DIE command was renamed to SHUTDOWN.  Updated the both code
+         and protocol specs.
+
+       * Defined SILC_UMODE_NONE, SILC_UMODE_SERVER_OPERATOR and
+         SILC_UMODE_ROUTER_OPERATOR modes into lib/silccore/silcmode.h.
+
+       * Implemented CONNECT, CLOSE and SHUTDOWN commands to the server
+         side.
+
+       * Added function silc_server_create_connection function to create
+         connection to remote router.  My server implementation actually
+         does not allow router to connect to normal server (it expects
+         that normal server always initiates the connection to the router)
+         so the CONNECT command is only good for connecting to another
+         router.
+
+Sat Feb 24 16:03:45 EET 2001  Pekka Riikonen <priikone@poseidon.pspt.fi>
+
+       * Added SILC_NOTIFY_TYPE_KICKED to indicate that the client
+         or some other client was kicked from the channel.
+
+         Implemented the handling of the notify type to both client
+         and server.
+
+         Implemented silc_server_send_notify_kicked to send the KICKED
+         notify.  It is used to send it to the server's primary router.
+
+       * Implemented the KICK command into server and client.
+
+       * Added `query' argument to the silc_idlist_get_client function
+         to indicate whether to query the client from server or not if
+         it was not found.
+
+       * Added new command status type SILC_STATUS_ERR_NO_CHANNEL_FOPRIV
+         to indicate that the client is not channel founder.
+
+       * Updated TODO.
+
+Sat Feb 24 00:00:55 EET 2001  Pekka Riikonen <priikone@poseidon.pspt.fi>
+
+       * Removed the rng context from SilcPacketContext structure and
+         changed that the packet routine uses the Global RNG API.
+
+Fri Feb 23 11:22:57 EET 2001  Pekka Riikonen <priikone@poseidon.pspt.fi>
+
+       * Added support for quit message that client can "leave" on the
+         channel when it quits the SILC.  It is ditributed inside the
+         SILC_NOTIFY_TYPE_SIGNOFF notify type.
+
+         Added silc_server_free_client_data that will take the
+         signoff message as argument.
+
+       * Changed SKE routines to use the silc_pkcs_sign/verify routines.
+
+Thu Feb 22 23:05:36 EET 2001  Pekka Riikonen <priikone@poseidon.pspt.fi>
+
+       * Updated parts of the protocol specification to keep it up
+         to date.
+
+Thu Feb 22 15:08:20 EET 2001  Pekka Riikonen <priikone@poseidon.pspt.fi>
+
+       * Added List flag (SILC_PACKET_FLAG_LIST) to indicate list of
+         payloads in one packet.
+
+       * Deprecated following packet types: NEW_ID_LIST, NEW_CHANNEL_LIST,
+         NEW_CHANNEL_USER_LIST, SET_MODE and SET_MODE_LIST.  List packets
+         use now the new List flag.
+
+       * Also deprecated the following packet types: REPLACE_ID,
+         NEW_CHANNEL_USER and REMOVE_CHANNEL_USER packet types.
+        
+       * Added list support for Notify packet in server.
+
+       * Added silc_server_send_notify_channel_change to send the
+         CHANNEL_CHANGE notify type to replace channel ID's.  Deprecates
+         the silc_server_send_replace_id.
+
+       * Added silc_server_send_notify_nick_change to send the
+         NICK_CHANGE notify type.  Deprecates the function
+         silc_server_send_replace_id.
+
+       * Added silc_server_send_notify_join to send the JOIN notify type.
+         Deprecates the function silc_server_send_new_channel_user.
+
+       * Added silc_server_send_notify_leave to send LEAVE notify type.
+         Deprecates the function silc_server_send_remove_channel_user.
+
+       * Added silc_server_send_notify_cmode and 
+         silc_server_send_notify_cumode to send CMODE and CUMODE notify
+         types.  Deprecates the silc_server_send_set_mode function.
+
+       * Added SERVER_SIGNOFF notify type to indicate that server has
+         quit.  This means that all clients on the channel from that 
+         server will drop.  This can be also used when netsplit happens.
+
+         Deprecated REMOVE_ID packet type since it is not needed anymore
+         even from server.
+
+         Added silc_server_send_notify_server_signoff to send the
+         SERVER_SIGNOFF notify type.  Deprecates the function
+         silc_server_send_remove_id.
+
+         Added also silc_server_send_notify_signoff to send the
+         SIGNOFF notify type.
+
+       * Employed the PKCS #1. It is the mandatory way to do RSA in the
+         SILC protocol from this day on.  Changed the protocol 
+         specification as well.
+
+       * Added silc_server_send_notify_topic_set to send TOPIC_SET
+         notify type.  It is used between routers to notify about
+         topic changes on a channel.
+
+       * Added silc_id_dup into lib/silccore/id.[ch] to duplicate
+         ID data.
+
+       * Partly updated the protocol specification to comply with the
+         changes now made.  It is still though a bit outdated.
+
+       * The JOIN notify type now takes one extra argument <Channel ID>.
+         The packet used to be destined to the channel but now the
+         JOIN type may be sent as list thus it is impossible to 
+         destine it to any specific channel.  By adding this argument
+         it is again possible.
+
+Wed Feb 21 22:39:30 EET 2001  Pekka Riikonen <priikone@poseidon.pspt.fi>
+
+       * Added CREDITS file.  The CHANGES and CREDITS file will appear
+         in the distribution as well.
+
+Wed Feb 21 14:17:04 EET 2001  Pekka Riikonen <priikone@poseidon.pspt.fi>
+
+       * Implemented CMODE_CHANGE, CUMODE_CHANGE and TOPIC_SET notify
+         types in the server's silcd/packet_receive.c.
+
+       * Implemented CMODE and CUMODE to work in router environment.
+
+       * Fixed minor encoding and decoding buglet from the
+         lib/silccore/silcmode.c.
+
+       * Fixed buffer overflow from lib/silcclient/command.c in USERS
+         command parsing.
+
+Wed Feb 21 12:44:00 EET 2001  Mika Boström <bostik@lut.fi>
+
+       * Changed all SilcConfigServer* and silc_config_server* to
+         SilcServerConfig* and silc_server_config*, respectively.
+         Patch by Bostik.
+
+Wed Feb 21 00:10:00 EET 2001  Pekka Riikonen <priikone@poseidon.pspt.fi>
+
+       * Associated the ID (client or server ID) to the Authentication
+         Payload to avoid any possibility of forging.  Updated the
+         protocol specification and the code accordingly.
+
 Tue Feb 20 14:14:14 EET 2001  Pekka Riikonen <priikone@poseidon.pspt.fi>
 
        * The RSA key length is now save to the RsaKey context in the
@@ -25,6 +217,23 @@ Tue Feb 20 14:14:14 EET 2001  Pekka Riikonen <priikone@poseidon.pspt.fi>
        * Removed the RNG kludge from lib/silcmath/primegen.c and changed
          it to use the Global RNG API.
 
+       * Defined Authentication Payload into protocol specification that
+         is used during SILC session to authenticate entities.  It is
+         used for example by client to authenticate itself to the server
+         to obtain server operator privileges.
+
+         Implemented this payload into the lib/silccore/silcauth.[ch].
+         Implemented also routines for public key based authentication
+         as the new protocol specification dictates.
+
+         Moved definitions of different authentication methods from
+         lib/silccore/silcprotocol.h into lib/silccore/silcauth.h.
+
+       * Added silc_pkcs_encrypt, silc_pkcs_decrypt, silc_pkcs_sign,
+         silc_pkcs_verify and silc_pkcs_sign_with_hash and
+         silc_pkcs_verify_with_hash functions into the file 
+         lib/silccrypt/silcpkcs.[ch].
+
 Mon Feb 19 19:59:28 EET 2001  Pekka Riikonen <priikone@poseidon.pspt.fi>
 
        * The client entry's userinfo pointer must be always valid.