X-Git-Url: http://git.silcnet.org/gitweb/?p=silc.git;a=blobdiff_plain;f=CHANGES;h=01d6bbf5af442e7a4b4545cbdd860b08c39a57a3;hp=8df7abc40fe487b9723b393ad027ac9d71cde1ce;hb=386c883d8774999c6e74d7c6c37e52e4163a4cb1;hpb=f7b04b59125cf9355b9f62fd768c41f9e9fb2376 diff --git a/CHANGES b/CHANGES index 8df7abc4..01d6bbf5 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,1276 @@ +Sun Feb 17 19:02:56 EET 2002 Pekka Riikonen + + * Merged latest Irssi (0.8.1) from the irssi.org's CVS into + the SILC tree. + + * Fixed the silcdoc document generator to correct generate + docs from all kinds of filenames. Affected files are + util/robodoc/Source/generator.c, scripts/silcdoc/silcdoc + + * ROBOdoc documented lib/silcutil/silcmemory.h. + Added also new function silc_memdup. + + * Removed lib/silcutil/silcbufutil.h and moved those routines + to the lib/silcutil/silcbuffer.h. + +Sun Feb 17 15:52:30 EET 2002 Pekka Riikonen + + * Added `user_count' to the SilcChannelEntry which now tells the + number of users on the channel. The user count is now saved + in normal server of global channels as well. Affected files + silcd/server.c, idlist.h, packet_receive.c and command.c. + + * Splitted lib/silcutil/silcutil.[ch] into silcfileutil.[ch] to + include file utility functions. + + * Fixed the lib/silcsftp/sftp_fs_memory.c to use silcutil routines + instead of calling directly OS routines. + + * Fixed NICK change printing in Irssi SILC Client. Fixed + KICKED notify printing in Irssi SILC Client. Affected file + irssi/src/silc/core/client_ops.c. + + * Fixed a NICK change bug in client library, to not recreate the + client_entry->channels hash table everytime nick is changed. + Affected file lib/silcclient/client.c. + +Sun Feb 17 10:10:14 EET 2002 Pekka Riikonen + + * ROBOdoc documented the lib/silcske/silcske.h, and improved + the SKE interface a bit. + + * Fixed padding problem in PKCS#1. The padding was not actually + random since the random number generator was used incorrectly. + This security bug affects only when encrypting with PKCS#1, and + it is not currently used at all in SILC. SILC only use signing + with PKCS#1. Affected file lib/silccrypt/pkcs1.c. + +Sat Feb 16 13:44:24 EET 2002 Pekka Riikonen + + * Rewrote the notify handling in Irssi SILC client to not call + the events as signals. Fixes problems with Perl support. + Affected files irssi/src/silc/core/client_ops.c, silc-channels.c. + + * Send the auto-nicking NICK command in client library with + little timeout after connecting. The affected file is + lib/silcclient/client.c. + + * Added following new config file settings: + channel_rekey_secs, key_exchange_rekey, key_exchange_pfs, + key_exchange_timeout, conn_auth_timeout, connections_max, + links_max. + + Implemented all the new config settings handling in the server. + + Optimized the use of SKE Mutual flag usage. Use it only + if connection authentication protocol is not based in public + key authentication. + + Renamed all SilcServerConfigSection* to SilcServerConfig* + to have a bit shorter names. + + Affected files silcd/serverconfig.[ch], server.[ch], and + protocol.[ch]. + +Sat Feb 16 02:46:43 CET 2002 Johnny Mnemonic + + * Cleaned up the listening sockets code, preparing for the rehash + support. Affected file is silcd/server.c. + + * Fixed some output messages. Affected files are silcd/silcd.c, + and silcd/server.c. + +Fri Feb 15 19:10:20 EET 2002 Pekka Riikonen + + * Create lib/doc/silcrng_intro.html document as introduction + to SILC RNG. ROBOdoc documented lib/silccrypt/silcrng.h. + +Fri Feb 15 13:23:03 CET 2002 Johnny Mnemonic + + * Fixes to the silcd config template. Affected file is + doc/example_silcd.conf.in. + + * Removed type casts from silc_calloc(), conforming to the + CodingStyle. Affected file is lib/silcutil/silcconfig.c. + + * Removed param_name member from client, server, and router + section structs, now identifying the param directly. + + Added CONFIG_FREE_AUTH macro in config file parsing. + + Affected files are silcd/serverconfig.[ch]. + +Fri Feb 15 12:24:08 EET 2002 Timo Sirainen + + * Fixed command line parameter handling. All SILC initialization + is now done in silc_core_init() which also fixes autoconnecting + to servers. + + Affected files irssi/src/silc/core/silc-core.c, + irssi/src/fe-text/silc.c. + +Thu Feb 14 22:03:58 EET 2002 Pekka Riikonen + + * Added new configuration options and blocks: + keepalive_secs, reconnect_count, reconnect_interval, + reconnect_interval_max, reconnect_keep_trying and + require_reverser_lookup. Added ConnectionParam block, and + implemented the connection parameters when connecting as + initiator and when accepting connections as responder. + + Added CONFIG_IS_DOUBLE macro in config file parsing, to check + whether given configuration value has been given already. + + Affected files silcd/serverconfig.[c], server.[c]. + + * Splitted the doc/example_silcd.conf.in. Separated the crypto + algorithm parts and created new file silcalgs.conf, that + is now included from the example_silcd.conf.in. + + * Optimized the silc_server_connect_to_router_second to take + the connection configuration object from the SilcServerConnection + object instead of finding it during the connecting phase. + Added the configuration object to SilcServerConnection struct. + Affected files silcd/server_internal.h, server.c. + +Thu Feb 14 16:02:26 CET 2002 Pekka Riikonen + + * Add the client on channel after it was resolved at the + channel message receiving, and it was not already on the + channel. Affected file lib/silcclient/client_channel.c. + +Wed Feb 13 23:16:41 EET 2002 Pekka Riikonen + + * Fixed the public key authentication to allocate always the + destination signature buffer instead of using static buffer. + Affected file silcd/protocol.c. + +Wed Feb 13 20:51:13 EET 2002 Pekka Riikonen + + * Unified the serverconfig.[ch]'s helper function interface. + Affected file silcd/serverconfig.[ch]. + + * Removed doc/example_silc.conf.in since it is redundant. + The make install will now install irssi/silc.conf file. + + * Added new Passphrase and Publickey authentication methods to + config file, allowing both public key and passphrase based + authentication to be set at the same time. + + Added `prefer_passphrase_auth' setting in config file which + can be used to set to prefer passwd auth if both passwd and + public key is set. If not set, public key is preferred. + This has effect only when being initiator (responder will try + both anyway). + + Added support for authentication with passphrase and public key + at the same time. The passphrase is tried first always since + it is faster to check. + + Affected file silcd/serverconfig.[ch], server.c, protocol.[ch]. + +Wed Feb 13 12:46:25 CET 2002 Johnny Mnemonic + + * Merged the new SILC Config library, with the server parsing + support. Read the header file silcconfig.h or the toolkit + documentation for the news. Affected files are + doc/example_silcd.conf.in lib/silcutil/silcconfig.[ch] + silcd/command.c silcd/packet_receive.c silcd/packet_send.c + silcd/protocol.c silcd/server.c silcd/server_backup.c + silcd/serverconfig.[ch] silcd/silcd.c. + + * Fixed some silclog documentation. Affected file is + lib/silcutil/silclog.h. + +Sun Feb 10 18:11:30 EET 2002 Pekka Riikonen + + * The silc_cipher_register, silc_hash_register and + silc_hmac_register now checks if the object to be registered + is registered already. Affected files are + lib/silccrypt/silccipher.c, silchash.c and silchmac.c. + +Sun Feb 10 15:48:38 EET 2002 Pekka Riikonen + + * Merged new irssi from irssi.org's CVS, the version 0.7.99. + +Sat Feb 9 14:54:33 EET 2002 Pekka Riikonen + + * Allow zero length channel messages inside the Channel Message + Payload. Affected file lib/silccore/silcchannel.c. + + * Fixed scripts/silcdoc/silcdoc to support all kinds of filenames + as header filenames. + + * Removed lib/silcclient/README and created HTML file + lib/silcclient/silcclient_using.html, which is now included + as part of Toolkit documentation. + +Thu Feb 7 10:12:25 CET 2002 Pekka Riikonen + + * Fixed CUMODE_CHANGE notify handling to change the mode of + correct client. Affected file lib/silcclient/client_notify.c. + + * Make silc_rng_alloc fail if it cannot allocate the sha1 + hash algorithm. Affected file lib/silccrypt/silcrng.c. + +Sun Feb 3 17:20:52 EET 2002 Pekka Riikonen + + * Fixed the file transfer's key agreement payload to include + zero port also if the hostname is NULL because it could not + be bound. + + Call file transfer monitor callback now also if error occurs + during key agreement protocol. + + Changed the silc_client_file_send interface to return the + SilcClientFileError instead of session id. The session ID + is returned into pointer provided as argument. + + Check that the file exists locally before sending the + file transfer request at all. + + Affected file lib/silcclient/client_ftp.c, silcapi.h. + + * Added SILC_CLIENT_FILE_KEY_AGREEMENT_FAILED file transfer + error than can occur while key agreement protocol. Affected + file lib/silcclient/silcapi.h. + + * Fixed the event_mode CMODE handler to not crash when mode + is changed and +k mode is set in the channel. Affected file + irssi/src/silc/core/silc-channels.c. + + * Fixed SILC_LOG_ERROR to give out Error and not Warning, and + SILC_LOG_WARNING to give out Warning and not Error. Affected + file lib/silcutil/silclog.c. + + * Fixed the channel message payload decryption in the function + silc_channel_message_payload_decrypt to not modify the original + buffer before it is verified that the message decrypted + correctly. Otherwise, next time it is called with correct + channel key it won't encrypt since the payload is corrupted. + Affected file lib/silccore/silcchannel.c. + +Sun Feb 3 11:46:12 EET 2002 Pekka Riikonen + + * Do not constantly resize the window. A fix patch by cras. + Affected file irssi/src/fe-text/screen.c. + +Sat Feb 2 16:54:18 EET 2002 Pekka Riikonen + + * Applied IPv6 fix patch from Jun-ichiro itojun Hagino. + Affected file lib/silcutil/silcnet.c. + +Fri Feb 1 22:33:11 EET 2002 Pekka Riikonen + + * Fixed a bug in hash table internal routine for traversing + the table with foreach callback. The current entry may + become invalid in the callback but it was referenced after + the callback returned. + + Do not allow auto rehashing of hash table during the + silc_hash_table_foreach operation, for same reasons as it is + not allowed for SilcHashTableList. Affected files are + lib/silcutil/silchashtable.[ch]. + +Fri Feb 1 14:55:00 CET 2002 Pekka Riikonen + + * Defined DLLAPI into silcincludes.h and silcwin32.h for + Win32 DLL. extern's in header files are now declared with + DLLAPI. + +Thu Jan 31 23:34:33 EET 2002 Pekka Riikonen + + * Fixed private message handling. It used some old code that + caused the client to crash. Affecte file is + lib/silcclient/client_prvmsg.c. + +Thu Jan 31 19:06:22 EET 2002 Pekka Riikonen + + * Added function silc_client_add_channel, + silc_client_replace_channel_id, and removed functions + silc_client_new_channel_id and silc_idlist_get_channel_by_id + from client library. + + * Added cross reference of the joined channels to the + SilcClientEntry, and changed the SilcChannelEntry's + users list to SilcHashTable. The affected files are + lib/silcclient/idlist.[ch]. + + * Fixed a bug in hash table tarversing. While the hash table + is traversed with SilcHashTableList the table must not be + rehashed. It is now guaranteed that auto rehashable tables + are not rehashed while tarversing the list. Also defined that + silc_hash_table_rehash must not be called while tarversing + the table. Added function silc_hash_table_list_reset that must + be called after the tarversing is over. The affected files are + lib/silcutil/silchashtable.[ch]. + + * Changed all hash table traversing to call the new + silc_hash_table_list_reset in server and in client library. + + * Added function silc_client_on_channel to return the + SilcChannelUser entry if the specified client entry is joined + on the specified channel. This is exported to application as + well. Affected files lib/silcclient/client_channel.c, silcapi.h. + +Wed Jan 30 19:14:31 EET 2002 Pekka Riikonen + + * Fixed founder regaining problem with JOIN command on normal + server. The notify for mode change must be sent always and + not only if !cmd->pending. Affected file silcd/command.c. + + * Fixed the WHOWAS command's reply sending to support the + lists correctly. Affected file silcd/command.c. + +Wed Jan 30 11:11:47 CET 2002 Pekka Riikonen + + * When sending JOIN command to router for processing the + sender's old command identifier was not saved back to the + sender's command context, fixed now. The affected file is + silcd/command.c. + + * Create the key in JOIN command of the router did not return + the channel key, added check for this. Affected file is + silcd/command.c. + + * Fixed a channel ID update bug in JOIN command reply. Do + not directly upgrade the ID but call the function + silc_idlist_replace_channel_id if the ID was changed. + Affected file silcd/command_reply.c. + + * Fixed memory leaks from command calling if it would fail. + Affected file silcd/command.c. + +Tue Jan 29 19:49:31 EET 2002 Pekka Riikonen + + * Applied patches from cras: + + Memory leak fixes around libaries, irssi window resize fix, + new silclist.h and silcdlist.h, all extern inline changed to + static inline. + + * Removed dotconf from lib/dotconf, not needed anymore. + + * Removed TRQ from lib/trq, not needed anymore. + + * Do more frequent heartbeats (5 minutes instead of 10 minutes) + with server connections. Later this will be configurable + in config file after new config file is done. Affected file + silcd/server.c. + +Tue Jan 29 10:35:03 CET 2002 Pekka Riikonen + + * Fixed a crash in server related to channel announcements. + Affected file silcd/server.c. + +Mon Jan 28 17:49:42 EET 2002 Pekka Riikonen + + * Fixed memory leaks in silc_server_create_new_channel* + functions. Affected file silcd/server.c. + + * Fixed the CHANNEL_CHANGE notify to re-announce the channel + which ID was changed. This way the router will send the + user list for the channel again, and server won't be in + desync in some rare circumstances. Affected file is + silcd/packet_receive.c. + +Sun Jan 27 21:04:19 EET 2002 Pekka Riikonen + + * Check for NULL socket pointer in the function + silc_server_packet_send_to_channel_real. Affected file + silcd/packet_send.c. + + * Fixed the BAN notify handling to correctly remove ban + list. Affected file silcd/packet_receive.c. + +Sat Jan 26 23:01:03 EET 2002 Pekka Riikonen + + * Fixed some header addition to Toolkit distribution in + lib/silcutil/Makefile.am and lib/trq/Makefile.am. + + * Added lib/silcclient/client_ops_example.h as an template + file for application programmers to quickly start using + the SilcClientOperation functions in their application. + Updated the lib/silcclient/README as well to tell about this + nice file made available. + +Sat Jan 26 10:45:41 EET 2002 Pekka Riikonen + + * Call silc_server_remove_from_channels when removing client + entry when NO_SUCH_CLIENT_ID was received. Affected file + is silcd/command_reply.c. + +Fri Jan 25 19:12:36 EET 2002 Pekka Riikonen + + * Added server & router operator statistics updating. Affected + file silcd/packet_receive.c and silcd/command.c. + + * Fixed the SERVER_SIGNOFF notify handling on normal server + not to save the history information for clients. Same was + fixed earlier in remove_clients_by_server function, but not + here. Affected file silcd/packet_receive.c. + + * Raised the default connection-retry count from 4 to 7 in + server. Affected file silcd/server.h. + + * Cancel any possible reconnect timeouts when we start the + key exchange. Affected file silcd/server.c. + + * Do not reconnect on connection failure when SCONNECT was + given. Affected files silcd/server.[ch]. + +Tue Jan 22 18:19:36 EET 2002 Pekka Riikonen + + * Removed assert()'s from the lib/silcclient/client_keyagr.c. + + * Fixed the NICK command to always give the unformatted + nickname to the one giving the NICK command. If unformatted + nickname is cached already it will be formatted and the + local entry will always get the unformatted nickname. + Affected file lib/silcclient/idlist.c. + + * Fixed some double frees from client library commands. + Affected file is lib/silcclient/command.c. + + * Fixed CUMODE command in server to assure that no one can + change founder's mode than the founder itself, there was a + little bug. Affected file silcd/command.c. + +Mon Jan 21 19:07:53 EET 2002 Pekka Riikonen + + * Removed the SilcClientCommandDestructor from the client + libary, it is not needed anymore. Affected files are + lib/silcclient/silcapi.h, command[_reply].[ch], + client_notify, idlist.c. + + * Fixed GETKEY command to first resolve client, and then + resolve the server only if the client was not found, instead + of resolving both at the same time. Affected file is + lib/silcclient/command.c. + + * Added silc_client_start_key_exchange_cb and lookup the + remote hostname and IP address before starting the key + exchange with server. The affected file is + lib/silcclient/client.c. + + * The server's public key is now saved using the IP address + of the server and not the servername for the filename. + The hostname public key filename is checked as an fall back + method if the IP address based filename is not found. + + Fixed the GETKEY command to save the fetched server key + in correct filename. + + Print the remote server's hostname now when new key is + received during connection process. Affected file is + irssi/src/silc/core/client_ops.c. + + * Return always our own public key to the client if it asks + for it with GETKEY command. Affected file silcd/command.c. + + * Removed the use_auto_addr variable from default config + file since it was in wrong section. Affected file is + irssi/src/config. + + * Fixed TOPIC_CHANGE notification to not route it when it + was sent using silc_server_send_notify_to_channel function. + Affected file silcd/command.c. + + * Fixed silc_server_send_notify_kicked to send the kicker's + Client ID also, it was missing. Affected files are + silcd/command.c, silcd/packet_send.[ch]. + +Thu Jan 17 18:59:11 EET 2002 Pekka Riikonen + + * Do not save client history information in SERVER_SIGNOFF. + Fixes the bug in normal server that it does not detect + the client becoming valid after the server becomes back + online. Affected file silcd/server_util.c. + + * Added `sock_error' field into the SilcSocketConnection + context. When error occurs during socket operation (read + or write) the error is saved. Added also new function + silc_socket_get_error to return human readable socket error + message. Affected files are lib/silcutil/silcsockconn.[ch], + lib/silcutil/unix/silcunixsockconn.c, and + lib/silcutil/win32/silcwin32sockconn.c. + + * The server now prints the socket error message in the + signoff for client. Affected file silcd/server.c. + + * Fixed the `created' channel information sending from router + to server in JOIN command. Checks now whether the channel + really was created or not and set it according that. + + Fixed the JOIN command to use the client entry's current + ID during the joining procedure instead of the one it sent + in the command (it is checked though), since it can change + between the packet processing and command processing, and + would just case unnecessary pain in the client end. Affected + file silcd/command.c. + + * Fixed a channel key payload sending to use correct channel + ID when the server was forced to change the channel's ID by + router. Router sent the key payload with the old Channel ID. + Affected file silcd/packet_receive.c. + +Wed Jan 16 22:26:30 EET 2002 Pekka Riikonen + + * Call silc_server_save_channel_key only if the key payload + was provided in the JOIN command's command reply. Affected + file silcd/command_reply.c. + +Tue Jan 15 18:49:41 EET 2002 Pekka Riikonen + + * Fixed silc_mp_sizeinbase to return the value correctly with + MPI. Affected file lib/silcmath/mp_mpi.c. + + * Fixed the stop_server signal to correctly stop the scheduler + and gracefully stop the server when SIGTERM or SIGINT signals + are received. Affected file silcd/silcd.c. + +Mon Jan 7 23:38:19 CET 2002 Johnny Mnemonic + + * Simple handling of TERM and HUP signals. Also added some log + flushing call around. Affected file is + silcd/silcd.c. + + * Fixed small bugs in silclog.c. Now buffering output will take + effect after 10 seconds since startup: This will ensure that + no important startup messages are lost. Also output redirection + will preserve original format ([Date] [Type] message). + Affected file is lib/silcutil/silclog.c. + + * Added two options to the config file, in the logging section: + quicklogs:: and flushdelay::. Affected files + lib/silcutil/silclog.[ch], silcd/serverconfig.[ch]. + +Sun Jan 6 12:49:40 EET 2002 Pekka Riikonen + + * Do not print the warning about log files not being initialized + more than once to avoid excess logging. Affected file is + lib/silcutil/silclog.c. + + * Fixed the SIM compilation in lib/silcsim/Makefile.am. Fixed + the SIM copying in make install in Makefile.am.pre. + +Sun Jan 6 01:10:21 CET 2001 Johnny Mnemonic + + * Rewritten silclog APIs. Globally interesting changes follows: + silc_log_set_files() changed to silc_log_set_file(). + silc_log_set_callbacks() changed to silc_log_set_callback(). + ROBOdoc documented silclog header file. + SilcLogCb now returns bool to wether inihibit the default + handler or not (to keep the old behaviour return always TRUE). + The new APIs should also fix the problem of the + silcd_error.log file that was written in the current directory. + + New features: + Log files streams will remain opened after silc_log_set_file() + call, means less CPU usage notably on high traffic servers. + File streams are now full buffered, and flushed to the disk + every 5 minutes, lesses HD activity and CPU usage. + Messages can be redirected, allowing admins to configure + one single logfile for all server messages. + the silc_log_quick global variable to activate fast-logging. + Affected files lib/silcutil/silclog.[ch] + + * Changed some code to conform new silclog APIs. Affected + files are doc/example_silcd.conf.in, silcd/server.c + irssi/src/silc/core/silc-core.c, silcd/serverconfig.[ch], + silcd/silcd.c. + + * Fixed a memory leak that could occur in some situations. + Affected file silcd/serverconfig.c. + +Sat Jan 5 13:37:29 EET 2002 Pekka Riikonen + + * Added the silc_client_del_client to remove the client from + all channels as well. Affected file lib/silcclient/idlist.c. + + * Fixed the client library to correctly remove the client + from all channels when the client entry is being destroyed. + Affected file lib/silcclient/client_notify.c, command.c. + + * Added auto-nicking support to the client library. If the + applicatio now sets client->nickname it will be sent to the + server after connecting by the library. This way for example + SILCNICK (or IRCNICK) environment variables will have effect + and always change the nickname automatically to whatever + it is wanted. Affected file lib/silcclient/client.[ch]. + + * Renamed silc_server_command_bad_chars to the + silc_server_name_bad_chars and moved it to the + silcd/server_util.[ch]. Added also new function + silc_server_name_modify_bad to return nickname that + includes bad characters as new nickname without those + bad characters. This check and modify is now used in + silc_server_new_client when the username is initially set + as nickname, so it must be checked to be valid nickname. + Affected file silcd/packet_receive.c. + + * The nickname length is now taken from the packet for real + and not trusted to strlen() since it clearly can return + wrong length for nickname including bad characters. This + also applies to channel names. Affected file silcd/command.c. + + * Removed the lib/silcsilm/modules directory. Modules are now + compiled into the lib/silcsim. Fixed the copying of the + modules to follow symbolic links in Makefile.am.pre. + +Wed Jan 2 18:56:21 EET 2002 Pekka Riikonen + + * Fixed silc_string_regexify list creation. Fixes bugs with + BAN and INVITE commands in server. The affected file is + lib/silcutil/unix/silcunixutil.c. + +Sun Dec 30 13:41:34 EET 2001 Pekka Riikonen + + * Removed the command destructor entirely from the server's + command and command reply routines. It is not needed, and + its usage was buggy and caused crashes. Affected files are + silcd/command[_reply].[ch]. + +Fri Dec 28 12:43:22 EET 2001 Pekka Riikonen + + * Cancel protocol and NULL sock->protocol if timeout + occurred during protocol. Affected file silcd/server.c. + + * Cancel protocol timeouts always before calling the final + callback, to assure that after final callback is called + no other state will be called for the protocol anymore. + Affected file silcd/protocol.c. + + * Print error log if incoming connection configuration could + not be found. Affected file silcd/server.c. + + * Fixed JOIN command to correctly save the founder mode + to the client on normal SILC server, when the channel + was created by the router. Affected file silcd/command.c. + + * Fixed LIST command (hopefully) to send correct reply + packets. Affected file silcd/command.c. + +Thu Dec 20 16:14:52 CET 2001 Pekka Riikonen + + * The silc_packet_receive_process now returns FALSE if the + read data was invalid packet, and TRUE if it was ok. + + The server now checks that if unauthenticated connection + sends data and its processing fails the server will close + the connection since it could be a malicious flooder. + + Affected files lib/silccore/silcpacket.[ch], silcd/server.c. + +Wed Dec 19 21:31:25 EET 2001 Pekka Riikonen + + * Make sure the warning about error opening a log file is + printed only once and not everytime it fails (produces + too much useless log). Affected file lib/silcutil/silclog.c. + +Wed Dec 19 18:21:51 CET 2001 Johnny Mnemonic + + * Made the silc_server_daemonise() function more readable. + Affected file silcd/server.c. + + * Pid file is now optional, the user may comment it out from + the config file. Removed define SILC_SERVER_PID_FILE, we + don't need a default any longer. Affected file + configure.in.pre, lib/Makefile.am.pre. + + * Make some use of the pid file. The server now dies at startup + if it detects a valid pid file on his path. The server would + die anyway in this circumstance, because of the bind() failure. + Affected file silcd/silcd.c. + + * No longer compiling lib/dotconf. + +Mon Dec 17 18:24:27 EET 2001 Pekka Riikonen + + * Fixed JOIN command parsing not to crash. Affected file + lib/silcclient/command.c. + + * Fied the NICK_CHANGE notify to add the new client entry + even it is resolved. This removes an <[unknown]> nick + thingy bug in the client. Affected file is + lib/silcclient/client_notify.c. + + * Do not try to allocate 0 bytes (efence does not like it) + in lib/silccore/silccomand.c when encoding payload. + + * Do not take IRCNICK as nickname in Irssi SILC client since + it is not possible to set nickname before hand connecting + the server (TODO has an entry about adding auto-nicking + support). + + * Changed the silc_server_command_pending to check whether + there already exists an pending entry with the specified + command, command identifier and pending callback. This is + to fix IDENTIFY and WHOIS related crashes that may register + multiple pending commands with same identifier. Affected + file silcd/command.c. + + * Fixed the server to reconnect to the router even if it + was already reconnecting and EOF was received. This to + fix a possibility that the server wouldn't ever try to + auto-reconnect to the router. Affected file silcd/server.c. + +Sat Dec 15 20:31:50 EET 2001 Pekka Riikonen + + * Fixed the server's password authentication to use the + length of the locally saved password, and not the one + sent in the packet. Affected file silcd/protocol.c. + + * Fixed same password authentication problem in the + Authentication Payload handling routines in + lib/silccore/silcauth.c. + + * Yet another password authentication problem fixed with + channel password handling in silcd/command.c. + +Mon Dec 10 19:57:40 EET 2001 Pekka Riikonen + + * If first character of string in silc_parse_userfqdn is '@' + then do not parse it. Affected file is + lib/silcutil/silcutil.c. + +Sun Dec 9 22:18:50 EET 2001 Pekka Riikonen + + * Fixed minor bug in IDENTIFY command reply sending, which + caused various weird problems during JOIN when it was + resolving names for users. Affected file silcd/command.c. + +Sun Dec 9 19:18:41 EET 2001 Pekka Riikonen + + * Fixed the IDENTIFY command reply sending to chech better valid + clients. It was possible to send incomplete list of replies. + Affected file silcd/command.c. + +Sat Dec 8 15:58:31 EET 2001 Pekka Riikonen + + * Added silc_client_command[s]_[un]register functions now to + dynamically register the commands in client library. Removed + the static table of commands. This allows the client library + to call commands without causing the application to know about + what commands library has called. + + Removed the INFO command reply kludge to detect when the command + was called by library. Now library use its own command reply + function for INFO command. + + Added function silc_client_command_call to call a command. + Application can use it to call command, not access the structure + directly. + + Now all commands that are sent by the client library (not + explicitly sent by application) use own command reply functions. + + Affected files around lib/silcclient/ and in + irssi/src/silc/core/. + + * Fixed the WHOIS command reply sending to chech better valid + clients. It was possible to send incomplete list of replies. + + Fixed the WHOIS and IDENTIFY to send the request to router + if normal server did not do it and did not find any results. + + Affected file silcd/command.c. + +Thu Dec 6 17:21:06 EET 2001 Pekka Riikonen + + * Moved the internal data from SilcClient context into its + own file, not accesible to application. Affected files + lib/silcclient/client.h and lib/silcclient/client_internal.h, + and other files in client library. + +Thu Dec 6 10:37:55 EET 2001 Pekka Riikonen + + * Added doc/examples installation target in Makefile.am.pre. + A patch by salo. + +Tue Dec 4 17:43:19 EET 2001 Pekka Riikonen + + * If NO_SUCH_CLIENT_ID notify is received for WHOIS or IDENTIFY + commands the found client entry will be removed from the + cache, after notifying application about the error. Affected + file lib/silcclient/command_reply.c. + + * Changed the /MSG to check for exact nickname user gave, and + not let `nick' match `nick@host' if it is only one found. Now, + user must type the exact nickname (like nick@host2) even if + there are no more than one same nicks found. This is to avoid + a possibility of sending nickname to wrong nickname since + `nick' could match `nick@host'. Affected file is + irssi/src/core/silc-servers.c. + +Mon Dec 3 18:49:45 EET 2001 Pekka Riikonen + + * Do not print "you are now server operator" or similar when + giving /away command. Affected files are + irssi/src/silc/core/client_ops.c, silc-servers.h. + + * Made the silc_server_command_pending_error_check to send + the same command reply payload it received back to the + original sender of the command. This way all arguments + that was received by the server will be received by the + client too. Affected file silcd/command.c. + + * Added the silc_idcache_add to return the created cache entry + to a pointer. Affected file lib/silccore/silcidcache.[ch]. + + * Add global clients to expire if they are not on any channel. + This is because normal server will never know if they signoff + if they are not on any channel. The cache expiry will take + case of these entries. This is done by normal servers only. + The affected files are silcd/command_reply.c, + silcd/idlist.[ch], silcd/server and silcd/packet_receive.c. + + * If server receives invalid ID notification for WHOIS or + IDENTIFY and the ID exists in the lists, it is removed. + Affected file silcd/command_reply.c. + + * If NO_SUCH_CLIENT_ID is received for WHOIS or IDENTIFY command + in client then client entry that it matches is searched and + the nickname is printed on the screen for user. Affected + file irssi/src/silc/core/client_ops.c. + +Mon Dec 3 11:56:59 EET 2001 Pekka Riikonen + + * Use cache entry expire time in the LIST command reply to + purge old entries from the cache after the LIST command + reply has been received. This way we don't have non-existent + entries in the cache for too long. Affected file is + silcd/command_reply.c. + +Sun Dec 2 23:29:07 EET 2001 Pekka Riikonen + + * If we are normal server, and we've not resolved client info + in WHOIS or IDENTIFY from router, and it is global client, + we'll check whether it is on some channel. If it is not + then we cannot be sure about its validity and will resolve it + from router. Fixes a bug in WHOIS and IDENTIFY. Affected + file silcd/command.c. + + * Search channel by name (if possible) rather than by ID + in IDENTIFY command's command reply. Affected file is + silcd/command_reply.c. + +Sun Dec 2 13:48:46 EET 2001 Pekka Riikonen + + * Distribute to the channel passphrase in CMODE_CHANGE notify. + Updated specs and implemented it. Affected file silcd/command.c, + silcd/packet_send.c and silcd/packet_receive.c. + + * Implemented the payload handling in the JOIN + command. If provided all conditions for channel joining + except requirement to provide correct passphrase can be + overrided by the channel founder. Updated the protocol specs. + Affected file silcd/command.c. + + Added support for founder auth in JOIN command in client + library. Fixed the parsing of the JOIN command now to support + all options as they should be. The affected file is + lib/silcclient/command.c. + + * Optimized the WHOIS and IDENTIFY commands to send the request + to router only if it includes nicknames or other names. If + they include only IDs then check the local cache first before + routing. Affected file is silcd/command.c. + + * Added channels topic announcements. Affected file is + silcd/packet_receive.c and silcd/server.c. + + * Fixed the silc_server_send_notify_topic_set to really destine + the packet to channel. Affected file silcd/packet_send.c. + + * Fixed a crash in CHANNEL_CHANGE notify handling in the client + library. Affected file lib/silcclient/client_notify.c. + + * Added UMODE announcements. Affected file silcd/server.c. + +Sat Dec 1 12:52:39 EET 2001 Pekka Riikonen + + * Memory leak fixes in: + + lib/silcutil/silcsockconn.c + lib/silcske/silcske.c + lib/silcske/groups.c + lib/silccrypt/rsa.c + lib/silccrypt/silcpkcs.c + lib/silccore/silccommand.c + lib/silccore/silcidcache.c + silcd/idlist.c + silcd/packet_send.c + silcd/command.c + + * ROBOdoc documented the lib/silcske/groups.h file and a + bit changed the interface for better. + +Thu Nov 29 22:12:50 EET 2001 Pekka Riikonen ' + + * Update the client entry context in the ID cache after + nick change. Affected file lib/silcclient/command.c. + Fixes the CUMODE command when regaining founder privileges, + and a little WHOIS problem. + + * Fixed silc_net_gethostbyname to correctly call the + inet_ntop. Affected file lib/silcutil/silcnet.c. + +Thu Nov 29 19:31:23 EET 2001 Pekka Riikonen ' + + * Added IPv6 support checking to the configure.in.pre, added + also --enable-ipv6 option to override the check. Affected + file configure.in.pre. + + * The silc_thread_create now calls the start function + directly if threads support is not compiled in. Removes + ugly #ifdef's from generic code. Affected files are + lib/silcutil/unix/silcunixthread, win32/silcwin32thread.c. + + * Added silc_net_gethostby[name/addr]_async to asynchronously + resolve. Affected files are lib/silcutil/silcnet.[ch]. + + * Added support for rendering IPv6 based server, client and + channel IDs. Affected file lib/silcutil/silcutil.c. + + * Added support for creating IPv6 based server IDs. Affected + file is silcd/serverid.c. + +Wed Nov 28 23:46:09 EET 2001 Pekka Riikonen ' + + * Added silc_net_gethostby[addr/name] into the + lib/silcutil/silcnet.[ch]. Added IPv6 support to Unix network + routines. Added silc_net_is_ip[4/6]. Affected file is + lib/silcutil/unix/silcunixnet.c. All routines that take + address as argument now supports both IPv4 and IPv6 addresses. + +Mon Nov 26 18:09:48 EET 2001 Pekka Riikonen ' + + * Fixed LIST command reply sending in server. Affected file + silcd/command.c. + + * Server now sends the kicker's client ID in the KICK notify + to the kicked client. Affected file silcd/command.c. + + * The client library now parses the kickers client ID and + UI displays it. Affected files lib/silcclient/client_notify.c + and irssi/src/silc/core/silc-channels.c, module-formats.c. + + * Made all payload parsing function prototypes consistent. + They all take now const unsigned char * and uint32 pair as + the payload data instead of SilcBuffer. Changes all around + the source tree. Other unsigned char* -> const unsigned char* + changes around the tree as well. + + * Optimized SFTP client and server packet sending not to + allocate new buffer for each packet but to recycle the + first allocated buffer. Affected files are + lib/silcsftp/sftp_client.c, sftp_server.c, sftp_util.[ch]. + + * Optimized the SFTP client to use SilcList instead of + SilcDList for requests, because it is faster. Affected file + is lib/silcsftp/sftp_client.c. + + * Moved the ID Payload routines from lib/silccore/silcpayload.[ch] + into lib/silccore/silcid.[ch]. + + Renamed silcpayload.[ch] into silcargument.[ch]. + +Mon Nov 26 15:01:53 CET 2001 Pekka Riikonen + + * If client entry is deleted with active key agreement + session, abort the session. + + The silc_client_abort_key_agreement now calls the completion + callback with new SILC_KEY_AGREEMENT_ABORTED status. + + Affected file lib/silcclient/silcapi.h, client_keyagr.c and + idlist.c. + +Sun Nov 25 18:01:45 EET 2001 Pekka Riikonen + + * Don't use __restrict in older GCC's. Affected file is + lib/silcmath/mpi/mpi-priv.h. A patch by salo. + + * silc_net_localhost now attempts to reverse lookup the + IP/hostname. Affected file lib/silcutil/silcnet.c. + + * Defined argument to the SILC_COMMAND_JOIN + command. It can be used to gain founder privileges at + the same time when joining the channel. + + Defined that the SILC_NOTIFY_TYPE_KICKED send the + kicker's client ID as well. Updated protocol specs. + + Defined that the server must send SILC_COMMAND_IDENTIFY + command reply with error status to client who sent + private message with invalid client ID. + + Updated the protocol specification. + + * Added silc_server_send_command_reply to send any + command reply. Affected file silcd/packet_send.[ch]. + + * Added silc_id_payload_encode_data to encode ID payload + from raw ID data. Affected file lib/silccore/silcpayload.[ch]. + + * The server now send IDENTIFY command reply with error + status if client ID in private message is invalid. Affected + file silcd/packet_receive.c. + + * Save the server key file with server's IP address in + the filename instead of hostname. The affected file is + irssi/src/silc/core/client_ops.c. + +Sat Nov 24 20:08:22 EET 2001 Pekka Riikonen + + * Typo fixes in irssi/src/fe-common/silc/module-formats.c. + A patch by Sunfall. + + * Added libtool support for compiling shared objects in + lib/silcsim. Affected file configure.in.pre and + lib/silcsim/Makefile.am. Original patch by cras. + +Fri Nov 23 23:30:59 EET 2001 Pekka Riikonen + + * Pid file configuration, and server's config file fixes + patch by toma. Updated CREDITS file. + +Sun Nov 18 01:34:41 EET 2001 Pekka Riikonen + + * Fixed silc_client_channel_message to not try to decrypt + the message twice if it resolved the destination client + information. This could cause of dropping one channel + message. Affected file lib/silcclient/client_channel.c. + +Wed Nov 14 23:44:56 EET 2001 Pekka Riikonen + + * Added silc_client_run_one into lib/silcclient/silcapi.h and + lib/silcclient/client.c. This function is used when the SILC + Client is run under some other scheduler, or event loop or + main loop. On GUI applications, for example this may be + desired to used to run the client under the GUI application's + main loop. Typically the GUI application would register an + idle task that calls this function multiple times in a second + to quickly process the SILC specific data. + +Wed Nov 14 19:16:52 CET 2001 Johnny Mnemonic + + * Fixed silc_server_drop() for dropping the supplementary + groups as well, this could cause a security hole on some + systems. + +Wed Nov 14 16:22:25 EET 2001 Pekka Riikonen + + * __pid_t -> pid_t in lib/silccrypt/silcrng.c. A patch by + johnny. + + * Write PID file after dropping privileges. Added -F option + to run server on foreground. A patch by debolaz. + Affected files silcd/server.c, silcd/silcd.c. + + * Fixed MOTD to return the MOTD file server name. Affected + file silcd/command.c. + + * Added INFO command reply handling to the Irssi SILC Client. + Affected file irssi/src/silc/core/client_ops.c. + +Wed Nov 14 00:18:08 EET 2001 Pekka Riikonen + + * Fixed the silc_idcache_list_* routines to really support + the dynamic list. Fixes a crash. Affected file is + lib/silccore/silcidcache.c. + + * Fixed the LIST command reply to really call LIST command's + pending callbacks. Affected file silcd/command_reply.c. + +Tue Nov 13 00:49:17 EET 2001 Pekka Riikonen + + * Update conn->local_entry->nickname after giving NICK + command. Affected file lib/silcclient/command.c. + +Sun Nov 11 23:43:02 PST 2001 Brian Costello + + * Added the [pid] option to the silcd configuration file + + Affected files: serverconfig.[ch] and silcd.c + +Sun Nov 11 23:56:39 EET 2001 Pekka Riikonen + + * Save fingerprint in WHOIS command reply in server. + Affected file silcd/command_reply.c. + + * Fixed NICK commands pending callback registration. + Affected file lib/silcclient/command.c. + +Sun Nov 11 10:49:10 EET 2001 Pekka Riikonen + + * Use ++server->cmd_ident when sending commands in server, + instead of random number. Affected file silcd/command.c. + + * Fixed GETKEY command reply to call actually GETKEY pending + command callbacks. Affected file silcd/command_reply.c. + + * A bit stricter check for nicknames. Check for same nickname + in NICK command also. Affected file silcd/command.c. + + * Do not call INFO command everytime client ID changes, only + during first connecting. Affected file lib/silcclient/client.c. + + * Set the new nickname only after successful command reply for + NICK command is returned by server. Affected file + lib/silcclient/command.c. + + * Remove nicknames from nicklist during server_signoff notify. + Should fix /NAMES bit more. The affected file is + irssi/src/silc/core/silc-channels.c. + + * Added `fingerprint' field to the SilcIDListData in the + silcd/idlist.h to hold the fingerprint of the client's + public key. + + Send the fingerprint of the client's public key in WHOIS + command reply. + + Affected files silcd/command.c, and silcd/idlist.[ch]. + + * Added silc_fingerprint into lib/silcutil/silcutil.[ch] to + create fingerprint from given data. + + * Show the fingerprint of the client's public key in WHOIS. + Affected files irssi/src/module-formats.[ch] and + irssi/src/silc/core/client_ops.c. + + * Format the multiple same nicknames also during JOIN and + NICK_CHANGE notifys. Affected file is + lib/silcclient/client_notify.c. + + * Do not print error on screen for invalid private message + payload since it can come if someone is sending private + messages with wrong key. Affected file + lib/silccore/silcprivate.c. + + * Fixed multiple concurrent /PING crash. Affected file + lib/silcclient/command.c. + + * Changed the wrong ID encoding. All IP addresses must be + in MSB first order in encoded format. They were encoded + wrong and was in LSB format. Affected files are + silcd/serverid.c, lib/silcutil/silcutil.c. + + * Remove silc_net_addr2bin_ne from lib/silcutil/silcnet.[ch]. + + * Call the `connect' client operation through the scheduler + in case of error. Affected file lib/silcclient/client.c. + + * Call the `failure' client operation even if the error + occurred locally during a protocol. Affected file is + lib/silcclient/protocol.c. + + * Added support of sending LIST command to router from normal + server. This way normal server can get list of all channels + in the network too. Fixed the channel list sending in the + server too. Affected files are silcd/command.c, and + silcd/command_reply.[ch]. + + * Added silc_server_update_channels_by_server and + silc_server_remove_channels_by_server. They are used during + disconnection of primary router and in backup router protocol. + Affected file silcd/server_util.[ch], silcd/server.c and + silcd/server_backup.c. + + * Fixed channel adding to global list in IDENTIFY command + reply in server. Affected file silcd/command_reply.c. + +Sat Nov 10 21:39:22 EET 2001 Pekka Riikonen + + * If the incoming packet type is REKEY or REKEY_DONE process + that packet always synchronously. Fixes yet another MAC + failed error on slow (dialup) connections. Affected file + lib/silcclient/client.c and silcd/server.c. + +Thu Nov 8 22:21:09 EET 2001 Pekka Riikonen + + * Call check_version SKE callback for initiator too. Affected + file lib/silcske/silcske.c. + + * Implemented fix for security hole found in the SKE that was + fixed in the specification few days back; the initiator's + public key is now added to the HASH value computation. + Added backwards support for the old way of doing it too, for + old clients and old servers. Affected file is + lib/silcske/silcske.c. + + * Enabled mutual authentication by default in SKE. If initiator + is not providing mutual authentication the responder will + force it. This will provide the proof of posession of the + private key for responder. The affected files are + lib/silcclient/protocol.c and silcd/protocol.c. + + * Do not cache anymore the server's public key during SKE. + We do mutual authentication so the proof of posession of + private key is done, and if the server is authenticated in + conn auth protocol with public key we must have the public + key already. Affected file silcd/protocol.c. + + * Added new global debug variable: silc_debug_hexdump. If + it is set to TRUE SILC_LOG_HEXDUMP will be printed. Affected + file lib/silcutil/silclog.[ch]. + + * Fixed compilation warning due to char * -> const char *. + Affected files lib/silcutil/silcnet.h, and + lib/silccore/silcauth.[ch]. + +Wed Nov 7 20:43:03 EET 2001 Pekka Riikonen + + * Fixed CMODE command when new channel key was created. If + the creation failed the old key was removed. Next time giving + same command would crash the server since the old key was + freed already. Affected file silcd/command.c. + + * Fixed the silc_server_announce_get_channels to not crash + on reconnect. Affected file silcd/server.c. + +Wed Nov 7 17:15:07 EET 2001 Pekka Riikonen + + * Added silc_log_set_debug_string function to set a regex + string to match for debug output. Only the function names, + or filenames matching the given debug string is actually + printed. This way it is possible to filter out those debug + strings that user is not interested in. + + Fixed a bug in silc_string_regexify. + + Affected files lib/silcutil/silclog.[ch], and + lib/silcutil/unix/silcunixutil.c. + + * Changed the -d options in both server and Irssi SILC client + to take the debug string as argument. Affected files + silcd/silcd.c and irssi/src/silc/core/silc-core.c. + +Tue Nov 6 21:31:54 EET 2001 Pekka Riikonen + + * Added silc_hash_babbleprint to create a Bubble Babble + Encoded fingerprint. The encoding is developed by Antti + Huima (draft-huima-babble-01.txt), and it creates human + readable strings out of binary data. Affected file + lib/silccrypt/silchash.[ch]. + + * Print the babble print now in addition of fingerprint as well + in Irssi SILC client. Affected files are + irssi/src/fe-common/silc/module-formats.[ch], + irssi/src/fe-common/silc/core/client_ops.c. + +Sun Nov 4 23:37:28 EET 2001 Pekka Riikonen + + * Fixed a security problem found in SKE. The initiator's + public key too is now added to the HASH hash value creation + which is signed by the responder to create the SIGN value. + This will prevent anyone in the middle to lie to the responder + about the initiator's public key. If this is done now, the + man in the middle will get caught. Updated the protocol + specification. + Sun Nov 4 11:43:53 EET 2001 Pekka Riikonen * Better installation directory handling. Configure module @@ -7,11 +1280,31 @@ Sun Nov 4 11:43:53 EET 2001 Pekka Riikonen * Fixed compiler warning from MPI library, and from SILC RNG. A patch by johnny. + * Added SILC_SERVER_PID_FILE to define the pid file for server. + It can be configured with ./configure. A patch by toma. + Sat Nov 3 23:48:23 EET 2001 Pekka Riikonen * Find correct make to use in prepare-clean. A patch by toma. Affected file prepare-clean. +Sat Nov 3 22:04:00 PST 2001 Brian Costello + + * Added irssi variables use_auto_addr, auto_bind_ip, + auto_bind_port and auto_public_ip. + + * Changed the interface for silc_client_send_key_agreement + in lib/silcclient/silcapi.h + + Affected files: + + irssi/src/silc/core/silc-core.c + irssi/config + lib/silcclient/silcapi.h + irssi/src/silc/core/silc-channels.c + lib/silcclient/client_keyagr.c + irssi/docs/help/key + Sat Nov 3 17:48:55 EET 2001 Pekka Riikonen * Added silc_pkcs_public_key_compare to compare two