Am 25.11.15 um 15:56 schrieb RW:.
    3. You have no test for dynamic rDNS
why that when SA makes the dns request and so have a rDNS?
Because, as far as I can see, the patch doesn't make the rDNS available
to SA's other tests, it just supplies  a stand-alone test for no-rDNS.

Correct.

I don't know how easy it would be to fix that *properly*  because the
relay information is expected to be complete very early in the scan,
before any DNS results return. It should be possible to shift some of
the header tests so they can identify dynamic rDNS, but until then
BOTNET will do it.

I thought on doing the check in Received.pm, i.e. exactly one rdns lookup, if the header of the last external lacks rdns. That would add the rdns information to the pseudo headers (like Relays-External, and Untrusted), where the SpamAssassin rules are based on. But this would also result in waiting for this request, if it must be done, before all received headers were parsed. I don't see another way, maybe someone else...?

Then, I saw that all dns lookups were deleted from Received.pm in version 3.2.x, see

https://bz.apache.org/SpamAssassin/show_bug.cgi?id=5054

Reasons cited:

- (a) it's slow
- (b) it's the wrong place to do that; header-parsing should not incur network
  accesses
- (c) it results in differing results, depending on if local_tests_only is on
  or not.

Remark: 3.1.x retrieved every rDNS for all Untrusted Relays, even if they were retrieved from the headers already. They didn't trust the headers at all.

Because dns checks are "not allowed" in Received.pm, I built a patch for the single check. The actually patch (in DNSEval.pm) could make the result (rdns exists or not) available for further checks, but that would result in more work on the rules ... and looks like an ugly workaround...

...... I would prefer to do this ONE rdns lookup in Received.pm, and only if necessary. Opinions?

Edda


Reply via email to