Subject: 24.0.50; Gnus nnimap broken
From: Jason Rumney <[email-masked]>
To: [email-masked]
Date: Sat, 27 Nov 2010 01:10:21 +0800
List-Id: <debbugs-submit.debbugs.gnu.org>

I updated from bzr for the first time in a few months today, and
immediately ran into problems with Gnus.

My Gnus related variables are:

 '(gnus-select-method (quote (nnimap "localhost")))
 '(gnus-sieve-crosspost nil)
 '(gnus-sieve-file "~/.sieve.d/Gnus.sieve")

everything else is set to defaults.

Upon starting Gnus, some of my groups are showing unread articles in the
summary buffer, including groups which I only manually move articles
into, and which I have not touched for months.  After entering these
groups, I see some old articles that I have ticked, and some lines
saying that an article has not been downloaded (I have fixed the problem
now, and I did not have the foresight to note down the exact text).  It
seems gnus-agent (which I never explicitly enabled, but have had problems
with in past upgrades after it was enabled by default) is out of sync
with the server, and deleting the ~/News/agent directory fixed the
problem.

Now when I start Gnus, I get the message 

nnimap (localhost) open error: 'Unable to contact localhost:imaps via
ssl'.  Continue?

I answer 'y', expecting Gnus to continue using imap, as I configured it,
but get the following messages:

Reading /home/jasonr/.newsrc.eld...
Opening nnimap server on localhost...
Denied server nnimap+localhost
Opening nnimap server on localhost...failed: Unable to contact
localhost:imaps via ssl

This is a terrible user experience.  Trying SSL first is a good feature,
but if it fails, Gnus should fall back to using plain imap as the user
has configured.  It isn't even obvious to me what variable I have to set
to access plain imap anymore.

Following this, I configured Gnus to use imaps (which I have configured on a
non-standard port to get through certain firewalls but never bothered to
use before on localhost), and now run into a third problem.  Upon
logging in, I am prompted to add my login credentials to
~/.authinfo.gpg.  This brings up a confusing buffer asking me to mark a
public key, which I have discovered by trial and error only works if I
select no public keys so it falls back on symetric encryption.  After
entering an encryption password twice, I was able to read my mail at
last.

But my problems aren't over yet. When I quit Gnus and start it again,
my encryption password for authinfo.gpg doesn't appear to work.
Actually, it is working, because if I enter a different password, it
fails immediately, whereas if I enter the correct password it loops
forever asking for my password (maybe not forever, but my patience for
finding out is limited).

Using C-x C-f to find ~/.authinfo.gpg works after entering the password
once, the the problem seems to be particular to the way Gnus is opening
the file, not a general problem with file decryption.

The messages from this failure are below.

In GNU Emacs 24.0.50.1 (x86_64-unknown-linux-gnu, GTK+ Version 2.22.0)
 of 2010-11-25 on wanchan
Windowing system distributor `The X.Org Foundation', version 11.0.10900000
Important settings:
  value of $LC_ALL: nil
  value of $LC_COLLATE: nil
  value of $LC_CTYPE: nil
  value of $LC_MESSAGES: nil
  value of $LC_MONETARY: nil
  value of $LC_NUMERIC: nil
  value of $LC_TIME: nil
  value of $LANG: en_NZ.utf8
  value of $XMODIFIERS: nil
  locale-coding-system: utf-8-unix
  default enable-multibyte-characters: t

Major mode: Fundamental

Minor modes in effect:
  show-paren-mode: t
  display-time-mode: t
  cua-mode: t
  tooltip-mode: t
  mouse-wheel-mode: t
  tool-bar-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  blink-cursor-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  line-number-mode: t
  transient-mark-mode: t

Recent input:
<help-echo> <help-echo> <help-echo> <help-echo> <help-echo> 
<help-echo> <help-echo> <help-echo> <help-echo> <help-echo> 
<help-echo> <help-echo> <help-echo> <help-echo> <help-echo> 
<help-echo> <help-echo> <help-echo> <help-echo> <help-echo> 
<help-echo> <help-echo> <help-echo> <help-echo> <help-echo> 
<help-echo> <help-echo> <help-echo> <help-echo> <help-echo> 
<help-echo> <help-echo> <help-echo> <help-echo> <help-echo> 
<help-echo> <help-echo> <help-echo> <help-echo> <help-echo> 
<help-echo> <help-echo> <help-echo> <help-echo> <help-echo> 
<help-echo> <help-echo> <help-echo> <help-echo> <help-echo> 
<help-echo> <help-echo> <help-echo> <help-echo> <help-echo> 
<help-echo> <help-echo> <help-echo> <help-echo> <help-echo> 
<help-echo> <help-echo> <help-echo> <help-echo> <help-echo> 
<help-echo> <help-echo> <help-echo> <help-echo> <help-echo> 
<help-echo> <help-echo> <help-echo> <help-echo> <help-echo> 
<help-echo> <menu-bar> <help-menu> <send-emacs-bug
-report>

Recent messages:
/home/jasonr/.authin: 100% (96/96)
/home/jasonr/.authin: 0% (0/96)
/home/jasonr/.authin: 100% (96/96)
/home/jasonr/.authin: 0% (0/96)
/home/jasonr/.authin: 100% (96/96)
/home/jasonr/.authin: 0% (0/96)
Unable to open server nnimap+localhost due to: Opening input file: Can't decrypt, ((exit) (quit))
nnimap (localhost) open error: ''.  Continue?  n
Couldn't open server on localhost
Warning: Unable to open server nnimap+localhost due to: Opening input file: Can't decrypt, ((exit) (quit))

Load-path shadows:
None found.

Features:
(shadow sort mail-extr emacsbug epa-file epa derived epg auth-source
nnimap parse-time tls utf7 netrc gnus-agent gnus-srvr gnus-score
score-mode nnvirtual gnus-msg gnus-art mm-uu mml2015 epg-config mm-view
smime password-cache dig mailcap nntp gnus-cache gnus-sum nnoo
gnus-group gnus-undo nnmail mail-source format-spec gnus-start gnus-spec
gnus-int gnus-range message sendmail rfc822 mml mml-sec mm-decode
mm-bodies mm-encode mail-parse rfc2231 rfc2047 rfc2045 ietf-drums
mailabbrev gmm-utils mailheader gnus-win jka-compr org-mouse org-w3m
org-jsinfo org-infojs org-html org-exp ob-exp org-exp-blocks org-agenda
org-info org-id org-gnus org-bbdb paren gnus gnus-ems nnheader gnus-util
mail-utils mm-util mail-prsvr wid-edit time cua-base cus-start cus-load
remember org-remember org-datetree org byte-opt warnings bytecomp
byte-compile advice help-fns advice-preload ob-emacs-lisp ob-tangle
ob-ref ob-lob ob-table org-footnote org-src ob-comint comint ring
ob-keys ob org-list org-faces org-compat org-entities org-macs time-date
noutline outline easy-mmode regexp-opt cal-menu easymenu calendar
cal-loaddefs server tooltip ediff-hook vc-hooks lisp-float-type mwheel
x-win x-dnd tool-bar dnd fontset image fringe lisp-mode register page
menu-bar rfn-eshadow timer select scroll-bar mouse jit-lock font-lock
syntax facemenu font-core frame cham georgian utf-8-lang misc-lang
vietnamese tibetan thai tai-viet lao korean japanese hebrew greek
romanian slovak czech european ethiopic indian cyrillic chinese
case-table epa-hook jka-cmpr-hook help simple abbrev loaddefs button
minibuffer faces cus-face files text-properties overlay md5 base64
format env code-pages mule custom widget hashtable-print-readable
backquote make-network-process dbusbind dynamic-setting
system-font-setting font-render-setting move-toolbar gtk x-toolkit x
multi-tty emacs)