From edb8384a00f108b385d0df7ddfa5bd671a36f946 Mon Sep 17 00:00:00 2001 From: Matthias Andree Date: Thu, 13 Dec 2012 22:46:32 +0100 Subject: [PATCH] Repair --logfile regression of 6.3.23, reported by Heinz Diehl. --- NEWS | 53 ++++++++++++++++++++++++++++++--------------------- configure.ac | 2 +- fetchmail.c | 10 ++++++---- fetchmail.man | 5 ++--- 4 files changed, 40 insertions(+), 30 deletions(-) diff --git a/NEWS b/NEWS index 6d9714f9..0896aa2c 100644 --- a/NEWS +++ b/NEWS @@ -56,12 +56,41 @@ removed from a 6.4.0 or newer release.) -------------------------------------------------------------------------------- -fetchmail-6.3.23 (released 2012-12-10, 26106 LoC): +fetchmail-6.3.24 (not yet released): # NOTE THAT THE RELEASE OF FUTURE FETCHMAIL 6.3.X VERSIONS IS UNCLEAR. Should a 7.0 release be made earlier, chances are that the 6.3.X branch is abandoned and its changes be folded into the 7.0 release, with changes -after 6.3.22 not available on their own in a newer 6.3.X release. +after 6.3.24 not available on their own in a newer 6.3.X release. + +# REGRESSION FIX +* The --logfile option now works again outside daemon mode, reported by Heinz + Diehl. The documentation that I had been reading was inconsistent with the + code, and only parts of the manual page claimed that --logfile was only + effective in daemon mode. + +# KNOWN BUGS AND WORKAROUNDS + (This section floats upwards through the NEWS file so it stays with the + current release information) +* Fetchmail does not handle messages without Message-ID header well + (See sourceforge.net bug #780933) +* BSMTP is mostly untested and errors can cause corrupt output. +* Sun Workshop 6 (SPARC) is known to miscompile the configuration file lexer in + 64-bit mode. Either compile 32-bit code or use GCC to compile 64-bit + fetchmail. Note that fetchmail doesn't take advantage of 64-bit code, + so compiling 32-bit SPARC code should not cause any difficulties. +* Fetchmail does not track pending deletes across crashes. +* The command line interface is sometimes a bit stubborn, for instance, + fetchmail -s doesn't work with a daemon running. +* Linux systems may return duplicates of an IP address in some circumstances if + no or no global IPv6 addresses are configured. + (No workaround. Ubuntu Bug#582585, Novell Bug#606980.) +* Kerberos 5 may be broken, particularly on Heimdal, and provide bogus error + messages. This will not be fixed, because the maintainer has no Kerberos 5 + server to test against. Use GSSAPI. + + +fetchmail-6.3.23 (released 2012-12-10, 26106 LoC): # REGRESSION FIXES * Fix compilation with OpenSSL implementations before 0.9.8m that lack @@ -94,26 +123,6 @@ after 6.3.22 not available on their own in a newer 6.3.X release. [sv] Swedish, by Göran Uddeborg [vi] Vietnamese, Trần Ngọc Quân -# KNOWN BUGS AND WORKAROUNDS - (This section floats upwards through the NEWS file so it stays with the - current release information) -* Fetchmail does not handle messages without Message-ID header well - (See sourceforge.net bug #780933) -* BSMTP is mostly untested and errors can cause corrupt output. -* Sun Workshop 6 (SPARC) is known to miscompile the configuration file lexer in - 64-bit mode. Either compile 32-bit code or use GCC to compile 64-bit - fetchmail. Note that fetchmail doesn't take advantage of 64-bit code, - so compiling 32-bit SPARC code should not cause any difficulties. -* Fetchmail does not track pending deletes across crashes. -* The command line interface is sometimes a bit stubborn, for instance, - fetchmail -s doesn't work with a daemon running. -* Linux systems may return duplicates of an IP address in some circumstances if - no or no global IPv6 addresses are configured. - (No workaround. Ubuntu Bug#582585, Novell Bug#606980.) -* Kerberos 5 may be broken, particularly on Heimdal, and provide bogus error - messages. This will not be fixed, because the maintainer has no Kerberos 5 - server to test against. Use GSSAPI. - fetchmail-6.3.22 (released 2012-08-29, 26077 LoC): diff --git a/configure.ac b/configure.ac index a77d5828..f012c7a9 100644 --- a/configure.ac +++ b/configure.ac @@ -9,7 +9,7 @@ dnl Process this file with autoconf to produce a configure script. dnl dnl XXX - if bumping version here, check fetchmail.man, too! -AC_INIT([fetchmail],[6.3.23],[fetchmail-users@lists.berlios.de]) +AC_INIT([fetchmail],[6.3.24],[fetchmail-users@lists.berlios.de]) AC_CONFIG_SRCDIR([fetchmail.h]) AC_CONFIG_HEADERS([config.h]) AC_CONFIG_LIBOBJ_DIR([.]) diff --git a/fetchmail.c b/fetchmail.c index c02e4432..f7bcfd94 100644 --- a/fetchmail.c +++ b/fetchmail.c @@ -310,25 +310,27 @@ int main(int argc, char **argv) if (run.logfile) { /* nodetach -> turn off logfile option */ if (nodetach) { - if (outlevel >= O_DEBUG) { fprintf(stderr, GT_("The nodetach option is in effect, ignoring logfile option.\n")); } + if (outlevel >= O_NORMAL) { fprintf(stderr, GT_("The nodetach option is in effect, ignoring logfile option.\n")); } xfree(run.logfile); } +#if 0 /* not in daemon mode -> turn off logfile option */ if (0 == run.poll_interval) { - if (outlevel >= O_DEBUG) { fprintf(stderr, GT_("Not running in daemon mode, ignoring logfile option.\n")); } + if (outlevel >= O_NORMAL) { fprintf(stderr, GT_("Not running in daemon mode, ignoring logfile option.\n")); } xfree(run.logfile); } +#endif /* log file not writable -> turn off logfile option */ if (run.logfile && 0 != access(run.logfile, F_OK)) { - if (outlevel >= O_DEBUG) { fprintf(stderr, GT_("Logfile \"%s\" does not exist, ignoring logfile option.\n"), run.logfile); } + if (outlevel >= O_NORMAL) { fprintf(stderr, GT_("Logfile \"%s\" does not exist, ignoring logfile option.\n"), run.logfile); } xfree(run.logfile); } /* log file not writable -> turn off logfile option */ if (run.logfile && 0 != access(run.logfile, W_OK)) { - if (outlevel >= O_DEBUG) { fprintf(stderr, GT_("Logfile \"%s\" is not writable, aborting.\n"), run.logfile); } + fprintf(stderr, GT_("Logfile \"%s\" is not writable, aborting.\n"), run.logfile); xfree(run.logfile); exit(PS_UNDEFINED); } diff --git a/fetchmail.man b/fetchmail.man index 44677490..a618fffc 100644 --- a/fetchmail.man +++ b/fetchmail.man @@ -10,7 +10,7 @@ .\" Load www macros to process .URL requests, this requires groff: .mso www.tmac .\" -.TH fetchmail 1 "fetchmail 6.3.23" "fetchmail" "fetchmail reference manual" +.TH fetchmail 1 "fetchmail 6.3.24" "fetchmail" "fetchmail reference manual" .SH NAME fetchmail \- fetch mail from a POP, IMAP, ETRN, or ODMR-capable server @@ -2230,8 +2230,7 @@ authentication. These defaults may be overridden by later options. There are some global option statements: 'set logfile' followed by a string sets the same global specified by \-\-logfile. A command-line \-\-logfile option will override this. Note that \-\-logfile is -only effective if fetchmail detaches itself from the terminal, is in -daemon mode, and if the +only effective if fetchmail detaches itself from the terminal and the logfile already exists before fetchmail is run, and it overrides \-\-syslog in this case. Also, \&'set daemon' sets the poll interval as \-\-daemon does. This can be -- 2.43.2