updates.
[silc.git] / apps / irssi / src / silc / core / client_ops.c
index 12fe0f4eb13e2a37618ff300812a03c80c31bbef..103ccfd6ebfe2cdb2e48013e97709974a8e3e050 100644 (file)
@@ -496,11 +496,9 @@ silc_command_reply(SilcClient client, SilcClientConnection conn,
       client_id_list = va_arg(vp, SilcBuffer);
 
       chanrec = silc_channel_find(server, channel);
-      if (chanrec != NULL && !success)
-       channel_destroy(CHANNEL(chanrec));
-      else if (chanrec == NULL && success)
+      if (!chanrec)
        chanrec = silc_channel_create(server, channel, TRUE);
-      
+
       if (topic) {
        g_free_not_null(chanrec->topic);
        chanrec->topic = *topic == '\0' ? NULL : g_strdup(topic);
@@ -678,10 +676,12 @@ silc_command_reply(SilcClient client, SilcClientConnection conn,
       
       pk = silc_pkcs_public_key_encode(public_key, &pk_len);
       
-      if (id_type == SILC_ID_CLIENT)
-       silc_verify_public_key_internal(client, conn, SILC_SOCKET_TYPE_CLIENT,
-                                       pk, pk_len, SILC_SKE_PK_TYPE_SILC,
-                                       NULL, NULL);
+      silc_verify_public_key_internal(client, conn, 
+                                     (id_type == SILC_ID_CLIENT ?
+                                      SILC_SOCKET_TYPE_CLIENT :
+                                      SILC_SOCKET_TYPE_SERVER),
+                                     pk, pk_len, SILC_SKE_PK_TYPE_SILC,
+                                     NULL, NULL);
       silc_free(pk);
     }
     break;
@@ -1028,6 +1028,9 @@ void silc_failure(SilcClient client, SilcClientConnection conn,
     if (status == SILC_SKE_STATUS_INCORRECT_SIGNATURE)
       printformat_module("fe-common/silc", NULL, NULL, MSGLEVEL_CRAP, 
                         SILCTXT_KE_INCORRECT_SIGNATURE);
+    if (status == SILC_SKE_STATUS_INVALID_COOKIE)
+      printformat_module("fe-common/silc", NULL, NULL, MSGLEVEL_CRAP, 
+                        SILCTXT_KE_INVALID_COOKIE);
   }
 
   if (protocol->protocol->type == SILC_PROTOCOL_CLIENT_CONNECTION_AUTH) {