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 2019/08/31 17:50:01 UTC

svn commit: r1866216 - /spamassassin/trunk/lib/Mail/SpamAssassin/Conf/Parser.pm

Author: hege
Date: Sat Aug 31 17:50:01 2019
New Revision: 1866216

URL: http://svn.apache.org/viewvc?rev=1866216&view=rev
Log:
Bug 7735 - Inherit net flags from meta dependencies

Modified:
    spamassassin/trunk/lib/Mail/SpamAssassin/Conf/Parser.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=1866216&r1=1866215&r2=1866216&view=diff
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/Conf/Parser.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/Conf/Parser.pm Sat Aug 31 17:50:01 2019
@@ -864,6 +864,7 @@ sub finish_parsing {
 
   $self->trace_meta_dependencies();
   $self->fix_priorities();
+  $self->fix_tflags();
 
   # don't do this if allow_user_rules is active, since it deletes entries
   # from {tests}
@@ -1045,6 +1046,25 @@ sub fix_priorities {
       }
     }
   }
+}
+
+sub fix_tflags {
+  my ($self) = @_;
+  my $conf = $self->{conf};
+  my $tflags = $conf->{tflags};
+
+  # Inherit net tflags from dependencies
+  while (my($rulename,$deps) = each %{$conf->{meta_dependencies}}) {
+    my $tfl = $tflags->{$rulename}||'';
+    next if $tfl =~ /\bnet\b/;
+    foreach my $deprule (split(' ', $deps)) {
+      if (($tflags->{$deprule}||'') =~ /\bnet\b/) {
+        dbg("rules: meta $rulename inherits tflag net, depends on $deprule");
+        $tflags->{$rulename} = $tfl eq '' ? 'net' : "$tfl net";
+        last;
+      }
+    }
+  }
 }
 
 sub find_dup_rules {