You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@spamassassin.apache.org by he...@apache.org on 2018/09/29 10:20:26 UTC

svn commit: r1842321 - in /spamassassin: branches/3.4/sa-update.raw trunk/sa-update.raw

Author: hege
Date: Sat Sep 29 10:20:26 2018
New Revision: 1842321

URL: http://svn.apache.org/viewvc?rev=1842321&view=rev
Log:
Bug 7623 - sa-update files with mirrors containing paths (or ports)

Modified:
    spamassassin/branches/3.4/sa-update.raw
    spamassassin/trunk/sa-update.raw

Modified: spamassassin/branches/3.4/sa-update.raw
URL: http://svn.apache.org/viewvc/spamassassin/branches/3.4/sa-update.raw?rev=1842321&r1=1842320&r2=1842321&view=diff
==============================================================================
--- spamassassin/branches/3.4/sa-update.raw (original)
+++ spamassassin/branches/3.4/sa-update.raw Sat Sep 29 10:20:26 2018
@@ -1659,6 +1659,9 @@ sub check_mirror_af {
     my($a_rr, $aaaa_rr);
       # RFC 3986:  scheme = ALPHA *( ALPHA / DIGIT / "+" / "-" / "." )
     $mirror =~ s{^[a-z][a-z0-9.+-]*://}{}si;  # strip scheme like http://
+    # No DNS check needed for IPv4 or IPv6 address literal
+    return 1 if $mirror =~ m{^\d+\.\d+\.\d+\.\d+(?:[:/]|$)};
+    return 1 if $mirror =~ m{^\[};
     $mirror =~ s{[:/].*}{}s;  # strip all starting from :port or /path
     return 1 if $have_inet4 && do_dns_query($mirror, "A");
     return 1 if $have_inet6 && do_dns_query($mirror, "AAAA");

Modified: spamassassin/trunk/sa-update.raw
URL: http://svn.apache.org/viewvc/spamassassin/trunk/sa-update.raw?rev=1842321&r1=1842320&r2=1842321&view=diff
==============================================================================
--- spamassassin/trunk/sa-update.raw (original)
+++ spamassassin/trunk/sa-update.raw Sat Sep 29 10:20:26 2018
@@ -1659,6 +1659,9 @@ sub check_mirror_af {
     my($a_rr, $aaaa_rr);
       # RFC 3986:  scheme = ALPHA *( ALPHA / DIGIT / "+" / "-" / "." )
     $mirror =~ s{^[a-z][a-z0-9.+-]*://}{}si;  # strip scheme like http://
+    # No DNS check needed for IPv4 or IPv6 address literal
+    return 1 if $mirror =~ m{^\d+\.\d+\.\d+\.\d+(?:[:/]|$)};
+    return 1 if $mirror =~ m{^\[};
     $mirror =~ s{[:/].*}{}s;  # strip all starting from :port or /path
     return 1 if $have_inet4 && do_dns_query($mirror, "A");
     return 1 if $have_inet6 && do_dns_query($mirror, "AAAA");