An Mail::IMAPClient object may be returned even on connection
failure, so use IsConnected to check for it.  This ensures
git-credential will no longer prompt for passwords when there's
no connection.
---
 lib/PublicInbox/NetReader.pm | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/lib/PublicInbox/NetReader.pm b/lib/PublicInbox/NetReader.pm
index e703cddb..8eff847e 100644
--- a/lib/PublicInbox/NetReader.pm
+++ b/lib/PublicInbox/NetReader.pm
@@ -108,7 +108,8 @@ sub mic_for ($$$$) { # mic = Mail::IMAPClient
        };
        $mic_arg->{Ssl} = 1 if $uri->scheme eq 'imaps';
        require PublicInbox::IMAPClient;
-       my $mic = mic_new($self, $mic_arg, $sec, $uri) or
+       my $mic = mic_new($self, $mic_arg, $sec, $uri);
+       ($mic && $mic->IsConnected) or
                die "E: <$uri> new: $@".onion_hint($lei, $uri);
 
        # default to using STARTTLS if it's available, but allow
--
unsubscribe: one-click, see List-Unsubscribe header
archive: https://public-inbox.org/meta/

Reply via email to