On 26/09/14 15:27, Klaipedaville on Google wrote:
/^Subject:.**{5}SPAM*{5}/                REJECT No spammers allowed here.
/^Subject:.*\*\*\*\*\*SPAM\*\*\*\*\*/    REJECT No spammers allowed.
/\s**{5}SPAM*{5}/                        REJECT No spamming
hullababballos allowed.
I think it may be this one above. From the postfix manuals"By default, matching is 
case-insensitive, and newlines are not treated as special characters. The behavior is 
controlled by flags, which are toggled by appending one or more of the following 
characters after the pattern: *i* (default: on) Toggles the case sensitivity flag. By 
default, matching is case insensitive."
Case insensitive is declared by putting this /i at the end of a rule.
Postfix has nothing to do with regular expressions (regexp) and regexp is not 
controlled by postfix. There should be a regexp library available on the server 
where you are using regexp. It’s like PHP, or tml, or js, or css, it cannot be 
controlled by postfix.
So why does it state in man 5 regexp_table that such tables are *case insensitive* by default and the /i actually toggles that? Are you saying that man page is wrong? I'd be surprised as I don't think I've yet come across an occasion where postfix man pages are incorrect!


And it looks like * needs escaping there too (if you're trying to match exactly 5 
asterisks, you should probably do "\*{5}" not just *{5}.
Yes, the escape character in front \*{5} to match 5 asterisks is the correct 
one. You are right. I am an expert on regexp and this (incorrect one) was there 
just for testing purposes because there was a problem with the library on the 
server so I had this bad rule over there to follow up on error in logs. The 
library has been fixed by now and as I said earlier execution stops on the 
first rule matched but does not really do any harm if there is a mistake in the 
rule, in this 'mistake' case the rule is simply skipped.

/^Subject:(.*)SPAM/    REJECT Spam is not allowed. DISCARD.
were causing the Dovecot Sieve rejection bounce not to go through. The rules 
blocked the spam all right but rejection was turned into discard for some reason. 
Now the question is how do I find out which regular >expressions will be in 
conflict with default.sieve scripting rules?
That's just about learning Posix Regex syntax.
All the rules are 100% correct as there is a very simple and useful tool in postfix to check if 
regexp is correct. The tool can be used even by people who don't have a foggiest idea how regexp 
work. All you have to do is to type on a command line this postmap -q "Subject: *****SPAM***** 
blablablabla" regexp:/etc/postfix/header_checks or this postmap -q "X-Spam-Flag: 
YES" regexp:/etc/postfix/header_checks and it will tell you if your rule is correct or not. It 
is bullet and fool proof system with 100% guarantee. All these rules have been checked like that 
despite the fact that I know for a fact that they are correct by my own knowledge and experience.


I'm almost 100% sure that that regex also matched the bounce from your sieve 
rules. There is no mysterious interaction between header_checks and sieve 
rules, it's just your pattern was too liberal in the former.
No, no. The regex could not have matched the bounce from my own rules because 
it would be silly to send a test message from the same server that would loop 
back and block myself by my own rules. I sent test messages from another 
server's accounts. Plus, there is a difference. Header_checks in Postfix use 
only customized rules that do not involve any Spamassassin's added headers. Now 
in my case only Dovecot Sieve goes through Spamassassin headers because as 
mentioned earlier I passed delivery from Postfix to dovecot LDA in my 
configuration. That's why everything that has Spamassassin's headers and tags 
added has to be configured via default.sieve scripting and everything else 
(that do not get Spamassassin's headers added) may use header_checks of 
Postfix. I have just figured that out by runnning quite a few different and 
simple tests.


I think if you tune that header_checks file correctly you should have no more 
issues.
The header_check rules are fine tuned to their best.

Anyway, I am thankful for your suggestion as it pointed me to the right 
direction. Then I picked it up and simply followed onwards by elaborating and 
building on top which led me to a solved problem  Thank you.



So if the regexes were all correct, then:

a) what was your actual problem once you identified it

and

b) for the benefit of the list, how did you actually solve it?

Alex

--
This message is intended only for the addressee and may contain
confidential information. Unless you are that person, you may not
disclose its contents or use it in any way and are requested to delete
the message along with any attachments and notify us immediately.
"Transact" is operated by Integrated Financial Arrangements plc. 29
Clement's Lane, London EC4N 7AE. Tel: (020) 7608 4900 Fax: (020) 7608
5300. (Registered office: as above; Registered in England and Wales
under number: 3727592). Authorised and regulated by the Financial
Conduct Authority (entered on the Financial Services Register; no. 190856).

Reply via email to