aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEric S. Raymond <esr@thyrsus.com>1996-10-09 16:44:21 +0000
committerEric S. Raymond <esr@thyrsus.com>1996-10-09 16:44:21 +0000
commitb8c59279404ee384839e86e5f68e94bb257c45d7 (patch)
tree4dfa94d54019cb60e594da0123f8f1af03b4ab74
parent86c0cbc302f0be583bd4c1772b398bc1086d2264 (diff)
downloadfetchmail-b8c59279404ee384839e86e5f68e94bb257c45d7.tar.gz
fetchmail-b8c59279404ee384839e86e5f68e94bb257c45d7.tar.bz2
fetchmail-b8c59279404ee384839e86e5f68e94bb257c45d7.zip
Removed all pretentions to RPOP support.
svn path=/trunk/; revision=267
-rw-r--r--INSTALL6
-rw-r--r--NEWS4
-rw-r--r--README2
-rw-r--r--driver.c22
-rw-r--r--fetchmail.c11
-rw-r--r--fetchmail.h1
-rw-r--r--fetchmail.man27
-rw-r--r--options.c2
-rw-r--r--pop3.c10
-rw-r--r--rcfile_l.l1
-rw-r--r--sample.rcfile1
11 files changed, 5 insertions, 82 deletions
diff --git a/INSTALL b/INSTALL
index cf5d50d8..133678c6 100644
--- a/INSTALL
+++ b/INSTALL
@@ -41,12 +41,6 @@ wish to change these defaults, edit the Makefile AFTER you run
a prefix other than /usr/local, or you can choose completely different
directories for each item.
-Note: if you intended to use RPOP (which we don't recommend, you
-should set up APOP), you'll have to make fetchmail suid root. This
-is so it can call rresvport and bind to a privileged port, so the
-server's TCP/IP will see that and know it's OK to let it bind to
-a privileged port at the other end.
-
4. SET UP A RUN CONTROL FILE
See the man page or the file sample.rcfile for a description of how to
diff --git a/NEWS b/NEWS
index e6521772..1025874e 100644
--- a/NEWS
+++ b/NEWS
@@ -5,10 +5,6 @@ bugs affecting normal operation (that is, forwarding to SMTP from a
single server host). It will probably undergo substantial change only
if and when support for a new retrieval protocol is added.
-Test RPOP feature against a Unix server that has it. The protocol
-transactions are certainly OK, the question is whether the rresvport()
-authentication stuff does what's needed.
-
Support IMAP4 extensions for secure challenge-response, once they're actually
standardized.
diff --git a/README b/README
index 6af9afcd..5847f8ad 100644
--- a/README
+++ b/README
@@ -30,7 +30,7 @@ in its class.
Here are fetchmail's main features. Those unique to fetchmail are marked
with **.
- * **POP2, POP3, **APOP, **RPOP and **IMAP support.
+ * **POP2, POP3, **APOP, **IMAP support.
** Host is auto-probed for a working server if no protocol is
specified for the connection. Thus you don't need to know
diff --git a/driver.c b/driver.c
index 6d2227c7..ad8bb016 100644
--- a/driver.c
+++ b/driver.c
@@ -17,9 +17,6 @@
#include <varargs.h>
#include <sys/time.h>
#include <signal.h>
-#ifdef HAVE_RRESVPORT_H
-#include <netinet/in.h>
-#endif /* HAVE_RRESVPORT_H */
#include "socket.h"
#include "fetchmail.h"
@@ -542,25 +539,6 @@ struct method *proto;
tagnum = 0;
protocol = proto;
-#ifdef HAVE_RRESVPORT_H
- /*
- * If we're trying to bind to a reserved port on the remote system,
- * do likewise on the local one so the remote will know we're privileged.
- * (This is most likely to happen in connection with RPOP.)
- */
- if (queryctl->port < IPPORT_RESERVED)
- {
- ok = IPPORT_RESERVED - 1;
- if ((privport = rresvport(&ok)) == -1 || alarmed)
- {
- perror("fetchmail, binding to reserved port");
- alarm(0);
- signal(SIGALRM, sigsave);
- return(PS_SOCKET);
- }
- }
-#endif /* HAVE_RRESVPORT_H */
-
/* open a socket to the mail server */
if ((socket = Socket(queryctl->servername,
queryctl->port ? queryctl->port : protocol->port))<0
diff --git a/fetchmail.c b/fetchmail.c
index d61efc17..8be194b9 100644
--- a/fetchmail.c
+++ b/fetchmail.c
@@ -197,13 +197,6 @@ char **argv;
hostp->servername);
exit(PS_SYNTAX);
}
- if (hostp->protocol == P_RPOP && hostp->port >= 1024)
- {
- (void) fprintf(stderr,
- "%s configuration invalid, can't do RPOP to an unprivileged port\n",
- hostp->servername);
- exit(PS_SYNTAX);
- }
/* expand MDA commands */
if (hostp->mda[0])
@@ -393,7 +386,6 @@ int proto;
case P_POP3: return("POP3"); break;
case P_IMAP: return("IMAP"); break;
case P_APOP: return("APOP"); break;
- case P_RPOP: return("RPOP"); break;
default: return("unknown?!?"); break;
}
}
@@ -433,7 +425,6 @@ struct hostrec *queryctl;
break;
case P_POP3:
case P_APOP:
- case P_RPOP:
return(doPOP3(queryctl));
break;
case P_IMAP:
@@ -484,8 +475,6 @@ struct hostrec *queryctl;
else if (outlevel == O_VERBOSE)
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.h b/fetchmail.h
index 364c8bf9..99f16c87 100644
--- a/fetchmail.h
+++ b/fetchmail.h
@@ -17,7 +17,6 @@
#define P_POP3 3
#define P_IMAP 4
#define P_APOP 5
-#define P_RPOP 6
/* definitions for buffer sizes -- somewhat arbitrary */
#define POPBUFSIZE 512 /* per RFC 937 */
diff --git a/fetchmail.man b/fetchmail.man
index 6fcc792b..633b1658 100644
--- a/fetchmail.man
+++ b/fetchmail.man
@@ -23,7 +23,7 @@ program can gather mail from servers supporting any of the common
mail-retrieval protocols: POP2 (as specified in RFC 937), POP3 (RFC
1725), IMAP2bis (as implemented by the 4.4BSD imapd program), and
IMAP4 (as specified by RFC1730). It can use (but does not require)
-the RPOP and LAST facilities removed from later POP3 versions.
+LAST facility removed from later POP3 versions.
.PP
As each message is retrieved \fIfetchmail\fR normally delivers it via SMTP to
port 25 on the machine it is running on (localhost), just as though it
@@ -110,14 +110,11 @@ Post Office Protocol 2
Post Office Protocol 3
.IP APOP
Use POP3 with MD5 authentication.
-.IP RPOP
-POP3 with \fI.rhosts\fR processing (not recommended).
.RE
.TP
.B \-P, --port
-The option permits you to specify a TCP/IP port to connect on. You
-will need to specify this in order to use RPOP authentication. Otherwise
-this option will seldom be necessary as all the supported protocols have
+The option permits you to specify a TCP/IP port to connect on.
+This option will seldom be necessary as all the supported protocols have
well-established default port numbers.
.TP
.B \-r folder, --remote folder
@@ -217,19 +214,6 @@ password are usually assigned by the server administrator when you apply for
a mailbox on the server. Contact your server administrator if you don't know
the correct user-id and password for your mailbox account.
.PP
-POP3 versions up to the RFC1225 version supported an alternate
-authentication mechanism called RPOP intended to address the security
-risk inherent in sending unencrypted account passwords across the net
-(in RFC1460 this facility was replaced with APOP). If you specify the
-RPOP protocol and a connection port in the privileged range (1..1024),
-.I fetchmail
-will ship your password entry to the mail server as an RPOP id.
-(Note: you'll need to be running fetchmail setuid root for RPOP to
-work --
-.I fetchmail
-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
@@ -396,7 +380,6 @@ Legal protocol identifiers are
pop3 (or POP3)
imap (or IMAP)
apop (or APOP)
- rpop (or RPOP)
.PP
You can use the `noise' keywords \fBand\fR, \fBwith\fR,
\fBhas\fR, \fBwants\fR, and \fBoptions\fR anywhere in an entry to make
@@ -519,7 +502,7 @@ connection. If you don't know what a socket is, don't worry about it --
just treat this as an 'unrecoverable error'.
.IP 3
The user authentication step failed. This usually means that a bad
-user-id, password, or RPOP id was specified.
+user-id, password, or APOP id was specified.
.IP 4
Some sort of fatal protocol error was detected.
.IP 5
@@ -579,8 +562,6 @@ the mail server. This creates a risk that name/password pairs might
be snaffled with a packet sniffer or more sophisticated monitoring
software.
.PP
-The RPOP support is not yet well tested.
-.PP
Send comments, bug reports, gripes, and the like to Eric S. Raymond
<esr@thyrsus.com>.
.SH NOTES
diff --git a/options.c b/options.c
index 2221c1f9..4f7d3777 100644
--- a/options.c
+++ b/options.c
@@ -150,8 +150,6 @@ struct hostrec *queryctl;
queryctl->protocol = P_IMAP;
else if (strcasecmp(optarg,"apop") == 0)
queryctl->protocol = P_APOP;
- else if (strcasecmp(optarg,"rpop") == 0)
- queryctl->protocol = P_RPOP;
else {
fprintf(stderr,"Invalid protocol '%s'\n specified.\n", optarg);
errflag++;
diff --git a/pop3.c b/pop3.c
index 65849b80..30cd0a08 100644
--- a/pop3.c
+++ b/pop3.c
@@ -109,16 +109,6 @@ char *greeting;
goto badAuth;
break;
- case P_RPOP:
- gen_send(socket,"USER %s", queryctl->remotename);
- if (pop3_ok(socket, buf) != 0)
- goto badAuth;
-
- gen_send(socket, "RPOP %s", queryctl->password);
- if (pop3_ok(socket, buf) != 0)
- goto badAuth;
- break;
-
case P_APOP:
gen_send(socket,"APOP %s %s", queryctl->remotename, queryctl->digest);
if (pop3_ok(socket, buf) != 0)
diff --git a/rcfile_l.l b/rcfile_l.l
index e402f2a5..0d0752f2 100644
--- a/rcfile_l.l
+++ b/rcfile_l.l
@@ -60,7 +60,6 @@ options {/* EMPTY */}
(pop3)|(POP3) { yylval.proto = P_POP3; return PROTO; }
(imap)|(IMAP) { yylval.proto = P_IMAP; return PROTO; }
(apop)|(APOP) { yylval.proto = P_APOP; return PROTO; }
-(rpop)|(RPOP) { yylval.proto = P_RPOP; return PROTO; }
(#.*)?\\?\n { prc_lineno++; } /* newline is ignored */
diff --git a/sample.rcfile b/sample.rcfile
index b7d0a945..8457576d 100644
--- a/sample.rcfile
+++ b/sample.rcfile
@@ -45,7 +45,6 @@
# pop3 (or POP3)
# imap (or IMAP)
# apop (or APOP)
-# rpop (or RPOP)
#
# Basic format is
# server SERVERNAME protocol PROTOCOL username NAME password PASSWORD