Match cookie-database denylist on domain forms
The cookie-database aggregator backstop normalised the agent's
third-party name and looked it up against bare brand keys, but
normalizeAlnum folds the eTLD into the key (cookiedatabase.org ->
cookiedatabaseorg). Domain- and URL-form attributions therefore
slipped past the exact lookup, letting noisy aggregator names be
accepted instead of discarded.
Add uri.DomainLabel to reduce a host-like string to its primary
registrable label and check it alongside the normalised name, so
both brand ("Cookiepedia") and domain forms ("cookiedatabase.org",
"https://www.cookiepedia.co.uk/list") resolve to the same key.
Signed-off-by: Émile Ré <emile@probo.com>
This commit is contained in:
@@ -106,8 +106,13 @@ func TestNameIsCookieDatabaseAggregator(t *testing.T) {
|
||||
{name: "cookieserve is denied", vendor: "CookieServe", expected: true},
|
||||
{name: "spacing and casing insensitive", vendor: " COOK IFI ", expected: true},
|
||||
{name: "punctuation insensitive", vendor: "Cookie_Database", expected: true},
|
||||
{name: "cookiedatabase domain form is denied", vendor: "cookiedatabase.org", expected: true},
|
||||
{name: "cookifi domain form is denied", vendor: "cookifi.com", expected: true},
|
||||
{name: "cookiepedia url form is denied", vendor: "https://www.cookiepedia.co.uk/list", expected: true},
|
||||
{name: "cookieserve subdomain form is denied", vendor: "scan.cookieserve.com", expected: true},
|
||||
{name: "onetrust is allowed", vendor: "OneTrust", expected: false},
|
||||
{name: "cookiebot is allowed", vendor: "Cookiebot", expected: false},
|
||||
{name: "cookiebot domain form is allowed", vendor: "cookiebot.com", expected: false},
|
||||
{name: "cookieyes is allowed", vendor: "CookieYes", expected: false},
|
||||
{name: "cookie-script is allowed", vendor: "Cookie-Script", expected: false},
|
||||
{name: "unrelated vendor is allowed", vendor: "Google Analytics", expected: false},
|
||||
|
||||
Reference in New Issue
Block a user