[Bug 7735] Meta rules need to handle missing/unrun dependencies

2022-05-29 Thread bugzilla-daemon
https://bz.apache.org/SpamAssassin/show_bug.cgi?id=7735

--- Comment #41 from Henrik Krohns  ---
(In reply to Sidney Markowitz from comment #39)
> (In reply to Sidney Markowitz from comment #38)
> > In  finish_meta_tests, when it does
> > delete $mp->{$rulename};
> > should it also do
> > delete $unrun_metas{$rulename};
> > in case one that was found as unrun in a previous loop now can be run?
> 
> That does make the symptoms disappear. Is it correct?

No.

-- 
You are receiving this mail because:
You are the assignee for the bug.

[Bug 7735] Meta rules need to handle missing/unrun dependencies

2022-05-29 Thread bugzilla-daemon
https://bz.apache.org/SpamAssassin/show_bug.cgi?id=7735

--- Comment #40 from Henrik Krohns  ---
(In reply to Sidney Markowitz from comment #37)
>
> I got confused. I really have two separate questions. One is how the checks
> for meta and dependencies work when a meta is defined with a header rule
> like __THREAD_INDEX_GOOD, which I see is used with && operator, and a
> separate question is how the use of || operator works out with the
> dependencies. I don't know whether or not any of the header rules are used
> with a || in a meta definition.

It makes absolutely no difference what kind type of rules or operators are used
in a meta. Meta only works with and depends on "rulenames".

There is no "dependencies" other than waiting for all rules/rulenames to be
ready ($pms->{tests_already_hit}->{$rulename} created by got_hit or
rule_ready).

  meta T_THREAD_INDEX_BAD __HAS_THREAD_INDEX && !__THREAD_INDEX_GOOD

For that do_meta_tests basically does:

  $h = $pms->{tests_already_hit};
  if (exists $h->{__HAS_THREAD_INDEX} && exists $h->{__THREAD_INDEX_GOOD}) {
$result = eval { $h->{__HAS_THREAD_INDEX} && !$h->{__THREAD_INDEX_GOOD} };
  } else {
# loop until they exist, or declare unrun in finish_meta_tests
  }

-- 
You are receiving this mail because:
You are the assignee for the bug.

[Bug 7735] Meta rules need to handle missing/unrun dependencies

2022-05-29 Thread bugzilla-daemon
https://bz.apache.org/SpamAssassin/show_bug.cgi?id=7735

--- Comment #39 from Sidney Markowitz  ---
(In reply to Sidney Markowitz from comment #38)
> In  finish_meta_tests, when it does
> delete $mp->{$rulename};
> should it also do
> delete $unrun_metas{$rulename};
> in case one that was found as unrun in a previous loop now can be run?

That does make the symptoms disappear. Is it correct?

-- 
You are receiving this mail because:
You are the assignee for the bug.

[Bug 7735] Meta rules need to handle missing/unrun dependencies

2022-05-29 Thread bugzilla-daemon
https://bz.apache.org/SpamAssassin/show_bug.cgi?id=7735

--- Comment #38 from Sidney Markowitz  ---
In  finish_meta_tests, when it does
delete $mp->{$rulename};
should it also do
delete $unrun_metas{$rulename};
in case one that was found as unrun in a previous loop now can be run?

-- 
You are receiving this mail because:
You are the assignee for the bug.

[Bug 7998] make clean should delete rules/70_sandbox.cf and rules/72_active.cf

2022-05-29 Thread bugzilla-daemon
https://bz.apache.org/SpamAssassin/show_bug.cgi?id=7998

Sidney Markowitz  changed:

   What|Removed |Added

   Target Milestone|Undefined   |4.0.0
 CC||sid...@sidney.com

-- 
You are receiving this mail because:
You are the assignee for the bug.

[Bug 7998] New: make clean should delete rules/70_sandbox.cf and rules/72_active.cf

2022-05-29 Thread bugzilla-daemon
https://bz.apache.org/SpamAssassin/show_bug.cgi?id=7998

Bug ID: 7998
   Summary: make clean should delete rules/70_sandbox.cf and
rules/72_active.cf
   Product: Spamassassin
   Version: SVN Trunk (Latest Devel Version)
  Hardware: All
OS: All
Status: NEW
  Severity: minor
  Priority: P2
 Component: Building & Packaging
  Assignee: dev@spamassassin.apache.org
  Reporter: sid...@sidney.com
  Target Milestone: Undefined

Since rules/70_sandbox.cf and rules/72_active.cf are not in svn and are created
by make, they should be deleted by make clean

This is a minor change, but I'm opening this as an issue before committing the
change in case I'm missing a reason to keep it as is. I think they are not in
make clean only as an result of our historical use of the files.

Anyone who knows something to the contrary, please weigh in.

-- 
You are receiving this mail because:
You are the assignee for the bug.

[Bug 7735] Meta rules need to handle missing/unrun dependencies

2022-05-29 Thread bugzilla-daemon
https://bz.apache.org/SpamAssassin/show_bug.cgi?id=7735

--- Comment #37 from Sidney Markowitz  ---
(In reply to Sidney Markowitz from comment #36)
> How does this work?

I got confused. I really have two separate questions. One is how the checks for
meta and dependencies work when a meta is defined with a header rule like
__THREAD_INDEX_GOOD, which I see is used with && operator, and a separate
question is how the use of || operator works out with the dependencies. I don't
know whether or not any of the header rules are used with a || in a meta
definition.

-- 
You are receiving this mail because:
You are the assignee for the bug.

[Bug 7735] Meta rules need to handle missing/unrun dependencies

2022-05-29 Thread bugzilla-daemon
https://bz.apache.org/SpamAssassin/show_bug.cgi?id=7735

--- Comment #36 from Sidney Markowitz  ---
How does this work?

rules/72_active.cf:header __THREAD_INDEX_GOOD

is used in a number of meta rule definitions with a || operator.

What does that do with the dependency checks and the do_meta loops in Check.pm?
Is it certain that the header rules are evaluated before meta ones?

-- 
You are receiving this mail because:
You are the assignee for the bug.