about summary refs log tree commit homepage
path: root/public-inbox-mda
DateCommit message (Collapse)
2015-09-06update copyright headers and email addresses
In the future, it should be possible to use this: git ls-files | UPDATE_COPYRIGHT_HOLDER='all contributors' \ UPDATE_COPYRIGHT_USE_INTERVALS=2 \ xargs /path/to/gnulib/build-aux/update-copyright
2015-08-29avoid length in boolean context
Perl does not currently optimize for this. ref (from p5p): http://mid.gmane.org/D5C27970-9176-4C7A-8B99-7D78360E67A2@pobox.com
2015-08-23hopefully fix broken permissions for search
We must preserve the umask for the entirety of the indexing operation, as Xapian transactions replace entire files atomically instead of writing them in place.
2015-08-23search: respect core.sharedRepository in for Xapian DB
Extend the purpose of core.sharedRepository to apply to the $GIT_DIR/public-inbox/xapian* directory.
2015-08-22search: split search indexing to a separate file
This makes organization easier and reduces the amount of code loaded for a PSGI, mod_perl or CGI instance.
2015-08-17search: simplify indexing operation
There's no need to make a transaction for each message when doing incremental indexing against a git repository. While we're at it, simplify the interface for callers, too and do not auto-create the Xapian database if it was not explicitly enabled.
2015-08-17public-inbox-{learn,mda}: automatically sync index
We'll ignore errors, for now, but should eventually warn or log. And yes, this is a dirty, dirty hack but we'll fix this ASAP tomorrow.
2015-07-14reject HTML loudly and automatically
This should hopefully reduce the delay between when a user fails to send plain-text to when an admin such as myself notices the HTML mail in a sea of spam. Unfortunately, this can lead to backscatter, so avoid doing it until its passed through spamc, at least.
2015-06-05public-inbox-mda: preserve SpamAssassin headers in spam
We want to be able to prioritize spam downstream to check for borderline cases.
2014-05-02reduce copies by passing string refs to Email::MIME
This should reduce data copies and memory usage, according to Email::Simple documentation.
2014-04-28mda: support aliased addresses
This mimics functionality found in -learn. Originally the design allowed for only one address per-list, but when migrating/hijacking existing mailing lists, having multiple addresses map to the same inbox is useful.
2014-04-26huge refactor of encoding handling
Hopefully this simplifies and corrects our usage of Perl encoding APIs.
2014-04-20use ORIGINAL_RECIPIENT once again
It should be common for a single users to be subscribed to multiple addresses/lists, so we must use the address before alias expansion. This partially reverts commit b949afc9edf89dd494cac6255c78b124d58e11a5
2014-04-19mda: share commit setup code with -learn
We need -learn to do many of the same things as -mda when we have a false-positive. We also need -learn to do HTML filtering in case the training user screws up.
2014-04-19move precheck to MDA namespace
We will be combining common code between -learn and -mda
2014-04-19mda: rename PI_FAILBOX to PI_EMERGENCY
The emergency destination may be Maildir. A Maildir emergency destination is better for volatile data which is written to and deleted-from frequently.
2014-04-15mda: encoding-aware From: for GIT_ authorship
Users with non-US-ASCII compatible names were not showing up properly in "git log" output.
2014-04-14mda: add most RFC 2919 and 2369 headers
These probably make sense even though we do not handle delivery ourselves. It can aid in searching/filtering/tagging of messages.
2014-04-09mda: set GIT_AUTHOR_DATE in commits as well
While we're at it, write some quick tests.
2014-04-09mda: set GIT_{COMMITTER,AUTHOR}_{NAME,EMAIL} env
This can make it easy to query via "git log --author=..." without extracting each message.
2014-04-09mda: prevent duplicate Message-IDs from appearing
For practical purposes, Message-IDs are unique and duplicates do not appear unless client software is broken.
2014-04-05remove failrepo config
We will just use the fallback in Email::Filter to reduce configuration knobs. Failed messages are failed messages, do not classify them beyond that.
2014-04-05flesh out MDA and simplify config setup
We will be reusing the config parsing code for the CGI script, too.
2014-02-11move pre-spamc checks to PublicInbox->precheck
We may add more checks before we go to spamc.
2014-02-11public-inbox-mda: reject messages without From header
2014-01-10reject messages if ORIGINAL_RECIPIENT is not specified
SpamAssassin doesn't seem to have this heuristic, but the lack of the intended email address in To:/Cc: headers cannot be a good sign (especially when this is a _public_ inbox).
2014-01-10public-inbox-mda: limit message size before spamc
Unfortunately we slurp, but expect our MTA to provide its own limit on message sizes.
2014-01-09initial commit