Re: spam score in qpsmtpd?

2007-02-24 Thread Brian Grossman
On Sat, 24 Feb 2007 15:57:54 +1100 Gavin Carr [EMAIL PROTECTED] wrote: On Fri, Feb 23, 2007 at 09:51:27PM -0500, m. allan noah wrote: i have been running qpsmtpd for a little while now, and love it. but, i am getting questions from users about missing email. no one is actually able to

PATCH: per-role (and host and client) config hierarchy (was Re: better relay handling?)

2007-02-22 Thread Brian Grossman
On Wed, 21 Feb 2007 23:24:29 +0100 Michael Holzt [EMAIL PROTECTED] wrote: Is there interest? Absolutely. Here it is as two attachments. One attachment is a patch to trunk/lib/Qpsmtpd.pm. The other is a file explaining how to use the new feature. What do you think of it conceptually? Is

status of high_perf?

2007-02-22 Thread Brian Grossman
I've been mostly ignoring qpsmtpd development for awhile, and upon a recent svn update I see it's changed a bit. I have a few questions. 1) Is high_perf now called async? 2) Have 0.3x and trunk merged? with async in trunk? 3) Is async considered stable now? Brian

Re: PATCH: per-role (and host and client) config hierarchy (was Re: better relay handling?)

2007-02-22 Thread Brian Grossman
As a total noob and a future potential user of this, I'm curious if there's a way to specify $ID on the command-line, in an environment variable or something like that? Or if it would be relatively painless to add support for this? Overwriting a config file seems a little hackish, especially

Re: PATCH: per-role (and host and client) config hierarchy (was Re: better relay handling?)

2007-02-22 Thread Brian Grossman
On Fri, 23 Feb 2007 09:34:35 +1100 Gavin Carr [EMAIL PROTECTED] wrote: On Thu, Feb 22, 2007 at 02:19:54PM -0700, Brian Grossman wrote: I anticipate a suggestion to turn it into a plugin, but the config hook is designed for replacing the config storage, not the naming scheme. Is it even

Re: better relay handling?

2007-02-21 Thread Brian Grossman
On Wed, 21 Feb 2007 08:21:51 +0100, Jens Weibler [EMAIL PROTECTED] wrote: My wish would be: I can configure inside the plugins-config which plugins where used normally and which are used while relaying. I have a patch to lib/Qpsmtpd.pm (not a plugin) that allows configs per-host, per-role and

Re: Pollserver Branches

2006-10-03 Thread Brian Grossman
On Tue, 03 Oct 2006 15:56:44 -0400 John Peacock [EMAIL PROTECTED] wrote: Matt Sergeant wrote: At this point, I think we should go back to the original plan of moving the trunk back onto a branch and move branches/0.3x back to trunk (thus making the revision history completely fubar).

Re: Ambitious plans: per-user spam filters and block history

2006-07-16 Thread Brian Grossman
What I do for per-user spam config is to record the result of the various tests, then have one plugin make the decision at the end of the rcpt-to stage (and also set flags for the data stage plugins). This requires a change to each plugin that you want to have operate this way, but it doesn't

Re: Account testing in Outlook fails with check_basicheaders

2006-06-30 Thread Brian Grossman
Four possible solutions: There is a different set of expectations for MSA and for MTA, so I use a separate smtp server on a separate hostname for submission. That way, the config can be completely different for these two classes of messages. For MX I can be BOFH and for submission I can be a

PATCH trunk: add --listen-queue

2006-06-27 Thread Brian Grossman
This patch adds --listen-queue, in case somebody wants to use something other than SOMAXCONN. It's purely optional. I kind of doubt anyone would ever care. Brian === qpsmtpd == --- qpsmtpd (revision 2227) +++ qpsmtpd

PATCH trunk: cleanup after noforkserver conversion

2006-06-27 Thread Brian Grossman
This patch cleans up a bit, now that there's no forkserver builtin to the qpsmtpd file. Brian === qpsmtpd == --- qpsmtpd (revision 2227) +++ qpsmtpd (local) @@ -58,9 +58,8 @@ -h, --help: this page

Re: PATCH trunk optimization for Danga::DNS::Resolver::Query

2006-06-21 Thread Brian Grossman
On Wed, 21 Jun 2006 09:36:03 -0700 Robert Spier [EMAIL PROTECTED] wrote: It also makes the code a bit harder to read. Unless there's actually a tangible performance benefit, I'm not sure it's worth it. It's a rather performance sensitive part of the code, and it reduces the number

PATCH: trunk ConfigServer.pm assumes register function in stats plugin

2006-06-19 Thread Brian Grossman
Here's a patch to make ConfigServer.pm in trunk understand that the stats plugin no longer has a register function. Brian --- trunk/lib/Qpsmtpd/ConfigServer.pm-orig 2006-06-17 14:39:11.0 -0600 +++ trunk/lib/Qpsmtpd/ConfigServer.pm 2006-06-19 09:40:51.0 -0600 @@ -155,7

PATCH trunk optimization for Danga::DNS::Resolver::Query

2006-06-19 Thread Brian Grossman
This patch makes Danga::DNS::Resolver::Query use restricted hashes like the other Danga classes. I assume it will also speed things up a small amount. Brian === Resolver.pm == --- Resolver.pm (revision 2197) +++ Resolver.pm

Re: pollserver status?

2006-06-19 Thread Brian Grossman
On Fri, 16 Jun 2006 15:24:36 -0400 Matt Sergeant [EMAIL PROTECTED] wrote: Yup. I have a feeling I stumbled across a perl bug or something. I got very strange happenings in my server. I want to try again with a more recent perl at some point, but as with everyone else, no time to play with

Re: pollserver status?

2006-06-15 Thread Brian Grossman
Thanks both of you. I'll rebase mine to trunk. Yup. I have a feeling I stumbled across a perl bug or something. I got very strange happenings in my server. I want to try again with a more recent perl at some point, but as with everyone else, no time to play with it. Which version of

Re: Danga based high performance version?

2006-04-02 Thread Brian Grossman
On Sun, 2 Apr 2006 19:28:50 -0400 Matt Sergeant [EMAIL PROTECTED] wrote: On 2-Apr-06, at 7:09 PM, John Wang wrote: On 4/1/06, Ask Bjørn Hansen wrote: The danga version isn't entirely stable yet. We might move it back to a branch and the 0.3x code back to the trunk. Thanks

PATCH: pollserver: disconnect doesn't disconnect immediately

2005-11-16 Thread Brian Grossman
With PollServer, I get several unrecognized commands before the disconnect from plugins/count_unrecognized_commands kicks in. Several buffered lines are read and processed by Danga::Client::process_read_buf() without checking if the socket was closed. The attached patch seems to fix it.

Re: multi-valued dns lookups in lib/Danga/DNS?

2005-11-14 Thread Brian Grossman
On Fri, 11 Nov 2005 18:21:10 -0500 Matt Sergeant [EMAIL PROTECTED] wrote: On 11 Nov 2005, at 16:09, Brian Grossman wrote: A plugin can emit several unrelated queries before calling for a CONTINUATION (mine does), so I think changing the Danga::DNS callback API will be necessary

Re: multi-valued dns lookups in lib/Danga/DNS?

2005-11-11 Thread Brian Grossman
On Fri, 11 Nov 2005 11:31:45 -0500 Matt Sergeant [EMAIL PROTECTED] wrote: A plugin can emit several unrelated queries before calling for a CONTINUATION (mine does), so I think changing the Danga::DNS callback API will be necessary. Actually I don't think it's that hard. Patch coming.

Re: multi-valued dns lookups in lib/Danga/DNS?

2005-11-10 Thread Brian Grossman
On Thu, 10 Nov 2005 10:52:29 -0500 Matt Sergeant [EMAIL PROTECTED] wrote: Why? You should just get the callback called twice. But that makes notes('pending_dns_queries') (in trunk/plugins/dnsbl) go negative, revealing a race between receiving the rest of the answers and going on to the

Re: multi-valued dns lookups in lib/Danga/DNS?

2005-11-09 Thread Brian Grossman
On Sat, 5 Nov 2005 08:41:59 -0500 Matt Sergeant [EMAIL PROTECTED] wrote: On 4 Nov 2005, at 20:02, Brian Grossman wrote: I was thinking about implementing dnsbl return codes and a brief perusal of lib/Danga/DNS/Resolver.pm makes me think that resolver is a bit hostile to the idea

Re: multi-valued dns lookups in lib/Danga/DNS?

2005-11-05 Thread Brian Grossman
On Sat, 5 Nov 2005 08:41:59 -0500 Matt Sergeant [EMAIL PROTECTED] wrote: On 4 Nov 2005, at 20:02, Brian Grossman wrote: I was thinking about implementing dnsbl return codes and a brief perusal of lib/Danga/DNS/Resolver.pm makes me think that resolver is a bit hostile to the idea

multi-valued dns lookups in lib/Danga/DNS?

2005-11-04 Thread Brian Grossman
Matt, I was thinking about implementing dnsbl return codes and a brief perusal of lib/Danga/DNS/Resolver.pm makes me think that resolver is a bit hostile to the idea of multiple returns to a lookup. Am I missing something? Can you think of a way to do it that doesn't involve heavy lib/Danga/DNS

Re: multi-valued dns lookups in lib/Danga/DNS?

2005-11-04 Thread Brian Grossman
On Fri, 04 Nov 2005 22:53:57 -0500 Bob Dodds [EMAIL PROTECTED] wrote: I was thinking about implementing dnsbl return codes and a brief perusal of lib/Danga/DNS/Resolver.pm makes me think that resolver is a bit hostile to the idea of multiple returns to a lookup. Am I missing something?

Re: Qsmtpd::Address design question

2005-10-10 Thread Brian Grossman
On Mon, 10 Oct 2005 11:32:21 -0400 John Peacock [EMAIL PROTECTED] wrote: Since we're talking 10's of thousands of concurrency here in some cases, the memory savings for [] vs {} may be worthwhile. But by that argument, there is no point in using an array at all. The original

Re: PATCH: Don't use SIGCLD

2005-07-04 Thread Brian Grossman
On Mon, 4 Jul 2005 10:19:14 +0200 Peter J. Holzer [EMAIL PROTECTED] wrote: On 2005-07-03 19:11:16 -0700, Robert Spier wrote: Forkserver tends to die with segmentation faults in the signal handler as several people on the list noticed. It also sometimes misses the death of a child. This

Re: SPF and Greylist

2005-06-28 Thread Brian Grossman
On Tue, 28 Jun 2005 11:34:27 -0400 John Peacock [EMAIL PROTECTED] wrote: What is far more likely is that spammer will find the lazy administrators who set up an SPF record with '-all' and use those domains exclusively to forge their return addresses. Of course, that in itself will lead to

PATCH: high_perf: port require_resolvable_fromhost to continuations

2005-06-23 Thread Brian Grossman
Here's a port of require_resolvable_fromhost to continuations. Brian--- require_resolvable_fromhost-orig2005-05-18 16:11:31.0 -0600 +++ require_resolvable_fromhost 2005-06-22 23:41:30.0 -0600 @@ -11,9 +11,9 @@ sub mail_handler { my ($self, $transaction, $sender) = @_;

PATCH: high_perf: pipelined commands force a race

2005-06-23 Thread Brian Grossman
If a client pipelined commands, process_read_buf would rush right through all of them (ignoring disable_read), forcing the later commands to (try to) execute even through we're waiting for a continuation. I'm not sure whether this patch is the best way to fix this, but it does seem to work. Is

PATCH: high_perf: respond methods want a msg arg

2005-06-23 Thread Brian Grossman
After a continuation where the next called hook didn't provide a second arg to return, the corresponding respond method would get confused. Brian=== lib/Qpsmtpd.pm == --- lib/Qpsmtpd.pm (revision 1670) +++ lib/Qpsmtpd.pm (revision

Re: PATCH: high_perf: respond methods want a msg arg

2005-06-23 Thread Brian Grossman
On Thu, 23 Jun 2005 08:36:33 -0400 Matt Sergeant [EMAIL PROTECTED] wrote: On 23 Jun 2005, at 04:13, Brian Grossman wrote: After a continuation where the next called hook didn't provide a second arg to return, the corresponding respond method would get confused. Can you explain a bit

PATCH: high_perf: various enhancements (6 patches)

2005-05-20 Thread Brian Grossman
There are six patches attached. Two of them supersede the patches in my earlier message subject: PATCH: high_perf: fixes for accept optimizing. Newer versions of both patches from that message are included here. Summaries in alphabetical order: == client.pm.patch == First, since EventLoop

PATCH: high_perf: fixes for accept optimizing

2005-05-18 Thread Brian Grossman
The first attached file turns off SIG{ALRM} when processing mode=command. If check_earlytalker is called inside alarm(2), it will almost be definition trip the alarm. When it trips the alarm, the mode doesn't get set back to cmd. The second attached file hangles a case where $PushBackSet{$fd}

high_perf: timeout in sender_permitted_from

2005-05-18 Thread Brian Grossman
The sender_permitted_from plugin uses Mail::SPF::Query uses IO::Select by way of a call to IO::Select::can_read with a relatively large timeout. This causes a SIG{ALRM} to trip. Is there anything that can be done about this besides rewriting Mail::SPF::Query to use Danga::DNS? Here's the call

Re: high_perf: Deep recursion on subroutine

2005-05-17 Thread Brian Grossman
On Tue, 17 May 2005 12:28:47 + (UTC) [EMAIL PROTECTED] wrote: The way I see it, the check_early talker is going to have to work like Could we avoid the issue by having start_conversation run not call run_hooks(connect)? Is there a place in the event loop run_hooks(connect) could be called

Re: high_perf: Deep recursion on subroutine

2005-05-13 Thread Brian Grossman
On Thu, 12 May 2005 20:06:26 + (UTC) [EMAIL PROTECTED] wrote: entirely. BTW, my biggest cpu load is when pollserver accepts connections. Ah, this was my fault. Get latest SVN. What was happening was I only accepted one connection per notification of there being incoming

Re: high_perf: Deep recursion on subroutine

2005-05-12 Thread Brian Grossman
On Wed, 11 May 2005 14:00:15 -0400 Matt Sergeant [EMAIL PROTECTED] wrote: Deep recursion on subroutine Qpsmtpd::run_hooks at \ .../lib/Qpsmtpd.pm line 54. It only happens with 150 or so simultaneous connections. It gets worse, but I think less than linearly, up to

Re: PATCH: high_perf: race condition with PostLoopCallback

2005-05-12 Thread Brian Grossman
On Wed, 11 May 2005 14:03:41 -0400 Matt Sergeant [EMAIL PROTECTED] wrote: On 11 May 2005, at 13:05, Brian Grossman wrote: What are you using for profiling? Are you using Devel::DProf? I've been having trouble getting enough real data while getting info from dprofpp -F that I

Re: PATCH: high_perf: race condition with PostLoopCallback

2005-05-12 Thread Brian Grossman
On Thu, 12 May 2005 20:08:46 + (UTC) [EMAIL PROTECTED] wrote: My profiling results named peer_ip_string() and _load_plugins() as the main culprits. I don't entirely trust that now, but I do have optimizations for both if you want them. I have a fix for _load_plugins, but not

Re: high_perf: Deep recursion on subroutine

2005-05-12 Thread Brian Grossman
On Thu, 12 May 2005 20:06:26 + (UTC) [EMAIL PROTECTED] wrote: entirely. BTW, my biggest cpu load is when pollserver accepts connections. Ah, this was my fault. Get latest SVN. What was happening was I only accepted one connection per notification of there being incoming

Re: PATCH: high_perf: race condition with PostLoopCallback

2005-05-12 Thread Brian Grossman
On Thu, 12 May 2005 20:35:04 + (UTC) [EMAIL PROTECTED] wrote: On Thu, 12 May 2005, Brian Grossman wrote: OK, here it is. Let me know how it runs for you now. I think high CPU load may be inherent although to be fair my spamtrap may not exactly be the best test bed for seeing

Re: PATCH: high_perf: race condition with PostLoopCallback

2005-05-11 Thread Brian Grossman
On Wed, 11 May 2005 12:31:53 + (UTC) [EMAIL PROTECTED] wrote: On Tue, 10 May 2005, Brian Grossman wrote: I'm running without the closing=0 line right now and I don't see any ill effects. I'd say revert it and I'll send in another patch with an explanation if it crops up again. OK

high_perf: Deep recursion on subroutine

2005-05-11 Thread Brian Grossman
Is anyone else who's using high_perf seeing error messages like this: Deep recursion on subroutine Qpsmtpd::run_hooks at \ .../lib/Qpsmtpd.pm line 54. For me, line 54 is the line in Qpsmptd::config() that calls run_hooks(config). I don't have any plugins registering the config

Re: PATCH: high_perf: race condition with PostLoopCallback

2005-05-10 Thread Brian Grossman
On Tue, 10 May 2005 17:04:20 -0400 Matt Sergeant [EMAIL PROTECTED] wrote: On 7 May 2005, at 18:08, Brian Grossman wrote: PostLoopCallback was a global and would be overwritten by anyone with an interest. This caused a race condition. For example, check_earlytalker would fail

Re: PATCH: high_perf: socket timeouts

2005-05-09 Thread Brian Grossman
On Mon, 9 May 2005 09:35:26 -0400 Matt Sergeant [EMAIL PROTECTED] wrote: On 9 May 2005, at 00:29, Brian Grossman wrote: Attached is a patch implementing a kludge to fix this. Does anyone see a cleaner way to do this? Yup, I'm applying a patch now for this (along with all your other

PATCH: high_perf: make can_read quieter so it doesn't pollute the log when not debugging

2005-05-07 Thread Brian Grossman
Attached is a patch for high_perf branch: make can_read quieter so it doesn't pollute the log when not debugging Brianmake can_read quieter so it doesn't pollute the log when not debugging --- old/lib/Danga/Client.pm 2005-05-05 03:32:07.0 -0600 +++ new/lib/Danga/Client.pm

PATCH: high_perf: the resolver kept complaining about NOERROR lookups

2005-05-07 Thread Brian Grossman
Attached is a patch for high_perf branch: the resolver kept complaining about NOERROR lookups Brianthe resolver kept complaining about NOERROR lookups --- old/lib/Danga/DNS/Resolver.pm 2005-05-05 03:32:07.0 -0600 +++ new/lib/Danga/DNS/Resolver.pm 2005-05-07

PATCH: high_perf: remote_info used before set

2005-05-07 Thread Brian Grossman
Attached is a patch for high_perf branch: Remote_info can be used (in greeting, after check_earlytalker) before the callback gets around to setting it. BrianRemote_info can be used (in greeting, after check_earlytalker) before the callback gets around to setting it. ---

PATCH: high_perf: race condition with PostLoopCallback

2005-05-07 Thread Brian Grossman
Attached is a patch for high_perf branch: PostLoopCallback was a global and would be overwritten by anyone with an interest. This caused a race condition. For example, check_earlytalker would fail horribly if there was more than one connection. Includes a revert on my earlier check_earlytalker

PATCH: high_perf: remote_host can be undef, which provokes an error in log

2005-05-07 Thread Brian Grossman
Attached is a patch for high_perf branch: remote_host can be undef, which provokes an error in log Brianremote_host can be undef, which provokes an error in log --- old/lib/Qpsmtpd/ConfigServer.pm 2005-05-05 21:53:30.0 -0600 +++ new/lib/Qpsmtpd/ConfigServer.pm 2005-05-07

PATCH: high_perf: makes configserver status command report #connections as ratio

2005-05-07 Thread Brian Grossman
Attached is a patch for high_perf branch: makes configserver status command report #connections as ratio Brianmakes configserver status command report #connections as ratio --- old/lib/Qpsmtpd/ConfigServer.pm 2005-05-05 21:53:30.0 -0600 +++ new/lib/Qpsmtpd/ConfigServer.pm

PATCH: high_perf: make this alarm more descriptive

2005-05-07 Thread Brian Grossman
Attached is a patch for high_perf branch: make this alarm more descriptive Brianmake this alarm more descriptive --- old/lib/Qpsmtpd/PollServer.pm 2005-05-05 03:32:07.0 -0600 +++ new/lib/Qpsmtpd/PollServer.pm 2005-05-07 03:47:14.0 -0600 @@ -91,7 +91,7 @@ if

Re: PATCH: plugin error messages are off by one line

2005-05-05 Thread Brian Grossman
On Thu, 5 May 2005 00:46:15 -0700 Ask Bjørn Hansen [EMAIL PROTECTED] wrote: On May 4, 2005, at 5:56 PM, Brian Grossman wrote: The attached patch sets the line number to be correct when setting up a plugin coderef. (The \n adds an extra line.) Didn't you get the offset change

PATCH: make ConfigServer's pause and continue commands work

2005-05-05 Thread Brian Grossman
Here's a patch to make the high_perf ConfigServer's PAUSE and CONTINUE commands work. Pause was getting the error 'Command Error: No such pseudo-hash field other_fds at .../lib/Qpsmtpd/ConfigServer.pm line 128.' Continue was just not implemented: command 'continue' unrecognised (). Brian ---

PATCH: high_perf check_earlytalker

2005-04-27 Thread Brian Grossman
In the high_perf branch, check_earlytalker doesn't work for me. This patch makes check_earlytalker work in high_perf. There are two parts to this patch. The first patch, to plugins/check_earlytalker, makes check_earlytalker work when there are other connections generating events. (For testing,

Re: Rudimentary config server

2005-04-26 Thread Brian Grossman
On Tue, 26 Apr 2005 11:55:07 -0400 Matt Sergeant [EMAIL PROTECTED] wrote: What else would you like to see me add to this? List of current connections with whatever information about the connection is handy, especially time of connect and remote ip. Like ps. Since there are likely to be

high_perf: $self-{_qp} going out of scope

2005-04-26 Thread Brian Grossman
Is anyone else seeing this in high_perf? The log message would look something like this: Can't call method log on an undefined value at .../lib/Qpsmtpd/Plugin.pm line 47. (That line number will be off because I've modified Plugin.pm.) When a Danga callback is called, a call to Plugin's

Re: Rudimentary config server

2005-04-26 Thread Brian Grossman
On Tue, 26 Apr 2005 14:51:21 -0400 Bob [EMAIL PROTECTED] wrote: Mainly wishing they would timeout? If they're hanging on long enough to come to your attention, maybe a timeout watchdog would work. Doesn't forkserver have one? I was thinking in general, since there's other things I'd like to

Re: Rudimentary config server

2005-04-26 Thread Brian Grossman
On Tue, 26 Apr 2005 16:14:00 -0400 Matt Sergeant [EMAIL PROTECTED] wrote: On 26 Apr 2005, at 14:51, Bob wrote: Mainly wishing they would timeout? If they're hanging on long enough to come to your attention, maybe a timeout watchdog would work. Doesn't forkserver have one? high_perf

PATCH: bug body_write() dups headers; SMTP::data() dies

2005-03-10 Thread Brian Grossman
Included inline are patches for two bugs in trunk. Not sure whether they are needed for 0.29. First, now that body_start() is read-only, the body_start($size) in SMTP::data() needs to become set_body_start(). Second, Transaction::body_write() needs to update _body_current_pos for array-backed

Re: Integrating high perf patch

2005-03-05 Thread Brian Grossman
On Sat, 5 Mar 2005 13:10:54 -0800 Matt Sergeant [EMAIL PROTECTED] wrote: I have a major set of patches pending which migrate our current setup to use async I/O ... Hallelujah! I'll be testing this, wherever you put it. Should I just take the opportunity of the migration to SVN to just

Re: status of SelectServer?

2004-12-13 Thread Brian Grossman
On Mon, 13 Dec 2004 17:36:20 + Matt Sergeant [EMAIL PROTECTED] wrote: What is the status of SelectServer? It's pretty much in limbo right now. The problem is that the design of qpsmtpd is kind of fundamentally designed around reading from STDIN and writing to STDOUT, or at least

Re: status of SelectServer?

2004-12-11 Thread Brian Grossman
On Fri, 10 Dec 2004 17:03:36 -0800 Anthony D. Urso [EMAIL PROTECTED] wrote: I sent in a patch several months ago that, although it made it into the qpsmtpd-forkserver, has not been applied to SelectServer.pm. Found it, thanks. In addition to missing your patch, it looks like SelectServer.pm

Re: anti-spamassassin [was Re: (again) Proposed Patch for Spamassassin]

2004-10-21 Thread Brian Grossman
On Fri, 15 Oct 2004 21:38:58 +0100 Matt Sergeant [EMAIL PROTECTED] wrote: Block anything without a Message-ID header. I tried this one out this week. It turns out earthlink doesn't bother adding a message-id header. So rude! :( It's not their responsibility - it's the MUA's. In

Re: anti-spamassassin [was Re: (again) Proposed Patch for Spamassassin]

2004-10-15 Thread Brian Grossman
On Tue, 12 Oct 2004 23:01:40 +0100 Matt Sergeant [EMAIL PROTECTED] wrote: Block anything without a Message-ID header. I tried this one out this week. It turns out earthlink doesn't bother adding a message-id header. So rude! :( Blocking on no Received headers seems to work well. Matching

Re: anti-spamassassin [was Re: (again) Proposed Patch for Spamassassin]

2004-10-12 Thread Brian Grossman
On Mon, 11 Oct 2004 20:50:12 +0100 Matt Sergeant [EMAIL PROTECTED] wrote: My top tips: Block anything without a Message-ID header. Block anything without any Received headers. Block anything found in CBL, SBL and SORBS. Block anything HELOing with a string matching \d+[\.-]\d+ Have you

Re: race condition in cvs qpsmtpd-forkserver

2004-08-13 Thread Brian Grossman
On Sun, 8 Aug 2004 18:16:50 -0600 Brian Grossman [EMAIL PROTECTED] wrote: When REAPER is called by SIGCHLD, it can start in the middle of the loop over values %childstatus in the MAXCONNIP block. This can cause $rip to be deleted by REAPER while we're using it. Perl will die saying Use

PATCH: another race condition in qpsmtpd-forkserver

2004-08-13 Thread Brian Grossman
The SIG{CHLD} race in qpsmtpd-forkserver shows up in another way. The process accounting in %childstatus can go out of sync with reality. I think this is caused by SIG{CHLD} being raised while perl is processing 'delete $childstatus{$chld}'. The enclosed patch eliminates SIG{CHLD} race

Re: nullsender1recip

2004-08-01 Thread Brian Grossman
On Sat, 31 Jul 2004 18:40:56 +0100 (BST) Mark Powell [EMAIL PROTECTED] wrote: This plugin limits the null env sender to only one recipient. I believe someone posted a similar pluging so time ago. However, it doesn't seem to have made it into CVS. That was me. I've wondered why too, since

feature request: plugin hook for DATA

2004-07-14 Thread Brian Grossman
Qpsmtpd currently has a hook for after all data is received (data_post). Can we have a hook for responding to the DATA command immediately? Brian

Re: qmail-scanner

2004-07-09 Thread Brian Grossman
On Wed, 7 Jul 2004 15:51:37 +1000 Gavin Carr [EMAIL PROTECTED] wrote: So it depends what you want, but you might try exe_filter at http://www.openfusion.com.au/labs/qpsmtpd/, which does it based on payload signatures. Nice. I have a question about it, though. Why do you only process

Re: nullsender1rcpt plugin (list msg# 690)

2003-12-28 Thread Brian Grossman
The posted message 690 originally had both the then and the else setting $self-{_nullsender1rcpt_count} to 1, but I think the else condition should set it to 0. You're right. A patch is at the bottom of this message. This patch also makes it work for either the current handling or

Re: PATCH: rejected by require_resolvable_fromhost

2003-11-25 Thread Brian Grossman
Unfortunately, it looks like Mail::Address doesn't use angle brackets in the format when the address is empty, even if there's a phrase. So it's not clear what the proper way to represent an empty address is. Ugh. It looks like the way Mail::Address::format() uses it, new('','') is most