From: Matthias A. <mat...@gm...> - 2025-06-23 16:53:26
|
Am 21.06.25 um 14:45 schrieb Andrea Venturoli: > On 6/21/25 12:48, Matthias Andree via Fetchmail-users wrote: > > Hello. > > Thanks for your answer. > > > >> these warnings work only in daemon mode > > That's my case. > > > >> fetchmail runs for a sufficiently long time > > It's usually weeks, if not months before I restart it. > > > >> fetchmail didn't authenticate successfully, it should send the >> warning after 3 failed attempts; > > It did (in the past); only it doesn't anymore :( > > > >> If fetchmail is triggered purely by cron or systemd timer or similar, > > Not my case. > > > >> Changes to configuration files also trigger fetchmail to discard >> state and re-execute itself. > > These are very rare. > > > >> Oh, one more thing, this only happens on authentication failures and >> timeouts BUT NOT on other errors, > > That's fine; that's what I'm trying to get. > > > > I thought some option was added to enable/disable this, but if you > confirm it hasn't, I guess I'll need to try and debug this. I would probably start by checking what actual error code is passed through this code in driver.c (near line 1150) as return from the ->getauth(...) method: > /* accept greeting message from mail server */ > err = > (ctl->server.base_protocol->parse_response)(mailserver_socket, buf); > if(err != 0) > gotocleanUp; > > /* try to get authorized to fetch mail */ > if(ctl->server.base_protocol->getauth) > { > set_timeout(mytimeout); > err = > (ctl->server.base_protocol->getauth)(mailserver_socket, ctl, buf); > set_timeout(0); > > if(err != 0) > { > if(err == PS_LOCKBUSY) > report(stderr, GT_("Lock-busy error on %s@%s\n"), > ctl->remotename, > ctl->server.truename); > elseif(err == PS_SERVBUSY) > report(stderr, GT_("Server busy error on %s@%s\n"), > ctl->remotename, > ctl->server.truename); > elseif(err == PS_AUTHFAIL) > { > report(stderr, GT_("Authorization failure on > %s@%s%s\n"), > ctl->remotename, > ctl->server.truename, > (ctl->wehaveauthed ? GT_(" (previously > authorized)") : "") > ); > if(ctl->server.authenticate == A_ANY && !ctl->wehaveauthed) { > report(stderr, GT_("For help, see > http://www.fetchmail.info/fetchmail-FAQ.html#R15\n")); > } > |