about summary refs log tree commit homepage
path: root/t
DateCommit message (Collapse)
2014-05-02view: API cleanup, remove "as_" prefix
These views are not OO, so the "as_" prefix makes little sense and "as_html" conflicts with Hval, which is OO.
2014-05-01split out WWW package and CGI/PSGI-specific parts
This should allow us to more-easily test with Plack.
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-27Feed: <id> element must be a URI, oops :x
For each feed element, we'll just use the link since there's currently no suitable URN.
2014-04-26huge refactor of encoding handling
Hopefully this simplifies and corrects our usage of Perl encoding APIs.
2014-04-23t/feed: cleanup test and add test for /f/ link
We already depend on IPC::Run, so just use it our tests.
2014-04-23feed: add tests for <id> element setting
We need to ensure this works This follows commit bd8fd095067b79a0d2a40bbca2b27b923d02b3f8 ("feed: fix address when multiple addresses exist")
2014-04-23t/feed: notify user of missing XML::Feed
One of my dev machines did not have XML::Feed so things were not tested sufficiently.
2014-04-22view: fix link to raw message from /f/ endpoint
Ugh, at least this has a test...
2014-04-21config: use description file for gitweb
Do not repeat ourselves, just use the same description file gitweb uses to avoid surprising users.
2014-04-21feed: there is only one atom feed, with all messages
This is not a blog. All posts, whether replies or not, carry equal weight.
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-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.