From e248156915d70bed04dd21cf1aeae43554efce2d Mon Sep 17 00:00:00 2001 From: "Eric S. Raymond" Date: Mon, 3 Aug 1998 19:21:53 +0000 Subject: Added experimental SDPS support. svn path=/trunk/; revision=2034 --- NEWS | 1 + README | 6 ++-- acconfig.h | 3 ++ configure.in | 7 ++++ driver.c | 10 +++++- fetchmail-FAQ.html | 91 +++++++++++++++++++++++++++---------------------- fetchmail-features.html | 8 +++-- fetchmail.c | 3 ++ fetchmail.h | 3 ++ pop3.c | 40 ++++++++++++++++++++++ 10 files changed, 126 insertions(+), 46 deletions(-) diff --git a/NEWS b/NEWS index 5824e43e..25f872d3 100644 --- a/NEWS +++ b/NEWS @@ -13,6 +13,7 @@ fetchmail-4.5.5 (): * Modes other than ETRN no longer need to know the fetchmail host's FQDN. This eliminates a gethostbyname() call and makes fetchmail more independent of local DNS configuration quirks. +* Added experimental SDPS code for demon.co.uk users. There are 257 people on fetchmail-friends and 255 on fetchmail-announce. diff --git a/README b/README index eb311f6f..6ccea907 100644 --- a/README +++ b/README @@ -9,9 +9,9 @@ normal mail user agents such as elm(1) or Mail(1). fetchmail supports standard all mail-retrieval protocols in use on the Internet: POP2, POP3 (including POP3 with RFC1938 one-time passwords), -RPOP, APOP, KPOP, Compuserve's POP3 with RPA, all flavors of IMAP -(including IMAP4rev1 with RFC1731 Kerberos v4 or GSSAPI authentication), -and ESMTP ETRN. +RPOP, APOP, KPOP, Compuserve's POP3 with RPA, Demon Internet's SDPS, +all flavors of IMAP (including IMAP4rev1 with RFC1731 Kerberos v4 or +GSSAPI authentication), and ESMTP ETRN. The fetchmail code was developed under Linux, but has also been extensively tested under 4.4BSD, AIX, HP-UX versions 9 and 10, diff --git a/acconfig.h b/acconfig.h index 78bb273a..b02cdf45 100644 --- a/acconfig.h +++ b/acconfig.h @@ -73,6 +73,9 @@ /* Define if you want RPA support compiled in */ #undef RPA_ENABLE +/* Define if you want SDPS support compiled in */ +#undef SDPS_ENABLE + /* Define if you want OPIE support compiled in */ #undef OPIE diff --git a/configure.in b/configure.in index c50b64e3..69bab711 100644 --- a/configure.in +++ b/configure.in @@ -187,6 +187,13 @@ AC_ARG_ENABLE(RPA, [with_RPA=no]) test "$with_RPA" = "yes" && AC_DEFINE(RPA_ENABLE) +### use option --enable-SDPS to compile in the SDPS support +AC_ARG_ENABLE(SDPS, + [ --enable-SDPS compile in SDPS protocol support], + [with_SDPS=$enableval], + [with_SDPS=no]) +test "$with_SDPS" = "yes" && AC_DEFINE(SDPS_ENABLE) + ### use option --enable-opie to compile in the OPIE support AC_ARG_ENABLE(opie, [ --enable-opie support OTP through the OPIE library], diff --git a/driver.c b/driver.c index efff0bb2..99a5d75c 100644 --- a/driver.c +++ b/driver.c @@ -953,7 +953,15 @@ int num; /* index of message */ * hostnames go through. */ find_server_names(received_for, ctl, &xmit_names); - else { +#ifdef SDPS_ENABLE + else if (sdps_envto) + { + find_server_names(sdps_envto, ctl, &xmit_names); + free(sdps_envto); + } +#endif /* SDPS_ENABLE */ + else + { /* * We haven't extracted the envelope address. * So check all the "Resent-To" header addresses if diff --git a/fetchmail-FAQ.html b/fetchmail-FAQ.html index 3c8340f5..d7e493fc 100644 --- a/fetchmail-FAQ.html +++ b/fetchmail-FAQ.html @@ -10,7 +10,7 @@
Back to Fetchmail Home Page To Site Map -$Date: 1998/07/31 20:56:28 $ +$Date: 1998/08/03 19:21:44 $

Frequently Asked Questions About Fetchmail

@@ -67,24 +67,24 @@ IP address?
T6. How can I use fetchmail with Lotus Notes?
T7. How can I use fetchmail with Microsoft Exchange?
T8. How can I use fetchmail with Compuserve RPA?
-T9. How can I use fetchmail with usa.net's servers?
-T10. How can I use fetchmail with HP OpenMail?
-T11. How can I use fetchmail with SOCKS?
-T12. How can I use fetchmail with IPv6 and IPsec?
-T13. How can I get fetchmail to work with ssh?
-T14. What do I have to do to use the IMAP-GSS protocol?
+T9. How can I use fetchmail with Demon Internet's SDPS?
+T10. How can I use fetchmail with usa.net's servers?
+T11. How can I use fetchmail with HP OpenMail?
+T12. How can I use fetchmail with SOCKS?
+T13. How can I use fetchmail with IPv6 and IPsec?
+T14. How can I get fetchmail to work with ssh?
+T15. What do I have to do to use the IMAP-GSS protocol?

Runtime fatal errors:

-R1. Fetchmail's initial gethostbyname call fails on my host.
-R2. Fetchmail isn't working, and -v shows `SMTP connect failed' messages.
-R3. When I try to configure an MDA, fetchmail doesn't work.
-R4. Fetchmail dumps core when given an invalid rc file.
-R5. Fetchmail dumps core in -V mode, but operates normally otherwise.
-R6. Fetchmail dumps core when I use a .netrc file but works otherwise.
-R7. Running fetchmail in daemon mode doesn't work.
-R8. Fetchmail hangs when used with pppd.
-R9. Fetchmail randomly dies with socket errors.
+R1. Fetchmail isn't working, and -v shows `SMTP connect failed' messages.
+R2. When I try to configure an MDA, fetchmail doesn't work.
+R3. Fetchmail dumps core when given an invalid rc file.
+R4. Fetchmail dumps core in -V mode, but operates normally otherwise.
+R5. Fetchmail dumps core when I use a .netrc file but works otherwise.
+R6. Running fetchmail in daemon mode doesn't work.
+R7. Fetchmail hangs when used with pppd.
+R8. Fetchmail randomly dies with socket errors.

Disappearing mail

@@ -364,7 +364,7 @@ alone will really address your security exposure. If you think you might be snooped, it's better to use end-to-end encryption on your whole mail stream so none of it can be read. One of the advantages of fetchmail over conventional SMTP-push delivery is that you may be able -to arrange this by using ssh(1); see T13.

+to arrange this by using ssh(1); see T14.

If ssh/sshd isn't available, or you find it too complicated for you to set up, password encryption will at least keep a malicious cracker @@ -500,7 +500,7 @@ the SOCKS distribution site.)

The specific recipe for using fetchmail with a firewall is at T11

+href="#T12">T12


B1. Lex bombs out while building the fetchmail lexer.

@@ -1150,7 +1150,25 @@ poll non-rpa.csi.com via "pop.site1.csi.com" with proto POP3 and options no dns
-

T9. How can I use fetchmail with usa.net's servers?

+

T9. How can I use fetchmail with Demon Internet's SDPS?

+ +Demon Internet's SDPS service is a slight extension of POP3. You +don't need to do anything special unless you want to retrieve in +multidrop mode.

+ +If you do want multidrop, make sure your fetchmail has SDPS enabled +(if so, the first line of the fetchmail -V response will include the +string "+SDPS"). If it dioesn't, rebuild from source the +--enable-SDPS option.

+ +Once you have SDPS enabled, fetchmail will automatically detect when it's +talking to a Demon Internet host in multidrop mode, and use the *ENV +extension to get envelope To addresses.

+ +(Note: in stock 4.5.5, the SDPS code is present but untested.)

+ +


+

T10. How can I use fetchmail with usa.net's servers?

Enable `fetchall'. A user reports that the 2.2 version of USA.NET's POP server reports that you must use the @@ -1172,7 +1190,7 @@ They seem to be chronically flaky. We recommend finding another provider.)


-

T10. How can I use fetchmail with HP OpenMail?

+

T11. How can I use fetchmail with HP OpenMail?

No special configuration is required, but OpenMail has an annoying bug similar to the big one in Microsoft Exchange. @@ -1184,7 +1202,7 @@ As with M$ Exchange, the only real fix for these problems is to get a POP (or preferably IMAP) server that isn't brain-dead.


-

T11. How can I use fetchmail with SOCKS?

+

T12. How can I use fetchmail with SOCKS?

Daniel Sobral <dcs@gns.com.br gave us the following recipe:

@@ -1208,7 +1226,7 @@ gave us the following recipe:

It wasn't that hard, was it? :-)


-

T12. How can I use fetchmail with IPv6 and IPsec?

+

T13. How can I use fetchmail with IPv6 and IPsec?

To use fetchmail with IPv6, you need a system that supports IPv6, the "Basic Socket Interface Extensions for IPv6" (RFC 2133), and the inet6-apps kit. @@ -1246,7 +1264,7 @@ http://www.bieringer.de/linux/IPv6/IPv6-HOWTO/IPv6-HOWTO.html
-

T13. How can I get fetchmail to work with ssh?

+

T14. How can I get fetchmail to work with ssh?

We have two recipes for this. The first is a little easier to set up, but only supports one user at a time.

@@ -1342,7 +1360,7 @@ Send a HUP signal to your inetd. Now just use localhost:1234 to access your POP server.


-

T14. What do I have to do to use the IMAP-GSS protocol?

+

T15. What do I have to do to use the IMAP-GSS protocol?

Fetchmail can use RFC1731 GSSAPI authorization to safely identify you to your IMAP server, as long as you can share Kerberos V credentials @@ -1378,14 +1396,7 @@ Now you don't have to worry about your password appearing in cleartext in your .fetchmailrc, or across the network.


-

R1. Fetchmail's initial gethostbyname call fails on my host.

- -This is probably due to a DNS or NIS misconfiguration. The first -thing to do is check your /etc/hosts file for duplicate or missing -entries related to your host.

- -


-

R2. Fetchmail isn't working, and -v shows `SMTP connect failed' messages.

+

R1. Fetchmail isn't working, and -v shows `SMTP connect failed' messages.

Fetchmail itself is probably working, but your SMTP port 25 listener is down or inaccessible.

@@ -1452,7 +1463,7 @@ linked only if it is actually needed. So under Linux it won't be, and this particular cause should go away.


-

R3. When I try to configure an MDA, fetchmail doesn't work.

+

R2. When I try to configure an MDA, fetchmail doesn't work.

(I hear this one from people who have run into the blank-line problem in X1.)

@@ -1467,7 +1478,7 @@ match what you sent, then fetchmail or something on the server is broken.


-

R4. Fetchmail dumps core when given an invalid rc file.

+

R3. Fetchmail dumps core when given an invalid rc file.

This is usually reported from AIX or Ultrix, but has even been known to happen on Linuxes without a recent version of flex @@ -1483,7 +1494,7 @@ href="http://www.gnu.ai.mit.edu/order/ftp.html">mirror site will help you get it faster.


-

R5. Fetchmail dumps core in -V mode, but operates normally otherwise.

+

R4. Fetchmail dumps core in -V mode, but operates normally otherwise.

We've had this reported to us under Linux using libc-5.4.17 and gcc-2.7.2. It does not occur with libc-5.3.12 or earlier versions.

@@ -1499,7 +1510,7 @@ fetchmail code (they're all from within fclose, and not an fclose called by fetchmail, either).


-

R6. Fetchmail dumps core when I use a .netrc file but works otherwise.

+

R5. Fetchmail dumps core when I use a .netrc file but works otherwise.

We have a report that under Solaris 2.5 using gcc-2.7.2, if fetchmail is compiled with -O or -O2, it segfaults on startup when reading a @@ -1513,7 +1524,7 @@ corruption screw. But the symptom doesn't reproduce under Linux with the same .fetchmailrc and .netrc.


-

R7. Running fetchmail in daemon mode doesn't work.

+

R6. Running fetchmail in daemon mode doesn't work.

We have one report from a Solaris 4.1.4 user that trying to run fetchmail in detached daemon mode doesn't work, but that using the @@ -1527,14 +1538,14 @@ fetchmail with -N and an ampersand to background it.

This should not happen under Linux or any truly POSIX-conformant Unix.


-

R8. Fetchmail hangs when used with pppd.

+

R7. Fetchmail hangs when used with pppd.

Your problem may be with pppd's `demand' option. We have a report that fetchmail doesn't play well with it, but works with pppd if `demand' is turned off. We have no idea why this is.


-

R9. Fetchmail randomly dies with socket errors.

+

R8. Fetchmail randomly dies with socket errors.

Check the MTU value in your PPP interface reported by /sbin/ifconfig. If it's over 600, change it in your PPP @@ -2064,7 +2075,7 @@ Re-ordering messages is a user-agent function, anyway.

Back to Fetchmail Home Page To Site Map -$Date: 1998/07/31 20:56:28 $ +$Date: 1998/08/03 19:21:44 $

Eric S. Raymond <esr@snark.thyrsus.com>
diff --git a/fetchmail-features.html b/fetchmail-features.html index 79ef5fd4..aa0de73d 100644 --- a/fetchmail-features.html +++ b/fetchmail-features.html @@ -10,7 +10,7 @@
Back to Fetchmail Home Page To Site Map -$Date: 1998/06/04 04:28:16 $ +$Date: 1998/08/03 19:21:46 $

@@ -18,6 +18,10 @@

Since 4.0: