Ruud
* $ X_RECEIVED ?? [\(]from[$WS][^$WS]*[\(_at_)]\/localhost
* $ X_RECEIVED ?? \(from[$WS][^$WS]+(_at_)\/localhost
* $ X_SENDER_IP ?? ![^$WS]
Can you say in words what this should do? I would move
the ! to the
start if you meant it to mean 'NOT':
* $ X_RECEIVED ?? [\(]from[$WS]*[^$WS]*[(_at_)]\/localhost
is
look in X_RECEIVED if "(from whitespace some no whitespace @localhost" is
true
and put localhost in $MATCH
*$ ! X_SENDER_IP ?? [^$WS]
thought to ask for "no no whitespace" with ![^$WS]
match is if not X_SENDER_IP ?? contain no whitespace
is what your condition says or ?
may i think the wrong way
i want to know if X_SENDER_IP not matched because there is no ip in X_RECEIVED
if the first Received: is like
Received: (from filter(_at_)localhost)
:0
* $ ^Received:[$WS]*[^$WS]from[$WS]\/[^$WS]*
What is the '[^WS]' before the 'from'? The [$WS] after
the from is OK,
but can be passed with .*, because \/ is greedy at the
right.
it is a "(" after the Received:[$WS]
its logik that .*from[$WS] will do same
like:
* $ ^Received:.*from.*\/[^$WS]
i tryed to pick the exact format of the
Received: (from filter(_at_)localhost)
anyway i kicked that out
and search in the first Received
from the top who is in X_RECEIVED
The \/[^$WS]* at the end will not always make MATCH
contain a @.
* $ MATCH ?? [\(_at_)]\/.*[^\)]
but the second condition will
fill $MATCH with everything after @ but not )
anyway this i also kicked out and changed to
* $ X_RECEIVED ?? [\(]from[$WS]*[^$WS]*[(_at_)]\/localhost
will do the same more simple
i human words i think
match if "(from "some WS" "some no WS" @localhost "
is true
and fill $MATCH with "localhost"
Again a [\(_at_)] where I think that you mean just @. The
i wasnt shure if the @ is a reserved letter
reparse-$ at the
start is not needed.
* $ MATCH ?? localhost
Again the reparse-$ at the start is not needed.
* $ X_RECEIVED ?? .*from[$WS]*\/($HOST|$X_LOCAL_IP)
you need to change $HOST into $\HOST, etc.
* $ X_RECEIVED ?? .*from[$WS]*\/($\HOST|$\X_LOCAL_IP)
:0
there i miss again some basic knowledge i guess
* $ X_SENDER_IP ?? !$X_LOCAL_IP
Again I think that you mean
*$ ! X_SENDER_IP ?? $X_LOCAL_IP
yes
match
if hostname or local ip is in X_RECEIVED after from and some WS
and
if not X_SENDER_IP is X_LOCAL_IP
Run test mesages through it, and check the VERBOSE log carefully.
is fine
Matched "localhost"
procmail: Match on "[\(]from[ ][^ ]*[\(_at_)]\/localhost"
procmail: Match on ! "[^ ]" # still with * $ X_SENDER_IP ?? ![^$WS]
and
procmail: Matched "its-h.de"
procmail: Match on ".*from[ ]*\/(()its-h\.de|()213\.244\.186\.210)"
procmail: No match on ! "213.244.186.210"
where the last line is the same if i use
* $ X_SENDER_IP ?? !$X_LOCAL_IP
or
* $ ! X_SENDER_IP ?? $X_LOCAL_IP
Matthias
******
____________________________________________________________
procmail mailing list Procmail homepage: http://www.procmail.org/
procmail(_at_)lists(_dot_)RWTH-Aachen(_dot_)DE
http://MailMan.RWTH-Aachen.DE/mailman/listinfo/procmail