Watcher list support added.
[silc.git] / CHANGES
diff --git a/CHANGES b/CHANGES
index fc475d7047f607fda2d2c1ebae4ac0ae1af1cff6..da7eafb53809be1b42ee4847d8a7bd47597e97fd 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,272 @@
+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