X-Git-Url: http://git.silcnet.org/gitweb/?p=silc.git;a=blobdiff_plain;f=CHANGES;h=01d6bbf5af442e7a4b4545cbdd860b08c39a57a3;hp=a29581d80abc34326c92db5b0afbcfade0c71596;hb=386c883d8774999c6e74d7c6c37e52e4163a4cb1;hpb=bd2c9343055303a5517a33401f57a0414639a953 diff --git a/CHANGES b/CHANGES index a29581d8..01d6bbf5 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,588 @@ +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