<count> option were defined in the query there will be only
<count> many replies from the server.
- The server may return the list of channel the client has joined.
- In this case the list is list of Channel Payloads. The Mode Mask
- in the Channel Payload (see [SILC2] and section 2.3.2.3 for the
- Channel Payload) is the client's mode on the channel. The list
- is encoded by adding the Channel Payloads one after the other.
+ The server may return the list of channels if the client has
+ joined channels. In this case the list is list of Channel
+ Payloads. The Mode Mask in the Channel Payload (see [SILC2] and
+ section 2.3.2.3 for the Channel Payload) is the client's mode
+ on the channel. The list is encoded by adding the Channel
+ Payloads one after the other.
The server may also send client's user mode, idle time, and the
fingerprint of the client's public key. The <fingerprint> is the
16 SILC_COMMAND_UMODE
Max Arguments: 2
- Arguments: (1) <Client ID> (2) <client mode mask>
+ Arguments: (1) <Client ID> (2) [<client mode mask>]
This command is used by client to set/unset modes for itself.
However, there are some modes that the client MUST NOT set itself,
0x00000002 SILC_UMODE_ROUTER_OPERATOR
Marks the user as router (SILC) operator. Client
- MUST NOT this mode itself. Router sets this mode to
- the client when client attains the router operator
+ MUST NOT set this mode itself. Router sets this mode
+ to the client when client attains the router operator
privileges by SILC_COMMAND_SILCOPER command. Client
MAY unset the mode itself.
Client MAY set and unset this mode.
+ 0x00000100 SILC_UMODE_ANONYMOUS
+
+ Marks that the client is anonymous client. Server
+ that specificly is designed for anonymous services
+ can set and unset this mode. Client MUST NOT set or
+ unset this mode itself. A client with this mode set
+ would have the username and the hostname information
+ scrambled by the server which set this mode.
+
+
+ 0x00000200 SILC_UMODE_BLOCK_PRIVMSG
+
+ Marks that the client wishes to block private
+ messages sent to the client, unless the Private
+ Message Key flag is set in the SILC packet header.
+ If this mode is set server MUST NOT deliver private
+ messages to the client without the Private Message
+ Key flag being set.
+
+ A separate service could provide additional filtering
+ features for accepting private messages from certain
+ sender. However, this document does not specify such
+ service.
+
+ The client MAY set and unset this mode.
+
+
+ 0x00000400 SILC_UMODE_DETACHED
+
+ Marks that the client is detached from the SILC network.
+ This means that the actual network connection to the
+ client is lost but the client entry is still valid. The
+ detached client can be resumed at a later time. This
+ mode MUST NOT be set by client. It can only be set when
+ client has issued command SILC_COMMAND_DETACH. The server
+ sets this mode. This mode cannot be unset with this
+ command. It is unset when the client is resuming back to
+ the network and SILC_PACKET_RESUME_CLIENT packet is
+ received.
+
+ This flag MUST NOT be used to determine whether a packet
+ can be sent to the client or not. Only the server that
+ had the original client connection can make the decision
+ by noticising that the network connection is not active.
+ In this case the default case is to discard the packet.
+
+ If the <client mode mask> was not provided this command merely
+ returns the mode mask to the client.
+
+
Reply messages to the command:
Max Arguments: 2
17 SILC_COMMAND_CMODE
Max Arguments: 7
- Arguments: (1) <Channel ID> (2) <channel mode mask>
+ Arguments: (1) <Channel ID> (2) [<channel mode mask>]
(3) [<user limit>] (4) [<passphrase>]
(5) [<cipher>] (6) [<hmac>]
(7) [<auth payload>]
channel the server MUST distribute the changed channel mode mask
to all clients on the channel by sending the notify type
SILC_NOTIFY_TYPE_CMODE_CHANGE. The notify type MUST also be sent
- to the server's primary router.
+ to the server's primary router. If the <channel mode mask> was
+ not provided this command merely returns the mode mask to the
+ client.
Reply messages to the command:
Sets channel operator privileges on the channel for a
client on the channel. Channel founder and channel operator
- MAY set/unset this mode.
+ MAY set/unset this mode. The client MAY remove this mode
+ at any time.
+
+
+ 0x00000004 SILC_CUMODE_BLOCK_MESSAGES
+
+ Marks that the client wishes not to receive any channel
+ messages sent for the channel. Client MAY set and unset
+ this mode to itself. Client MUST NOT set it to anyone else.
+ When this mode is set server MUST NOT deliver channel
+ messages to this client. Other packets such as channel
+ key packets are still sent to the client.
+
+ A separate service could provide additional filtering
+ features for accepting channel messages from certain
+ sender. However, this document does not specify such
+ service.
+
Reply messages to the command:
This command is used to list user names currently on the requested
channel; either the argument <Channel ID> or the <channel name>.
One of these arguments must be present. The server MUST resolve
- the user names and send a comma (`,') separated list of user names
- on the channel. Server or router MAY resolve the names by sending
- SILC_COMMAND_WHOIS or SILC_COMMAND_IDENTIFY commands.
+ the joined clients and reply with a lists of users on the channel
+ and with list of user modes on the channel.
If the requested channel is a private or secret channel, this
- command MUST NOT send the list of users, as private and secret
- channels cannot be seen by outside. In this case the returned
- name list MAY include a indication that the server could not
- resolve the names of the users on the channel. Also, in this case
- Client ID's or client modes are not sent either.
+ command MUST NOT send the list of users, but error is returned
+ to the sender, except if the sender is on the channel, or the
+ sender is server.
Reply messages to the command: