Subject: Re: bug#11205: 24.0.95; starttls-use-gnutls no longer being honored

From: [email-masked]
Date: Mon, 09 Apr 2012 23:03:08 -0400

Glenn Morris <[email-masked]> writes:

> [email-masked] wrote:
>
>> How do I get Gnus (and presumably other Emacs networked programs) to
>> not use GnuTLS when `starttls-use-gnutls' is nil?
>
> etc/NEWS
>
>   *** SMTPmail now uses encrypted connections (via STARTTLS) by default
>   if the mail server supports them.  This uses either built-in GnuTLS
>   support, or the starttls.el library.  Customize `smtpmail-stream-type'
>   to change this.

As my test of an Emacs networked-using package like Gnus, I set my Gnus
variables to ONLY use NNTP, not SMTP (nor any other mail-related
protocols like IMAP)

My Gnus variable are:

(setq gnus-select-method '(nntp "news" 
				(nntp-address "news.gmane.org")

Here is the *Message* buffer demostrating the results:

gnutls.c: [1] (Emacs) GnuTLS library loaded: libgnutls-28.dll
gnutls.c: [1] (Emacs) allocating credentials
gnutls.c: [1] (Emacs) gnutls callbacks
gnutls.c: [1] (Emacs) gnutls_init
gnutls.c: [1] (Emacs) got non-default priority string: NORMAL
gnutls.c: [1] (Emacs) setting the priority string
news.gmane.org certificate could not be verified.
gnutls.c: [1] (Emacs) certificate signer was not found: news.gmane.org
gnutls.c: [1] (Emacs) certificate validation failed: news.gmane.org

news.gmane.org is the newserver (NNTP).

Thus the setting of `smtpmail-stream-type' doesn't apply.

It applies only when SENDING mail (SMTP) when smtpmail.el is loaded
and used.

At least, I don't believe it is loaded/used until I compose a mail or
news message and (perhaps) message.el or something else loads smtpmail.el.

I don't believe customizing `smtpmail-stream-type` helps me in this
situation (not using built-in GnuTLS) unless I'm sending mail or news.

>
>> [Presumably, I can make the GnuTLS DLLs unavailable temporarily to
>> achive this, but setting the variable `starttls-use-gnutls' to nil
>> used to accomplish this, i.e. this is a regression.]
>
> No previous release of Emacs has had built-in GnuTLS support.

That's true, but setting `starttls-use-gnutls' to nil prevented
(external) GnuTLS (gnutls-cli) from being used in released versions
of Emacs.

Therefore, I believe that this is a regression with regards to Emacs 23.x
since GnuTLS (whether built-in or external) is being used when
'starttls-use-gnutls' is nil.

I believe the value of `starttls-program' (openssl, for one exmple of
a user setting this value) should be used instead, regardless of
built-in GnuTLS being compiled in (and its required DLLs being
available), as it used to be in Emacs 23.x.

Thanks.