about summary refs log tree commit homepage
path: root/lib
DateCommit message (Collapse)
2014-04-11filter: use IPC::Run and improve lynx error handling
We may occasionally encounter horrid HTML which lynx cannot handle, so improve error reporting.
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-08precheck: reject messages with no subject
Composers may screw up and leave the subject out, so reject those messages.
2014-04-08feed: filter out each_recent_blob wrapper
We will need it for HTML indices, too.
2014-04-07feed: generate takes a hashref for args
Passing a giant argument list is to error prone and hard-to-document.
2014-04-06view: use "original" rather than "raw"
This wording is probably clearer to everyone, and also used by at least one other mailing list WWW interface.
2014-04-06view: minor cleanups
Avoid adding extraneous whitespace in HTML content, as it increases bandwidth usage of network, disk and memory.
2014-04-06feed: reuse view class to display message
This reduces duplicated/similar code and hopefully makes things more consistent.
2014-04-06view: all content is assumed to be displayable text
Our Filter class now passes through application/octet-stream if it looks like text (because some mailers suck); so we cannot trust the specified Content-Type of a message.
2014-04-05view: use URI::Escape to escape URIs
CGI::escape is not a documented subroutine, so the chances of it going away are higher.
2014-04-05feed: remove unnecessary use
We no longer use DateTime::Format::Mail.
2014-04-05feed: use Date::Parse to parse dates
This is a smaller module dependency-wise and should be easier-to-install for folks with limited packaging systems or network/disk capacity. We do not need very powerful date parsing, as bad date formats are likely the work of spammers.
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-05config: add shortcut for retrieving elements
Hopefully this makes for less ad-hoc hash access in case our config format changes.
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-04-03filter: possibly keep PGP sigs only (not other types)
We may keep PGP signatures for messages we do not modify. However, we have no way of verifying them on the server-side.
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