+Mon Apr 22 09:09:44 CEST 2002 Pekka Riikonen <priikone@silcnet.org>
+
+ * Added BLOCK_INVITE user mode to be able to block incoming
+ invite notifications. Protoocol TODO #26. Affected files
+ are lib/silccore/silcmode.h, lib/silcclient/command.c and
+ silcd/command.c.
+
+Sun Apr 21 19:44:38 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
+
+ * Disconnect Payload includes now the status type. Updated
+ the protocol specs and the code. Protocol TODO #25.
+ Affected files are silcd/server.c, lib/silcclient/client.c.
+
+ * Added NOT_AUTHENTICATED, BAD_SERVER_ID, INCOMPLETE_INFORMATION,
+ KEY_EXCHANGE_FAILED and BAD_VERSION error status types.
+ Moved the silc_client_command_status_messages table to the
+ lib/silcutil/silcutil.c and added new funtion
+ silc_get_status_message, which deprecates function
+ silc_client_status_message. Affected files are
+ lib/silccore/silcstatus.h, lib/silcclient/command_reply.[ch],
+ lib/silcutil/silcutil.[ch].
+
+Fri Apr 19 17:35:15 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
+
+ * Defined that the nickname hash in Client ID MUST be from
+ lowercase nickname. This effectively changes nicknames in
+ SILC to case-insensitive. Updated the protocol specs and
+ the code. Affected files are lib/silcutil/silcutil.[ch],
+ silcd/serverid.c, and silcd/idlist.c.
+
+ * Added new channel user modes BLOCK_MESSAGES_USERS and
+ BLOCK_MESSAGES_ROBOTS. Updated the protocol specs and the
+ code. Affected files are lib/silccore/silcmode.h,
+ lib/silcclient/command.c, and silcd/packet_send.c.
+
+ * Added new error status ERR_RESOURCE_LIMIT. Updated protocol
+ specs and code. Affected file lib/silccore/silcstatus.h.
+
+ * Added support for watch list. It is possible to add nicknames
+ to be watched, and when they come to network, leave network
+ or user mode changes the watcher will be notified of this
+ change. Added SILC_COMMAND_WATCH command, added new
+ notify type SILC_NOTIFY_TYPE_WATCH to deliver the watch
+ notifications. Updated the protocol specs and implemented
+ this to library, client and server. Protocol TODO #21.
+ Affected files are lib/silccore/silccomand.h,
+ lib/silccore/silcnotify.h, lib/silcclient/command[_reply].[ch],
+ silcd/command[_reply].[ch], lib/silcclient/client_notify.c,
+ silcd/packet_send.[ch], silcd/packet_receive.c, and
+ irssi/src/silc/core/client_ops.c.
+
+ * Added user mode SILC_UMODE_REJECT_WATCHING to reject
+ somebody watching you. Updated the protocol specs and the
+ code. Affected files are lib/silccore/silcmode.h, and
+ lib/silcclient/command.c.
+
+Fri Apr 19 09:02:20 CEST 2002 Pekka Riikonen <priikone@silcnet.org>
+
+ * Added service support to SILC protocol. Added new command
+ SILC_COMMAND_SERVICE. Updated the protocol specs and the
+ core library. Services are not implemented in server or
+ client for now. Protocol TODO #20. Affected files are
+ lib/silccore/silcstatus.h, lib/silccore/silccommand.h.
+
+ * Added SilcStatus argument to `command' client operation
+ to return the error status when command sending fails
+ locally. Changed all command in client library to return
+ correct command status. Affected files are
+ lib/silcclient/command.c, lib/silcclient/silcclient.h and
+ irssi/src/silc/core/client_ops.c.
+
+Thu Apr 18 14:09:51 CEST 2002 Pekka Riikonen <priikone@silcnet.org>
+
+ * Added silc_mime_parse function to parse MIME headers.
+ Affected files are lib/silcutil/silcstruti.[ch].
+
+ * Added MIME header parsing in Irssi SILC Client. It displays
+ all textual MIME objects, others it ignores. Affected file
+ is irssi/src/silc/core/clien_ops.c.
+
+Wed Apr 17 22:07:59 CEST 2002 Johnny Mnemonic <johnny@themnemonic.org>
+
+ * Fixed a bug in the pid writing function, which couldn't be
+ written in a root-owned directory.
+
+Tue Apr 16 09:34:40 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
+
+ * Defined that channel message to unknown Channel ID must
+ cause SILC_NOTIFY_TYPE_ERROR notify message to the sender.
+ Updated the protocol specs and the code in server. The
+ affected file is silcd/packet_receive.c.
+
+Mon Apr 15 19:57:57 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
+
+ * Added new notify type SILC_NOTIFY_TYPE_ERROR and specified
+ that it is used to send error notifys if error occurs during
+ some SILC packet processing, except commands. The error
+ types are same as for command reply types. Defined that
+ if private message is sent to unknown Client ID the error
+ is sent in SILC_NOTIFY_TYPE_ERROR instead of command reply.
+ Updated the protocol specs and code. Affected files are
+ lib/silccore/silcnotify.h, added lib/silccore/silcstatus.h,
+ lib/silcclient/client_notify.c, silcd/packet_receive.c,
+ and irssi/src/silc/core/client_ops.c. Renamed the
+ SilcCommandStatus to SilcStatus.
+
+ * Defined the use of extra WHOIS attributes in WHOIS command.
+ The <Requested Attributes> (defined in a separate document)
+ can be used to request additional information about user
+ not returned by standard WHOIS command. Defined that server
+ can send WHOIS command directly to client. Client provides
+ the requested attributes to the server. Updated the protocol
+ specs. Protocol TODO #4. Implementation is not done yet
+ (Protocol TODO #24).
+
+ * Renamed function silc_client_command_status_message to
+ silc_client_status_message. Affected files are
+ lib/silcclient/command_reply.[ch].
+
+Sun Apr 14 21:13:42 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
+
+ * Changed the WHOIS, IDENTIFY and WHOWAS count arguments to
+ 32 bit integers. Updated the protcol specs and the code.
+ Affected files are silcd/command.c and
+ lib/silcclient/command.c.
+
+Sun Apr 14 19:49:02 CEST 2002 Johnny Mnemonic <johnny@themnemonic.org>
+
+ * Fixed a bug in library where sending a bogus authentication
+ payload would lead to a crash. Affected file is
+ lib/silccore/silcauth.c.
+
+Sat Apr 13 13:09:24 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
+
+ * Added detach_disabled and detach_timeout server config
+ options to the server. Affected files silcd/serverconfig.[ch],
+ silcd/command.c and silcd/packet_receive.c.
+
+Fri Apr 12 20:09:08 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
+
+ * Added resolve_cmd_ident field to the SilcClientEntry structure
+ too so that if the entry is for example being resolved so
+ another command may attach to the same pending command reply
+ without requiring to resolve the same entry again. Added
+ support for adding multiple pending commands for one
+ command idenfier. Affected files lib/silcclient/command.[ch],
+ lib/silcclient/command_reply.[ch], lib/silcclient/idlist.h.
+
+Fri Apr 12 10:17:51 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
+
+ * Defined that server receives WHOIS command reply for private
+ and secret channels too. Updated protocol specs and the
+ code in server. Affected file silcd/command.c.
+
+ * Defined <channel user mode list> argument to WHOIS command
+ reply for returning user modes on the channels. The
+ channel list now doesn't include the user mode anymore but the
+ actual channel mode. Updated protocol specs and the code in
+ client and server. Affected files are silcd/command_reply.c,
+ silcd/command.c, silcd/server.c, irssi/src/silc/core/client_ops.c,
+ and lib/silcclient/command_reply.c.
+
+ * Save the channels list in WHOIS command reply in normal server
+ so that WHOIS always shows joined channels also in normal
+ server and not just on router. Affected file is
+ silcd/command_reply.c.
+
+Thu Apr 11 22:29:33 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
+
+ * Defined that server receives USERS command reply for private
+ and secret channels too. Updated protocol specs and the
+ code in server. Affected file silcd/command.c.
+
+Thu Apr 11 16:32:08 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
+
+ * Changed the UMODE's mode mask argument to be optional. If
+ not provided then the command merely returns the current mode
+ mask to the client. Updated protocol specs and the server.
+ Affected file is silcd/command.c.
+
+ * Added SILC session detachment/resuming support. It is possible
+ to detach by closing the network connection and then re-connect
+ and resume to the old client session. Added DETACHED user
+ mode that server will set for detached client. Added new
+ packet RESUME_CLIENT which is used to perform the resuming
+ process. Added DETACH command. Updated the protocol specs,
+ core library, client and server. Protocol TODO #22. Very
+ many affected files around the tree.
+
+Wed Apr 10 16:32:01 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
+
+ * Changed the CMODE's mode mask argument to be optional. If
+ not provided then the command merely returns the current mode
+ mask to the client. Updated protocol specs and the server.
+ Affected file is silcd/command.c.
+
+ * Changed the Killer's Client ID in KILLED notify to be just
+ any ID payload since router server is allowed to kill as well.
+ Updated protocol specs, client libary and server. Affected
+ files are lib/silcclient/client_notify.c, silcd/packet_receive.c,
+ and irssi/src/silc/core/client_ops.c.
+
+Tue Apr 9 17:15:42 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
+
+ * Added new user modes ANONYMOUS for special anonymous servers
+ that may set the mode for client, and BLOCK_PRIVMSG which
+ client may set to block incoming private messages unless the
+ Private Message Key flag is set (using private keys to protect
+ private messages). Updated protocol specs and code in client
+ and server and core library. Protocol TODO #23. Affected
+ files are lib/silccore/silcmode.h, silcd/server.[ch],
+ irssi/src/silc/core/client_ops.c, silcd/packet_receive.c,
+ irssi/docs/help/in/umode.in, lib/silcclient/command.c.
+
+ * Added new channel user mode BLOCK_MESSAGES which the client
+ may set to itself to tell server not send channel messages.
+ Other packets such as channel key packets are still sent.
+ Protocol TODO #23. Updated the protocol specs, client and
+ server. Affected files are lib/silccore/silcmode.h,
+ irssi/docs/help/in/cumode.in, lib/silcclient/command.c,
+ lib/silcutil/silcutil.c, silcd/command.c, and
+ silcd/packet_send.c.
+
+Mon Apr 8 23:57:32 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
+
+ * Redefined the Status Payload to include now two 8 bit fields,
+ instead of one 16 bit field. This now makes it possible to
+ send list of errors. Updated the protocol specs and the code
+ in core library, client library and server. Protocol TODO #1.
+ Affected files are lib/silccore/silccommand.[ch],
+ lib/silcclient/command_reply.[ch], silcd/command.c,
+ silcd/command_reply.c and silcd/packet_receive.[ch].
+
+Mon Apr 8 19:57:40 CEST 2002 Johnny Mnemonic <johnny@themnemonic.org>
+
+ * 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.
+
+Mon Apr 8 17:00:41 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
+
+ * Added more IM-like features by introducing new user modes
+ for setting various presence information. Added new modes:
+ INDISPOSED, BUSY, PAGE, HYPER and ROBOT. Updated protocol
+ specs and code. Protocol TODO #19. Affected files are
+ lib/silccore/silcmode.h, irssi/src/silc/core/client_ops.c,
+ irssi/docs/help/in/umode.in and lib/silcclient/command.c.
+
+Sun Apr 7 17:07:59 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
+
+ * Added STATS command to the protocol after all, to return
+ various statistical information about the network. It can
+ be used by clients to retrieve statistical information, and
+ servers may use it to to fetch cell and network wide
+ statistics from router. Updated the protocol specs and
+ implemented it to the server. Protocol TODO #16.
+ Affected files are lib/silccore/silccommand, silcd/command.[ch],
+ silcd/command_reply.[ch].
+
+Sat Apr 6 17:08:58 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
+
+ * The LIST command reply in client libary now adds new channel
+ entry if the returned channel doesn't exist yet in cache,
+ and returns the channel entry to the application in the
+ command_reply client operation. Affected file is
+ lib/silcclient/command_reply.c.
+
+ * Changed the channel message payload's MAC generation to
+ include the IV in the MAC as well. This way all relevant
+ parts of the channel message payload are authenticated also
+ with the channel message MAC (and not only by packet MAC).
+ Causes incompatibility with 1.0 protocol. Protocol TODO #7.
+ Affected file is lib/silccore/silcchannel.c.
+
+ * Fixed the SKE to save the remote version, since the
+ silc_ske_parse_version mistakenly checked wrong version,
+ after it replaced the start payload. Affected files are
+ lib/silcske/silcske.[ch].
+
+Fri Apr 5 16:03:03 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
+
+ * Splitted lib/silcutil/silcutil.h into silcstrutil.h for
+ string utility functions. Added there also new functions
+ silc_utf8_[encode/decode/valid] for UTF-8 string encoding.
+ Affected files lib/silcutil/silcstrutil.[ch].
+
+ * Renamed silc_*_pem functions to silc_pem_* functions. Affected
+ files are lib/silcutil/silcstrutil.[ch].
+
+ * Defined that the security property fields in SKE SHOULD be
+ UTF-8 encoded, defined that version string MUST be US-ASCII
+ encoded, defined that passphrases sent in connection
+ authentication protocol MUST be UTF-8 encoded. Implemented
+ these to the client and server. Defined also that other
+ passphrases sent in the protocol MUST be UTF-8 encoded.
+ Affected files are lib/silcske/silcske.c,
+ lib/silcclient/protocol.c, silcd/protocol.c,
+ silcd/serverconfig.c, and lib/silccore/silcauth.c.
+
+ * Changed the silc_client_close_connection interface to not
+ need the SilcSocketConnection which should not be visible
+ to application. Affected files are lib/silcclient/client.c
+ and lib/silcclient/silcclient.h.
+
+ * Rewrote the text for Private Message Key Payload in the
+ protocol specification. Protocol TODO #11.
+
+Wed Apr 3 16:24:51 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
+
+ * Upgraded the protocol version to 1.1, updated protocol specs
+ and software.
+
+ * Added the nickname as new argument to NICK_CHANGE notify and
+ added it to protocol specs and implemented it to client and
+ server. Protocol TODO #3. Affected files are silcd/idlist.[ch],
+ silcd/command.c, silcd/packet_receive.c, packet_send.[ch], and
+ lib/silcclient/client_notify.c.
+
+ * Added the killer's client ID to the KILLED notify and added
+ it to protocol specs and implemented it to client and server.
+ Protocol TODO #13. Affected files are silcd/command.c,
+ silcd/packet_receive.c, packet_send.[ch],
+ lib/silcclient/client_notify.c, irssi/src/silc/core/client_ops.c.
+ The killer's client entry is now returned to application in
+ the `notify' client operation.
+
+ * Fixed the Max Argument fields that had too large value set
+ in the protocol specs. Protocol TODO #14.
+
+ * Added the LEAVE command reply to return the ID of parted
+ channel. Updated protocol specs and implemented it to the
+ client and server. Protocol TODO #15. Affected files are
+ silcd/command.c, lib/silcclient/command_reply.c. The channel
+ entry is now returned to application in the `command_reply'
+ client operation.
+
+ * Rewrote the version SKE version checking in client libary
+ and in server to use the silc_parse_version_string. Affected
+ files are lib/silcclient/protocol.c, silcd/protocol.c.
+
+ * Added SILC_STATUS_ERR_NO_CHANNEL_FOPRIV error status to few
+ commands that was missing it, and updated protocol specs and
+ the server implementation. Protocol TODO #10. The affected
+ file is silcd/command.c.
+
+ * Defined new message flags SILC_MESSAGE_FLAG_REPLY to be
+ generic reply to a generic request (REQUEST flag), and
+ SILC_MESSAGE_FLAG_DATA to send any kind of data in a generic
+ way. A draft-riikonen-silc-flags-payloads-00.txt is written
+ to define the payload for DATA flag. Added the flags to
+ the implementation. Protocol TODO #9. Affected file is
+ lib/silccore/silcchannel.h.
+
+ Changed the client library to return the message length
+ to application as well in the channel_message and private_message
+ client operations. Affected files are
+ lib/silcclient/client_prvmsg, lib/silcclient/client_channel.c,
+ lib/silcclient/silcclient.h, irssi/src/silc/core/client_ops.c,
+ and lib/silcclient/client_ops_example.c.
+
+ * Added two new channel modes: SILC_CMODE_SILENCE_USERS
+ and SILC_CMODE_SILENCE_OPERS which can be used to moderate
+ the channel. Updated protocol specs and impelemented this
+ to client and server. Protocol TODO #6. Affected files are
+ silcd/packet_receive.c, server_util.c, lib/silcclient/command.c,
+ lib/silcclient/client_channel.c, lib/silccore/silcmode.h.
+
+ Added new options m and M to CMODE command in Irssi SILC
+ client to set these modes.
+
+ * Deprecated all administrative commands from SILC protocol
+ since they are highly implementation specific commands.
+ Updated protocol specs. Moved the old commands in
+ implementations to private range of command types. Affected
+ files are silcd/command.c, lib/silcclient/command.c and
+ lib/silcclient/command_reply.c. Protocol TODO #8.
+
+ * Fixed a bug in server where sending unknown command crashes
+ the server. Affected file silcd/command.c.
+
+Wed Apr 3 09:57:47 CEST 2002 Pekka Riikonen <priikone@silcnet.org>
+
+ * Added SILC_PROTOCOLVERSION macro to check protocol version
+ of a socket connection. The affected file is
+ lib/silcutil/silcsockconn.h.
+
+ * 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 14:55:06 CEST 2002 Pekka Riikonen <priikone@silcnet.org>
+
+ * Some client implementations quit network by doing first LEAVE
+ and then immediately SIGNOFF (like Bombyx). We now do check
+ after a short time after LEAVE notify and check whether the
+ client is still valid after LEAVE, and if not we remove it from
+ cache. Affected file is lib/silcclient/client_notify.c.
+
+Tue Apr 2 13:39:04 CEST 2002 Johnny Mnemonic <johnny@themnemonic.org>
+
+ * 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 <johnny@themnemonic.org>
+
+ * ROBOdoc documented lib/silcutil/silcutil.h.
+
+Sat Mar 30 21:06:45 EET 2002 Pekka Riikonen <priikone@silcnet.org>
+
+ * Optimized even more the SilcPacketContext structure. Now
+ totally saved 16 bytes of memory per context after optimization.
+ Affected files are lib/silccore/silcpacket.[ch].
+
+ * Made strict checks for valid SILC IDs. Affected file is
+ lib/silccore/silcid.c.
+
+Sat Mar 30 18:15:55 EET 2002 Pekka Riikonen <priikone@silcnet.org>
+
+ * Changed the object argument for silc_cipher_register,
+ silc_hash_register, silc_hmac_register and silc_pkcs_register
+ to const. Affected files are lib/silccrypt/silccipher.[ch],
+ silchash.[ch], silchmac.[ch] and silcpkcs.[ch].
+
+ * 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 21:55:41 EET 2002 Pekka Riikonen <priikone@silcnet.org>
+
+ * Made some structure optimizations. SFTP memory FS MemFSEntry
+ entry structure. Optimized SilcTask structure. Optimized
+ SilcPacketContext structure.
+
+ Affected files lib/silcsftp/sftp_fs_memory.c,
+ lib/silcutil/silcschedule.c, lib/silccore/silcpacket.h.
+
+Fri Mar 29 10:41:07 EET 2002 Pekka Riikonen <priikone@silcnet.org>
+
+ * 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 <johnny@themnemonic.org>
+
+ * 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 <priikone@silcnet.org>
+
+ * 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 <priikone@silcnet.org>
+
+ * 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 <priikone@silcnet.org>
+
+ * 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 <priikone@silcnet.org>
+
+ * 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 <johnny@themnemonic.org>
+
+ * 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 <priikone@silcnet.org>
+
+ * 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 <priikone@silcnet.org>
+
+ * 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 <priikone@silcnet.org>
+
+ * 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 <priikone@silcnet.org>
+
+ * 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 <priikone@silcnet.org>
+
+ * Merged bugfixes for Irssi SILC client from irssi.org CVS.
+
+Sun Mar 24 11:21:04 EET 2002 Pekka Riikonen <priikone@silcnet.org>
+
+ * 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 <priikone@silcnet.org>
+
+ * 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 <priikone@silcnet.org>
+
+ * 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 <priikone@silcnet.org>
+
+ * 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 <tss@iki.fi>
+
+ * 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 <priikone@silcnet.org>
+
+ * 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 <priikone@silcnet.org>
+
+ * 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 <priikone@silcnet.org>
+
+ * 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 <priikone@silcnet.org>
+
+ * 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 <priikone@silcnet.org>
+
+ * 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 <priikone@silcnet.org>
+
+ * 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 <priikone@silcnet.org>
+
+ * 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 <priikone@silcnet.org>
+
+ * 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 <priikone@silcnet.org>
+
+ * 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 <priikone@silcnet.org>
+
+ * 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 <priikone@silcnet.org>
+
+ * 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 <priikone@silcnet.org>
+
+ * 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 <tss@iki.fi>
+
+ * $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 <priikone@silcnet.org>
+
+ * 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 <priikone@silcnet.org>
+
+ * 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 <priikone@silcnet.org>
+
+ * Merged Irssi 0.8.2 from irssi.org CVS.
+
+Sun Mar 10 23:34:48 CET 2002 Johnny Mnemonic <johnny@themnemonic.org>
+
+ * If silc_debug is TRUE, also output standard logging messages
+ to stderr with the debug output.
+
+ Made silc_log_reset_all() flushing all channels before returning.
+ Also fixed some documentation typos.
+
+ Affected files are lib/silcutil/silclog.[ch].
+
+Sun Mar 10 20:07:49 EET 2002 Pekka Riikonen <priikone@silcnet.org>
+
+ * Fixed the server to check correctly the amount of connections
+ from single host, by checking also the type of the connection.
+ Fixed also the comparison of number of connections and number
+ of allowed connections. Affected files are silcd/server.c,
+ server_util.[ch].
+
+Fri Mar 8 17:16:41 EET 2002 Pekka Riikonen <priikone@silcnet.org>
+
+ * Fixed the USERS command reply to save the user's mode on the
+ channel as well. Fixed JOIN command reply to check whether a
+ client is on channel already and not join it twice. Affected
+ file lib/silcclient/command_reply.c.
+
+ * Added new file silc-expandos.c into irssi/silc/core/ to return
+ various stuff for various signal for the statusbar etc. updating.
+ Now Irssi SILC client prints channel user modes etc. on the
+ statusbar.
+
+ * The user mode (like server/router operator changes) is now shown
+ on the Irssi SILC client's statusbar. The affected files are
+ irssi/src/silc/core/client_ops.c, silc-expandos.c.
+
Thu Mar 7 19:21:22 EET 2002 Pekka Riikonen <priikone@silcnet.org>
* Changed silc_mutex_[un]lock calls in lib/silcutil/silcschedule.c