Subject: Re: bug#37221: 27.0.50; gnus fails to open connection post-NSM update

From: Robert Pluim <[email-masked]>
Date: Wed, 04 Sep 2019 16:56:07 +0200

>>>>> On Wed, 04 Sep 2019 09:00:39 -0500, Alex Branham <[email-masked]> said:
    >> The setting of nsm-trust-local-network should not affect whether the
    >> *imap log* buffer is created or not, so there's something odd going on
    >> in your Emacs, I think.

    Alex> I'm not at all familiar with this part of Emacs, but could it be the
    Alex> case that the NSM is somehow killing the nnimap process before it has a
    Alex> chance to do anything, including logging?

Yes, thatʼs what it looks like

    >> Does your setup work if you revert Emacs back to before the NSM changes?
    >> And what is the contents of your *imap log* buffer?

    Alex> Yes, it does. After reverting to Emacs built August 18th, here's the *imap log* buffer:

    Alex> 08:56:15 [localhost] (inhibited)

Iʼve spotted one possible problem: nsm-query runs even when the
connection is unencrypted, which ends up doing (insert nil), which
aborts the connection. Does the following help? (Lars, why is nsm
prompting for unencrypted connections?)

diff --git a/lisp/net/nsm.el b/lisp/net/nsm.el
index 5e8381075b..7243ae8822 100644
--- a/lisp/net/nsm.el
+++ b/lisp/net/nsm.el
@@ -788,7 +788,8 @@ nsm-check-plain-connection
 (defun nsm-query (host port status what problems message)
   ;; If there is no user to answer queries, then say `no' to everything.
   (if (or noninteractive
-	  nsm-noninteractive)
+	  nsm-noninteractive
+          (not status))
       nil
     (let ((response
 	   (condition-case nil