Subject: Re: bug#38602: 26.3; gnutls-negotiate fails to handle :verify-error being set to t

From: Robert Pluim <[email-masked]>
Date: Sun, 29 Dec 2019 22:01:53 +0100

>>>>> On Thu, 26 Dec 2019 15:19:45 +1100, Alexis <[email-masked]> said:

    Alexis> Robert Pluim <[email-masked]> writes:

    >> 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

    Alexis> Thank you for your prompt response - sorry to have taken so long to
    Alexis> get back to you.

    Alexis> Unfortunately, this diff didn't work for me - it results in the error:

    Alexis>    STARTTLS negotation failed: GnuTLS error: #<process jabber>,
    Alexis>    nil

Hmm, it worked in my testing, but that didnʼt use jabber.el. Iʼll see
if I can test with jabber.el here, which host are you connecting to?

Robert