aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthias Andree <matthias.andree@gmx.de>2010-10-12 23:15:01 +0200
committerMatthias Andree <matthias.andree@gmx.de>2010-10-12 23:15:01 +0200
commit8c5f9a5a66e8d0fe9521d3cd22aaa07e577cee63 (patch)
tree5d46131cfc5ea784da5eb2e817d486d7fabc063f
parentf263522a2b802720af5c90d4418a2ec6f52ac0f5 (diff)
downloadfetchmail-8c5f9a5a66e8d0fe9521d3cd22aaa07e577cee63.tar.gz
fetchmail-8c5f9a5a66e8d0fe9521d3cd22aaa07e577cee63.tar.bz2
fetchmail-8c5f9a5a66e8d0fe9521d3cd22aaa07e577cee63.zip
Multidrop: Do not lose wildcard flag, allow asterisk anywhere.
-rw-r--r--NEWS51
-rw-r--r--rcfile_l.l5
-rw-r--r--rcfile_y.y22
3 files changed, 42 insertions, 36 deletions
diff --git a/NEWS b/NEWS
index 6702cb08..4cbdd21a 100644
--- a/NEWS
+++ b/NEWS
@@ -54,6 +54,37 @@ removed from a 6.4.0 or newer release.)
--------------------------------------------------------------------------------
+fetchmail-6.3.19 (not yet released):
+
+# BUG FIXES:
+* When specifying multiple local multidrop lists, do not lose wildcard flag.
+ (Affects "user foo is bar baz * is joe here")
+* In multidrop configurations, an asterisk can now appear anywhere in the list
+ of local users, not just at the end.
+* In multidrop mode, header parsing is now more verbose in -vv mode, so that it
+ becomes possible to see which header is used.
+
+# KNOWN BUGS AND WORKAROUNDS:
+ (this section floats upwards through the NEWS file so it stays with the
+ current release information - however, it was stuck with 6.3.8 for a while)
+* 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 over 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.18 (released 2010-10-09, 25936 LoC):
# SECURITY IMPROVEMENTS TO DEFANG X.509 CERTIFICATE ABUSE
@@ -128,26 +159,6 @@ fetchmail-6.3.18 (released 2010-10-09, 25936 LoC):
[pl] Polish (Jakub Bogusz)
[sk] Slovak (Marcel Telka)
-# KNOWN BUGS AND WORKAROUNDS:
- (this section floats upwards through the NEWS file so it stays with the
- current release information - however, it was stuck with 6.3.8 for a while)
-* 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 over 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.17 (released 2010-05-06, 25767 LoC):
diff --git a/rcfile_l.l b/rcfile_l.l
index 4bb0864b..c7e49fea 100644
--- a/rcfile_l.l
+++ b/rcfile_l.l
@@ -41,11 +41,6 @@ int prc_lineno = 1;
return STRING;
}
-"*" {
- SETSTATE(0);
- return WILDCARD;
- }
-
<NAME>[^=;:, \t\r\n]+ {
char *in = xstrdup(yytext);
escapes(in, in);
diff --git a/rcfile_y.y b/rcfile_y.y
index fe3a59d1..b32a6b0c 100644
--- a/rcfile_y.y
+++ b/rcfile_y.y
@@ -66,7 +66,7 @@ extern char * yytext;
%token USERNAME PASSWORD FOLDER SMTPHOST FETCHDOMAINS MDA BSMTP LMTP
%token SMTPADDRESS SMTPNAME SPAMRESPONSE PRECONNECT POSTCONNECT LIMIT WARNINGS
%token INTERFACE MONITOR PLUGIN PLUGOUT
-%token IS HERE THERE TO MAP WILDCARD
+%token IS HERE THERE TO MAP
%token BATCHLIMIT FETCHLIMIT FETCHSIZELIMIT FASTUIDL EXPUNGE PROPERTIES
%token SET LOGFILE DAEMON SYSLOG IDFILE PIDFILE INVISIBLE POSTMASTER BOUNCEMAIL
%token SPAMBOUNCE SOFTBOUNCE SHOWDOTS
@@ -262,16 +262,16 @@ user1opts : user_option
| user1opts user_option
;
-localnames : WILDCARD {current.wildcard = TRUE;}
- | mapping_list {current.wildcard = FALSE;}
- | mapping_list WILDCARD {current.wildcard = TRUE;}
- ;
-
mapping_list : mapping
| mapping_list mapping
;
-mapping : STRING {save_str_pair(&current.localnames, $1, NULL); free($1);}
+mapping : STRING {if (0 == strcmp($1, "*")) {
+ current.wildcard = TRUE;
+ } else {
+ save_str_pair(&current.localnames, $1, NULL);
+ }
+ free($1);}
| STRING MAP STRING {save_str_pair(&current.localnames, $1, $3); free($1); free($3);}
;
@@ -301,10 +301,10 @@ num_list : NUMBER
}
;
-user_option : TO localnames HERE
- | TO localnames
- | IS localnames HERE
- | IS localnames
+user_option : TO mapping_list HERE
+ | TO mapping_list
+ | IS mapping_list HERE
+ | IS mapping_list
| IS STRING THERE {current.remotename = $2;}
| PASSWORD STRING {current.password = $2;}