X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=imap.c;h=a598519b59e1685c1d6eee7fb937cc609620837a;hb=a23a8cf8ee1da51c4392b9f52e6b72b0c01e3b5e;hp=6dd51eeecfc9049277da35ade2b0212f526b46b7;hpb=dbb179567dd2e850e0e8327a823d21ee311db823;p=~andy%2Ffetchmail diff --git a/imap.c b/imap.c index 6dd51eee..a598519b 100644 --- a/imap.c +++ b/imap.c @@ -723,6 +723,7 @@ static int imap_idle(int sock) } /* restore normal timeout value */ + set_timeout(0); mytimeout = saved_timeout; stage = STAGE_GETRANGE; @@ -1129,7 +1130,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); } @@ -1144,7 +1146,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); } @@ -1255,13 +1257,6 @@ static int imap_delete(int sock, struct query *ctl, int number) /* set delete flag for given message */ { int ok; - /* Select which flags to set on message deletion: */ - const char delflags_seen[] = "\\Seen \\Deleted"; - static const char *delflags; - /* Which environment variable to look for: */ - - /* DEFAULT since many fetchmail versions <= 6.3.X */ - delflags = delflags_seen; (void)ctl; /* expunges change the fetch numbers */