Re: basic plugin help

2008-01-18 Thread Jared Johnson
for a module as handy as Data::Dumper? And, is there some documentation that enumerates data available to me, e.g. message headers, smtp envelope, etc.? Thus far I've been looking at existing plugins to see what hooks they use, and data like $self-qp-connection-helo etc. -Jared Johnson Software

plugin writing: access to error codes denied recipients

2008-01-21 Thread Jared Johnson
that essentially does the same thing as qpsmtpd, is 3000+ lines long and horrible to work with. QP is an absolute delight. -Jared Johnson Software Developer and Support Engineer Network Management Group, Inc. 620-664-6000 x118 -- Inbound and outbound email scanned for spam and viruses by the DoubleCheck

'forking' transactions

2008-01-25 Thread Jared Johnson
and beta by the end of the next... so this is not the last question I'll be posing to this list :) -Jared Johnson Software Developer and Support Engineer Network Management Group, Inc. 620-664-6000 x118 -- Inbound and outbound email scanned for spam and viruses by the DoubleCheck Email Manager

Re: 'forking' transactions

2008-01-25 Thread Jared Johnson
:) -Jared Johnson Software Developer and Support Engineer Network Management Group, Inc. 620-664-6000 x118 -- Inbound and outbound email scanned for spam and viruses by the DoubleCheck Email Manager: http://www.doublecheckemail.com/

Re: 'forking' transactions

2008-01-28 Thread Jared Johnson
Peter J. Holzer wrote: That's why I wrote cf_wrapper (it's in the contrib directory), which checks the results for all recipients and returns a temporary error when they don't agree - when the client resends the message, it can split them into two groups with consistent responses. Who is the

prepending to message body

2008-01-28 Thread Jared Johnson
What's the best way to do this? Is there any way to avoid forcing it into spooling to disk? -Jared Johnson Software Developer and Support Engineer Network Management Group, Inc. 620-664-6000 x118 -- Inbound and outbound email scanned for spam and viruses by the DoubleCheck Email Manager: http

Re: prepending to message body

2008-01-28 Thread Jared Johnson
this by getting a filehandle to the message itself, but I also see there that this will force disk spooling where it might otherwise be unnecessary. Is there a superior way to accomplish this? -Jared Johnson Software Developer and Support Engineer Network Management Group, Inc. 620-664-6000 x118

config cache

2008-02-15 Thread Jared Johnson
Hi, I noticed in the recent 'config weirdness' thread that QP does caching for config calls. Could anyone summarize the nature of this caching? I've got a lot of configuration directives of various sorts stored in a database and I'm looking at making a config plugin to handle loading them.

Mail::SPF::Query

2008-02-18 Thread Jared Johnson
I stumbled upon the following information in an article at http://www.openspf.org/Implementations The Mail::SPF::Query Perl module was the very first implementation of SPF and was the de facto reference implementation for quite some time. It roughly conforms to the final SPFv1 specification,

async/check_earlytalker: AddTimer

2008-02-25 Thread Jared Johnson
Hi, Using async/check_earlytalker from qp 0.40, I get the following error: FATAL PLUGIN ERROR: Can't locate object method AddTimer via package Qpsmtpd::TcpServer at /usr/share/qpsmtpd/plugins/async/check_earlytalker line 94. grep can't find AddTimer anywhere in /usr/share/perl5/Qpsmtpd*

Re: async/check_earlytalker: AddTimer

2008-02-25 Thread Jared Johnson
Try: grep -i AddTimer /usr/share/perl5/Qpsmptd/TcpServer.pm the * won't match past the / in the shell. Also try: grep -i add ... | grep -i timer grep -ri timer /usr/share/perl5/Qpsmtpd/ /usr/share/perl5/Qpsmtpd.pm no results there either :/ a quick browse through svn doesn't show

Re: async/check_earlytalker: AddTimer

2008-02-26 Thread Jared Johnson
Matt Sergeant wrote: On 25-Feb-08, at 4:35 PM, Jared Johnson wrote: Using async/check_earlytalker from qp 0.40, I get the following error: FATAL PLUGIN ERROR: Can't locate object method AddTimer via package Qpsmtpd::TcpServer at /usr/share/qpsmtpd/plugins/async/ check_earlytalker line 94

hard size limit

2008-07-11 Thread Jared Johnson
Hi, I've noticed that our qpsmtpd-based product is not handling extremely large messages particularly well. This was brought on by a flood of delay notices for a 495MB message sent outbound through a server not under our control. There are a number of fixes in the pipeline, but it occurs to

Re: hard size limit

2008-07-11 Thread Jared Johnson
As John said, the databytes configuration should do what you are asking. It'll reject the message right away if the sender uses the extension that specifies the size in MAIL FROM and if not then it'll stop buffering the data after the configured number of bytes has been received (and then reject

per-recipient handling

2008-11-10 Thread Jared Johnson
patches to make per-recip handling a reality. Thanks having a great product for me to hack on :) Jared Johnson Software Developer and Support Engineer Network Management Group, Inc. 620-664-6000 x118 -- For the best response on support related issues please email [EMAIL PROTECTED]

Re: PATCH: allow regular expressions for address matching to be easily overridden

2008-12-23 Thread Jared Johnson
Robin Bowes wrote: Any reason this, and most/all the other regex definitions are not qr{...} ? Good idea! Attached a new patch. Tested with normal address syntax and u...@[ip] syntax, with $Qpsmtpd::Address::address_literal_expr set and unset... it might need some closer review for any

Unifying QP (was: RE: Install methods)

2009-01-05 Thread Jared Johnson
It does certainly seem like QP is not used as a drop-in replacement for qmail nearly so much as it's used as platform representing one element of a larger anti-spam toolbox. That's how we use it here. It is a shame that many of the tasks that people need QP to do, they can't do with vanilla

Re: Unifying QP

2009-01-06 Thread Jared Johnson
remove the connection / transaction id feature for 0.42 release - add back in after 0.42 is out? if yes: start implementing in -prefork (commit message for rev 809) I'd seen that note, I was hoping that it was going to be back in by now. Anyone know what these problems with prefork were?

[PATCH] Make remote_host available in hook_pre_connection

2009-01-10 Thread Jared Johnson
Just one more... I've found it useful to have remote_host available in my pre-conection plugin (specifically for enforcing concurrency limits specified in a rule based on host patterns). Attached is the patch I have applied to make this possible. Now I'm off to bed! -Jared Index:

Re: [PATCH] config() method for Qpsmtpd::Address objects

2009-01-10 Thread Jared Johnson
to cache per-recip config results keyed to the address or something -- I think that would probably be potentially unsafe. rcpt_config plugins can always do their own caching if they want. -Jared Jared Johnson wrote: Adding a config method for Qpsmtpd::Address objects turned out to be relatively

Re: [PATCH] config() method for Qpsmtpd::Address objects

2009-01-11 Thread Jared Johnson
Robert Spier wrote: What's the goal of this? It also needs some documentation or examples. The idea is to allow plugins to do something like: for my $rcpt ($transaction-recipients) { do_stuff() if $spam_score $rcpt-config('spam_threshold'); } IOW, per-user prefs. This is the first,

RE: End of headers hook

2009-02-07 Thread Jared Johnson
That sounds intriguing... it may not be very RFC-compliant to actually, say, interrupt a sender halfway through DATA transmission to tell them that you're rejecting based on headers, though. I can't say that has always stopped me... -Jared From: Karl Y.

Re: End of headers hook

2009-02-09 Thread Jared Johnson
And voila. Hook renamed to data_headers_end, documentation in README.plugins with a BIG warning. Just a thought -- perhaps the methodology for throwing away further input as cleverly described by Jose Martinez should be thrown around and tested and then documented in README.plugins together

Re: [PATCH] Add 'address notes'

2009-02-12 Thread Jared Johnson
- my $self = shift; - my $key = shift; - @_ and $self-{_notes}-{$key} = shift; - #warn Data::Dumper-Dump([\$self-{_notes}], [qw(notes)]); - $self-{_notes}-{$key}; + my ($self,$key,$value) = @_; + $self-{_notes}-{$key} = $value if defined $value; + return $self-{_notes}-{$key}; I

address notes patches

2009-02-20 Thread Jared Johnson
I've finally got around to attempting to learn to navigate Git. Attempting to follow the suggested workflow in development.pod, I've created a QP fork on Github: http://github.com/jaredj/qpsmtpd/tree ... and created three topic branches, each with a single commit, representing my new effort

reset_transaction between AUTH and MAIL_FROM

2009-02-20 Thread Jared Johnson
I've begun working on a custom auth plugin and tried setting some transaction notes after successful authentication based on the credentials that were used. Of course this didn't work, as the transaction is reset as soon as MAIL FROM is issued. I can probably get around this with connection

Re: Error: 503 but you already said AUTH

2009-02-20 Thread Jared Johnson
The attached diff should fix it for you. I'll commit later if nobody complains. It appears this still hasn't been applied. I just applied it myself and it works for me; is there anything stopping this from being committed? Also note that you might want to wipe out the tab that's in the

Re: Error: 503 but you already said AUTH

2009-02-20 Thread Jared Johnson
. Especially whitespace problems are easy to miss. -Jared Hanno Hecker wrote: On Fri, 20 Feb 2009 10:21:22 -0600 Jared Johnson jar...@nmgi.com wrote: The attached diff should fix it for you. I'll commit later if nobody complains. It appears this still hasn't been applied. I just applied

Re: persistence?

2009-02-20 Thread Jared Johnson
David Nicol wrote: Okay then. Anyone for collaborating on setting one up, with a unified accessor syntax similar to what we have for notes ? http://advenge.com/2009/products/downloads/qpsmtpd/plugins/verp is a working plugin that uses DirDB persistence library to rewrite the envelope return

Re: persistence?

2009-02-23 Thread Jared Johnson
right now notes is per-connection (is that correct?) so there may be things that would break if the scope of notes were to change. Well, $self-qp-connection-notes() is per-connection, $transaction-notes() is per-transaction, and (if/when my address notes patch is accepted), $addr-notes() is

Re: Noise on the Commit List

2009-03-04 Thread Jared Johnson
However, in general the mails github creates seem pretty useless. I find them very useful. I can see exactly when you merge someone else's work and when you make a release. It was just the large flood of things with 5 year old dates that was not useful. I agree that these updates are

git/svn sync

2009-03-05 Thread Jared Johnson
Hi, This isn't really a git ML, but perhaps some of you have had similar struggles in dealing with the switch to git and can give me some suggestions. I used to keep my organization's SVN version of QP up-to-date with `svn merge` pretty easily. Now that QP is in Git, I'd like to see if

Re: Qpsmtpd::Transaction::body_fh

2009-04-01 Thread Jared Johnson
things :) I'll send in a patch soonish. -Jared Robert Spier wrote: Most plugins call body_resetpos before using the FH. -R Jared Johnson wrote: I'm considering submitting a patch that enhances Qspmtpd::Transaction::body_fh() to (1) call body_spool() if the message was not already spooled

[PATCH] Close spamd socket when we're finished with it

2009-04-02 Thread Jared Johnson
From: jaredj jar...@nmgi.com QP's connection to spamd unnecessarily persists beyond the run of the spamassassin plugin itself. This closes the socket as soon as we're finished using it. --- plugins/spamassassin |1 + 1 files changed, 1 insertions(+), 0 deletions(-) diff --git

perltidy

2009-04-03 Thread Jared Johnson
first of all, kudos on the frequent releasing :) I've attached a suggested patch to .perltidyrc. I've been playing around with perltidy'ing all QP code and some results I don't like. This doesn't fix all the things that I don't like, but it's been sitting on my laptop for a month so I

Re: perltidy

2009-04-03 Thread Jared Johnson
[-nbcc], -bbc, --blanks-before-comments typo'd my interposition there, it's -nbbc -Jared

Re: Qpsmtpd::Transaction::body_fh

2009-04-07 Thread Jared Johnson
Jared Johnson wrote: Based on my testing, it looks like body_resetpos() behavior would be unaffected by the dup(). I didn't realize this was the case, so my mention of 'if we happen to seek() to the wrong place bad things won't happen' is not exactly accurate. But this is probably for the best

Re: [qpsmtpd] port while in pre_connection hook?

2009-05-05 Thread Jared Johnson
Hi, In current qp it would be about like so: sub hook_pre_connection { my ($self,$transaction,%arg) = @_; my $port = $arg{local_port}; } -Jared b-sub-bdf0...@rope.net wrote: On Tue, 5 May 2009, Hanno Hecker wrote: On Tue, 5 May 2009 17:20:13 + (UTC) b-sub-bdf0...@rope.net

Re: [qpsmtpd] from 0.32 to 0.81, forkserver to pre-fork

2009-05-13 Thread Jared Johnson
First issue: If the plugins (Most are highly customized) run under forkerserver, will they be expected to run under pre-fork without modification? I'm trying to recall some of the discussions, and I think the issues were with pollserver - something about async code(?). If I recall our own

Re: [qpsmtpd] 0.81 Can prefork listen on more than one port?

2009-05-21 Thread Jared Johnson
On 05/21/2009 02:56 PM, Ask Bjørn Hansen wrote: On May 21, 2009, at 12:30, J wrote: The prefork in 0.81 can only listen on one. The next release will support listening on multiple addresses ports in prefork, just as forkserver does. Any idea when that might be? Probably in about 4-6

Re: [qpsmtpd] 0.81 Can prefork listen on more than one port?

2009-05-21 Thread Jared Johnson
I'm the Debian maintainer. :) Fancy meeting you here :) OT, you might want to patch the debian init script now that QP supports SIGHUP. Here's my local patch, but I haven't bothered scrutinizing and un-preforkifying and therefore officially sending it in: ---

Re: prefork 'orphaned child' messages

2009-05-29 Thread Jared Johnson
No I don't think it's normal. What are you doing in your plugins? Wasn't there some issue we uncovered a while ago to do with MySQL? I don't recall hearing of issues with mysql.. we use postgres here and do, well, lots of stuff: lookups for for global and ip-based max concurrency rules in

Re: prefork 'orphaned child' messages

2009-05-29 Thread Jared Johnson
What's orphaned is not a child process, but a shared mem hash record for a process which no longer exists. I suspect that code is racy. Hrm, then if we're getting a whole lot of these, does this mean child processes are going away at a high rate? I wouldn't expect such a condition using

Re: prefork 'orphaned child' messages

2009-05-29 Thread Jared Johnson
Inbound and outbound email scanned for spam and viruses by the DoubleCheck Email Manager v5: http://www.doublecheckemail.com Do we have to be exposed to this spam? *blush* Since I administer our qp installation that adds those, I suppose I could exempt myself without anybody noticing :)

Re: prefork 'orphaned child' messages

2009-06-01 Thread Jared Johnson
Even if you're not near max children the parent will only spawn max idle children, then it sleeps until an event, wake-up and see if more children are needed. Debug log should give some clue, if this is the reason. Bingo. Looking further into things, it was apparent that a freshly restarted

Re: prefork 'orphaned child' messages

2009-06-02 Thread Jared Johnson
Why not set --idle-children at start-up to something higher (or just 0 to disable)? Setting it higher is a bit bothersome because our QP children use too much memory right now (mainly from using DBIx::Class), so it would be a bit unfortunate to have more memory-consuming kids around that

Re: prefork 'orphaned child' messages

2009-06-05 Thread Jared Johnson
in accepting this if I tested it and put it in my git? -Jared On 06/02/2009 08:09 AM, Jared Johnson wrote: Why not set --idle-children at start-up to something higher (or just 0 to disable)? Setting it higher is a bit bothersome because our QP children use too much memory right now (mainly

Spaces in MAIL FROM/RCPT TO commands

2009-06-11 Thread Jared Johnson
We've been considering blocking messages that break RFC compliance by including a space before or after the colon in MAIL FROM: and RCPT TO: commands. From RFC 5321 Section 3.3: Since it has been a common source of errors, it is worth noting that spaces are not permitted on either side

Re: PATCH [1/5] Disconnect badhelo

2009-06-19 Thread Jared Johnson
I like this approach, but it's had its complications for us because we don't want to make the compromise of doing the rest of the checks at a given stage needlessly; e.g. if our RBL plugin hits, we don't want to bother doing RDNS and SPF lookups only to say 'sorry, you were on an RBL'

Re: PATCH [1/5] Disconnect badhelo

2009-06-22 Thread Jared Johnson
One could however offer a alternate standard set of plugins implementing the discussed ideas, I think. One could. I've been considering it, but mine's not as configurable (in terms of handling mailer behaviour on a hit) as I'd like. Probably wouldn't be hard to rework that bit. The project

Re: problems with authentication and qpsmtpd-prefork

2009-07-09 Thread Jared Johnson
This thread may or may not be applicable: http://www.nntp.perl.org/group/perl.qpsmtpd/2008/07/msg8134.html -Jared On 07/09/2009 07:15 AM, Stefan Priebe wrote: Hi! I've massive problems with authentification and qpsmtpd. After some time i always get a you're already authorized. This is cause

invalid sender creates havoc

2009-07-29 Thread Jared Johnson
We recently noticed a message in our postfix queue that thought it was addressed to foo.com. After examining it, it turned out that Qpsmtpd accepted a MAIL FROM command formatted like so: MAIL FROM:u...@d.com,foo.com When it passed it to postfix, it transmographied it first into the sender

Re: invalid sender creates havoc

2009-07-30 Thread Jared Johnson
On 07/30/2009 07:11 AM, Peter J. Holzer wrote: On 2009-07-29 14:07:53 -0500, Jared Johnson wrote: We recently noticed a message in our postfix queue that thought it was addressed to foo.com. After examining it, it turned out that Qpsmtpd accepted a MAIL FROM command formatted like so: MAIL

Re: invalid sender creates havoc

2009-07-30 Thread Jared Johnson
On 07/29/2009 09:39 PM, Ask Bjørn Hansen wrote: On Jul 29, 2009, at 12:07, Jared Johnson wrote: We recently noticed a message in our postfix queue that thought it was addressed to foo.com. After examining it, it turned out that Qpsmtpd accepted a MAIL FROM command formatted like so: MAIL

patch for minor logging plugin crash

2009-08-14 Thread Jared Johnson
We noticed that logging/file sometimes emitted this error: XX: Can't call method notes on unblessed reference at /usr/share/qpsmtpd/plugins/logging/file line 272. It appears this is because QP internal sometimes legitimately calls -log before a transaction object exists. The patch I'm sending

[PATCH] Log even when we aren't in a transaction

2009-08-14 Thread Jared Johnson
From: Jared Johnson jar...@jello.nmgi.com This should allow the logging/file plugin to log even if it isn't called from within a transaction --- plugins/logging/file |4 +++- 1 files changed, 3 insertions(+), 1 deletions(-) diff --git a/plugins/logging/file b/plugins/logging/file index

Re: [PATCH] Log even when we aren't in a transaction

2009-08-20 Thread Jared Johnson
This should allow the logging/file plugin to log even if it isn't called from within a transaction Thanks, applied and pushed. The conditional around where you made the first change are a bit of a mess (indicating that there's a better way to do whatever it does), but I didn't look closer ...

Re: [PATCH] Log even when we aren't in a transaction

2009-08-20 Thread Jared Johnson
On 08/14/2009 04:31 PM, Ask Bjørn Hansen wrote: On Aug 14, 2009, at 14:14, Jared Johnson wrote: This should allow the logging/file plugin to log even if it isn't called from within a transaction Thanks, applied and pushed. The conditional around where you made the first change are a bit

Re: [PATCH] Log even when we aren't in a transaction

2009-08-24 Thread Jared Johnson
On 08/23/2009 04:03 PM, Matt Sergeant wrote: On Thu, 20 Aug 2009 10:18:39 -0500, Jared Johnson wrote: It looks like logging/file doesn't like the empty hashref returned by Qpsmtpd::transaction(). I never understood why it did that. Any reason it can't return either undef or (preferably) a new

Re: Regarding config plugins...

2009-09-09 Thread Jared Johnson
Patches submitted where? -Jared On 09/09/2009 04:43 PM, Jason Mills wrote: Okay patches submitted. For for the time delay but I had a bit of hard drive scare last night after I finished the code but before I could spin the patch. Any input, suggestions and or scorn is welcome :) - J On Tue,

RE: Released 0.83

2009-09-16 Thread Jared Johnson
From: Ask Bjørn Hansen [...@develooper.com] Sent: Tuesday, September 15, 2009 5:22 PM To: qpsmtpd@perl.org ML Subject: Released 0.83 prefork: More robust child spawning (Jared Johnson) You might as well credit this one to Peter Samuelson while you're

[PATCH (maybe)] Don't reset_transaction between queueing and responding

2009-09-26 Thread Jared Johnson
So, our fork has a few logging and bayes training mechanisms that run in hook_reset_transaction. They are all very fast, most of the time; but recently one of them broke and started running very slowly. The result: QP would inject an incoming messages into the queue, enter

URIBL plugin and 'semicolon insertion munging'

2010-07-21 Thread Jared Johnson
Hi, I'm working with Devon Carraway's URIBL plugin and have been testing its effectiveness in finding URI's using 6 million lines or so of email traffic from a day in the life of our mail servers. My testing has shown that the following line in the while ( $l = $transaction-body_getline ) loop

Re: URIBL plugin and 'semicolon insertion munging'

2010-07-23 Thread Jared Johnson
and completely changes the config file format. I don't really have approval to spend hours creating digestible individual patches... but posting the whole plugin is better than not posting any code, right? :) -Jared On Wed, Jul 21, 2010 at 07:54:30AM -0500, Jared Johnson wrote: Unlike the other

Re: URIBL plugin and 'semicolon insertion munging'

2010-07-23 Thread Jared Johnson
It seems like all you have to do to get around the nbsp; etc. problem is to wait a little longer before applying the fixup -- allow the semicolon to match in the hostname search and then strip it out. My bad.. I guess the plugin currently only fixes up '#\d\d\d' encoding, not nbsp; etc.

Re: URIBL plugin and 'semicolon insertion munging'

2010-07-23 Thread Jared Johnson
It seems like all you have to do to get around the nbsp; etc. problem is to wait a little longer before applying the fixup -- allow the semicolon to match in the hostname search and then strip it out. My bad.. I guess the plugin currently only fixes up '#\d\d\d' encoding, not nbsp; etc.

Re: URIBL plugin and 'semicolon insertion munging'

2010-07-24 Thread Jared Johnson
This seems to be a big improvement at least on the 3 million lines of random traffic i tested with, and it's a smaller patch: [snip] Well, it may have been an improvement over my own data, but a colleague pointed out the following case: check out spamsite.com;it's awesome! And this didn't

Re: URIBL plugin and 'semicolon insertion munging'

2010-07-24 Thread Jared Johnson
while ( m{ ( (?: [a-zA-Z0-9:./-]+ @ )? [a-zA-Z0-9][a-zA-Z0-9.;-]+\.$tld ) (?! \.?\w ) }gxo ) { my $host = lc $1; # Deal with inserted-semicolon munging, e.g. 'http://foo;.com' if ( my @split = $host =~ /(.*?);(.*)/ ) {

Re: Rewritten URIBL plugin

2010-07-26 Thread Jared Johnson
- Introduces support for URIBL services that may not have worked right, at least out of the box, before. Defines the subtle differences between various known URIBL services in order to maximize compatibility. Is it worth pulling some of this config out of the code and putting it into some

Re: Rewritten URIBL plugin

2010-07-26 Thread Jared Johnson
Do the owners of that data care about it being used this way? You may be violating any agreement with them. Would they be ok if this was released as an independent CPAN module?Either way, can we structure this as an API instead of just an include file? Forgot to mention, yes, I'd be

Re: Rewritten URIBL plugin

2010-07-26 Thread Jared Johnson
On Sun, Jul 25, 2010 at 04:43:36AM -0500, Jared Johnson wrote: The plugin has the following advantages over the original: Based on a single read-through of the code, I like most of it. Some assorted observations, though: - Parsing out the MIME sections is worthwhile, though it's really

Re: Rewritten URIBL plugin

2010-07-26 Thread Jared Johnson
And I'm confused by that bit. From what I can tell, the async/uribl plugin ignores plugins/uribl entirely and uses Qpsmtpd::Plugins::Async::DNSBLBase, which in turn uses ParaDNS. In that case, it's possible (and likely) that it may never have worked with async. When time is short, it's

Re: per-recipient configuration

2010-07-26 Thread Jared Johnson
Having a common API for per-recipient things have long been on the todo list. We've talked about it a couple times before; but the requirements/needs/wishes never sunk in deep enough in my head to do anything about it. So: How do you use this? My thoughts all along have been to just have

Re: per-recipient configuration

2010-07-26 Thread Jared Johnson
sub rejected_recipients { my $self = shift; @_ and $self-{_rejected_recipients} = [...@_]; I noticed after posting this that the line above is a no-op. Ha :) return () unless $self-{_recipients}; return grep { $_-dsn and ! $_-dsn-action ~~ [qw(Delivered Queued Quarantined)] }

Re: Rewritten URIBL plugin

2010-07-26 Thread Jared Johnson
Attached also is tld_lists.pl, a companion file that needs to be dropped in lib/Qpsmtpd/ which provides the list of first, second, and third level TLDs that we care about. It's derived from our URIBL datafeed as well as Would they be ok if this was released as an independent CPAN module?

Re: per-recipient configuration

2010-07-27 Thread Jared Johnson
My experience porting the Advenge SMTPD to be a qpsmtpd plug-in indicated that the current interface is entirely adequate for per-recipient things, as long as the plug-in manages its own persistence. I don't think any new hooks are required. On principal I'd agree that it's possible to do it

Re: per-recipient configuration

2010-07-27 Thread Jared Johnson
I assume you meant to CC the list originally, I've added it :) Could you show some code examples? not immediately, but sure What do you do with the queue plugin(s) if recipients ended up having different headers or bodies due to tagging etc.? Advenge only deals with deliver/defer with

Re: Rewritten URIBL plugin

2010-07-27 Thread Jared Johnson
I think we should probably consider putting support for parsed messages into core, with the parsing done lazily if requested by the API. It's a good idea, it's only that I haven't yet had the time and justification to write and to test a move from the plugin model (see the attached plugin in my

Re: Rewritten URIBL plugin

2010-07-27 Thread Jared Johnson
I think we should probably consider putting support for parsed messages into core, with the parsing done lazily if requested by the API. I forgot, we did kinda think of a couple of reasons not to want an API. depending on where you put it, you may find QP in general depending on MIME::Parser

Re: Rewritten URIBL plugin

2010-07-28 Thread Jared Johnson
Jared Johnson wrote: I think we should probably consider putting support for parsed messages into core, with the parsing done lazily if requested by the API. I forgot, we did kinda think of a couple of reasons not to want an API. depending on where you put it, you may find QP

Re: [Fwd: DoubleCheck DataFeed access]

2010-07-28 Thread Jared Johnson
prune from the list, IIRC You make some pretty good points. It may well not be worth the trouble, at least for one-level TLDs. Thanks, Jared Johnson Software Developer DoubleCheck Email Manager

Re: per-recipient configuration

2010-07-28 Thread Jared Johnson
so inside QP, the qpsmtpd::address object would have a known parameter that brings up the per-address persistence hash, which would be a flat hash. Something like .. See in my mind, per-recipient config and persistent data storage are more separate. Maybe part of the reason I look at it this

Re: per-recipient configuration

2010-07-29 Thread Jared Johnson
I have stuff that might wind up looking like $rcpt-persistent-{statistics_receivedmsgs_total}++; $rcpt-persistent-{statistics_receivedstatsbysender}{$NormalizedSenderAddress}++; Perhaps $rcpt-storage could be provided that could be tied... it just seems like this is the less

Re: per-recipient configuration

2010-07-29 Thread Jared Johnson
colleagues have also complained that notes() even exists as a method and think it would be fine for it to just be a reserved namespace accessed directly as a hash key. or at least that notes() should return the {_notes} hashref if it doesn't have any callers -Jared

Re: per-recipient configuration

2010-07-29 Thread Jared Johnson
Another thing that nothing stops us from, in a late-bound programming language without private namespaces, is adding additional methods to base objects without changing the code that declares the base objects, as long as the implementation of the base objects promises to remain the same. I

URIBL plugin 'action' defaults

2010-07-29 Thread Jared Johnson
Would anyone object to setting the default action to 'deny' on certain reliable low-fp URIBL lists? Probably Spamhaus SBL-XBL and DBL and URIBL Black. It seems like a new user turning on uribl checks would expect them to do something more than adding headers, as long as the services it rejects

URIBL update

2010-07-31 Thread Jared Johnson
I've made a bunch more changes to the uribl plugin locally; man, we _really_ need to get some kind of svn-to-gig thing going. Or at least I need to re-educate myself on git and start putting things in my github again. If I don't manage to do this by the time (soon) that things are settled down a

Re: Auth issues with turnpike

2010-09-17 Thread Jared Johnson
With this in mind is it possible without having to patch qpsmtpd to influence the order that auth methods are presented in from 250 AUTH PLAIN LOGIN CRAM-MD5 such that LOGIN is the first available option? Apparently in turnpike you can't specify the method you use and it always picks the

Re: Transaction.pm body_fh() badly broken [was: qpsmtpd-v0.84 seems to ignore size_threshold]

2010-10-29 Thread Jared Johnson
commit a52660a646012691f993cca821c00fe05cff08bb Author: jaredj jar...@nmgi.com Date: Wed Mar 25 07:38:05 2009 -0500 Spool body when $transaction-body_fh() is called Qpsmtpd::Transaction::body_filename() calls $self-body_spool() if the message body has not already been spool

Re: white-listing in hosts_allow plugin

2010-12-15 Thread Jared Johnson
IIRC, the connections-per-ip code isn't in a plugin right now -- it's part of the main binary -- because it requires some sort of shared state which we don't have for plugins. The checks do exist in the binaries but they don't have to, you can use $arg{child_addrs} and $arg{remote_ip} in

Re: white-listing in hosts_allow plugin

2010-12-15 Thread Jared Johnson
return DENYSOFT_DISCONNECT, 'Too many connections from your class C' if ( grep {(ip_to_int($_)0xff00) == $mask} @{$arg-{child_addrs}} ) Though this code is still untested in its heavily-modified-from-our-version form, I feel like I should point out that should be

Re: How to get both sender and recipient address for mail-hook

2011-01-11 Thread Jared Johnson
Pretty sure he meant: my ( $self, $transaction, $recipient) = @_; my $sender = $transaction-sender; Then you can do: my $recipientdomain = $recipient-host; my $senderdomain = $sender-host; -Jared Steve Freegard steve.freeg...@fsl.com wrote: Hi Tapio, On 11 Jan 2011, at 11:34, Tapio

Re: lastest uribl plugin

2011-01-24 Thread Jared Johnson
Specifically regarding the quoted-printable stuff.. my diff must have been off an older version. This is probably a better representation of your changes: @@ -574,15 +574,22 @@ my $line; my @qp_continuations; while ( $line = $txn-body_getline ) { +chomp $line; if

rolling uribl and rbl plugins into a single plugin

2011-01-27 Thread Jared Johnson
So our organization is planning doing some big changes to the rbl plugin and it dawned on us that it seems a lot easier to just add an earlier hook to the existing uribl plugin (and rename it to rbl? or bl? or something?). But of course I still have in mind that someday I'll get the plugin

Re: rolling uribl and rbl plugins into a single plugin

2011-01-28 Thread Jared Johnson
I agree that sharing code should be possible here (and that would be desirable); but as Matt suggested using the plugin inheritance stuff would be better than (eventually) making the One True Spam Fighting plugin. :-) OK, I agree. Hopefully the integration will happen for our next release

Tumbleweed TLS compatibility patch

2011-02-22 Thread Jared Johnson
Hi, We've been chasing issues with Tumbleweed (now Axway) MailGate appliances sending messages using TLS through us. Finally Tumbleweed told one of our clients that this was probably due to a bug in their software when the receipient MTA makes multiple writes to the socket. On a guess, we

Re: smtp proxy to external smtp server

2011-05-20 Thread Jared Johnson
We do the sort of signing that is a huge doozy, and Matt is right, it's a doozy :) There are a couple of ways we've accomplished re-writing the body from a MIME::Entity. Honestly it seems a bit non-standard to me but we have some special requirements, like leaving the original body around; I

Re: smtp proxy to external smtp server

2011-05-20 Thread Jared Johnson
On 05/20/2011 02:56 PM, Jared Johnson wrote: We do the sort of signing that is a huge doozy, and Matt is right, it's a doozy :) There are a couple of ways we've accomplished re-writing the body from a MIME::Entity. Honestly it seems a bit non-standard to me Why do you think this is non

[Fwd: Re: [Fwd: STARTTLS vulnerabilty and qmail-spamcontrol ucspi-ssl qpsmtpd]]

2011-06-05 Thread Jared Johnson
I've been otherwise occupied but I forwarded this to the rest of our dev team and our resident security guru had this to say Original Message Subject: Re: [Fwd: STARTTLS vulnerabilty and qmail-spamcontrol ucspi-ssl qpsmtpd] From:Peter

Re: thoughts about a new module called check_spammer_connect

2011-07-26 Thread Jared Johnson
I thought about a module which learns from the plugin dnsbl. Maybe we call it check_known_dnsbl_spammer ;-) and use the module http://search.cpan.org/~robm/Cache-FastMmap-1.39/lib/Cache/FastMmap.pm Hi Aleks, We discussed doing this once at my organization and someone astutely pointed out

  1   2   >