kdc/pkinit.c: fix the build without openssl
authorStefan Metzmacher <metze@samba.org>
Wed, 25 Mar 2009 13:21:25 +0000 (14:21 +0100)
committerStefan Metzmacher <metze@samba.org>
Thu, 26 Mar 2009 08:54:52 +0000 (09:54 +0100)
metze

kdc/pkinit.c

index ab4978b84bb2700a8c973f978ae587d3965a4863..eee8d9a433445c0ed5f2a76fcf9814bd58538cc4 100644 (file)
@@ -179,12 +179,14 @@ _kdc_pk_free_client_param(krb5_context context,
        if (client_params->u.dh.public_key)
            BN_free(client_params->u.dh.public_key);
     }
+#ifdef HAVE_OPENSSL
     if (client_params->keyex == USE_ECDH) {
        if (client_params->u.ecdh.key)
            EC_KEY_free(client_params->u.ecdh.key);
        if (client_params->u.ecdh.public_key)
            EC_KEY_free(client_params->u.ecdh.public_key);
     }
+#endif
     krb5_free_keyblock_contents(context, &client_params->reply_key);
     if (client_params->dh_group_name)
        free(client_params->dh_group_name);
@@ -246,6 +248,7 @@ generate_dh_keyblock(krb5_context context,
            goto out;
        }
        ret = 0;
+#ifdef HAVE_OPENSSL
     } else if (client_params->keyex == USE_ECDH) {
 
        if (client_params->u.ecdh.public_key == NULL) {
@@ -280,6 +283,7 @@ generate_dh_keyblock(krb5_context context,
                                         EC_KEY_get0_public_key(client_params->u.ecdh.public_key),
                                         client_params->u.ecdh.key, NULL);
        ret = 0;
+#endif
     } else {
        ret = KRB5KRB_ERR_GENERIC;
        krb5_set_error_message(context, ret, 
@@ -413,6 +417,7 @@ get_dh_param(krb5_context context,
     return ret;
 }
 
+#ifdef HAVE_OPENSSL
 static krb5_error_code
 get_ecdh_param(krb5_context context,
               krb5_kdc_configuration *config,
@@ -473,6 +478,7 @@ get_ecdh_param(krb5_context context,
     free_ECParameters(&ecp);
     return ret;
 }
+#endif
 
 krb5_error_code
 _kdc_pk_rd_padata(krb5_context context,
@@ -760,10 +766,12 @@ _kdc_pk_rd_padata(krb5_context context,
                client_params->keyex = USE_DH;
                ret = get_dh_param(context, config,
                                   ap.clientPublicValue, client_params);
+#ifdef HAVE_OPENSSL
            } else if (der_heim_oid_cmp(&ap.clientPublicValue->algorithm.algorithm, &asn1_oid_id_ecPublicKey) == 0) {
                client_params->keyex = USE_ECDH;
                ret = get_ecdh_param(context, config,
                                     ap.clientPublicValue, client_params);
+#endif
            } else {
                ret = KRB5_BADMSGTYPE;
                krb5_set_error_message(context, ret, "PKINIT unknown DH mechanism");