summaryrefslogtreecommitdiff
path: root/macros
diff options
context:
space:
mode:
authorjoe <joe@61a7d7f5-40b7-0310-9c16-bb0ea8cb1845>2015-09-02 12:45:56 +0000
committerjoe <joe@61a7d7f5-40b7-0310-9c16-bb0ea8cb1845>2015-09-02 12:45:56 +0000
commit978a9ebf2e6bede35c11cec2c7d17e2a8ff88bf3 (patch)
treee6718707b37e2ae46220042ceae4523eb7650a3e /macros
parentb6fe6e6968f8b5e4f64448804f3765cb5eb3107f (diff)
downloadneon-978a9ebf2e6bede35c11cec2c7d17e2a8ff88bf3.tar.gz
Rewrite GnuTLS PKCS#11 support to work (exclusively) with the new
GnuTLS 3.x API. * src/ne_privssl.h: Drop session-wide signing callback in favour of per-clicert signing callback API. * src/ne_socket.c (ne_sock_connect_ssl): Likewise. * src/ne_gnutls.c: Store a signing function in the ccert object. (dup_client_cert): Dupe the above. (provide_client_cert): Support new retrieve API and new signing callback. (ne__ssl_clicert_exkey_import): Take callback & userdata. * src/ne_pkcs11.c (pk11_sign_callback): Adjust for privkey-based signing API. (ne_ssl_set_pkcs11_provider): Drop session-global callback. * macros/neon.m4 (NEON_SSL): Check for new retrieve API, gnutls_privkey_import_ext. Enable PKCS#11 if latter present. git-svn-id: http://svn.webdav.org/repos/projects/neon/trunk@1964 61a7d7f5-40b7-0310-9c16-bb0ea8cb1845
Diffstat (limited to 'macros')
-rw-r--r--macros/neon.m47
1 files changed, 4 insertions, 3 deletions
diff --git a/macros/neon.m4 b/macros/neon.m4
index 5f878ba..51b62c8 100644
--- a/macros/neon.m4
+++ b/macros/neon.m4
@@ -982,10 +982,11 @@ gnutls)
# Check for functions in later releases
NE_CHECK_FUNCS([gnutls_session_get_data2 gnutls_x509_dn_get_rdn_ava \
- gnutls_sign_callback_set \
gnutls_certificate_get_issuer \
gnutls_certificate_get_x509_cas \
- gnutls_x509_crt_sign2])
+ gnutls_x509_crt_sign2 \
+ gnutls_certificate_set_retrieve_function2 \
+ gnutls_privkey_import_ext])
# fail if gnutls_x509_crt_sign2 is not found (it was introduced in 1.2.0, which is required)
if test x${ac_cv_func_gnutls_x509_crt_sign2} != xyes; then
@@ -1039,7 +1040,7 @@ posix|yes)
;;
esac
-case ${with_pakchois}X${ac_cv_func_gnutls_sign_callback_set}Y${ne_cv_lib_ssl097} in
+case ${with_pakchois}X${ac_cv_func_gnutls_privkey_import_ext}Y${ne_cv_lib_ssl097} in
noX*Y*) ;;
*X*Yyes|*XyesY*)
# PKCS#11... ho!