Commit Graph

17 Commits (master)

Author SHA1 Message Date
vi b42958031a Forward the rules database to the 2017.12.6 release.
Triples the number of the rules. Suffix trees are a good idea.
2017-12-11 04:29:19 +01:00
vi 72e984ebcb Workaround a design flaw in data-files globbing; increase coverage.
A longstanding design error in Cabal requires data-files' full
extension to match exactly, so *.xml matches CERT.xml but not
CERT.fi.xml. The previous specification dropped 27% of rules.
2017-12-11 03:55:40 +01:00
vi e2d9556c6f Another example: CountUpgradeable.
Given a sequence of URIs on stdin, count the number we know how to
rewrite, together with the total number input. Coverage analysis?
2017-12-05 21:51:40 +01:00
vi 4708e7fc8c Avoid the regular expression engine in parsing rule targets.
I read in the bible (https://www.eff.org/https-everywhere/rulesets) that:

"""
To cover all of a domain's subdomains, you may want to specify a
wildcard target like *.twitter.com. Specifying this type of left-side
wildcard matches any host name with .twitter.com as a suffix, e.g.
www.twitter.com or urls.api.twitter.com. You can also specify a
right-side wildcard like www.google.*. Right-side wildcards, unlike
left-side wildcards, apply only one level deep. So if you want to
cover all countries you'll generally need to specify www.google.*,
www.google.co.*, and www.google.com.* to cover domains like
www.google.co.uk or www.google.com.au.
"""

The previous interpretation is both incorrect (because right wildcards
only apply one level deep) and potentially expensive (regular
expression matching is exponential in the worst-case.)
2017-12-05 20:54:40 +01:00
vi 44b6f2dcb4 Dependency upgrades; lts-8.24.
While we're here, ensure Cabal doesn't expect executable-exclusive
dependencies when the build-examples flag is set to false.
2017-12-05 17:23:37 +01:00
vi 81ec883617 List the library as a dependency of the test suite, so Stack rebuilds tests without "build". 2015-11-08 17:14:01 +08:00
vi c26afe01cf Don't admit package-wise parameterisation of rulesets.
As 'a6f28e07a1edc8f62f3dfaf7965b3a818c2f4a7f' showed, there may be
breaking changes in the structure of rulesets between releases. I
don't intend to verify that every pair in the product works (is there
reason to be interested in any other than the latest?), so let's not
acommodate any more than one.
2015-11-08 00:53:35 +08:00
vi e3c171b67e Prepare to assimilate https-everywhere-rules-raw. 2015-11-04 21:57:59 +08:00
vi 16959f6ca0 Bumped dependencies, added a Nix derivation. 2014-12-25 19:54:56 +00:00
vi 412ca9fa16 Bump minor version, for recent interface change. 2014-08-25 01:26:44 +08:00
vi 663f9b61dc Build dependencies: permit text-icu 0.8. 2014-08-24 23:52:28 +08:00
vi 2732605a61 Permit latest Hspec. 2014-08-17 07:44:46 +08:00
vi 49be7aa1a0 Use more structured URI representation; targets match only hosts.
This resolves #2.
2014-08-11 03:32:51 +08:00
vi 2a409bfdc7 Sorted build-depends. 2014-08-11 02:14:00 +08:00
vi d86284f09e Unit tests for Data.Text.ICU.Extras. 2014-08-11 00:12:36 +08:00
vi 85a367ec94 No restriction on rules-raw dependency; list ICU extras in other-modules. 2014-08-10 07:26:21 +08:00
vi f78421e09f Incomplete parser for HTTPS Everywhere rulesets. 2014-08-10 04:23:41 +08:00