X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=imap.c;h=cb87eda5378f258f20955c3524f2f84c6d29cd0e;hb=2199d611d9f4d4770fdd97be942d2e83bedc0569;hp=397b391b153f849928158804574ae81c5da2ccae;hpb=1e13bb35731999c4668883acd404ede047793e1e;p=~andy%2Ffetchmail diff --git a/imap.c b/imap.c index 397b391b..cb87eda5 100644 --- a/imap.c +++ b/imap.c @@ -1166,7 +1166,8 @@ static int imap_fetch_headers(int sock, struct query *ctl,int number,int *lenp) /* try to recover for some responses */ if (!strncmp(buf, "* NO", 4) || - !strncmp(buf, "* BAD", 5)) + !strncmp(buf, "* BAD", 5) || + strstr(buf, "FETCH ()")) { return(PS_TRANSIENT); } @@ -1181,7 +1182,7 @@ static int imap_fetch_headers(int sock, struct query *ctl,int number,int *lenp) /* an unexpected tagged response */ if (outlevel > O_SILENT) report(stderr, GT_("Incorrect FETCH response: %s.\n"), buf); - return(PS_ERROR); + return(PS_TRANSIENT); } return(ok); } @@ -1299,20 +1300,11 @@ static int imap_delete(int sock, struct query *ctl, int number) int ok; /* Select which flags to set on message deletion: */ const char delflags_seen[] = "\\Seen \\Deleted"; - const char delflags_unseen[] = "\\Deleted"; static const char *delflags; /* Which environment variable to look for: */ - const char dis_env[] = "FETCHMAIL_IMAP_DELETED_REMAINS_UNSEEN"; - if (!delflags) { - char *tmp; - if ((tmp = getenv(dis_env)) != NULL && *tmp) { - delflags = delflags_unseen; - } else { - /* DEFAULT since many fetchmail versions <= 6.3.X */ - delflags = delflags_seen; - } - } + /* DEFAULT since many fetchmail versions <= 6.3.X */ + delflags = delflags_seen; (void)ctl; /* expunges change the fetch numbers */