X-Git-Url: http://git.silcnet.org/gitweb/?p=silc.git;a=blobdiff_plain;f=CHANGES;h=381095ccae8229d7ae435a9c644d0fd1b081a406;hp=7899d3fc142c588c5ed2fd59bd37a7a487a306af;hb=e5d8d3db6caa344b3d419b884556c21b15e7d123;hpb=f0188faf5a7b6bd334ec220822387ca5f6edf62c diff --git a/CHANGES b/CHANGES index 7899d3fc..381095cc 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,363 @@ +Sun Oct 7 12:29:25 EDT 2001 Pekka Riikonen + + * Sleep two (2) seconds after sending QUIT command to server. + Affected file lib/silcclient/command.c. + + * Assure that if outgoing data buffer is pending do not force + send any data. Affected file silcd/packet_send.c. + + * Assure that if outgoing data buffer is pending do not force + send any data. Affected file lib/silcclient/client.c. + + * Implemented the backup router support when the primary router + goes down. The servers and routers can now use the backup + router as new primary router without loosing connectivity. + +Sat Oct 6 21:18:54 EDT 2001 Pekka Riikonen + + * Added new SILC_IDLIST_STATUS_DISABLED flag for entries + in the server to indicate disabled entry. All data read + from the connection will be ignored and no data is sent + for entry that is disabled. Affected files are + silcd/idlist.h, silcd/server.c. + +Fri Oct 5 00:03:29 EDT 2001 Pekka Riikonen + + * Created SFTP client and server test programs in the + lib/silcsftp/tests directory. + +Wed Oct 3 23:31:42 EDT 2001 Pekka Riikonen + + * Implemented memory filesystem (virtual filesystem) for + SFTP server. Affected file lib/silcsftp/silcsftp_fs.h, + sftp_fs_memory.c. + +Sun Sep 30 22:10:57 EEST 2001 Pekka Riikonen + + * Implemented the SFTP (SSH File Transfer Protocol) to the + lib/silcsftp. It includes SFTP client and SFTP server + implementations. + +Sun Sep 30 10:35:44 EEST 2001 Pekka Riikonen + + * Moved lib/silccore/silcprotocol.[ch] to the + lib/silcutil library. + + * Added silc_buffer_format_vp and silc_buffer_unformat_vp to + take variable argument list pointer as argument. Affected + file lib/silcutil/silcbuffmt.[ch]. + + * Added silc_buffer_set function that is used to set data + to a SilcBuffer that is not allocated at all (SilcBufferStruct). + Affected file lib/silcutil/silcbuffer.h. + + * Changed various routines in the core library to use the new + silc_buffer_set instead of allocating new buffer only for + temporary purposes. + + * Added 64-bit value formatting and unformatting support to the + silc_buffer_[un]format routines. Affected file is + lib/silcutil/silcbuffmt.[ch]. + + Added also 64-bit macros: SILC_GET64_MSB and SILC_PUT64_MSB, + to includes/bitmove.h. + +Fri Sep 28 21:30:10 EEST 2001 Pekka Riikonen + + * Fixed channel user mode saving in client library. Affected + file lib/silcclient/command[_reply].c. + +Thu Sep 27 22:52:30 EEST 2001 Pekka Riikonen + + * Defined the file transfer to the SILC Protocol. Added + new packet type SILC_PACKET_FTP and defined File Transfer + Payload. The mandatory file transfer protocol is SFTP + (SSH File Transfer Protocol). Affected file in addition + of the internet draft is lib/silccore/silcpacket.h. + + * Deprecated the SILC_PACKET_CELL_ROUTERS and defined new + packet SILC_PACKET_RESUME_ROUTER instead. The new packet + is used as part of backup router protocol when the primary + router of the cell is back online and wishes to resume + the position as primary router. + + * Redefined the MAC generation keys in the protocol. The + same key is not used anymore in both direction. Both + direction will now use different keys for sending and + receiving. This fixes a potential security flaw. This + change causes incompatibilities in the protocol. + + * Redefined also the MAC computation from the packet. + An packet sequence number is now added to the MAC + computation. This prevents possible replay attacks against + the protocol. This change too causes incompatibilities + in the protocol. + + Added `sequence' field to the SilcPacketContext to hold + the current sequence number for the packet. + +Wed Sep 26 20:15:22 EEST 2001 Pekka Riikonen + + * Added `created' field to the SilcIDListData in the file + silcd/idlist.h to indicate the time when the entry was + created. + + * Added `created' field to the SilcChannelEntry too. Affected + file silcd/idlist.h. + + * Added `creation_time' aguments to all the announcement functions + in the server. If it is provided then only the entries that + was created after the provided time frame are actually + announced. Affected file silcd/server.[ch]. + + * The protocol says that the Channel ID's IP address must be + based on the router's IP address. Added check for this in + the silc_server_new_channel when processing incoming New Channel + Payload. Affected file silcd/packet_receive.c. + + * Print out the correct version with --version in SILC client. + Affected file irssi/src/silc/core/silc-core.c. + +Mon Sep 24 17:19:00 EEST 2001 Pekka Riikonen + + * Fixed WHOWAS command to check for completnes of the client + entry always, not just when the command is coming from client. + Affected file silcd/command.c. + + * Added new function silc_server_packet_queue_purge to purge the + outgoing data queue to the network. After the function returns + it is guaranteed that the outgoing packet queue is empty. + Affected file silcd/packet_send.[ch]. + + * Purge the outgoing packet queue in the rekey protocol's final + callback to assure that all rekey packets go to the network + before quitting the protocol. Affected file silcd/server.c. + + * Added silc_client_packet_queue_parse as similar function as + in server to the client library. The affected file is + lib/silcclient/client.c. + +Sun Sep 23 15:15:53 EEST 2001 Pekka Riikonen + + * Splitted silcd/server.c and created silcd/server_util.[ch] + for utility functions. + + * Added new socket flag SILC_SF_DISABLED to indicate that the + connection is open but nothing can be sent to or received from + the connection. Affected file lib/silcutil/silsockconn.[ch]. + The checking for disabled socket is checked in the low level + silc_socket_write and silc_socket_read functions. + +Thu Sep 20 23:11:28 EEST 2001 Pekka Riikonen + + * Allow only nicknames and channel names that fits into the + 7-bit unsigned char ASCII set. Affected file silcd/command.c. + +Thu Sep 20 18:04:12 EEST 2001 Pekka Riikonen + + * When processing JOIN command reply in server check that if + the channel exists in our global list we'll move it the local + list. Affected file silcd/command_reply.c. + + * Fixed the check whether client is joined on the channel already + in JOIN command. Affected file lib/silcclient/command.c. + + * Fixed the JOIN command reply to check whether the channel + already exists. Affected file lib/silcclient/command_reply.c. + +Wed Sep 19 22:58:32 EEST 2001 Pekka Riikonen + + * Added silc_ske_status_string to map the SKE error numbers + to readable strings. The affected files are + lib/silcske/silcske[_status].[ch]. + +Tue Sep 18 22:50:41 EEST 2001 Pekka Riikonen + + * Do not show the private channels on the WHOIS channel list + as it is not allowed by the protocol. The affected file is + silcd/server.c. + +Sun Sep 16 12:32:58 EEST 2001 Pekka Riikonen + + * Assure that the packet length digged from the actual packet + is something sensible in the silc_packet_decrypt_rest_special + in lib/silccrypt/silcpacket.c. + + * Free and NULL the allocated pointer in silc_hmac_alloc if + the HMAC allocation fails. The affected file is + lib/silccrypt/silchmac.c. + + * Print the selected security properties to the log files in + the server. Affected file silcd/protocol.c. + + * Add SKE's reference counter even if calling the completion + callback manually. Otherwise it goes negative, although it + does not cause any problems. The affected file is + lib/silcske/silcske.c. + + * Remove the client entry with short timeout after giving the + KILL command. Affected file lib/silcclient/command.c. + + * Fixed to send error reply in WHOIS and IDENTIFY commands in + case all found clients are already disconnected (WHOWAS would + found them) in the server. Affected file silcd/command.c. + + * Update the last_receive (time of last data received) to be + updated only when received private or channel message so that + the idle time showed in WHOIS makes more sense. + + * Added boolean field `valid' in to the SilcClientEntry in the + client library to indicate whether the entry is valid or not. + This fixes the nickname change bug on channel when changing + the nickname to be same than the old (like nick to Nick) the + nickname formatter doesn't set the new nick anymore to Nick@host. + Affected file lib/silcclient/idlist.[ch]. + + * Now actually fixed the nickname changing on disconnection. + Added new function silc_change_nick to the Irssi SILC Client. + Affected file irssi/src/silc/core/client_ops.c, + irssi/src/silc/core/silc-nicklist.[ch]. + +Sat Sep 15 13:29:17 EEST 2001 Pekka Riikonen + + * Check that the public key exists in the GETKEY command before + trying to encode it. Affected file silcd/command.c. + + * Print some notifications on received public keys with GETKEY + command in the Irssi SILC Client. Affected files are + irssi/src/fe-common/silc/module-formats.[ch], + irssi/src/silc/core/client_ops.c. + + * Use IDENTIFY command to resolve the server information in the + GETKEY command instead of INFO command. Affected file + lib/silcclient/command.c. + + * All command reply functions in the client library now calls + the pending command reply callbacks even if an error has + occurred. The server has done this a long time and now it was + time to move the client library to this as well. Now all + errors can be delivered back to the pending command reply + callbacks if necessary. Affected files are + lib/silcclient/command[_reply].[ch]. + + * Change the nickname on disconnection back to the username + because in reconnect the server will enforce it to it anyway. + Affected file irssi/src/silc/core/silc-servers.c. + + * Fixed a config file parsing bug in the Irssi SILC client. + Affected file irssi/src/silc/core/clientconfig.c. + +Thu Sep 13 23:11:18 EEST 2001 Pekka Riikonen + + * When printing the channel mode on JOIN, verify that the + channel key and channel's HMAC are valid. Affected file + irssi/src/silc/core/client_ops.c. + +Thu Sep 13 20:24:52 EEST 2001 Pekka Riikonen + + * Added defines SILC_DEFAULT_CIPHER, SILC_DEFAULT_HMAC, + SILC_DEFAULT_HASH and SILC_DEFAULT_PKCS in the file + lib/silccrypt/[silccipher.h|silchmac.h|silchash.h|silcpkcs.h]. + + * Removed channel key rekey task deleting from the function + silc_server_save_channel_key. Affected file silcd/server.c. + Added explicit timeout task context instead that is used to + delete the task if we are registering a new task before the + new task has elapsed. + + * When channel key rekey occurs the client library now saves + the old channel key for a short period of time (10 seconds) and + is able to use it in case some is still sending channel + messages encrypted with the old key after the rekey. Affected + file lib/silcclient/[idlist.h|client_channel.c]. + +Sun Sep 9 15:49:16 EEST 2001 Pekka Riikonen + + * Added check to the silc_server_new_id_real to not accept + new ID if it is the sender's own ID. Affected file is + silcd/packet_receive.c. + + * Assure that we do not announce ourself or the one we've + sending our announcements when we're router and are announcing + servers to our primary router. Affected file silcd/server.c. + + * Fixed silc_server_command_identify_check_client to assemble + correct WHOIS packet. It send corrupted WHOIS packet and + caused problem with router to router connections. Affected + file silcd/command.c. + + Fixed also silc_server_command_whois_check the same way + as for the IDENTIFY command. + + * Added new SilcIDListStatus to the server in the SilcIDListData + structure. The status now includes the current status of + the entry (like registered, resolved etc.). Affected file + silcd/idlist.[ch]. Defined a bunch of different status types + as well. This replaced the old boolean registered field as well. + + Added resolve_cmd_ident field to the SilcClientEntry structure + too so that if the entry is for example being resolved so + another command may attach to the same pending command reply + without requiring to resolve the same entry again. This concept + should optimize the WHOIS and the IDENTIFY resolving under + heavy load by taking away unnecessary resolving for entries + that are being resolved already. + + Added support for adding multiple pending commands for one + command idenfier. Affected file silcd/command[_reply].[ch]. + + * Fixed WHOIS and IDENTIFY save to remove the cache entry + before deleting the data. Otherwise the hash table will have + freed data in comparison functions. Affected file is + silcd/command_reply.c. + + * Fixed silc_idlist_replace_client_id to add the new entry to + the cache with NULL nickname. Otherwise there will be invalid + memory as the nickname after the nickname is freed. Affected + file silcd/packet_receive.c. + + * Fixed the silc_idlist_get_clients_by_hash. The entries was + saved into wrong slots because the previous number of entries + was not taken into account. Affected file silcd/idlist.c. + Fixed same thing in silc_idlist_get_clients_by_nickname too. + + * If we are router and we receive JOIN notify to a channel that + does not have any users then notified client is marked as the + channel founder, as it is it. The affected file is + silcd/packet_receive.c + + * Added to the extended hash table API's table_del_*ext functions + the destructor as argument too, so that the caller can decide + which destructor to use or whether to use destructor at all. + Affected file lib/silcutil/silchashtable.[ch]. + + * Fixed ID Cache purging. It actually deleted the entries from + the hash table after the data was freed. The hash table ended + up comparing freed memory. The affected file is + lib/silccore/silcidcache.c. + +Sat Sep 8 10:22:10 EEST 2001 Pekka Riikonen + + * Fixed Irssi SILC client's KILL command's HELP syntax. + + * The USERS command now resolves the detailed user information + if the userinfo field is missing. Affected file is + lib/silcclient/command_reply.c. + + * Do not print error in silc_file_read if the read file does + not exist. Just silently return NULL. Affected file is + lib/silcutil/silcutil.c. + + * Fixed the silc_log_output to not wine about NULL filename + and to not create some bogus " " filename. Affected file is + lib/silcutil/silclog.c. + +Fri Sep 7 22:16:38 EEST 2001 Pekka Riikonen + + * Fixed various printing bugs on the user interface in the + Irssi SILC Client. Minor changes that were forgotten from + the release. + Fri Sep 7 17:28:37 EEST 2001 Pekka Riikonen * Fixed the configure.in.pre and the compilation and distribution