lib/silccrypt/silccipher.c, silchash.c, silchmac.c and
silcpkcs.c.
+ * Fixed the handling of third parameter of KICKED notify, since
+ it was mistakenly updated to SILC Protocol 1.0 even though it
+ is to be included in 1.1. Since it is not in 1.0 it is not
+ mandatory, and this fix now handles it only if it is provided,
+ and it is not error if it is not provided. Affected file
+ lib/silcclient/client_notify.c.
+
Sat Mar 16 09:07:27 EET 2002 Pekka Riikonen <priikone@silcnet.org>
* Handled CHANNEL_CHANGE notify (ignore it) in Irssi SILC
o Write "Platform Implementations" document to describe what platforms
Toolkit support, what has been implemented, what has not been, what
- wors differently etc.
+ works differently etc.
TODO in SILC Protocol
the receiver may not accept the key in the payload, and to describe
other means of distributing a key.
- 12. The router to router connection diagram in spec-xx is showing the
- primary routers direction to wrong direction. Swap it.
-
13. Add the killer's client ID to the KILLED notify. To be included in
protocol version 1.1.
if (client_entry == conn->local_entry) {
printformat_module("fe-common/silc", server, channel->channel_name,
MSGLEVEL_CRAP, SILCTXT_CHANNEL_KICKED_YOU,
- channel->channel_name, client_entry2->nickname,
+ channel->channel_name,
+ client_entry ? client_entry2->nickname : "",
tmp ? tmp : "");
if (chanrec) {
chanrec->kicked = TRUE;
printformat_module("fe-common/silc", server, channel->channel_name,
MSGLEVEL_CRAP, SILCTXT_CHANNEL_KICKED,
client_entry->nickname, channel->channel_name,
- client_entry2->nickname, tmp ? tmp : "");
+ client_entry2 ? client_entry2->nickname : "",
+ tmp ? tmp : "");
if (chanrec) {
SILC_NICK_REC *nickrec = silc_nicklist_find(chanrec, client_entry);
If authentication method is passphrase the authentication data is
plaintext passphrase. As the payload is entirely encrypted it is safe
-to have plaintext passphrase. See the section 3.2.1 Passphrase
-Authentication for more information.
+to have plaintext passphrase. It is also provided as plaintext passphrase
+because the receiver may need to pass the entire passphrase into a
+passphrase checker, and hash digest of the passphrase would prevent this.
+See the section 3.2.1 Passphrase Authentication for more information.
If authentication method is public key authentication the authentication
data is a signature of the hash value of hash HASH plus Key Exchange
.in 16
.nf
- S/R1 - > - > - > - > - > - > - S/R2
+ S/R1 - < - < - < - < - < - < - S/R2
\\ /
- ^ v
- \\ - < - < - S/R3 - < - < - /
+ v ^
+ \\ - > - > - S/R3 - > - > - /
.in 3
SilcClientID *client_id = NULL;
SilcChannelID *channel_id = NULL;
SilcServerID *server_id = NULL;
- SilcClientEntry client_entry;
- SilcClientEntry client_entry2;
+ SilcClientEntry client_entry = NULL;
+ SilcClientEntry client_entry2 = NULL;
SilcChannelEntry channel;
SilcChannelUser chu;
SilcServerEntry server;
/* Get the kicker */
tmp = silc_argument_get_arg_type(args, 3, &tmp_len);
- if (!tmp)
- goto out;
-
- client_id = silc_id_payload_parse_id(tmp, tmp_len);
- if (!client_id)
- goto out;
+ if (tmp) {
+ client_id = silc_id_payload_parse_id(tmp, tmp_len);
+ if (!client_id)
+ goto out;
- /* Find kicker's client entry and if not found resolve it */
- client_entry2 = silc_client_get_client_by_id(client, conn, client_id);
- if (!client_entry2) {
- silc_client_notify_by_server_resolve(client, conn, packet, client_id);
- goto out;
- } else {
- if (client_entry2 != conn->local_entry)
- silc_client_nickname_format(client, conn, client_entry2);
+ /* Find kicker's client entry and if not found resolve it */
+ client_entry2 = silc_client_get_client_by_id(client, conn, client_id);
+ if (!client_entry2) {
+ silc_client_notify_by_server_resolve(client, conn, packet, client_id);
+ goto out;
+ } else {
+ if (client_entry2 != conn->local_entry)
+ silc_client_nickname_format(client, conn, client_entry2);
+ }
}
/* Get comment */
/* Macros */
-#ifdef WIN32
+#ifdef SILC_WIN32
#define __FUNCTION__ ""
#endif
***/
char *silc_net_localip(void);
-#ifdef WIN32
+#ifdef SILC_WIN32
/****f* silcutil/SilcNetAPI/silc_net_win32_init
*