X-Git-Url: http://git.silcnet.org/gitweb/?a=blobdiff_plain;f=CHANGES;h=388e17c7a79428c4600ccb7e86f4a72f621dcae2;hb=487b9263317ab859b530cdda115984a970ca04eb;hp=f7dbcb28fcc5ad10867c42f990c921a68be276fb;hpb=2a4bc2680d6927b8d809e55af662feacb8a42707;p=silc.git diff --git a/CHANGES b/CHANGES index f7dbcb28..388e17c7 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,584 @@ +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 + paths and other paths automatically to example_silc* files + in doc/. A patch by toma. + + * 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 + public keys. Affected file lib/silccrypt/silcpkcs.[ch]. + + * Check that the client who set the founder mode on the + channel is the same client that is giving the founder + mode to itself. It is done by comparing the saved public + key (it is saved even in the authentication is passphrase). + Affected file silcd/command.c. + +Fri Nov 2 18:52:08 EST 2001 Pekka Riikonen + + * Do not process packet for disconnected socket connection. + Affected file lib/silccore/silcpacket.c. + + * Process the DISCONNECT packet through scheduler in the + client library. Affected file lib/silcclient/client.c. + + * Fixed the silc_client_packet_parse to not to increase + the packet sequence number if the conn->sock and the + current socket connection is not same. This can happen + for example during key agreement when the conn includes + multiple socket connections (listeners). Affected file + lib/silcclient/client.c. + + * The sender of the file transfer request now provides also + the pointer (listener) for the key exchange protocol. If + the listener cannot be created then it sends empty key + agreement and lets the receiver provide the listener. + + Added `local_ip' and `local_port' arguments to the + silc_client_file_send. If they are provided they are used, + if not then it will attempt to find local IP address, if + not found or bind fails then the remote client will provide + the listener. + + Affected files are lib/silcclient/client_ftp.c and + lib/silcclient/silcapi.h. + + * Extended the FILE SEND command to support defining the + local IP and port for key exchange listener. They are + optional. Affected file irssi/src/silc/core/silc-servers.c. + +Thu Nov 1 22:10:07 EST 2001 Pekka Riikonen + + * Defined to WHOIS command reply the sending of fingerprint + of the client's public key (if the proof of posession of the + corresponding private key is verified by the server). + Updated to the protocol specification. + + * Added support of receiving the client's public key's + fingerprint in command reply in client library. Affected + file is lib/silcclient/command_reply.c, and + lib/silcclient/idlist.[ch]. + +Thu Nov 1 18:06:12 EST 2001 Pekka Riikonen + + * Do not send over 128 chars long nickname to the server + in NICK command. Affected file lib/silcclient/command.c. + + * Do not send over 256 chars long channel names to the server + in JOIN command. Affected file lib/silcclient/command.c. + +Tue Oct 30 22:48:59 EST 2001 Pekka Riikonen + + * Assure that silc_server_close_connection cannot be called + twice for same socket context. Affected file is + silcd/server.c. + +Tue Oct 30 16:58:14 EST 2001 Pekka Riikonen + + * Send error message to application if opening file for + writing during file transfer fails. Affected file is + lib/silcclient/client_ftp.c. + + Remove all file transfer sessions for a client that we're + removing from ID cache. + + Affected file is lib/silcclient/client_ftp.c. + + * Fixed silc_net_addr2bin to return correct address. Affected + file lib/silcutil/[unix/win32]/silc[unix/win32]net.c. + + * Fixed file transfer session removing on signoff notify. + Affected file irssi/src/silc/core/silc-servers.c. + + * Added the SilcClientFileError to be returned in the monitor + callback. Added NO_SUCH_FILE and PERMISSION_DENIED errors. + Affected file lib/silcclient/silcapi.h. + +Mon Oct 29 17:43:04 EST 2001 Pekka Riikonen + + * Fixed a crash in silc_client_ftp_free_sessions and + silc_client_ftp_session_free_client. Affected file + lib/silcclient/client_ftp.c. + + * Added `disabled' field in the SilcChannelEntry in the server + to indicate if the server entry is disabled. Affected file + silcd/idlist.h, silcd/command[_reply].c. + + * SILC server adds now /var/run/silcd.pid everytime it is + started. Affected file silcd/silcd.c. + + * Added silc_server_packet_send_clients to send a packet to + the provided table of client entries. Affected file + silcd/packet_send.[ch]. + + * Fixed a crash in client resolving in client_prvmsg.c in + client library. Affected file lib/silcclient/client_prvmsg.c. + + * Do not actually remove the client directly from ID cache + during SERVER_SIGNOFF, but invalidate it. This way we + preserve the WHOWAS info for the client. Affected file + silcd/server_util.c. + + * Fixed SERVER_SIGNOFF notify handling in the server. The + server is now able to process incoming SERVER_SIGNOFF notify + for a server that it doesn't even know about. It will remove + the clients provided in the notify. Affected file + silcd/packet_receive.c. + + * Check for partial packet in data queue after every packet that + was found from the queue. Return and wait for more data if + there is partial data in queue. Affected file is + lib/silccore/silcpacket.c. + +Sun Oct 28 18:46:27 EST 2001 Pekka Riikonen + + * Added SilcClietFileError enum to indicate error in + file transfer. Added SILC_CLIENT_FILE_MONITOR_KEY_AGREEMENT + and SILC_CLIENT_FILE_MONITOR_ERROR new monitor statuses. + Affected files lib/silcclient/silcapi.h and + lib/silcclient/client_ftp.c. + + * Check that newsize in silc_buffer_realloc is larger than + the old buffer's size. Affected file lib/silcutil/silcbufutil.h. + + * Added better monitor of file transfers. It now monitors + key agreement protocol during the file transfer too. Added + error reporting too. Affected files + irssi/src/silc/core/silc-servers.c, + irssi/src/fe-common/silc/module-formats.[ch]. + + * Wrote a help file for FILE command. + + * Added silc_rng_global_get_byte_fast to get not-so-secure + random data as fast as possible. Random data is read from + /dev/urandom if available and from the SILC RNG if not + available. It is used in padding generation. Affected file + lib/silccrypt/silcrng.[ch]. + + * All packets in client library are now processed synchronously. + Optimized packet processing a lot. Affected file + lib/silcclient/client.c. + + * All server connection packets are processing synchronously + now in server, to optimize packet processing. Affected file + silcd/server.c. + + * Include files are installed now only in Toolkit distribution + if make install is given. Affected files: all Makefile.am's. + +Thu Oct 25 22:44:06 EDT 2001 Pekka Riikonen + + * Assure that silc_client_notify_by_server_resolve does not + resolve the client information multiple times. If it cannot + be found by the first it cannot be found at all. Affected + file lib/silcclient/client_notify.c. + + * Fixed WHOWAS command reply calling. Affected file + lib/silcclient/command_reply.c. + + * Removed all references to silc_idlist_get_client from the + Irssi SILC client since that call is internal call used by + the library. The Irssi SILC client will use now client + retrieval functions found in silcapi.h. + + * Fixed a bug in resolving nickname info before sending + private message. It used freed memory. Affected file + irssi/src/silc/core/silc-servers.c. + Thu Oct 25 19:04:49 EDT 2001 Pekka Riikonen * Assure my_channels statistics cannot go negative in server.