Reply messages to the command:
- Max Arguments: 9
+ Max Arguments: 10
Arguments: (1) <Status Payload> (2) <Client ID>
(3) <nickname>[@<server>] (4) <username@host>
(5) <real name> (6) [<Channel Payload
list>]
(7) [<user mode>] (8) [<idle time>]
- (9) [<fingerprint>]
+ (9) [<fingerprint>] (10) <channel user
+ mode list>
This command may reply with several command reply messages to
<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 also send client's user mode, idle time, and the
+ The server returns 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 is the channel's
+ mode. The list is encoded by adding the Channel Payloads one
+ after the other. Private and secret channels MUST NOT be sent,
+ except if the sender of this command is on those channels, or
+ the sender is server. The <channel user mode list> MUST also
+ be sent if client is joined channels. This list includes 32 bit
+ MSB first order values one after the other and each indicate
+ the user's mode on a channel. The order of these values MUST
+ be same as the channel order in the <Channel Payload list>.
+
+ The server also returns client's user mode, idle time, and the
fingerprint of the client's public key. The <fingerprint> is the
binary hash digest of the public key. The fingerprint MUST NOT
be sent if the server has not verified the proof of posession of
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,
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:
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: