Jo Rhett wrote: > René Berber wrote: >> Jo Rhett wrote: >> >>> René Berber wrote: >>>> If I change Received.pm, line 414, like this: >>>> >>>> # Sendmail, MDaemon, some webmail servers, and others >>>> - elsif (/^from .*?(?:\]\)|\)\]) .*?\(.*?authenticated.*?\).*? by/) { >>>> + elsif (/^from .*?(.*?authenticated.*?\).*? by/) { >>> This can't be right. You have mismatched parens. Perl agrees with me: >> >> Yes, it's a typo, should be: >> >> elsif (/^from .*?\(.*?authenticated.*?\).*? by/) { > > So just FYI, with both plain sendmail and with amavisd-milter, the > original line worked fine for me.
Thanks for the info; more comments below. > If you are using a different MTA then perhaps you should submit this as > a patch with its own elsif {} container for that mailer? I'm using sendmail 8.13.8, the line before the one I changed says it is for sendmail and others (that's why I included the original comment in the code) so that is the correct line. > Or send me a copy of your recieved line and I'll do the patch for you. The change I made works on a test from someone that was on vacation and sending a message (to me) using his ISP account, the header includes a lot of extra text with the usual dynamic IP stuff and "may be forged" and there was no way it would be a match by the original line. With my change, there is a match. It is probable that other, fixed, IPs can be matched by that original line, but I haven't even look at them since the sendmail configuration I'm using is some fixed IPs defined in relay-domains and access db, those don't need to use authentication, every other IP (all dynamic) does need authentication if they want to relay from the server. A comment, the original line looks suspicious to me first because it looks like a modified copy of the previous match on the code (for qmail), that one used a match field that is unnecessary on the sendmail's line. But if you say it works, then I must be mistaken; anyway the modified line should also work so there is no damage in my change. -- René Berber