Jost Krieger pointed out that the documentation for the header check called for a config_headers, but the code actually implemented scan_headers. Updated to accept either. Also the condition for actually checking/skipping the headers was inverted. Also whitespace fixes.
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 <email@example.com> Signed-off-by: Robert <firstname.lastname@example.org>
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 <email@example.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 <firstname.lastname@example.org>
This is to allow some perfectly reasonable path names like /var/spool/qpsmtpd-maildir, etc.