From 570e3ef1831cdb13a1baf846029ffa1cb7ec1b79 Mon Sep 17 00:00:00 2001 From: Matthias Andree Date: Sun, 24 May 2009 14:45:17 +0000 Subject: Treat permanent delivery errors as temporary (configurable). Fetchmail no longer drops permanently undelivered messages by default, to match historic documentation. It does this by adding a new "softbounce" option, see below. Fixes Debian Bug#471283, demotes Debian Bug#494418 to wishlist. There is a new "softbounce" global option that prevents the deletion of messages that have not been forwarded. It defaults to "true" for fetchmail 6.3.X in order to match historic documentation. This may change its default in the next major release. NOTE: untested. svn path=/branches/BRANCH_6-3/; revision=5315 --- options.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) (limited to 'options.c') diff --git a/options.c b/options.c index 56569bcb..e85682d5 100644 --- a/options.c +++ b/options.c @@ -51,7 +51,9 @@ enum { LA_FETCHSIZELIMIT, LA_FASTUIDL, LA_LIMITFLUSH, - LA_IDLE + LA_IDLE, + LA_NOSOFTBOUNCE, + LA_SOFTBOUNCE }; /* options still left: CgGhHjJoORTWxXYz */ @@ -78,6 +80,8 @@ static const struct option longoptions[] = { {"pidfile", required_argument, (int *) 0, LA_PIDFILE }, {"postmaster",required_argument, (int *) 0, LA_POSTMASTER }, {"nobounce", no_argument, (int *) 0, LA_NOBOUNCE }, + {"nosoftbounce", no_argument, (int *) 0, LA_NOSOFTBOUNCE }, + {"softbounce", no_argument, (int *) 0, LA_SOFTBOUNCE }, {"protocol", required_argument, (int *) 0, 'p' }, {"proto", required_argument, (int *) 0, 'p' }, @@ -300,6 +304,12 @@ int parsecmdline (int argc /** argument count */, case LA_NOBOUNCE: run.bouncemail = FALSE; break; + case LA_NOSOFTBOUNCE: + run.softbounce = FALSE; + break; + case LA_SOFTBOUNCE: + run.softbounce = TRUE; + break; case 'p': /* XXX -- should probably use a table lookup here */ if (strcasecmp(optarg,"auto") == 0) @@ -607,6 +617,8 @@ int parsecmdline (int argc /** argument count */, P(GT_(" --pidfile specify alternate PID (lock) file\n")); P(GT_(" --postmaster specify recipient of last resort\n")); P(GT_(" --nobounce redirect bounces from user to postmaster.\n")); + P(GT_(" --nosoftbounce fetchmail deletes permanently undeliverable messages.\n")); + P(GT_(" --softbounce keep permanently undeliverable messages on server (default).\n")); #ifdef CAN_MONITOR P(GT_(" -I, --interface interface required specification\n")); P(GT_(" -M, --monitor monitor interface for activity\n")); -- cgit v1.2.3