The OPIE library sources are available at ftp://ftp.inner.net/pub/opie.
+Building in IPv6 support and the network security patches REQUIRES that
+Craig Metz's inet6-apps kit be installed; the network security patches
+require that the kit be built with network security API support
+enabled. The kit can be gotten from ftp.ipv6.inner.net:/pub/ipv6 (via
+IPv6) or ftp.inner.net /pub/ipv6 (via IPv4).
+
2. CONFIGURE
Installing fetchmail is easy. From within this directory, type:
<table width="100%" cellpadding=0><tr>
<td width="30%">Back to <a href="index.html">Fetchmail Home Page</a>
<td width="30%" align=center>To <a href="/~esr/sitemap.html">Site Map</a>
-<td width="30%" align=right>$Date: 1997/10/12 02:44:26 $
+<td width="30%" align=right>$Date: 1998/02/16 06:46:23 $
</table>
<HR>
<H1 ALIGN=CENTER>Design Notes On Fetchmail</H1>
recipients. These would fit an assumption that DNS lookup errors are
likely to be permanent problems associated with an address.<P>
+<H1>IPv6 and IPSEC</H1>
+
+The IPv6 support patches are really more protocol-family independence
+patches. Because of this, in most places, "ports" (numbers) have been
+replaced with "services" (strings, that may be digits). This allows us
+to run with certain protocols that use strings as "service names"
+where we in the IP world think of port numbers. Someday we'll plumb
+strings all over and then, if inet6 is not enabled, do a
+getservbyname() down in SocketOpen. The IPv6 support patches use
+getaddrinfo(), which is a POSIX p1003.1g mandated function. So, in the
+not too distant future, we'll zap the ifdefs and just let autoconf
+check for getaddrinfo. IPv6 support comes pretty much automatically
+once you have protocol family independence.<P>
+
+Craig Metz used his inner_connect() function to handle most of the
+connect work. This is a nonstandard function not likely to ever exist
+in a system's libc, but we can just include that source file if the
+day comes when we want to support IPv6 without the inet6-apps
+library. It just makes life easier.<P>
+
<H1>Lessons learned</H1>
<H3>1. Server-side state is essential</H3>
<table width="100%" cellpadding=0><tr>
<td width="30%">Back to <a href="index.html">Fetchmail Home Page</a>
<td width="30%" align=center>To <a href="/~esr/sitemap.html">Site Map</a>
-<td width="30%" align=right>$Date: 1997/10/12 02:44:26 $
+<td width="30%" align=right>$Date: 1998/02/16 06:46:23 $
</table>
<P><ADDRESS>Eric S. Raymond <A HREF="mailto:esr@thyrsus.com"><esr@snark.thyrsus.com></A></ADDRESS>
<table width="100%" cellpadding=0><tr>
<td width="30%">Back to <a href="index.html">Fetchmail Home Page</a>
<td width="30%" align=center>To <a href="/~esr/sitemap.html">Site Map</a>
-<td width="30%" align=right>$Date: 1997/12/18 00:45:07 $
+<td width="30%" align=right>$Date: 1998/02/16 06:41:31 $
</table>
<HR>
<H2>Since 4.0:</H2>
<UL>
+<LI> Support for IPv6 and IPSEC (using Craig Metz's inet6-apps library).
+
<LI> Support for IMAP with RFC1731-conformant GSSAPI authentication.
<LI> Fixed and verified support for Cyrus IMAP server, M$ Exchange,
<table width="100%" cellpadding=0><tr>
<td width="30%">Back to <a href="index.html">Fetchmail Home Page</a>
<td width="30%" align=center>To <a href="/~esr/sitemap.html">Site Map</a>
-<td width="30%" align=right>$Date: 1997/12/18 00:45:07 $
+<td width="30%" align=right>$Date: 1998/02/16 06:41:31 $
</table>
<P><ADDRESS>Eric S. Raymond <A HREF="mailto:esr@thyrsus.com"><esr@snark.thyrsus.com></A></ADDRESS>
remote-mail retrieval and forwarding utility intended to be used over
on-demand TCP/IP links (such as SLIP or PPP connections). It supports
every remote-mail protocol now in use on the Internet: POP2, POP3,
-RPOP, APOP, KPOP, all flavors of IMAP, and ESMTP ETRN. <P>
+RPOP, APOP, KPOP, all flavors of IMAP, and ESMTP ETRN. It can even support
+IPv6 and IPSEC.<P>
Fetchmail retrieves mail from remote mail servers and forwards it via
SMTP, so it can then be be read by normal mail user agents such as