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