GnuTLS: fix the advertising of acceptable certs by the server. Bug 2389
[exim.git] / src / src / tls-gnu.c
index dc8cdab5c34f0c46d969e24dab30e57b5ec92155..423c3a23db4659a2874723e168f48f1c57347eda 100644 (file)
@@ -1143,6 +1143,14 @@ else
 #endif
     gnutls_certificate_set_x509_trust_file(state->x509_cred,
       CS state->exp_tls_verify_certificates, GNUTLS_X509_FMT_PEM);
+
+#ifdef SUPPORT_CA_DIR
+  /* Mimic the behaviour with OpenSSL of not advertising a usable-cert list
+  when using the directory-of-certs config model. */
+
+  if ((statbuf.st_mode & S_IFMT) == S_IFDIR)
+    gnutls_certificate_send_x509_rdn_sequence(state->session, 1);
+#endif
   }
 
 if (cert_count < 0)