Re: Betr.: Re: Betr.: Re: Trim part of the header with header rewriting ?

2009-11-17 Thread Arjan Melein
 Op 12-11-2009 om 21:35 is door Wietse Venema wie...@porcupine.org
geschreven:
 As shown below, Postfix 2.7 can fix commands from remote SMTP
 clients.  Meanwhile, I am adding a similar feature to fix replies
 from remote SMTP servers.
 
 In your case the regexp could look like:
 
 /^RCPT\s+TO:(.*);1:1$/ RCPT TO:$1
 
 This an incredibly unsafe tool.
 
   Wietse
 
 smtpd_command_filter (default: empty)
A mechanism to substitute incoming SMTP  commands.   This  is  a  
 last-
resort tool to work around problems with clients that send invalid 
 com-
mand syntax that would otherwise be rejected by Postfix.
 
Specify the name of a type:table lookup table. The search  string  
 is
the  SMTP command as received from the SMTP client, except that 
 initial
whitespace and the trailing CRLF are removed. The result  value  is
executed by the Postfix SMTP server.
 
Examples:
 
/etc/postfix/main.cf:
smtpd_command_filter = pcre:/etc/postfix/command_filter
 
/etc/postfix/command_filter:
# Work around clients that send malformed HELO commands.
/^HELO\s*$/ HELO domain.invalid
 
# Work around clients that send empty lines.
/^\s*$/ NOOP
 
# Work around clients that send RCPT TO:'u...@domain'.
# WARNING: do not lose the parameters that follow the address.
/^RCPT\s+TO:\s*'([^[:space:]]+)'(.*)/ RCPT TO:$1$2
 
This feature is available in Postfix 2.7.

It's been a few days but i just ran into a little bump in the road.. It looks 
like the ;1:1 actually changes depending on the number of recipients.
How would I change '/^RCPT\s+TO:(.*);1:1$/ RCPT TO:$1' into matching 
'domain.tld;#:#' and put the domain.tld back without the ;#:#

-
Arjan




Re: Betr.: Re: Betr.: Re: Trim part of the header with header rewriting ?

2009-11-17 Thread Wietse Venema
Arjan Melein:
 It's been a few days but i just ran into a little bump in the road.. It looks 
 like the ;1:1 actually changes depending on the number of recipients.
 How would I change '/^RCPT\s+TO:(.*);1:1$/ RCPT TO:$1' into matching 
 'domain.tld;#:#' and put the domain.tld back without the ;#:#

What does the # stand for? If it is one digit, replace 1 by [0-9],
to handle multiple digits, replace 1 by [0-9]+

You can test this with:

postmap -q RCPT TO:x.y.z ORCPT=rfc822;a...@b.c;3;4 pcre:/file/name

Wietse


Re: Betr.: Re: Betr.: Re: Trim part of the header with header rewriting ?

2009-11-17 Thread Arjan Melein
 Op 17-11-2009 om 12:48 is door Wietse Venema wie...@porcupine.org
geschreven:
 Arjan Melein:
 It's been a few days but i just ran into a little bump in the road.. It 
 looks like the ;1:1 actually changes depending on the number of recipients.
 How would I change '/^RCPT\s+TO:(.*);1:1$/ RCPT TO:$1' into matching 
 'domain.tld;#:#' and put the domain.tld back without the ;#:#
 
 What does the # stand for? If it is one digit, replace 1 by [0-9],
 to handle multiple digits, replace 1 by [0-9]+
 
 You can test this with:
 
 postmap -q RCPT TO:x.y.z ORCPT=rfc822;a...@b.c;3;4 pcre:/file/name
 
   Wietse

I thought it was 1 number at first, but it seems to be going multi digit as 
well..
I changed it into /^RCPT\s+TO:(.*);[0-9]+:[0-9]+$/ RCPT TO:$1  and it 
seems to work.

If I've learned one thing from this, its that I really need to brush up on 
regexp :-)

-
Arjan



Re: Betr.: Re: Betr.: Re: Trim part of the header with header rewriting ?

2009-11-13 Thread Arjan Melein
 Op 12-11-2009 om 21:35 is door Wietse Venema wie...@porcupine.org
geschreven:
 Noel Jones:
 On 11/12/2009 12:28 PM, Arjan Melein wrote:
  Yea I just found that out when I just tried to sed the queue file :-)
  Any way to limit it to only take out the line on domain X Y and Z ?
  On a sidenote, its actually the RCPT TO: line and not the normal TO:
  line ... not sure if that's going to be a problem ..
  RCPT TO:d...@email.addy ORCPT=rfc822;groupwise-sou...@email.addy;1:1 
 
  Thanks for the help so far.
 
 That doesn't look like a header.  You need to show exact 
 evidence of the error you're getting.
 
 As shown below, Postfix 2.7 can fix commands from remote SMTP
 clients.  Meanwhile, I am adding a similar feature to fix replies
 from remote SMTP servers.
 
 In your case the regexp could look like:
 
 /^RCPT\s+TO:(.*);1:1$/ RCPT TO:$1
 
 This an incredibly unsafe tool.
 
   Wietse
 
 smtpd_command_filter (default: empty)
A mechanism to substitute incoming SMTP  commands.   This  is  a  
 last-
resort tool to work around problems with clients that send invalid 
 com-
mand syntax that would otherwise be rejected by Postfix.
 
Specify the name of a type:table lookup table. The search  string  
 is
the  SMTP command as received from the SMTP client, except that 
 initial
whitespace and the trailing CRLF are removed. The result  value  is
executed by the Postfix SMTP server.
 
Examples:
 
/etc/postfix/main.cf:
smtpd_command_filter = pcre:/etc/postfix/command_filter
 
/etc/postfix/command_filter:
# Work around clients that send malformed HELO commands.
/^HELO\s*$/ HELO domain.invalid
 
# Work around clients that send empty lines.
/^\s*$/ NOOP
 
# Work around clients that send RCPT TO:'u...@domain'.
# WARNING: do not lose the parameters that follow the address.
/^RCPT\s+TO:\s*'([^[:space:]]+)'(.*)/ RCPT TO:$1$2
 
This feature is available in Postfix 2.7.

First, Sorry for the top posting before. Client default puts replies on top.

Second, I'll try and get another relay setup with 2.7 and just add an extra hop 
to our internal mail path so I can take it out again eventually and not have a 
ton of configuration changing to do.. if they ever manage to fix it. Its only 
for outgoing e-mails and people are getting mad enough for me that resorting to 
IPoAC is even an option as long as it works.

-
Arjan



Re: Betr.: Re: Betr.: Re: Trim part of the header with header rewriting ?

2009-11-13 Thread Arjan Melein
 Op 12-11-2009 om 21:35 is door Wietse Venema wie...@porcupine.org
geschreven:
 Noel Jones:
 On 11/12/2009 12:28 PM, Arjan Melein wrote:
  Yea I just found that out when I just tried to sed the queue file :-)
  Any way to limit it to only take out the line on domain X Y and Z ?
  On a sidenote, its actually the RCPT TO: line and not the normal TO:
  line ... not sure if that's going to be a problem ..
  RCPT TO:d...@email.addy ORCPT=rfc822;groupwise-sou...@email.addy;1:1 
 
  Thanks for the help so far.
 
 That doesn't look like a header.  You need to show exact 
 evidence of the error you're getting.
 
 As shown below, Postfix 2.7 can fix commands from remote SMTP
 clients.  Meanwhile, I am adding a similar feature to fix replies
 from remote SMTP servers.
 
 In your case the regexp could look like:
 
 /^RCPT\s+TO:(.*);1:1$/ RCPT TO:$1
 
 This an incredibly unsafe tool.
 
   Wietse
 
 smtpd_command_filter (default: empty)
A mechanism to substitute incoming SMTP  commands.   This  is  a  
 last-
resort tool to work around problems with clients that send invalid 
 com-
mand syntax that would otherwise be rejected by Postfix.
 
Specify the name of a type:table lookup table. The search  string  
 is
the  SMTP command as received from the SMTP client, except that 
 initial
whitespace and the trailing CRLF are removed. The result  value  is
executed by the Postfix SMTP server.
 
Examples:
 
/etc/postfix/main.cf:
smtpd_command_filter = pcre:/etc/postfix/command_filter
 
/etc/postfix/command_filter:
# Work around clients that send malformed HELO commands.
/^HELO\s*$/ HELO domain.invalid
 
# Work around clients that send empty lines.
/^\s*$/ NOOP
 
# Work around clients that send RCPT TO:'u...@domain'.
# WARNING: do not lose the parameters that follow the address.
/^RCPT\s+TO:\s*'([^[:space:]]+)'(.*)/ RCPT TO:$1$2
 
This feature is available in Postfix 2.7.

It might be unsafe, but it seems to do its job properly from what I can see in 
the tcpdumps..
I set up an extra relay between our enterprise system and our gateway and just 
re-routed outgoing e-mails for certain domains from GroupWise over that extra 
relay, that changes the header and hands it off to our normal gateway.
This way e-mail which was working normally does not run over anything marked as 
incredibly unsafe :-)
Thanks for the help both of you.

-
Arjan



Re: Betr.: Re: Betr.: Re: Trim part of the header with header rewriting ?

2009-11-12 Thread Noel Jones

On 11/12/2009 12:28 PM, Arjan Melein wrote:

Yea I just found that out when I just tried to sed the queue file :-)
Any way to limit it to only take out the line on domain X Y and Z ?
On a sidenote, its actually the RCPT TO: line and not the normal TO:
line ... not sure if that's going to be a problem ..
RCPT TO:d...@email.addy ORCPT=rfc822;groupwise-sou...@email.addy;1:1

Thanks for the help so far.


Stop top posting.  Google for the term if you don't understand.

That doesn't look like a header.  You need to show exact 
evidence of the error you're getting.


 -- Noel Jones


Re: Betr.: Re: Betr.: Re: Trim part of the header with header rewriting ?

2009-11-12 Thread Wietse Venema
Noel Jones:
 On 11/12/2009 12:28 PM, Arjan Melein wrote:
  Yea I just found that out when I just tried to sed the queue file :-)
  Any way to limit it to only take out the line on domain X Y and Z ?
  On a sidenote, its actually the RCPT TO: line and not the normal TO:
  line ... not sure if that's going to be a problem ..
  RCPT TO:d...@email.addy ORCPT=rfc822;groupwise-sou...@email.addy;1:1
 
  Thanks for the help so far.
 
 That doesn't look like a header.  You need to show exact 
 evidence of the error you're getting.

As shown below, Postfix 2.7 can fix commands from remote SMTP
clients.  Meanwhile, I am adding a similar feature to fix replies
from remote SMTP servers.

In your case the regexp could look like:

/^RCPT\s+TO:(.*);1:1$/ RCPT TO:$1

This an incredibly unsafe tool.

Wietse

smtpd_command_filter (default: empty)
   A mechanism to substitute incoming SMTP  commands.   This  is  a  last-
   resort tool to work around problems with clients that send invalid com-
   mand syntax that would otherwise be rejected by Postfix.

   Specify the name of a type:table lookup table. The search  string  is
   the  SMTP command as received from the SMTP client, except that initial
   whitespace and the trailing CRLF are removed. The result  value  is
   executed by the Postfix SMTP server.

   Examples:

   /etc/postfix/main.cf:
   smtpd_command_filter = pcre:/etc/postfix/command_filter

   /etc/postfix/command_filter:
   # Work around clients that send malformed HELO commands.
   /^HELO\s*$/ HELO domain.invalid

   # Work around clients that send empty lines.
   /^\s*$/ NOOP

   # Work around clients that send RCPT TO:'u...@domain'.
   # WARNING: do not lose the parameters that follow the address.
   /^RCPT\s+TO:\s*'([^[:space:]]+)'(.*)/ RCPT TO:$1$2

   This feature is available in Postfix 2.7.


Re: Betr.: Re: Betr.: Re: Trim part of the header with header rewriting ?

2009-11-12 Thread LuKreme
On 12-Nov-2009, at 13:35, Wietse Venema wrote:
 This an incredibly unsafe tool.


Ooo, those are my favorite kinds!

-- 
The very existence of flame-throwers proves that some time, somewhere, 
someone said to themselves, You know, I want to set those people 
over there on fire, but I'm just not close enough to get the job done.