Merged silc_1_1_branch to trunk.
[silc.git] / apps / irssi / docs / help / in / cmode.in
index e4cf6b4cddf93df9b84ef12a1d8d41a09205a664..662db332a6ccaa2203b0c52338d5f2fddce757c1 100644 (file)
@@ -1,37 +1,60 @@
 
 @SYNTAX:cmode@
 
 
 @SYNTAX:cmode@
 
-This command is used to manage the modes of the channel.  Most
-of the modes require special privileges, such as channel operator
-or channel founder privileges to work.  The mode is added by
-adding + before the option(s) and removed by adding - before the
-option(s).  The (*) mark below means that only founder may set/unset
-that mode.  Other modes both channel operator and founder may manage.
-
-The following modes are available:
-
-    p               Set/unset channel as private channel
-    s               Set/unset channel as secret channel
-    k               Enable/disable channel private key usage (*)
-    i               Set/unset channel as invite only channel
-    t               Set/unset that only channel operator or 
+ This command is used to manage the modes of the channel.  Most
+ of the modes require special privileges, such as channel operator
+ or channel founder privileges to work.  The mode is added by
+ adding + before the option(s) and removed by adding - before the
+ option(s).  The (*) mark below means that only founder may set/unset
+ that mode.  Other modes both channel operator and founder may manage.
+
+ The following modes are available:
+
+    p               Set/unset channel as private channel.  Private
+                    channels are shown with LIST command with an
+                    indication the channel is private.  Private
+                    channel is not shown on user's joined channel
+                    list (with for example WHOIS command).
+
+    s               Set/unset channel as secret channel.  Secret
+                    channels are entirely invisible.  They are not
+                    shown with LIST command and they do not appear
+                    in user's joined channel list.
+
+    k               Enable/disable private channel key usage.   (*)
+                    When enabled KEY command may be used to set
+                    private channel key(s) on the channel.
+
+    i               Set/unset channel as invite only channel.  If
+                    you are the founder of the channel you will
+                    still be able to join the channel by giving
+                    command /JOIN channel -founder.
+
+    t               Set/unset that only channel operator or
                     founder may set channel topic
                     founder may set channel topic
+
     m               Set/unset user silencing.  Normal users
     m               Set/unset user silencing.  Normal users
-                    are not able to talk on channel. (*)
+                    are not able to talk on channel.            (*)
+
     M               Set/unset operator silencing.  Operators
     M               Set/unset operator silencing.  Operators
-                    are not able to talk on channel. (*)
-    l <limit>       Set/unset channel's user limit
+                    are not able to talk on channel.            (*)
+
+    l <limit>       Set/unset channel's user count limit
+
     a <passphrase>  Set/unset passphrase for channel that must
     a <passphrase>  Set/unset passphrase for channel that must
-                    be provided when joining to the channel. (*)
-    c <cipher>      Set/unset channel's cipher (*)
-    h <hmac>        Set/unset channel's hmac (*)
+                    be provided when joining to the channel.    (*)
+
+    c <cipher>      Set/unset channel's cipher                  (*)
+
+    h <hmac>        Set/unset channel's HMAC                    (*)
+
     f [<pubkeyfile> <privkeyfile> [<privkey passphrase>]]
     f [<pubkeyfile> <privkeyfile> [<privkey passphrase>]]
-                    Set/unset channel founder authentication. (*)
+                    Set/unset channel founder authentication.   (*)
                     Channel founder may set this mode so that
                     Channel founder may set this mode so that
-                    if the client leaves the channel it can
+                    when the client leaves the channel it can
                     claim the founder rights when it returns
                     to the channel, and to set the channel to
                     claim the founder rights when it returns
                     to the channel, and to set the channel to
-                    be permanent channel.  You can claim the
+                    be permanent channel.  You can reclaim the
                     founder rights using CUMODE or JOIN commands.
 
                     If the <pubkeyfile> and <privkeyfile> is
                     founder rights using CUMODE or JOIN commands.
 
                     If the <pubkeyfile> and <privkeyfile> is
@@ -42,14 +65,97 @@ The following modes are available:
                     SILC keypair is used.  Normally you do not need
                     to provide these arguments.
 
                     SILC keypair is used.  Normally you do not need
                     to provide these arguments.
 
-Multiple modes can be set/unset at once if the modes does not
-require any arguments.  If mode requires an argument then only
-one mode can be set at once.
+    C [{[+|-]<pubkeyfile> }]                                    (*)
+                    Set/unset channel public key mode, and add/remove
+                    channel publics key from the channel public key
+                    list.  When this mode is set only those users
+                    whose public keys has been added to the list are
+                    able to join the channel.  Channel founder may set
+                    this mode and operate on the channel public key
+                    list.
+
+                    To add public key to the list give command:
+                    CMODE +C +/path/to/the/public_key_file.pub
+
+                    To remove one public key from the list give
+                    command:
+                    CMODE +C -/path/to/the/public_key_file.pub
+
+                    To add or remove more than one public keys add as
+                    many public key file paths as necessary.
+
+                    When this mode is unset (-C), all public keys are
+                    removed from the list.  If +C is given without
+                    arguments the current channel public key list is
+                    displayed.
+
+ Multiple modes can be set/unset at once if the modes does not
+ require any arguments.  If mode requires an argument then only
+ one mode can be set at once.
+
+ When the +k (private channel key mode) mode is set the channel's
+ default cipher and HMAC are not used.  The private key (see /HELP KEY
+ for help how to set the private channel key) defines the cipher and
+ HMAC for the channel while +k mode is set.  Also the +c and +h modes
+ are ignored when private channel key mode is set.
+
+Examples:
+
+  Set the channel a permanent (persistent).  The channel won't be
+  deleted when last user leaves the channel.  When you as the founder
+  leave the channel you will be able to reclaim the founder rights
+   later.
+
+    /CMODE * +f
+
+  Reclaim founder rights (and operator privileges) for you channel:
+
+    /CUMODE * +of mynick
+
+  You can do the same during joining:
+
+    /JOIN yourchannel -founder
+
+  Change channel founder keypair on your channel.  You can do this if
+  you want to transfer founder rights to some other user or if you
+  created new keypair.  The operation requires that you have a copy of
+  the old keypair:
+
+    /CUMODE * +f mynick /path/to/old/pubkey /path/to/old/privkey
+    /CMODE * +f /path/to/new/pubkey /path/to/new/privkey
+
+  or simply /CMODE * +f if you are already using the new keypair.
+
+  Here's how to transfer founder rights to different user using
+  temporary keypair.  First, create temporary keypair:
+
+    # silc -C
+
+  Become founder on your channel:
+
+    /CUMODE * +f mynick
+
+  Set the temporary keypair on the channel and then send the key
+  pair to your friend with /FILE command or with encrypted Email:
+
+    /CMODE * +f /path/to/temp/pubkey /path/to/temp/privkey
+    (/FILE send /path/to/temp/keypair.tgz yourfriend)
+
+  Tell your friend to give the following command to become founder:
+
+    /CUMODE * +f yourfriend /path/to/temp/pubkey /path/to/temp/privkey
+
+  Your friend then sets his own keypair on the channel:
+
+    /CMODE * +f
 
 
-When the +k (channel private key mode) mode is set the channel's
-default cipher and HMAC are not used.  The private key (see /HELP KEY
-for help how to set the private key) defines the cipher and HMAC for
-the channel while +k mode is set.  Also the +c and +h modes are ignored
-when channel private key is set.
+  After this the temporary keypair can be removed and your friend has
+  become the founder of the channel.  This way the founder rights can
+  be transferred without ever revealing your own keypair.  When your
+  friend becomes the founder your founder rights will be removed by
+  the server automatically.  It is also possible to continue using the
+  temporary keypair, thus sharing founder rights with two or more
+  users.  Note that it is possible for only one user at a time to
+  have founder mode on the channel even if they share the keypair.
 
 See also: CUMODE, UMODE, JOIN, KEY
 
 See also: CUMODE, UMODE, JOIN, KEY