Re: regular expressions was: Kernel Oops

2011-03-10 Thread Steven Champeon
on Wed, Mar 09, 2011 at 11:00:34AM +1100, Erik de Castro Lopo wrote: My idea was to autogenerate the complex regexes using something like this: 178.183.237.0.dsl.dynamic.eranet.pl 183.246.69.111.dynamic.snap.net.nz 188.146.109.136.nat.umts.dynamic.eranet.pl as input. FWIW,

Re: regular expressions was: Kernel Oops

2011-03-09 Thread Stan Hoeppner
mouss put forth on 3/8/2011 5:03 PM: [WARNING: Steven CC'd] things. so I'd say, do not consider performances as a primary target. go for catching spammers first. only tune after you get the irght rules, and only if needed (I personally don't tune anything here. I'm happy to focus on

Re: regular expressions was: Kernel Oops

2011-03-09 Thread Stan Hoeppner
Steve put forth on 3/8/2011 5:12 PM: Maybe using if/endif conditions like Stan Hoeppner has done on his pcre map could speedup things even more? - http://www.hardwarefreak.com/fqrdns.pcre You're giving me too much credit. ;) Again, I'm not the original author of that table. That person

Re: regular expressions was: Kernel Oops

2011-03-08 Thread Stan Hoeppner
mouss put forth on 3/7/2011 5:45 PM: Le 07/03/2011 15:13, Stan Hoeppner a écrit : Ok, so if I'm doing what I've heard called a fully qualified regular expression, WRT FQrDNS matching, should I use the anchors or not? postmap -q says these all work (the actuals with action and text that is).

Re: regular expressions was: Kernel Oops

2011-03-08 Thread Wietse Venema
Stan Hoeppner: So, the question is, which form of expression processes the does not match case faster? The fully qualified expression, or the simple expression? Noel mentioned that the fully qualified expressions will tend to process faster. Is this true? Is it true for both the matches

Re: regular expressions was: Kernel Oops

2011-03-08 Thread Stan Hoeppner
Wietse Venema put forth on 3/8/2011 10:39 AM: Stan Hoeppner: So, the question is, which form of expression processes the does not match case faster? The fully qualified expression, or the simple expression? Noel mentioned that the fully qualified expressions will tend to process faster. Is

Re: regular expressions was: Kernel Oops

2011-03-08 Thread Victor Duchovni
On Tue, Mar 08, 2011 at 02:29:23PM -0600, Stan Hoeppner wrote: So this would mean the simpler expressions would be faster? That makes me wonder why Enemies List[1] uses complex expressions, each one precisely matching a specific rDNS pattern, To avoid false positives by matching in the wrong

Re: regular expressions was: Kernel Oops

2011-03-08 Thread Erik de Castro Lopo
Wietse Venema wrote: If you must match a very large numbers of patterns, you need an implementation that transforms N patterns into one deterministic automaton. This can match 1 pattern in the same time as N patterns. Once the automaton is built (which takes some time) it is blindingly fast.

Re: regular expressions was: Kernel Oops

2011-03-08 Thread mouss
[WARNING: Steven CC'd] Le 08/03/2011 21:29, Stan Hoeppner a écrit : Wietse Venema put forth on 3/8/2011 10:39 AM: Stan Hoeppner: So, the question is, which form of expression processes the does not match case faster? The fully qualified expression, or the simple expression? Noel mentioned

Re: regular expressions was: Kernel Oops

2011-03-08 Thread Steve
Original-Nachricht Datum: Wed, 9 Mar 2011 09:49:21 +1100 Von: Erik de Castro Lopo mle+to...@mega-nerd.com An: postfix-users@postfix.org Betreff: Re: regular expressions was: Kernel Oops Wietse Venema wrote: If you must match a very large numbers of patterns, you need

Re: regular expressions was: Kernel Oops

2011-03-08 Thread Wietse Venema
mouss: [ Charset ISO-8859-1 unsupported, converting... ] Le 08/03/2011 23:49, Erik de Castro Lopo a ?crit : Wietse Venema wrote: If you must match a very large numbers of patterns, you need an implementation that transforms N patterns into one deterministic automaton. This can match 1

Re: regular expressions was: Kernel Oops

2011-03-08 Thread Erik de Castro Lopo
Noel Jones wrote: The pattern length limit is controlled by the pcre library you're using. I think most implementations limit single expressions to 64k characters. Obviously something that needs testing. It's unclear to me if a single huge complex expression will evaluate faster that

Re: regular expressions was: Kernel Oops

2011-03-08 Thread Steven Champeon
on Wed, Mar 09, 2011 at 12:03:27AM +0100, mouss wrote: [WARNING: Steven CC'd] :-) Le 08/03/2011 21:29, Stan Hoeppner a écrit : That makes me wonder why Enemies List[1] uses complex expressions, each one precisely matching a specific rDNS pattern, given EL matches 65k+ patterns total.

Re: regular expressions was: Kernel Oops

2011-03-08 Thread Noel Jones
On 3/8/2011 6:00 PM, Erik de Castro Lopo wrote: Noel Jones wrote: The pattern length limit is controlled by the pcre library you're using. I think most implementations limit single expressions to 64k characters. Obviously something that needs testing. Many years ago I worked on a system

Re: regular expressions was: Kernel Oops

2011-03-08 Thread Erik de Castro Lopo
Noel Jones wrote: Many years ago I worked on a system with a 32k limit on pcre expressions. Ever since then, everything I've checked has been 64k, and then I gave up checking. I expect any non-ancient system will support 64k, and some maybe even more. (To clarify for others following

Re: Kernel Oops

2011-03-07 Thread Stan Hoeppner
mouss put forth on 3/6/2011 7:03 PM: /^.*foo/ means it starts with something followed by foo. and this is the same thing as it contains foo, which is represented by /foo/ I was taught to always start my expressions with /^ and end them with $/. Why did Steven teach me to do this if it's not

Re: Kernel Oops

2011-03-07 Thread Ansgar Wiechers
On 2011-03-07 Stan Hoeppner wrote: mouss put forth on 3/6/2011 7:03 PM: /^.*foo/ means it starts with something followed by foo. and this is the same thing as it contains foo, which is represented by /foo/ I was taught to always start my expressions with /^ and end them with $/. Why did

Re: Kernel Oops

2011-03-07 Thread Noel Jones
On 3/7/2011 4:47 AM, Stan Hoeppner wrote: I was taught to always start my expressions with /^ and end them with $/. Why did Steven teach me to do this if it's not necessary? That's good advice when you're actually matching something. The special case of .* means, as you know, anything or

Re: Kernel Oops

2011-03-07 Thread Stan Hoeppner
Noel Jones put forth on 3/7/2011 7:00 AM: On 3/7/2011 4:47 AM, Stan Hoeppner wrote: I was taught to always start my expressions with /^ and end them with $/. Why did Steven teach me to do this if it's not necessary? That's good advice when you're actually matching something. Ok, so if I'm

Re: Kernel Oops

2011-03-07 Thread Noel Jones
On 3/7/2011 8:13 AM, Stan Hoeppner wrote: Noel Jones put forth on 3/7/2011 7:00 AM: On 3/7/2011 4:47 AM, Stan Hoeppner wrote: I was taught to always start my expressions with /^ and end them with $/. Why did Steven teach me to do this if it's not necessary? That's good advice when you're

Re: Kernel Oops

2011-03-07 Thread Stan Hoeppner
Noel Jones put forth on 3/7/2011 9:49 AM: On 3/7/2011 8:13 AM, Stan Hoeppner wrote: Noel Jones put forth on 3/7/2011 7:00 AM: On 3/7/2011 4:47 AM, Stan Hoeppner wrote: I was taught to always start my expressions with /^ and end them with $/. Why did Steven teach me to do this if it's not

Re: Kernel Oops

2011-03-07 Thread mouss
Le 07/03/2011 11:47, Stan Hoeppner a écrit : mouss put forth on 3/6/2011 7:03 PM: /^.*foo/ means it starts with something followed by foo. and this is the same thing as it contains foo, which is represented by /foo/ I was taught to always start my expressions with /^ and end them with

regex anchoring (Was: Kernel Oops)

2011-03-07 Thread mouss
Le 07/03/2011 11:47, Stan Hoeppner a écrit : mouss put forth on 3/6/2011 7:03 PM: /^.*foo/ means it starts with something followed by foo. and this is the same thing as it contains foo, which is represented by /foo/ I was taught to always start my expressions with /^ and end them with

Re: Kernel Oops

2011-03-07 Thread mouss
Le 07/03/2011 15:13, Stan Hoeppner a écrit : Noel Jones put forth on 3/7/2011 7:00 AM: On 3/7/2011 4:47 AM, Stan Hoeppner wrote: I was taught to always start my expressions with /^ and end them with $/. Why did Steven teach me to do this if it's not necessary? That's good advice when

Re: Kernel Oops

2011-03-07 Thread fakessh @
it is necessary to consider the option parent_domain_matches_subdomains = Le mardi 08 mars 2011 à 00:45 +0100, mouss a écrit : Le 07/03/2011 15:13, Stan Hoeppner a écrit : Noel Jones put forth on 3/7/2011 7:00 AM: On 3/7/2011 4:47 AM, Stan Hoeppner wrote: I was taught to always start my

Re: Kernel Oops

2011-03-06 Thread Bastian Blank
On Fri, Mar 04, 2011 at 03:43:11PM +0300, Denis Shulyaka wrote: Mar 4 14:46:29 shulyaka kern.alert kernel: CPU 0 Unable to handle kernel paging request at virtual address 0050, epc == 800fbdb4, ra == 800fbdf8 This kernel is broken bejond repair. Get a fixed one. Mar 4 14:46:29 shulyaka

Re: Kernel Oops

2011-03-06 Thread Victor Duchovni
On Sat, Mar 05, 2011 at 06:24:57PM +0300, Denis Shulyaka wrote: If I pass change `fsspace(., fsbuf);' to `fsspace(/, fsbuf);' it works, no oopses, and the messages are received without problems. I will make some stress tests later. So the remaining question is what . in smtpd context mean?

Re: Kernel Oops

2011-03-06 Thread Denis Shulyaka
Hi Viktor, You are right, for some reason my system has some troubles with fsspace(/var/spool/postfix, fsbuf). Possibly, Bastian is right about my kernel. But I just don't how to fix it. Any way, Postfix code is OK, and the workaround with `fsspace(/overlay, fsbuf)` satisfies me so far. Best

Re: Kernel Oops

2011-03-06 Thread Denis Shulyaka
Hi Viktor, I have tried both statfs() and statvfs() and it shows the similar behaivour. 2011/3/6 Victor Duchovni victor.ducho...@morganstanley.com: The fsspace function is a Postfix utility function, the underlying system interface is either statfs() or statvfs(). You should find out which is

Re: Kernel Oops

2011-03-06 Thread Wietse Venema
Victor Duchovni: The fsspace function is a Postfix utility function, the underlying system interface is either statfs() or statvfs(). You should find out which is used on your system and test that... Denis Shulyaka: I have tried both statfs() and statvfs() and it shows the similar

Re: Kernel Oops

2011-03-06 Thread Stan Hoeppner
Wietse Venema put forth on 3/6/2011 3:29 PM: Postfix uses statfs/statvfs as part of a safety net. If you delete the call, then Postfix would waste more bandwidth receiving mail that it can't store. However, if statfs/statvfs are broken, then there are likely to be more problems. I

Re: Kernel Oops

2011-03-06 Thread Wietse Venema
Wietse: However, if statfs/statvfs are broken, then there are likely to be more problems. I would recommend against using the file system for the email queue. Instead, use a better file system. Wietse

Re: Kernel Oops

2011-03-05 Thread mouss
Le 05/03/2011 00:18, Stan Hoeppner a écrit : lst_ho...@kwsoft.de put forth on 3/4/2011 3:33 PM: BTW, is there any how-to for getting the least possible memory footprint for Postfix. - don't use regex/pcre maps This isn't necessarily true, is it? In some cases I would think it's

Re: Kernel Oops

2011-03-05 Thread Denis Shulyaka
. In the suggested System.map file the closest entry is 'alloc_page_buffers'. The default_process_limit, qmgr_message_active_limit and qmgr_message_recipient_limit tweaks have no effect at all. Any thoughts why statfs() may trigger a kernel oops? Best regards, Denis Shulyaka 2011/3/4 Wietse

Re: Kernel Oops

2011-03-05 Thread Denis Shulyaka
free space on current filesystem for a queue. In the suggested System.map file the closest entry is 'alloc_page_buffers'. The default_process_limit, qmgr_message_active_limit and qmgr_message_recipient_limit tweaks have no effect at all. Any thoughts why statfs() may trigger a kernel oops

Re: Kernel Oops

2011-03-05 Thread Stan Hoeppner
mouss put forth on 3/5/2011 7:20 AM: Le 05/03/2011 00:18, Stan Hoeppner a écrit : /^.*\.(dyn|dhcp)\.embarqhsd\.net$/ REJECT Please use ISP relay you can simplify that: /\.(dyn|dhcp)\.embarqhsd\.net$/ REJECT Please use ISP relay more generally /^.* is never needed. Does this expression

Re: Kernel Oops

2011-03-05 Thread Noel Jones
On 3/5/2011 9:32 AM, Stan Hoeppner wrote: mouss put forth on 3/5/2011 7:20 AM: Le 05/03/2011 00:18, Stan Hoeppner a écrit : /^.*\.(dyn|dhcp)\.embarqhsd\.net$/ REJECT Please use ISP relay you can simplify that: /\.(dyn|dhcp)\.embarqhsd\.net$/ REJECT Please use ISP relay more generally

Kernel Oops

2011-03-04 Thread Denis Shulyaka
4 14:46:29 shulyaka mail.warn postfix/master[16781]: warning: /usr/libexec/postfix/smtpd: bad command startup -- throttling Mar 4 14:46:29 shulyaka kern.warn kernel: Oops[#23]: Mar 4 14:46:29 shulyaka kern.warn kernel: Cpu 0 Mar 4 14:46:29 shulyaka kern.warn kernel: $ 0 : 0001

Re: Kernel Oops

2011-03-04 Thread Ralf Hildebrandt
* Denis Shulyaka shuly...@gmail.com: Hi list! I'm trying to run postfix on my OpenWrt system. I have successfully compiled it and now I can send mails, but when I try to receive a mail, smtpd crashes and I can see this in the system log: Mar 4 14:46:29 shulyaka mail.info

Re: Kernel Oops

2011-03-04 Thread john
What hardware are running openwrt on?

Re: Kernel Oops

2011-03-04 Thread Ralf Hildebrandt
* john j...@klam.ca: What hardware are running openwrt on? Sounds like a MIPS based OpenWRT system, e.g. a WRT54g (am I correct?) -- Ralf Hildebrandt Geschäftsbereich IT | Abteilung Netzwerk Charité - Universitätsmedizin Berlin Campus Benjamin Franklin Hindenburgdamm 30 | D-12203 Berlin

Re: Kernel Oops

2011-03-04 Thread john
On 04/03/2011 8:58 AM, Denis Shulyaka wrote: Hi John, It's D-Link DIR-825 router, CPU Atheros AR7161@680MHz (mips) 2011/3/4 johnj...@klam.ca: What hardware are running openwrt on? I think that you are being a little ambitious, that box has 8M flash and 64M RAM. All that is necessary for

Re: Kernel Oops

2011-03-04 Thread john
I think you should listen to the advise you were given on the OpenWRT developers forum by Philip. All that is necessary for the triumph of evil is that good men do nothing. (Edmund Burke)

Re: Kernel Oops

2011-03-04 Thread Denis Shulyaka
Hi Ralf, Thanks for the response. I think 13 Mb should be well enough for receiving a message, and I also expect some different error message if it is a memory allocation problem. 2011/3/4 Ralf Hildebrandt ralf.hildebra...@charite.de: Sounds like you run out of memory. But let's see what the

Re: Kernel Oops

2011-03-04 Thread Wietse Venema
Denis Shulyaka: Hi Ralf, Thanks for the response. I think 13 Mb should be well enough for receiving a message, and I also expect some different error message if it is a memory allocation problem. Postfix asks the kernel for memory. If the kernel oopses and crashes Postfix, then that can't

Re: Kernel Oops

2011-03-04 Thread Denis Shulyaka
Hi Wietse, How much memory does smtpd need to receive a message, approximately? Can I tweak this value somehow? 2011/3/4 Wietse Venema wie...@porcupine.org: Denis Shulyaka: Hi Ralf, Thanks for the response. I think 13 Mb should be well enough for receiving a message, and I also expect

Re: Kernel Oops

2011-03-04 Thread Denis Shulyaka
Hi John, I don't agree with Philip, but the only way to prove my point is to make it running. I will need to see it myself to believe that 64M RAM + swap is not enough. 2011/3/4 john j...@klam.ca: I think you should listen to the advise you were given on the OpenWRT developers forum by Philip.

Re: Kernel Oops

2011-03-04 Thread Noel Jones
On 3/4/2011 9:13 AM, Denis Shulyaka wrote: Hi John, I don't agree with Philip, but the only way to prove my point is to make it running. I will need to see it myself to believe that 64M RAM + swap is not enough. Things to try: Don't use any lookup tables. comment out all unused entries in

Re: Kernel Oops

2011-03-04 Thread Wietse Venema
Wietse: Postfix asks the kernel for memory. If the kernel oopses and crashes Postfix, then that can't be fixed by changing Postfix. Denis Shulyaka: How much memory does smtpd need to receive a message, approximately? Can I tweak this value somehow? First, you can't run Postfix on a kernel

Re: Kernel Oops

2011-03-04 Thread Denis Shulyaka
Hi Noel, Wietse, Thanks! I will try to do this and will update you with the result. Best regards, Denis Shulyaka

Re: Kernel Oops

2011-03-04 Thread Wietse Venema
Wietse Venema: The biggest tweak is reducing default_process_limit by a factor 10 or more. Other tweaks are reducing qmgr_message_active_limit and qmgr_message_recipient_limit by a factor 10 or more. And don't use Berkeley DB. Use CDB instead. Wietse

Re: Kernel Oops

2011-03-04 Thread Steve Jenkins
On Fri, Mar 4, 2011 at 8:01 AM, Denis Shulyaka shuly...@gmail.com wrote: Thanks! I will try to do this and will update you with the result. When I read Denis' first post I thought WHAT? Postfix on a WRT54G? He's crazy! But now I'm rooting for you, Denis! I hope you get it working! :) SteveJ

Re: Kernel Oops

2011-03-04 Thread Stan Hoeppner
Ralf Hildebrandt put forth on 3/4/2011 6:53 AM: * Denis Shulyaka shuly...@gmail.com: Hi list! I'm trying to run postfix on my OpenWrt system. I have successfully compiled it and now I can send mails, but when I try to receive a mail, smtpd crashes and I can see this in the system log: Mar

Re: Kernel Oops

2011-03-04 Thread Wietse Venema
Steve Jenkins: On Fri, Mar 4, 2011 at 8:01 AM, Denis Shulyaka shuly...@gmail.com wrote: Thanks! I will try to do this and will update you with the result. When I read Denis' first post I thought WHAT? Postfix on a WRT54G? He's crazy! But now I'm rooting for you, Denis! I hope you get it

Re: Kernel Oops

2011-03-04 Thread Daniel Bromberg
On 3/4/2011 2:01 PM, Wietse Venema wrote: Steve Jenkins: On Fri, Mar 4, 2011 at 8:01 AM, Denis Shulyakashuly...@gmail.com wrote: Thanks! I will try to do this and will update you with the result. When I read Denis' first post I thought WHAT? Postfix on a WRT54G? He's crazy! But now I'm

Re: Kernel Oops

2011-03-04 Thread Denis Shulyaka
Hi Daniel, Actually it's D-Link DIR 825 with attached USB hard drive, and it's white and stylish! 2011/3/4 Daniel Bromberg dan...@basezen.com: On 3/4/2011 2:01 PM, Wietse Venema wrote: Steve Jenkins: On Fri, Mar 4, 2011 at 8:01 AM, Denis Shulyakashuly...@gmail.com  wrote: Thanks! I will

Re: Kernel Oops

2011-03-04 Thread lst_hoe02
Zitat von Wietse Venema wie...@porcupine.org: Steve Jenkins: On Fri, Mar 4, 2011 at 8:01 AM, Denis Shulyaka shuly...@gmail.com wrote: Thanks! I will try to do this and will update you with the result. When I read Denis' first post I thought WHAT? Postfix on a WRT54G? He's crazy! But now

Re: Kernel Oops

2011-03-04 Thread Victor Duchovni
On Fri, Mar 04, 2011 at 10:33:30PM +0100, lst_ho...@kwsoft.de wrote: BTW, is there any how-to for getting the least possible memory footprint for Postfix. As learned some points are - reduce either the global default process limit or the relevant process limits in master.cf - use a small

Re: Kernel Oops

2011-03-04 Thread Stan Hoeppner
lst_ho...@kwsoft.de put forth on 3/4/2011 3:33 PM: Zitat von Wietse Venema wie...@porcupine.org: Postfix has been running since late 1998 on a 64MB box, 24/7. I replaced the few parts that break, and blow out the dust once a year or so. Good hardware does not die. Wietse You must

Re: Kernel Oops

2011-03-04 Thread Stan Hoeppner
lst_ho...@kwsoft.de put forth on 3/4/2011 3:33 PM: BTW, is there any how-to for getting the least possible memory footprint for Postfix. - don't use regex/pcre maps This isn't necessarily true, is it? In some cases I would think it's dramatically reversed in favor of PCRE tables (unless the