diff options
-rw-r--r-- | src/gnutls.c | 23 |
1 files changed, 16 insertions, 7 deletions
diff --git a/src/gnutls.c b/src/gnutls.c index 571f141b2ac..eb231810fae 100644 --- a/src/gnutls.c +++ b/src/gnutls.c @@ -1792,9 +1792,8 @@ gnutls_verify_boot (Lisp_Object proc, Lisp_Object proplist) The key :flags receives a list of symbols, each of which corresponds to a GnuTLS C flag, the ORed result is to be passed to - the function gnutls_certificate_set_x509_key_file2() as its last - argument. -*/ + the function `gnutls_certificate_set_x509_key_file2' as its last + argument. */ static unsigned int key_file2_aux (Lisp_Object flags) { @@ -1940,6 +1939,9 @@ one trustfile (usually a CA bundle). */) Lisp_Object loglevel; Lisp_Object hostname; Lisp_Object prime_bits; +#ifdef HAVE_GNUTLS_CERTIFICATE_SET_X509_KEY_FILE2 + unsigned int aux_key_file; +#endiif struct Lisp_Process *p = XPROCESS (proc); CHECK_PROCESS (proc); @@ -2134,10 +2136,17 @@ one trustfile (usually a CA bundle). */) certfile = ansi_encode_filename (certfile); # endif # ifdef HAVE_GNUTLS_CERTIFICATE_SET_X509_KEY_FILE2 - if (plist_member (proplist, QCpass)) - ret = gnutls_certificate_set_x509_key_file2 - (x509_cred, SSDATA (certfile), SSDATA (keyfile), file_format, - c_pass, key_file2_aux (flags)); + if (!NILP (plist_member (proplist, QCpass))) + { + aux_key_file = key_file2_aux (flags); + ret + = gnutls_certificate_set_x509_key_file2 (x509_cred, + SSDATA (certfile), + SSDATA (keyfile), + file_format, + c_pass, + aux_key_file); + } else # endif ret = gnutls_certificate_set_x509_key_file |