On 10/17/2013 2:09 PM, Jonas Eckerman wrote:
> I answer privately since this really isn't about SpamAssassin any more, and 
> SpamAssassin isn't about RFC conformance.

Oh, but it does directly relate to the above two rules.  And I believe
this is a healthy discussion.  It will educate others as to exactly why
these rules break when analyzing some list mail, lists which are the
backbone of the FLOSS community.  Before now the maintainers were making
decisions about applying these rules to list mail based solely on
statistics.  This discussion has fleshed out the 'why'.  The resulting
knowledge may be helpful in writing better, more intelligent rules in
the future.  So I hope it's ok with you that I'm copying this back to
the list.

>>> In what way are they forged?
> 
>> Do you honestly not get it, or are you being a troll or pedant?
> 
> I honestly didn't get it, and I'm not a troll. Whether I'm a pedant or not 
> would be a matter of opinion (where you're free to hold one different from 
> mine).

I hope I didn't sound accusatory here Jonas.  I've been around the
'interwebs' long enough to know that now and then people try to suck you
into an argument over minutia for the sake of arguing.  I thought there
was a chance that was the case here, so I simply asked.

>> Or, if you simply re-read my msg maybe it will become clear.
> 
> I've re-read the message. I can see that I might have quoted badly (I read 
> and replied with my mobile phone, which I know think was a bad idea), and I 
> apologize for that.

No problem.

> It still seems that you're saying the received headers are forged when they 
> were inserted for transfers not involving SMTP though, even if you also 
> pointed to other errors in the headers in question.

Only one that is claimed to be "esmtp" is forged.  That's the 2nd
header.  The first is not, as it clearly stated "local" injection.
That's the PHP end of it.

>> To create a record apparently in case of abuse, Gmane in particular injects
>> the rDNS string of the HTTP client machine into the EHLO position of a
>> Received: header, using the bare IP upon NXDOMAIN or SERVFAIL.
> 
> I see two problems with calling that a forgery:

Yeah, scratch that.  I painted with an overly broad brush in my first
post.  Only the 2nd header is the problem, the first is fine.

> 1: The idea of a EHLO position is only relevant for protocols with a EHLO 
> command. When the message is received using HTTP, NNTP, UUCP, local pipes, 
> etc, there is no EHLO command.

Of course.

> 2: The Received headers have not always been as strictly defined as one might 
> wish. 

Absolutely agreed.  Not all MTAs use the same Received: header format.
But I assume this was taken into account in these two tests.  I've not
actually looked at the regexes yet.

> Even now putting in the EHLO parameter is a SHOULD, not a MUST, for SMTP.

Thankfully most serious MTA writers treat these directives the same.

> On to the first set of received headers, I'm commenting the first (in 
> insertion order) two headers.
> 
>> Received: from stan by mo-65-41-216-221.sta.embarqhsd.net with local (Gmexim 
>> 0.1 (Debian))
>>  id 1AlnuQ-0007hv-00
>>  for <debian-u...@lists.debian.org>; Tue, 15 Oct 2013 09:40:02 +0200
> 
> Was mo-65-41-216-221.sta.embarqhsd.net your RDNS when posting that? If it was 
> I agree that this header is a forgery. If, oth, 
> mo-65-41-216-221.sta.embarqhsd.net really was the machine receiving a locally 
> submitted message (possibly from a PHP script) from "stan" (wich I'd guess is 
> a user name since that is common to put in that position for locally 
> submitted mesages), it seems just fine.

Yes.  This is my PC's FCrDNS.  This injection stamping is warranted, and
wanted by receivers, and is clearly stated as 'local' injection.  This
is a good thing, absolutely.

>> Received: from mo-65-41-216-221.sta.embarqhsd.net ([65.41.216.221])
>>  by main.gmane.org with esmtp (Gmexim 0.1 (Debian))
>>  id 1AlnuQ-0007hv-00
>>  for <debian-u...@lists.debian.org>; Tue, 15 Oct 2013 09:40:02 +0200
> 
> If the previous header was correctly listing it's own address in the "by" 
> clause, this seems just fine. If the address, 
> mo-65-41-216-221.sta.embarqhsd.net, was actually your address, this header is 
> of course incorrect as well.

Yes, this is the one that is forged.  There was no ESMTP transaction
between 65.41.216.221, my PC, and main.gmane.org, as this header above
clearly states there was.  Maybe "fabricated" or "manufactured" is a
better word.  They're not pretending it to be something it is not, but
merely creating it out of thin air.

Whether Gmane is violating RFC or not isn't my concern.  What is my
concern is that the way they create these headers is breaking the two
rules in the subject line.  Apparently a fix is already in place to
prevent these two rules from being applied to list mail.  Now that the
exact nature of the problem is known, maybe the test can be modified to
work with some list mail, but not this particular 'flavor'.

> If mo-65-41-216-221.sta.embarqhsd.net was your address, a combination of the 
> two icnorrect headers could become one correct one header...

Getting Gmane to change their headers isn't the goal here.  Changing the
SA tests to deal with it, is, I think, a reasonable goal.

> Maybe I got it right now, maybe not.

I think you were close. :)

-- 
Stan

Reply via email to