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 2021/05/08 09:35:41 UTC

svn commit: r1889667 - in /spamassassin/trunk/lib/Mail/SpamAssassin: AsyncLoop.pm Util.pm

Author: hege
Date: Sat May  8 09:35:41 2021
New Revision: 1889667

URL: http://svn.apache.org/viewvc?rev=1889667&view=rev
Log:
Move domain_to_search_list to Util

Modified:
    spamassassin/trunk/lib/Mail/SpamAssassin/AsyncLoop.pm
    spamassassin/trunk/lib/Mail/SpamAssassin/Util.pm

Modified: spamassassin/trunk/lib/Mail/SpamAssassin/AsyncLoop.pm
URL: http://svn.apache.org/viewvc/spamassassin/trunk/lib/Mail/SpamAssassin/AsyncLoop.pm?rev=1889667&r1=1889666&r2=1889667&view=diff
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/AsyncLoop.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/AsyncLoop.pm Sat May  8 09:35:41 2021
@@ -42,7 +42,7 @@ use Time::HiRes qw(time);
 
 use Mail::SpamAssassin;
 use Mail::SpamAssassin::Logger;
-use Mail::SpamAssassin::Util qw(idn_to_ascii);
+use Mail::SpamAssassin::Util qw(idn_to_ascii domain_to_search_list);
 
 our @ISA = qw();
 
@@ -82,32 +82,6 @@ sub new {
   $self;
 }
 
-# Given a domain name, produces a listref of successively stripped down
-# parent domains, e.g. a domain '2.10.Example.COM' would produce a list:
-# '2.10.example.com', '10.example.com', 'example.com', 'com', ''
-#
-sub domain_to_search_list {
-  my ($domain) = @_;
-  $domain =~ s/^\.+//; $domain =~ s/\.+\z//;  # strip leading and trailing dots
-  my @search_keys;
-  if ($domain =~ /\[/) {  # don't split address literals
-    @search_keys = ( $domain, '' );  # presumably an address literal
-  } else {
-    local $1;
-    $domain = lc $domain;
-    for (;;) {
-      push(@search_keys, $domain);
-      last  if $domain eq '';
-      # strip one level
-      $domain = ($domain =~ /^ (?: [^.]* ) \. (.*) \z/xs) ? $1 : '';
-    }
-    if (@search_keys > 20) {  # enforce some sanity limit
-      @search_keys = @search_keys[$#search_keys-19 .. $#search_keys];
-    }
-  }
-  return \@search_keys;
-}
-
 # ---------------------------------------------------------------------------
 
 =item $ent = $async->bgsend_and_start_lookup($name, $type, $class, $ent, $cb, %options)

Modified: spamassassin/trunk/lib/Mail/SpamAssassin/Util.pm
URL: http://svn.apache.org/viewvc/spamassassin/trunk/lib/Mail/SpamAssassin/Util.pm?rev=1889667&r1=1889666&r2=1889667&view=diff
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/Util.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/Util.pm Sat May  8 09:35:41 2021
@@ -61,7 +61,8 @@ our @EXPORT_OK = qw(&local_tz &base64_de
                   &secure_tmpdir &uri_list_canonicalize &get_my_locales
                   &parse_rfc822_date &idn_to_ascii &is_valid_utf_8
                   &get_user_groups &compile_regexp &qr_to_string
-                  &is_fqdn_valid &parse_header_addresses);
+                  &is_fqdn_valid &parse_header_addresses
+                  &domain_to_search_list);
 
 our $AM_TAINTED;
 
@@ -2302,6 +2303,31 @@ sub fisher_yates_shuffle {
 
 ###########################################################################
 
+# Given a domain name, produces a listref of successively stripped down
+# parent domains, e.g. a domain '2.10.Example.COM' would produce a list:
+# '2.10.example.com', '10.example.com', 'example.com', 'com', ''
+#
+sub domain_to_search_list {
+  my ($domain) = @_;
+  $domain =~ s/^\.+//; $domain =~ s/\.+\z//;  # strip leading and trailing dots
+  my @search_keys;
+  if ($domain =~ /\[/) {  # don't split address literals
+    @search_keys = ( $domain, '' );  # presumably an address literal
+  } else {
+    local $1;
+    $domain = lc $domain;
+    for (;;) {
+      push(@search_keys, $domain);
+      last  if $domain eq '';
+      # strip one level
+      $domain = ($domain =~ /^ (?: [^.]* ) \. (.*) \z/xs) ? $1 : '';
+    }
+    if (@search_keys > 20) {  # enforce some sanity limit
+      @search_keys = @search_keys[$#search_keys-19 .. $#search_keys];
+    }
+  }
+  return \@search_keys;
+}
 
 ###########################################################################