+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