From cdb4193b2cc7c184a130d09bab8504cf4b06a2cf Mon Sep 17 00:00:00 2001 From: "Eric S. Raymond" Date: Fri, 27 Sep 1996 18:16:59 +0000 Subject: We know APOP works. Also add a POP3 optimization. svn path=/trunk/; revision=165 --- NEWS | 6 ++++++ driver.c | 4 +--- fetchmail.c | 6 ++++-- fetchmail.man | 11 +++++++++++ pop3.c | 2 +- 5 files changed, 23 insertions(+), 6 deletions(-) diff --git a/NEWS b/NEWS index 969a6f55..2b0e8913 100644 --- a/NEWS +++ b/NEWS @@ -8,6 +8,12 @@ to a true IMAP4 server and do the UID thing (see header comments in imap.c). Release Notes: +fetchmail-1.0 (): + +* In POP3, don't send LAST if STAT shows count of waiting messages to be zero. + +* Document APOP better, we know it works now. + fetchmail-1.0 (Thu Sep 26 11:59:38 EDT 1996): * SMTP forwarding and header-rewrite features work with POP2 now. diff --git a/driver.c b/driver.c index 9c75a706..698a9dfb 100644 --- a/driver.c +++ b/driver.c @@ -819,13 +819,11 @@ va_dcl { va_end(ap); SockPuts(socket, buf); - if (outlevel == O_VERBOSE) fprintf(stderr,"> %s\n", buf); + /* we presume this does its own response echoing */ ok = (protocol->parse_response)(buf,socket); - if (outlevel == O_VERBOSE) - fprintf(stderr,"%s\n",buf); return(ok); } diff --git a/fetchmail.c b/fetchmail.c index 4fb4d07d..15cf8a0e 100644 --- a/fetchmail.c +++ b/fetchmail.c @@ -410,8 +410,10 @@ struct hostrec *queryctl; if (queryctl->password[0] == '\0') printf(" Password will be prompted for.\n"); else if (outlevel == O_VERBOSE) - if (queryctl->protocol == P_RPOP) - printf(" RPOP id = '%s'\n", queryctl->password); + if (queryctl->protocol == P_APOP) + printf(" APOP secret = '%s'\n", queryctl->password); + else if (queryctl->protocol == P_RPOP) + printf(" RPOP secret = '%s'\n", queryctl->password); else printf(" Password = '%s'\n", queryctl->password); printf(" Protocol is %s", showproto(queryctl->protocol)); diff --git a/fetchmail.man b/fetchmail.man index ffc95d43..487eb7b9 100644 --- a/fetchmail.man +++ b/fetchmail.man @@ -254,6 +254,17 @@ work -- has to bind to a privileged port locally in order for the mail server to believe it's allowed to bind to a privileged remote port.) .PP +RFC1460 introduced APOP authentication. In this variant of POP3, +you register an APOP password on your server host (the program +to do this with on the server is probably called \fIpopauth\fR(8)). You +put the same password in your +.I .fetchmailrc +file. Each time +.I fetchmail +logs in, it sends a cryptographically secure hash of your password and +the server greeting time to the server, which can verify it by +checking its authorization database. +.PP .SH OUTPUT OPTIONS The default behavior of .I fetchmail diff --git a/pop3.c b/pop3.c index 7a9c3ccc..480b4fd7 100644 --- a/pop3.c +++ b/pop3.c @@ -171,7 +171,7 @@ int *firstp; */ *firstp = 1; use_uidl = 0; - if (!queryctl->fetchall) { + if (*countp > 0 && !queryctl->fetchall) { char id [IDLEN+1]; int num; -- cgit v1.2.3