+Thu Mar 29 15:26:25 EEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
+
+ * Implemented the RESTART command in the client.
+
+ * Added SILC_MESSAGE_FLAG_NOTICE message flag for informational
+ notice type messages. Added notice printing to the user
+ interface.
+
+ * The channel keys are not re-generated if the channel's mode
+ is PRIVKEY, ie private key on the channel exists. Affected
+ files silcd/server.c and silcd/command.c.
+
+ * Fixed a little bug in channel message delivery when channel
+ private keys are set in the server. Affected file is
+ silcd/packet_send.c.
+
+ * Changed the setting on channel->on_channel = TRUE from the
+ silc_client_save_channel_key to the JOIN command reply. The
+ key payload is not received if the private channel key is set.
+ Affected file lib/silcclient/command_reply.c and the
+ lib/silcclient/client_channel.c.
+
+ * When the CMODE_CHANGE notify is sent and the channel private
+ key mode is removed the channel key must be re-generated in
+ other cells as well. Added this support for the router in the
+ silcd/packet_receive.c.
+
Wed Mar 28 23:55:54 EEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
* Added new local command ME to the client. It is used to send
if (flags & SILC_MESSAGE_FLAG_ACTION)
silc_print(client, "* %s %s", sender ? sender->nickname : "[<unknown>]",
msg);
+ else if (flags & SILC_MESSAGE_FLAG_NOTICE)
+ silc_print(client, "-%s- %s", sender ? sender->nickname : "[<unknown>]",
+ msg);
else
silc_print(client, "<%s> %s", sender ? sender->nickname : "[<unknown>]",
msg);
silc_print(client, "* %s:%s %s", sender ? sender->nickname :
"[<unknown>]",
channel->channel_name, msg);
+ else if (flags & SILC_MESSAGE_FLAG_NOTICE)
+ silc_print(client, "-%s:%s- %s", sender ? sender->nickname :
+ "[<unknown>]",
+ channel->channel_name, msg);
else
silc_print(client, "<%s:%s> %s", sender ? sender->nickname :
"[<unknown>]",
silc_say(client, conn, "Channel %s private keys",
channel_entry->channel_name);
silc_say(client, conn,
- " Cipher Hmac Key");
+ " Cipher Hmac Key");
for (k = 0; k < keys_count; k++) {
memset(buf, 0, sizeof(buf));
strncat(buf, " ", 2);
silc_client_command_free(cmd);
}
+/* RESTART command. Restarts the server. You must be server operator
+ to be able to use this command. */
+
SILC_CLIENT_CMD_FUNC(restart)
{
+ SilcClientCommandContext cmd = (SilcClientCommandContext)context;
+ SilcClientConnection conn = cmd->conn;
+ SilcBuffer buffer;
+
+ if (!cmd->conn) {
+ SILC_NOT_CONNECTED(cmd->client, cmd->conn);
+ COMMAND_ERROR;
+ goto out;
+ }
+
+ buffer = silc_command_payload_encode(SILC_COMMAND_RESTART, 0,
+ NULL, NULL, NULL, 0);
+ silc_client_packet_send(cmd->client, cmd->conn->sock, SILC_PACKET_COMMAND,
+ NULL, 0, NULL, NULL,
+ buffer->data, buffer->len, TRUE);
+ silc_buffer_free(buffer);
+
+ /* Notify application */
+ COMMAND;
+
+ out:
+ silc_client_command_free(cmd);
}
/* CLOSE command. Close server connection to the remote server */
out:
silc_client_command_free(cmd);
}
-
+
/* LEAVE command. Leaves a channel. Client removes itself from a channel. */
SILC_CLIENT_CMD_FUNC(leave)