Fix highligthing of FQDN match in logger

Related feedback:
- https://github.com/uBlockOrigin/uAssets/issues/7619#issuecomment-653010310

Also fixed strict-blocking of URL using FQDN.
This commit is contained in:
Raymond Hill 2020-07-03 14:28:03 -04:00
parent 324b4fe9c1
commit 941898e54e
No known key found for this signature in database
GPG Key ID: 25E1490B761470C2
2 changed files with 9 additions and 5 deletions

View File

@ -923,7 +923,7 @@ const FilterAnchorHn = class extends FilterAnchorHnLeft {
logData(details) {
super.logData(details);
details.pattern.push('^');
details.regex.push(restrSeparator);
details.regex.push('\\.?', restrSeparator);
}
toSelfie() {
@ -1709,7 +1709,7 @@ const FilterHostnameDict = class {
logData(details) {
details.pattern.push('||', this.$h, '^');
details.regex.push(restrFromPlainPattern(this.$h), restrSeparator);
details.regex.push(restrFromPlainPattern(this.$h), '\\.?', restrSeparator);
}
toSelfie() {

View File

@ -254,9 +254,13 @@ const toBlockDocResult = function(url, hostname, logData) {
// https://github.com/chrisaljoudi/uBlock/issues/1212
// Verify that the end of the match is anchored to the end of the
// hostname.
const end = match.index + match[0].length -
url.indexOf(hostname) - hostname.length;
return end === 0 || end === 1;
// https://github.com/uBlockOrigin/uAssets/issues/7619#issuecomment-653010310
// Also match FQDN.
const hnpos = url.indexOf(hostname);
const hnlen = hostname.length;
const end = match.index + match[0].length - hnpos - hnlen;
return end === 0 || end === 1 ||
end === 2 && url.charCodeAt(hnpos + hnlen) === 0x2E /* '.' */;
};
/******************************************************************************/