about summary refs log tree commit homepage
path: root/t
DateCommit message (Collapse)
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-19cgi: index pages allow iterating some pagination
This allows WWW readers to slowly page through the entire history of the mailing list.
2014-04-17view: inline shorter quotes
Breaking up short quote messages at 1 line is too disconcerting, try 5 lines as proper quotes shouldn't be too long.
2014-04-15Revert "cgi: relax path restriction for top-level"
CGI mounts should probably handle this internally. We're reverting this since it adds too much potential for abuse with fake/extra prefixes in the URL. We also need to reorder our redirect handling as a result. This reverts commit c394de9f2c91c2c5ed1f7832a5a7cc0206120b7f.
2014-04-15HTML: ensure hrefs are quoted properly
We may be breaking some parsers or allowing more breakage to slip through without quotes. We waste some bytes, though.
2014-04-14rename list from "bugs" to "meta"
"bugs" might confuse and limit the discussion, so "meta" it is!
2014-04-14derive -primary_address in config
This may be useful for generating List-Id headers and HTML pages.
2014-04-14cgi: fix up top-level index
We do not have all messages in the top-level index (and we need to adjust the test while we're at it).
2014-04-14cgi: 301 for list-indices without trailing slash
It is common to type upper-level URLs without the slash, redirect users to the correct page for usability.
2014-04-14t/cgi: cleanup: no need for additional block
Not sure what I was thinking...
2014-04-12cgi: ensure we unescape MIDs correctly in URLs
MIDs may have strange characters in them, so we need to handle escaping/unescaping properly to avoid broken links or worse.
2014-04-12cgi: relax path restriction for top-level
We may have something like /foo.cgi/m/$MID.html in there.
2014-04-12cgi: rename to have .cgi suffix
This makes it easier to configure for systems which determine a script is a CGI script based on suffix.
2014-04-11config: support multiple addresses for a inbox
This makes it possible to gradually migrate to new address in case of list name changes, and is one step closer to operating in "stealth hijack mode" :)
2014-04-11add spam/ham learning wrapper script
This is essential for integrating into my inotify-based spam training setup.
2014-04-11cgi: wire up HTML pages for messages
These need better tests and verification, but it's something for now.
2014-04-11cgi: update feed/view and tests for shorter URLs
Code should be consistent with the design docs (and we will need better tests).
2014-04-11cgi: /$LISTNAME/ and /$LISTNAME/index.html are equal
This prevents ambiguity when switching URLs between static file servers and CGI. The /$LISTNAME/index.html URL appearing in the wild is inevitable because of our static file server support. Worst yet, there's no easy/consistent way to get all installations detect and 301 them to the shorter /$LISTNAME/. So we make the CGI support /$LISTNAME/index.html. The downside of this is the potential duplicate entry in all caches.
2014-04-10cgi: implement get_mid_txt
This is essential when telling people to use something like: curl $URL | git am
2014-04-10cgi: wire up index + tests
Remove the specified /all.html while we're at it, we only have /all.atom.xml because it's convenient for feed readers.
2014-04-09t/mda: additional precheck tests
We did not test as well as we should have.
2014-04-09mda: set GIT_AUTHOR_DATE in commits as well
While we're at it, write some quick tests.
2014-04-09config: include listname on lookup
We will be using it when setting GIT_COMMITTER_NAME
2014-04-09preliminary HTML index generation
Using JWZ threading might work decently for this. Haven't checked in lynx, yet.
2014-04-09precheck: stricter checks including min length
We should reject values which are too short to be useful or sane.
2014-04-07feed: generate takes a hashref for args
Passing a giant argument list is to error prone and hard-to-document.
2014-04-06feed: reuse view class to display message
This reduces duplicated/similar code and hopefully makes things more consistent.
2014-04-05get a basic CGI feed sender running
We should be able to wire up the rest, soon.
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-05view: implement quote folding and flesh out tests
Unfortunately, quoting is often excessive, so hide multi-line quotes by default and provide anchored links to full messages instead.
2014-04-05view: update IRP and MID links
We'll go with .html and .txt suffixes on MIDs to benefit static hosting setups.
2014-04-05flesh out MDA and simplify config setup
We will be reusing the config parsing code for the CGI script, too.
2014-04-05precheck uses recipient argument
We will also be using the RECIPIENT env in the future, since that takes aliases into account. Reducing the possible callsites to check ENV means we can more easily update the code in the future.
2014-04-04filter: use regexp to check multipart bodies
This should be safer than running file(1), which has had its share of vulnerabilities this year (early 2014) We really only care about diffs and maybe short log files, here.
2014-03-28filter: use file(1) to detect mime type if octet-stream
Some mailers do not correctly detect/set the Content-Type header; so attempt to keep messages based on our server-detected MIME type if application/octet-stream was specified.
2014-03-28config: revamp API and implement lookup
2014-03-24initial cut at Atom feed generation
This should make it easier for non-ssoma users to follow.
2014-02-25precheck: require Message-ID to be set
Valid emails should not arrive without a Message-ID.
2014-02-25view: add view module to be used for rendering HTML
This is to keep content accessible to search engines.
2014-02-11move pre-spamc checks to PublicInbox->precheck
We may add more checks before we go to spamc.
2014-02-07trivial config module for dumping config
We'll be using git config files after all...
2014-01-14drop Mail-Followup-To, Mail-Reply-To, and Reply-To
Due to the higher latency of a pull-based email, we want to encourage the use of reply-to-all for public-inbox.
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-09initial commit