Skip to content
Snippets Groups Projects
Commit 2be1b629 authored by Rob Swindell's avatar Rob Swindell :speech_balloon:
Browse files

Abort POP3 LIST/UIDL loops upon socket-send failure

Log a debug-level message after loading messages upon POP3 login.
parent fdac4238
No related branches found
No related tags found
No related merge requests found
...@@ -1414,6 +1414,7 @@ static bool pop3_client_thread(pop3_t* pop3) ...@@ -1414,6 +1414,7 @@ static bool pop3_client_thread(pop3_t* pop3)
} }
mail=loadmail(&smb,&msgs,user.number,MAIL_YOUR,lm_mode); mail=loadmail(&smb,&msgs,user.number,MAIL_YOUR,lm_mode);
lprintf(LOG_DEBUG, "%04d %s <%s> Loaded %lu messages", socket, client.protocol, user.alias, (ulong)msgs);
for(l=bytes=0;l<msgs;l++) { for(l=bytes=0;l<msgs;l++) {
msg.hdr.number=mail[l].number; msg.hdr.number=mail[l].number;
...@@ -1583,11 +1584,13 @@ static bool pop3_client_thread(pop3_t* pop3) ...@@ -1583,11 +1584,13 @@ static bool pop3_client_thread(pop3_t* pop3)
break; break;
} }
if(!strnicmp(buf, "LIST",4)) { if(!strnicmp(buf, "LIST",4)) {
sockprintf(socket,client.protocol,session,"%u %u",l+1,msg.hdr.length + smb_getmsgtxtlen(&msg)); i = sockprintf(socket,client.protocol,session,"%u %u",l+1,msg.hdr.length + smb_getmsgtxtlen(&msg));
} else /* UIDL */ } else /* UIDL */
sockprintf(socket,client.protocol,session,"%u %u",l+1,msg.hdr.number); i = sockprintf(socket,client.protocol,session,"%u %u",l+1,msg.hdr.number);
smb_freemsgmem(&msg); smb_freemsgmem(&msg);
if(i < 1)
break;
} }
sockprintf(socket,client.protocol,session,"."); sockprintf(socket,client.protocol,session,".");
continue; continue;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment