]> Pileus Git - ~andy/fetchmail/blobdiff - INSTALL
Prevent buffer overruns.
[~andy/fetchmail] / INSTALL
diff --git a/INSTALL b/INSTALL
index 8fc65af1bd9320a1d6ed577e150461b876698c6f..096d63d51a6c6579cfdddcbedd29a2863d44885b 100644 (file)
--- a/INSTALL
+++ b/INSTALL
@@ -1,11 +1,30 @@
                INSTALL Instructions for fetchmail
 
-If you have installed binaries (e.g. from an RPM) you can skip to step 4.
+If you have installed binaries (e.g. from an RPM) you can skip to step 5.
 
 If you are a Linux system packager, be aware that the build process generates
-an RPM spec file at fetchmail.spec.
+an RPM spec file at fetchmail.spec, and you can "make rpm" to generate an
+RPM and SRPM.
 
-1. CONFIGURE
+The Frequently Asked Questions list, included as the file FAQ in this
+distributions, answers the most common questions about configuring and 
+running fetchmail.
+
+1. USEFUL THINGS TO INSTALL FIRST
+
+If you want support for RFC1938-compliant one-time passwords, you'll
+need to install Craig Metz's OPIE libraries first.  Then configure
+with --enable-OPIE, and fetchmail build process will detect them and
+compile appropriately.
+
+Note: there is no point in doing this unless your server is
+OTP-enabled.  To test this, telnet to the server port and give it
+a valid USER id.  If the OK response includes the string "otp-",
+you should install OPIE.
+
+The OPIE library sources are available at ftp://ftp.inner.net/pub/opie.
+
+2. CONFIGURE
 
 Installing fetchmail is easy.  From within this directory, type:
 
@@ -18,107 +37,87 @@ 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.
+and --srcdir.  Do `configure --help' for more.
+
+POP2 support is no longer compiled in by default, as POP2 is way obsolete
+and there don't seem to be any live servers for it anymore.  You can
+configure it back in if you want with `configure --enable-POP2', but
+leaving it out cuts the executable's size slightly.
+
+Specifying --with-kerberos=DIR will tell the fetchmail build process to
+look in DIR for Kerberos support.  Configure normally looks in /usr/kerberos
+and /usr/athena; if you specify this option with an argument it will look
+in DIR first. 
+
+Unfortunately, there doesn't seem to be good standardization of where
+Kerberos lives.  If your configuration doesn't match one of the four
+that fetchmail's configure.in knows about, you may find you have to
+hand-hack the Makefile a bit.
+
+If you want to build for debugging, 
+
+       CFLAGS=-g LDFLAGS=" " ./configure
+
+will do that.
 
 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 
+3. MAKE 
 
 You may find you need flex at version 2.5.3 or greater to build
-fetchmail.  The stock lex distributed with Linux does not work -- it
-yields a parser which core-dumps on syntax errors.
+fetchmail.  The stock lex distributed with some versions of Linux does
+not work -- it yields a parser which core-dumps on syntax errors.  You
+can get flex at the GNU ftp site, ftp://prep.ai.mit.edu/pub/gnu.
 
 Run
 
        make
 
-This will compile fetchmail for your system.
+This should compile fetchmail for your system.
 
-3. INSTALL
+4. INSTALL
 
 Lastly, become root and run
 
        make install
 
 This will install fetchmail.  By default, fetchmail will be installed
-in /usr/local/bin, with the man page in /usr/local/man/man1.  If you
-wish to change these defaults, edit the Makefile AFTER you run
-"configure" but BEFORE you run "make install."  You can easily choose
-a prefix other than /usr/local, or you can choose completely different
-directories for each item.
+in /usr/local/bin, with the man page in /usr/local/man/man1.  You can
+use the configure options --bindir and --mandir to change these.
 
-NOTE: If you are using exim, you must configure it to accept local
-addresses as valid RCPT TO lines.
+NOTE: If you are using an MTA other than sendmail (such as qmail,
+exim, or smail), see the FAQ (section T) for discussion of any special
+configuration steps that may be necessary.
 
-4. SET UP A RUN CONTROL FILE
+5. SET UP A RUN CONTROL FILE
 
-See the man page or the file sample.rcfile for a description of how to
+See the man page and the file sample.rcfile for a description of how to
 configure your individual preferences.
 
-Note: if you have been using popclient (the ancestor of this program)
-at version 3.0b6 or later, do this
+If you're upgrading from popclient, see question F4 in the FAQ file.
 
-(cd ~; mv ~/.poprc ~/.fetchmailrc)
-
-in order to migrate.  Be aware that some of popclient's unnecessary
-options have been removed (see the NOTES file for explanation).  You
-can't deliver to a local mail file anymore or to standard output any
-more, and using an MDA for delivery is discouraged.  If you throw
-those options away, fetchmail will now forward your mail into your
-system's normal Internet-mail delivery path.
-
-Actually, using an MDA is now almost always the wrong thing; the MDA
-facility has been retained only for people who can't or won't run a
-sendmail-like SMTP listener on port 25. The default, SMTP forwarding
-to port 25, is better for at least two major reasons.  One: it feeds
-retrieved POP and IMAP mail into your system's normal delivery path
-along with local mail and normal Internet mail.  Two: because the port
-25 listener returns a positive acknowledge, fetchmail can be sure
-you're not going to lose mail to a disk-full or some other
-resource-exhaustion problem.
-
-If you used to use -mda "procmail -d <you>" or something similar, forward
-to port 25 and do "| procmail -d <you>" in your ~/.forward file.
-
-5. TEST
+6. 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 server,
 your local delivery configuration or your port 25 listener.  Also,
 beware of aliases that direct your local mail back to the server host!
 
-This software is known to work with the qpop/popper series of
-freeware POP3 servers; also with the IMAP2bis and IMAP4 servers that are
-distributed with Pine from the University of Washington.  
-
-A couple of users have reported that some recent (post-2.7.2) versions
-of gcc seem to have an optimizer bug that affects fetchmail.  If your
-fetchmail core dumps (especially near startup) try recompiling without
--O.  Alternatively, you can drop back to gcc 2.7.2 or below.
-
-6. REPORTING BUGS
-
-You should read the FAQ file before rfeporting a bug.
-
-When reporting bugs, please include the following:
-
-1. Your operating system and compiler version.
-2. The release and patch level of the fetchmail you are running.  You can see
-   your patchlevel by typing `fetchmail -V'.
-3. The output of fetchmail -V (this will not reveal your password).
-4. Any command-line options you used.
-
-It is helpful if you include your .fetchmailrc, but not necessary
-unless your symptom seems to involve an error in configuration parsing.
-
-A transcript of the failed session with -v on is almost always useful.
-If the bug involves a core dump, a gdb stack trace is good to have.
+This software is known to work with the qpop/popper series of freeware
+POP3 servers; also with the IMAP2bis and IMAP4 servers that are
+distributed with Pine from the University of Washington; also with the
+Cyrus IMAP server from CMU.  This covers all the servers normally
+hosted on Linux and *BSD systems.  It also works with Microsoft Exchange,
+despiite the fact that Microsoft Exchange is extremely broken (returns
+incorrect message lengths in LIST responses).
 
-Best of all is a mail file which, when fetched, will reproduce the bug.
+7. REPORTING BUGS
 
-7. USE IT
+You should read the FAQ file question G3 before reporting a bug.
 
-Enjoy!
+8. USE IT
 
+Once you've verified your configuration, you can start fetchmail to
+run in background and forget about it.  Enjoy!