GNU bug report logs -
#38602
26.3; gnutls-negotiate fails to handle :verify-error being set to t
Previous Next
Reported by: Alexis <flexibeast <at> gmail.com>
Date: Sat, 14 Dec 2019 02:27:01 UTC
Severity: normal
Tags: moreinfo
Found in version 26.3
Done: Lars Ingebrigtsen <larsi <at> gnus.org>
Bug is archived. No further changes may be made.
Full log
Message #8 received at 38602 <at> debbugs.gnu.org (full text, mbox):
>>>>> On Sat, 14 Dec 2019 13:25:56 +1100, Alexis <flexibeast <at> gmail.com> said:
Alexis> When establishing a connection to an XMPP server, jabber.el ends up
Alexis> calling `gnutls-negotiate' with :verify-error set to `t'. When
Alexis> `gnutls-negotiate' calls `gnutls-boot-parameters', the lines:
Alexis> (when verify-hostname-error
Alexis> (push :hostname verify-error))
Alexis> in the latter create a dotted list rather than a proper list,
Alexis> resulting in jabber.el returning the error message:
Alexis> connection lost: 'STARTTLS negotiation failed: Wrong type
Alexis> argument: listp, (:hostname . t)'
Thatʼs a misleading error message. Itʼs not a proper list, as you say,
but it *is* a list.
How about this? Producing a list (:hostname t) is not what you want,
since that removes the 'check everything' feature of specifying just
't'.
diff --git a/lisp/net/gnutls.el b/lisp/net/gnutls.el
index 9b13adaefe..14368bc298 100644
--- a/lisp/net/gnutls.el
+++ b/lisp/net/gnutls.el
@@ -345,8 +345,11 @@ gnutls-boot-parameters
(t nil))))
(min-prime-bits (or min-prime-bits gnutls-min-prime-bits)))
- (when verify-hostname-error
- (push :hostname verify-error))
+ ;; Only add :hostname if `verify-error' is not t, since t
+ ;; means "include :hostname" Bug#38602.
+ (and verify-hostname-error
+ (not (eq verify-error t))
+ (push :hostname verify-error))
`(:priority ,priority-string
:hostname ,hostname
This bug report was last modified 4 years and 225 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.