diff options
-rw-r--r-- | INSTALL | 22 | ||||
-rw-r--r-- | Makefile.in | 12 | ||||
-rw-r--r-- | NEWS | 20 | ||||
-rw-r--r-- | driver.c | 4 | ||||
-rw-r--r-- | fetchmail.c | 2 | ||||
-rw-r--r-- | fetchmail.man | 32 | ||||
-rw-r--r-- | options.c | 2 | ||||
-rw-r--r-- | rcfile_l.l | 4 |
8 files changed, 75 insertions, 23 deletions
@@ -1,5 +1,7 @@ INSTALL Instructions for fetchmail +1. CONFIGURE + Installing fetchmail is easy. From within this directory, type: ./configure @@ -9,10 +11,16 @@ specifics of your system. If you want to specify a particular compiler (e.g. you have gcc but want to compile with cc), set the environment variable CC before you run configure. +The configure script accepts certain standard configuration options. +These include --prefix, --exec-prefix, --bindir, --infodir, --mandir, +and --srcdir. Do `config --help' for more. + If you're running QNX, edit the distributed Makefile directly. The QNX values for various macros are there but commented out; all you have to do is uncomment them. +2. MAKE + Next run make @@ -20,6 +28,8 @@ Next run This will compile fetchmail for your system. Note that in order to build it, you'll need either flex at version 2.5.3 org greater, or lex. +3. INSTALL + Lastly, become root and run make install @@ -37,6 +47,8 @@ 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 configure your individual preferences. @@ -47,4 +59,14 @@ at version 3.0b6 or later, do this in order to migrate. +5. TEST + +I strongly recommend that your first fetchmail run use the -v and -k +options, in case there is something not quite right with your local +delivery configuration or your port 25 listener. Also, beware +of aliases that direct your local mail back to the server host! + +6. USE IT + Enjoy! + diff --git a/Makefile.in b/Makefile.in index 8960f52b..ecfea794 100644 --- a/Makefile.in +++ b/Makefile.in @@ -3,7 +3,7 @@ # If you're running QNX, we can't assume a working autoconf. # So just uncomment all the lines marked QNX. -VERS=1.6 +VERS=1.7 # Ultrix 2.2 make doesn't expand the value of VPATH. srcdir = @srcdir@ @@ -40,20 +40,20 @@ EXTRASRC = @EXTRASRC@ EXTRAOBJ = @EXTRAOBJ@ # Common prefix for machine-independent installed files. -prefix = /usr/local +prefix = @prefix@ # Common prefix for machine-dependent installed files. -exec_prefix = $(prefix) +exec_prefix = @exec_prefix@ # Name under which to install fetchmail instname = fetchmail # Directory in which to install. -bindir = $(exec_prefix)/bin +bindir = @bindir@ # Directory to install the Info files in. -infodir = $(prefix)/info +infodir = @infodir@ # Number to put on the man page filename. manext = 1 # Directory to install the man page in. -mandir = $(prefix)/man/man$(manext) +mandir = @mandir@/man$(manext) # Program to install `make'. INSTALL_PROGRAM = @INSTALL_PROGRAM@ @@ -16,6 +16,26 @@ Inflict severe pain on the person(s) responsible for removing LAST from POP3. Release Notes: +fetchmail-1.7 (Tue Oct 8 01:00:08 EDT 1996): + +features -- + +* Make configure more GNUish; it understands --prefix and other standard + autoconf options now (see INSTALL for details) + +bugs -- + +* You may have to rearrange the order of options in your .fetchmailrc. + The grammar for the new multiple-user syntax requires that server + options (protocol and port) come before any user options. + +* Fixed core dump bug that was screwing configurations with no .fetchmailrc. + +* Fixed broken 'p' option. + +* `norewrite' and `rewrite' in .fetchrc were the inverses of what they + should have been. + fetchmail-1.6 (Sun Oct 6 20:55:09 EDT 1996): features -- @@ -424,6 +424,10 @@ struct hostrec *queryctl; headers = NULL; } + /* SMTP byte-stuffing */ + if (*bufp == '.' && queryctl->mda[0] == 0) + write(mboxfd, ".", 1); + /* write this line to the file */ if (write(mboxfd,bufp,strlen(bufp)) < 0) { diff --git a/fetchmail.c b/fetchmail.c index cb9a1e89..3062d3ea 100644 --- a/fetchmail.c +++ b/fetchmail.c @@ -165,7 +165,7 @@ char **argv; } /* if there's a defaults record, merge it and lose it */ - if (strcmp(hostlist->servername, "defaults") == 0) + if (hostlist && strcmp(hostlist->servername, "defaults") == 0) { for (hostp = hostlist; hostp; hostp = hostp->next) optmerge(hostp, hostlist); diff --git a/fetchmail.man b/fetchmail.man index 1679b670..20836444 100644 --- a/fetchmail.man +++ b/fetchmail.man @@ -330,7 +330,7 @@ permissions; will complain and exit otherwise. .PP Comments begin with a '#' and extend through the end of the line. -Otherwise the file consists of a series of server entries. +Otherwise the file consists of a series of free-format server entries. Any amount of whitespace separates keywords, tokens, or strings in server entries but is otherwise ignored (but whitespace enclosed in double quotes is treated as part of the string). @@ -338,10 +338,18 @@ Keywords and identifiers are case sensitive. When there is a conflict between the command-line arguments and the arguments in this file, the command-line arguments take precedence. .PP -Legal keywords are: +Each server entry consists of the keyword \fBserver\fR, followed by a +server name, followed by server options, followed by any number of +user descriptions. +.PP +Legal server options are: server protocol (or proto) + port + +Legal user options are + username (or user) is password (or pass) @@ -358,13 +366,12 @@ Legal keywords are: nofetchall norewrite noskip - port .PP -All these correspond to the obvious command-line arguments except +All options correspond to the obvious command-line arguments except three: \fBis\fR, \fBpassword\fR and \fBskip\fR. .PP The \fBis\fR keyword associates a following local username with the -mailserver usename in the entry. It is intended to be used in +mailserver user name in the entry. It is intended to be used in configurations where \fIfetchmail\fR runs as root and retrieves mail for multiple local users. If no \fBis\fR clause is present, the default local username is the same as the argument of the @@ -420,11 +427,8 @@ If you need to include whitespace in a parameter string, enclose the string in double quotes. Thus: .nf - server mail.provider.net - proto pop3 - user jsmith - pass "u can't krak this" - mda "/bin/mail %s" + server mail.provider.net proto pop3 + user jsmith pass "u can't krak this" mda "/bin/mail %s" .fi You may have an initial server description headed by the keyword @@ -433,8 +437,7 @@ is interpreted as defaults for all queries to use. It may be overwritten by individual server descriptions. So, you could write: .nf - defaults - proto pop3 + defaults proto pop3 user jsmith server pop.provider.net pass secret1 @@ -557,7 +560,10 @@ because it supports IMAP now and may well support more remote-fetch protocols such as DMSP in the future). If called through a link named popclient, it will look in ~/.poprc for its run control file. As long as the file does not use the removed \fBlimit\fR or \fBlocalfolder\fR -options, this should actually work. +options, this will often work. (The new run control file syntax also has +to be a bit stricter about the order of options than the old, +in order to support multiple user desriptions per server; you may have +to rearrange things a bit.) .PP The --stdout, --local, and --limit arguments of previous versions have been removed. Those features did jobs that belonged to @@ -40,7 +40,7 @@ #define LA_HELP 20 #define LA_YYDEBUG 21 -static char *shortoptions = "PVaKkvS:m:sFd:f:u:r:L:qN?"; +static char *shortoptions = "PpVaKkvS:m:sFd:f:u:r:L:qN?"; static struct option longoptions[] = { {"version", no_argument, (int *) 0, LA_VERSION }, {"all", no_argument, (int *) 0, LA_ALL }, @@ -35,12 +35,12 @@ mda { return KW_MDA; } keep { yylval.flag = FLAG_TRUE; return KW_KEEP; } flush { yylval.flag = FLAG_TRUE; return KW_FLUSH; } fetchall { yylval.flag = FLAG_TRUE; return KW_FETCHALL; } -rewrite { yylval.flag = FLAG_TRUE; return KW_REWRITE; } +rewrite { yylval.flag = FLAG_FALSE; return KW_REWRITE; } skip { yylval.flag = FLAG_TRUE; return KW_SKIP; } nokeep { yylval.flag = FLAG_FALSE; return KW_KEEP; } noflush { yylval.flag = FLAG_FALSE; return KW_FLUSH; } nofetchall { yylval.flag = FLAG_FALSE; return KW_FETCHALL; } -norewrite { yylval.flag = FLAG_FALSE; return KW_REWRITE; } +norewrite { yylval.flag = FLAG_TRUE; return KW_REWRITE; } noskip { yylval.flag = FLAG_FALSE; return KW_SKIP; } port { return KW_PORT; } |