Fixed public key authentication as responder.
authorPekka Riikonen <priikone@silcnet.org>
Thu, 15 Nov 2007 14:50:45 +0000 (14:50 +0000)
committerPekka Riikonen <priikone@silcnet.org>
Thu, 15 Nov 2007 14:50:45 +0000 (14:50 +0000)
CHANGES.TOOLKIT
lib/silcske/silcconnauth.c

index ffbc1f070e253d4d8fe4fca4f918345bec541360..ac7dcfa01a587be9dbdf22d301eedfba899f1eed 100644 (file)
@@ -1,3 +1,8 @@
+Thu Nov 15 16:45:48 EET 2007 Pekka Riikonen <priikone@silcnet.org>
+
+       * Fixed public key authentication as responder.  Affected file
+         is lib/silcske/silcconnauth.c.
+
 Tue Nov 13 18:24:56 EET 2007 Pekka Riikonen <priikone@silcnet.org>
 
        * Added missing channel unreferencing in CMODE, CUMODE,
index 34af68242c9f5aefede126b2ee113943960df416..ea3528fa57603ec4cb9c5239b2f13a730733a85c 100644 (file)
@@ -172,6 +172,7 @@ static void silc_connauth_verify_signature_cb(SilcBool success,
     return;
   }
 
+  SILC_LOG_DEBUG(("Signature is Ok"));
   SILC_FSM_CALL_CONTINUE(connauth->fsm);
 }
 
@@ -646,14 +647,15 @@ SILC_FSM_STATE(silc_connauth_st_responder_authenticate)
     /* Allocate search constraints for finding the key */
     find = silc_skr_find_alloc();
 
-    if (!find || !connauth->auth_data) {
+    if (!find || !connauth->auth_data || !connauth->ske->prop->public_key) {
       /** Out of memory */
       silc_fsm_next(fsm, silc_connauth_st_responder_failure);
       return SILC_FSM_CONTINUE;
     }
 
-    silc_skr_find_set_pkcs_type(find, connauth->ske->pk_type);
-    silc_skr_find_set_public_key(find, connauth->ske->public_key);
+    silc_skr_find_set_pkcs_type(
+                 find, silc_pkcs_get_type(connauth->ske->prop->public_key));
+    silc_skr_find_set_public_key(find, connauth->ske->prop->public_key);
     silc_skr_find_set_usage(find, (SILC_SKR_USAGE_AUTH |
                                   SILC_SKR_USAGE_KEY_AGREEMENT));