updates.
[silc.git] / CHANGES
diff --git a/CHANGES b/CHANGES
index 9edaaa5a40870166b40b8491034f9d7ead1d67b4..bf360649f8e1ab3f836545db8531559d589eda4a 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,157 @@
+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.
+
+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
+         key generation process in lib/silccrypt/rsa.c.  The key length
+         is now used to figure out the maximum size of the block allowed
+         to be encrypted/signed.
+
+       * Added silc_mp_mp2bin_noalloc into lib/silcmath/mpbin.[ch].  It
+         is equivalent to the silc_mp_mp2bin but does not allocate any
+         memory.
+
+       * Changed silc_mp_mp2bin API to take length argument.  If it is
+         non-zero then the buffer is allocated that large.  If zero, then
+         the size is approximated using silc_mp_sizeinbase, which however
+         is not relieable.
+
+       * Created Global RNG API which is global RNG that application can
+         initialize.  After initializing, any routine anywhere in the
+         code (including library) can use RNG without allocating a new
+         RNG object.  This was done to allow this sort of use of the 
+         RNG in code that has no chance to allocate RNG object.  All
+         applications currently allocate this and many routines in the
+         library use this.  Affected file lib/silccrypt/silcrng.[ch].
+
+       * 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.