Commit Graph

8600 Commits

Author SHA1 Message Date
Raymond Hill 54e77b1b54
Import translation work from https://crowdin.com/project/ublock 2020-12-28 07:35:19 -05:00
Raymond Hill 5d17289d4a
New revision for dev build 2020-12-28 07:32:36 -05:00
Raymond Hill 2e7f1b8d08
Improve validation of synctactically bad regexes
The following regex are not rejected as invalid when
using built-in regex objects:

    /abc]/
    /a7,18}/
    /a{7,18/

However, as per documentation, they are not supposed to
be valid, as `{` and `}` are special characters and as
such should be escaped:

    /abc\]/
    /a7,18\}/
    /a\{7,18/

With this commit, the regexes will additionally be
validated using the regex analyzer library in the editor
to ensure strict regex syntax compliance so as to avoid
what are likely mistakes in regex crafting by authors.
2020-12-28 07:13:57 -05:00
Raymond Hill 4ba3adc28c
Fix comment 2020-12-28 07:07:04 -05:00
Raymond Hill d910111d4a
Fix parsing of trailing resource
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1419
2020-12-28 07:03:52 -05:00
Raymond Hill 1d2907890b
Make Firefox dev build auto-update 2020-12-27 09:45:25 -05:00
Raymond Hill 224acc4a9f
New revision for dev build 2020-12-27 09:36:30 -05:00
Raymond Hill 6d3ad553b4
Fix word-based selection in filter list editor/viewer
This commit fixes mouse double-click-and-drag operations,
which was broken due to the implementation of a custom
word selection in the filter list editor/viewer.
2020-12-27 09:32:50 -05:00
Raymond Hill f80371e844
Make Firefox dev build auto-update 2020-12-26 10:25:29 -05:00
Raymond Hill 934bd3e80d
new revision fro dev build 2020-12-26 10:16:54 -05:00
Raymond Hill b053477087
Fix potentially missing context in logger for `popup` entries
Reported internally.
2020-12-26 10:15:07 -05:00
Raymond Hill 8e810832ba
Make Firefox dev build auto-update 2020-12-26 09:20:28 -05:00
Raymond Hill 1b686c8204
New revision for dev build 2020-12-26 09:15:30 -05:00
Raymond Hill 426395aa03
Improve extraction of tokens from regex-based filters
Regex-based static network filters are those most likely to
cause performance degradation, and as such the best guard
against undue performance degradation caused by regex-based
filters is the ability to extract valid and good tokens
from regex patterns.

This commit introduces a complete regex parser so that the
static network filtering engine can now safely extract
tokens regardless of the complexity of the regex pattern.

The regex parser is a library imported from:
https://github.com/foo123/RegexAnalyzer

The syntax highlighter adds an underline to regex-based
filters as a visual aid to filter authors so as to avoid
mistakenly creating regex-based filters. This commit
further colors the underline as a warning when a regex-based
filter is found to be untokenizable.

Filter list authors are invited to spot these untokenizable
regex-based filters in their lists to verify that no
mistake were made for those filters, causing them to be
untokenizabke. For example, what appears to be a mistake:

    /^https?:\/\/.*\/sw.js?.[a-zA-Z0-9%]{50,}/

Though the mistake is minor, the regex-based filter above
is untokenizable as a result, and become tokenizable when
the `.` is properly escaped:

    /^https?:\/\/.*\/sw\.js?.[a-zA-Z0-9%]{50,}/

Filter list authors can use this search expression in the
asset viewer to find instances of regex-based filters:

    /^(@@)?\/[^\n]+\/(\$|$)/
2020-12-26 08:52:42 -05:00
Raymond Hill fdcb110feb
New revision for dev build 2020-12-26 08:49:12 -05:00
Raymond Hill 1e172d7b81
Make Firefox dev build auto-update 2020-12-24 08:45:23 -05:00
Raymond Hill 9685558162
New revision for dev build 2020-12-24 08:37:58 -05:00
Raymond Hill 596f085fa5
Allow default word selection when not using better selection
Double-click in editor will just fall back to default word
selection when NOT using enhanced word selection.
2020-12-24 08:34:45 -05:00
Raymond Hill ab06a01062
Better handle Request argument in no-fetch-if
As per internal feedback.
2020-12-24 08:26:30 -05:00
Raymond Hill 1c37e29e0a
Fix handling of fragment when applying `queryprune`
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1415
2020-12-24 07:35:26 -05:00
Raymond Hill 8f91acd5b3
Make Firefox dev build auto-update 2020-12-22 09:30:56 -05:00
Raymond Hill 6810868e96
New revision for dev build 2020-12-22 09:06:56 -05:00
Raymond Hill 5d617484e5
Upgrade CodeMirror library to 5.59.0 (from 5.46.0) 2020-12-22 09:06:26 -05:00
Raymond Hill 7e56a782e8
New revision for stable release 2020-12-22 08:14:06 -05:00
Raymond Hill 37d3b928bb
Make Firefox dev build auto-update 2020-12-21 09:30:58 -05:00
Raymond Hill f6a4f00613
New revision for release candidate 2020-12-21 09:22:11 -05:00
Raymond Hill ea71e93c81
Reset Chromium-specific `color-scheme` CSS property
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1408
2020-12-21 09:20:56 -05:00
Raymond Hill f6234516f4
Make Firefox dev build auto-update 2020-12-20 12:20:31 -05:00
Raymond Hill 86a2bcaff0
Import translation work from https://crowdin.com/project/ublock 2020-12-20 12:08:06 -05:00
Raymond Hill a68ad0f30b
new revision for release candidate 2020-12-20 11:56:33 -05:00
Raymond Hill 187f1831f0
Allow more local resources to be redirected as data: URIs
Related feedback:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1388#issuecomment-748625280
2020-12-20 11:54:24 -05:00
Raymond Hill 53d893a1b3
Make Firefox dev build auto-update 2020-12-18 12:15:25 -05:00
Raymond Hill c1f913fbde
New revision for release candidate 2020-12-18 12:09:45 -05:00
Raymond Hill 990cff576d
Fix case of scriptlet injection not working `about:` frames
This is an issue in uBO affecting only Chromium-based browsers.

Related feedback:
https://github.com/uBlockOrigin/uBlock-issues/issues/688#issuecomment-748179731
2020-12-18 12:07:08 -05:00
Raymond Hill 2867ae175f
Make Firefox dev build auto-update 2020-12-17 10:15:50 -05:00
Raymond Hill ab641efc13
New revision for release candidate 2020-12-17 09:34:37 -05:00
Raymond Hill a307cf5e6a
Mind restore-from-backup for no-csp-reports rule
Related commit:
- 7d90f97aa1
2020-12-17 08:12:06 -05:00
Raymond Hill 2ddf6904f0
Make Firefox dev build auto-update 2020-12-16 07:30:32 -05:00
Raymond Hill 86eb6850ca
New revision for dev build 2020-12-16 07:05:38 -05:00
Raymond Hill bc9b8a1330
Enable broad no-csp-reports rule only in Firefox
Related commit:
- 7d90f97aa1
2020-12-16 07:02:55 -05:00
Raymond Hill 095924aa50
New revision for dev build 2020-12-16 07:02:01 -05:00
Raymond Hill 89cac090a4
Mind `important` only for valid redirect tokens
Related feedback:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1366#issuecomment-745744824
2020-12-16 06:55:46 -05:00
Raymond Hill 058f160055
Make Firefox dev build auto-update 2020-12-15 09:45:45 -05:00
Raymond Hill a090b2b564
Fix auto-completion for epicker in Firefox 2020-12-15 09:38:20 -05:00
Raymond Hill 0052dc123b
Fix `no-csp-reports` default enabled switch state
Related feedback:
- 7d90f97aa1 (commitcomment-45138096)
2020-12-15 09:36:04 -05:00
Raymond Hill 4d3e032f36
New revision for dev build 2020-12-15 09:22:06 -05:00
Raymond Hill e28c2cc3c6
Auto-complete of origin pattern for `||`-based patterns
Related commit:
- daf464b3c3
2020-12-15 08:27:59 -05:00
Raymond Hill 8060ddb283
Avoid duplicates in editor's auto-completion of origins
Related commit:
- daf464b3c3
2020-12-14 11:26:04 -05:00
Raymond Hill b22cf24bd5
Fix look-up of specific-generic filters entity-less hostnames
Related feedback:
- https://github.com/uBlockOrigin/uBlock-issues/issues/688#issuecomment-743755956
2020-12-14 11:22:08 -05:00
Raymond Hill c45b93a25c
Make Firefox dev build auto-update 2020-12-14 08:50:19 -05:00