aboutsummaryrefslogtreecommitdiffstats
path: root/driver.c
diff options
context:
space:
mode:
authorMatthias Andree <matthias.andree@gmx.de>2005-07-23 17:35:47 +0000
committerMatthias Andree <matthias.andree@gmx.de>2005-07-23 17:35:47 +0000
commit3d0ea668e95f5fbd79a04323abc40900d56823f9 (patch)
treed9e5a6bb0d5e5965e72b7e4d88823d0a1ec72856 /driver.c
parentb1b5157b2d7d37c2fb557631d4204af599e031f8 (diff)
downloadfetchmail-3d0ea668e95f5fbd79a04323abc40900d56823f9.tar.gz
fetchmail-3d0ea668e95f5fbd79a04323abc40900d56823f9.tar.bz2
fetchmail-3d0ea668e95f5fbd79a04323abc40900d56823f9.zip
Delete oversized messages with --flush when daemon mode isn't used.
Debian Bug#212240. svn path=/trunk/; revision=4173
Diffstat (limited to 'driver.c')
-rw-r--r--driver.c13
1 files changed, 5 insertions, 8 deletions
diff --git a/driver.c b/driver.c
index ddae6fc0..e51060c5 100644
--- a/driver.c
+++ b/driver.c
@@ -543,7 +543,10 @@ static int fetch_messages(int mailserver_socket, struct query *ctl,
if ((msgcode == MSGLEN_TOOLARGE) && !check_only)
{
mark_oversized(ctl, num, msgsize);
- suppress_delete = TRUE;
+ /* we do not want to delete oversized messages in daemon
+ * mode, but allow deletions in single-pass mode. */
+ if (run.poll_interval)
+ suppress_delete = TRUE;
}
if (outlevel > O_SILENT)
{
@@ -772,13 +775,7 @@ flagthemail:
else if (ctl->server.base_protocol->delete
&& !suppress_delete
&& ((msgcode >= 0 && !ctl->keep)
- /* XXX FIXME: Debian's patch uses here:
- *
- * (msgcode == MSGLEN_OLD || msgcode ==
- * MSGLEN_TOOLARGE) && ctl->flush
- *
- * do we want to flush oversized messages? */
- || (msgcode == MSGLEN_OLD && ctl->flush)))
+ || ((msgcode == MSGLEN_OLD || msgcode == MSGLEN_TOOLARGE) && ctl->flush)))
{
(*deletions)++;
if (outlevel > O_SILENT)