Qpsmtpd::config now checks cache, hooks, qmail_config, default in this
order and returns the first match. In any case the returned value is
stored in the cache, so subsequent calls to Qpsmtpd::config return the
same value (unless the cache is cleared).
Trying to get SMTP auth working with alpine, I came across a bug.
Alpine sends AUTH PLAIN and waits for a 334 response, then sends the
auth string. According to the RFC, the server should reply with 334
and a nothing else, but in Auth.pm qpsmtpd responds with "334 Please
continue." the "Please continue" is interpreted as a non-zero
length initial challenge which causes alpine (and maybe other
clients?) to abort the session.
Signed-off-by: Charlie Brady <charlieb@budge.apana.org.au>
Signed-off-by: Robert <rspier@pobox.com>
Exim's BSMTP interface will indicate the SMTP response to the exchange;
actually use it rather than assuming all errors are 400-class soft ones.
Tolerate $transaction->header returning undef (since it evidently can under
some conditions).
Convert a few errant tabs to spaces.
Fix vi modeline.
Signed-off-by: Robert <rspier@pobox.com>
Hi all!
I have written a patch to allow the spamassasin plugin to have a custom
spam tag read in from a configuration file as opposed to the default ***
SPAM *** that is hard coded.
When the configuration file (spamsubjectprefix) is not defined or empty
the default value still applies, if it is provided the value from the
configuration file is used.
Any change this can be considered for implementation as we would really
like to have it for SME Server.
Kind regards,
Jonathan
Signed-off-by: Robert <rspier@pobox.com>
Qpsmtpd::Transaction::body_filename() calls $self->body_spool() if the
message body has not already been spool to disk. This adds the same
check to Qpsmtpd::Transaction::body_fh()
It wasn't suitable to dup the body FH returned by plain old
body_fh(), so here's a separate function to return that.
Signed-off-by: Ask Bjørn Hansen <ask@develooper.com>
This should help the prefork daemon to keep up with demand better without using
much more in the way of resources
Signed-off-by: Ask Bjørn Hansen <ask@develooper.com>
Only ignore config, blib, pm_to_blib, cover_db at the top level.
Ignore any file (or more likely symlink) at the top level named
config. (This is so you can symlink config -> config.sample/)
Tomas Lee <j533xdbjwfgdbsv@jetable.net> pointed out that
cab7466c08 broke the default badmailfrom
reason.
This fixes that functionality and simplifies the code a little.
The patch below fixes many errors of the form:
*** WARNING: line containing nothing but whitespace in paragraph at line 37 in file writing.pod
*** WARNING: line containing nothing but whitespace in paragraph at line 40 in file writing.pod
There are also a couple of minor typo-fixes.
>> However, I'm back to seeing the connection processes being left behind,
>> despite an explicit quit from the remote host.
> It looks to me as though qpsmtpd should have started a new process
> group with the parent process, but hasn't. Or the developer assumed
> that qpsmtpd would be set up as leader of a process group, but it
> isn't in this circumstance.
Signed-off-by: Robert <rspier@pobox.com>
While writing a plugin for our new spamfilter implementation I noticed
some minor error in the documentation. From the documentation it
sounds like the hook_ok and hook_deny hooks get the previous hook as
parameter.. The truth is: it is the previous plugin.
Allows qpsmtpd-prefork to listen on multiple address/port combinations
simultaneously, based on the corresponding implementation in forkserver.
Signed-off-by: Robert <rspier@pobox.com>
forkserver uses --listen-address to specify the listening socket address, while
prefork uses --interface. Add the former as an alias for the latter, for
consistency & ease of integration. The two still aren't commandline-compatible,
but they're fairly close.
Signed-off-by: Ask Bjørn Hansen <ask@develooper.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.
Signed-off-by: Ask Bjørn Hansen <ask@develooper.com>