updates.
[silc.git] / doc / draft-riikonen-silc-commands-03.nroff
index a03a07e825b0e4ed19fd622d436f0e2bb872f187..1db9bc3d66de1ca1dbd0fce313790cde11029a70 100644 (file)
@@ -282,7 +282,9 @@ List of all defined commands in SILC follows.
         include STATUS_LIST_START status in the first reply and
         STATUS_LIST_END in the last reply to indicate the end of the
         list.  If there are only one reply the status is set to normal
-        STATUS_OK.
+        STATUS_OK.  If multiple Client IDs was requested then each found
+        and unfound client must cause successful or error reply,
+        respectively.
 
         The command replies include the Client ID of the nickname,
         nickname and server name, user name and host name and user's real
@@ -422,7 +424,9 @@ List of all defined commands in SILC follows.
         a list of results.  In this case the status payload will include
         STATUS_LIST_START status in the first reply and STATUS_LIST_END in 
         the last reply to indicate the end of the list.  If there are only 
-        one reply the status is set to normal STATUS_OK.
+        one reply the status is set to normal STATUS_OK.  If multiple Client
+        IDs was requested then each found and unfound client must cause
+        successful or error reply, respectively.
 
         When querying clients the <entity's name> must include the client's
         nickname in the following format: nickname[@server].  The
@@ -471,14 +475,16 @@ List of all defined commands in SILC follows.
 
         Reply messages to the command:
 
-        Max Arguments:  2
+        Max Arguments:  3
             Arguments:  (1) <Status Payload>  (2) <New ID Payload>
+                        (3) <nickname>
 
         This command is replied always with New ID Payload that is
         generated by the server every time user changes their nickname.
         Client receiving this payload MUST start using the received
         Client ID as its current valid Client ID.  The New ID Payload
-        is described in [SILC2].
+        is described in [SILC2].  The <nickname> is the user's new
+        nickname.
 
         Status messages:
 
@@ -887,7 +893,8 @@ List of all defined commands in SILC follows.
         privileges the same way as the client had given the
         SILC_COMMAND_CUMODE command to gain founder privileges.  The
         client is still able to join the channel even if the founder
-        privileges could not be gained.
+        privileges could not be gained.  The hash function used with
+        the <founder payload> MUST be sha1.
 
         The server MUST check whether the user is allowed to join to
         the requested channel.  Various modes set to the channel affect
@@ -1324,25 +1331,32 @@ List of all defined commands in SILC follows.
               Channel founder may set this mode to be able to regain
               channel founder rights even if the client leaves the 
               channel.  The <auth payload> is the Authentication Payload
-              consisting of the authentication method and authentication
-              data to be used in the authentication.  The server MUST
-              NOT accept NONE authentication method.  Also, if the 
-              method is public key authentication the server MUST NOT
-              save the authentication data from the payload as the
-              data is different on all authentications.  In this case the
-              server only saves the authentication method.  However,
-              server MUST verify the sent authentication payload and
-              set the mode only if the verification was successful.
-
-              Note that this mode is effective only in the current server.
-              The client MUST connect to the same server later to be able
-              to regain the channel founder rights.  The server MUST save
-              the public key of the channel founder and use that to identify
-              the client which is claiming the channel founder rights.
-              The rights may be claimed by the SILC_CUMODE_FOUNDER 
-              channel user mode using SILC_COMMAND_CUMODE command.  The
-              set authentication data remains valid as long as the channel
-              exists or until the founder unsets this mode.
+              consisting of the public key authentication method and the
+              authentication data for that method.  The passphrase
+              method cannot be used with this mode.  The server MUST NOT
+              accept NONE authentication method.  The server does not
+              save <auth payload> but MUST verify it.  The public key
+              used to verify the payload is the public key of the
+              client sending this command.  The mode may be set only
+              if the <auth payload> was verified successfully.  The
+              server also MUST save the founder's public key.  The
+              hash function used with the <auth payload> MUST be sha1.
+
+              The public key of the founder is sent in the
+              SILC_NOTIFY_TYPE_CMODE_CHANGE notify type so that other
+              routers and servers in the network may save the public key.
+              This way the founder can reclaim the founder rights back
+              to the channel from any server in the network.  The founder
+              rights can be regained by the SILC_CUMODE_FOUNDER channel
+              user mode, or during joining procedure with the command
+              SILC_COMMAND_JOIN.
+
+              When this channel mode is set the channel also becomes
+              permanent.  If all clients leave the channel while this
+              mode is set the channel MUST NOT be destroyed.  The founder
+              can reclaim the founder mode back on these empty channels
+              at any time.  Implementations MAY limit the number of how
+              many channels a user can own.
 
               Typical implementation would use [+|-]f on user interface
               to set/unset this mode.
@@ -1440,7 +1454,7 @@ List of all defined commands in SILC follows.
               been set, the client can claim channel founder privileges
               by providing the <auth payload> that the server will use
               to authenticate the client.  The public key that server will
-              use to verify the <auth payload> must the same public key
+              use to verify the <auth payload> MUST the same public key
               that was saved when the SILC_CMODE_FOUNDER_AUTH channel
               mode was set.  The client MAY remove this mode at any time.
 
@@ -1487,7 +1501,7 @@ List of all defined commands in SILC follows.
            0x00000010    SILC_CUMODE_BLOCK_MESSAGES_ROBOTS
 
               Marks that the client wishes not to receive any channel
-              messages sent from robots.  Messages sent by Users with
+              messages sent from robots.  Messages sent by users with
               the SILC_UMODE_ROBOT user mode set are not delivered.
               Client MAY set and unset this mode to itself.  Client MUST
               NOT set it to anyone else.  When this mode is set server
@@ -1495,6 +1509,16 @@ List of all defined commands in SILC follows.
               to this client.
 
 
+           0x00000020    SILC_CUMODE_QUIET
+
+              Marks that the client cannot talk on the channel.  This
+              mode can be set by channel operator or channel founder to
+              some other user that is not operator or founder.  The
+              target client MUST NOT unset this mode.  When this mode
+              is set the server MUST drop messages sent by this client
+              to the channel.
+
+
         Reply messages to the command:
 
         Max Arguments:  4
@@ -1974,7 +1998,9 @@ send both list of successful replies and list of error
 replies at the same time, however in this case the
 list of error replies MUST be sent after the successful
 replies.  This way the recipient may ignore the multiple
-errors if it wishes to do so.
+errors if it wishes to do so.  Also note that in this
+case the successful and error replies belong to the
+same list.
 
 All Status messages are described in the next section.