upstream: we use singleton pkcs#11 RSA_METHOD and EC_KEY_METHOD
now, so there is no need to keep a copy of each in the pkcs11_key object.
work by markus@, ok djm@
OpenBSD-Commit-ID: 43b4856516e45c0595f17a8e95b2daee05f12faa
diff --git a/ssh-pkcs11.c b/ssh-pkcs11.c
index 1a6e980..b490349 100644
--- a/ssh-pkcs11.c
+++ b/ssh-pkcs11.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: ssh-pkcs11.c,v 1.35 2019/01/20 23:11:11 djm Exp $ */
+/* $OpenBSD: ssh-pkcs11.c,v 1.36 2019/01/20 23:12:35 djm Exp $ */
/*
* Copyright (c) 2010 Markus Friedl. All rights reserved.
* Copyright (c) 2014 Pedro Martelletto. All rights reserved.
@@ -72,8 +72,6 @@
struct pkcs11_key {
struct pkcs11_provider *provider;
CK_ULONG slotidx;
- RSA_METHOD *rsa_method;
- EC_KEY_METHOD *ec_key_method;
char *keyid;
int keyid_len;
};
@@ -406,8 +404,7 @@
memcpy(k11->keyid, keyid_attrib->pValue, k11->keyid_len);
}
- k11->rsa_method = rsa_method;
- RSA_set_method(rsa, k11->rsa_method);
+ RSA_set_method(rsa, rsa_method);
RSA_set_ex_data(rsa, rsa_idx, k11);
return (0);
}
@@ -509,9 +506,8 @@
k11->keyid_len = keyid_attrib->ulValueLen;
k11->keyid = xmalloc(k11->keyid_len);
memcpy(k11->keyid, keyid_attrib->pValue, k11->keyid_len);
- k11->ec_key_method = ec_key_method;
- EC_KEY_set_method(ec, k11->ec_key_method);
+ EC_KEY_set_method(ec, ec_key_method);
EC_KEY_set_ex_data(ec, ec_key_idx, k11);
return (0);