From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.io/gmane.emacs.gnus.general/83084 Path: news.gmane.org!not-for-mail From: Magnus Henoch Newsgroups: gmane.emacs.gnus.general Subject: nnimap vs Zimbra; QRESYNC quirk; detect failure? Date: Thu, 18 Apr 2013 17:38:50 +0100 Message-ID: NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: ger.gmane.org 1366303203 20265 80.91.229.3 (18 Apr 2013 16:40:03 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Thu, 18 Apr 2013 16:40:03 +0000 (UTC) To: ding@gnus.org Original-X-From: ding-owner+M31350@lists.math.uh.edu Thu Apr 18 18:40:08 2013 Return-path: Envelope-to: ding-account@gmane.org Original-Received: from util0.math.uh.edu ([129.7.128.18]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1USrsU-0005sJ-A9 for ding-account@gmane.org; Thu, 18 Apr 2013 18:40:06 +0200 Original-Received: from localhost ([127.0.0.1] helo=lists.math.uh.edu) by util0.math.uh.edu with smtp (Exim 4.63) (envelope-from ) id 1USrrV-0008Rz-L5; Thu, 18 Apr 2013 11:39:05 -0500 Original-Received: from mx2.math.uh.edu ([129.7.128.33]) by util0.math.uh.edu with esmtps (TLSv1:AES256-SHA:256) (Exim 4.63) (envelope-from ) id 1USrrT-0008Ri-J1 for ding@lists.math.uh.edu; Thu, 18 Apr 2013 11:39:03 -0500 Original-Received: from quimby.gnus.org ([80.91.231.51]) by mx2.math.uh.edu with esmtps (TLSv1:AES256-SHA:256) (Exim 4.76) (envelope-from ) id 1USrrR-0007fx-HP for ding@lists.math.uh.edu; Thu, 18 Apr 2013 11:39:03 -0500 Original-Received: from mail-wi0-f172.google.com ([209.85.212.172]) by quimby.gnus.org with esmtp (Exim 4.72) (envelope-from ) id 1USrrP-00061Y-QE for ding@gnus.org; Thu, 18 Apr 2013 18:38:59 +0200 Original-Received: by mail-wi0-f172.google.com with SMTP id hq17so4702454wib.17 for ; Thu, 18 Apr 2013 09:38:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=x-received:from:to:subject:date:message-id:user-agent:mime-version :content-type; bh=Zk//ZOfn1zKa0Da6/RnEcu4HCeE8f7srctMh4AEqCiE=; b=ofy6spPhHXX8GJSHjE0RnMCiG0hP9Ed6U4oFKWWlVw273KlQSlwYnAAl7y7QPSKJi0 xyJrN4QPjjCtHpNyAPd/qpAu5pIYKisvFHvp6qrxIQd9lDEuYQpanWYK7/qXsppIIe/A 61W+m1J7JyDvTHrqGpK3BmrQpL8Pxs6UIL4i7VUmNYkLR9huVTnfbTspYZ461CXrG7Mi i8HtvRk6CEeNVWXaq16sWPpgN6/fPCHyQGc8uEmwtkEC9w/7BFVoPEDNakIIMl94fqxw p0fQzY0LkwZk9qPzj09E3KQSvQQq/BF5e0O42AnKxwjAaGJ9Gto5Nh2sVcfInOn9Y8pu aHHQ== X-Received: by 10.194.158.4 with SMTP id wq4mr10691294wjb.46.1366303134255; Thu, 18 Apr 2013 09:38:54 -0700 (PDT) Original-Received: from poki-sona.local ([83.218.151.42]) by mx.google.com with ESMTPS id o5sm17197459wix.3.2013.04.18.09.38.52 (version=TLSv1.2 cipher=RC4-SHA bits=128/128); Thu, 18 Apr 2013 09:38:53 -0700 (PDT) User-Agent: Gnus/5.130006 (Ma Gnus v0.6) Emacs/24.3.50 (darwin) X-Spam-Score: -3.0 (---) List-ID: Precedence: bulk Xref: news.gmane.org gmane.emacs.gnus.general:83084 Archived-At: Hi all, I just went back to using nnimap to connect to a Zimbra server. The server has been upgraded since the last time I did it, so I had the usual symptoms: at Gnus startup, all the groups in the group buffer would have an asterisk instead of the number of unread messages, hitting 'g' would not change anything, but using M-g on every single group would bring about the numbers. I eventually worked out that I need to (setq nnimap-quirks nil), since the Zimbra server is new enough. Its version number is 7.2.3_GA_2872 (build 20130304145053), in case that helps anyone. (see http://comments.gmane.org/gmane.emacs.gnus.general/80154 for some context) I figured out the cause of the problem when I looked at the process buffer and found this: 2640 BAD parse error: wrong character; expected '(' but got ' ' Process *nnimap* connection broken by remote peer The problem I have with this is that nnimap could have told me about the BAD response, or it could have told me about the connection closing, and that would have sent me off in the right direction, but it did none of these things. I tried to do something about it, and started looking at nnimap-wait-for-response which returns nil if the process is dead, and also at nnimap-finish-retrieve-group-infos which does nothing if nnimap-wait-for-response returns nil, but it seems like even if I signal an error in those functions, it gets caught and ignored by some caller. I think I'd want it to tell me that the connection was unexpectedly closed, including the message after BAD (it's supposed to be human readable, and even in the general case it's probably related to the closed connection), and ask me if I'd want to reconnect. Does that sound reasonable? Is it possible to accomplish that from within nnimap, or do I need to hook this in somewhere else? Regards, Magnus