[HTTPS-E Rulesets] Wildcard confusion and data structure question

Adam Fisk a at bravenewsoftware.org
Thu Aug 11 14:58:15 PDT 2011


Hi Everyone- First off, awesome work on HTTPS Everywhere - great
stuff. I'm integrating this into Lantern, which I'll talk more about
soon, but I'm a bit confused about some details of the wildcard
implementation at the end of targets. The GoogleServices rule set, for
example, includes the following:

<ruleset name="GoogleServices">
  <target host="google.*" />
  <target host="google.co.*" />

Clearly

<target host="google.*" />

covers a superset of

<target host="google.co.*" />

I don't understand why the rule set includes both.

I'm also curious about what data structure you're using for those
wildcard searches at the end. Are you using prefix matching with a
Trie? How are you able to do this efficiently without iterating and
regexing every target for every request?

Thanks!

-Adam



More information about the HTTPS-Everywhere-Rules mailing list