emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] trunk r116783: gnutls.c (Fgnutls_boot): Fix case of :verif


From: Teodor Zlatanov
Subject: [Emacs-diffs] trunk r116783: gnutls.c (Fgnutls_boot): Fix case of :verify-error = t.
Date: Mon, 17 Mar 2014 21:29:10 +0000
User-agent: Bazaar (2.6b2)

------------------------------------------------------------
revno: 116783
revision-id: address@hidden
parent: address@hidden
committer: Ted Zlatanov <address@hidden>
branch nick: quickfixes
timestamp: Mon 2014-03-17 17:29:56 -0400
message:
  gnutls.c (Fgnutls_boot): Fix case of :verify-error = t.
modified:
  src/ChangeLog                  changelog-20091113204419-o5vbwnq5f7feedwu-1438
  src/gnutls.c                   gnutls.c-20100926054902-dzayyj6wycit6kzn-3
=== modified file 'src/ChangeLog'
--- a/src/ChangeLog     2014-03-16 16:31:50 +0000
+++ b/src/ChangeLog     2014-03-17 21:29:56 +0000
@@ -1,3 +1,7 @@
+2014-03-17  Teodor Zlatanov  <address@hidden>
+
+       * gnutls.c (Fgnutls_boot): Fix case of :verify-error = t.
+
 2014-03-16  Eli Zaretskii  <address@hidden>
 
        * search.c (find_newline): Speed up the function when using the

=== modified file 'src/gnutls.c'
--- a/src/gnutls.c      2014-01-01 07:43:34 +0000
+++ b/src/gnutls.c      2014-03-17 21:29:56 +0000
@@ -786,6 +786,7 @@
 {
   int ret = GNUTLS_E_SUCCESS;
   int max_log_level = 0;
+  bool verify_error_all = 0;
 
   gnutls_session_t state;
   gnutls_certificate_credentials_t x509_cred = NULL;
@@ -825,8 +826,14 @@
   verify_error          = Fplist_get (proplist, 
QCgnutls_bootprop_verify_error);
   prime_bits            = Fplist_get (proplist, 
QCgnutls_bootprop_min_prime_bits);
 
-  if (NILP (Flistp (verify_error)))
-    error ("gnutls-boot: invalid :verify_error parameter (not a list)");
+  if (EQ (verify_error, Qt))
+    {
+      verify_error_all = 1;
+    }
+  else if (NILP (Flistp (verify_error)))
+    {
+      error ("gnutls-boot: invalid :verify_error parameter (not a list)");
+    }
 
   if (!STRINGP (hostname))
     error ("gnutls-boot: invalid :hostname parameter (not a string)");
@@ -1071,7 +1078,8 @@
 
   if (peer_verification != 0)
     {
-      if (!NILP (Fmember (QCgnutls_bootprop_trustfiles, verify_error)))
+      if (verify_error_all
+          || !NILP (Fmember (QCgnutls_bootprop_trustfiles, verify_error)))
         {
          emacs_gnutls_deinit (proc);
          error ("Certificate validation failed %s, verification code %d",
@@ -1120,7 +1128,8 @@
 
       if (!fn_gnutls_x509_crt_check_hostname (gnutls_verify_cert, c_hostname))
        {
-          if (!NILP (Fmember (QCgnutls_bootprop_hostname, verify_error)))
+          if (verify_error_all
+              || !NILP (Fmember (QCgnutls_bootprop_hostname, verify_error)))
             {
              fn_gnutls_x509_crt_deinit (gnutls_verify_cert);
              emacs_gnutls_deinit (proc);


reply via email to

[Prev in Thread] Current Thread [Next in Thread]