X-Git-Url: http://git.silcnet.org/gitweb/?a=blobdiff_plain;f=apps%2Fsilcd%2Fcommand.c;h=116de4fd794d18ce7951a64804917502ac396d01;hb=ea35a2214bc62cbdb314cd28f389fd78fe3a31e0;hp=50d620a2adda7e60277baea9e5072cd618499543;hpb=0ce860039dc7ed06843e9182faa4d92a4bf0c005;p=silc.git diff --git a/apps/silcd/command.c b/apps/silcd/command.c index 50d620a2..116de4fd 100644 --- a/apps/silcd/command.c +++ b/apps/silcd/command.c @@ -3683,6 +3683,18 @@ SILC_SERVER_CMD_FUNC(join) SILC_GET32_MSB(created, tmp); if (silc_argument_get_arg_type(reply->args, 7, NULL)) create_key = FALSE; /* Router returned the key already */ + + if (silc_command_get_status(reply->payload, NULL, NULL) && + channel->mode & SILC_CHANNEL_MODE_PASSPHRASE) { + /* Save channel passphrase, if user provided it successfully */ + unsigned char *pa; + SilcUInt32 pa_len; + pa = silc_argument_get_arg_type(reply->args, 3, &pa_len); + if (pa) { + silc_free(channel->passphrase); + channel->passphrase = silc_memdup(pa, pa_len); + } + } } if (silc_command_get(reply->payload) == SILC_COMMAND_WHOIS &&