Heh I just learned something new. Meta rules are set to priority 500 by
default. So even using metas shouldn't break anything, unless someone
manually set them to low priority.
So I would suggest not using any tag depends, simply use priority around 5
(10-30 are already DCC/Razor/Pyzor which will take a while if not using
async). This way also doesn't matter if DKIM plugin is loaded or not.
On Mon, Apr 20, 2020 at 05:29:11PM +0300, Henrik K wrote:
>
> In case of FromNameSpoof, the priority method will probably break... if
> some other rule in priority 0 is including it in metas, it will set priority
> back to 0.. so uh yeah using set_tag in that case is probably the only
> sensible and directly supported method. But you have to also handle the
> case of someone not loading DKIM plugin at all. Obviously then there won't
> be a DKIMCHECKDONE tag.
>
> On Mon, Apr 20, 2020 at 05:22:45PM +0300, Henrik K wrote:
> >
> > DKIM check is not async, so simply use priority for eval order? This is
> > what AWL/TxRep already do, running at prio 1000, DKIM is done by then..
> >
> > Of course more elegant solution could be designed, but it would require
> > rewriting lot of plugins..
> >
> >
> > On Mon, Apr 20, 2020 at 03:50:52PM +0200, Giovanni Bechis wrote:
> > > Hi,
> > > for something I am working on I need a dependency between my new code and
> > > DKIM.
> > > DKIM sets a tag only if the signature is valid, so using
> > > $pms->action_depends_on_tags doesn't always work.
> > > Atm I added a new DKIMCHECKDONE tag on my tree which will be always
> > > populated even if no DKIM tag is present.
> > > Any other options to do that ? What about all other plugins ? Should we
> > > do this where needed or should we write a general, different solution ?
> > >
> > > Regards
> > > Giovanni
> > >
> > > Index: lib/Mail/SpamAssassin/Plugin/DKIM.pm
> > > ===================================================================
> > > --- lib/Mail/SpamAssassin/Plugin/DKIM.pm (revision 1876746)
> > > +++ lib/Mail/SpamAssassin/Plugin/DKIM.pm (working copy)
> > > @@ -971,6 +971,7 @@
> > > } else {
> > > dbg("dkim: signature verification result: none");
> > > }
> > > + $pms->set_tag('DKIMCHECKDONE', 1);
> > > }
> > > }
> > >