aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--INSTALL3
-rw-r--r--Makefile.in5
-rw-r--r--NEWS16
-rw-r--r--fetchmail-FAQ.html87
-rw-r--r--netrc.c7
-rw-r--r--rcfile_y.y10
6 files changed, 49 insertions, 79 deletions
diff --git a/INSTALL b/INSTALL
index 263bf2c0..5febf441 100644
--- a/INSTALL
+++ b/INSTALL
@@ -32,7 +32,8 @@ have to do is uncomment them.
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.
+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
diff --git a/Makefile.in b/Makefile.in
index 16c8717a..0d5e1cbe 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -161,7 +161,7 @@ clean:
-rm -f fetchmail *.o core fetchmail.dvi \
rcfile_l.c rcfile_y.h rcfile_y.c \
fetchmail.tar fetchmail.tar.gz \
- rfc822 FAQ
+ rfc822
distclean: clean
-rm -f Makefile config.h TAGS tags
@@ -169,6 +169,7 @@ distclean: clean
-rm -f fetchmail.log fetchmail.toc fetchmail.*aux
realclean: distclean # fetchmail.info*
+ rm -f FAQ
mostlyclean: clean
@@ -240,7 +241,7 @@ rpm: dist
cp fetchmail-$(VERS).tar.gz $(RPMROOT)/SOURCES;
$(srcdir)/specgen.sh $(VERS) >$(RPMROOT)/SPECS/fetchmail.spec
cd $(RPMROOT)/SPECS; $(RPM) $(RPMFLAGS) fetchmail.spec
- cp $(RPMROOT)/RPMS/i386/fetchmail-$(VERS)*.rpm $(srcdir)
+ cp $(RPMROOT)/RPMS/`arch|sed 's/i[4-9]86/i386/'`/fetchmail-$(VERS)*.rpm $(srcdir)
cp $(RPMROOT)/SRPMS/fetchmail-$(VERS)*.src.rpm $(srcdir)
# The automatically generated dependencies below may omit config.h
diff --git a/NEWS b/NEWS
index 26a094f6..ce9e2cc2 100644
--- a/NEWS
+++ b/NEWS
@@ -1,12 +1,3 @@
- Heads-up!
-
-The .poprc compatibility hack that allows the first user declaration of
-more than one in a server entry to omit the "username" keyword has been
-causing some confusion (see question F3 in the FAQ for details). This now
-generates a warning to standard error. In a future release, probably 4.0,
-this hack will be removed and the leading `username' token required for
-every user entry in a multi-user poll declaration.
-
Known But Unresolved Bugs:
* In multidrop mode without an applicable localdomain, addresses of the
@@ -29,6 +20,13 @@ every user entry in a multi-user poll declaration.
Release Notes:
------------------------------------------------------------------------------
+fetchmail-4.0 ():
+* The netrc core dump is fixed!
+* Architecture-independent RPM building.
+* If a .fetchmailrc entry has multiple user parts, the opening `username'
+ keyword is now required for all.
+
+There are 256 people on the fetchmail-friends list.
pl 3.9.7 (Mon Jun 9 18:40:04 EDT 1997):
* Complain and exit if user tries to start fetchmail with options while a
diff --git a/fetchmail-FAQ.html b/fetchmail-FAQ.html
index f3891f57..be60e5e6 100644
--- a/fetchmail-FAQ.html
+++ b/fetchmail-FAQ.html
@@ -9,9 +9,7 @@
<BODY>
<H1>Frequently Asked Questions About Fetchmail</H1>
-The current version of fetchmail is 3.9.6. New in the FAQ:
-a new <a href="#F5">F5</a> on the fetchmail paper and <a href="#T4">T4
-</a>On Lotus Notes.<p>
+The current version of fetchmail is 4.0.
Before reporting any bug, please read <a href="#G3">G3</a> for advice
on how to include diagnostic information that will get your bug fixed
@@ -21,10 +19,10 @@ If you have a question or answer you think ought to be added to this FAQ list,
mail it to fetchmail's maintainer, Eric S. Raymond, at
<A HREF="mailto:esr@thyrsus.com">esr@snark.thyrsus.com</A>.<p>
-<a href="mailto:rfunk@peri.acs.ohio-state.edu">Rob Funk</a> is fetchmail's
-designated backup maintainer. Other backup maintainers may be added
-in the future, in order to ensure continued support should Eric S.
-Raymond and/or Rob Funk drop permanently off the net for any reason.<P>
+<a href="mailto:funk@osu.edu">Rob Funk</a> is fetchmail's designated
+backup maintainer. Other backup maintainers may be added in the
+future, in order to ensure continued support should Eric S. Raymond
+and/or Rob Funk drop permanently off the net for any reason.<P>
There is a fetchmail-friends list for people who want to discuss fixes
and improvements in fetchmail and help co-develop it. It's at
@@ -46,11 +44,10 @@ in the Subject line unsubscribes you, and "help" returns general list help) <p>
<h1>Fetchmail configuration file grammar questions:</h1>
-<a href="#F1">F1. Why does my .fetchmailrc from 2.8 or earlier no longer work?</a><br>
+<a href="#F1">F1. Why does my .fetchmailrc from 3.9 or earlier no longer work?</a><br>
<a href="#F2">F2. The .fetchmailrc parser won't accept my all-numeric user name.</a><br>
<a href="#F3">F3. The .fetchmailrc parser won't accept my host or username beginning with `no'.</a><br>
-<a href="#F4">F4. What does "Warning: user entry with no `user' keyword" mean?</a><br>
-<a href="#F5">F5. I'm migrating from popclient. How do I need to modify my .poprc?</a><br>
+<a href="#F4">F4. I'm migrating from popclient. How do I need to modify my .poprc?</a><br>
<h1>Configuration questions:</h1>
@@ -75,8 +72,7 @@ when I may have multiple login sessions going?</a><br>
<a href="#R2">R2. Fetchmail isn't working, and -v shows `SMTP connect failed' messages.</a><br>
<a href="#R3">R3. When I try to configure an MDA, fetchmail doesn't work.</a><br>
<a href="#R4">R4. Fetchmail dumps core in -V mode, but operates normally otherwise.</a><br>
-<a href="#R5">R5. Fetchmail dumps core when I use a .netrc file but works otherwise.</a><br>
-<a href="#R6">R6. Mail that was being fetched when I interrupted my fetchmail seems to have been vanished.</a></br>
+<a href="#R5">R5. Mail that was being fetched when I interrupted my fetchmail seems to have been vanished.</a></br>
<h1>Multidrop-mode problems:</h1>
@@ -209,10 +205,29 @@ If you're reading a non-HTML dump of this FAQ, you can find the paper
on the Web with a search for that title.<p>
<hr>
-<h2><a name="F1">F1. Why does my .fetchmailrc from 2.8 or earlier no longer work?</a></h2>
+<h2><a name="F1">F1. Why does my .fetchmailrc from 3.9 or earlier no longer work?</a></h2>
-The `<tt>interface</tt>', `<tt>monitor</tt>' and
-`<tt>batchlimit</tt>' options have changed.<p>
+Probably it's because you're using a .fetchmailrc that's
+written in the old popclient syntax without an explicit `username'
+keyword leading the first user entry attached to a server entry.<p>
+
+This error can be triggered by having a user option such as `<tt>keep</tt>'
+or `<tt>fetchall</tt>' before the first explicit username. For
+example, if you write<p>
+
+<pre>
+poll openmail protocol pop3
+ keep user "Hal DeVore" there is hdevore here
+</pre>
+
+the `<tt>keep</tt>' option will generate an entire user entry with the default
+username (the name of fetchmail's invoking user).<p>
+
+The popclient compatibility syntax was removed in 4.0. It complicated
+the configuration file grammar and confused users.<p>
+
+Also, the `<tt>interface</tt>', `<tt>monitor</tt>' and
+`<tt>batchlimit</tt>' options changed after 2.8.<p>
They used to be global options with `set' syntax like the batchlimit
and logfile options. Now they're per-server options, like `protocol'.<p>
@@ -253,30 +268,8 @@ implementing a token pushback stack in the lexer. That's more
additional complexity than I'm willing to add to banish a very
marginal bug with an easy workaround.<p>
-<h2><a name="F4">F4. What does "Warning: user entry with no `user' keyword" mean?</a></h2>
-
-This warning means that you're using a .fetchmailrc that's
-written in the old popclient syntax without an explicit `username'
-keyword leading the first user entry attached to a server entry.<p>
-
-This can be triggered by having a user option such as `<tt>keep</tt>'
-or `<tt>fetchall</tt>' before the first explicit username. For
-example, if you write<p>
-
-<pre>
-poll openmail protocol pop3
- keep user "Hal DeVore" there is hdevore here
-</pre>
-
-the `<tt>keep</tt>' option will generate an entire user entry with the default
-username (the name of fetchmail's invoking user).<p>
-
-The popclient compatibility syntax is deprecated and may be removed in
-a future version. (It complicates the configuration file grammar and
-confuses users.)<p>
-
<hr>
-<h2><a name="F5">F5. I'm migrating from popclient. How do I need to modify my .poprc?</a></h2>
+<h2><a name="F4">F4. I'm migrating from popclient. How do I need to modify my .poprc?</a></h2>
If you have been using popclient (the ancestor of this program)
at version 3.0b6 or later, start with this<p>
@@ -784,21 +777,7 @@ fetchmail code (they're all from within fclose, and not an fclose called
by fetchmail, either).<p>
<hr>
-<h2><a name="R5">R5. Fetchmail dumps core when I use a .netrc file but works otherwise.</a></h2>
-
-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
-.netrc.<p>
-
-You can work around this by disabling optimization.<p>
-
-There may be an actual bug here that the optimizer exposes; the stack
-trace says the segfault is in free() and has all the earmarks of a heap-
-corruption screw. But the symptom doesn't reproduce under Linux with the
-same .fetchmailrc and .netrc.<p>
-
-<hr>
-<h2><a name="R6">R6. Mail that was being fetched when I interrupted my fetchmail seems to have been vanished.</a></h2>
+<h2><a name="R5">R5. Mail that was being fetched when I interrupted my fetchmail seems to have been vanished.</a></h2>
Fetchmail only sends a delete mail request to the server when either
(a) it gets a positive delivery acknowledgement from the SMTP
@@ -999,7 +978,7 @@ without hacking potentially fragile startup scripts. To get around
it, just touch(1) the logfile before you run fetchmail (this will have
no effect on the contents of the logfile if it already exists).<P>
-$Id: fetchmail-FAQ.html,v 1.26 1997/06/09 20:14:03 esr Exp $<p>
+$Id: fetchmail-FAQ.html,v 1.27 1997/06/10 20:30:50 esr Exp $<p>
<HR>
<ADDRESS>Eric S. Raymond <A HREF="mailto:esr@thyrsus.com">&lt;esr@snark.thyrsus.com&gt;</A></ADDRESS>
diff --git a/netrc.c b/netrc.c
index a56dfd7b..b95d134d 100644
--- a/netrc.c
+++ b/netrc.c
@@ -51,9 +51,10 @@ maybe_add_to_list (newentry, list)
if (a && ! a->account)
{
/* Free any allocated space. */
- free (a->host);
- free (a->account);
- free (a->password);
+ if (a->host)
+ free (a->host);
+ if (a->password)
+ free (a->password);
}
else
{
diff --git a/rcfile_y.y b/rcfile_y.y
index 8b8cbc82..94f0cc8f 100644
--- a/rcfile_y.y
+++ b/rcfile_y.y
@@ -150,17 +150,7 @@ serv_option : AKA alias_list
| NO ENVELOPE {current.server.envelope = STRING_DISABLED;}
;
-/*
- * The first and only the first user spec may omit the USERNAME part.
- * This is a backward-compatibility kluge to allow old popclient files
- * to keep working.
- */
userspecs : user1opts {record_current(); user_reset();}
- | user1opts explicits
- {
- record_current(); user_reset();
- fprintf(stderr, "Warning: user entry with no `user' keyword\n");
- }
| explicits
;