aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Makefile.in2
-rw-r--r--NEWS4
-rw-r--r--driver.c17
3 files changed, 15 insertions, 8 deletions
diff --git a/Makefile.in b/Makefile.in
index 86957e72..4d14389d 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -3,7 +3,7 @@
# If you're running QNX, we can't assume a working autoconf.
# So just uncomment all the lines marked QNX.
-VERS=3.9.4
+VERS=3.9.5
# Ultrix 2.2 make doesn't expand the value of VPATH.
srcdir = @srcdir@
diff --git a/NEWS b/NEWS
index 98cd44db..93861f32 100644
--- a/NEWS
+++ b/NEWS
@@ -30,6 +30,10 @@ pl 3.9.5 ():
sendmails with the 'E' option on.
* Enable forcecr to work on the \r\n header terminator line.
* Multiple-folder support for POP2 and IMAP.
+* Under IMAP, bodies of messages refused by SMTP's 571 response are no longer
+ fetched.
+
+There are 249 people on the fetchmail-friends list.
pl 3.9.4 (Wed May 14 12:27:22 EDT 1997):
* Fixed a compilation glitch for systems like SunOS & others without atexit(3).
diff --git a/driver.c b/driver.c
index fd0c2138..62cd604a 100644
--- a/driver.c
+++ b/driver.c
@@ -1523,17 +1523,16 @@ const struct method *proto; /* protocol method table */
goto cleanUp;
set_timeout(ctl->server.timeout);
- /*
+ /*
* If we're using IMAP4 or something else that
* can fetch headers separately from bodies,
- * it's time to request the body now. This fetch
- * may be skipped if we got an anti-spam or
- * other error response from SMTP.
+ * it's time to request the body now. This
+ * fetch may be skipped if we got an anti-spam
+ * or other PS_REFUSED error response during
+ * read_headers.
*/
if (protocol->fetch_body && !suppress_forward)
{
- int ok;
-
if ((ok = (protocol->trail)(sock, ctl, num)))
goto cleanUp;
set_timeout(ctl->server.timeout);
@@ -1543,7 +1542,11 @@ const struct method *proto; /* protocol method table */
}
/* process the body now */
- ok = readbody(sock, ctl,TRUE,len,protocol->delimited);
+ ok = readbody(sock,
+ ctl,
+ !suppress_forward,
+ len,
+ protocol->delimited);
if (ok == PS_TRANSIENT)
suppress_delete = TRUE;
else if (ok)