X-Git-Url: http://git.silcnet.org/gitweb/?a=blobdiff_plain;f=CHANGES;h=60186ed1777ef0f40efa4776cf50988b8508cb8f;hb=refs%2Fheads%2Fsilc.protocol.1.0.branch;hp=fb664a36c83306be6adf476cf180b3bfeed87c1d;hpb=a5ae6ba34518dbaa3396a5ea1cd5c3bf212570b4;p=silc.git diff --git a/CHANGES b/CHANGES index fb664a36..60186ed1 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,558 @@ +Wed Apr 17 22:07:59 CEST 2002 Johnny Mnemonic + + * Fixed a bug in the pid writing function, which couldn't be + written in a root-owned directory. + +Tue Apr 16 18:29:02 CEST 2002 Pekka Riikonen + + * Merged irssi crash fixes on /QUIT, patch from cras. + +Sun Apr 14 20:41:28 CEST 2002 Johnny Mnemonic + + * Fixed a bug in library where sending a bogus authentication + payload would lead to a crash. Affected file is + lib/silccore/silcauth.c. + +Mon Apr 8 19:57:40 CEST 2002 Johnny Mnemonic + + * Added config parse status SILC_CONFIG_EPRINTLINE, this status + must be handled by the application and should tell the application + that an error message was already printed, and it should print the + config coords (line, filename, ...). Affected files are + silcd/serverconfig.c, lib/silcutil/silcconfig.[ch]. + + * Added local macro SILC_SERVER_CONFIG_ALLOCTMP to make the + server config parsing code more readable. + + Fixed a bug in the fetch_logging() config callback. + + Affected files is silcd/serverconfig.c. + + * Drop root privileges when started in foreground. Don't drop them + if debugging also. Affected file is silcd/silcd.c. + +Wed Apr 3 12:36:05 CEST 2002 Pekka Riikonen + + * Added better error logging in rekey protocol. Affected file + silcd/protocol.c. + + * Do not check public key types in SKE during rekey. Affected + file lib/silcske/payload.c. + + * Fixed the rekey protocol with PFS, which was totally broken. + Affected file silcd/protocol.c. + +Tue Apr 2 13:39:04 CEST 2002 Johnny Mnemonic + + * Merged version 1.1.4 of zlib. Even if it not currently in use, + it's good not to have security holes here. + + * Fixed a negative refcount situtuation for the config context. + Affected file is silcd/serverconfig.c. + +Mon Apr 1 20:15:10 CEST 2002 Johnny Mnemonic + + * ROBOdoc documented lib/silcutil/silcutil.h. + +Sat Mar 30 18:15:55 EET 2002 Pekka Riikonen + + * Changed the silc_get_username and silc_get_real_name to + never fail. Affected file lib/silcutil/unix/silcunixutil.c. + + * Fixed the Irssi SILC Client to use the silc_get_username and + silc_get_real_name insted of glib routines since the glib + routines only corrupt stack. Fixes the Irssi SILC to work in + Cygwin. Affected file irssi/src/silc/core/silc-core.c. + + * Fixed the Irssi to not use g_get_home_dir since it crashes + or returns garbage on cygwin and corrupts stack. Added function + get_home_dir to Irssi routines. Affected files are + irssi/src/core/misc.[ch] and irssi/src/core/core.c. + +Fri Mar 29 10:41:07 EET 2002 Pekka Riikonen + + * And yet again reverted back the config thing since Johnny + screwed it up. Affected file silcd/serverconfig.[ch], server.c, + and silcd.c. + + * Fixed memory leaks from config object. Affected files are + silcd/serverconfig.[ch]. + + * Added support for adding new connections to the server in rehash. + After rehash they take effect. + + Added support for changing the maximum allowed connections in + rehash. The number can grow but going smaller is not supported. + + Added function silc_server_num_sockets_by_remote to the + silcd/server_util.[ch]. + + Affected files are silcd/server.c, and silcd/serverconfig.[ch]. + +Fri Mar 29 03:26:12 CET 2002 Johnny Mnemonic + + * Added preliminary checking during config parsing for a valid + public/private key and removed further checks in the code. + Affected files are silcd/serverconfig.[ch], server.c. + + * Moved functions silc_server_drop() and silc_server_daemonise() + from server.c to silcd.c since they are stricly related to + the application activity. + + * Reverted a small part of the automatic ref/unref since + it caused a double unref in some situations. Affected + files are silcd/silcd.[ch], server.c, serverconfig.c. + + * Added some .cvsignore files in the lib directory. + +Thu Mar 28 22:51:15 EET 2002 Pekka Riikonen + + * Fixed silc_net_gethostbyaddr to correctly resolve by + address. Affected file lib/silcutil/silcnet.c. + + * Fixed the notify relaying to client. The HMAC to be used + with relayed packets ws wrong and caused decryption failure + at the client end. Affected file is silcd/packet_receive.c. + +Thu Mar 28 19:02:05 EET 2002 Pekka Riikonen + + * Created new branch silc_protocol_1_0_branch. + + * Reverted the silc_log_quick change in lib/silcutil/silclog.c. + + * Changed the silc_server_config_* routines to be SilcServer + independent. They are now officially application specific code + and not part of generic server implementation. Affected files + are silcd/serverconfig.[ch], silcd/silcd.c, silcd/server.c. + +Thu Mar 28 17:01:43 EET 2002 Pekka Riikonen + + * Added automatic referencing of config context in the + silc_server_config_alloc, and automatic unreferencing in the + silc_server_config_destroy. Affected files are + silcd/serverconfig.[ch], silcd/silcd.c. + + * Fixed the silc_log_quick handling in the logging routines. + It didn't log quickly when it was TRUE. Affected file is + lib/silcutil/silclog.c. Also the flush delay was set even + if it was 0 in config file. Affected file is + silcd/serverconfig.c. + + * Added support for changing key pair of the server in rehash. + Affected file silcd/server.c. + +Thu Mar 28 12:17:21 CET 2002 Pekka Riikonen + + * Fixed the TOPIC_SET notify to not cras. It changed the topic + too early, before getting the channel entry. Affected file + is silcd/packet_receive.c. + +Thu Mar 28 09:58:16 CET 2002 Johnny Mnemonic + + * Added functions silc_server_config_[ref/unref], these are used + to prevent that the config object is destroyed. + + No longer directly affect global variables silc_log_quick and + silc_log_delay, they are first cached inside the config object + and then applied with silc_server_config_setlogfiles(). + + silc_server_config_set_defaults() is now internal to + serverconfig.c, there are no reasons to show this internal stuff + to the server. + + Affected files are silcd/serverconfig.[ch]. + + * Added macro SILC_SERVER_LOG_STDERR(), this should replace most + fprintf's to stderr, since some code may be executed again after + the server went into the background. Affected files are + silcd/server.[ch]. + + * Added rehash support. Added function silc_server_rehash() that + will perform all the basic tasks of the rehashing procedure. + + * Added command line option `-x, --hexdump'. This will enable the + SILC_LOG_HEXDUMP calls that are no longer enabled with `--debug'. + The option `--hexdump' implies `--debug'. + + * Fixed a bad bug in the logging APIs (silcutil library) where + the application would crash after calling silc_log_reset_all(). + +Wed Mar 27 19:43:16 EET 2002 Pekka Riikonen + + * Fixed the KICKED notify handling in client library to + correctly remove the channel and all entries from the + channel when I was kicked. This bug crashed the client. + + Fixed yet another but in KICKED notify handling to remove + the kicked client correctly from the channel. + + Affected file is lib/silcclient/client_notify.c. + + * Fixed a minor bug in looking up correct client entry + in KICKED notify in server. Affected file is + silcd/packet_receive.c. + + * Fixed the lib/silcmath/Makefile.am to include the MPI and GMP + sources correctly to distribution. Fixes --with-gmp option. + + * Removed the manual rehashing from ID Cache, and changed it + to use the SILC Hash Table's auto rehash feature. Affected + file is lib/silccore/silcidcache.c. + +Wed Mar 27 00:07:11 EET 2002 Pekka Riikonen + + * Fixed a bug in the silc_client_nickname_format function that + handles the multiple same nickname formatting. Two clients + with same nickname caused problems after the first one left + and rejoined. It didn't format the nickname correctly. + Affected file is lib/silcclient/idlist.c. + +Tue Mar 26 19:33:03 CET 2002 Pekka Riikonen + + * Don't change the topic if olod topic is same as new one. + Affected file is silcd/packet_receive.c. + +Mon Mar 25 21:11:35 EET 2002 Pekka Riikonen + + * Added cross-reference support to the SILC Documentation + generator. All types across all HTML files are now cross- + referenced. Affected files util/robodoc/generator.c and + scripts/silcdoc/silcdoc. + + * Added file lib/silcutil/silctypes.h to include all the + arithmetic type definitions and some macros. Removed + includes/bitmove.h and moved macros to silctypes.h. + +Mon Mar 25 17:19:46 EET 2002 Pekka Riikonen + + * Merged bugfixes for Irssi SILC client from irssi.org CVS. + +Sun Mar 24 11:21:04 EET 2002 Pekka Riikonen + + * Added `type' argument to silc_id_payload_parse_id function which + now returns the type of the ID to the sent pointer. Affected + file is lib/silccore/silcid.[ch]. + + * Added check for CMODE_CHANGE notify type that mode change is + allowed by the sender. Affected file silcd/packet_receive.c. + + * Added check for CUMODE_CHANGE notify type that mode change is + allowed by the sender. Affected file silcd/packet_receive.c. + Added the ID type as CUMODE_CHANGE notify type as argument + to the `notify' client operation. Affected files are + lib/silcclient/client_notify.c, irssi/src/silc/core/client_ops.c. + + * Added function silc_client_add_server to the client library. + Added support for resolving also channel and server info when + received unknown entity in notify packet. Affected files are + lib/silcclient/idlist.[ch], lib/silcclient/client_notify.c. + + * Added function silc_command_get_status to return the command + status from the command reply's argument payload. Affected files + are lib/silccore/silccommand.[ch]. + + * Added check for KICKED notify type that the kicking is + allowed by the client. Affected file silcd/packet_receive.c. + + * Created function silc_get_input which can be used to get input + (echo on or off) from user on command line. Affected files are + lib/silcutil/silcutil.[ch]. + +Sat Mar 23 09:51:26 EET 2002 Pekka Riikonen + + * Optimized silc_server_packet_relay_to_channel function. + Added new function silc_channel_message_payload_encrypt which + can be called directly if channel message payload needs to + be encrypted and is already encoded (no need to call _encode + function). Packet relaying is now done by router without any + extra memory allocations. Affected files are + lib/silccore/silcchanel.[ch], silcd/packet_receive.c and + silcd/packet_send.c. + + * Fixed the INVITE notify handling. It took wrong arguments + as invite list and invite delete. Affected file is + silcd/packet_receive.c. + + * Added check for TOPIC_SET notify type that the topic change is + allowed by the client. Affected file silcd/packet_receive.c. + + * Added check for INVITE notify type that inviting is allowed by + the client. Affected file silcd/packet_receive.c. + + * Changed the silc_server_client_on_channel to return the + SilcChannelClientEntry as well. Moved the function + silc_server_check_cmode_rights to server_util.[ch]. + Affected files are silcd/server_util.[ch], silcd/command.c. + + * Added function silc_server_check_umode_rights to check whether + changing client's user mode is allowed. Added check for + UMODE_CHANGE notify type that the umode change is allowed + by the client. Affected files are silcd/server_util.[ch], + silcd/packet_receive.c and silcd/command.c. + +Fri Mar 22 12:25:58 CET 2002 Pekka Riikonen + + * Fixed the SILC_PACKET_MAX_ID_LEN to actually be the max + ID length. It ignored that ID can be IPv6 based as well. + Affected file lib/silccore/silcpacket.h. + + * Fixed the silc_id_id2str and silc_id_str2id to take the + IPv6 address offset's into consideration. Affecte file is + lib/silccore/silcid.c. + +Thu Mar 21 20:44:13 EET 2002 Pekka Riikonen + + * Fixed the internal Unix scheduler functions to check for + NULL context they may receive. The affected file is + lib/silcutil/unix/silcunixschedule.c. + +Thu Mar 21 19:12:22 EET 2002 Timo Sirainen + + * Changed hardcoded ~/.silc paths to use get_irssi_dir() so you + can specify different directory with --home command line + parameter. Affected files irssi/src/silc/core/client_ops.c, + clientutil.c + + * SILC-specific commands aren't now executed if the active server + isn't of SILC-type, so there won't be problems with having + IRC and SILC protocol support in same client. Affected files + irssi/src/silc/core/silc-channels.c, silc-servers.c, + silc-commands.h + +Wed Mar 20 11:06:57 CET 2002 Pekka Riikonen + + * Improved the signal support in SILC Schedule. Added new + function silc_schedule_signal_call which is used by application + to mark a signal to be called. It is now safe to perform + any kind of tasks in signal callbacks since it is guaranteed + that the application specified signal callback is called + after the signal is over. Affected files are + lib/silcutil/silcschedule.[ch], lib/silcutil/*/silc*schedule.c. + +Tue Mar 19 20:42:41 EET 2002 Pekka Riikonen + + * Added `name' field to SilcChannelPrivateKey to represent + application given name for the key. Moved also the context from + lib/silcclient/idlist.h into lib/silcclient/silcclient.h. + Added the `name' argument also to the function + silc_client_add_channel_private_key. + + Added function silc_client_current_channel_private_key to set the + current channel private key in use. + + Added "change" command to KEY command which can be used to change + the current channel private key. Bound the command also to + alt+K (Alt+Shift+k). + + Also affected files lib/silcclient/client_channel.c, + irssi/src/docs/help/in/key.in, irssi/src/silc/core/silc-channel.c. + +Tue Mar 19 16:32:43 CET 2002 Pekka Riikonen + + * Added silc_rng_get_byte_fast function in to the + lib/silccrypt/silcrng.[ch]. + + * Changed the interface of silc_packet_assemble and the + silc_packet_send_prepare. If silc_packet_assmble is now + called the application does not call silc_packet_send_prepare + because the library will call it automatically. These + interfaces now also return a reference to the outgoing buffer + which includes the assembled packet, which the application can + use to encrypt the packet. + + Affected files are lib/silccore/silcpacket.[ch], + lib/silcclient/client.c, client_channel.c client_prvmsg.c, + silcd/packet_send.c, server_backup.c and packet_receive.c. + + * Fixed a packet sending bug on very high load, where outgoing + packet queue wasn't handled correctly and packets got corrupted. + Affected files are lib/silcutil/*/silc*sockconn.c, + lib/silcclient/client.c and silcd/server.c. + +Mon Mar 18 21:00:41 EET 2002 Pekka Riikonen + + * Added macro SILC_PACKET_DATALEN which can be used during + packet assembling to check whether the data to be added to + the packet will fit to SILC_PACKET_MAX_LEN. If not the data + len is truncated until it fits it. + + Added checks for maximum length of channel message payload and + private message payload also. + + Added checks for maximum packet length in server and in + client library. + + Affected files are lib/silccore/silcpacket.h, silcd/packet_send.c, + lib/silcclient/client.c, lib/silccore/silcchannel.c and + lib/silccore/silcprivate.c, lib/silcclient/client_channel.c and + lib/silcclient/client_prvmsg.c. + +Mon Mar 18 14:54:42 CET 2002 Pekka Riikonen + + * Added silc_server_packet_queue_purge call to the + silc_server_disconnect_remote to assure that all data in the + queue before disconnecting is sent to the network. Affected + file silcd/server.c. + +Sun Mar 17 19:26:16 EET 2002 Pekka Riikonen + + * Added the deleting of server's own ID cache entry to the + silc_server_free function. Free also everything else that + has been allocated in silc_server_init. The affected file + is silcd/server.c. + +Sun Mar 17 15:44:56 EET 2002 Pekka Riikonen + + * Added functions silc_parse_version_string, silc_version_to_num, + and silc_ske_parse_version to parse SILC protocol style version + strings. Affected files lib/silcutil/silcutil.[ch] and + lib/silcske/silcske.[ch]. + + * Added new configuration params: version_protocol, version_software + and version_software_vendor to specify what version the remote + host must at least be to be able to connect to server. The vendor + string can be regex matched too. Added new function + silc_server_connection_allowed to check maximum number of allowed + connections, and allowed versions for incoming connections. + Affected files are silcd/server.c, server_util.[ch] and + serverconfig.[ch]. + +Sun Mar 17 10:24:50 EET 2002 Pekka Riikonen + + * Added preliminary support for signals in scheduler. The + signals we care about are now blocked always when the scheduler + is locked. This way we can synchronise the use of signal with + scheduler. It is guaranteed that when signal occurs the scheduler + is not locked, and thus new tasks can be safely added to the + scheduler. + + Renamed silc_schedule_wakeup_init and silc_schedule_wakeup_uninit + to silc_schedule_internal_init and silc_schedule_internal_uninit. + Added new platform specific routines + silc_schedule_internal_signals_[un]block and + silc_schedule_internal_signal_[un]register. + + Added new functions to SILC Schedule API: + silc_schedule_signal_[un]register. Each signal that application + is going to use should be registered to the scheduler. + + Affected files are lib/silcutil/silcschedule.[ch], + lib/silcutil/*/silc*schedule.c. + +Sat Mar 16 22:39:23 EET 2002 Pekka Riikonen + + * Check for unauthenticated client and server in the + silc_server_new_client and silc_server_new_server functions. + Affected file silcd/packet_receive.c. + + * Added function silc_string_is_ascii to check whether given + string is 7-bit ASCII string. Affected files are + lib/silcutil/silcutil.[ch]. + + * Added function silc_id_is_valid_server_id into the + silcd/serverid.c and added checking for valid Server ID's in + silc_server_new_server. The Server ID must always be based + on the server's public IP address. + + * Added logging of DISCONNECT packet message in the server. + Affected file silcd/server.c. + +Sat Mar 16 18:04:30 EET 2002 Pekka Riikonen + + * Changed all library interfaces that use Global RNG to also + accept SilcRng as argument. Affected files are + lib/silcclient/command.c, lib/silccore/silcauth.[ch], + lib/silccore/silcchanel.[ch], lib/silcclient/client_channel.c, + silcd/packet_send.c, lib/silccore/silcprivate.[ch], + lib/silcmath/silcprimegen.c, lib/silcmath/silcmath.h, and + lib/silccrypt/rsa.c. + + * Added function silc_pkcs_generate_key to the + lib/silccrypt/silcpkcs.[ch] for applications so that they + don't need to do pkcs->pkcs->init calls anymore. + + * Remove SilcSocketConnection from the SFTP API since it really + wasn't needed there. The application has the information + saved in its contexts anyway and the SFTP layer doesn't need + know about it. Affected files lib/silcsft/silcsftp.h and + lib/silcsftp/sftp_[server/client].c. + + * Rewrote the SILC SIM (modules) interface in lib/silcsim.[ch]. + The SilcSimContext is not SilcSim. + + * Fixed possible buffer overflows in silc_id_render in the + lib/silcutil/silcutil.c. + + * On EPOC the global crypto module lists are not used at all + in the crypto library. Added support for using the constant + algorithm list on EPOC. Affected files are + lib/silccrypt/silccipher.c, silchash.c, silchmac.c and + silcpkcs.c. + + * Fixed the handling of third parameter of KICKED notify, since + it was mistakenly updated to SILC Protocol 1.0 even though it + is to be included in 1.1. Since it is not in 1.0 it is not + mandatory, and this fix now handles it only if it is provided, + and it is not error if it is not provided. Affected file + lib/silcclient/client_notify.c. + +Sat Mar 16 09:07:27 EET 2002 Pekka Riikonen + + * Handled CHANNEL_CHANGE notify (ignore it) in Irssi SILC + client. Affected file irssi/src/silc/core/client_ops.c. + + * Merged with Irssi 0.8.4 from irssi.org CVS. + +Thu Mar 14 12:53:57 CET 2002 Pekka Riikonen + + * Check for valid socket connection in client entries before + sending any messages. Fixes a crash, but doesn't fix some + other underlaying bug that is lurking there. Affected + file silcd/packet_send.c. + +Thu Mar 14 13:38:12 EET 2002 Timo Sirainen + + * $usermode, $cumode and $cumode_space expandos shouldn't do + anything with non-SILC server records. Affected file + irssi/src/silc/core/silc-expandos.c + +Wed Mar 13 21:38:26 EET 2002 Pekka Riikonen + + * Fixed the silc_net_check_[host/local]_by_sock to support + IPv6 bound sockets as well. Now they can return IPv6 addresses + as well. Affected file lib/silcutil/silcnet.c. + + * Fixed silc_net_addr2bin to correctly convert IPv6 addresses. + Affected lib/silcutil/unix/silcunixnet.c. + + * Fixed ID rendering (at least on some platforms, not NetBSD) + for IPv6 addresses. Affected file lib/silcutil/silcutil.c. + +Tue Mar 12 17:58:59 EET 2002 Pekka Riikonen + + * Added silc_hash_public_key and silc_hash_public_key_compare + functions to be used with SilcHashTable. They can be used to + hash public keys and compare public keys in hash table. Affected + file lib/silcutil/silcutil.[ch]. + + * Added support for specifying multiple public keys for Client + connection section in server configuration file. This makes it + possible to accept multiple public keys from same host, or to + make a section that accepts any incoming host, and have the + accepted public keys listed in the section. + + Added functions silc_sever_[find/get]_public_key, added the + support for this actually to all connection sections but only + the Client section is currently allowed to specify multiple + public keys. + + Affected files are silcd/server.c, server_internal.h, + command.c, protocol.c, server_util.[ch], packet_receive.c. + +Mon Mar 11 23:37:38 EET 2002 Pekka Riikonen + + * Merged Irssi 0.8.2 from irssi.org CVS. + Sun Mar 10 23:34:48 CET 2002 Johnny Mnemonic * If silc_debug is TRUE, also output standard logging messages