Watcher list support added.
[silc.git] / doc / draft-riikonen-silc-pp-05.nroff
index fcc4b85020d93b6ed833f8bf57304146ed584d96..b433e3a5d014ae9a9090b9c3836ab55bad930589 100644 (file)
@@ -1475,11 +1475,63 @@ UTF-8 [RFC2279] encoded.
       <removing client> is defined in the [SILC4] with SILC_COMMAND_BAN
       command.
 
+
+16    SILC_NOTIFY_TYPE_ERROR
+
+      Sent when an error occurs during processing some SILC procedure.
+      This is not used when error occurs during command processing, see
+      [SILC3] for more information about commands and command replies.
+      This type is sent directly to the sender of the packet whose packet
+      caused the error.  See [SILC1] for definition when this type
+      can be sent.
+
+      Max Arguments:  256
+          Arguments:  (1) <Status Type>        (n) [...]
+
+      The <Status Type> is the error type defined in [SILC3].  Note that
+      same types are also used with command replies to indicate the
+      status of a command.  Both commands and this notify type share
+      same status types.  Rest of the arguments are status type
+      dependent and are specified with those status types that can be
+      sent currently inside this notify type in [SILC3].  The <Status
+      Type> is of size of 1 byte.
+
+
+17    SILC_NOTIFY_TYPE_WATCH
+
+      Sent to indicate change in a watched user.  Client can set
+      nicknames to be watched with SILC_COMMAND_WATCH command, and
+      receive notifications when they login to network, signoff from
+      the network or their user mode is changed.  This notify type
+      is used to deliver these notifications.  The notify type is
+      sent directly to the watching client.
+
+      Max Arguments:  4
+          Arguments:  (1) <Client ID>        (2) [<nickname>]
+                      (3) <user mode>        (4) [<Notify Type>]
+
+      The <Client ID> is the user's Client ID which is being watched,
+      and the <nickname> is its nickname.  If the client just
+      changed the nickname, then <nickname> is the new nickname.
+      The <user mode> is the user's current user mode.  The <Notify
+      Type> can be same as the Notify Payload's Notify Type, and is
+      16 bit MSB first order value.  If provided it may indicate the
+      notify that occurred for the client.  If client logged in to the
+      network the <Notify Type> MUST NOT be present.
 .in 3
 
 Notify types starting from 16384 are reserved for private notify
 message types.
 
+Router server which receives SILC_NOTIFY_TYPE_SIGNOFF, 
+SILC_NOTIFY_TYPE_SERVER_SIGNOFF, SILC_NOTIFY_TYPE_KILLED,
+SILC_NOTIFY_TYPE_NICK_CHANGE and SILC_NOTIFY_TYPE_UMODE_CHANGE
+MUST chech whether someone in the local cell is watching the nickname
+the client has, and send the SILC_NOTIFY_TYPE_WATCH notify to the
+watcher, unless the client in case has the SILC_UMODE_REJECT_WATCHING
+user mode set.  If the watcher client and the client that was
+watched is same the notify SHOULD NOT be sent.
+
 
 .ti 0
 2.3.8 Error Payload
@@ -1685,7 +1737,7 @@ o Initial Vector (variable length) - The initial vector
   initial vector.  This field is not encrypted.  This field
   is not included into the padding calculation.  Length
   of this field equals the cipher's block size.  This field
-  is, however, authenticated.
+  is, however authenticated.
 .in 3