It is expected that some of the commands may be miss-used by clients
resulting various problems on the server side. Every implementation
should assure that commands may not be executed more than once, say,
-in two (2) seconds. This should be sufficient to prevent the miss-use
-of commands.
+in two (2) seconds. However, to keep response rate up, allowing for
+example five (5) commands before limiting is allowed. It is recommended
+that commands such as SILC_COMMAND_NICK, SILC_COMMAND_JOIN and
+SILC_COMMAND_LEAVE should be limited in all cases as they require
+heavy operations. This should be sufficient to prevent the miss-use of
+commands.
SILC commands are described in section 5 SILC Commands.
If the authentication method is password based, the Authentication
Data field includes the plaintext password. It is safe to send
-plaintext password since the entire payload is encrypted.
+plaintext password since the entire payload is encrypted. In this
+case the Public Data Lenght is set to zero (0).
If the authentication method is public key based (or certificate)
the Authentication Data is computed as follows:
Reply messages to the command:
- Max Arguments: 3
- Arguments: (1) <Status Payload> (2) <nickname>[@<server>]
- (3) <username@host>
+ Max Arguments: 5
+ Arguments: (1) <Status Payload> (2) <Client ID>
+ (3) <nickname>[@<server>] (4) <username@host>
+ (5) [<real name>]
This command may reply with several command reply messages to form
a list of results. In this case the status payload will include
13 SILC_COMMAND_OPER
Max Arguments: 2
- Arguments: (1) <username> (2) <authentication data>
+ Arguments: (1) <username> (2) <authentication payload>
This command is used by normal client to obtain server operator
privileges on some server or router. Note that router operator
must use SILCOPER command to obtain router level privileges.
The <username> is the username set in the server configurations
- as operator. The <authentication data> is the data that the
+ as operator. The <authentication payload> is the data that the
client is authenticated against. It may be passphrase prompted
- for user on client's screen or it may be public key
- authentication data (data signed with private key), or
- certificate.
+ for user on client's screen or it may be public key or certificate
+ authentication data (data signed with private key).
Reply messages to the command:
SILC_STATUS_ERR_NOT_ENOUGH_PARAMS
SILC_STATUS_ERR_TOO_MANY_PARAMS
SILC_STATUS_ERR_NOT_REGISTERED
- SILC_STATUS_ERR_BAD_PASSWORD
SILC_STATUS_ERR_AUTH_FAILED
23 SILC_COMMAND_SILCOPER
Max Arguments: 2
- Arguments: (1) <username> (2) <authentication data>
+ Arguments: (1) <username> (2) <authentication payload>
This command is used by normal client to obtain router operator
privileges (also known as SILC operator) on some router. Note
server operator privileges.
The <username> is the username set in the server configurations
- as operator. The <authentication data> is the data that the
+ as operator. The <authentication payload> is the data that the
client is authenticated against. It may be passphrase prompted
for user on client's screen or it may be public key
authentication data (data signed with private key), or
SILC_STATUS_ERR_NOT_ENOUGH_PARAMS
SILC_STATUS_ERR_TOO_MANY_PARAMS
SILC_STATUS_ERR_NOT_REGISTERED
- SILC_STATUS_ERR_BAD_PASSWORD
SILC_STATUS_ERR_AUTH_FAILED