summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/gnutls.c23
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