X-Git-Url: http://git.silcnet.org/gitweb/?a=blobdiff_plain;f=CHANGES;h=571b89e4217a1312511a851a2c5bfad5b282fd22;hb=3d61cdca00bf9d465a9a82024e9e991cc93f94fb;hp=8df7abc40fe487b9723b393ad027ac9d71cde1ce;hpb=f7b04b59125cf9355b9f62fd768c41f9e9fb2376;p=silc.git diff --git a/CHANGES b/CHANGES index 8df7abc4..571b89e4 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,540 @@ +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 +544,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