privileges by SILC_COMMAND_SILCOPER command. Client
may unset the mode itself.
+ 0x0004 SILC_UMODE_GONE
+
+ Marks that the user is not currently present in the
+ SILC Network. Client may set and unset this mode.
+
Reply messages to the command:
Max Arguments: 2
17 SILC_COMMAND_CMODE
- Max Arguments: 6
- Arguments: (1) <Channel ID> (2) <channel mode mask>
- (3) [<user limit>] (4) [<passphrase>]
- (5) [<cipher>] (6) [<hmac>]
+ Max Arguments: 7
+ Arguments: (1) <Channel ID> (2) <channel mode mask>
+ (3) [<user limit>] (4) [<passphrase>]
+ (5) [<cipher>] (6) [<hmac>]
+ (7) [<auth payload>]
This command is used by client to set or change channel flags on
a channel. Channel has several modes that set various properties
to set/unset this mode.
+ 0x0200 SILC_CMODE_FOUNDER_AUTH
+
+ Channel founder can 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.
+
+ 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 who 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.
+
+ Typical implementation would use [+|-]f on user interface
+ to set/unset this mode.
+
+
To make the mode system work, client must keep the channel mode
mask locally so that the mode setting and unsetting would work
without problems. The client receives the initial channel mode
18 SILC_COMMAND_CUMODE
- Max Arguments: 3
- Arguments: (1) <Channel ID> (2) <mode mask>
- (3) <Client ID>
+ Max Arguments: 4
+ Arguments: (1) <Channel ID> (2) <mode mask>
+ (3) <Client ID> (4) [<auth payload>]
This command is used by client to change channel user modes on
channel. Users on channel may have some special modes and this
0x0001 SILC_CUMODE_FOUNDER
- The client is channel founder of the channel. This mode
- cannot be set by other client, it is set by the server when
- the channel was founded (created). The mode is provided
- because client may remove the founder rights from itself.
+ The client is channel founder of the channel. Usually this
+ mode is set only by the server when the channel was created.
+ However, if the SILC_CMODE_FOUNDER_AUTH channel mode has
+ been set, the client can claim channel founder privileges
+ by providing the <auth payload> that the server will use
+ to authenticate the client. The client can remove this
+ mode at any time.
0x0002 SILC_CUMODE_OPERATOR
SILC_STATUS_ERR_NO_CHANNEL_PRIV
SILC_STATUS_ERR_UNKNOWN_MODE
SILC_STATUS_ERR_NO_SUCH_CLIENT_ID
+ SILC_STATUS_ERR_AUTH_FAILED
19 SILC_COMMAND_KICK