From ec62ab40d4da8dffc8dd9fdc0bae97daa429ade0 Mon Sep 17 00:00:00 2001
From: "Eric S. Raymond" <esr@thyrsus.com>
Date: Wed, 7 Mar 2001 20:00:41 +0000
Subject: Handle checking correctly.

svn path=/trunk/; revision=3217
---
 imap.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/imap.c b/imap.c
index b29c4e28..40b7b386 100644
--- a/imap.c
+++ b/imap.c
@@ -83,12 +83,16 @@ int imap_ok(int sock, char *argbuf)
 	 * which causes fetchmail to go into a endless loop
 	 * fetching the same message over and over again. 
 	 * 
+	 * However, for check_only, we use EXAMINE which will
+	 * mark the mailbox read-only as per the RFC.
+	 * 
 	 * This checks for the condition and aborts if 
 	 * the mailbox is read-only. 
 	 *
 	 * See RFC 2060 section 6.3.1 (SELECT).
+	 * See RFC 2060 section 6.3.2 (EXAMINE).
 	 */ 
-	else if (strstr(buf, "[READ-ONLY]"))
+	else if (!check_only && strstr(buf, "[READ-ONLY]"))
 	    return(PS_LOCKBUSY);
     } while
 	(tag[0] != '\0' && strncmp(buf, tag, strlen(tag)));
-- 
cgit v1.2.3