Implemented version string checking to client and server.
[silc.git] / CHANGES
diff --git a/CHANGES b/CHANGES
index 05bea0178d4e7c389caad4584eb167ac8259e38c..426d317c50c6fccfb6891b0a78899b8e47db48e8 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,117 @@
+Sat Dec 16 17:39:54 EET 2000  Pekka Riikonen <priikone@poseidon.pspt.fi>
+
+       * Implemented version string checking to both client and server.
+         The check is incomplete currently due to the abnormal version 
+         strings used in development version of SILC.
+
+Fri Dec 15 15:55:12 EET 2000  Pekka Riikonen <priikone@poseidon.pspt.fi>
+
+       * Changed char *data to unsigned char *data in ID Cache system to
+         support binary data as ID Cache data. Changed code to support
+         binary data in lib/silccore/idcache.c.
+
+       * Renamed silc_server_packet_relay_command_reply to 
+         silc_server_command_reply as it is normal packet receiving
+         function. Rewrote the function to accept command replys for
+         servers and not only for clients.
+
+       * Mark remote router always as registered server if we are connecting
+         to it.  Otherwise, commands sent by the router to us are ignored.
+
+       * All ID List find routines now returns the ID Cache Entry pointer
+         as well if requested.
+
+       * WHOIS command works now in router environment, tested with two
+         routers, two servers and two clients.
+
+       * Cleaned up and rewrote IDENTIFY command. IDENTIFY should work now
+         in router environment (as it is almost equivalent to WHOIS) but
+         hasn't been tested thoroughly.  Added new functions:
+
+         silc_server_command_identify_parse
+         silc_server_command_identify_send_reply
+         silc_server_command_identify_from_client
+         silc_server_command_identify_from_server
+
+       * Disabled route cache adding because adding two different ID's with
+         same IP replaces the old cache entry thus giving wrong route.
+         The entry->router->connection is always the fastest route anyway
+         so route cache may not be needed.  Of course, new routes maybe
+         established after receiving the ID when the entry->router->connection
+         might not be anymore the most optimal.
+
+Thu Dec 14 15:55:35 EET 2000  Pekka Riikonen <priikone@poseidon.pspt.fi>
+
+       * Add route cache for received ID for fast routing.
+
+       * Added silc_server_packet_route to route received packet on router
+         that is not destined to us.
+
+       * Renamed silc_server_get_route to silc_server_route_get.
+
+       * Added id_string and id_string_len fields into SilcServer to
+         include encoded ServerID for fast comparing without excess
+         encoding of the ID's.
+
+       * Cleaned up WHOIS command on server side. Added following static
+         functions:
+
+         silc_server_command_whois_parse
+         silc_server_command_whois_check
+         silc_server_command_whois_send_reply
+         silc_server_command_whois_from_client
+         silc_server_command_whois_from_server
+
+       * Added macro SILC_SERVER_COMMAND_CHECK_ARGC to check mandatory
+         arguments in command replies. All command functions should be
+         updated to use this macro.
+
+Sun Dec 10 23:52:00 EET 2000  Pekka Riikonen <priikone@poseidon.pspt.fi>
+
+       * Minor typo fixes on command reply handling on server.
+
+Tue Nov 28 11:05:39 EET 2000  Pekka Riikonen <priikone@poseidon.pspt.fi>
+
+       * Added silc_server_command_add_to_channel internal routine to add
+         the client to the channel after router has created the channel and
+         sent command reply to the server.
+
+       * Added generic silc_server_send_command to send any command from
+         server.
+
+       * Use static buffer with ID rendering instead of duplicating data.
+
+Mon Nov 27 21:39:40 EET 2000  Pekka Riikonen <priikone@poseidon.pspt.fi>
+
+       * Fixed a channel user mode bug when joining to a channel server gave
+         everybody channel founder rights, oops.
+
+       * We mark ourselves as the router of the incoming server connection
+         if we are router ourselves.  This way we can check in some packet
+         sending functions whether it is locally connected server.  For
+         incoming router connections we put NULL.
+
+       * For router sending packets locally means now always sending the
+         packet cell wide; to local clients and local servers.  For normal
+         server sending packet locally means sending it to only local
+         clients.
+
+       * Fixed the JOIN command to really work in router environment.  If the
+         channel is created it is always created by the router.  Router is
+         also responsible of making the initial joining to the channel,
+         sending JOIN notify to the sending server and distributing 
+         NEW_CHANNEL and NEW_CHANNEL_USER packets.  Hence, if the channel
+         does not exist server doesn't do anything else but forward the
+         command to the router which performs everything.
+
+       * Added silc_server_send_channel_key function to send the Channel Key
+         payload.
+
+       * Added silc_server_create_channel_key to create new channel key.  The
+         channel key is now re-generated everytime someone joins or leaves
+         a channel, as protocol dictates.  Note: channel->key_len is the
+         key length in bits.
+
 Wed Nov 22 22:14:19 EET 2000  Pekka Riikonen <priikone@poseidon.pspt.fi>
 
        * Splitted server.[ch] finally.  Created now packet_send.[ch] and