You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@spamassassin.apache.org by mm...@apache.org on 2009/09/30 16:59:32 UTC
svn commit: r820289 - in /spamassassin/trunk/lib/Mail/SpamAssassin:
Conf/Parser.pm Plugin/DKIM.pm
Author: mmartinec
Date: Wed Sep 30 14:59:32 2009
New Revision: 820289
URL: http://svn.apache.org/viewvc?rev=820289&view=rev
Log:
Bug 6213: parsing of eval-type rules: allow unquoted
domain names, disallow unmatched quotes
Modified:
spamassassin/trunk/lib/Mail/SpamAssassin/Conf/Parser.pm
spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/DKIM.pm
Modified: spamassassin/trunk/lib/Mail/SpamAssassin/Conf/Parser.pm
URL: http://svn.apache.org/viewvc/spamassassin/trunk/lib/Mail/SpamAssassin/Conf/Parser.pm?rev=820289&r1=820288&r2=820289&view=diff
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/Conf/Parser.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/Conf/Parser.pm Wed Sep 30 14:59:32 2009
@@ -958,15 +958,18 @@
my @args;
if (defined $args) {
- # bug 4419: Parse quoted strings, unquoted alphanumerics/floats and
- # both unquoted IPv4 and IPv6 addresses. s// is used so that we can
- # determine whether or not we successfully parsed ALL arguments.
- while ($args =~ s/^\s*(?:['"](.*?)['"]|([\d\.:A-Za-z]+?))\s*(?:,\s*|$)//) {
- if (defined $1) {
- push @args, $1;
+ # bug 4419: Parse quoted strings, unquoted alphanumerics/floats,
+ # unquoted IPv4 and IPv6 addresses, and unquoted common domain names.
+ # s// is used so that we can determine whether or not we successfully
+ # parsed ALL arguments.
+ local($1,$2,$3);
+ while ($args =~ s/^\s* (?: (['"]) (.*?) \1 | ( [\d\.:A-Za-z-]+? ) )
+ \s* (?: , \s* | $ )//x) {
+ if (defined $2) {
+ push @args, $2;
}
else {
- push @args, $2;
+ push @args, $3;
}
}
}
Modified: spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/DKIM.pm
URL: http://svn.apache.org/viewvc/spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/DKIM.pm?rev=820289&r1=820288&r2=820289&view=diff
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/DKIM.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/DKIM.pm Wed Sep 30 14:59:32 2009
@@ -29,7 +29,8 @@
full DKIM_VALID_AU eval:check_dkim_valid_author_sig()
Taking into account signatures from specified signing domains only:
-(quotes may be omitted on domains consisting only of letters, digits and dots)
+(quotes may be omitted on domain names consisting only of letters, digits,
+dots, and minus characters)
full DKIM_SIGNED_MY1 eval:check_dkim_signed('dom1','dom2',...)
full DKIM_VALID_MY1 eval:check_dkim_valid('dom1','dom2',...)
full DKIM_VALID_AU_MY1 eval:check_dkim_valid_author_sig('d1','d2',...)