goto out;
}
+ if (cmd->argc < 2) {
+ cmd->client->ops->say(cmd->client, conn, "Usage: /NICK <nickname>");
+ COMMAND_ERROR;
+ goto out;
+ }
+
if (!strcmp(conn->nickname, cmd->argv[1]))
goto out;
cmd->pending = 1;
return;
}
-
- cmd->client->ops->say(cmd->client, conn,
- "Inviting %s to channel %s", cmd->argv[2],
- channel->channel_name);
} else {
invite = cmd->argv[2];
invite++;
silc_buffer_free(buffer);
silc_buffer_free(idp);
+ /* Remove the client entry from the local cache. */
+ silc_idcache_del_by_context(conn->client_cache, target);
+ if (target->nickname)
+ silc_free(target->nickname);
+ if (target->server)
+ silc_free(target->server);
+ if (target->id)
+ silc_free(target->id);
+ if (target->send_key)
+ silc_cipher_free(target->send_key);
+ if (target->receive_key)
+ silc_cipher_free(target->receive_key);
+ silc_free(target);
+
/* Notify application */
COMMAND;
int ll;
mode |= SILC_CHANNEL_MODE_ULIMIT;
type = 3;
+ if (cmd->argc < 4) {
+ cmd->client->ops->say(cmd->client, conn,
+ "Usage: /CMODE <channel> +|-<modes> [{ <arguments>}]");
+ COMMAND_ERROR;
+ goto out;
+ }
ll = atoi(cmd->argv[3]);
SILC_PUT32_MSB(ll, tmp);
arg = tmp;
if (add) {
mode |= SILC_CHANNEL_MODE_PASSPHRASE;
type = 4;
+ if (cmd->argc < 4) {
+ cmd->client->ops->say(cmd->client, conn,
+ "Usage: /CMODE <channel> +|-<modes> [{ <arguments>}]");
+ COMMAND_ERROR;
+ goto out;
+ }
arg = cmd->argv[3];
arg_len = cmd->argv_lens[3];
} else {
if (add) {
mode |= SILC_CHANNEL_MODE_CIPHER;
type = 5;
+ if (cmd->argc < 4) {
+ cmd->client->ops->say(cmd->client, conn,
+ "Usage: /CMODE <channel> +|-<modes> [{ <arguments>}]");
+ COMMAND_ERROR;
+ goto out;
+ }
arg = cmd->argv[3];
arg_len = cmd->argv_lens[3];
} else {
if (add) {
mode |= SILC_CHANNEL_MODE_HMAC;
type = 6;
+ if (cmd->argc < 4) {
+ cmd->client->ops->say(cmd->client, conn,
+ "Usage: /CMODE <channel> +|-<modes> [{ <arguments>}]");
+ COMMAND_ERROR;
+ goto out;
+ }
arg = cmd->argv[3];
arg_len = cmd->argv_lens[3];
} else {
mode |= SILC_CHANNEL_MODE_FOUNDER_AUTH;
type = 7;
+ if (cmd->argc < 4) {
+ cmd->client->ops->say(cmd->client, conn,
+ "Usage: /CMODE <channel> +|-<modes> [{ <arguments>}]");
+ COMMAND_ERROR;
+ goto out;
+ }
+
if (!strcasecmp(cmd->argv[3], "-pubkey")) {
auth = silc_auth_public_key_auth_generate(cmd->client->public_key,
cmd->client->private_key,
}
}
- if (type && cmd->argc < 3) {
- COMMAND_ERROR;
- goto out;
- }
-
chidp = silc_id_payload_encode(channel->id, SILC_ID_CHANNEL);
SILC_PUT32_MSB(mode, modebuf);