This is an automated email from the git hooks/post-receive script.
richard pushed a change to branch tor-browser-91.8.0esr-11.0-1 in repository tor-browser.
at a981804052f46 Bug 1761026 - Add a null check for FetchDriver::mResponse, r=necko-reviewers,dragana a=dmeehan
This branch includes the following new commits:
new 99a3b733054cc No bug - Tagging c17c94724a2ff10f89fa0a634f2bd1dc2e1744a7 with FIREFOX_91_7_0esr_BUILD2 a=release CLOSED TREE DONTBUILD new dc541281fdef7 Bug 1736323 - [marionette] "WebDriver:NewSession" has to wait for the very first tab to finish loading. r=jdescottes, a=RyanVM new 0cc539e2b0fc9 No Bug, mozilla-esr91 repo-update remote-settings - a=repo-update r=RyanVM new 8fb634d7772b0 Bug 1718878 - Minimal changes to third_party library gyp to make it compatible with Python 3.10 r=mhentges a=RyanVM new e4e7f5c7dbeaf Bug 1718878 - Updates to the build system to enable compatibility with Python 3.10 (Mainly regarding collections.abc) r=mhentges,webdriver-reviewers,whimboo a=RyanVM new 269bf5c2fbe33 Bug 1740631 - Add requirements-plist-url to mac signing payloads, r=aki,glandium a=RyanVM new 6ea00418301ed Backed out changeset b138fdfe8157 (bug 1740631) for decision task bustage. new 1bb582673437d Bug 1754724 - Clear up some computations in expat code. r=farre, a=tritter new fc945e15a1e76 Bug 1754724 - Clear up some more computations in expat code. r=farre, a=tritter new 2bc7c0e26d98b Bug 1754724 - Clear up even more computations in expat code. r=farre, a=tritter new 35e9741dffb37 Bug 1758062 - Convert parameters upfront. r=smaug, a=tritter new 6aad610559f0c Bug 1758070 - Null out mContext during shutdown. r=emilio, a=tritter new b34868d4b32fb Backed out changeset a9af50645153 (bug 1758070) for bustage. new 8842d832e7e2f Bug 1758070 - Null out mContext during shutdown. r=emilio, a=tritter new 3391c43074de0 No bug - Tagging adafd45a7676d09ac5db5753d4c1b3f938626722 with FIREFOX_91_6_1esr_BUILD1 a=release CLOSED TREE DONTBUILD new d8a5a5fae23d2 No bug - Tagging adafd45a7676d09ac5db5753d4c1b3f938626722 with FIREFOX_91_6_1esr_RELEASE a=release CLOSED TREE DONTBUILD new 713ec718f9a6b No bug - Tagging a9d3c0f4732a9a62428089fff64ae8ff3d608918 with FIREFOX_91_7_0esr_BUILD3 a=release CLOSED TREE DONTBUILD new 8c46d613a84c1 Update configs. IGNORE BROKEN CHANGESETS CLOSED TREE NO BUG a=release ba=release new ff5cc0c78b3b8 No bug - Tagging a9d3c0f4732a9a62428089fff64ae8ff3d608918 with FIREFOX_91_7_0esr_RELEASE a=release CLOSED TREE DONTBUILD new 3eeac87680a0d Bug 1739008 - [marionette] Monitor navigation using the webprogresslistener for NewSession. r=whimboo, a=RyanVM new 2e6e53cb3a6a8 Bug 1758021 - Get is_{arm,aarch64}_feature_detected from std::arch on rustc >= 1.60. r=jrmuizel, a=RyanVM new 061428a9e55c1 Bug 1758156 - Check the pref when creating PWebGPU parent actors. r=aosmond a=pascalc new b4fb1fbab9ac2 No Bug, mozilla-esr91 repo-update remote-settings - a=repo-update r=RyanVM new 7b23fdb8c1b09 Bug 1759318 - Disable test on all platforms. a=test-only new 2aad63ad5eb55 Bug 1759008 - Update search parameters. r=mkaply a=pascalc new 8078b2e364d26 No bug - Tagging 42c4e735b19a0fad800bbba829bf6451a351a586 with FIREFOX_91_7_1esr_BUILD1 a=release CLOSED TREE DONTBUILD new 0f45600ed523c Bug 1759364 - Update search parameters part 2. r=mkaply a=pascalc new cdfd879b41698 No bug - Tagging 9ed28ee4263d289b30e236fc520c8254fb65e764 with FIREFOX_91_7_1esr_BUILD2 a=release CLOSED TREE DONTBUILD new ab46d8e9e12ac No bug - Tagging 9ed28ee4263d289b30e236fc520c8254fb65e764 with FIREFOX_91_7_1esr_RELEASE a=release CLOSED TREE DONTBUILD new 9c99b43f8f989 Bug 1750679. r=nika, a=RyanVM new 43f4ff7552d63 Bug 1758509 - Update regex crate to 1.5.5 r=emilio, a=RyanVM new 4b5839c0b8a48 Bug 1758776 - Replace the unused mVRDisplayID with a bool. r=jgilbert, a=RyanVM new b79bd94ff5159 Bug 1753508 - Make `EditorBase::AutoEditActionDataSetter::UpdateSelectionCache` clean up and restart selection batch which the editor started. r=smaug, a=RyanVM new d54411c31e495 Bug 1755621 - Check webauthn extensions r=dveditz, a=RyanVM new cbe23c6227e96 Bug 1759705 - Run Windows 10 marionette tests on Azure. r=jmaher, a=test-only new 028d943280514 No Bug, mozilla-esr91 repo-update HSTS HPKP remote-settings tld-suffixes - a=repo-update r=RyanVM new 68f4e938cba3d Bug 1759712 - Update tests for search-config changes. r=mkaply, a=test-only new cd1fe8df165ce Bug 1751609, trigger localization at expected time, r=mccr8 a=RyanVM new 4b51a6854eddb No Bug, mozilla-esr91 repo-update HSTS HPKP remote-settings tld-suffixes - a=repo-update r=RyanVM new 33e46d7f8d76b Bug 1743384 - add test, r=mconley a=test-only new cea85e0f3a5ad Bug 1741873 - Update libtheora to latest; r=bryce, a=RyanVM new c58a1ce7837ea Bug 1736570 - Avoid DocumentChannel for nsParser-created initial about:blank replacement. r=smaug, a=RyanVM new 46bf5796b19ef Bug 1663508: Handle interruptions of drag sessions more gracefully on macOS. r=mstange a=RyanVM new e28c435a505a0 No Bug, mozilla-esr91 repo-update HSTS HPKP remote-settings tld-suffixes - a=repo-update r=RyanVM new 6e9e7a2feaeb6 Bug 1759506 - Avoid crashing if mReservedClientInfo already has something, r=edenchuang a=RyanVM new d7c70a67c9c5d Bug 1687417 - Disable static_assert on NOJIT 32-bit. r=jseward, a=RyanVM new 4ed1d7ab3cfe4 Bug 1691774 - Check shmem allocation/mapping failures in ClientWebGLContext. r=jgilbert, a=RyanVM new 513b0d091fb17 Bug 1758549, part 1 - Check that WebVR is enabled before creating PVR, PVRGPU and PVRLayer actors. r=jgilbert a=RyanVM new 3c92dd82fe14b Bug 1758549, part 2 - Guard a few more entry points into VRManager. r=jgilbert a=RyanVM new 0208a1b72665e Bug 1759432 - Don't check for the WebVR pref in VRProcessChild::Init. r=jgilbert a=RyanVM new 158ba86d343f6 Bug 1756957 - Fix AliasSet of MLoadTypedArrayElementHole - r=nbp a=RyanVM new f399329d5bada Bug 1757476: Align spills of ARM64 double registers r=jseward a=RyanVM new c05ef0fc91ebf Bug 1760604 - fix bogus domain to be example.com which is part of our test PAC rules. r=ahal a=test-only new 2700678659a06 Bug 1757376: Continue post processing of Enter key when any keyup event is detected on URL bar. r=adw a=RyanVM new 76782b5eb62f5 Bug 1757376: Continue post processing of Enter key when any keyup event is detected on search bar. r=adw a=RyanVM new e006c0b0d909f Bug 1757805 - Add additional assertions around shmem size, r=ipc-reviewers,handyman a=RyanVM new 2e791b5dd2785 No Bug, mozilla-esr91 repo-update HSTS HPKP remote-settings tld-suffixes - a=repo-update r=RyanVM new eac6580f5edd8 Bug 1758975 - Ensure GIF color tables are opaque by default. r=tnikkel a=RyanVM new 423c2d6b03593 Bug 1757760 retain correct search default setting after addon update r=rpl a=RyanVM new f2150f3c1b49b Bug 1758357 - Fix PuppetWidget::SetCursor to avoid sending cursor updates to the parent process over and over. r=mstange, a=RyanVM new c9933ca9561f6 Bug 1744525 - Prevent too-high vert-count draws on Mesa. r=lsalzman a=RyanVM new caa9137aca07b Bug 1744525 - Add missing IsMesa definition. a=bustage new 48bcc68a7c173 Bug 1759494 - Remove some dead code introduced for PDFium. r=dholbert a=RyanVM new 3d3529185d919 Backed out changeset 8b95a4976dc0 (bug 1744525) new b2a224bbf181b Bug 1744525 - Add missing IsMesa definition. a=bustage new 3fd4b7bf7b668 Bug 1706594 - Add nsICancelable out param to nsBaseChannel::BeginAsyncRead virtual method. r=nika,valentin a=RyanVM new 612808528c94b Bug 1735899 - Make sure RemoteLazyInputStream::Close calls mInputStreamCallback OnInputStreamReady method. r=nika, a=RyanVM new 0f2b9259d75d0 Bug 1735899 - Cover the browserAction popup preload with a smoketest. r=mixedpuppy, a=RyanVM new 3b7ec4026f774 Bug 1735265 - Part 1: Set clip on background items for table cols and colgroups, when the table cell has captured clip. r=mstange, a=RyanVM new d874ec490dbe8 Bug 1735265 - Part 2: Add test. r=mstange, a=RyanVM new 9ba0f90a39b26 No Bug, mozilla-esr91 repo-update HSTS HPKP remote-settings tld-suffixes - a=repo-update r=RyanVM new 6e69482b8f037 Bug 1760872 - land NSS NSS_3_68_3_RTM UPGRADE_NSS_RELEASE, r=djackson a=RyanVM new 0ab16a8812f05 Bug 1761799 - Fix a bug that can crash deflate on some input when using Z_FIXED. r=tjr a=dmeehan new 0388bb28d3b04 Bug 1762128 - bump the cache name for decision images to stop interfering with other trees. r=releng-reviewers,ahal a=release new 43294d46724d1 Backed out changeset 8c09f2e41217 (bug 1762128) issue in the build pipeline only affects central not esr new a981804052f46 Bug 1761026 - Add a null check for FetchDriver::mResponse, r=necko-reviewers,dragana a=dmeehan
The 76 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference.
This is an automated email from the git hooks/post-receive script.
richard pushed a commit to branch tor-browser-91.8.0esr-11.0-1 in repository tor-browser.
commit 99a3b733054ccb046aab33af239a5e1120f81d7c Author: Mozilla Releng Treescript release+treescript@mozilla.org AuthorDate: Mon Feb 28 23:58:47 2022 +0000
No bug - Tagging c17c94724a2ff10f89fa0a634f2bd1dc2e1744a7 with FIREFOX_91_7_0esr_BUILD2 a=release CLOSED TREE DONTBUILD --- .hgtags | 1 + 1 file changed, 1 insertion(+)
diff --git a/.hgtags b/.hgtags index a764237a9af57..b7680cfc58ecc 100644 --- a/.hgtags +++ b/.hgtags @@ -3156,3 +3156,4 @@ f560cd3cd43bace45c9a7323404848efde7ac452 FIREFOX_91_5_1esr_RELEASE 3ac96fd3a3820bb8a3160de1bc52009fe22d769d FIREFOX_91_6_0esr_BUILD1 3ac96fd3a3820bb8a3160de1bc52009fe22d769d FIREFOX_91_6_0esr_RELEASE 0cb2ab8a5857348e0e7c0eb22fac300e01dafce0 FIREFOX_91_7_0esr_BUILD1 +c17c94724a2ff10f89fa0a634f2bd1dc2e1744a7 FIREFOX_91_7_0esr_BUILD2
This is an automated email from the git hooks/post-receive script.
richard pushed a commit to branch tor-browser-91.8.0esr-11.0-1 in repository tor-browser.
commit dc541281fdef7c2033bcc663e2ad1492192c4785 Author: Henrik Skupin mail@hskupin.info AuthorDate: Mon Feb 28 22:14:23 2022 +0100
Bug 1736323 - [marionette] "WebDriver:NewSession" has to wait for the very first tab to finish loading. r=jdescottes, a=RyanVM --- remote/marionette/driver.js | 19 ++++++++++++++----- remote/marionette/navigate.js | 8 +++++++- .../marionette_harness/tests/unit/test_navigation.py | 16 ++++++++++++++++ 3 files changed, 37 insertions(+), 6 deletions(-)
diff --git a/remote/marionette/driver.js b/remote/marionette/driver.js index efa4f62d48ba3..9560b051752c5 100644 --- a/remote/marionette/driver.js +++ b/remote/marionette/driver.js @@ -564,20 +564,29 @@ GeckoDriver.prototype.newSession = async function(cmd) { this.registerListenersForWindow(win); }
+ // Setup observer for modal dialogs + this.dialogObserver = new modal.DialogObserver(() => this.curBrowser); + this.dialogObserver.add(this.handleModalDialog.bind(this)); + if (this.mainFrame) { this.currentSession.chromeBrowsingContext = this.mainFrame.browsingContext; this.mainFrame.focus(); }
if (this.curBrowser.tab) { - this.currentSession.contentBrowsingContext = this.curBrowser.contentBrowser.browsingContext; + const browsingContext = this.curBrowser.contentBrowser.browsingContext; + this.currentSession.contentBrowsingContext = browsingContext; + // If the currently selected tab is loading, wait until it's done. + if (browsingContext.webProgress.isLoadingDocument) { + await navigate.waitForNavigationCompleted(this, () => {}, { + loadEventExpected: true, + unknownState: true, + }); + } + this.curBrowser.contentBrowser.focus(); }
- // Setup observer for modal dialogs - this.dialogObserver = new modal.DialogObserver(() => this.curBrowser); - this.dialogObserver.add(this.handleModalDialog.bind(this)); - // Check if there is already an open dialog for the selected browser window. this.dialog = modal.findModalDialogs(this.curBrowser);
diff --git a/remote/marionette/navigate.js b/remote/marionette/navigate.js index 50a0bce413d5a..dbb02b55fd43a 100644 --- a/remote/marionette/navigate.js +++ b/remote/marionette/navigate.js @@ -201,6 +201,9 @@ navigate.refresh = async function(browsingContext) { * @param {boolean=} requireBeforeUnload * If false and no beforeunload event is fired, abort waiting * for the navigation. Defaults to true. + * @param {boolean=} unknownState + * Needs to be true if a navigation check is resumed and the current + * state of navigation is unknown. Defaults to false. */ navigate.waitForNavigationCompleted = async function waitForNavigationCompleted( driver, @@ -211,6 +214,7 @@ navigate.waitForNavigationCompleted = async function waitForNavigationCompleted( browsingContextFn = driver.getBrowsingContext.bind(driver), loadEventExpected = true, requireBeforeUnload = true, + unknownState = false, } = options;
const chromeWindow = browsingContextFn().topChromeWindow; @@ -227,7 +231,9 @@ navigate.waitForNavigationCompleted = async function waitForNavigationCompleted(
let browsingContextChanged = false; let seenBeforeUnload = false; - let seenUnload = false; + + // With an unknown state assume that unload has already been received. + let seenUnload = unknownState;
let unloadTimer;
diff --git a/testing/marionette/harness/marionette_harness/tests/unit/test_navigation.py b/testing/marionette/harness/marionette_harness/tests/unit/test_navigation.py index 30aaac59c969a..63dd7fd4f6201 100644 --- a/testing/marionette/harness/marionette_harness/tests/unit/test_navigation.py +++ b/testing/marionette/harness/marionette_harness/tests/unit/test_navigation.py @@ -858,6 +858,22 @@ class TestPageLoadStrategy(BaseNavigationTestCase): ) self.marionette.find_element(By.ID, "slow")
+ def test_none_with_new_session_waits_for_page_loaded(self): + self.marionette.delete_session() + self.marionette.start_session({"pageLoadStrategy": "none"}) + + # Navigate will return immediately. + self.marionette.navigate(self.test_page_slow_resource) + + # Make sure that when creating a new session right away it waits + # until the page has been finished loading. + self.marionette.delete_session() + self.marionette.start_session() + + self.assertEqual(self.test_page_slow_resource, self.marionette.get_url()) + self.assertEqual("complete", self.ready_state) + self.marionette.find_element(By.ID, "slow") + def test_eager(self): self.marionette.delete_session() self.marionette.start_session({"pageLoadStrategy": "eager"})
This is an automated email from the git hooks/post-receive script.
richard pushed a commit to branch tor-browser-91.8.0esr-11.0-1 in repository tor-browser.
commit 0cc539e2b0fc928fd4568a8565ec14ae0d8227ea Author: ffxbld ffxbld@mozilla.com AuthorDate: Thu Mar 3 11:01:11 2022 +0000
No Bug, mozilla-esr91 repo-update remote-settings - a=repo-update r=RyanVM
Differential Revision: https://phabricator.services.mozilla.com/D140177 --- .../dumps/blocklists/addons-bloomfilters.json | 16 ++ .../dumps/security-state/intermediates.json | 180 ++++++++++++--------- 2 files changed, 124 insertions(+), 72 deletions(-)
diff --git a/services/settings/dumps/blocklists/addons-bloomfilters.json b/services/settings/dumps/blocklists/addons-bloomfilters.json index b69f67ed03200..7b3ca6f908d56 100644 --- a/services/settings/dumps/blocklists/addons-bloomfilters.json +++ b/services/settings/dumps/blocklists/addons-bloomfilters.json @@ -1,5 +1,21 @@ { "data": [ + { + "stash": { + "blocked": [ + "{44a402f4-c627-4ecb-87c4-5fe5d0599047}:10.0.1", + "{83e2015a-e472-4351-a409-eab977a62bb6}:4.0.0", + "{bdd06799-956a-4228-9688-6a6bb3969d04}:1.0.0", + "{6111770a-21eb-40a1-8022-39d7acedb2f0}:0.5.0" + ], + "unblocked": [] + }, + "schema": 1646152603459, + "key_format": "{guid}:{version}", + "stash_time": 1646159708703, + "id": "2efbeab7-0e69-4aeb-b0c1-e51a962487b3", + "last_modified": 1646159885129 + }, { "stash": { "blocked": [ diff --git a/services/settings/dumps/security-state/intermediates.json b/services/settings/dumps/security-state/intermediates.json index 594856139b024..83b50da55719e 100644 --- a/services/settings/dumps/security-state/intermediates.json +++ b/services/settings/dumps/security-state/intermediates.json @@ -1,5 +1,113 @@ { "data": [ + { + "schema": 1646254109453, + "derHash": "YZB58QCmv7ZcsumIkN0KxJK2RmXiVKZqUp2PWRfYKrE=", + "subject": "CN=SSL.com EV TLS Transit ECC CA R1,O=SSL Corp,C=US", + "subjectDN": "MEsxCzAJBgNVBAYTAlVTMREwDwYDVQQKDAhTU0wgQ29ycDEpMCcGA1UEAwwgU1NMLmNvbSBFViBUTFMgVHJhbnNpdCBFQ0MgQ0EgUjE=", + "whitelist": false, + "attachment": { + "hash": "813568ad3957479c17622a959b8ab63a4cf63c31d2ca33b7e821bf2b24596db3", + "size": 1240, + "filename": "TJF_18-c6aze9ptYohDyVqW8qpXBnJDFv7VibJ8Mwrk=.pem", + "location": "security-state-staging/intermediates/e8dfd781-2c65-4f2e-8034-57aae5790501.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "TJF/18+c6aze9ptYohDyVqW8qpXBnJDFv7VibJ8Mwrk=", + "crlite_enrolled": false, + "id": "6c40d6c3-44da-4591-8301-206e579b5343", + "last_modified": 1646254643604 + }, + { + "schema": 1646232512995, + "derHash": "EIFi8rNe1xxuqVAvlLk+l1R4nd6HGyrCbOBtRyB6lcw=", + "subject": "CN=E-Tugra TLS ECC CA R1,O=E-TUGRA EBG BILISIM TEKNOLOJILERI VE HIZMETLERI ANONIM SIRKETI,C=TR", + "subjectDN": "MHYxCzAJBgNVBAYTAlRSMUcwRQYDVQQKDD5FLVRVR1JBIEVCRyBCSUxJU0lNIFRFS05PTE9KSUxFUkkgVkUgSElaTUVUTEVSSSBBTk9OSU0gU0lSS0VUSTEeMBwGA1UEAwwVRS1UdWdyYSBUTFMgRUNDIENBIFIx", + "whitelist": false, + "attachment": { + "hash": "865f7fc1eaa78ee98b3634dd19ba26f991e41b72612fd898dffb0a9b402f2f8d", + "size": 1284, + "filename": "77Kdi8Xr9UzIu5aCuPnN3svP6mCdcSnpHa2V6e8x1zA=.pem", + "location": "security-state-staging/intermediates/2ba21fbd-496c-4064-b6aa-1bb4c08a8c3c.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "77Kdi8Xr9UzIu5aCuPnN3svP6mCdcSnpHa2V6e8x1zA=", + "crlite_enrolled": false, + "id": "4a2fa335-2783-4e37-bc80-fd22c3d5dde8", + "last_modified": 1646233042429 + }, + { + "schema": 1646232514397, + "derHash": "JOegR1aXeTq/Pg3bBNVC/+fJPMcdGfYGcUSsqJpMpng=", + "subject": "CN=E-Tugra EV TLS RSA CA R1,O=E-TUGRA EBG BILISIM TEKNOLOJILERI VE HIZMETLERI ANONIM SIRKETI,C=TR", + "subjectDN": "MHkxCzAJBgNVBAYTAlRSMUcwRQYDVQQKDD5FLVRVR1JBIEVCRyBCSUxJU0lNIFRFS05PTE9KSUxFUkkgVkUgSElaTUVUTEVSSSBBTk9OSU0gU0lSS0VUSTEhMB8GA1UEAwwYRS1UdWdyYSBFViBUTFMgUlNBIENBIFIx", + "whitelist": false, + "attachment": { + "hash": "ff832707ff6388c2f86f03c8876a2067b549ee5e964ee24eaf6836a126e93f47", + "size": 2454, + "filename": "xybzNe-3QsP87NG3ziCnmdMQCSi_ImhJj-f6c7P2LVg=.pem", + "location": "security-state-staging/intermediates/421a9b84-482d-4dd3-956d-27a6423db871.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "xybzNe+3QsP87NG3ziCnmdMQCSi/ImhJj+f6c7P2LVg=", + "crlite_enrolled": false, + "id": "399e9081-2069-446f-9ee5-44f2b7f4f8ea", + "last_modified": 1646233042419 + }, + { + "schema": 1646232515698, + "derHash": "WGpcmDbZ+zvoY7p2Wnlm2UApf+x73UiAFseqHq4fHVE=", + "subject": "CN=E-Tugra TLS RSA CA R1,O=E-TUGRA EBG BILISIM TEKNOLOJILERI VE HIZMETLERI ANONIM SIRKETI,C=TR", + "subjectDN": "MHYxCzAJBgNVBAYTAlRSMUcwRQYDVQQKDD5FLVRVR1JBIEVCRyBCSUxJU0lNIFRFS05PTE9KSUxFUkkgVkUgSElaTUVUTEVSSSBBTk9OSU0gU0lSS0VUSTEeMBwGA1UEAwwVRS1UdWdyYSBUTFMgUlNBIENBIFIx", + "whitelist": false, + "attachment": { + "hash": "4eca0adeab34bbc93fb526a917efe4b0dfe1c89303f3813218c4c53646a37413", + "size": 2434, + "filename": "1vdxb07v0C-5fBq6GPagfHvdyZ31E78A2uKjjcHp3Z0=.pem", + "location": "security-state-staging/intermediates/f971e33f-fec1-4627-b26d-452f26fd9551.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "1vdxb07v0C+5fBq6GPagfHvdyZ31E78A2uKjjcHp3Z0=", + "crlite_enrolled": false, + "id": "44db4b01-6471-46ba-9792-c342a677e89f", + "last_modified": 1646233042409 + }, + { + "schema": 1646232517034, + "derHash": "e6jwu0n1Aem7cuOhNwjGqTMUD9xlWSo3rN5mrQfeYH4=", + "subject": "CN=E-Tugra EV TLS ECC CA R1,O=E-TUGRA EBG BILISIM TEKNOLOJILERI VE HIZMETLERI ANONIM SIRKETI,C=TR", + "subjectDN": "MHkxCzAJBgNVBAYTAlRSMUcwRQYDVQQKDD5FLVRVR1JBIEVCRyBCSUxJU0lNIFRFS05PTE9KSUxFUkkgVkUgSElaTUVUTEVSSSBBTk9OSU0gU0lSS0VUSTEhMB8GA1UEAwwYRS1UdWdyYSBFViBUTFMgRUNDIENBIFIx", + "whitelist": false, + "attachment": { + "hash": "302b1dc9a9b8372cfd5bcf67052ac9ad6cf7fa23a9b994da49fc4ff8d64b8fad", + "size": 1301, + "filename": "4ZfJiEG0nvuWdrXyXFm7I_5f5kGPrz17N0dYeK9fTB8=.pem", + "location": "security-state-staging/intermediates/e1526cc7-7873-45a6-b71a-40bee1c454dd.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "4ZfJiEG0nvuWdrXyXFm7I/5f5kGPrz17N0dYeK9fTB8=", + "crlite_enrolled": false, + "id": "24e440a2-1aae-463f-8ad8-b016dd56e58e", + "last_modified": 1646233042398 + }, + { + "schema": 1646103458585, + "derHash": "qEdUTMPNVOhVyjl4DCFiQx9cjjJ+xm1aQ88maHe+xQ8=", + "subject": "CN=HydrantID SSL CA D1,O=Avalanche Cloud Corporation,C=US", + "subjectDN": "MFExCzAJBgNVBAYTAlVTMSQwIgYDVQQKExtBdmFsYW5jaGUgQ2xvdWQgQ29ycG9yYXRpb24xHDAaBgNVBAMTE0h5ZHJhbnRJRCBTU0wgQ0EgRDE=", + "whitelist": false, + "attachment": { + "hash": "06ef680fca20d39a376ae63a23282c3c882a1d9a10e1b090d7a649ca52cb495b", + "size": 1691, + "filename": "pFJuHwTjYt84g_qC76hABYpNYJN5mgRCOZ3SeolVQWw=.pem", + "location": "security-state-staging/intermediates/78620e34-e02c-45a6-829f-9e58d846ec6a.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "pFJuHwTjYt84g/qC76hABYpNYJN5mgRCOZ3SeolVQWw=", + "crlite_enrolled": true, + "id": "4881e3af-3f96-44cf-b1e0-4b814adb983c", + "last_modified": 1646189839663 + }, { "schema": 1645797876228, "derHash": "TJ55n+pib17TXY+RVI+2o5AFAwmfMrxJ3A+1ZrCg7zc=", @@ -2466,24 +2574,6 @@ "id": "806d2ed6-4b90-44a3-8208-2c60f2a2e5f3", "last_modified": 1645579197432 }, - { - "schema": 1645578786208, - "derHash": "yhTPmzCboDK7IZEMGu2uTSn+Bla0+L/6I8vpTUMcBnQ=", - "subject": "CN=Entrust Certification Authority - DE QWAC1,O=Entrust Datacard Deutschland GmbH,C=DE", - "subjectDN": "MIGIMTMwMQYDVQQDDCpFbnRydXN0IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gREUgUVdBQzExGDAWBgNVBGEMD1ZBVERFLTExOTI2NDMxNjEqMCgGA1UECgwhRW50cnVzdCBEYXRhY2FyZCBEZXV0c2NobGFuZCBHbWJIMQswCQYDVQQGEwJERQ==", - "whitelist": false, - "attachment": { - "hash": "4e133243cde83dcbe732252fbf43b8518690328d9c29c7647170c786d537e396", - "size": 1792, - "filename": "ZWhmaUZRaiEz-pmpHFYrrwb8L7sV4g8Lss57AOkaaLg=.pem", - "location": "security-state-staging/intermediates/b6535e1d-acae-4e64-a88c-09d9aad68077.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "ZWhmaUZRaiEz+pmpHFYrrwb8L7sV4g8Lss57AOkaaLg=", - "crlite_enrolled": true, - "id": "e3c9fc9c-b56e-40f6-94aa-9fcd0d028567", - "last_modified": 1645579197419 - }, { "schema": 1645578791076, "derHash": "kzuA97lyVd9c8dlaEj6QFyLdswtIGvOqg1SCARGe0wM=", @@ -11466,42 +11556,6 @@ "id": "308fb64b-a058-4676-aa68-e8e33b332c2f", "last_modified": 1629359842217 }, - { - "schema": 1628733014053, - "derHash": "HsCvw+2fK63KBo4MLYH5xi75dSIxYxe3iGYrPtrTgHU=", - "subject": "CN=CRYPTAS EV Issuing CA,O=CRYPTAS it-Security GmbH,C=AT", - "subjectDN": "MFAxCzAJBgNVBAYTAkFUMSEwHwYDVQQKExhDUllQVEFTIGl0LVNlY3VyaXR5IEdtYkgxHjAcBgNVBAMTFUNSWVBUQVMgRVYgSXNzdWluZyBDQQ==", - "whitelist": false, - "attachment": { - "hash": "2457cbcf379f5f195fb7ba4cfda565f717ef9156b63623457e3301d515f0a255", - "size": 1735, - "filename": "Hfy6dQZGrjdPYWGB1jtGCNqt0xhK43ly0PpF6FLmg3A=.pem", - "location": "security-state-staging/intermediates/bc8ea5bd-51a8-4d5a-843d-4e5dc8487e16.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "Hfy6dQZGrjdPYWGB1jtGCNqt0xhK43ly0PpF6FLmg3A=", - "crlite_enrolled": true, - "id": "35a5d389-1b24-494b-b20f-25ff30eee6b3", - "last_modified": 1629359842197 - }, - { - "schema": 1628797804852, - "derHash": "+uzdBdny5f6EmN5WzfiVwKaXCU4Xc97eX84gAbTHsVI=", - "subject": "CN=CRYPTAS OV Issuing CA,O=CRYPTAS it-Security GmbH,C=AT", - "subjectDN": "MFAxCzAJBgNVBAYTAkFUMSEwHwYDVQQKExhDUllQVEFTIGl0LVNlY3VyaXR5IEdtYkgxHjAcBgNVBAMTFUNSWVBUQVMgT1YgSXNzdWluZyBDQQ==", - "whitelist": false, - "attachment": { - "hash": "f56a51e5163cf8ad0112976fedb21ae8b4b37916e6ce6589da1af5850254ff9f", - "size": 1739, - "filename": "U8nQD9wXAUszOzpIA4B47LOCJYIzJLUU65_asRztVds=.pem", - "location": "security-state-staging/intermediates/ea32cf1d-0468-4c6e-8a78-d5381be82033.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "U8nQD9wXAUszOzpIA4B47LOCJYIzJLUU65/asRztVds=", - "crlite_enrolled": true, - "id": "57899723-0793-43ef-ad24-f5da978584e9", - "last_modified": 1629359842177 - }, { "schema": 1627740208946, "derHash": "wt/7PBuwbeTBCSblF/82b5OJLV4C3G95CAJ121f9b8g=", @@ -12510,24 +12564,6 @@ "id": "8cef2110-60e3-4274-b66f-73184cf70e37", "last_modified": 1614909446623 }, - { - "schema": 1614908982274, - "derHash": "qEdUTMPNVOhVyjl4DCFiQx9cjjJ+xm1aQ88maHe+xQ8=", - "subject": "CN=HydrantID SSL CA D1,O=Avalanche Cloud Corporation,C=US", - "subjectDN": "MFExCzAJBgNVBAYTAlVTMSQwIgYDVQQKExtBdmFsYW5jaGUgQ2xvdWQgQ29ycG9yYXRpb24xHDAaBgNVBAMTE0h5ZHJhbnRJRCBTU0wgQ0EgRDE=", - "whitelist": false, - "attachment": { - "hash": "06ef680fca20d39a376ae63a23282c3c882a1d9a10e1b090d7a649ca52cb495b", - "size": 1691, - "filename": "pFJuHwTjYt84g_qC76hABYpNYJN5mgRCOZ3SeolVQWw=.pem", - "location": "security-state-staging/intermediates/78620e34-e02c-45a6-829f-9e58d846ec6a.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "pFJuHwTjYt84g/qC76hABYpNYJN5mgRCOZ3SeolVQWw=", - "crlite_enrolled": false, - "id": "4881e3af-3f96-44cf-b1e0-4b814adb983c", - "last_modified": 1614909446597 - }, { "schema": 1614585512688, "derHash": "TvqqEECsL0TT3uIG2VIqKI2E7Djd9ZKYySbgL0ydmu8=",
This is an automated email from the git hooks/post-receive script.
richard pushed a commit to branch tor-browser-91.8.0esr-11.0-1 in repository tor-browser.
commit 8fb634d7772b0173e174a32b80895df62ab82f38 Author: Alex Hochheiden ahochheiden@mozilla.com AuthorDate: Wed Oct 27 13:35:12 2021 +0000
Bug 1718878 - Minimal changes to third_party library gyp to make it compatible with Python 3.10 r=mhentges a=RyanVM
gyp appears to have been abandoned. To make it compatible with Python 3.10 a small 'soft fork' had to be made. If gyp is ever updated in the future, these changes can probably be discarded.
gyp source here: https://chromium.googlesource.com/external/gyp/
Differential Revision: https://phabricator.services.mozilla.com/D128837 --- third_party/python/gyp/pylib/gyp/msvs_emulation.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/third_party/python/gyp/pylib/gyp/msvs_emulation.py b/third_party/python/gyp/pylib/gyp/msvs_emulation.py index 63d40e63ec9ab..43fbbbb96279a 100644 --- a/third_party/python/gyp/pylib/gyp/msvs_emulation.py +++ b/third_party/python/gyp/pylib/gyp/msvs_emulation.py @@ -91,7 +91,7 @@ def _AddPrefix(element, prefix): """Add |prefix| to |element| or each subelement if element is iterable.""" if element is None: return element - if (isinstance(element, collections.Iterable) and + if (isinstance(element, collections.abc.Iterable) and not isinstance(element, basestring)): return [prefix + e for e in element] else: @@ -104,7 +104,7 @@ def _DoRemapping(element, map): if map is not None and element is not None: if not callable(map): map = map.get # Assume it's a dict, otherwise a callable to do the remap. - if (isinstance(element, collections.Iterable) and + if (isinstance(element, collections.abc.Iterable) and not isinstance(element, basestring)): element = filter(None, [map(elem) for elem in element]) else: @@ -117,7 +117,7 @@ def _AppendOrReturn(append, element): then add |element| to it, adding each item in |element| if it's a list or tuple.""" if append is not None and element is not None: - if (isinstance(element, collections.Iterable) and + if (isinstance(element, collections.abc.Iterable) and not isinstance(element, basestring)): append.extend(element) else:
This is an automated email from the git hooks/post-receive script.
richard pushed a commit to branch tor-browser-91.8.0esr-11.0-1 in repository tor-browser.
commit e4e7f5c7dbeafe4d497e79eaade06ec1b0aeb155 Author: Alex Hochheiden ahochheiden@mozilla.com AuthorDate: Wed Oct 27 13:35:13 2021 +0000
Bug 1718878 - Updates to the build system to enable compatibility with Python 3.10 (Mainly regarding collections.abc) r=mhentges,webdriver-reviewers,whimboo a=RyanVM
Previously, collections.abc was available from the collections import. In Python 3.10, they were explicitly moved to collections.abc. As such, any references to collections abstract base classes need to import collections.abc in Python 3.10.
More reading here: https://docs.python.org/3/library/collections.abc.html
Differential Revision: https://phabricator.services.mozilla.com/D128838 --- configure.py | 7 +------ testing/marionette/client/marionette_driver/wait.py | 2 +- testing/mozbase/manifestparser/manifestparser/filters.py | 6 +----- testing/mozbase/versioninfo.py | 2 +- 4 files changed, 4 insertions(+), 13 deletions(-)
diff --git a/configure.py b/configure.py index 5622500a0f6f0..70bfbb1998e0e 100644 --- a/configure.py +++ b/configure.py @@ -13,12 +13,7 @@ import os import sys import textwrap
- -try: - from collections.abc import Iterable -except ImportError: - from collections import Iterable - +from collections.abc import Iterable
base_dir = os.path.abspath(os.path.dirname(__file__)) sys.path.insert(0, os.path.join(base_dir, "python", "mozboot")) diff --git a/testing/marionette/client/marionette_driver/wait.py b/testing/marionette/client/marionette_driver/wait.py index caa9cb1f86bcb..103ff6876d739 100644 --- a/testing/marionette/client/marionette_driver/wait.py +++ b/testing/marionette/client/marionette_driver/wait.py @@ -87,7 +87,7 @@ class Wait(object):
exceptions = [] if ignored_exceptions is not None: - if isinstance(ignored_exceptions, collections.Iterable): + if isinstance(ignored_exceptions, collections.abc.Iterable): exceptions.extend(iter(ignored_exceptions)) else: exceptions.append(ignored_exceptions) diff --git a/testing/mozbase/manifestparser/manifestparser/filters.py b/testing/mozbase/manifestparser/manifestparser/filters.py index ccbec1f86ff7e..676bec9a304b1 100644 --- a/testing/mozbase/manifestparser/manifestparser/filters.py +++ b/testing/mozbase/manifestparser/manifestparser/filters.py @@ -13,11 +13,7 @@ from __future__ import absolute_import, division import itertools import os from collections import defaultdict - -try: - from collections.abc import MutableSequence -except ImportError: - from collections import MutableSequence +from collections.abc import MutableSequence
import six from six import string_types diff --git a/testing/mozbase/versioninfo.py b/testing/mozbase/versioninfo.py index d058ca2dd6545..fb7b715373aeb 100755 --- a/testing/mozbase/versioninfo.py +++ b/testing/mozbase/versioninfo.py @@ -11,7 +11,7 @@ from commit messages.
from __future__ import absolute_import, print_function
-from collections import Iterable +from collections.abc import Iterable from distutils.version import StrictVersion import argparse import os
This is an automated email from the git hooks/post-receive script.
richard pushed a commit to branch tor-browser-91.8.0esr-11.0-1 in repository tor-browser.
commit 269bf5c2fbe3363351054059dca46ae59715a7aa Author: Andrew Halberstadt ahal@mozilla.com AuthorDate: Thu Mar 3 09:16:09 2022 -0500
Bug 1740631 - Add requirements-plist-url to mac signing payloads, r=aki,glandium a=RyanVM
This file will get picked up by our mac signing infrastructure and be forwarded to the `productbuild` invocation. --- taskcluster/ci/config.yml | 4 ++++ taskcluster/taskgraph/transforms/signing.py | 22 ++++++++++++++++++++-- taskcluster/taskgraph/transforms/task.py | 6 ++++-- 3 files changed, 28 insertions(+), 4 deletions(-)
diff --git a/taskcluster/ci/config.yml b/taskcluster/ci/config.yml index 5acb629d54583..66daa4c86023c 100644 --- a/taskcluster/ci/config.yml +++ b/taskcluster/ci/config.yml @@ -627,3 +627,7 @@ mac-notarization: production: security/mac/hardenedruntime/production.entitlements.xml default: security/mac/hardenedruntime/developer.entitlements.xml default: '' + mac-requirements: + by-platform: + macosx64.*: build/package/mac_osx/requirements.plist + default: '' diff --git a/taskcluster/taskgraph/transforms/signing.py b/taskcluster/taskgraph/transforms/signing.py index 619a7a6cfdff0..2afb0332ae7ca 100644 --- a/taskcluster/taskgraph/transforms/signing.py +++ b/taskcluster/taskgraph/transforms/signing.py @@ -92,6 +92,23 @@ def add_entitlements_link(config, jobs): yield job
+@transforms.add +def add_requirements_link(config, jobs): + for job in jobs: + requirements_path = evaluate_keyed_by( + config.graph_config["mac-notarization"]["mac-requirements"], + "mac requirements", + { + "platform": job["primary-dependency"].attributes.get("build_platform"), + }, + ) + if requirements_path: + job["requirements-plist-url"] = config.params.file_url( + requirements_path, + ) + yield job + + @transforms.add def make_task_description(config, jobs): for job in jobs: @@ -220,8 +237,9 @@ def make_task_description(config, jobs): " ({} not found in mapping)".format(worker_type_alias) ) worker_type_alias = worker_type_alias_map[worker_type_alias] - if job.get("entitlements-url"): - task["worker"]["entitlements-url"] = job["entitlements-url"] + for attr in ("entitlements-url", "requirements-plist-url"): + if job.get(attr): + task["worker"][attr] = job[attr]
task["worker-type"] = worker_type_alias if treeherder: diff --git a/taskcluster/taskgraph/transforms/task.py b/taskcluster/taskgraph/transforms/task.py index c54f06f415aba..925c5823531c2 100644 --- a/taskcluster/taskgraph/transforms/task.py +++ b/taskcluster/taskgraph/transforms/task.py @@ -841,6 +841,7 @@ def build_generic_worker_payload(config, task, task_def): "mac_single_file", ), Optional("entitlements-url"): text_type, + Optional("requirements-plist-url"): str, }, ) def build_scriptworker_signing_payload(config, task, task_def): @@ -852,8 +853,9 @@ def build_scriptworker_signing_payload(config, task, task_def): } if worker.get("mac-behavior"): task_def["payload"]["behavior"] = worker["mac-behavior"] - if worker.get("entitlements-url"): - task_def["payload"]["entitlements-url"] = worker["entitlements-url"] + for attribute in ("entitlements-url", "requirements-plist-url"): + if worker.get(attribute): + task_def["payload"][attribute] = worker[attribute] artifacts = set(task.get("release-artifacts", [])) for upstream_artifact in worker["upstream-artifacts"]: for path in upstream_artifact["paths"]:
This is an automated email from the git hooks/post-receive script.
richard pushed a commit to branch tor-browser-91.8.0esr-11.0-1 in repository tor-browser.
commit 6ea00418301ed9d6aae814ebb33407261b2f0240 Author: Ryan VanderMeulen ryanvm@gmail.com AuthorDate: Thu Mar 3 09:20:50 2022 -0500
Backed out changeset b138fdfe8157 (bug 1740631) for decision task bustage. --- taskcluster/ci/config.yml | 4 ---- taskcluster/taskgraph/transforms/signing.py | 22 ++-------------------- taskcluster/taskgraph/transforms/task.py | 6 ++---- 3 files changed, 4 insertions(+), 28 deletions(-)
diff --git a/taskcluster/ci/config.yml b/taskcluster/ci/config.yml index 66daa4c86023c..5acb629d54583 100644 --- a/taskcluster/ci/config.yml +++ b/taskcluster/ci/config.yml @@ -627,7 +627,3 @@ mac-notarization: production: security/mac/hardenedruntime/production.entitlements.xml default: security/mac/hardenedruntime/developer.entitlements.xml default: '' - mac-requirements: - by-platform: - macosx64.*: build/package/mac_osx/requirements.plist - default: '' diff --git a/taskcluster/taskgraph/transforms/signing.py b/taskcluster/taskgraph/transforms/signing.py index 2afb0332ae7ca..619a7a6cfdff0 100644 --- a/taskcluster/taskgraph/transforms/signing.py +++ b/taskcluster/taskgraph/transforms/signing.py @@ -92,23 +92,6 @@ def add_entitlements_link(config, jobs): yield job
-@transforms.add -def add_requirements_link(config, jobs): - for job in jobs: - requirements_path = evaluate_keyed_by( - config.graph_config["mac-notarization"]["mac-requirements"], - "mac requirements", - { - "platform": job["primary-dependency"].attributes.get("build_platform"), - }, - ) - if requirements_path: - job["requirements-plist-url"] = config.params.file_url( - requirements_path, - ) - yield job - - @transforms.add def make_task_description(config, jobs): for job in jobs: @@ -237,9 +220,8 @@ def make_task_description(config, jobs): " ({} not found in mapping)".format(worker_type_alias) ) worker_type_alias = worker_type_alias_map[worker_type_alias] - for attr in ("entitlements-url", "requirements-plist-url"): - if job.get(attr): - task["worker"][attr] = job[attr] + if job.get("entitlements-url"): + task["worker"]["entitlements-url"] = job["entitlements-url"]
task["worker-type"] = worker_type_alias if treeherder: diff --git a/taskcluster/taskgraph/transforms/task.py b/taskcluster/taskgraph/transforms/task.py index 925c5823531c2..c54f06f415aba 100644 --- a/taskcluster/taskgraph/transforms/task.py +++ b/taskcluster/taskgraph/transforms/task.py @@ -841,7 +841,6 @@ def build_generic_worker_payload(config, task, task_def): "mac_single_file", ), Optional("entitlements-url"): text_type, - Optional("requirements-plist-url"): str, }, ) def build_scriptworker_signing_payload(config, task, task_def): @@ -853,9 +852,8 @@ def build_scriptworker_signing_payload(config, task, task_def): } if worker.get("mac-behavior"): task_def["payload"]["behavior"] = worker["mac-behavior"] - for attribute in ("entitlements-url", "requirements-plist-url"): - if worker.get(attribute): - task_def["payload"][attribute] = worker[attribute] + if worker.get("entitlements-url"): + task_def["payload"]["entitlements-url"] = worker["entitlements-url"] artifacts = set(task.get("release-artifacts", [])) for upstream_artifact in worker["upstream-artifacts"]: for path in upstream_artifact["paths"]:
This is an automated email from the git hooks/post-receive script.
richard pushed a commit to branch tor-browser-91.8.0esr-11.0-1 in repository tor-browser.
commit 1bb582673437dae86254e1326fe21262b0412881 Author: Peter Van der Beken peterv@propagandism.org AuthorDate: Wed Mar 2 22:18:23 2022 +0000
Bug 1754724 - Clear up some computations in expat code. r=farre, a=tritter
Differential Revision: https://phabricator.services.mozilla.com/D140165 --- parser/expat/lib/xmlparse.c | 32 ++++++++++++++++++++++++++++++-- 1 file changed, 30 insertions(+), 2 deletions(-)
diff --git a/parser/expat/lib/xmlparse.c b/parser/expat/lib/xmlparse.c index 295030c37a048..52ea1cf413a93 100644 --- a/parser/expat/lib/xmlparse.c +++ b/parser/expat/lib/xmlparse.c @@ -3371,10 +3371,17 @@ storeAtts(XML_Parser parser, const ENCODING *enc, /* END MOZILLA CHANGE */ int j; /* hash table index */ unsigned long version = nsAttsVersion; - int nsAttsSize = (int)1 << nsAttsPower; + + /* Detect and prevent invalid shift */ + if (parser->m_nsAttsPower >= sizeof(unsigned int) * 8 /* bits per byte */) { + return XML_ERROR_NO_MEMORY; + } + + unsigned int nsAttsSize = 1u << nsAttsPower; /* BEGIN MOZILLA CHANGE (Include xmlns attributes in attributes array) */ if (nPrefixes) { /* END MOZILLA CHANGE */ + unsigned char oldNsAttsPower = parser->m_nsAttsPower; /* size of hash table must be at least 2 * (# of prefixed attributes) */ if ((nPrefixes << 1) >> nsAttsPower) { /* true for nsAttsPower = 0 */ NS_ATT *temp; @@ -3382,7 +3389,28 @@ storeAtts(XML_Parser parser, const ENCODING *enc, while (nPrefixes >> nsAttsPower++); if (nsAttsPower < 3) nsAttsPower = 3; - nsAttsSize = (int)1 << nsAttsPower; + + /* Detect and prevent invalid shift */ + if (parser->m_nsAttsPower >= sizeof(nsAttsSize) * 8 /* bits per byte */) { + /* Restore actual size of memory in m_nsAtts */ + parser->m_nsAttsPower = oldNsAttsPower; + return XML_ERROR_NO_MEMORY; + } + + nsAttsSize = 1u << parser->m_nsAttsPower; + + /* Detect and prevent integer overflow. + * The preprocessor guard addresses the "always false" warning + * from -Wtype-limits on platforms where + * sizeof(unsigned int) < sizeof(size_t), e.g. on x86_64. */ +#if UINT_MAX >= SIZE_MAX + if (nsAttsSize > (size_t)(-1) / sizeof(NS_ATT)) { + /* Restore actual size of memory in m_nsAtts */ + parser->m_nsAttsPower = oldNsAttsPower; + return XML_ERROR_NO_MEMORY; + } +#endif + temp = (NS_ATT *)REALLOC(nsAtts, nsAttsSize * sizeof(NS_ATT)); if (!temp) return XML_ERROR_NO_MEMORY;
This is an automated email from the git hooks/post-receive script.
richard pushed a commit to branch tor-browser-91.8.0esr-11.0-1 in repository tor-browser.
commit fc945e15a1e7606f9850b769438a7b33daf95c42 Author: Peter Van der Beken peterv@propagandism.org AuthorDate: Wed Mar 2 22:22:08 2022 +0000
Bug 1754724 - Clear up some more computations in expat code. r=farre, a=tritter
Depends on D140165
Differential Revision: https://phabricator.services.mozilla.com/D140166 --- parser/expat/lib/xmlparse.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+)
diff --git a/parser/expat/lib/xmlparse.c b/parser/expat/lib/xmlparse.c index 52ea1cf413a93..adee37bb24631 100644 --- a/parser/expat/lib/xmlparse.c +++ b/parser/expat/lib/xmlparse.c @@ -5025,11 +5025,26 @@ doProlog(XML_Parser parser, case XML_ROLE_GROUP_OPEN: if (prologState.level >= groupSize) { if (groupSize) { + /* Detect and prevent integer overflow */ + if (parser->m_groupSize > (unsigned int)(-1) / 2u) { + return XML_ERROR_NO_MEMORY; + } + char *temp = (char *)REALLOC(groupConnector, groupSize *= 2); if (temp == NULL) return XML_ERROR_NO_MEMORY; groupConnector = temp; if (dtd->scaffIndex) { + /* Detect and prevent integer overflow. + * The preprocessor guard addresses the "always false" warning + * from -Wtype-limits on platforms where + * sizeof(unsigned int) < sizeof(size_t), e.g. on x86_64. */ +#if UINT_MAX >= SIZE_MAX + if (parser->m_groupSize > (size_t)(-1) / sizeof(int)) { + return XML_ERROR_NO_MEMORY; + } +#endif + int *temp = (int *)REALLOC(dtd->scaffIndex, groupSize * sizeof(int)); if (temp == NULL)
This is an automated email from the git hooks/post-receive script.
richard pushed a commit to branch tor-browser-91.8.0esr-11.0-1 in repository tor-browser.
commit 2bc7c0e26d98b76210628a6ed9e8220e50fb90d0 Author: Peter Van der Beken peterv@propagandism.org AuthorDate: Wed Mar 2 22:34:28 2022 +0000
Bug 1754724 - Clear up even more computations in expat code. r=farre, a=tritter
Depends on D140166
Differential Revision: https://phabricator.services.mozilla.com/D140167 --- parser/expat/lib/xmlparse.c | 153 +++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 151 insertions(+), 2 deletions(-)
diff --git a/parser/expat/lib/xmlparse.c b/parser/expat/lib/xmlparse.c index adee37bb24631..46919e985e725 100644 --- a/parser/expat/lib/xmlparse.c +++ b/parser/expat/lib/xmlparse.c @@ -3201,18 +3201,54 @@ storeAtts(XML_Parser parser, const ENCODING *enc,
/* get the attributes from the tokenizer */ n = XmlGetAttributes(enc, attStr, attsSize, atts); + + /* Detect and prevent integer overflow */ + if (n > INT_MAX - nDefaultAtts) { + return XML_ERROR_NO_MEMORY; + } + if (n + nDefaultAtts > attsSize) { int oldAttsSize = attsSize; ATTRIBUTE *temp; #ifdef XML_ATTR_INFO XML_AttrInfo *temp2; #endif + + /* Detect and prevent integer overflow */ + if ((nDefaultAtts > INT_MAX - INIT_ATTS_SIZE) + || (n > INT_MAX - (nDefaultAtts + INIT_ATTS_SIZE))) { + return XML_ERROR_NO_MEMORY; + } + attsSize = n + nDefaultAtts + INIT_ATTS_SIZE; + + /* Detect and prevent integer overflow. + * The preprocessor guard addresses the "always false" warning + * from -Wtype-limits on platforms where + * sizeof(unsigned int) < sizeof(size_t), e.g. on x86_64. */ +#if UINT_MAX >= SIZE_MAX + if ((unsigned)parser->m_attsSize > (size_t)(-1) / sizeof(ATTRIBUTE)) { + parser->m_attsSize = oldAttsSize; + return XML_ERROR_NO_MEMORY; + } +#endif + temp = (ATTRIBUTE *)REALLOC((void *)atts, attsSize * sizeof(ATTRIBUTE)); if (temp == NULL) return XML_ERROR_NO_MEMORY; atts = temp; #ifdef XML_ATTR_INFO + /* Detect and prevent integer overflow. + * The preprocessor guard addresses the "always false" warning + * from -Wtype-limits on platforms where + * sizeof(unsigned int) < sizeof(size_t), e.g. on x86_64. */ +# if UINT_MAX >= SIZE_MAX + if ((unsigned)parser->m_attsSize > (size_t)(-1) / sizeof(XML_AttrInfo)) { + parser->m_attsSize = oldAttsSize; + return XML_ERROR_NO_MEMORY; + } +# endif + temp2 = (XML_AttrInfo *)REALLOC((void *)attInfo, attsSize * sizeof(XML_AttrInfo)); if (temp2 == NULL) return XML_ERROR_NO_MEMORY; @@ -3608,9 +3644,31 @@ storeAtts(XML_Parser parser, const ENCODING *enc, tagNamePtr->prefixLen = prefixLen; for (i = 0; localPart[i++];) ; /* i includes null terminator */ + + /* Detect and prevent integer overflow */ + if (binding->uriLen > INT_MAX - prefixLen + || i > INT_MAX - (binding->uriLen + prefixLen)) { + return XML_ERROR_NO_MEMORY; + } + n = i + binding->uriLen + prefixLen; if (n > binding->uriAlloc) { TAG *p; + + /* Detect and prevent integer overflow */ + if (n > INT_MAX - EXPAND_SPARE) { + return XML_ERROR_NO_MEMORY; + } + /* Detect and prevent integer overflow. + * The preprocessor guard addresses the "always false" warning + * from -Wtype-limits on platforms where + * sizeof(unsigned int) < sizeof(size_t), e.g. on x86_64. */ +#if UINT_MAX >= SIZE_MAX + if ((unsigned)(n + EXPAND_SPARE) > (size_t)(-1) / sizeof(XML_Char)) { + return XML_ERROR_NO_MEMORY; + } +#endif + uri = (XML_Char *)MALLOC((n + EXPAND_SPARE) * sizeof(XML_Char)); if (!uri) return XML_ERROR_NO_MEMORY; @@ -3711,6 +3769,21 @@ addBinding(XML_Parser parser, PREFIX *prefix, const ATTRIBUTE_ID *attId, if (freeBindingList) { b = freeBindingList; if (len > b->uriAlloc) { + /* Detect and prevent integer overflow */ + if (len > INT_MAX - EXPAND_SPARE) { + return XML_ERROR_NO_MEMORY; + } + + /* Detect and prevent integer overflow. + * The preprocessor guard addresses the "always false" warning + * from -Wtype-limits on platforms where + * sizeof(unsigned int) < sizeof(size_t), e.g. on x86_64. */ +#if UINT_MAX >= SIZE_MAX + if ((unsigned)(len + EXPAND_SPARE) > (size_t)(-1) / sizeof(XML_Char)) { + return XML_ERROR_NO_MEMORY; + } +#endif + XML_Char *temp = (XML_Char *)REALLOC(b->uri, sizeof(XML_Char) * (len + EXPAND_SPARE)); if (temp == NULL) @@ -3724,6 +3797,21 @@ addBinding(XML_Parser parser, PREFIX *prefix, const ATTRIBUTE_ID *attId, b = (BINDING *)MALLOC(sizeof(BINDING)); if (!b) return XML_ERROR_NO_MEMORY; + + /* Detect and prevent integer overflow */ + if (len > INT_MAX - EXPAND_SPARE) { + return XML_ERROR_NO_MEMORY; + } + /* Detect and prevent integer overflow. + * The preprocessor guard addresses the "always false" warning + * from -Wtype-limits on platforms where + * sizeof(unsigned int) < sizeof(size_t), e.g. on x86_64. */ +#if UINT_MAX >= SIZE_MAX + if ((unsigned)(len + EXPAND_SPARE) > (size_t)(-1) / sizeof(XML_Char)) { + return XML_ERROR_NO_MEMORY; + } +#endif + b->uri = (XML_Char *)MALLOC(sizeof(XML_Char) * (len + EXPAND_SPARE)); if (!b->uri) { FREE(b); @@ -6034,7 +6122,24 @@ defineAttribute(ELEMENT_TYPE *type, ATTRIBUTE_ID *attId, XML_Bool isCdata, } else { DEFAULT_ATTRIBUTE *temp; + + /* Detect and prevent integer overflow */ + if (type->allocDefaultAtts > INT_MAX / 2) { + return 0; + } + int count = type->allocDefaultAtts * 2; + + /* Detect and prevent integer overflow. + * The preprocessor guard addresses the "always false" warning + * from -Wtype-limits on platforms where + * sizeof(unsigned int) < sizeof(size_t), e.g. on x86_64. */ +#if UINT_MAX >= SIZE_MAX + if ((unsigned)count > (size_t)(-1) / sizeof(DEFAULT_ATTRIBUTE)) { + return 0; + } +#endif + temp = (DEFAULT_ATTRIBUTE *) REALLOC(type->defaultAtts, (count * sizeof(DEFAULT_ATTRIBUTE))); if (temp == NULL) @@ -6685,8 +6790,20 @@ lookup(XML_Parser parser, HASH_TABLE *table, KEY name, size_t createSize) /* check for overflow (table is half full) */ if (table->used >> (table->power - 1)) { unsigned char newPower = table->power + 1; + + /* Detect and prevent invalid shift */ + if (newPower >= sizeof(unsigned long) * 8 /* bits per byte */) { + return NULL; + } + size_t newSize = (size_t)1 << newPower; unsigned long newMask = (unsigned long)newSize - 1; + + /* Detect and prevent integer overflow */ + if (newSize > (size_t)(-1) / sizeof(NAMED *)) { + return NULL; + } + size_t tsize = newSize * sizeof(NAMED *); NAMED **newV = (NAMED **)table->mem->malloc_fcn(tsize); if (!newV) @@ -7023,6 +7140,20 @@ nextScaffoldPart(XML_Parser parser) if (dtd->scaffCount >= dtd->scaffSize) { CONTENT_SCAFFOLD *temp; if (dtd->scaffold) { + /* Detect and prevent integer overflow */ + if (dtd->scaffSize > UINT_MAX / 2u) { + return -1; + } + /* Detect and prevent integer overflow. + * The preprocessor guard addresses the "always false" warning + * from -Wtype-limits on platforms where + * sizeof(unsigned int) < sizeof(size_t), e.g. on x86_64. */ +#if UINT_MAX >= SIZE_MAX + if (dtd->scaffSize > (size_t)(-1) / 2u / sizeof(CONTENT_SCAFFOLD)) { + return -1; + } +#endif + temp = (CONTENT_SCAFFOLD *) REALLOC(dtd->scaffold, dtd->scaffSize * 2 * sizeof(CONTENT_SCAFFOLD)); if (temp == NULL) @@ -7099,8 +7230,26 @@ build_model (XML_Parser parser) XML_Content *ret; XML_Content *cpos; XML_Char * str; - int allocsize = (dtd->scaffCount * sizeof(XML_Content) - + (dtd->contentStringLen * sizeof(XML_Char))); + + /* Detect and prevent integer overflow. + * The preprocessor guard addresses the "always false" warning + * from -Wtype-limits on platforms where + * sizeof(unsigned int) < sizeof(size_t), e.g. on x86_64. */ +#if UINT_MAX >= SIZE_MAX + if (dtd->scaffCount > (size_t)(-1) / sizeof(XML_Content)) { + return NULL; + } + if (dtd->contentStringLen > (size_t)(-1) / sizeof(XML_Char)) { + return NULL; + } +#endif + if (dtd->scaffCount * sizeof(XML_Content) + > (size_t)(-1) - dtd->contentStringLen * sizeof(XML_Char)) { + return NULL; + } + + const size_t allocsize = (dtd->scaffCount * sizeof(XML_Content) + + (dtd->contentStringLen * sizeof(XML_Char)));
ret = (XML_Content *)MALLOC(allocsize); if (!ret)
This is an automated email from the git hooks/post-receive script.
richard pushed a commit to branch tor-browser-91.8.0esr-11.0-1 in repository tor-browser.
commit 35e9741dffb37832fb63591bdb243367e89b6851 Author: Peter Van der Beken peterv@propagandism.org AuthorDate: Fri Mar 4 14:00:25 2022 +0000
Bug 1758062 - Convert parameters upfront. r=smaug, a=tritter
Differential Revision: https://phabricator.services.mozilla.com/D140337 --- dom/xslt/xslt/txMozillaXSLTProcessor.cpp | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-)
diff --git a/dom/xslt/xslt/txMozillaXSLTProcessor.cpp b/dom/xslt/xslt/txMozillaXSLTProcessor.cpp index f734e3aa244ff..eee52e9ff9e34 100644 --- a/dom/xslt/xslt/txMozillaXSLTProcessor.cpp +++ b/dom/xslt/xslt/txMozillaXSLTProcessor.cpp @@ -198,19 +198,15 @@ nsresult txToFragmentHandlerFactory::createHandlerWith(
class txVariable : public txIGlobalParameter { public: - explicit txVariable(nsIVariant* aValue) : mValue(aValue) { - NS_ASSERTION(aValue, "missing value"); + explicit txVariable(nsIVariant* aValue, txAExprResult* aTxValue) + : mValue(aValue), mTxValue(aTxValue) { + NS_ASSERTION(aValue && aTxValue, "missing value"); } explicit txVariable(txAExprResult* aValue) : mTxValue(aValue) { NS_ASSERTION(aValue, "missing value"); } nsresult getValue(txAExprResult** aValue) override { - NS_ASSERTION(mValue || mTxValue, "variablevalue is null"); - - if (!mTxValue) { - nsresult rv = Convert(mValue, getter_AddRefs(mTxValue)); - NS_ENSURE_SUCCESS(rv, rv); - } + NS_ASSERTION(mTxValue, "variablevalue is null");
*aValue = mTxValue; NS_ADDREF(*aValue); @@ -223,10 +219,10 @@ class txVariable : public txIGlobalParameter { return NS_OK; } nsIVariant* getValue() { return mValue; } - void setValue(nsIVariant* aValue) { - NS_ASSERTION(aValue, "setting variablevalue to null"); + void setValue(nsIVariant* aValue, txAExprResult* aTxValue) { + NS_ASSERTION(aValue && aTxValue, "setting variablevalue to null"); mValue = aValue; - mTxValue = nullptr; + mTxValue = aTxValue; } void setValue(txAExprResult* aValue) { NS_ASSERTION(aValue, "setting variablevalue to null"); @@ -234,14 +230,14 @@ class txVariable : public txIGlobalParameter { mTxValue = aValue; }
+ static nsresult Convert(nsIVariant* aValue, txAExprResult** aResult); + friend void ImplCycleCollectionUnlink(txVariable& aVariable); friend void ImplCycleCollectionTraverse( nsCycleCollectionTraversalCallback& aCallback, txVariable& aVariable, const char* aName, uint32_t aFlags);
private: - static nsresult Convert(nsIVariant* aValue, txAExprResult** aResult); - nsCOMPtr<nsIVariant> mValue; RefPtr<txAExprResult> mTxValue; }; @@ -817,13 +813,17 @@ nsresult txMozillaXSLTProcessor::SetParameter(const nsAString& aNamespaceURI, RefPtr<nsAtom> localName = NS_Atomize(aLocalName); txExpandedName varName(nsId, localName);
+ RefPtr<txAExprResult> txValue; + rv = txVariable::Convert(value, getter_AddRefs(txValue)); + NS_ENSURE_SUCCESS(rv, rv); + txVariable* var = static_cast<txVariable*>(mVariables.get(varName)); if (var) { - var->setValue(value); + var->setValue(value, txValue); return NS_OK; }
- var = new txVariable(value); + var = new txVariable(value, txValue); return mVariables.add(varName, var); }
This is an automated email from the git hooks/post-receive script.
richard pushed a commit to branch tor-browser-91.8.0esr-11.0-1 in repository tor-browser.
commit 6aad610559f0cf03fffd04e4df6c55129e202c0b Author: Nicolas Silva nsilva@mozilla.com AuthorDate: Fri Mar 4 14:05:13 2022 +0000
Bug 1758070 - Null out mContext during shutdown. r=emilio, a=tritter
Differential Revision: https://phabricator.services.mozilla.com/D140336 --- dom/webgpu/ipc/WebGPUParent.cpp | 1 + 1 file changed, 1 insertion(+)
diff --git a/dom/webgpu/ipc/WebGPUParent.cpp b/dom/webgpu/ipc/WebGPUParent.cpp index 05889fe4ac786..95de5edbf8316 100644 --- a/dom/webgpu/ipc/WebGPUParent.cpp +++ b/dom/webgpu/ipc/WebGPUParent.cpp @@ -736,6 +736,7 @@ ipc::IPCResult WebGPUParent::RecvShutdown() { mCanvasMap.clear(); ffi::wgpu_server_poll_all_devices(mContext, true); ffi::wgpu_server_delete(const_castffi::WGPUGlobal*(mContext)); + mContext = nullptr; return IPC_OK(); }
This is an automated email from the git hooks/post-receive script.
richard pushed a commit to branch tor-browser-91.8.0esr-11.0-1 in repository tor-browser.
commit b34868d4b32fb18ff5a6c452644715d382e32444 Author: Ryan VanderMeulen ryanvm@gmail.com AuthorDate: Fri Mar 4 11:46:25 2022 -0500
Backed out changeset a9af50645153 (bug 1758070) for bustage. --- dom/webgpu/ipc/WebGPUParent.cpp | 1 - 1 file changed, 1 deletion(-)
diff --git a/dom/webgpu/ipc/WebGPUParent.cpp b/dom/webgpu/ipc/WebGPUParent.cpp index 95de5edbf8316..05889fe4ac786 100644 --- a/dom/webgpu/ipc/WebGPUParent.cpp +++ b/dom/webgpu/ipc/WebGPUParent.cpp @@ -736,7 +736,6 @@ ipc::IPCResult WebGPUParent::RecvShutdown() { mCanvasMap.clear(); ffi::wgpu_server_poll_all_devices(mContext, true); ffi::wgpu_server_delete(const_castffi::WGPUGlobal*(mContext)); - mContext = nullptr; return IPC_OK(); }
This is an automated email from the git hooks/post-receive script.
richard pushed a commit to branch tor-browser-91.8.0esr-11.0-1 in repository tor-browser.
commit 8842d832e7e2f3847365714c578b1a8fade9b949 Author: Nicolas Silva nsilva@mozilla.com AuthorDate: Fri Mar 4 16:12:04 2022 +0000
Bug 1758070 - Null out mContext during shutdown. r=emilio, a=tritter
Differential Revision: https://phabricator.services.mozilla.com/D140336 --- dom/webgpu/ipc/WebGPUParent.cpp | 1 + dom/webgpu/ipc/WebGPUParent.h | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-)
diff --git a/dom/webgpu/ipc/WebGPUParent.cpp b/dom/webgpu/ipc/WebGPUParent.cpp index 05889fe4ac786..95de5edbf8316 100644 --- a/dom/webgpu/ipc/WebGPUParent.cpp +++ b/dom/webgpu/ipc/WebGPUParent.cpp @@ -736,6 +736,7 @@ ipc::IPCResult WebGPUParent::RecvShutdown() { mCanvasMap.clear(); ffi::wgpu_server_poll_all_devices(mContext, true); ffi::wgpu_server_delete(const_castffi::WGPUGlobal*(mContext)); + mContext = nullptr; return IPC_OK(); }
diff --git a/dom/webgpu/ipc/WebGPUParent.h b/dom/webgpu/ipc/WebGPUParent.h index ec69a8588717e..e43e6e22d321d 100644 --- a/dom/webgpu/ipc/WebGPUParent.h +++ b/dom/webgpu/ipc/WebGPUParent.h @@ -94,7 +94,7 @@ class WebGPUParent final : public PWebGPUParent { void MaintainDevices(); bool ForwardError(RawId aDeviceID, ErrorBuffer& aError);
- const ffi::WGPUGlobal* const mContext; + const ffi::WGPUGlobal* mContext; base::RepeatingTimer<WebGPUParent> mTimer; /// Shmem associated with a mappable buffer has to be owned by one of the /// processes. We keep it here for every mappable buffer while the buffer is
This is an automated email from the git hooks/post-receive script.
richard pushed a commit to branch tor-browser-91.8.0esr-11.0-1 in repository tor-browser.
commit 3391c43074de05fdc2f16a39c6d8913aa3daeee0 Author: Mozilla Releng Treescript release+treescript@mozilla.org AuthorDate: Fri Mar 4 18:42:48 2022 +0000
No bug - Tagging adafd45a7676d09ac5db5753d4c1b3f938626722 with FIREFOX_91_6_1esr_BUILD1 a=release CLOSED TREE DONTBUILD --- .hgtags | 1 + 1 file changed, 1 insertion(+)
diff --git a/.hgtags b/.hgtags index b7680cfc58ecc..0df80e91e6a3e 100644 --- a/.hgtags +++ b/.hgtags @@ -3157,3 +3157,4 @@ f560cd3cd43bace45c9a7323404848efde7ac452 FIREFOX_91_5_1esr_RELEASE 3ac96fd3a3820bb8a3160de1bc52009fe22d769d FIREFOX_91_6_0esr_RELEASE 0cb2ab8a5857348e0e7c0eb22fac300e01dafce0 FIREFOX_91_7_0esr_BUILD1 c17c94724a2ff10f89fa0a634f2bd1dc2e1744a7 FIREFOX_91_7_0esr_BUILD2 +adafd45a7676d09ac5db5753d4c1b3f938626722 FIREFOX_91_6_1esr_BUILD1
This is an automated email from the git hooks/post-receive script.
richard pushed a commit to branch tor-browser-91.8.0esr-11.0-1 in repository tor-browser.
commit d8a5a5fae23d29ad2a9afe83a46fa978a89506c7 Author: Mozilla Releng Treescript release+treescript@mozilla.org AuthorDate: Sat Mar 5 00:06:41 2022 +0000
No bug - Tagging adafd45a7676d09ac5db5753d4c1b3f938626722 with FIREFOX_91_6_1esr_RELEASE a=release CLOSED TREE DONTBUILD --- .hgtags | 1 + 1 file changed, 1 insertion(+)
diff --git a/.hgtags b/.hgtags index 0df80e91e6a3e..4abda23851ca3 100644 --- a/.hgtags +++ b/.hgtags @@ -3158,3 +3158,4 @@ f560cd3cd43bace45c9a7323404848efde7ac452 FIREFOX_91_5_1esr_RELEASE 0cb2ab8a5857348e0e7c0eb22fac300e01dafce0 FIREFOX_91_7_0esr_BUILD1 c17c94724a2ff10f89fa0a634f2bd1dc2e1744a7 FIREFOX_91_7_0esr_BUILD2 adafd45a7676d09ac5db5753d4c1b3f938626722 FIREFOX_91_6_1esr_BUILD1 +adafd45a7676d09ac5db5753d4c1b3f938626722 FIREFOX_91_6_1esr_RELEASE
This is an automated email from the git hooks/post-receive script.
richard pushed a commit to branch tor-browser-91.8.0esr-11.0-1 in repository tor-browser.
commit 713ec718f9a6b9e9aeca4dffec22963364f27511 Author: Mozilla Releng Treescript release+treescript@mozilla.org AuthorDate: Sat Mar 5 00:31:12 2022 +0000
No bug - Tagging a9d3c0f4732a9a62428089fff64ae8ff3d608918 with FIREFOX_91_7_0esr_BUILD3 a=release CLOSED TREE DONTBUILD --- .hgtags | 1 + 1 file changed, 1 insertion(+)
diff --git a/.hgtags b/.hgtags index 4abda23851ca3..3d23a0f93f506 100644 --- a/.hgtags +++ b/.hgtags @@ -3159,3 +3159,4 @@ f560cd3cd43bace45c9a7323404848efde7ac452 FIREFOX_91_5_1esr_RELEASE c17c94724a2ff10f89fa0a634f2bd1dc2e1744a7 FIREFOX_91_7_0esr_BUILD2 adafd45a7676d09ac5db5753d4c1b3f938626722 FIREFOX_91_6_1esr_BUILD1 adafd45a7676d09ac5db5753d4c1b3f938626722 FIREFOX_91_6_1esr_RELEASE +a9d3c0f4732a9a62428089fff64ae8ff3d608918 FIREFOX_91_7_0esr_BUILD3
This is an automated email from the git hooks/post-receive script.
richard pushed a commit to branch tor-browser-91.8.0esr-11.0-1 in repository tor-browser.
commit 8c46d613a84c1458258f488b07d4d5498512a735 Author: Mozilla Releng Treescript release+treescript@mozilla.org AuthorDate: Tue Mar 8 11:53:42 2022 +0000
Update configs. IGNORE BROKEN CHANGESETS CLOSED TREE NO BUG a=release ba=release --- browser/config/version.txt | 2 +- browser/config/version_display.txt | 2 +- config/milestone.txt | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/browser/config/version.txt b/browser/config/version.txt index 4370ccac8f145..264681cf67de4 100644 --- a/browser/config/version.txt +++ b/browser/config/version.txt @@ -1 +1 @@ -91.7.0 +91.8.0 diff --git a/browser/config/version_display.txt b/browser/config/version_display.txt index e551c7d021b5b..5ef3ddeb7f3c9 100644 --- a/browser/config/version_display.txt +++ b/browser/config/version_display.txt @@ -1 +1 @@ -91.7.0esr +91.8.0esr diff --git a/config/milestone.txt b/config/milestone.txt index f706ebd775f95..d1d6e7707e9fe 100644 --- a/config/milestone.txt +++ b/config/milestone.txt @@ -10,4 +10,4 @@ # hardcoded milestones in the tree from these two files. #--------------------------------------------------------
-91.7.0 +91.8.0
This is an automated email from the git hooks/post-receive script.
richard pushed a commit to branch tor-browser-91.8.0esr-11.0-1 in repository tor-browser.
commit ff5cc0c78b3b85bf2dbe54950f0a1ab9afea01f1 Author: Mozilla Releng Treescript release+treescript@mozilla.org AuthorDate: Tue Mar 8 13:42:42 2022 +0000
No bug - Tagging a9d3c0f4732a9a62428089fff64ae8ff3d608918 with FIREFOX_91_7_0esr_RELEASE a=release CLOSED TREE DONTBUILD --- .hgtags | 1 + 1 file changed, 1 insertion(+)
diff --git a/.hgtags b/.hgtags index 3d23a0f93f506..7e4cc23427585 100644 --- a/.hgtags +++ b/.hgtags @@ -3160,3 +3160,4 @@ c17c94724a2ff10f89fa0a634f2bd1dc2e1744a7 FIREFOX_91_7_0esr_BUILD2 adafd45a7676d09ac5db5753d4c1b3f938626722 FIREFOX_91_6_1esr_BUILD1 adafd45a7676d09ac5db5753d4c1b3f938626722 FIREFOX_91_6_1esr_RELEASE a9d3c0f4732a9a62428089fff64ae8ff3d608918 FIREFOX_91_7_0esr_BUILD3 +a9d3c0f4732a9a62428089fff64ae8ff3d608918 FIREFOX_91_7_0esr_RELEASE
This is an automated email from the git hooks/post-receive script.
richard pushed a commit to branch tor-browser-91.8.0esr-11.0-1 in repository tor-browser.
commit 3eeac87680a0daf536e3862a3fe0fdef64395abb Author: Julian Descottes jdescottes@mozilla.com AuthorDate: Mon Nov 8 09:35:48 2021 +0000
Bug 1739008 - [marionette] Monitor navigation using the webprogresslistener for NewSession. r=whimboo, a=RyanVM --- remote/marionette/driver.js | 44 ++++++++++++++++++++++++++++++++++++++----- remote/marionette/navigate.js | 8 +------- 2 files changed, 40 insertions(+), 12 deletions(-)
diff --git a/remote/marionette/driver.js b/remote/marionette/driver.js index 9560b051752c5..133f4dfdd52db 100644 --- a/remote/marionette/driver.js +++ b/remote/marionette/driver.js @@ -576,14 +576,48 @@ GeckoDriver.prototype.newSession = async function(cmd) { if (this.curBrowser.tab) { const browsingContext = this.curBrowser.contentBrowser.browsingContext; this.currentSession.contentBrowsingContext = browsingContext; - // If the currently selected tab is loading, wait until it's done. + + let resolveNavigation; + + // Prepare a promise that will resolve upon a navigation. + const onProgressListenerNavigation = new Promise( + resolve => (resolveNavigation = resolve) + ); + + // Create a basic webprogress listener which will check if the browsing + // context is ready for the new session on every state change. + const navigationListener = { + onStateChange: (progress, request, flag, status) => { + const isStop = flag & Ci.nsIWebProgressListener.STATE_STOP; + if (isStop) { + resolveNavigation(); + } + }, + + QueryInterface: ChromeUtils.generateQI([ + "nsIWebProgressListener", + "nsISupportsWeakReference", + ]), + }; + + // Monitor the webprogress listener before checking isLoadingDocument to + // avoid race conditions. + browsingContext.webProgress.addProgressListener( + navigationListener, + Ci.nsIWebProgress.NOTIFY_STATE_WINDOW | + Ci.nsIWebProgress.NOTIFY_STATE_DOCUMENT + ); + if (browsingContext.webProgress.isLoadingDocument) { - await navigate.waitForNavigationCompleted(this, () => {}, { - loadEventExpected: true, - unknownState: true, - }); + await onProgressListenerNavigation; }
+ browsingContext.webProgress.removeProgressListener( + navigationListener, + Ci.nsIWebProgress.NOTIFY_STATE_WINDOW | + Ci.nsIWebProgress.NOTIFY_STATE_DOCUMENT + ); + this.curBrowser.contentBrowser.focus(); }
diff --git a/remote/marionette/navigate.js b/remote/marionette/navigate.js index dbb02b55fd43a..50a0bce413d5a 100644 --- a/remote/marionette/navigate.js +++ b/remote/marionette/navigate.js @@ -201,9 +201,6 @@ navigate.refresh = async function(browsingContext) { * @param {boolean=} requireBeforeUnload * If false and no beforeunload event is fired, abort waiting * for the navigation. Defaults to true. - * @param {boolean=} unknownState - * Needs to be true if a navigation check is resumed and the current - * state of navigation is unknown. Defaults to false. */ navigate.waitForNavigationCompleted = async function waitForNavigationCompleted( driver, @@ -214,7 +211,6 @@ navigate.waitForNavigationCompleted = async function waitForNavigationCompleted( browsingContextFn = driver.getBrowsingContext.bind(driver), loadEventExpected = true, requireBeforeUnload = true, - unknownState = false, } = options;
const chromeWindow = browsingContextFn().topChromeWindow; @@ -231,9 +227,7 @@ navigate.waitForNavigationCompleted = async function waitForNavigationCompleted(
let browsingContextChanged = false; let seenBeforeUnload = false; - - // With an unknown state assume that unload has already been received. - let seenUnload = unknownState; + let seenUnload = false;
let unloadTimer;
This is an automated email from the git hooks/post-receive script.
richard pushed a commit to branch tor-browser-91.8.0esr-11.0-1 in repository tor-browser.
commit 2e6e53cb3a6a8d112bf69f57f9ad0a270cefe730 Author: Mike Hommey mh+mozilla@glandium.org AuthorDate: Fri Mar 4 00:39:40 2022 +0000
Bug 1758021 - Get is_{arm,aarch64}_feature_detected from std::arch on rustc >= 1.60. r=jrmuizel, a=RyanVM
Differential Revision: https://phabricator.services.mozilla.com/D140278 --- Cargo.lock | 1 + gfx/qcms/Cargo.toml | 3 +++ gfx/qcms/build.rs | 5 +++++ gfx/qcms/src/gtest.rs | 4 ++++ gfx/qcms/src/transform.rs | 4 ++++ 5 files changed, 17 insertions(+)
diff --git a/Cargo.lock b/Cargo.lock index de958a6fe2ed9..56122da06357a 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3888,6 +3888,7 @@ name = "qcms" version = "0.2.0" dependencies = [ "libc", + "rustc_version", ]
[[package]] diff --git a/gfx/qcms/Cargo.toml b/gfx/qcms/Cargo.toml index e976054a7b32a..1b87ea48191bd 100644 --- a/gfx/qcms/Cargo.toml +++ b/gfx/qcms/Cargo.toml @@ -20,3 +20,6 @@ cmyk = []
[dependencies] libc = {version = "0.2", optional = true } + +[build-dependencies] +rustc_version = "0.2" diff --git a/gfx/qcms/build.rs b/gfx/qcms/build.rs index 578c6a6f3e553..69e40748cc92d 100644 --- a/gfx/qcms/build.rs +++ b/gfx/qcms/build.rs @@ -1,3 +1,5 @@ +use rustc_version::{version, Version}; + fn main() { if cfg!(feature = "neon") { if std::env::var_os("RUSTC_BOOTSTRAP").is_none() { @@ -11,4 +13,7 @@ fn main() { if target.contains("neon") { println!("cargo:rustc-cfg=libcore_neon"); } + if version().unwrap() >= Version::parse("1.60.0-alpha").unwrap() { + println!("cargo:rustc-cfg=std_arch"); + } } diff --git a/gfx/qcms/src/gtest.rs b/gfx/qcms/src/gtest.rs index d64d76aa40351..374f1a9c22b20 100644 --- a/gfx/qcms/src/gtest.rs +++ b/gfx/qcms/src/gtest.rs @@ -5,6 +5,10 @@ mod gtest { transform_util::lut_inverse_interp16, Intent::Perceptual, }; use libc::c_void; + #[cfg(all(target_arch = "arm", std_arch))] + use std::arch::is_arm_feature_detected; + #[cfg(all(target_arch = "aarch64", std_arch))] + use std::arch::is_aarch64_feature_detected; use std::ptr::null_mut;
#[cfg(any(target_arch = "arm", target_arch = "aarch64"))] diff --git a/gfx/qcms/src/transform.rs b/gfx/qcms/src/transform.rs index f3d9e8b4c4cdc..b688f6c77f15a 100644 --- a/gfx/qcms/src/transform.rs +++ b/gfx/qcms/src/transform.rs @@ -55,6 +55,10 @@ use crate::{
use std::sync::atomic::Ordering; use std::sync::Arc; +#[cfg(all(target_arch = "arm", feature = "neon", std_arch))] +use std::arch::is_arm_feature_detected; +#[cfg(all(target_arch = "aarch64", feature = "neon", std_arch))] +use std::arch::is_aarch64_feature_detected;
pub const PRECACHE_OUTPUT_SIZE: usize = 8192; pub const PRECACHE_OUTPUT_MAX: usize = PRECACHE_OUTPUT_SIZE - 1;
This is an automated email from the git hooks/post-receive script.
richard pushed a commit to branch tor-browser-91.8.0esr-11.0-1 in repository tor-browser.
commit 061428a9e55c1b0a3a209ef4bf1ba9f3960d1738 Author: Nicolas Silva nsilva@mozilla.com AuthorDate: Thu Mar 10 10:41:29 2022 +0000
Bug 1758156 - Check the pref when creating PWebGPU parent actors. r=aosmond a=pascalc
Differential Revision: https://phabricator.services.mozilla.com/D140539 --- gfx/layers/ipc/ContentCompositorBridgeParent.cpp | 5 +++++ 1 file changed, 5 insertions(+)
diff --git a/gfx/layers/ipc/ContentCompositorBridgeParent.cpp b/gfx/layers/ipc/ContentCompositorBridgeParent.cpp index 6cbfbe2068632..bfbf49a93ab74 100644 --- a/gfx/layers/ipc/ContentCompositorBridgeParent.cpp +++ b/gfx/layers/ipc/ContentCompositorBridgeParent.cpp @@ -15,6 +15,7 @@ # include "mozilla/gfx/DeviceManagerDx.h" // for DeviceManagerDx # include "mozilla/layers/ImageDataSerializer.h" #endif +#include "mozilla/StaticPrefs_dom.h" #include "mozilla/dom/WebGLParent.h" #include "mozilla/ipc/Transport.h" // for Transport #include "mozilla/layers/AnimationHelper.h" // for CompositorAnimationStorage @@ -270,6 +271,10 @@ bool ContentCompositorBridgeParent::DeallocPWebRenderBridgeParent( }
webgpu::PWebGPUParent* ContentCompositorBridgeParent::AllocPWebGPUParent() { + if (!StaticPrefs::dom_webgpu_enabled()) { + return nullptr; + } + webgpu::WebGPUParent* parent = new webgpu::WebGPUParent(); parent->AddRef(); // IPDL reference return parent;
This is an automated email from the git hooks/post-receive script.
richard pushed a commit to branch tor-browser-91.8.0esr-11.0-1 in repository tor-browser.
commit b4fb1fbab9ac2a952efc5bc850af5c305de72e89 Author: ffxbld ffxbld@mozilla.com AuthorDate: Sun Mar 13 05:17:54 2022 +0000
No Bug, mozilla-esr91 repo-update remote-settings - a=repo-update r=RyanVM
Differential Revision: https://phabricator.services.mozilla.com/D140929 --- .../dumps/blocklists/addons-bloomfilters.json | 58 +++ services/settings/dumps/main/top-sites.json | 479 +------------------ .../dumps/security-state/intermediates.json | 522 ++++++++++++++------- 3 files changed, 418 insertions(+), 641 deletions(-)
diff --git a/services/settings/dumps/blocklists/addons-bloomfilters.json b/services/settings/dumps/blocklists/addons-bloomfilters.json index 7b3ca6f908d56..2080486c838f9 100644 --- a/services/settings/dumps/blocklists/addons-bloomfilters.json +++ b/services/settings/dumps/blocklists/addons-bloomfilters.json @@ -1,5 +1,63 @@ { "data": [ + { + "stash": { + "blocked": [ + "{45bd75b9-f91d-439c-a265-f18a23fdcc23}:1.1", + "{45bd75b9-f91d-439c-a265-f18a23fdcc23}:0.1", + "{9eb47e6e-8134-4b2a-afcf-cefd687c5078}:0.1", + "{a53eff1b-c95c-4297-8ac1-66d60268f391}:1.6", + "{1ec030d6-8456-475d-98af-4e88a4a993c1}:1.5", + "{45bd75b9-f91d-439c-a265-f18a23fdcc23}:1.4.3", + "{9eb47e6e-8134-4b2a-afcf-cefd687c5078}:1.4.2", + "{9eb47e6e-8134-4b2a-afcf-cefd687c5078}:1.0", + "{a53eff1b-c95c-4297-8ac1-66d60268f391}:1.4.3", + "{45bd75b9-f91d-439c-a265-f18a23fdcc23}:1.4.2", + "{6a3ca6be-f683-4a0f-920f-6308f194fb77}:1.4", + "{a53eff1b-c95c-4297-8ac1-66d60268f391}:0.1", + "{1ec030d6-8456-475d-98af-4e88a4a993c1}:1.3", + "{1ec030d6-8456-475d-98af-4e88a4a993c1}:1.4.3", + "{426e96a3-12d2-4c45-8b26-3f3a0b5ffe2e}:0.1", + "{426e96a3-12d2-4c45-8b26-3f3a0b5ffe2e}:1.5", + "{45bd75b9-f91d-439c-a265-f18a23fdcc23}:1.3", + "{9eb47e6e-8134-4b2a-afcf-cefd687c5078}:1.4", + "{a53eff1b-c95c-4297-8ac1-66d60268f391}:1.4", + "{9eb47e6e-8134-4b2a-afcf-cefd687c5078}:1.3", + "{6a3ca6be-f683-4a0f-920f-6308f194fb77}:0.1", + "{426e96a3-12d2-4c45-8b26-3f3a0b5ffe2e}:1.0", + "{a53eff1b-c95c-4297-8ac1-66d60268f391}:1.7", + "{a53eff1b-c95c-4297-8ac1-66d60268f391}:1.3", + "{9eb47e6e-8134-4b2a-afcf-cefd687c5078}:1.5", + "{6a3ca6be-f683-4a0f-920f-6308f194fb77}:1.4.3", + "{426e96a3-12d2-4c45-8b26-3f3a0b5ffe2e}:1.3", + "{6a3ca6be-f683-4a0f-920f-6308f194fb77}:1.5", + "{a53eff1b-c95c-4297-8ac1-66d60268f391}:1.0", + "{426e96a3-12d2-4c45-8b26-3f3a0b5ffe2e}:1.4.3", + "{45bd75b9-f91d-439c-a265-f18a23fdcc23}:1.5", + "{a53eff1b-c95c-4297-8ac1-66d60268f391}:1.4.2", + "{6a3ca6be-f683-4a0f-920f-6308f194fb77}:1.4.2", + "{426e96a3-12d2-4c45-8b26-3f3a0b5ffe2e}:1.4", + "{1ec030d6-8456-475d-98af-4e88a4a993c1}:1.4.2", + "{1ec030d6-8456-475d-98af-4e88a4a993c1}:1.4", + "{a53eff1b-c95c-4297-8ac1-66d60268f391}:1.5", + "{6a3ca6be-f683-4a0f-920f-6308f194fb77}:1.3", + "{9eb47e6e-8134-4b2a-afcf-cefd687c5078}:1.4.1", + "{6a3ca6be-f683-4a0f-920f-6308f194fb77}:1.6", + "{9eb47e6e-8134-4b2a-afcf-cefd687c5078}:1.4.3", + "{45bd75b9-f91d-439c-a265-f18a23fdcc23}:1.4", + "{1ec030d6-8456-475d-98af-4e88a4a993c1}:0.1", + "{426e96a3-12d2-4c45-8b26-3f3a0b5ffe2e}:1.4.2", + "{1ec030d6-8456-475d-98af-4e88a4a993c1}:1.0", + "{6a3ca6be-f683-4a0f-920f-6308f194fb77}:1.0" + ], + "unblocked": [] + }, + "schema": 1646159885182, + "key_format": "{guid}:{version}", + "stash_time": 1646699708531, + "id": "80195a0a-8483-4d69-a90c-9a5c6fc0a1e5", + "last_modified": 1646699899029 + }, { "stash": { "blocked": [ diff --git a/services/settings/dumps/main/top-sites.json b/services/settings/dumps/main/top-sites.json index 1c0eb0505a70c..855ef94ae380c 100644 --- a/services/settings/dumps/main/top-sites.json +++ b/services/settings/dumps/main/top-sites.json @@ -1,164 +1,38 @@ { "data": [ { - "url": "https://www.ebay.fr/?mkevt=1&mkcid=2&mkrid=709-162318-301183-6&k...", - "order": 0, - "title": "eBay", - "schema": 1625781622121, - "include_regions": [ - "FR" - ], - "sponsored_position": 2, - "include_experiments": [ - "ebay-2020-1" - ], - "send_attribution_request": true, - "id": "8cbfd678-b014-4047-8039-881c9a4e6bd3", - "last_modified": 1625844592286 - }, - { - "url": "https://www.ebay.it/?mkevt=1&mkcid=2&mkrid=724-162318-411672-5&k...", - "order": 0, - "title": "eBay", - "schema": 1625590332081, - "include_regions": [ - "IT" - ], - "sponsored_position": 2, - "include_experiments": [ - "ebay-2020-1" - ], - "send_attribution_request": true, - "id": "fc1ecd88-b91c-423b-a9eb-fbf65545ca76", - "last_modified": 1625844592281 - }, - { - "url": "https://yandex.com/?clid=2453500", + "url": "https://www.wikipedia.org/", "order": 0, - "title": "Yandex", - "schema": 1624656907165, - "include_locales": [ - "en-US", - "en-CA", - "en-GB" - ], + "title": "Wikipedia", + "schema": 1646585618139, "include_regions": [ "RU", "BY", "KZ", + "UA", + "UZ", "TR" ], - "sponsored_position": 1, - "include_experiments": [ - "yandex-2021-1" - ], - "id": "91e008f0-3de8-4444-bbcc-859074315c08", - "last_modified": 1624657519691 + "id": "060ad5fe-40c3-490c-92bc-1ba5fc14a451", + "last_modified": 1646597012924 }, { - "url": "https://yandex.ru/?clid=2453500", - "order": 0, - "title": "Яндекс", - "schema": 1624392813076, - "include_locales": [ - "ru" - ], - "include_regions": [ + "url": "https://www.wikipedia.org/", + "order": 30, + "title": "Wikipedia", + "schema": 1646445825860, + "exclude_regions": [ + "GB", + "CN", "RU", "BY", "KZ", + "UA", + "UZ", "TR" ], - "sponsored_position": 1, - "include_experiments": [ - "yandex-2021-1" - ], - "send_attribution_request": false, - "id": "f16abe55-30be-4d53-b1ac-7ba1e16d17c6", - "last_modified": 1624657519687 - }, - { - "url": "https://yandex.by/?clid=2453500", - "order": 0, - "title": "Яндекс", - "schema": 1624656772350, - "include_locales": [ - "be" - ], - "include_regions": [ - "BY", - "RU", - "KZ", - "TR" - ], - "sponsored_position": 1, - "include_experiments": [ - "yandex-2021-1" - ], - "send_attribution_request": false, - "id": "dbb0749e-1556-420f-8f3e-2e9d5b5efbee", - "last_modified": 1624657519683 - }, - { - "url": "https://yandex.kz/?clid=2453500", - "order": 0, - "title": "Яндекс", - "schema": 1624656814111, - "include_locales": [ - "kk" - ], - "include_regions": [ - "KZ", - "RU", - "BY", - "TR" - ], - "sponsored_position": 1, - "include_experiments": [ - "yandex-2021-1" - ], - "send_attribution_request": false, - "id": "5863a53d-e0c3-4053-8332-1edf7f5b7797", - "last_modified": 1624657519679 - }, - { - "url": "https://yandex.com.tr/?clid=2453500", - "order": 0, - "title": "Yandex", - "schema": 1624656851535, - "include_locales": [ - "tr" - ], - "include_regions": [ - "TR", - "RU", - "BY", - "KZ" - ], - "sponsored_position": 1, - "include_experiments": [ - "yandex-2021-1" - ], - "send_attribution_request": false, - "id": "dbbcd85e-6db4-44d5-9cc1-abad1fe1e557", - "last_modified": 1624657519676 - }, - { - "url": "https://www.amazon.ca/?tag=admpdesktopca-20&ref=pd_sl_a317866944CA%YYYYM...", - "order": 0, - "title": "Amazon", - "schema": 1624370112441, - "include_regions": [ - "CA" - ], - "sponsored_position": 1, - "include_experiments": [ - "ebay-2020-1" - ], - "url_urlbar_override": "https://www.amazon.ca/?tag=admpdesktopca-20&ref=pd_sl_a317867036CA%YYYYM...", - "send_attribution_request": true, - "id": "f2fc4f42-d930-4c0c-acdc-1d29b56234d3", - "last_modified": 1624376393940 + "id": "c109ad2c-eae5-4b47-bac7-ac2eb9eb9aab", + "last_modified": 1646597012919 }, { "url": "https://www.amazon.ca/", @@ -175,22 +49,6 @@ "id": "82386dfa-cc7a-4fcb-9b1e-c9343d3da79d", "last_modified": 1624376393938 }, - { - "url": "https://www.amazon.es/?tag=admarketpl0c0-21&ref=pd_sl_a317866950ES%YYYYM...", - "order": 0, - "title": "Amazon", - "schema": 1623872989071, - "include_regions": [ - "ES" - ], - "sponsored_position": 1, - "include_experiments": [ - "ebay-2020-1" - ], - "send_attribution_request": true, - "id": "d69308b2-7a6e-49e9-bfae-77fbafcb1ce2", - "last_modified": 1623959042906 - }, { "url": "https://www.amazon.com/", "order": 50, @@ -206,105 +64,6 @@ "id": "354690ae-3d9d-4745-a82b-7ac43e4b3213", "last_modified": 1623959042903 }, - { - "url": "https://www.etsy.com/ca?utm_source=admarketplace&utm_medium=cpc&utm_...", - "order": 0, - "title": "Etsy", - "schema": 1620923802877, - "include_regions": [ - "CA" - ], - "sponsored_position": 1, - "include_experiments": [ - "disabled" - ], - "send_attribution_request": true, - "id": "0171a7bd-6ddc-409b-b68f-dc5e9e5224d5", - "last_modified": 1621028626497 - }, - { - "url": "https://www.amazon.com.br/?tag=admarketbr-20&ref=pd_sl_a317866941BR%YYYY...", - "order": 0, - "title": "Amazon", - "schema": 1617895381812, - "include_regions": [ - "BR" - ], - "sponsored_position": 1, - "include_experiments": [ - "ebay-2020-1" - ], - "send_attribution_request": true, - "id": "7e3ef99b-55d8-42f1-a8e9-7e696545cdbd", - "last_modified": 1619451115290 - }, - { - "url": "https://www.amazon.in/?tag=admpdesktopin-21&ref=pd_sl_a317866956IN%YYYYM...", - "order": 0, - "title": "Amazon", - "schema": 1617982468842, - "include_regions": [ - "IN" - ], - "sponsored_position": 1, - "include_experiments": [ - "ebay-2020-1" - ], - "send_attribution_request": true, - "id": "f99e66fc-88c2-4478-807e-7bb84e95c207", - "last_modified": 1619451115284 - }, - { - "url": "https://www.amazon.it/?tag=admarketpla0c-21&ref=pd_sl_a317866959IT%YYYYM...", - "order": 0, - "title": "Amazon", - "schema": 1617982545531, - "include_regions": [ - "IT" - ], - "sponsored_position": 1, - "include_experiments": [ - "ebay-2020-1" - ], - "send_attribution_request": true, - "id": "9ae71287-6c2a-4e69-9d4e-c42defd0df42", - "last_modified": 1619451115280 - }, - { - "url": "https://www.amazon.com.mx/?tag=admarketdskmx-20&ref=pd_sl_a317866962MX%Y...", - "order": 0, - "title": "Amazon", - "schema": 1617982697716, - "include_regions": [ - "MX" - ], - "sponsored_position": 1, - "include_experiments": [ - "ebay-2020-1" - ], - "send_attribution_request": true, - "id": "3413f2c2-7612-46ec-98b7-e529114e7240", - "last_modified": 1619451115271 - }, - { - "url": "https://yandex.ru/", - "order": 0, - "title": "Yandex", - "schema": 1618500265732, - "include_regions": [ - "BY", - "KZ", - "RU", - "TR" - ], - "search_shortcut": true, - "exclude_experiments": [ - "yandex-2021-1" - ], - "include_experiments": [], - "id": "49e408ae-41c9-400c-9d9a-b871e0ef8db4", - "last_modified": 1619451115264 - }, { "url": "https://www.amazon.fr/", "order": 40, @@ -422,91 +181,6 @@ "id": "1bfdbe7c-570f-494a-b61c-20c5c64dd69d", "last_modified": 1611838808375 }, - { - "url": "https://www.ebay.com.au/?mkevt=1&mkcid=2&mkrid=7051608169736203&...", - "order": 0, - "title": "eBay", - "schema": 1611316042640, - "include_regions": [ - "AU" - ], - "sponsored_position": 2, - "include_experiments": [ - "ebay-2020-1" - ], - "url_urlbar_override": "https://www.ebay.com.au/?mkevt=1&mkcid=2&mkrid=7051608169736203&...", - "send_attribution_request": true, - "id": "998a610f-a1aa-4c89-b711-e642af665560", - "last_modified": 1611677652023 - }, - { - "url": "https://www.ebay.ca/?mkevt=1&mkcid=2&mkrid=7061608169858537&keyw...", - "order": 0, - "title": "eBay", - "schema": 1611173713861, - "include_regions": [ - "CA" - ], - "sponsored_position": 2, - "include_experiments": [ - "ebay-2020-1" - ], - "url_urlbar_override": "https://www.ebay.ca/?mkevt=1&mkcid=2&mkrid=7061608169858537&keyw...", - "send_attribution_request": true, - "id": "cda45b34-704c-4cb5-9a9a-426d8dd6b745", - "last_modified": 1611677652020 - }, - { - "url": "https://www.ebay.com/?mkevt=1&mkcid=2&mkrid=7111608169546898&key...", - "order": 0, - "title": "eBay", - "schema": 1610984980368, - "include_regions": [ - "US" - ], - "sponsored_position": 2, - "include_experiments": [ - "ebay-2020-1" - ], - "url_urlbar_override": "https://www.ebay.com/?mkevt=1&mkcid=2&mkrid=7111608169546898&key...", - "send_attribution_request": true, - "id": "0f88ad04-9af4-4a88-8211-aa02d5a0b288", - "last_modified": 1611076538711 - }, - { - "url": "https://www.ebay.co.uk/?mkevt=1&mkcid=2&mkrid=7101608169642080&k...", - "order": 0, - "title": "eBay", - "schema": 1610985000385, - "include_regions": [ - "GB" - ], - "sponsored_position": 2, - "include_experiments": [ - "ebay-2020-1" - ], - "url_urlbar_override": "https://www.ebay.co.uk/?mkevt=1&mkcid=2&mkrid=7101608169642080&k...", - "send_attribution_request": true, - "id": "63fab9a4-70d9-49d7-8b31-089867280316", - "last_modified": 1611076538707 - }, - { - "url": "https://www.ebay.de/?mkevt=1&mkcid=2&mkrid=7071608169806221&keyw...", - "order": 0, - "title": "eBay", - "schema": 1610826102114, - "include_regions": [ - "DE" - ], - "sponsored_position": 2, - "include_experiments": [ - "ebay-2020-1" - ], - "url_urlbar_override": "https://www.ebay.de/?mkevt=1&mkcid=2&mkrid=7071608169806221&keyw...", - "send_attribution_request": true, - "id": "4efa52be-32c9-4ab9-807d-ca3cb3c8f340", - "last_modified": 1611076538696 - }, { "url": "https://www.ebay.co.uk/", "order": 70, @@ -521,40 +195,6 @@ "id": "2abe6385-2f49-49ca-a4ff-0e635bc2ab7c", "last_modified": 1611076538693 }, - { - "url": "https://www.amazon.com.au/?tag=admarketdeskt-22&ref=pd_sl_a318408405AU%Y...", - "order": 0, - "title": "Amazon", - "schema": 1608030031997, - "include_regions": [ - "AU" - ], - "sponsored_position": 1, - "include_experiments": [ - "ebay-2020-1" - ], - "url_urlbar_override": "https://www.amazon.com.au/?tag=admarketdeskt-22&ref=pd_sl_a318408406AU%Y...", - "send_attribution_request": true, - "id": "fa9b04d5-5917-421b-a8a0-963722ad8d7f", - "last_modified": 1608239138396 - }, - { - "url": "https://www.amazon.fr/?tag=admarketpla00-21&ref=pd_sl_a317866953FR%YYYYM...", - "order": 0, - "title": "Amazon", - "schema": 1608031563878, - "include_regions": [ - "FR" - ], - "sponsored_position": 1, - "include_experiments": [ - "ebay-2020-1" - ], - "url_urlbar_override": "https://www.amazon.fr/?tag=admarketpla00-21&ref=pd_sl_a317867039FR%YYYYM...", - "send_attribution_request": true, - "id": "4b14dda7-4d66-4add-855c-19dfb5b84ede", - "last_modified": 1608239138388 - }, { "url": "https://www.ebay.de/", "order": 26, @@ -569,57 +209,6 @@ "id": "61b60614-1285-41c6-a0c1-9fe12f3983c4", "last_modified": 1608239138349 }, - { - "url": "https://www.amazon.de/?tag=admpdesktopde-21&ref=pd_sl_a8E0DFDAEAADZZ12%Y...", - "order": 0, - "title": "Amazon", - "schema": 1605021228258, - "include_regions": [ - "DE" - ], - "sponsored_position": 1, - "include_experiments": [ - "ebay-2020-1" - ], - "url_urlbar_override": "https://www.amazon.de/?tag=admpdesktopde-21&ref=pd_sl_aBB39B9165B5CF11%Y...", - "send_attribution_request": true, - "id": "306a3851-b9ff-4b3a-a4aa-8f408fea4b68", - "last_modified": 1605024212690 - }, - { - "url": "https://www.amazon.co.uk/?tag=admpdesktopuk-21&ref=pd_sl_aF2E70068DAAZZ2...", - "order": 0, - "title": "Amazon", - "schema": 1605021314971, - "include_regions": [ - "GB" - ], - "sponsored_position": 1, - "include_experiments": [ - "ebay-2020-1" - ], - "url_urlbar_override": "https://www.amazon.co.uk/?tag=admpdesktopuk-21&ref=pd_sl_a03A81C10121DA1...", - "send_attribution_request": true, - "id": "b841da27-9b4d-4660-813a-8ccbde98e022", - "last_modified": 1605024212686 - }, - { - "url": "https://www.amazon.com/?tag=admarketus-20&ref=pd_sl_a77559ED8D65AA12%YYY...", - "order": 0, - "title": "Amazon", - "schema": 1605021163110, - "include_regions": [ - "US" - ], - "sponsored_position": 1, - "include_experiments": [ - "ebay-2020-1" - ], - "url_urlbar_override": "https://www.amazon.com/?tag=admarketus-20&ref=pd_sl_a3B05123160CA611%YYY...", - "send_attribution_request": true, - "id": "e429f95f-42d5-4bdd-9109-726a8a2d055a", - "last_modified": 1605024212682 - }, { "url": "https://www.reddit.com/", "order": 25, @@ -728,26 +317,6 @@ "id": "7fcb96b5-b24f-4bb0-8b0d-c363ef24973b", "last_modified": 1599146777426 }, - { - "url": "https://vk.com/", - "order": 5, - "schema": 1599056213323, - "include_regions": [ - "RU" - ], - "id": "ac72a188-802a-447b-9a79-0a4835136240", - "last_modified": 1599146777420 - }, - { - "url": "https://ok.ru/", - "order": 11, - "schema": 1599056214142, - "include_regions": [ - "RU" - ], - "id": "2db41cb5-c87b-4fef-9583-d2d3d85fa182", - "last_modified": 1599146777416 - }, { "url": "https://www.avito.ru/", "order": 12, @@ -816,18 +385,6 @@ "id": "19045f47-6dde-43a8-9511-3fc0c4555a09", "last_modified": 1599146777365 }, - { - "url": "https://www.wikipedia.org/", - "order": 30, - "title": "Wikipedia", - "schema": 1599056608910, - "exclude_regions": [ - "GB", - "CN" - ], - "id": "c109ad2c-eae5-4b47-bac7-ac2eb9eb9aab", - "last_modified": 1599146777355 - }, { "url": "https://www.bbc.co.uk/", "order": 60, diff --git a/services/settings/dumps/security-state/intermediates.json b/services/settings/dumps/security-state/intermediates.json index 83b50da55719e..9cbc3b9a7903b 100644 --- a/services/settings/dumps/security-state/intermediates.json +++ b/services/settings/dumps/security-state/intermediates.json @@ -1,5 +1,347 @@ { "data": [ + { + "schema": 1647046118886, + "derHash": "AgcFbRcsgL37bcRb6eWAiEYHjR5u7xtu1wJZqzMqZME=", + "subject": "CN=Cybertrust Japan SureServer CA G4,O=Cybertrust Japan Co.\, Ltd.,C=JP", + "subjectDN": "MF4xCzAJBgNVBAYTAkpQMSMwIQYDVQQKExpDeWJlcnRydXN0IEphcGFuIENvLiwgTHRkLjEqMCgGA1UEAxMhQ3liZXJ0cnVzdCBKYXBhbiBTdXJlU2VydmVyIENBIEc0", + "whitelist": false, + "attachment": { + "hash": "d14576fded8dc8bc2c5e4595b2e25160155f8f967c80541b129ff564174309bd", + "size": 1768, + "filename": "rS4Ex7fMz9dQhgdB6qjxP-jJJQwjIeb-7RhvvdO6xy8=.pem", + "location": "security-state-staging/intermediates/b6d9843d-8dea-45b8-acba-752b6481c4e7.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "rS4Ex7fMz9dQhgdB6qjxP+jJJQwjIeb+7RhvvdO6xy8=", + "crlite_enrolled": true, + "id": "354eb83b-1260-4775-bce0-910a0a18ed75", + "last_modified": 1647053840421 + }, + { + "schema": 1647046119053, + "derHash": "/s6a2nqknU/qnv8SNUIJWogMAE/Wkz+TZLArLjV06jg=", + "subject": "CN=Cybertrust Japan SureServer EV CA G3,O=Cybertrust Japan Co.\, Ltd.,C=JP", + "subjectDN": "MGExCzAJBgNVBAYTAkpQMSMwIQYDVQQKExpDeWJlcnRydXN0IEphcGFuIENvLiwgTHRkLjEtMCsGA1UEAxMkQ3liZXJ0cnVzdCBKYXBhbiBTdXJlU2VydmVyIEVWIENBIEcz", + "whitelist": false, + "attachment": { + "hash": "442ad2ef3f029c8ae0616647479fbe53d99e0e9ed017c893d2b5952cbf146f8f", + "size": 1772, + "filename": "zJoepoy-7XeJoRmjbR7_i8oZ1WEujOKGTD9NNM0uWHM=.pem", + "location": "security-state-staging/intermediates/c3ae4321-0501-4974-bae5-2038e257036c.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "zJoepoy+7XeJoRmjbR7/i8oZ1WEujOKGTD9NNM0uWHM=", + "crlite_enrolled": true, + "id": "477f5a61-5c31-42a4-89b0-4e49b54028ef", + "last_modified": 1647053840410 + }, + { + "schema": 1647046118470, + "derHash": "f9KDd8h8iY6QlMk+oAvxB6vhHbgLPYXitKZiaXaBI1s=", + "subject": "CN=E-Tugra TLS RSA SubCA R1,O=E-TUGRA EBG BILISIM TEKNOLOJILERI VE HIZMETLERI ANONIM SIRKETI,C=TR", + "subjectDN": "MHkxCzAJBgNVBAYTAlRSMUcwRQYDVQQKDD5FLVRVR1JBIEVCRyBCSUxJU0lNIFRFS05PTE9KSUxFUkkgVkUgSElaTUVUTEVSSSBBTk9OSU0gU0lSS0VUSTEhMB8GA1UEAwwYRS1UdWdyYSBUTFMgUlNBIFN1YkNBIFIx", + "whitelist": false, + "attachment": { + "hash": "2dac60312de5300958bd47f4cf65799e062b7861212409e3dfab3972ca44134d", + "size": 2414, + "filename": "RT5Ru4yVpA814R-GLXv9mePZqXwAfupz-ZXLpFuW_-M=.pem", + "location": "security-state-staging/intermediates/72424459-dd4e-4ca8-a116-1dcd4011b79b.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "RT5Ru4yVpA814R+GLXv9mePZqXwAfupz+ZXLpFuW/+M=", + "crlite_enrolled": true, + "id": "ac0d3d15-c0f0-49ea-be15-8fe48af92b99", + "last_modified": 1647053840399 + }, + { + "schema": 1646967480864, + "derHash": "fvP4lFbOY2VXsgxd+zf5jCU6C2YNLp5eeEXK+cA4x8E=", + "subject": "CN=SHECA EV Server CA G3,O=UniTrust,C=CN", + "subjectDN": "MEAxCzAJBgNVBAYTAkNOMREwDwYDVQQKDAhVbmlUcnVzdDEeMBwGA1UEAwwVU0hFQ0EgRVYgU2VydmVyIENBIEcz", + "whitelist": false, + "attachment": { + "hash": "b11897cb46ef64d1a0bce0acb7e1da9d5d9319cb8cb0a1441d46af6510bd2188", + "size": 2003, + "filename": "a_eZydK7TPcC6VQUFv_ek8Goclpip8HIQF3iyBC1v9Y=.pem", + "location": "security-state-staging/intermediates/9a95e108-34b7-4a4a-9fd4-65e6fe531f0f.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "a/eZydK7TPcC6VQUFv/ek8Goclpip8HIQF3iyBC1v9Y=", + "crlite_enrolled": true, + "id": "0cbd2855-9acf-477f-a083-016847b4753a", + "last_modified": 1647053840388 + }, + { + "schema": 1647046118696, + "derHash": "8Hu73gdvm0DFfMS+/t6Xyh9Tua4UfwNdKEy/U/NDL7g=", + "subject": "CN=CFCA OV OCA,O=China Financial Certification Authority,C=CN", + "subjectDN": "MFUxCzAJBgNVBAYTAkNOMTAwLgYDVQQKDCdDaGluYSBGaW5hbmNpYWwgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxFDASBgNVBAMMC0NGQ0EgT1YgT0NB", + "whitelist": false, + "attachment": { + "hash": "bc37658d1568750ae385b92be54ede64df31899d30f67211fd1e015c9dc7803b", + "size": 1963, + "filename": "uc0FPx73f1ObHGmGZOcevy371Uo9asVjdabpiS0lKgQ=.pem", + "location": "security-state-staging/intermediates/8a832b56-3f0a-4b5f-8966-8a1da5242863.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "uc0FPx73f1ObHGmGZOcevy371Uo9asVjdabpiS0lKgQ=", + "crlite_enrolled": true, + "id": "b2b776e5-2b2f-4c8e-819d-026b8d3855d2", + "last_modified": 1647053840376 + }, + { + "schema": 1646966924057, + "derHash": "AYGythcxeVYudWMjRAN8pSMBhhin9xaCaaPrhTZ/91w=", + "subject": "CN=DigiCert Assured ID Grid TLS RSA2048 SHA256 2022 CA1,O=DigiCert\, Inc.,C=US", + "subjectDN": "MGUxCzAJBgNVBAYTAlVTMRcwFQYDVQQKEw5EaWdpQ2VydCwgSW5jLjE9MDsGA1UEAxM0RGlnaUNlcnQgQXNzdXJlZCBJRCBHcmlkIFRMUyBSU0EyMDQ4IFNIQTI1NiAyMDIyIENBMQ==", + "whitelist": false, + "attachment": { + "hash": "7f8f0eacf04c02686bfe08a2ccff1727606d8cbdee3d30408f7ee475b68600a3", + "size": 1804, + "filename": "_SfSGxeP1MQb2mpICOc8KzfYSH77KMzIMbCgylDKpPc=.pem", + "location": "security-state-staging/intermediates/4e91bcaa-5473-4b40-8c61-3bb878424076.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "/SfSGxeP1MQb2mpICOc8KzfYSH77KMzIMbCgylDKpPc=", + "crlite_enrolled": false, + "id": "a5acb099-b5f7-485c-a851-34cf19a7efc6", + "last_modified": 1646967480339 + }, + { + "schema": 1646751472958, + "derHash": "G095TXcNxuBdx6QVhFD4JZVy621Z3mZ6PD++CNoBJIE=", + "subject": "CN=Global Trust CA - OV (RSA),O=Global Digital Inc.,C=TW", + "subjectDN": "MFAxCzAJBgNVBAYTAlRXMRwwGgYDVQQKExNHbG9iYWwgRGlnaXRhbCBJbmMuMSMwIQYDVQQDExpHbG9iYWwgVHJ1c3QgQ0EgLSBPViAoUlNBKQ==", + "whitelist": false, + "attachment": { + "hash": "136048afa3b294583ccc15f0a0a6102dcca6cc9bf7d5c19811460c54c4e79fce", + "size": 2089, + "filename": "K6VGZ_ktzZYufpj5GSQX1fCds5dLtjs5vlSRcV-Oe8U=.pem", + "location": "security-state-staging/intermediates/002c6e58-6238-435b-9b0d-7b0691d17ed4.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "K6VGZ/ktzZYufpj5GSQX1fCds5dLtjs5vlSRcV+Oe8U=", + "crlite_enrolled": false, + "id": "d6d94677-fd6d-4901-bbae-6817f8abcd97", + "last_modified": 1646881071888 + }, + { + "schema": 1646449055023, + "derHash": "YO9BLqvnw/xjme7RtjO3d3R1FbKdchuWPdJYvEmKspI=", + "subject": "CN=SSL.com EV Root Certification Authority ECC,O=SSL Corporation,L=Houston,ST=Texas,C=US", + "subjectDN": "MH8xCzAJBgNVBAYTAlVTMQ4wDAYDVQQIDAVUZXhhczEQMA4GA1UEBwwHSG91c3RvbjEYMBYGA1UECgwPU1NMIENvcnBvcmF0aW9uMTQwMgYDVQQDDCtTU0wuY29tIEVWIFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgRUND", + "whitelist": false, + "attachment": { + "hash": "ab3dfad3dda55fb2c174fabf92fc81f2757e57a915b1f78f5483d12dfaf50f76", + "size": 1821, + "filename": "NIdnza073SiyuN1TUa7DDGjOxc1p0nbfOCfbxPWAZGQ=.pem", + "location": "security-state-staging/intermediates/734df71e-5087-4844-aa75-47d2809181f8.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "NIdnza073SiyuN1TUa7DDGjOxc1p0nbfOCfbxPWAZGQ=", + "crlite_enrolled": false, + "id": "b512360d-9f2f-4206-97ac-09aa8d521233", + "last_modified": 1646513861708 + }, + { + "schema": 1646513357696, + "derHash": "rPcY34OOZABRd30ZR/UWIOjYBLoYZVOuUvyYEbXTS4s=", + "subject": "CN=SSL.com Root Certification Authority RSA,O=SSL Corporation,L=Houston,ST=Texas,C=US", + "subjectDN": "MHwxCzAJBgNVBAYTAlVTMQ4wDAYDVQQIDAVUZXhhczEQMA4GA1UEBwwHSG91c3RvbjEYMBYGA1UECgwPU1NMIENvcnBvcmF0aW9uMTEwLwYDVQQDDChTU0wuY29tIFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgUlNB", + "whitelist": false, + "attachment": { + "hash": "0be6061408140698708a3d3cb24d39ad6416effde544c39b9e52f40a1b6fe9cf", + "size": 2085, + "filename": "0cRTd-vc1hjNFlHcLgLCHXUeWqn80bNDH_bs9qMTSPo=.pem", + "location": "security-state-staging/intermediates/a9cbcbd0-800f-442e-8f52-903325a5ee23.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "0cRTd+vc1hjNFlHcLgLCHXUeWqn80bNDH/bs9qMTSPo=", + "crlite_enrolled": false, + "id": "60def2d8-d623-4952-91b9-30913d09f7b4", + "last_modified": 1646513861696 + }, + { + "schema": 1646513358832, + "derHash": "BrlyKmmcV9/xhp9DC0ebtutJquEYTqycUyXBM0o06kw=", + "subject": "CN=SSL.com Root Certification Authority ECC,O=SSL Corporation,L=Houston,ST=Texas,C=US", + "subjectDN": "MHwxCzAJBgNVBAYTAlVTMQ4wDAYDVQQIDAVUZXhhczEQMA4GA1UEBwwHSG91c3RvbjEYMBYGA1UECgwPU1NMIENvcnBvcmF0aW9uMTEwLwYDVQQDDChTU0wuY29tIFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgRUND", + "whitelist": false, + "attachment": { + "hash": "3575f65e014fd8fa943566de2f3d7a42adc6b4e947cc86fb2028d533adc24ad9", + "size": 1804, + "filename": "oyD01TTXvpfBro3QSZc1vIlcMjrdLTiL_M9mLCPX-Zo=.pem", + "location": "security-state-staging/intermediates/34d6fd53-d5dd-4289-aa37-161e72f0a7e9.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "oyD01TTXvpfBro3QSZc1vIlcMjrdLTiL/M9mLCPX+Zo=", + "crlite_enrolled": false, + "id": "3ecf65b2-97c8-4b50-a416-2032e8bdbdf7", + "last_modified": 1646513861683 + }, + { + "schema": 1646513358090, + "derHash": "uXF28htu1kYJJnstGiqfrwxN69RGRNyF62rphvyGfVY=", + "subject": "CN=SSL.com EV Root Certification Authority RSA R2,O=SSL Corporation,L=Houston,ST=Texas,C=US", + "subjectDN": "MIGCMQswCQYDVQQGEwJVUzEOMAwGA1UECAwFVGV4YXMxEDAOBgNVBAcMB0hvdXN0b24xGDAWBgNVBAoMD1NTTCBDb3Jwb3JhdGlvbjE3MDUGA1UEAwwuU1NMLmNvbSBFViBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IFJTQSBSMg==", + "whitelist": false, + "attachment": { + "hash": "26b0eb0f7d0c63890a8cb3bac26790139d109c65e18753a461b28633c51c86e3", + "size": 2093, + "filename": "fNZ8JI9p2D_C-bsB3LH3rWejY9BGBDeW0JhMOiMfa7A=.pem", + "location": "security-state-staging/intermediates/cbc009ee-d95a-4c1a-b665-8d351c2f25cd.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "fNZ8JI9p2D/C+bsB3LH3rWejY9BGBDeW0JhMOiMfa7A=", + "crlite_enrolled": false, + "id": "7b426af5-c32a-4108-a18c-9f524b01f83a", + "last_modified": 1646513861670 + }, + { + "schema": 1646513358478, + "derHash": "ie/rJQlrpMzUCvT7h1bwpIQ5lZdIIgIJFMToWdkyt/M=", + "subject": "CN=SSL.com EV Root Certification Authority RSA R2,O=SSL Corporation,L=Houston,ST=Texas,C=US", + "subjectDN": "MIGCMQswCQYDVQQGEwJVUzEOMAwGA1UECAwFVGV4YXMxEDAOBgNVBAcMB0hvdXN0b24xGDAWBgNVBAoMD1NTTCBDb3Jwb3JhdGlvbjE3MDUGA1UEAwwuU1NMLmNvbSBFViBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IFJTQSBSMg==", + "whitelist": false, + "attachment": { + "hash": "c7680e4e47bb04f8515b20fc6fe36741515835bace47ef132f02922b0ea612ea", + "size": 2113, + "filename": "fNZ8JI9p2D_C-bsB3LH3rWejY9BGBDeW0JhMOiMfa7A=.pem", + "location": "security-state-staging/intermediates/a586bb32-1766-40e6-bdd8-ba5e8bf95066.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "fNZ8JI9p2D/C+bsB3LH3rWejY9BGBDeW0JhMOiMfa7A=", + "crlite_enrolled": false, + "id": "2dea51d4-7fea-4eb2-a507-7fa4ef9b5e26", + "last_modified": 1646513861656 + }, + { + "schema": 1646448537822, + "derHash": "NoevAsSXMco0/k/bm15eDsrNiiBpVvGa+zggOsXwpWc=", + "subject": "CN=E-Tugra TLS ECC SubCA R1,O=E-TUGRA EBG BILISIM TEKNOLOJILERI VE HIZMETLERI ANONIM SIRKETI,C=TR", + "subjectDN": "MHkxCzAJBgNVBAYTAlRSMUcwRQYDVQQKDD5FLVRVR1JBIEVCRyBCSUxJU0lNIFRFS05PTE9KSUxFUkkgVkUgSElaTUVUTEVSSSBBTk9OSU0gU0lSS0VUSTEhMB8GA1UEAwwYRS1UdWdyYSBUTFMgRUNDIFN1YkNBIFIx", + "whitelist": false, + "attachment": { + "hash": "42fa634a3eb98e54074f17d0fe0aab755c5e4067770fd05698206528ab594d6d", + "size": 1264, + "filename": "LEpoPBInvdPKvBnEvgOGVD6niF1p0SyPl8CVl1YmY3A=.pem", + "location": "security-state-staging/intermediates/4c248f82-43b8-41d7-ad2d-517e741f7bd1.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "LEpoPBInvdPKvBnEvgOGVD6niF1p0SyPl8CVl1YmY3A=", + "crlite_enrolled": false, + "id": "fc1b0c95-092b-42ed-9f22-9aab3be7f515", + "last_modified": 1646449054505 + }, + { + "schema": 1646448540616, + "derHash": "Z2JSLktXrtCWBXSrBh957qBoxa49gV9QqXHOxJWKkrg=", + "subject": "CN=E-Tugra EV TLS RSA SubCA R1,O=E-TUGRA EBG BILISIM TEKNOLOJILERI VE HIZMETLERI ANONIM SIRKETI,C=TR", + "subjectDN": "MHwxCzAJBgNVBAYTAlRSMUcwRQYDVQQKDD5FLVRVR1JBIEVCRyBCSUxJU0lNIFRFS05PTE9KSUxFUkkgVkUgSElaTUVUTEVSSSBBTk9OSU0gU0lSS0VUSTEkMCIGA1UEAwwbRS1UdWdyYSBFViBUTFMgUlNBIFN1YkNBIFIx", + "whitelist": false, + "attachment": { + "hash": "531ad4d40ca7c3fea57e7c589aa7859d09afd804c47e50fd7be60dc291facc5f", + "size": 2475, + "filename": "Q7voHmrw-oKRSwo4-19T_zMtPtYD7iixEcpIdSoj660=.pem", + "location": "security-state-staging/intermediates/153a8055-e201-42a1-b214-931113e6df90.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "Q7voHmrw+oKRSwo4+19T/zMtPtYD7iixEcpIdSoj660=", + "crlite_enrolled": false, + "id": "06990766-0ff3-4021-befb-00332e591022", + "last_modified": 1646449054486 + }, + { + "schema": 1646448541989, + "derHash": "Xq8Fz8mgF3MNAeZojW45cQ4B/eN050sbJdOkgHauXbg=", + "subject": "CN=TrustSafe TLS ECC SubCA R1,O=Isimtescil Bilisim A.S.,C=TR", + "subjectDN": "MFQxCzAJBgNVBAYTAlRSMSAwHgYDVQQKDBdJc2ltdGVzY2lsIEJpbGlzaW0gQS5TLjEjMCEGA1UEAwwaVHJ1c3RTYWZlIFRMUyBFQ0MgU3ViQ0EgUjE=", + "whitelist": false, + "attachment": { + "hash": "cef634a3d7c8f2241427ca02aa357aa14537f9bb1c601d32b24ac5c78454e98d", + "size": 1215, + "filename": "SKjptlNHzgEvyArVrdTup8ORkGWGikm3iFmLJI4ZRGM=.pem", + "location": "security-state-staging/intermediates/830ef734-1768-45ce-9ec0-edcea0f351c5.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "SKjptlNHzgEvyArVrdTup8ORkGWGikm3iFmLJI4ZRGM=", + "crlite_enrolled": false, + "id": "e25b26fc-5592-49af-bdc3-e378c0642fca", + "last_modified": 1646449054477 + }, + { + "schema": 1646448543405, + "derHash": "o2wcxiPs8+2JmprBT91WIJGYWOYh5od+Ae9Q2h22o6s=", + "subject": "CN=E-Tugra EV TLS ECC SubCA R1,O=E-TUGRA EBG BILISIM TEKNOLOJILERI VE HIZMETLERI ANONIM SIRKETI,C=TR", + "subjectDN": "MHwxCzAJBgNVBAYTAlRSMUcwRQYDVQQKDD5FLVRVR1JBIEVCRyBCSUxJU0lNIFRFS05PTE9KSUxFUkkgVkUgSElaTUVUTEVSSSBBTk9OSU0gU0lSS0VUSTEkMCIGA1UEAwwbRS1UdWdyYSBFViBUTFMgRUNDIFN1YkNBIFIx", + "whitelist": false, + "attachment": { + "hash": "cb76ec11be325de11cdf2a33d8caf91cc8c24266f89e8b6d2f1141ba9e51074a", + "size": 1325, + "filename": "xI042fT9TrCjknH-POp5PoRYy2_NfN2GeXL65Ro9074=.pem", + "location": "security-state-staging/intermediates/12a9d1ee-16ee-4af1-8b4f-35b593dd91eb.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "xI042fT9TrCjknH+POp5PoRYy2/NfN2GeXL65Ro9074=", + "crlite_enrolled": false, + "id": "d44bf60e-eb72-4be4-9bab-be260301ffb8", + "last_modified": 1646449054467 + }, + { + "schema": 1646448544694, + "derHash": "mKDDuhiZJYWV0E8V0TTFcy6GS3VcZIpI0cF/CiYO9ac=", + "subject": "CN=TrustSafe TLS RSA SubCA R1,O=Isimtescil Bilisim A.S.,C=TR", + "subjectDN": "MFQxCzAJBgNVBAYTAlRSMSAwHgYDVQQKDBdJc2ltdGVzY2lsIEJpbGlzaW0gQS5TLjEjMCEGA1UEAwwaVHJ1c3RTYWZlIFRMUyBSU0EgU3ViQ0EgUjE=", + "whitelist": false, + "attachment": { + "hash": "90c93b3a50c031ef4beb4224d3085eafa66d1c8be8d4bc2bdeea1476967ed709", + "size": 2365, + "filename": "_SrUGYsWpDW44q_gIPL4e-vKroLPu0_n0OySZvb5g6U=.pem", + "location": "security-state-staging/intermediates/9849321e-0fe1-42f2-a509-ed0dcfa3b2e1.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "/SrUGYsWpDW44q/gIPL4e+vKroLPu0/n0OySZvb5g6U=", + "crlite_enrolled": false, + "id": "0fc46ca8-adb2-450b-9bd7-49706b5eca52", + "last_modified": 1646449054457 + }, + { + "schema": 1646362120882, + "derHash": "HIhGxAasYpT68NMqWhTnnIQThaV/EVm2HpAUYF435ek=", + "subject": "CN=DigiCert Assured ID G3 TLS ECC384 SHA384 2022 CA1,O=DigiCert\, Inc.,C=US", + "subjectDN": "MGIxCzAJBgNVBAYTAlVTMRcwFQYDVQQKEw5EaWdpQ2VydCwgSW5jLjE6MDgGA1UEAxMxRGlnaUNlcnQgQXNzdXJlZCBJRCBHMyBUTFMgRUNDMzg0IFNIQTM4NCAyMDIyIENBMQ==", + "whitelist": false, + "attachment": { + "hash": "682a6d671295b8e0ca15d671be54d68c7d5786b8b33b65eb4e943f238772b094", + "size": 1288, + "filename": "otVuF_gByhb3Aev07shrO8GeUcthd4Qw5N_K1L0fizo=.pem", + "location": "security-state-staging/intermediates/d6b7ddd7-f249-4342-9621-2f56bffe26af.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "otVuF/gByhb3Aev07shrO8GeUcthd4Qw5N/K1L0fizo=", + "crlite_enrolled": false, + "id": "e0227843-5910-4bd0-adaa-01d35e7a7005", + "last_modified": 1646362650618 + }, + { + "schema": 1646362122200, + "derHash": "mH/y47JaOhTLhD2Qezx/AHwnSSGvwQAX+F1PrnsMuLY=", + "subject": "CN=DigiCert Assured ID TLS RSA4096 SHA256 2022 CA1,O=DigiCert\, Inc.,C=US", + "subjectDN": "MGAxCzAJBgNVBAYTAlVTMRcwFQYDVQQKEw5EaWdpQ2VydCwgSW5jLjE4MDYGA1UEAxMvRGlnaUNlcnQgQXNzdXJlZCBJRCBUTFMgUlNBNDA5NiBTSEEyNTYgMjAyMiBDQTE=", + "whitelist": false, + "attachment": { + "hash": "ea98651742d65855a2b89e7d033a40bf1adf3bb22e730eda3ea9896019690d52", + "size": 2089, + "filename": "t6F6ltc_eNYw0WY4vUTTo7SvuavxVPXIIpqLyWMQG-g=.pem", + "location": "security-state-staging/intermediates/27c32677-48fe-4613-8b2f-ca869cef0d85.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "t6F6ltc/eNYw0WY4vUTTo7SvuavxVPXIIpqLyWMQG+g=", + "crlite_enrolled": false, + "id": "3ef3ce19-bcfb-484b-9e2e-253adcc956b5", + "last_modified": 1646362650608 + }, { "schema": 1646254109453, "derHash": "YZB58QCmv7ZcsumIkN0KxJK2RmXiVKZqUp2PWRfYKrE=", @@ -4500,24 +4842,6 @@ "id": "bfe76d97-1690-4d0c-956d-45056e87dcd2", "last_modified": 1645578267528 }, - { - "schema": 1645577494324, - "derHash": "fvP4lFbOY2VXsgxd+zf5jCU6C2YNLp5eeEXK+cA4x8E=", - "subject": "CN=SHECA EV Server CA G3,O=UniTrust,C=CN", - "subjectDN": "MEAxCzAJBgNVBAYTAkNOMREwDwYDVQQKDAhVbmlUcnVzdDEeMBwGA1UEAwwVU0hFQ0EgRVYgU2VydmVyIENBIEcz", - "whitelist": false, - "attachment": { - "hash": "b11897cb46ef64d1a0bce0acb7e1da9d5d9319cb8cb0a1441d46af6510bd2188", - "size": 2003, - "filename": "a_eZydK7TPcC6VQUFv_ek8Goclpip8HIQF3iyBC1v9Y=.pem", - "location": "security-state-staging/intermediates/9a95e108-34b7-4a4a-9fd4-65e6fe531f0f.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "a/eZydK7TPcC6VQUFv/ek8Goclpip8HIQF3iyBC1v9Y=", - "crlite_enrolled": false, - "id": "0cbd2855-9acf-477f-a083-016847b4753a", - "last_modified": 1645578267508 - }, { "schema": 1645577500961, "derHash": "PyJb2814jOkkhwyvkvgUt8b/Ttq6utk/HTqRdyUs8dE=", @@ -5526,24 +5850,6 @@ "id": "fb7109db-c35b-44ca-bc73-d09688a86c9f", "last_modified": 1644375435146 }, - { - "schema": 1644367731858, - "derHash": "8Hu73gdvm0DFfMS+/t6Xyh9Tua4UfwNdKEy/U/NDL7g=", - "subject": "CN=CFCA OV OCA,O=China Financial Certification Authority,C=CN", - "subjectDN": "MFUxCzAJBgNVBAYTAkNOMTAwLgYDVQQKDCdDaGluYSBGaW5hbmNpYWwgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxFDASBgNVBAMMC0NGQ0EgT1YgT0NB", - "whitelist": false, - "attachment": { - "hash": "bc37658d1568750ae385b92be54ede64df31899d30f67211fd1e015c9dc7803b", - "size": 1963, - "filename": "uc0FPx73f1ObHGmGZOcevy371Uo9asVjdabpiS0lKgQ=.pem", - "location": "security-state-staging/intermediates/8a832b56-3f0a-4b5f-8966-8a1da5242863.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "uc0FPx73f1ObHGmGZOcevy371Uo9asVjdabpiS0lKgQ=", - "crlite_enrolled": true, - "id": "b2b776e5-2b2f-4c8e-819d-026b8d3855d2", - "last_modified": 1644375434972 - }, { "schema": 1644072514566, "derHash": "TM8XwMjBwQ1YduxeMoD+jRNN82rt2ERCibmQvDdB508=", @@ -6408,24 +6714,6 @@ "id": "1ebb8ae1-2451-4e9b-9bbf-440aa561b615", "last_modified": 1643540242002 }, - { - "schema": 1643539719087, - "derHash": "G095TXcNxuBdx6QVhFD4JZVy621Z3mZ6PD++CNoBJIE=", - "subject": "CN=Global Trust CA - OV (RSA),O=Global Digital Inc.,C=TW", - "subjectDN": "MFAxCzAJBgNVBAYTAlRXMRwwGgYDVQQKExNHbG9iYWwgRGlnaXRhbCBJbmMuMSMwIQYDVQQDExpHbG9iYWwgVHJ1c3QgQ0EgLSBPViAoUlNBKQ==", - "whitelist": false, - "attachment": { - "hash": "136048afa3b294583ccc15f0a0a6102dcca6cc9bf7d5c19811460c54c4e79fce", - "size": 2089, - "filename": "K6VGZ_ktzZYufpj5GSQX1fCds5dLtjs5vlSRcV-Oe8U=.pem", - "location": "security-state-staging/intermediates/002c6e58-6238-435b-9b0d-7b0691d17ed4.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "K6VGZ/ktzZYufpj5GSQX1fCds5dLtjs5vlSRcV+Oe8U=", - "crlite_enrolled": true, - "id": "d6d94677-fd6d-4901-bbae-6817f8abcd97", - "last_modified": 1643540241992 - }, { "schema": 1643539715644, "derHash": "AzAobfNhLA6Wjc1RinoxbV4HkNHKMkuQaw7wF8C+Pqc=", @@ -10062,78 +10350,6 @@ "id": "f1dcb796-9a85-4f2d-a0fb-9b3f7b4c9089", "last_modified": 1639018682461 }, - { - "schema": 1639016177034, - "derHash": "ie/rJQlrpMzUCvT7h1bwpIQ5lZdIIgIJFMToWdkyt/M=", - "subject": "CN=SSL.com EV Root Certification Authority RSA R2,O=SSL Corporation,L=Houston,ST=Texas,C=US", - "subjectDN": "MIGCMQswCQYDVQQGEwJVUzEOMAwGA1UECAwFVGV4YXMxEDAOBgNVBAcMB0hvdXN0b24xGDAWBgNVBAoMD1NTTCBDb3Jwb3JhdGlvbjE3MDUGA1UEAwwuU1NMLmNvbSBFViBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IFJTQSBSMg==", - "whitelist": false, - "attachment": { - "hash": "c7680e4e47bb04f8515b20fc6fe36741515835bace47ef132f02922b0ea612ea", - "size": 2113, - "filename": "fNZ8JI9p2D_C-bsB3LH3rWejY9BGBDeW0JhMOiMfa7A=.pem", - "location": "security-state-staging/intermediates/a586bb32-1766-40e6-bdd8-ba5e8bf95066.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "fNZ8JI9p2D/C+bsB3LH3rWejY9BGBDeW0JhMOiMfa7A=", - "crlite_enrolled": true, - "id": "2dea51d4-7fea-4eb2-a507-7fa4ef9b5e26", - "last_modified": 1639018682452 - }, - { - "schema": 1639016176732, - "derHash": "uXF28htu1kYJJnstGiqfrwxN69RGRNyF62rphvyGfVY=", - "subject": "CN=SSL.com EV Root Certification Authority RSA R2,O=SSL Corporation,L=Houston,ST=Texas,C=US", - "subjectDN": "MIGCMQswCQYDVQQGEwJVUzEOMAwGA1UECAwFVGV4YXMxEDAOBgNVBAcMB0hvdXN0b24xGDAWBgNVBAoMD1NTTCBDb3Jwb3JhdGlvbjE3MDUGA1UEAwwuU1NMLmNvbSBFViBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IFJTQSBSMg==", - "whitelist": false, - "attachment": { - "hash": "26b0eb0f7d0c63890a8cb3bac26790139d109c65e18753a461b28633c51c86e3", - "size": 2093, - "filename": "fNZ8JI9p2D_C-bsB3LH3rWejY9BGBDeW0JhMOiMfa7A=.pem", - "location": "security-state-staging/intermediates/cbc009ee-d95a-4c1a-b665-8d351c2f25cd.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "fNZ8JI9p2D/C+bsB3LH3rWejY9BGBDeW0JhMOiMfa7A=", - "crlite_enrolled": true, - "id": "7b426af5-c32a-4108-a18c-9f524b01f83a", - "last_modified": 1639018682442 - }, - { - "schema": 1639016176418, - "derHash": "BrlyKmmcV9/xhp9DC0ebtutJquEYTqycUyXBM0o06kw=", - "subject": "CN=SSL.com Root Certification Authority ECC,O=SSL Corporation,L=Houston,ST=Texas,C=US", - "subjectDN": "MHwxCzAJBgNVBAYTAlVTMQ4wDAYDVQQIDAVUZXhhczEQMA4GA1UEBwwHSG91c3RvbjEYMBYGA1UECgwPU1NMIENvcnBvcmF0aW9uMTEwLwYDVQQDDChTU0wuY29tIFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgRUND", - "whitelist": false, - "attachment": { - "hash": "3575f65e014fd8fa943566de2f3d7a42adc6b4e947cc86fb2028d533adc24ad9", - "size": 1804, - "filename": "oyD01TTXvpfBro3QSZc1vIlcMjrdLTiL_M9mLCPX-Zo=.pem", - "location": "security-state-staging/intermediates/34d6fd53-d5dd-4289-aa37-161e72f0a7e9.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "oyD01TTXvpfBro3QSZc1vIlcMjrdLTiL/M9mLCPX+Zo=", - "crlite_enrolled": true, - "id": "3ecf65b2-97c8-4b50-a416-2032e8bdbdf7", - "last_modified": 1639018682432 - }, - { - "schema": 1639016175515, - "derHash": "rPcY34OOZABRd30ZR/UWIOjYBLoYZVOuUvyYEbXTS4s=", - "subject": "CN=SSL.com Root Certification Authority RSA,O=SSL Corporation,L=Houston,ST=Texas,C=US", - "subjectDN": "MHwxCzAJBgNVBAYTAlVTMQ4wDAYDVQQIDAVUZXhhczEQMA4GA1UEBwwHSG91c3RvbjEYMBYGA1UECgwPU1NMIENvcnBvcmF0aW9uMTEwLwYDVQQDDChTU0wuY29tIFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgUlNB", - "whitelist": false, - "attachment": { - "hash": "0be6061408140698708a3d3cb24d39ad6416effde544c39b9e52f40a1b6fe9cf", - "size": 2085, - "filename": "0cRTd-vc1hjNFlHcLgLCHXUeWqn80bNDH_bs9qMTSPo=.pem", - "location": "security-state-staging/intermediates/a9cbcbd0-800f-442e-8f52-903325a5ee23.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "0cRTd+vc1hjNFlHcLgLCHXUeWqn80bNDH/bs9qMTSPo=", - "crlite_enrolled": true, - "id": "60def2d8-d623-4952-91b9-30913d09f7b4", - "last_modified": 1639018682422 - }, { "schema": 1639016176125, "derHash": "8oqXrCjP7RCpOn8Hj5eMj2IEydhFH3RdX+u9bgttTXw=", @@ -10152,24 +10368,6 @@ "id": "f360da31-27aa-400f-8a47-3d517bae9327", "last_modified": 1639018682412 }, - { - "schema": 1638889238894, - "derHash": "YO9BLqvnw/xjme7RtjO3d3R1FbKdchuWPdJYvEmKspI=", - "subject": "CN=SSL.com EV Root Certification Authority ECC,O=SSL Corporation,L=Houston,ST=Texas,C=US", - "subjectDN": "MH8xCzAJBgNVBAYTAlVTMQ4wDAYDVQQIDAVUZXhhczEQMA4GA1UEBwwHSG91c3RvbjEYMBYGA1UECgwPU1NMIENvcnBvcmF0aW9uMTQwMgYDVQQDDCtTU0wuY29tIEVWIFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgRUND", - "whitelist": false, - "attachment": { - "hash": "ab3dfad3dda55fb2c174fabf92fc81f2757e57a915b1f78f5483d12dfaf50f76", - "size": 1821, - "filename": "NIdnza073SiyuN1TUa7DDGjOxc1p0nbfOCfbxPWAZGQ=.pem", - "location": "security-state-staging/intermediates/734df71e-5087-4844-aa75-47d2809181f8.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "NIdnza073SiyuN1TUa7DDGjOxc1p0nbfOCfbxPWAZGQ=", - "crlite_enrolled": true, - "id": "b512360d-9f2f-4206-97ac-09aa8d521233", - "last_modified": 1639018682403 - }, { "schema": 1638824446434, "derHash": "BjYnNVyUGhyT/FFcuu8vFz1KZG3esTnLjHXBAiIimU8=", @@ -16362,24 +16560,6 @@ "id": "b1366715-e202-4ce8-9018-b39313524fe8", "last_modified": 1576536533719 }, - { - "schema": 1576535868368, - "derHash": "/s6a2nqknU/qnv8SNUIJWogMAE/Wkz+TZLArLjV06jg=", - "subject": "CN=Cybertrust Japan SureServer EV CA G3,O=Cybertrust Japan Co.\, Ltd.,C=JP", - "subjectDN": "MGExCzAJBgNVBAYTAkpQMSMwIQYDVQQKExpDeWJlcnRydXN0IEphcGFuIENvLiwgTHRkLjEtMCsGA1UEAxMkQ3liZXJ0cnVzdCBKYXBhbiBTdXJlU2VydmVyIEVWIENBIEcz", - "whitelist": false, - "attachment": { - "hash": "442ad2ef3f029c8ae0616647479fbe53d99e0e9ed017c893d2b5952cbf146f8f", - "size": 1772, - "filename": "zJoepoy-7XeJoRmjbR7_i8oZ1WEujOKGTD9NNM0uWHM=.pem", - "location": "security-state-staging/intermediates/5a528d23-16fc-4550-b70f-7b7202891213.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "zJoepoy+7XeJoRmjbR7/i8oZ1WEujOKGTD9NNM0uWHM=", - "crlite_enrolled": true, - "id": "9aa2bac0-292b-4549-8d79-e82841fe7262", - "last_modified": 1576536533695 - }, { "schema": 1576535863986, "derHash": "sXdPmya04tX3UXE2AP/rFjs0y3oUwsB5cE6VNk+8ykk=", @@ -17244,24 +17424,6 @@ "id": "6ed2cbdd-26bb-461a-81d7-712abefd1ddd", "last_modified": 1576536532726 }, - { - "schema": 1576535524269, - "derHash": "AgcFbRcsgL37bcRb6eWAiEYHjR5u7xtu1wJZqzMqZME=", - "subject": "CN=Cybertrust Japan SureServer CA G4,O=Cybertrust Japan Co.\, Ltd.,C=JP", - "subjectDN": "MF4xCzAJBgNVBAYTAkpQMSMwIQYDVQQKExpDeWJlcnRydXN0IEphcGFuIENvLiwgTHRkLjEqMCgGA1UEAxMhQ3liZXJ0cnVzdCBKYXBhbiBTdXJlU2VydmVyIENBIEc0", - "whitelist": false, - "attachment": { - "hash": "d14576fded8dc8bc2c5e4595b2e25160155f8f967c80541b129ff564174309bd", - "size": 1768, - "filename": "rS4Ex7fMz9dQhgdB6qjxP-jJJQwjIeb-7RhvvdO6xy8=.pem", - "location": "security-state-staging/intermediates/8d6e839e-9d33-48c2-a9d9-40c21c559dd4.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "rS4Ex7fMz9dQhgdB6qjxP+jJJQwjIeb+7RhvvdO6xy8=", - "crlite_enrolled": true, - "id": "278d6db3-b339-4446-8841-06784b687319", - "last_modified": 1576536532704 - }, { "schema": 1576535518197, "derHash": "YJkw64B61CCv2iqKphtnSDA5FozXZuCZQqSL/n873BA=",
This is an automated email from the git hooks/post-receive script.
richard pushed a commit to branch tor-browser-91.8.0esr-11.0-1 in repository tor-browser.
commit 7b23fdb8c1b09dbefba512f5d10f0990c3315a09 Author: Narcis Beleuzu nbeleuzu@mozilla.com AuthorDate: Sun Mar 13 03:11:05 2022 +0200
Bug 1759318 - Disable test on all platforms. a=test-only --- browser/components/urlbar/tests/unit/xpcshell.ini | 1 + 1 file changed, 1 insertion(+)
diff --git a/browser/components/urlbar/tests/unit/xpcshell.ini b/browser/components/urlbar/tests/unit/xpcshell.ini index c383a2b8f81cf..c9dae0e55da48 100644 --- a/browser/components/urlbar/tests/unit/xpcshell.ini +++ b/browser/components/urlbar/tests/unit/xpcshell.ini @@ -71,6 +71,7 @@ skip-if = !sync [test_tokenizer.js] [test_trimming.js] [test_unitConversion.js] +skip-if = true # Bug 1759318 [test_UrlbarController_integration.js] [test_UrlbarController_telemetry.js] [test_UrlbarController_unit.js]
This is an automated email from the git hooks/post-receive script.
richard pushed a commit to branch tor-browser-91.8.0esr-11.0-1 in repository tor-browser.
commit 2aad63ad5eb55c219ac4cf533fec7469729a186c Author: Mark Banner standard8@mozilla.com AuthorDate: Fri Mar 11 15:42:09 2022 +0000
Bug 1759008 - Update search parameters. r=mkaply a=pascalc
Differential Revision: https://phabricator.services.mozilla.com/D140917 --- .../extensions/google/_locales/by/messages.json | 20 +++++++ .../extensions/google/_locales/kz/messages.json | 20 +++++++ .../extensions/google/_locales/ru/messages.json | 20 +++++++ .../extensions/google/_locales/tr/messages.json | 20 +++++++ .../search/extensions/google/manifest.json | 2 +- toolkit/components/search/SearchEngineSelector.jsm | 17 +++++- .../search/docs/SearchConfigurationSchema.rst | 10 ++++ .../search/schema/search-engine-config-schema.json | 4 +- .../search/tests/xpcshell/test_engine_selector.js | 64 +++++++++++++++++++++- 9 files changed, 171 insertions(+), 6 deletions(-)
diff --git a/browser/components/search/extensions/google/_locales/by/messages.json b/browser/components/search/extensions/google/_locales/by/messages.json new file mode 100644 index 0000000000000..ffcf375a30f00 --- /dev/null +++ b/browser/components/search/extensions/google/_locales/by/messages.json @@ -0,0 +1,20 @@ +{ + "extensionName": { + "message": "Google" + }, + "extensionDescription": { + "message": "Google Search" + }, + "searchUrl": { + "message": "https://www.google.by/search" + }, + "searchForm": { + "message": "https://www.google.by/search?q=%7BsearchTerms%7D" + }, + "suggestUrl": { + "message": "https://www.google.by/complete/search?q=%7BsearchTerms%7D" + }, + "searchUrlGetParams": { + "message": "q={searchTerms}" + } +} diff --git a/browser/components/search/extensions/google/_locales/kz/messages.json b/browser/components/search/extensions/google/_locales/kz/messages.json new file mode 100644 index 0000000000000..d94530101d777 --- /dev/null +++ b/browser/components/search/extensions/google/_locales/kz/messages.json @@ -0,0 +1,20 @@ +{ + "extensionName": { + "message": "Google" + }, + "extensionDescription": { + "message": "Google Search" + }, + "searchUrl": { + "message": "https://www.google.kz/search" + }, + "searchForm": { + "message": "https://www.google.kz/search?q=%7BsearchTerms%7D" + }, + "suggestUrl": { + "message": "https://www.google.kz/complete/search?q=%7BsearchTerms%7D" + }, + "searchUrlGetParams": { + "message": "q={searchTerms}" + } +} diff --git a/browser/components/search/extensions/google/_locales/ru/messages.json b/browser/components/search/extensions/google/_locales/ru/messages.json new file mode 100644 index 0000000000000..ba103cb6314bc --- /dev/null +++ b/browser/components/search/extensions/google/_locales/ru/messages.json @@ -0,0 +1,20 @@ +{ + "extensionName": { + "message": "Google" + }, + "extensionDescription": { + "message": "Google Search" + }, + "searchUrl": { + "message": "https://www.google.ru/search" + }, + "searchForm": { + "message": "https://www.google.ru/search?q=%7BsearchTerms%7D" + }, + "suggestUrl": { + "message": "https://www.google.ru/complete/search?q=%7BsearchTerms%7D" + }, + "searchUrlGetParams": { + "message": "q={searchTerms}" + } +} diff --git a/browser/components/search/extensions/google/_locales/tr/messages.json b/browser/components/search/extensions/google/_locales/tr/messages.json new file mode 100644 index 0000000000000..0087bc2135a0f --- /dev/null +++ b/browser/components/search/extensions/google/_locales/tr/messages.json @@ -0,0 +1,20 @@ +{ + "extensionName": { + "message": "Google" + }, + "extensionDescription": { + "message": "Google Search" + }, + "searchUrl": { + "message": "https://www.google.com.tr/search" + }, + "searchForm": { + "message": "https://www.google.com.tr/search?q=%7BsearchTerms%7D" + }, + "suggestUrl": { + "message": "https://www.google.com.tr/complete/search?q=%7BsearchTerms%7D" + }, + "searchUrlGetParams": { + "message": "q={searchTerms}" + } +} diff --git a/browser/components/search/extensions/google/manifest.json b/browser/components/search/extensions/google/manifest.json index d62049705ae2e..6cd4d2a42358e 100644 --- a/browser/components/search/extensions/google/manifest.json +++ b/browser/components/search/extensions/google/manifest.json @@ -2,7 +2,7 @@ "name": "__MSG_extensionName__", "description": "__MSG_extensionDescription__", "manifest_version": 2, - "version": "1.1", + "version": "1.2", "applications": { "gecko": { "id": "google@search.mozilla.org" diff --git a/toolkit/components/search/SearchEngineSelector.jsm b/toolkit/components/search/SearchEngineSelector.jsm index 9f61477182009..d44de4139bb3a 100644 --- a/toolkit/components/search/SearchEngineSelector.jsm +++ b/toolkit/components/search/SearchEngineSelector.jsm @@ -18,6 +18,7 @@ XPCOMUtils.defineLazyModuleGetters(this, { });
const USER_LOCALE = "$USER_LOCALE"; +const USER_REGION = "$USER_REGION";
XPCOMUtils.defineLazyGetter(this, "logConsole", () => { return console.createInstance({ @@ -265,8 +266,17 @@ class SearchEngineSelector { const engine = { ...baseConfig }; engine.webExtension = { ...baseConfig.webExtension }; delete engine.webExtension.locales; - engine.webExtension.locale = - webExtensionLocale == USER_LOCALE ? locale : webExtensionLocale; + switch (webExtensionLocale) { + case USER_LOCALE: + engine.webExtension.locale = locale; + break; + case USER_REGION: + engine.webExtension.locale = lcRegion; + break; + default: + engine.webExtension.locale = webExtensionLocale; + break; + } engines.push(engine); } } else { @@ -292,6 +302,9 @@ class SearchEngineSelector { }
for (const engine of engines) { + engine.telemetryId = engine.telemetryId + ?.replace(USER_LOCALE, locale) + .replace(USER_REGION, lcRegion); if ( "default" in engine && shouldPrefer( diff --git a/toolkit/components/search/docs/SearchConfigurationSchema.rst b/toolkit/components/search/docs/SearchConfigurationSchema.rst index ce28f0f2ecb20..65726b4bfffad 100644 --- a/toolkit/components/search/docs/SearchConfigurationSchema.rst +++ b/toolkit/components/search/docs/SearchConfigurationSchema.rst @@ -114,6 +114,16 @@ configuration object with the users locale. For example: Will report either ``[us]`` or ``[gb]`` as the ``webExtension.locales`` depending on the user's locale.
+From Firefox 98.0.1 and 97.7.1esr, ``"$USER_LOCALE"`` may also be used in the +``telemetryId`` field. + +$USER_REGION +------------ + +This can be used in the same situations as ``"$USER_LOCALE"``. + +It was added in the Firefox 98.0.1 and 97.7.1esr releases. + "default" ---------
diff --git a/toolkit/components/search/schema/search-engine-config-schema.json b/toolkit/components/search/schema/search-engine-config-schema.json index 5f3e477982b95..3cf5e80fc4483 100644 --- a/toolkit/components/search/schema/search-engine-config-schema.json +++ b/toolkit/components/search/schema/search-engine-config-schema.json @@ -319,7 +319,7 @@ "telemetryId": { "type": "string", "title": "Telemetry Id", - "pattern": "^[a-zA-Z0-9-]{0,100}$", + "pattern": "^[a-zA-Z0-9-$_]{0,100}$", "description": "The telemetry Id as used for some of SEARCH_COUNTS telemetry." }, "webExtension": { @@ -335,7 +335,7 @@ "locale": { "type": "string", "title": "WebExtension Locale", - "pattern": "^[a-zA-Z0-9-]{0,100}$", + "pattern": "^[a-zA-Z0-9-$_]{0,100}$", "description": "Overrides the WebExtension locales and specifies to use a particular one. Ideally this should only be used when really necessary, otherwise considered deprecated." } } diff --git a/toolkit/components/search/tests/xpcshell/test_engine_selector.js b/toolkit/components/search/tests/xpcshell/test_engine_selector.js index def9393d230cd..02f6aae451ab8 100644 --- a/toolkit/components/search/tests/xpcshell/test_engine_selector.js +++ b/toolkit/components/search/tests/xpcshell/test_engine_selector.js @@ -23,6 +23,14 @@ const TEST_CONFIG = [ webExtension: { locales: ["$USER_LOCALE"], }, + telemetryId: "foo-$USER_LOCALE", + }, + { + included: { regions: ["fr"] }, + webExtension: { + locales: ["$USER_REGION"], + }, + telemetryId: "bar-$USER_REGION", }, ], }, @@ -71,10 +79,12 @@ const TEST_CONFIG = [
const engineSelector = new SearchEngineSelector();
-add_task(async function() { +add_task(async function setup() { const settings = await RemoteSettings(SearchUtils.SETTINGS_KEY); sinon.stub(settings, "get").returns(TEST_CONFIG); +});
+add_task(async function test_engine_selector() { let { engines, privateDefault, @@ -135,3 +145,55 @@ add_task(async function() { "Should set altavista as privateDefault" ); }); + +add_task(async function test_locale_region_replacement() { + let { engines } = await engineSelector.fetchEngineConfiguration({ + locale: "en-US", + region: "us", + }); + let engine = engines.find(e => e.engineName == "aol"); + Assert.equal( + engine.webExtension.locale, + "en-US", + "The locale is correctly inserted into the locale field" + ); + Assert.equal( + engine.telemetryId, + "foo-en-US", + "The locale is correctly inserted into the telemetryId" + ); + + ({ engines } = await engineSelector.fetchEngineConfiguration({ + locale: "it", + region: "us", + })); + engine = engines.find(e => e.engineName == "aol"); + + Assert.equal( + engines.find(e => e.engineName == "aol").webExtension.locale, + "it", + "The locale is correctly inserted into the locale field" + ); + Assert.equal( + engine.telemetryId, + "foo-it", + "The locale is correctly inserted into the telemetryId" + ); + + ({ engines } = await engineSelector.fetchEngineConfiguration({ + locale: "en-CA", + region: "fr", + })); + engine = engines.find(e => e.engineName == "aol"); + + Assert.equal( + engines.find(e => e.engineName == "aol").webExtension.locale, + "fr", + "The region is correctly inserted into the locale field" + ); + Assert.equal( + engine.telemetryId, + "bar-fr", + "The region is correctly inserted into the telemetryId" + ); +});
This is an automated email from the git hooks/post-receive script.
richard pushed a commit to branch tor-browser-91.8.0esr-11.0-1 in repository tor-browser.
commit 8078b2e364d261eb5e7c43039a91a16e80dd048f Author: Mozilla Releng Treescript release+treescript@mozilla.org AuthorDate: Sun Mar 13 08:04:12 2022 +0000
No bug - Tagging 42c4e735b19a0fad800bbba829bf6451a351a586 with FIREFOX_91_7_1esr_BUILD1 a=release CLOSED TREE DONTBUILD --- .hgtags | 1 + 1 file changed, 1 insertion(+)
diff --git a/.hgtags b/.hgtags index 7e4cc23427585..d3759130b3a6a 100644 --- a/.hgtags +++ b/.hgtags @@ -3161,3 +3161,4 @@ adafd45a7676d09ac5db5753d4c1b3f938626722 FIREFOX_91_6_1esr_BUILD1 adafd45a7676d09ac5db5753d4c1b3f938626722 FIREFOX_91_6_1esr_RELEASE a9d3c0f4732a9a62428089fff64ae8ff3d608918 FIREFOX_91_7_0esr_BUILD3 a9d3c0f4732a9a62428089fff64ae8ff3d608918 FIREFOX_91_7_0esr_RELEASE +42c4e735b19a0fad800bbba829bf6451a351a586 FIREFOX_91_7_1esr_BUILD1
This is an automated email from the git hooks/post-receive script.
richard pushed a commit to branch tor-browser-91.8.0esr-11.0-1 in repository tor-browser.
commit 0f45600ed523cc388a2d79c6fc8597ff41fd1ca0 Author: Mark Banner standard8@mozilla.com AuthorDate: Sun Mar 13 12:53:23 2022 +0000
Bug 1759364 - Update search parameters part 2. r=mkaply a=pascalc
Differential Revision: https://phabricator.services.mozilla.com/D140932 --- .../search/extensions/google/_locales/{by => region-by}/messages.json | 2 +- .../search/extensions/google/_locales/{kz => region-kz}/messages.json | 2 +- .../search/extensions/google/_locales/{ru => region-ru}/messages.json | 2 +- .../search/extensions/google/_locales/{tr => region-tr}/messages.json | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/browser/components/search/extensions/google/_locales/by/messages.json b/browser/components/search/extensions/google/_locales/region-by/messages.json similarity index 80% rename from browser/components/search/extensions/google/_locales/by/messages.json rename to browser/components/search/extensions/google/_locales/region-by/messages.json index ffcf375a30f00..60e5ed5eda07c 100644 --- a/browser/components/search/extensions/google/_locales/by/messages.json +++ b/browser/components/search/extensions/google/_locales/region-by/messages.json @@ -12,7 +12,7 @@ "message": "https://www.google.by/search?q=%7BsearchTerms%7D" }, "suggestUrl": { - "message": "https://www.google.by/complete/search?q=%7BsearchTerms%7D" + "message": "https://www.google.by/complete/search?client=firefox&q=%7BsearchTerms%7D" }, "searchUrlGetParams": { "message": "q={searchTerms}" diff --git a/browser/components/search/extensions/google/_locales/kz/messages.json b/browser/components/search/extensions/google/_locales/region-kz/messages.json similarity index 80% rename from browser/components/search/extensions/google/_locales/kz/messages.json rename to browser/components/search/extensions/google/_locales/region-kz/messages.json index d94530101d777..8e64096bc1145 100644 --- a/browser/components/search/extensions/google/_locales/kz/messages.json +++ b/browser/components/search/extensions/google/_locales/region-kz/messages.json @@ -12,7 +12,7 @@ "message": "https://www.google.kz/search?q=%7BsearchTerms%7D" }, "suggestUrl": { - "message": "https://www.google.kz/complete/search?q=%7BsearchTerms%7D" + "message": "https://www.google.kz/complete/search?client=firefox&q=%7BsearchTerms%7D" }, "searchUrlGetParams": { "message": "q={searchTerms}" diff --git a/browser/components/search/extensions/google/_locales/ru/messages.json b/browser/components/search/extensions/google/_locales/region-ru/messages.json similarity index 80% rename from browser/components/search/extensions/google/_locales/ru/messages.json rename to browser/components/search/extensions/google/_locales/region-ru/messages.json index ba103cb6314bc..8a78bb4e7f871 100644 --- a/browser/components/search/extensions/google/_locales/ru/messages.json +++ b/browser/components/search/extensions/google/_locales/region-ru/messages.json @@ -12,7 +12,7 @@ "message": "https://www.google.ru/search?q=%7BsearchTerms%7D" }, "suggestUrl": { - "message": "https://www.google.ru/complete/search?q=%7BsearchTerms%7D" + "message": "https://www.google.ru/complete/search?client=firefox&q=%7BsearchTerms%7D" }, "searchUrlGetParams": { "message": "q={searchTerms}" diff --git a/browser/components/search/extensions/google/_locales/tr/messages.json b/browser/components/search/extensions/google/_locales/region-tr/messages.json similarity index 80% rename from browser/components/search/extensions/google/_locales/tr/messages.json rename to browser/components/search/extensions/google/_locales/region-tr/messages.json index 0087bc2135a0f..8e373a4833b99 100644 --- a/browser/components/search/extensions/google/_locales/tr/messages.json +++ b/browser/components/search/extensions/google/_locales/region-tr/messages.json @@ -12,7 +12,7 @@ "message": "https://www.google.com.tr/search?q=%7BsearchTerms%7D" }, "suggestUrl": { - "message": "https://www.google.com.tr/complete/search?q=%7BsearchTerms%7D" + "message": "https://www.google.com.tr/complete/search?client=firefox&q=%7BsearchTerm..." }, "searchUrlGetParams": { "message": "q={searchTerms}"
This is an automated email from the git hooks/post-receive script.
richard pushed a commit to branch tor-browser-91.8.0esr-11.0-1 in repository tor-browser.
commit cdfd879b41698cf886aa217cb4dc17d6bf844503 Author: Mozilla Releng Treescript release+treescript@mozilla.org AuthorDate: Sun Mar 13 14:37:34 2022 +0000
No bug - Tagging 9ed28ee4263d289b30e236fc520c8254fb65e764 with FIREFOX_91_7_1esr_BUILD2 a=release CLOSED TREE DONTBUILD --- .hgtags | 1 + 1 file changed, 1 insertion(+)
diff --git a/.hgtags b/.hgtags index d3759130b3a6a..b5e390ad97696 100644 --- a/.hgtags +++ b/.hgtags @@ -3162,3 +3162,4 @@ adafd45a7676d09ac5db5753d4c1b3f938626722 FIREFOX_91_6_1esr_RELEASE a9d3c0f4732a9a62428089fff64ae8ff3d608918 FIREFOX_91_7_0esr_BUILD3 a9d3c0f4732a9a62428089fff64ae8ff3d608918 FIREFOX_91_7_0esr_RELEASE 42c4e735b19a0fad800bbba829bf6451a351a586 FIREFOX_91_7_1esr_BUILD1 +9ed28ee4263d289b30e236fc520c8254fb65e764 FIREFOX_91_7_1esr_BUILD2
This is an automated email from the git hooks/post-receive script.
richard pushed a commit to branch tor-browser-91.8.0esr-11.0-1 in repository tor-browser.
commit ab46d8e9e12ac256affc021686ee05d9ce677da8 Author: Mozilla Releng Treescript release+treescript@mozilla.org AuthorDate: Mon Mar 14 11:02:13 2022 +0000
No bug - Tagging 9ed28ee4263d289b30e236fc520c8254fb65e764 with FIREFOX_91_7_1esr_RELEASE a=release CLOSED TREE DONTBUILD --- .hgtags | 1 + 1 file changed, 1 insertion(+)
diff --git a/.hgtags b/.hgtags index b5e390ad97696..df26ed0451f54 100644 --- a/.hgtags +++ b/.hgtags @@ -3163,3 +3163,4 @@ a9d3c0f4732a9a62428089fff64ae8ff3d608918 FIREFOX_91_7_0esr_BUILD3 a9d3c0f4732a9a62428089fff64ae8ff3d608918 FIREFOX_91_7_0esr_RELEASE 42c4e735b19a0fad800bbba829bf6451a351a586 FIREFOX_91_7_1esr_BUILD1 9ed28ee4263d289b30e236fc520c8254fb65e764 FIREFOX_91_7_1esr_BUILD2 +9ed28ee4263d289b30e236fc520c8254fb65e764 FIREFOX_91_7_1esr_RELEASE
This is an automated email from the git hooks/post-receive script.
richard pushed a commit to branch tor-browser-91.8.0esr-11.0-1 in repository tor-browser.
commit 9c99b43f8f989998f215faec36189fbc960ea3de Author: Jed Davis jld@mozilla.com AuthorDate: Fri Feb 4 18:03:40 2022 +0000
Bug 1750679. r=nika, a=RyanVM
Differential Revision: https://phabricator.services.mozilla.com/D137359 --- gfx/vr/ipc/VRProcessParent.cpp | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-)
diff --git a/gfx/vr/ipc/VRProcessParent.cpp b/gfx/vr/ipc/VRProcessParent.cpp index 377e2bea99a27..e24cff62c2cce 100644 --- a/gfx/vr/ipc/VRProcessParent.cpp +++ b/gfx/vr/ipc/VRProcessParent.cpp @@ -42,12 +42,6 @@ VRProcessParent::VRProcessParent(Listener* aListener) }
VRProcessParent::~VRProcessParent() { - // Cancel all tasks. We don't want anything triggering after our caller - // expects this to go away. - { - MonitorAutoLock lock(mMonitor); - mTaskFactory.RevokeAll(); - } MOZ_COUNT_DTOR(VRProcessParent); }
@@ -134,6 +128,13 @@ void VRProcessParent::Shutdown() {
void VRProcessParent::DestroyProcess() { if (mLaunchThread) { + // Cancel all tasks. We don't want anything triggering after our caller + // expects this to go away. + { + MonitorAutoLock lock(mMonitor); + mTaskFactory.RevokeAll(); + } + mLaunchThread->Dispatch(NS_NewRunnableFunction("DestroyProcessRunnable", [this] { Destroy(); })); }
This is an automated email from the git hooks/post-receive script.
richard pushed a commit to branch tor-browser-91.8.0esr-11.0-1 in repository tor-browser.
commit 43f4ff7552d63d5e8327a82b6e64c19cc0663c49 Author: Jan-Erik Rediger jrediger@mozilla.com AuthorDate: Wed Mar 9 08:43:35 2022 +0000
Bug 1758509 - Update regex crate to 1.5.5 r=emilio, a=RyanVM
Differential Revision: https://phabricator.services.mozilla.com/D140532 --- Cargo.lock | 4 +- third_party/rust/regex/.cargo-checksum.json | 2 +- third_party/rust/regex/Cargo.lock | 6 +-- third_party/rust/regex/Cargo.toml | 59 +++++++++++++++++------ third_party/rust/regex/README.md | 2 +- third_party/rust/regex/src/compile.rs | 27 ++++++++++- third_party/rust/regex/src/dfa.rs | 2 - third_party/rust/regex/src/re_unicode.rs | 2 +- third_party/rust/regex/tests/test_default.rs | 70 ++++++++++++++++++++++++++++ 9 files changed, 149 insertions(+), 25 deletions(-)
diff --git a/Cargo.lock b/Cargo.lock index 56122da06357a..b0cc79279b1ac 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4049,9 +4049,9 @@ dependencies = [
[[package]] name = "regex" -version = "1.5.4" +version = "1.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d07a8629359eb56f1e2fb1652bb04212c072a87ba68546a04065d525673ac461" +checksum = "1a11647b6b25ff05a515cb92c365cec08801e83423a235b51e231e1808747286" dependencies = [ "aho-corasick", "memchr", diff --git a/third_party/rust/regex/.cargo-checksum.json b/third_party/rust/regex/.cargo-checksum.json index 186d5c5b00515..912ddc14466e3 100644 --- a/third_party/rust/regex/.cargo-checksum.json +++ b/third_party/rust/regex/.cargo-checksum.json @@ -1 +1 @@ -{"files":{"CHANGELOG.md":"dc37d7389aa7f626a2a76f565b379378a63a043004674735e2b5859202b255ea","Cargo.lock":"b74b289188546209fb8b9024eb5cf7c43dc24b199cf2aaf2b11601ee24d9575d","Cargo.toml":"d5bf863bcab85700dc82190169003b7781f7985e51f7ba67a757fc2ba069ee6e","HACKING.md":"17818f7a17723608f6bdbe6388ad0a913d4f96f76a16649aaf4e274b1fa0ea97","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"6485b8ed310d3f0340bf1ad1f47645069ce4069dcc6bb46c7d5c6faf41de1 [...] \ No newline at end of file +{"files":{"CHANGELOG.md":"dc37d7389aa7f626a2a76f565b379378a63a043004674735e2b5859202b255ea","Cargo.lock":"68805a2737aad9b6520868b2f85dbe638c4efb9f4aef759226a129edb5940434","Cargo.toml":"5678757a6bafcac57c7a3b51655ef978901112eb0629976a402560db5f948f56","HACKING.md":"17818f7a17723608f6bdbe6388ad0a913d4f96f76a16649aaf4e274b1fa0ea97","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"6485b8ed310d3f0340bf1ad1f47645069ce4069dcc6bb46c7d5c6faf41de1 [...] \ No newline at end of file diff --git a/third_party/rust/regex/Cargo.lock b/third_party/rust/regex/Cargo.lock index f2bbb5d850ab1..cc51538bf7ec1 100644 --- a/third_party/rust/regex/Cargo.lock +++ b/third_party/rust/regex/Cargo.lock @@ -36,9 +36,9 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
[[package]] name = "libc" -version = "0.2.80" +version = "0.2.94" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d58d1b70b004888f764dfbf6a26a3b0342a1632d33968e4a179d8011c760614" +checksum = "18794a8ad5b29321f790b55d93dfba91e125cb1a9edbd4f8e3150acc771c1a5e"
[[package]] name = "memchr" @@ -75,7 +75,7 @@ dependencies = [
[[package]] name = "regex" -version = "1.5.4" +version = "1.5.5" dependencies = [ "aho-corasick", "lazy_static", diff --git a/third_party/rust/regex/Cargo.toml b/third_party/rust/regex/Cargo.toml index 260acec69df73..d28f676ded14d 100644 --- a/third_party/rust/regex/Cargo.toml +++ b/third_party/rust/regex/Cargo.toml @@ -3,27 +3,33 @@ # When uploading crates to the registry Cargo will automatically # "normalize" Cargo.toml files for maximal compatibility # with all versions of Cargo and also rewrite `path` dependencies -# to registry (e.g., crates.io) dependencies +# to registry (e.g., crates.io) dependencies. # -# If you believe there's an error in this file please file an -# issue against the rust-lang/cargo repository. If you're -# editing this file be aware that the upstream Cargo.toml -# will likely look very different (and much more reasonable) +# If you are reading this file be aware that the original Cargo.toml +# will likely look very different (and much more reasonable). +# See Cargo.toml.orig for the original contents.
[package] edition = "2018" name = "regex" -version = "1.5.4" +version = "1.5.5" authors = ["The Rust Project Developers"] -exclude = ["/scripts/*", "/.github/*"] +exclude = [ + "/scripts/*", + "/.github/*", +] autotests = false -description = "An implementation of regular expressions for Rust. This implementation uses\nfinite automata and guarantees linear time matching on all inputs.\n" +description = """ +An implementation of regular expressions for Rust. This implementation uses +finite automata and guarantees linear time matching on all inputs. +""" homepage = "https://github.com/rust-lang/regex" documentation = "https://docs.rs/regex" readme = "README.md" categories = ["text-processing"] license = "MIT OR Apache-2.0" repository = "https://github.com/rust-lang/regex" + [profile.bench] debug = true
@@ -72,6 +78,7 @@ path = "tests/test_backtrack_bytes.rs" [[test]] name = "crates-regex" path = "tests/test_crates_regex.rs" + [dependencies.aho-corasick] version = "0.7.18" optional = true @@ -83,6 +90,7 @@ optional = true [dependencies.regex-syntax] version = "0.6.25" default-features = false + [dev-dependencies.lazy_static] version = "1"
@@ -92,19 +100,44 @@ default-features = false
[dev-dependencies.rand] version = "0.8.3" -features = ["getrandom", "small_rng"] +features = [ + "getrandom", + "small_rng", +] default-features = false
[features] -default = ["std", "perf", "unicode", "regex-syntax/default"] +default = [ + "std", + "perf", + "unicode", + "regex-syntax/default", +] pattern = [] -perf = ["perf-cache", "perf-dfa", "perf-inline", "perf-literal"] +perf = [ + "perf-cache", + "perf-dfa", + "perf-inline", + "perf-literal", +] perf-cache = [] perf-dfa = [] perf-inline = [] -perf-literal = ["aho-corasick", "memchr"] +perf-literal = [ + "aho-corasick", + "memchr", +] std = [] -unicode = ["unicode-age", "unicode-bool", "unicode-case", "unicode-gencat", "unicode-perl", "unicode-script", "unicode-segment", "regex-syntax/unicode"] +unicode = [ + "unicode-age", + "unicode-bool", + "unicode-case", + "unicode-gencat", + "unicode-perl", + "unicode-script", + "unicode-segment", + "regex-syntax/unicode", +] unicode-age = ["regex-syntax/unicode-age"] unicode-bool = ["regex-syntax/unicode-bool"] unicode-case = ["regex-syntax/unicode-case"] diff --git a/third_party/rust/regex/README.md b/third_party/rust/regex/README.md index 86d69968caca6..9acd5bb4a02a3 100644 --- a/third_party/rust/regex/README.md +++ b/third_party/rust/regex/README.md @@ -8,7 +8,7 @@ Much of the syntax and implementation is inspired by [RE2](https://github.com/google/re2).
[![Build status](https://github.com/rust-lang/regex/workflows/ci/badge.svg)%5D(https://github...) -[![](https://meritbadge.herokuapp.com/regex)%5D(https://crates.io/crates/regex) +[![Crates.io](https://img.shields.io/crates/v/regex.svg)%5D(https://crates.io/crates/regex) [![Rust](https://img.shields.io/badge/rust-1.41.1%2B-blue.svg?maxAge=3600)%5D(https:/...)
### Documentation diff --git a/third_party/rust/regex/src/compile.rs b/third_party/rust/regex/src/compile.rs index 9a2ed5e92a0d6..069f445c86f24 100644 --- a/third_party/rust/regex/src/compile.rs +++ b/third_party/rust/regex/src/compile.rs @@ -38,6 +38,16 @@ pub struct Compiler { suffix_cache: SuffixCache, utf8_seqs: Option<Utf8Sequences>, byte_classes: ByteClassSet, + // This keeps track of extra bytes allocated while compiling the regex + // program. Currently, this corresponds to two things. First is the heap + // memory allocated by Unicode character classes ('InstRanges'). Second is + // a "fake" amount of memory used by empty sub-expressions, so that enough + // empty sub-expressions will ultimately trigger the compiler to bail + // because of a size limit restriction. (That empty sub-expressions don't + // add to heap memory usage is more-or-less an implementation detail.) In + // the second case, if we don't bail, then an excessively large repetition + // on an empty sub-expression can result in the compiler using a very large + // amount of CPU time. extra_inst_bytes: usize, }
@@ -260,7 +270,7 @@ impl Compiler {
self.check_size()?; match *expr.kind() { - Empty => Ok(None), + Empty => self.c_empty(), Literal(hir::Literal::Unicode(c)) => self.c_char(c), Literal(hir::Literal::Byte(b)) => { assert!(self.compiled.uses_bytes()); @@ -378,6 +388,19 @@ impl Compiler { } }
+ fn c_empty(&mut self) -> ResultOrEmpty { + // See: https://github.com/rust-lang/regex/security/advisories/GHSA-m5pq-gvj9-9vr8 + // See: CVE-2022-24713 + // + // Since 'empty' sub-expressions don't increase the size of + // the actual compiled object, we "fake" an increase in its + // size so that our 'check_size_limit' routine will eventually + // stop compilation if there are too many empty sub-expressions + // (e.g., via a large repetition). + self.extra_inst_bytes += std::mem::size_of::<Inst>(); + Ok(None) + } + fn c_capture(&mut self, first_slot: usize, expr: &Hir) -> ResultOrEmpty { if self.num_exprs > 1 || self.compiled.is_dfa { // Don't ever compile Save instructions for regex sets because @@ -496,7 +519,7 @@ impl Compiler { let mut exprs = exprs.into_iter(); let Patch { mut hole, entry } = loop { match exprs.next() { - None => return Ok(None), + None => return self.c_empty(), Some(e) => { if let Some(p) = self.c(e)? { break p; diff --git a/third_party/rust/regex/src/dfa.rs b/third_party/rust/regex/src/dfa.rs index 4b60f4d19bd07..4aee8039c6c1a 100644 --- a/third_party/rust/regex/src/dfa.rs +++ b/third_party/rust/regex/src/dfa.rs @@ -1353,7 +1353,6 @@ impl<'a> Fsm<'a> { match self.cache.trans.next(si, self.byte_class(b)) { STATE_UNKNOWN => self.exec_byte(qcur, qnext, si, b), STATE_QUIT => None, - STATE_DEAD => Some(STATE_DEAD), nsi => Some(nsi), } } @@ -1387,7 +1386,6 @@ impl<'a> Fsm<'a> { }; match self.cache.start_states[flagi] { STATE_UNKNOWN => {} - STATE_DEAD => return Some(STATE_DEAD), si => return Some(si), } q.clear(); diff --git a/third_party/rust/regex/src/re_unicode.rs b/third_party/rust/regex/src/re_unicode.rs index 142c78fb1c301..e4871a621733d 100644 --- a/third_party/rust/regex/src/re_unicode.rs +++ b/third_party/rust/regex/src/re_unicode.rs @@ -538,7 +538,7 @@ impl Regex { mut rep: R, ) -> Cow<'t, str> { // If we know that the replacement doesn't have any capture expansions, - // then we can fast path. The fast path can make a tremendous + // then we can use the fast path. The fast path can make a tremendous // difference: // // 1) We use `find_iter` instead of `captures_iter`. Not asking for diff --git a/third_party/rust/regex/tests/test_default.rs b/third_party/rust/regex/tests/test_default.rs index d4365fbb344ea..be627f7a68f16 100644 --- a/third_party/rust/regex/tests/test_default.rs +++ b/third_party/rust/regex/tests/test_default.rs @@ -150,3 +150,73 @@ fn regex_is_reasonably_small() { assert_eq!(16, size_of::bytes::Regex()); assert_eq!(16, size_of::bytes::RegexSet()); } + +// See: https://github.com/rust-lang/regex/security/advisories/GHSA-m5pq-gvj9-9vr8 +// See: CVE-2022-24713 +// +// We test that our regex compiler will correctly return a "too big" error when +// we try to use a very large repetition on an *empty* sub-expression. +// +// At the time this test was written, the regex compiler does not represent +// empty sub-expressions with any bytecode instructions. In effect, it's an +// "optimization" to leave them out, since they would otherwise correspond +// to an unconditional JUMP in the regex bytecode (i.e., an unconditional +// epsilon transition in the NFA graph). Therefore, an empty sub-expression +// represents an interesting case for the compiler's size limits. Since it +// doesn't actually contribute any additional memory to the compiled regex +// instructions, the size limit machinery never detects it. Instead, it just +// dumbly tries to compile the empty sub-expression N times, where N is the +// repetition size. +// +// When N is very large, this will cause the compiler to essentially spin and +// do nothing for a decently large amount of time. It causes the regex to take +// quite a bit of time to compile, despite the concrete syntax of the regex +// being quite small. +// +// The degree to which this is actually a problem is somewhat of a judgment +// call. Some regexes simply take a long time to compile. But in general, you +// should be able to reasonably control this by setting lower or higher size +// limits on the compiled object size. But this mitigation doesn't work at all +// for this case. +// +// This particular test is somewhat narrow. It merely checks that regex +// compilation will, at some point, return a "too big" error. Before the +// fix landed, this test would eventually fail because the regex would be +// successfully compiled (after enough time elapsed). So while this test +// doesn't check that we exit in a reasonable amount of time, it does at least +// check that we are properly returning an error at some point. +#[test] +fn big_empty_regex_fails() { + use regex::Regex; + + let result = Regex::new("(?:){4294967295}"); + assert!(result.is_err()); +} + +// Below is a "billion laughs" variant of the previous test case. +#[test] +fn big_empty_reps_chain_regex_fails() { + use regex::Regex; + + let result = Regex::new("(?:){64}{64}{64}{64}{64}{64}"); + assert!(result.is_err()); +} + +// Below is another situation where a zero-length sub-expression can be +// introduced. +#[test] +fn big_zero_reps_regex_fails() { + use regex::Regex; + + let result = Regex::new(r"x{0}{4294967295}"); + assert!(result.is_err()); +} + +// Testing another case for completeness. +#[test] +fn empty_alt_regex_fails() { + use regex::Regex; + + let result = Regex::new(r"(?:|){4294967295}"); + assert!(result.is_err()); +}
This is an automated email from the git hooks/post-receive script.
richard pushed a commit to branch tor-browser-91.8.0esr-11.0-1 in repository tor-browser.
commit 4b5839c0b8a48075bbb5a4497795da223a9ac7d4 Author: Andrew McCreight continuation@gmail.com AuthorDate: Thu Mar 10 17:40:43 2022 +0000
Bug 1758776 - Replace the unused mVRDisplayID with a bool. r=jgilbert, a=RyanVM
Differential Revision: https://phabricator.services.mozilla.com/D140699 --- gfx/vr/ipc/VRLayerParent.cpp | 15 ++++++++------- gfx/vr/ipc/VRLayerParent.h | 3 +-- 2 files changed, 9 insertions(+), 9 deletions(-)
diff --git a/gfx/vr/ipc/VRLayerParent.cpp b/gfx/vr/ipc/VRLayerParent.cpp index e7a8b4bf41d9f..b75a151027b26 100644 --- a/gfx/vr/ipc/VRLayerParent.cpp +++ b/gfx/vr/ipc/VRLayerParent.cpp @@ -14,9 +14,12 @@ using namespace layers; namespace gfx {
VRLayerParent::VRLayerParent(uint32_t aVRDisplayID, const uint32_t aGroup) - : mIPCOpen(true), mVRDisplayID(aVRDisplayID), mGroup(aGroup) {} + : mIPCOpen(true), mDestroyed(false), mGroup(aGroup) {}
-VRLayerParent::~VRLayerParent() { MOZ_COUNT_DTOR(VRLayerParent); } +VRLayerParent::~VRLayerParent() { + Destroy(); + MOZ_COUNT_DTOR(VRLayerParent); +}
mozilla::ipc::IPCResult VRLayerParent::RecvDestroy() { Destroy(); @@ -26,12 +29,10 @@ mozilla::ipc::IPCResult VRLayerParent::RecvDestroy() { void VRLayerParent::ActorDestroy(ActorDestroyReason aWhy) { mIPCOpen = false; }
void VRLayerParent::Destroy() { - if (mVRDisplayID) { + if (!mDestroyed) { VRManager* vm = VRManager::Get(); vm->RemoveLayer(this); - // 0 will never be a valid VRDisplayID; we can use it to indicate that - // we are destroyed and no longer associated with a display. - mVRDisplayID = 0; + mDestroyed = true; }
if (mIPCOpen) { @@ -42,7 +43,7 @@ void VRLayerParent::Destroy() { mozilla::ipc::IPCResult VRLayerParent::RecvSubmitFrame( const layers::SurfaceDescriptor& aTexture, const uint64_t& aFrameId, const gfx::Rect& aLeftEyeRect, const gfx::Rect& aRightEyeRect) { - if (mVRDisplayID) { + if (!mDestroyed) { VRManager* vm = VRManager::Get(); vm->SubmitFrame(this, aTexture, aFrameId, aLeftEyeRect, aRightEyeRect); } diff --git a/gfx/vr/ipc/VRLayerParent.h b/gfx/vr/ipc/VRLayerParent.h index 9fc2f32c0d5c8..559ee1c7de779 100644 --- a/gfx/vr/ipc/VRLayerParent.h +++ b/gfx/vr/ipc/VRLayerParent.h @@ -23,7 +23,6 @@ class VRLayerParent : public PVRLayerParent { const layers::SurfaceDescriptor& aTexture, const uint64_t& aFrameId, const gfx::Rect& aLeftEyeRect, const gfx::Rect& aRightEyeRect) override; virtual mozilla::ipc::IPCResult RecvDestroy() override; - uint32_t GetDisplayID() const { return mVRDisplayID; } uint32_t GetGroup() const { return mGroup; }
protected: @@ -34,7 +33,7 @@ class VRLayerParent : public PVRLayerParent {
bool mIPCOpen;
- uint32_t mVRDisplayID; + bool mDestroyed; gfx::Rect mLeftEyeRect; gfx::Rect mRightEyeRect; uint32_t mGroup;
This is an automated email from the git hooks/post-receive script.
richard pushed a commit to branch tor-browser-91.8.0esr-11.0-1 in repository tor-browser.
commit b79bd94ff5159e62617ef4e06f7d8e2988b97e79 Author: Masayuki Nakano masayuki@d-toybox.com AuthorDate: Fri Mar 11 02:24:24 2022 +0000
Bug 1753508 - Make `EditorBase::AutoEditActionDataSetter::UpdateSelectionCache` clean up and restart selection batch which the editor started. r=smaug, a=RyanVM
When `Selection` instance is updated, the old selection may be in batch. In the case, `UpdateSelectionCache` should clean up the batch in the old selection and start new one in the new selection instead.
Differential Revision: https://phabricator.services.mozilla.com/D139349 --- editor/libeditor/EditorBase.cpp | 57 +++++++++++++++++++++++++++++++++++++++++ editor/libeditor/EditorBase.h | 13 ++-------- 2 files changed, 59 insertions(+), 11 deletions(-)
diff --git a/editor/libeditor/EditorBase.cpp b/editor/libeditor/EditorBase.cpp index a9d6b6121eca2..c2ee66105aad2 100644 --- a/editor/libeditor/EditorBase.cpp +++ b/editor/libeditor/EditorBase.cpp @@ -6135,6 +6135,63 @@ EditorBase::AutoEditActionDataSetter::~AutoEditActionDataSetter() { "mTopLevelEditSubActionData.mSelectedRange should've been cleared"); }
+void EditorBase::AutoEditActionDataSetter::UpdateSelectionCache( + Selection& aSelection) { + MOZ_ASSERT(aSelection.GetType() == SelectionType::eNormal); + + if (mSelection == &aSelection) { + return; + } + + AutoEditActionDataSetter& topLevelEditActionData = + [&]() -> AutoEditActionDataSetter& { + for (AutoEditActionDataSetter* editActionData = this;; + editActionData = editActionData->mParentData) { + if (!editActionData->mParentData) { + return *editActionData; + } + } + MOZ_ASSERT_UNREACHABLE("You do something wrong"); + }(); + + // Keep grabbing the old selection in the top level edit action data until the + // all owners end handling it. + if (mSelection) { + topLevelEditActionData.mRetiredSelections.AppendElement(*mSelection); + } + + // If the old selection is in batch, we should end the batch which + // `EditorBase::BeginUpdateViewBatch` started. + if (mEditorBase.mUpdateCount && mSelection) { + mSelection->EndBatchChanges(); + } + + Selection* previousSelection = mSelection; + mSelection = &aSelection; + for (AutoEditActionDataSetter* parentActionData = mParentData; + parentActionData; parentActionData = parentActionData->mParentData) { + if (!parentActionData->mSelection) { + continue; + } + // Skip scanning mRetiredSelections if we've already handled the selection + // previous time. + if (parentActionData->mSelection != previousSelection) { + if (!topLevelEditActionData.mRetiredSelections.Contains( + OwningNonNull<Selection>(*parentActionData->mSelection))) { + topLevelEditActionData.mRetiredSelections.AppendElement( + *parentActionData->mSelection); + } + previousSelection = parentActionData->mSelection; + } + parentActionData->mSelection = &aSelection; + } + + // Restart the batching in the new selection. + if (mEditorBase.mUpdateCount) { + aSelection.StartBatchChanges(); + } +} + void EditorBase::AutoEditActionDataSetter::SetColorData( const nsAString& aData) { MOZ_ASSERT(!HasTriedToDispatchBeforeInputEvent(), diff --git a/editor/libeditor/EditorBase.h b/editor/libeditor/EditorBase.h index 8a551d92f9b84..dbc64780e84f5 100644 --- a/editor/libeditor/EditorBase.h +++ b/editor/libeditor/EditorBase.h @@ -1304,17 +1304,7 @@ class EditorBase : public nsIEditor, return mParentData ? mParentData->RangeUpdaterRef() : mRangeUpdater; }
- void UpdateSelectionCache(Selection& aSelection) { - MOZ_ASSERT(aSelection.GetType() == SelectionType::eNormal); - - AutoEditActionDataSetter* actionData = this; - while (actionData) { - if (actionData->mSelection) { - actionData->mSelection = &aSelection; - } - actionData = actionData->mParentData; - } - } + void UpdateSelectionCache(Selection& aSelection);
private: bool IsBeforeInputEventEnabled() const; @@ -1378,6 +1368,7 @@ class EditorBase : public nsIEditor,
EditorBase& mEditorBase; RefPtr<Selection> mSelection; + nsTArray<OwningNonNull<Selection>> mRetiredSelections; nsCOMPtr<nsIPrincipal> mPrincipal; // EditAction may be nested, for example, a command may be executed // from mutation event listener which is run while editor changes
This is an automated email from the git hooks/post-receive script.
richard pushed a commit to branch tor-browser-91.8.0esr-11.0-1 in repository tor-browser.
commit d54411c31e49579497e4d9d0f976ab6136e3980d Author: R. Martinho Fernandes bugs@rmf.io AuthorDate: Fri Mar 11 20:32:34 2022 +0000
Bug 1755621 - Check webauthn extensions r=dveditz, a=RyanVM
Differential Revision: https://phabricator.services.mozilla.com/D139499 --- dom/webauthn/WinWebAuthnManager.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/dom/webauthn/WinWebAuthnManager.cpp b/dom/webauthn/WinWebAuthnManager.cpp index eec3a78b6c3d5..1c1b162ac6725 100644 --- a/dom/webauthn/WinWebAuthnManager.cpp +++ b/dom/webauthn/WinWebAuthnManager.cpp @@ -288,10 +288,12 @@ void WinWebAuthnManager::Register( break; }
+ if (extra.Extensions().Length() > (int)(sizeof(rgExtension) / sizeof(rgExtension[0]))) { + nsresult aError = NS_ERROR_DOM_INVALID_STATE_ERR; + MaybeAbortRegister(aTransactionId, aError); + return; + } for (const WebAuthnExtension& ext : extra.Extensions()) { - MOZ_ASSERT(cExtensions < - (int)(sizeof(rgExtension) / sizeof(rgExtension[0]))); - if (ext.type() == WebAuthnExtension::TWebAuthnExtensionHmacSecret) { HmacCreateSecret = ext.get_WebAuthnExtensionHmacSecret().hmacCreateSecret() == true;
This is an automated email from the git hooks/post-receive script.
richard pushed a commit to branch tor-browser-91.8.0esr-11.0-1 in repository tor-browser.
commit cbe23c6227e96eec4986e41e4c06752a8fcf1085 Author: Michelle Goossens michelle@masterwayz.nl AuthorDate: Tue Mar 15 16:40:55 2022 +0000
Bug 1759705 - Run Windows 10 marionette tests on Azure. r=jmaher, a=test-only
Differential Revision: https://phabricator.services.mozilla.com/D141118 --- taskcluster/ci/test/marionette.yml | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-)
diff --git a/taskcluster/ci/test/marionette.yml b/taskcluster/ci/test/marionette.yml index 20d36cdef65e5..413a46f866895 100644 --- a/taskcluster/ci/test/marionette.yml +++ b/taskcluster/ci/test/marionette.yml @@ -36,10 +36,7 @@ job-defaults: by-test-platform: .*-qr/debug: ['fission', 'webrender-sw'] default: ['fission'] - virtualization: - by-test-platform: - windows10-64.*: hardware - default: virtual + virtualization: virtual python-3: true
marionette:
This is an automated email from the git hooks/post-receive script.
richard pushed a commit to branch tor-browser-91.8.0esr-11.0-1 in repository tor-browser.
commit 028d943280514c2e5e3f98b4c4feaa6d7eb9fa70 Author: ffxbld ffxbld@mozilla.com AuthorDate: Mon Mar 14 10:57:42 2022 +0000
No Bug, mozilla-esr91 repo-update HSTS HPKP remote-settings tld-suffixes - a=repo-update r=RyanVM
Differential Revision: https://phabricator.services.mozilla.com/D140956 --- netwerk/dns/effective_tld_names.dat | 13 +- security/manager/ssl/StaticHPKPins.h | 2 +- security/manager/ssl/nsSTSPreloadList.inc | 755 +++++++-------------- services/settings/dumps/main/search-config.json | 695 +------------------ .../dumps/security-state/intermediates.json | 36 +- 5 files changed, 284 insertions(+), 1217 deletions(-)
diff --git a/netwerk/dns/effective_tld_names.dat b/netwerk/dns/effective_tld_names.dat index 3cf06f92bbf53..28ae956771114 100644 --- a/netwerk/dns/effective_tld_names.dat +++ b/netwerk/dns/effective_tld_names.dat @@ -11241,6 +11241,11 @@ deno-staging.dev // Submitted by Peter Thomassen peter@desec.io dedyn.io
+// Deta: https://www.deta.sh/ +// Submitted by Aavash Shrestha aavash@deta.sh +deta.app +deta.dev + // Diher Solutions : https://diher.solutions // Submitted by Didi Hermawan mail@diher.solutions *.rss.my.id @@ -11870,8 +11875,6 @@ app.os.stg.fedoraproject.org
// FearWorks Media Ltd. : https://fearworksmedia.co.uk // submitted by Keith Fairley domains@fearworksmedia.co.uk -couk.me -ukco.me conn.uk copro.uk hosp.uk @@ -13499,6 +13502,8 @@ srht.site stackhero-network.com
// Staclar : https://staclar.com +// Submitted by Q Misell q@staclar.com +musician.io // Submitted by Matthias Merkel matthias.merkel@staclar.com novecore.site
@@ -13742,6 +13747,10 @@ syno-ds.de synology-diskstation.de synology-ds.de
+// Typedream : https://typedream.com +// Submitted by Putri Karunia putri@typedream.com +typedream.app + // Typeform : https://www.typeform.com // Submitted by Sergi Ferriz sergi.ferriz@typeform.com pro.typeform.com diff --git a/security/manager/ssl/StaticHPKPins.h b/security/manager/ssl/StaticHPKPins.h index 70bd196bb98f2..3936a5a77bfd4 100644 --- a/security/manager/ssl/StaticHPKPins.h +++ b/security/manager/ssl/StaticHPKPins.h @@ -1149,4 +1149,4 @@ static const TransportSecurityPreload kPublicKeyPinningPreloadList[] = {
static const int32_t kUnknownId = -1;
-static const PRTime kPreloadPKPinsExpirationTime = INT64_C(1654512682217000); +static const PRTime kPreloadPKPinsExpirationTime = INT64_C(1655722278235000); diff --git a/security/manager/ssl/nsSTSPreloadList.inc b/security/manager/ssl/nsSTSPreloadList.inc index e67734d26ef78..75fa415106062 100644 --- a/security/manager/ssl/nsSTSPreloadList.inc +++ b/security/manager/ssl/nsSTSPreloadList.inc @@ -8,7 +8,7 @@ /*****************************************************************************/
#include <stdint.h> -const PRTime gPreloadListExpirationTime = INT64_C(1656931874520000); +const PRTime gPreloadListExpirationTime = INT64_C(1658141469874000); %% 0--1.de, 1 0-1.party, 1 @@ -498,7 +498,6 @@ const PRTime gPreloadListExpirationTime = INT64_C(1656931874520000); 110bu.com, 1 110bv.com, 1 110ce.com, 1 -110cl.com, 1 110eh.com, 1 110ej.com, 1 110ek.com, 1 @@ -519,7 +518,6 @@ const PRTime gPreloadListExpirationTime = INT64_C(1656931874520000); 110kp.com, 1 110lh.com, 1 110lj.com, 1 -110na.com, 1 110ne.com, 1 110nf.com, 1 110ng.com, 1 @@ -728,13 +726,11 @@ const PRTime gPreloadListExpirationTime = INT64_C(1656931874520000); 11jjqq.com, 1 11jjrr.com, 1 11jjtt.com, 1 -11jjyy.com, 1 11jjzz.com, 1 11kkee.com, 1 11kkff.com, 1 11kkss.com, 1 11men.tk, 1 -11ppbb.com, 1 11ppcc.com, 1 11ppdd.com, 1 11ppee.com, 1 @@ -871,7 +867,6 @@ const PRTime gPreloadListExpirationTime = INT64_C(1656931874520000); 1234365p.com, 0 1234365q.com, 0 1234365s.com, 0 -1234365t.com, 0 1234365u.com, 0 1234365v.com, 0 1234365vip.com, 0 @@ -883,7 +878,6 @@ const PRTime gPreloadListExpirationTime = INT64_C(1656931874520000); 12345678365.com, 1 123456789365.com, 1 12345porn.com, 1 -1234888.com, 0 1236.be, 1 12365t.com, 1 123apps.net, 1 @@ -1560,6 +1554,7 @@ const PRTime gPreloadListExpirationTime = INT64_C(1656931874520000); 2000feet.tk, 1 2000meter.no, 1 2001y.me, 1 +2002000.xyz, 1 200201.xyz, 1 2007-g8.tk, 1 20071019780415.com, 1 @@ -1784,6 +1779,7 @@ const PRTime gPreloadListExpirationTime = INT64_C(1656931874520000); 2322bet.com, 1 233.be, 1 233.land, 1 +233.ro, 0 233.services, 1 2333.press, 1 233333.ga, 1 @@ -2268,7 +2264,6 @@ const PRTime gPreloadListExpirationTime = INT64_C(1656931874520000); 34iu.com, 1 34iv.com, 1 34ix.com, 1 -34ja.com, 1 34jb.com, 1 34jg.com, 1 34ji.com, 1 @@ -2490,14 +2485,11 @@ const PRTime gPreloadListExpirationTime = INT64_C(1656931874520000); 369ck.com, 1 369cr.com, 1 369cu.com, 1 -369dp.com, 1 369dr.com, 1 369ec.com, 1 369eh.com, 1 369em.com, 1 369ep.com, 1 -369eq.com, 1 -369ex.com, 1 369fj.com, 1 369fn.com, 1 369ft.com, 1 @@ -2510,7 +2502,6 @@ const PRTime gPreloadListExpirationTime = INT64_C(1656931874520000); 369pb.com, 1 369qb.com, 1 369ra.com, 1 -369rr.com, 1 369ve.com, 1 369wt.com, 1 36ag8.com, 1 @@ -2878,7 +2869,6 @@ const PRTime gPreloadListExpirationTime = INT64_C(1656931874520000); 41-where.com, 1 41199.com, 1 411movie.com, 1 -411quest.com, 1 4144bet.com, 1 414553.com, 1 4151365.com, 1 @@ -3167,6 +3157,7 @@ const PRTime gPreloadListExpirationTime = INT64_C(1656931874520000); 4best.tk, 1 4bet86.com, 1 4budget.ga, 1 +4c-haircare.com, 1 4car.site, 1 4cavaleiros.com.br, 1 4cut.tk, 1 @@ -3206,6 +3197,7 @@ const PRTime gPreloadListExpirationTime = INT64_C(1656931874520000); 4meizu.ru, 1 4mm.org, 1 4motionsgmbh.de, 1 +4mybaby.ch, 0 4nikola.de, 1 4obgyne.com, 1 4played.de, 1 @@ -3305,7 +3297,6 @@ const PRTime gPreloadListExpirationTime = INT64_C(1656931874520000); 50hertz.tk, 1 50lakeshore.com, 1 50ma.xyz, 1 -50milli.com, 1 50miners.tk, 1 50plusdating.ml, 1 50plusdating.tk, 1 @@ -3552,7 +3543,6 @@ const PRTime gPreloadListExpirationTime = INT64_C(1656931874520000); 595380.com, 1 595422.com, 1 596422.com, 1 -59759vip.com, 0 59759z.com, 0 5981168.com, 1 5981611.com, 1 @@ -3954,7 +3944,6 @@ const PRTime gPreloadListExpirationTime = INT64_C(1656931874520000); 655ks.com, 1 657660.com, 1 659422.com, 1 -65book.net, 1 65d88.com, 1 6602p.com, 1 661326.com, 1 @@ -6197,10 +6186,12 @@ ableofficeadmin.com, 1 ableprop.net, 1 abloop.com, 1 abmackenzie.com, 1 +abmahnhelfer.de, 1 abminiplex.in, 1 abmledger.ca, 1 abn-consultants.ie, 1 abnamropensioenen.nl, 1 +abnarnro.com, 0 abnehmen.com, 1 abnobapetstore.co.uk, 1 abnradiofm.tk, 1 @@ -6537,7 +6528,6 @@ acephalafashion.com, 1 acercapartners.com, 1 acerentalandsales.com, 1 acerislaw.com, 1 -acerosfortuna.com.mx, 1 aceshop702.com, 1 acessoeducacao.com, 1 acetudy.com, 1 @@ -6622,7 +6612,6 @@ acousticsoundrecords.com, 1 acoustictabs.tk, 1 acoustique-tardy.com, 0 acovadamoura.tk, 1 -acp-integrative.fr, 1 acpa-ancenis.fr, 1 acpcoils.com, 0 acperu.ch, 0 @@ -7300,7 +7289,6 @@ advokat-dtp.gq, 1 advokat-dtp.ml, 1 advokat-dtp.tk, 1 advokat-malinovskii.ml, 1 -advokat-romanov.com, 1 advokat-vvp.com.ua, 1 advokat73.gq, 1 advokati-ceva.cz, 1 @@ -7539,6 +7527,7 @@ aficionados.com.br, 1 afilio.de, 1 afinadoronline.com.br, 1 afinaudio.com, 1 +afinterio.com, 1 afishablogs.tk, 1 afive.us, 1 afiyetolsun.jp, 1 @@ -7639,7 +7628,6 @@ ag66668.com, 1 ag68ks.com, 1 ag69000.com, 1 ag72.vip, 1 -ag77.win, 1 ag775.com, 1 ag8-game.com, 1 ag8.email, 1 @@ -7933,7 +7921,6 @@ agouralandscapelighting.com, 1 agouralighting.com, 1 agouraoutdoorlighting.com, 1 agpideas.com, 1 -agpnepal.com, 1 agpsn.com, 1 agptco.com, 1 agr.asia, 1 @@ -8034,6 +8021,7 @@ ahealthyjourney.ca, 1 ahegaoroulette.com, 1 ahelos.tk, 1 ahenkerp.com, 1 +ahero4all.org, 1 ahg-offices.fr, 1 ahhcomfortshoes.com, 1 ahidta.gov, 1 @@ -8316,6 +8304,7 @@ airconsboksburg.co.za, 1 airconsfourways.co.za, 1 airconsmidrand.co.za, 1 airconsrandburg.co.za, 1 +airconssandton.co.za, 1 aircraftnoisemodel.org, 1 airday.tk, 1 airdropkings.com, 1 @@ -8537,7 +8526,6 @@ akerboom.org, 1 akesinti.tk, 1 aketzasantacoloma.tk, 1 akewe.com, 0 -akf-plastics.com, 1 akfoundationindia.com, 1 akhabar.tk, 1 akhbaralam.cf, 1 @@ -8578,7 +8566,6 @@ akordeoiak.tk, 1 akostecki.de, 1 akouryy.net, 1 akoww.de, 0 -akoya.com, 1 akoya.fi, 1 akp.photos, 1 akplates.org, 1 @@ -8898,7 +8885,6 @@ aleksanders.tk, 1 alekseevaleksandr.cf, 1 alekseevski.tk, 1 aleksejjocic.tk, 1 -aleksib.fi, 1 alelin.ml, 1 alemagia.pl, 1 alemangranada.tk, 1 @@ -8960,6 +8946,7 @@ alexandraschmidt.coach, 1 alexandrastrauss.fr, 1 alexandrawett.net, 1 alexandre-acaries.fr, 1 +alexandre-barret.fr, 1 alexandre-gallais.fr, 1 alexandreguarita.com.br, 1 alexandremottier.tk, 1 @@ -9050,7 +9037,6 @@ alfa-host.ml, 1 alfa-music.tk, 1 alfa-tech.su, 1 alfaair.aero, 1 -alfabank-info.ru, 1 alfabuster.com, 1 alfacharlie.co, 1 alfadecor.ml, 1 @@ -9121,6 +9107,7 @@ alice.tw, 1 alicebaldenegro.tk, 1 alicedepret.com, 1 alicehairstyling.tk, 1 +alicehartley.com, 1 alicekinkycat.net, 1 alicemaywebdesign.com.au, 1 aliceophotographie.fr, 1 @@ -9356,7 +9343,6 @@ allgaragefloors.com, 1 allgemeinarzt-wenta-bralla.de, 1 allgolfreviews.com, 1 allgooddeedshomes.com, 1 -allgosts.ru, 1 allgrass.net, 1 allgreek.tk, 1 allhallows.tk, 1 @@ -9681,7 +9667,6 @@ alrehmantech.tk, 1 alrobotics.net, 1 alsaagency.tk, 1 alsabil.tk, 1 -alsace-boutique.fr, 1 alshabab.tk, 1 alshamil.tk, 1 alsops.cf, 1 @@ -9908,6 +9893,7 @@ amandamachado.nl, 1 amandasage.ca, 1 amandaworldstudies.com, 1 amanduscommunication.com, 1 +amanet.ro, 1 amani-kinderdorf.de, 1 amansinghbhogal.com, 1 amaranth.gq, 1 @@ -10378,6 +10364,7 @@ analyticum.de, 1 analyticum.eu, 1 analyticum.net, 1 analytik.news, 1 +analyze-ed.com, 1 analyzemyfriends.com, 1 anamelikian.com, 1 anamterminal.tk, 1 @@ -10554,7 +10541,6 @@ andrewpucci.com, 0 andrewrdaws.com, 1 andrewrgoss.com, 1 andrewryno.com, 0 -andrewsoutar.com, 1 andrewsun.com, 1 andrewtasso.com, 1 andrewtaylor.eu, 1 @@ -10628,7 +10614,6 @@ anduril.eu, 1 andy-hagans.tk, 1 andyblu.me, 1 andybrett.com, 1 -andyc.cc, 1 andycatteceur.tk, 1 andycraftz.eu, 1 andycrockett.io, 1 @@ -10860,7 +10845,6 @@ animestreamingfr.fr, 1 animetosho.org, 1 animetriad.com, 1 animewallpapers.tk, 1 -animorphsfanforum.com, 1 animoxavilorza.tk, 1 aninews.tk, 1 anip.icu, 1 @@ -11115,6 +11099,7 @@ antephaber.tk, 1 anteprima.info, 1 anteroleppanen.fi, 1 antfarm.cf, 1 +anthedesign.fr, 1 anthisis.tv, 1 anthony-bardon.eu, 1 anthony.games, 1 @@ -12485,7 +12470,6 @@ articlesutiles.cf, 1 articu.no, 1 articulatedvaluation.com, 1 artifact.spb.ru, 1 -artifactoria.com, 1 artifex21.fr, 1 artifexnet.com, 1 artifice.tk, 1 @@ -12693,7 +12677,6 @@ aselectionoffice.gov, 1 asenno.com, 1 aseoblog.com, 1 aserbx.ga, 1 -asesoramientosolay.es, 1 asesorialigorred.es, 1 asesoriavalledor.es, 1 asessiglo21.es, 1 @@ -12713,7 +12696,6 @@ ashd2.goip.de, 1 ashd3.goip.de, 1 ashdodisrael.com, 1 ashenm.ml, 1 -asher.cloud, 1 asher.tools, 1 ashessin.com, 1 ashevillemenshealth.com, 1 @@ -13119,7 +13101,6 @@ atelierverbeelding.nl, 1 atenasconservadora.com.br, 1 atencionbimbo.com, 0 atendimentodelta.com.br, 0 -ateneucomercialporto.pt, 0 ateneumontbui.tk, 1 ateneupalafrugell.tk, 1 atenolol25mg.ga, 1 @@ -13387,7 +13368,6 @@ audioonly.stream, 1 audiophile.ch, 0 audiophix.com, 1 audiorental.net, 1 -audioscenic.com, 1 audioschoolonline.com, 1 audioslave.tk, 1 audiotrace.tk, 1 @@ -13563,10 +13543,8 @@ authanet.ga, 1 authcom.ca, 1 authenticate.be, 1 authenticate.computer, 1 -authentick.ch, 1 authentick.cloud, 1 authentick.de, 1 -authentick.eu, 1 authentick.me, 1 authentick.online, 1 authentick.systems, 1 @@ -14060,6 +14038,7 @@ avi9526.pp.ua, 1 avia-krasnoyarsk.ru, 0 avia-ufa.ru, 0 aviabilet.tk, 1 +aviacao.pt, 0 aviaphoto.tk, 1 aviapic.com, 1 aviapic.eu, 1 @@ -14798,7 +14777,6 @@ babki-mgnovenno.ml, 1 babkitut.ga, 1 bablodel.biz, 1 bablodel.com, 1 -babo.name.ng, 1 babo.tk, 1 babolsar.tk, 1 babounet.com, 1 @@ -15191,7 +15169,6 @@ balkoni.gq, 1 balkonien.org, 1 balkonov.com.ua, 1 ball-bizarr.de, 1 -ball3d.es, 1 ball4training.com, 1 ballaratcapital.com, 1 ballaratcapital.com.au, 1 @@ -15235,7 +15212,6 @@ baltimorecashflow.com, 1 baltimorejetcharter.com, 1 baltimoreroofingservices.com, 1 bam.com.gt, 1 -bamaagahi.ir, 1 bamahammer.com, 1 bamaland.org, 1 bamberger-maelzerei.de, 1 @@ -15509,7 +15485,6 @@ baristador.com, 1 baristanetwork.co.uk, 1 baritoday.it, 1 barkerjr.xyz, 1 -barkingaboutbusiness.com, 1 barkingspidersaspets.com, 1 barkstop.net, 1 barlex.pl, 1 @@ -15761,6 +15736,7 @@ bauernhof-lercher.at, 1 bauernmarkt-fernitz.at, 1 baufi24.de, 1 baufinanzierung-ludwigsburg.de, 1 +baugelitt.eu, 1 baugemeinschaftbernstein.de, 1 baugeshite.de, 1 bauingenieur24.de, 1 @@ -16306,7 +16282,6 @@ behoreal.cz, 1 behrer.se, 1 behrig.de, 1 bei18.com, 1 -beichtgenerator.de, 1 beijinglug.club, 1 beimchristoph.de, 1 beinad.com, 1 @@ -16465,7 +16440,6 @@ bembee.tk, 1 bemcorp.de, 1 bemindly.com, 1 bemine.cloud, 1 -bemsertanejo.com, 1 bemsoft.pl, 1 ben-deneme.gq, 1 ben-energy.com, 0 @@ -16535,6 +16509,7 @@ bengkelkeramik.tk, 1 bengkle.id, 1 bengou.tk, 1 benhamplateau.tk, 1 +benhaney.com, 1 benhartmann.de, 0 benhoeg.com, 0 beniajan.tk, 1 @@ -16781,6 +16756,7 @@ besiktasmtsk.com, 1 besnard.me, 1 besnik.de, 0 besnik.tk, 1 +besola.de, 1 besole.ch, 1 besolov.tk, 1 besox.be, 1 @@ -16830,11 +16806,11 @@ best-ticket.it, 1 best-tickets.co.uk, 1 best-tickets.com.au, 1 best-trucking-schools.com, 1 +best-wedding-quotes.com, 1 best10websitebuilders.com, 1 best66.me, 1 bestaction.tk, 1 bestafricaradio.tk, 1 -bestanswer.tech, 1 bestantidandruffshampoo.net, 1 bestappliancedoctor.com, 1 bestarts.tk, 1 @@ -16899,7 +16875,6 @@ bestgriefbooks.com, 1 besthairsale.com, 1 besthemes.tk, 1 besthobi.com, 1 -besthomescents.com, 1 besthorsebedding.com, 1 besthost.cz, 1 besthotsales.com, 1 @@ -17446,7 +17421,6 @@ beverhof.nl, 1 beverley.tk, 1 beverleycounselling.co.uk, 1 beverleymoneyman.com, 1 -beverleysimpson.com, 1 beverly.tk, 1 beverlydrive.tk, 1 beverlyinternational.com, 1 @@ -18139,7 +18113,6 @@ biosignalanalytics.com, 1 biosky.tk, 1 biospeak.solutions, 1 biospw.com, 1 -biossidiot.eu.org, 1 biosuit.ga, 1 biot.tk, 1 biotal.ua, 1 @@ -18352,7 +18325,6 @@ bitcrazy.org, 1 bitech-ec.com, 1 bitedge.com, 0 bitenose.com, 1 -bitenose.net, 1 bitenose.org, 1 bitewinggames.com, 1 bitex.la, 1 @@ -18813,6 +18785,7 @@ blegalservicespty.com, 1 blekingeopen.tk, 1 blenderinsider.com, 1 blenderrecipereviews.com, 1 +blenderwallet.io, 1 blending.kr, 1 blendle.com, 1 blendle.nl, 1 @@ -18936,7 +18909,6 @@ blog-story.tk, 1 blog.gparent.org, 1 blog.gt, 1 blog.kg, 1 -blog.linode.com, 0 blog.lookout.com, 1 blog.torproject.org, 0 blog.vu, 1 @@ -18990,7 +18962,6 @@ blogreen.org, 1 blogsnote.xyz, 1 blogspasest.ga, 1 blogstar.tk, 1 -blogtechnologiczny.pl, 1 blogthetindung.com, 1 blogtroterzy.pl, 1 bloguser.ru, 1 @@ -19027,7 +18998,6 @@ blopezabogado.es, 1 blossom.so, 1 blossomsflowerboutique.com.au, 1 blrjmt.com, 1 -blsindia-canada.com, 1 blsindia.sg, 1 bltc.co.uk, 1 bltc.com, 1 @@ -19042,7 +19012,6 @@ blucouriers.com.au, 1 bludnykoren.ml, 1 blue-gmbh-erfahrungen.de, 1 blue-gmbh.de, 1 -blue-leaf81.net, 1 blue-nijmegen.nl, 0 blue-olive.co.za, 1 blue-pool.de, 1 @@ -19055,7 +19024,6 @@ bluebie.com, 1 bluebill.net, 0 bluebirdelc.com, 1 bluebirdservice.us, 1 -blueblou.com, 1 bluebnc.com, 1 bluecanvas.io, 1 bluecat.tk, 1 @@ -19119,7 +19087,6 @@ bluestoneconstruction.com, 1 bluestrigger.tk, 1 bluesuncamping.com, 1 bluesunhotels.com, 1 -blueswanbookkeeping.com, 1 blueswandaily.com, 1 bluesync.co, 1 bluesystem.tk, 1 @@ -19292,7 +19259,6 @@ bodrumfarm.com, 1 bodrus.com, 1 bodsch.com, 1 body-demo.tk, 1 -bodyandsoul.sg, 1 bodyblog.nl, 1 bodybuilding.com, 1 bodybuilding.events, 1 @@ -19304,7 +19270,6 @@ bodyhealthcare.tk, 1 bodymassage.cf, 1 bodymod.tk, 1 bodymusclejournal.com, 1 -bodypainter.pl, 1 bodypainting.waw.pl, 1 bodyshaping.ml, 1 bodyshopnews.net, 1 @@ -19316,7 +19281,6 @@ boeddhashop.nl, 1 boegli.tk, 1 boehm.sh, 1 boeing747.tk, 1 -boel073.nl, 1 boeleo.ru, 1 boem.gov, 0 boensite.tk, 1 @@ -19327,6 +19291,7 @@ boevik.ml, 1 bofashion.site, 1 boffin.tk, 1 bofoxdesign.com, 0 +bog8.com, 1 bogatyizhenih.tk, 1 bogazreflusu.com, 1 bogdanbiris.com, 1 @@ -19370,7 +19335,6 @@ bokka.com, 1 bokkeriders.com, 1 bokov.gq, 1 boksburgplumber24-7.co.za, 1 -boksburgplumbing.co.za, 1 bokutake.com, 1 bol.io, 1 bolalocobrews.co.uk, 1 @@ -19478,7 +19442,6 @@ bonebreakers.tk, 1 bonebunny.de, 1 boneko.de, 1 boneros.tk, 1 -bonesserver.com, 1 bonexio.tk, 1 bonfi.net, 1 bonfireleads.com, 0 @@ -19627,7 +19590,6 @@ boost.ink, 1 boostdesign.tk, 1 boostgame.win, 1 boostplm.com, 1 -boostrpro.pl, 1 booths.cyou, 1 bootina.com, 1 bootlesshacker.com, 1 @@ -20026,8 +19988,6 @@ bradfordhottubhire.co.uk, 1 bradfordmascots.co.uk, 1 bradkovach.com, 1 bradler.net, 0 -bradleyeaton.com, 1 -bradlinder.org, 1 bradypatterson.com, 1 braemer-it-consulting.de, 1 braeunlich-gmbh.com, 1 @@ -20129,6 +20089,7 @@ brandonjacksonphoto.com, 1 brandonlin.me, 1 brandonlui.com, 1 brandonlui.ml, 1 +brandons.site, 1 brandontaylor-black.com, 1 brandonwalker.me, 1 brandrocket.dk, 1 @@ -20250,7 +20211,6 @@ brbt.net, 1 brck.nl, 1 brd.ro, 1 bread.fish, 1 -bread.red, 1 breadandlife.org, 0 breadmash.tk, 1 breadpirates.chat, 1 @@ -20359,7 +20319,6 @@ brewspark.co, 1 brex.money, 1 brex.pw, 1 brexit.tk, 1 -brexpeditions.com, 1 breyerslakeshoreresort.com, 1 breyerslakesideresort.com, 1 breyersresort.com, 1 @@ -20372,7 +20331,6 @@ brguk.com, 1 bri.fyi, 1 brian-ormond.tk, 1 brianalaway.com, 1 -brianalawayconsulting.com, 1 briandorey.com, 0 briandwells.com, 0 brianfanzo.com, 1 @@ -20402,6 +20360,7 @@ brickadia.com, 1 brickfilmfestival.tk, 1 brickftp.com, 1 brickland.tk, 1 +bricklet.com.au, 1 bricks-clicks.com, 1 bricks4kidzelearn.com, 1 bricksandmotor.co.uk, 1 @@ -20621,6 +20580,7 @@ brokernotes.co, 1 brokerstalk.com, 1 brokeryouers.ga, 1 brokeryouest.ga, 1 +brokgency.com, 1 brols.eu, 1 bromfietsman.tk, 1 bromideas.ga, 1 @@ -20641,7 +20601,6 @@ brooklynboyblues.ml, 1 brooklyncosmetics.net, 1 brooklyndecker.tk, 1 brooklynentdoc.com, 1 -brooklyngynplace.com, 1 brooklynrealestateblog.com, 1 brooklyntheborough.com, 1 brookscountyga.gov, 1 @@ -20796,7 +20755,6 @@ bsdlab.com, 1 bsdracing.ca, 1 bsdug.org, 1 bsdunix.xyz, 1 -bsee.gov, 1 bserved.de, 0 bsf-knowledgecity.com, 1 bsg.ro, 1 @@ -20861,7 +20819,6 @@ bticoin3king.cf, 1 btid.tk, 1 btimprintables.com, 1 btine.tk, 1 -btio.pw, 0 btku.org, 1 btln.cloud, 1 btln.de, 1 @@ -20948,7 +20905,7 @@ budatx.gov, 1 budbringerne.tk, 1 buddhism.cf, 1 buddhismedia.com, 1 -buddhismus.net, 1 +buddhistische-weisheiten.org, 1 buddie5.com, 1 buddiescomputers.com.au, 1 buddingoptimist.com, 1 @@ -21040,7 +20997,6 @@ build.chromium.org, 1 buildbackbetter.gov, 1 buildbytes.com, 1 buildconcierge.ga, 1 -builderrentals.com, 1 buildersofthesilentcities.tk, 1 buildherers.ga, 1 buildherest.ga, 1 @@ -21062,7 +21018,6 @@ buildmate.ml, 1 buildmorebuslanes.com, 1 buildnews.tk, 1 buildplease.com, 1 -buildpriceoption.com, 1 builds.gg, 1 buildworkout.com, 1 buileo.com, 1 @@ -21132,6 +21087,7 @@ bumble.com, 1 bumblebeekids.co.uk, 1 bumblebeekids.uk, 1 bumenn.is, 1 +bumianoa.com, 0 bumirc.tk, 1 bummelwelt.com, 1 bummelwelt.de, 1 @@ -21189,7 +21145,7 @@ burbaguena.tk, 1 burbankdental.com, 1 burberry-outlet.cf, 1 burcevo.info, 1 -burchfabrics.com, 1 +burchfabrics.com, 0 burdurhaber.tk, 1 burdursondakika.tk, 1 bureaubolster.nl, 0 @@ -21202,7 +21158,6 @@ burewala.tk, 1 burg-hohnstein.com, 1 burg-hohnstein.info, 1 burgawnc.gov, 1 -burgerbites.be, 1 burgerbudget.gent, 1 burgernet.nl, 0 burgers.io, 1 @@ -21649,7 +21604,6 @@ buyebook.xyz, 1 buyebooks.tk, 1 buyeffexor.tk, 1 buyer.pro, 1 -buyerdocs.com, 1 buyessay.org, 1 buyessays.net, 1 buyessayscheap.com, 1 @@ -21911,7 +21865,6 @@ c0rn3j.com, 1 c16t.uk, 1 c1cdn.com, 1 c2athletics.com, 1 -c2design.it, 0 c2lab.net, 1 c2m-staging.com, 1 c2o2.xyz, 1 @@ -22441,6 +22394,7 @@ campingwatchest.ga, 1 campistry.net, 1 camplaza.tk, 1 campmackinaw.com, 1 +campo-salado.com, 1 campofant.com, 1 campograndenews.com.br, 1 campona.hu, 1 @@ -22931,7 +22885,6 @@ carien.eu, 0 cariki.gq, 1 carikiv.gq, 1 carillon.tk, 1 -carimcoder.website, 1 carine.ml, 1 caringmedicine.ga, 1 caringpups.com, 1 @@ -23005,7 +22958,6 @@ carmeltownship-mi.gov, 1 carmen1996.com, 1 carmengrayfanclub.tk, 1 carmeni.tk, 1 -carmenluz.fr, 1 carmeny.org, 1 carmineforsheriff.com, 1 carna.tk, 1 @@ -23083,7 +23035,6 @@ carrieunderwood.tk, 1 carringtonrealtygroup.com, 1 carrion.tk, 1 carroattrezzi.it, 1 -carroattrezzi.roma.it, 1 carroattrezzimilanodaluiso.it, 1 carroceriascarluis.com, 1 carrolcountyohioelections.gov, 1 @@ -23443,6 +23394,7 @@ casscountyia.gov, 1 cassies.com.au, 1 cassilandianoticias.com.br, 1 cassimo.com, 0 +cassini.ro, 1 casso.ml, 1 casso.tk, 1 castagnola.tk, 1 @@ -23466,7 +23418,6 @@ castingfrancais.com, 1 castings.tk, 1 castlabs.com, 0 castle-engine.io, 1 -castleagroindustrial.com, 1 castlecapers.com.au, 1 castlehack.ga, 1 castlekingdomstockport.co.uk, 1 @@ -23488,9 +23439,7 @@ casualtime.ga, 1 casusgrillcaribbean.com, 1 cat-encyclopedia.ml, 1 cat-problems.ml, 1 -cat.ax, 1 cat.net, 1 -cat1solution.com, 1 cat2heory.es, 1 catagec.com, 1 catalog-bookinist.tk, 1 @@ -23651,7 +23600,6 @@ cb-crochet.com, 1 cb1388.com, 1 cb1588.com, 1 cbaamaga.com, 1 -cbatcreative.com, 1 cbbank.com, 1 cbc-hire.co.uk, 1 cbca.gov, 1 @@ -23836,7 +23784,6 @@ ce-pimkie.fr, 1 ce-tuifrance.com, 1 ce-webdesign.de, 1 ceafinney.com, 1 -ceanimalhealth.com, 1 ceba-cuec.ca, 1 cebrita.tk, 1 cecalivo.tk, 1 @@ -23898,7 +23845,6 @@ celebritydailynews.ml, 1 celebrityfakes.tk, 1 celebritypic.tk, 1 celebritypics.club, 1 -celebritypics.co, 1 celebrityscope.net, 1 celebritysrit.tk, 1 celebritytopnews.tk, 1 @@ -23921,7 +23867,6 @@ cellboost.cf, 1 cellebrite.com, 1 cellecci.com, 1 celliberate.co.uk, 1 -cellohealth.com, 1 cellopasorobles.com, 1 cellsheet.me, 1 celltek-server.de, 0 @@ -24103,6 +24048,7 @@ ceremonialvirtualphd.com, 1 cerena-silver.ru, 0 ceres-corp.org, 1 cerium-systems.com, 1 +cerivo.co.uk, 1 cermak.photos, 1 cernac.cz, 1 cernakova.eu, 1 @@ -24124,7 +24070,6 @@ certaintelligence.com, 1 certbus.com, 1 certevia.com, 1 certfa.com, 1 -certible.com, 1 certidao-nascimento-pt.org, 1 certificacaoiso.com.br, 1 certificatedetails.com, 1 @@ -24541,7 +24486,6 @@ chatshort.com, 1 chatsupport.co, 1 chatsworthelectrical.com, 1 chattahoocheefl.gov, 1 -chattanoogaface.com, 1 chattergallery.com, 1 chatticketsers.ga, 1 chattingorcheating.com, 1 @@ -24764,7 +24708,6 @@ cherryband.space, 1 cherrybread.net, 1 cherryonit.com, 0 chertseybouncycastles.co.uk, 1 -cherylbelber.com, 1 cherysunzhang.com, 1 chesapeakebank.com, 1 chesapeakebaychristmas.com, 1 @@ -24840,9 +24783,7 @@ chickencoop.ml, 1 chickenfarms.tk, 1 chickteam.tk, 1 chicofc.tk, 1 -chicolawfirm.com, 1 chicospanico.tk, 1 -chicourologist.com, 1 chicurrichi.com, 1 chiefworks.com, 1 chielonline.tk, 1 @@ -25195,7 +25136,6 @@ christmaspages.tk, 1 christmaspartyhire.co.uk, 1 christmasrecipe.tk, 1 christo.ga, 1 -christoph-gadow.de, 1 christoph.media, 1 christophbartschat.com, 1 christophe-dubois.tk, 1 @@ -25493,7 +25433,6 @@ cio.go.jp, 0 cio.gov, 1 ciordigital.com, 1 cioscloud.com, 1 -cip.md, 1 cipartyhire.co.uk, 1 ciph.zone, 1 cipher.team, 1 @@ -25519,7 +25458,6 @@ cir.is, 1 cira.email, 1 cirasync.com, 1 circady.com, 1 -circara.com, 1 circle-people.com, 1 circlebox.rocks, 1 circlelytics.com, 1 @@ -25553,7 +25491,7 @@ cisa.gov, 1 cisamexico.com, 1 ciscoasanetflow.com, 1 ciscocyberthreatdefense.com, 1 -ciscodude.net, 0 +ciscodude.net, 1 ciscom.tk, 1 cisconetflowleader.com, 1 cisconetflowpartners.com, 1 @@ -25635,6 +25573,7 @@ cityconsultants.tk, 1 citycountrycounselling.com.au, 1 citycreek.studio, 1 citycricket.tk, 1 +cityfacialplastics.com, 1 cityfish.com, 1 cityhide.tk, 1 cityhotel.tk, 1 @@ -25820,6 +25759,7 @@ clantonal.gov, 1 clanwarz.com, 1 clapbacks.com, 1 clapcafe.com, 1 +clapping-rhymes.com, 1 claptrap.tk, 1 clara.de, 1 clarasegura.tk, 1 @@ -25939,7 +25879,6 @@ cleandrains.com.au, 1 cleaner.tk, 1 cleanertoday.com, 1 cleanfacesest.ga, 1 -cleanfiles.us, 1 cleango.pl, 1 cleangreen.tech, 1 cleangroup.in.ua, 1 @@ -25948,8 +25887,7 @@ cleaningcarpet.ga, 1 cleaningdepot.co.za, 1 cleaningservicejulai.com, 1 cleaningsquad.ca, 0 -cleankey.jp, 1 -cleanmysolarpanels.com, 1 +cleankey.jp, 0 cleanprovisions.co.uk, 1 cleansewellness.com, 1 cleanshield99.com, 1 @@ -25998,6 +25936,7 @@ clementluck.com, 1 clementsfamily.co, 1 clemovementlaw.com, 1 cleocinonline.gq, 1 +cleova.com, 1 cles-asso.fr, 1 cles.jp, 1 clevelandokla.com, 1 @@ -26130,7 +26069,6 @@ clinicalstats.ga, 1 clinicaltrialpodcast.com, 1 clinicaltrials.gov, 1 clinicamagdalena.com.co, 1 -clinicamiracueto.com, 1 clinicarayanelacerda.com.br, 1 clinicaschirmer.com, 1 clinicasesteticas.com.br, 1 @@ -26329,7 +26267,6 @@ cloutcloset.ga, 1 cloutlookup.com, 1 clouz.de, 1 clover-sendai.com, 1 -cloverpc.co.uk, 1 clovertwo.com, 1 clovisplumbingservices.com, 1 clovorin.gq, 1 @@ -26337,7 +26274,6 @@ clowd.haus, 1 clowd.ovh, 1 clown-clan.tk, 1 clownday.co.uk, 1 -clownindeklas.nl, 1 clownish.co.il, 1 cloxy.com, 1 cloze.com, 1 @@ -26403,6 +26339,7 @@ clubni.tk, 1 clubnoetig-ink2g.de, 1 cluboc.site, 1 clubon.com.tw, 1 +clubon.space, 1 clubpes.tk, 1 clubpeugeot405.tk, 1 clubserveers.ga, 1 @@ -26430,7 +26367,6 @@ cm-agueda.pt, 1 cm-loures.pt, 1 cm-penalvadocastelo.pt, 1 cm-pombal.pt, 1 -cm-portimao.pt, 1 cm-terrasdebouro.pt, 0 cm-valenca.pt, 0 cm-vpaguiar.pt, 1 @@ -26610,6 +26546,7 @@ coconutoil.ml, 1 coconutoil24.com, 1 coconutscrapbooking.com, 1 cocoscastles.co.uk, 1 +cocounty.org, 1 cocowine.com, 1 cocquyt-usedcars.be, 0 cocresa.tk, 1 @@ -26743,7 +26680,6 @@ codigodelbonusbet365.com, 1 codigojose.com, 1 codigomusical.tk, 1 coding-basic.tk, 1 -coding-minds.com, 1 coding-treff.de, 1 coding.lv, 1 coding.net, 1 @@ -26836,7 +26772,6 @@ coinloan.io, 1 coinmewallet.com, 1 coinmotion.com, 1 coinnewspulse.com, 1 -coinpath.io, 1 coinpit.io, 1 coinroom.com, 1 coins2001.ru, 1 @@ -27341,7 +27276,6 @@ computertech-ut.com, 1 computerthings.net, 1 computertips.tk, 1 computerwerk.org, 1 -computerz.solutions, 1 computingaustralia.group, 1 computingsociety.co.uk, 1 computop.com, 1 @@ -27359,7 +27293,6 @@ comunecampodigiove.com, 1 comunic.io, 1 comunicat.global, 1 comunicazionenellaristorazione.it, 1 -comunidadciclismo.com, 1 comunidadeseo.com.br, 1 comunidadmontepinar.es, 1 comuniondelucia.com, 1 @@ -27591,7 +27524,6 @@ consiliumvitae.ch, 1 consill.com, 1 consoe.com, 1 console.rest, 1 -consolebros.com, 1 consoletech.tk, 1 consoleuniverse.tk, 1 consommateuraverti.com, 1 @@ -27653,6 +27585,7 @@ consultoriosodontologicos.com.br, 1 consultorseobr.com.br, 1 consultpetkov.com, 1 consumer.ee, 1 +consumer.gov, 0 consumer.gq, 1 consumera.com, 1 consumeraction.gov, 1 @@ -27660,6 +27593,7 @@ consumerattorneys.com, 1 consumerfiles.com, 1 consumerindex.ga, 1 consumersentinel.gov, 1 +consumidor.gov, 0 consuwijzer.nl, 1 contabilidadebhpampulha.com.br, 1 contabilidadebrooklin.com.br, 1 @@ -27844,7 +27778,6 @@ copan.com.br, 0 copdfoundation.org, 1 copdrop.ga, 1 copedeportes.tk, 1 -copewithdata.com, 1 cophumouraustralia.com, 1 copiisiparinti.ro, 1 copperandtileroofing.com, 1 @@ -27960,6 +27893,7 @@ corleoncatering.com, 1 corlija.com, 1 corlinde.nl, 1 cormed-heverlee.tk, 1 +corneerasmus.com, 1 cornelia-kaufmann.tk, 1 corner-cabinets.tk, 1 cornercafe.tk, 1 @@ -28201,7 +28135,6 @@ country-games.tk, 1 country-house.ga, 1 countryatheartcandles.com, 0 countrybrewer.com.au, 1 -countryfrog.uk, 1 countrylife.cz, 1 countrymountaininn.com, 1 countryoutlaws.ca, 1 @@ -28425,7 +28358,6 @@ craftychameleonbar.com, 1 craftydev.design, 1 craftyguy.net, 1 craftyphotons.net, 1 -craftyproducts.co.za, 1 crag.com.tw, 1 craig-mullins.com, 1 craigary.net, 0 @@ -28437,7 +28369,7 @@ craigleclaireteam.com, 1 craigphillips-work.cf, 1 craigrouse.com, 1 craigsaper.com, 1 -craigwfox.com, 1 +craigwfox.com, 0 craine.tech, 1 cramersoft.com, 1 cran-automobiles.fr, 1 @@ -28579,10 +28511,8 @@ creativeeducation.tk, 1 creativefolks.co.uk, 0 creativeground.com.au, 1 creativeideasagency.com, 1 -creativeimagery.com.au, 1 creativeink.de, 1 creativekkids.com, 1 -creativelaw.eu, 1 creativeliquid.com, 1 creativelysustainable.com, 1 creativemindslms.tk, 1 @@ -28815,6 +28745,7 @@ cross-x.com, 1 crossair.tk, 1 crosscom.ch, 1 crossconnected.co.uk, 1 +crossedwires.net, 1 crossfiremovies.tk, 1 crossfitbesafe.com, 1 crossformer.com, 1 @@ -28866,7 +28797,6 @@ crsmsodry.cz, 1 crsoresina.it, 1 crsserviceogkloak.dk, 1 crstat.ru, 1 -crt.cloud, 1 crt.sh, 1 crt2014-2024review.gov, 1 crtalleres.com, 1 @@ -28912,7 +28842,7 @@ crypt-app.net, 1 crypt0cloud.ddns.net, 0 cryptcheck.fr, 1 cryptearth.de, 1 -crypted.chat, 1 +crypted.chat, 0 crypteianetworks.com, 1 cryptex.net, 1 crypticdeath.tk, 1 @@ -29424,7 +29354,6 @@ customerbuilders.com, 1 customerfocus.co.za, 1 customessaystation.gq, 1 customgear.com.au, 1 -customhash.com, 1 customhomerealty.com, 1 customizedcelebrations.co.uk, 1 customizedmtg.com, 1 @@ -29654,7 +29583,6 @@ cyberspect.io, 1 cyberstatus.de, 1 cyberteam.info, 1 cybertechelectronicstt.com, 1 -cybertik.net, 1 cybertinus.nl, 1 cybertn.gov, 1 cybertorsk.org, 1 @@ -29866,7 +29794,6 @@ d8886.net, 1 d88869.com, 1 d889.app, 1 d8891.net, 1 -d88988.com, 1 d8899.vip, 1 d88a.vip, 1 d88agent.com, 1 @@ -30138,7 +30065,6 @@ danandrum.com, 1 danangcitytours.com, 1 danarozmarin.com, 1 danashamsters.tk, 1 -danbaldwinart.com, 1 danbarrett.com.au, 0 danbergen.com, 1 danca.com, 1 @@ -30553,7 +30479,7 @@ data-replicator.com, 1 data-servers.com, 1 data-wing.ga, 0 data.bayern, 1 -data.gov, 0 +data.gov, 1 data.gov.me, 1 data.govt.nz, 1 data.haus, 1 @@ -30659,6 +30585,7 @@ datenreiter.cf, 1 datenreiter.gq, 1 datenreiter.org, 1 datensalat.info, 1 +datenschutz-consult.de, 1 datenschutz-gruenwald.de, 1 datenschutz-individuell.de, 1 datenschutz-isny.de, 1 @@ -30722,7 +30649,6 @@ davebuis.tk, 1 davecardwell.com, 1 davedevries.nl, 1 daveedave.de, 0 -davefuller.com.au, 1 davemusic.tk, 1 daveoc64.co.uk, 1 davepearce.com, 1 @@ -30866,7 +30792,7 @@ daymantrust.com, 1 daymarksi.com, 1 daymprove.life, 1 daynia.net, 1 -dayofdays.be, 1 +dayofdays.be, 0 dayofthegirl.gc.ca, 1 days.one, 1 daysnews.tk, 1 @@ -30955,9 +30881,9 @@ dcc.moe, 1 dccomputerrepair.com, 1 dccwiki.com, 1 dcdestetica.it, 1 -dcdn.lt, 1 dcepler.net, 1 dchatelain.ch, 0 +dchest.org, 1 dchublist.ru, 1 dci.com.br, 1 dcimpianti.it, 1 @@ -31087,7 +31013,6 @@ dealsmagnet.com, 1 dealspotr.com, 1 dealstream.com, 1 dealstreet.fr, 1 -dealwithstatistics.com, 1 deamonmail.tk, 1 deamsterdam.ml, 1 deamuseum.org, 0 @@ -31211,7 +31136,6 @@ decorativeflooring.com, 1 decorator.uk, 1 decoratore.roma.it, 1 decorestilo.com.br, 1 -decorincasa.com.br, 1 decorlux.bg, 1 decormiernissanparts.com, 1 decorno.tk, 1 @@ -31271,7 +31195,6 @@ deeonix.eu, 1 deep-chess.com, 0 deep-labs.com, 1 deep-wave-hair-extensions.tk, 1 -deep.club, 1 deepaero.com, 1 deeparamaraj.com, 1 deepbluecrafting.co.uk, 1 @@ -31493,6 +31416,7 @@ delirio.tk, 1 delistudio.cf, 1 delitto.top, 1 deliuksta.lt, 1 +deliverability.guru, 1 delivereasy.tk, 1 delivr.com, 1 dellacasapizzasemassas.com.br, 1 @@ -31551,6 +31475,7 @@ deluxe-bot.tk, 1 deluxe-dubai.com, 1 deluxewindowanddoor.com, 1 delvemagazine.ca, 1 +delvinoadegas.com.br, 1 delycate.com, 1 delzottolink.com, 1 demaison.pro, 1 @@ -31801,7 +31726,6 @@ deprecate.de, 1 deprobe.pro, 1 deprofundis.tk, 1 depuberteit.tk, 1 -depuratori.milano.it, 1 dequemurio.com, 1 der-bank-blog.de, 1 der-elite.blog, 1 @@ -31842,6 +31766,7 @@ derguns.town, 1 derhil.de, 1 derinsular.tk, 1 derivativeshub.pro, 1 +derive.cc, 0 derive.cf, 1 derivedata.com, 1 derk-jan.com, 0 @@ -31938,7 +31863,6 @@ designcanada.com, 1 designed-cybersecurity.com, 1 designedbyc.com.au, 1 designedcybersecurity.com, 1 -designedlite.com, 1 designeline.com, 1 designepublicidade.com.br, 1 designer-drug.com, 1 @@ -31957,7 +31881,6 @@ designpro.tk, 1 designrhome.com, 1 designs.codes, 1 designsbyjanith.com, 1 -designschmiede-oberlausitz.de, 1 designsite.tk, 1 designsociety.tk, 1 designtrc.com, 1 @@ -32178,7 +32101,6 @@ devilsophie.net, 1 devinfo.net, 0 devinite.com, 1 devinlasarre.com, 1 -devinslick.com, 1 devirc.net, 1 devisnow.fr, 1 devkid.net, 1 @@ -32265,6 +32187,7 @@ dexonservicedeskws.azurewebsites.net, 1 dexonsoftware.com, 0 dexterseries.ru, 1 dextra.tk, 1 +deyanadeco.com, 1 deyute.com, 1 dez-online.de, 1 dezea.net, 1 @@ -32538,6 +32461,7 @@ didierlaumen.be, 1 didigotoffer.com, 1 didtrumpopengovernmentyet.com, 1 die-bergfuehrer.de, 1 +die-besten-weisheiten.de, 1 die-blahuts.de, 1 die-borts.ch, 1 die-gruenen-teufel.de, 1 @@ -32663,13 +32587,12 @@ digideli.ee, 1 digidroom.be, 1 digifloat.io, 1 digiful.fi, 1 -digikassa.no, 1 digikol.net, 1 digiland.tk, 1 digilicious.com, 1 digilirapay.com, 1 digimaat.agency, 1 -digimagical.com, 1 +digimagical.com, 0 digimedia.cd, 0 digimoncard.io, 1 digino.co.uk, 1 @@ -32864,7 +32787,6 @@ diktatur.tk, 1 dilation.party, 1 dilberkebab.co.uk, 0 dildoexperten.se, 1 -diletec.com.br, 1 dilibel.be, 1 diligenciasprime.com.br, 1 diligo.ch, 0 @@ -33060,6 +32982,7 @@ disain.tk, 1 disanteimpianti.com, 0 disasterrific.tk, 1 disastertalkest.ga, 1 +disboard.org, 1 disbug.io, 1 disc.uz, 1 discarica.bari.it, 1 @@ -33263,6 +33186,7 @@ distribuidorveterinario.es, 1 distributed.cafe, 1 distributedsource.com, 1 distributedsystems.science, 1 +distributedweaknessfiling.org, 1 distributio.net, 1 distributore.it, 1 distributori.roma.it, 1 @@ -33287,8 +33211,7 @@ ditdot.hr, 1 ditec.sk, 1 diterzafra.tk, 1 ditex.ddns.net, 1 -ditfiorinicamargo.com.ar, 1 -diti.me, 1 +ditfiorinicamargo.com.ar, 0 dities.tk, 1 ditissaskia.nl, 1 dittvertshus.no, 1 @@ -33351,7 +33274,7 @@ dixie.com, 0 dixieweld.com, 1 dixmag.com, 1 dixoncountyne.gov, 1 -diyanet.nl, 1 +diyanet.nl, 0 diyanetruya.tk, 1 diyarbakirescmagazin.tk, 1 diycc.org, 1 @@ -33440,7 +33363,6 @@ djdarkz.tk, 1 djdavid98.art, 0 djddt.tk, 1 djdebayanofficial.ga, 1 -djdebodas.com, 1 djdennis.tk, 1 djdiego.tk, 1 djefsane.tk, 1 @@ -33480,7 +33402,6 @@ djlifemusic.tk, 1 djlinux.cz, 1 djlive.ga, 1 djlmk.tk, 1 -djlnetworks.co.uk, 1 djlogic.tk, 1 djlove.tk, 1 djluca.tk, 1 @@ -33520,7 +33441,6 @@ djselo.tk, 1 djshivbabu.tk, 1 djshox.tk, 1 djsina.tk, 1 -djsintl.com, 1 djsk.nl, 1 djskippy.tk, 1 djslash.tk, 1 @@ -33556,6 +33476,7 @@ dkeu.de, 1 dkgamers.tk, 1 dkids.com.br, 1 dkim-validator.com, 1 +dklao.com, 1 dkn.go.id, 1 dknoops.xyz, 1 dko-steiermark.ml, 1 @@ -33598,7 +33519,6 @@ dlmixcloud.com, 1 dlouwrink.nl, 0 dlp-demo.com, 1 dlrg-cux-ohz.de, 0 -dlrsp.org, 1 dlscomputers.com.au, 1 dlsolutions-inc.com, 1 dluxelab.com, 1 @@ -33766,7 +33686,6 @@ dobrodruzi.tk, 1 dobryautoskup.pl, 1 dobrynyastyle.ru, 1 dobryprezident.sk, 1 -doc-baza.ru, 1 doc-baza.tk, 1 doc.ai, 1 doc.new, 1 @@ -34157,7 +34076,6 @@ domprojects.com, 1 domreg.lt, 1 domsamogona.ru, 1 domscripting.com, 1 -domster.com, 1 domucmayintainha.com.vn, 1 domus-global.com, 1 domus-global.cz, 1 @@ -34205,7 +34123,6 @@ dondiabolo.com, 1 dondibogusky.com, 1 donec.tk, 1 donera.tk, 1 -doneva.ro, 1 donewhen.email, 1 donewhen.eu, 1 donewhen.net, 1 @@ -34328,7 +34245,6 @@ doradoscampeon.tk, 1 doraemonchile.tk, 1 doramamusic.gq, 1 doramiru.com, 1 -doranobi-fansub.id, 1 dorco.be, 1 dordtpas.nl, 1 dorfbrunnen.eu, 1 @@ -34341,7 +34257,6 @@ dorianmuthig.com, 1 doridian.de, 1 doridian.net, 1 dorier-digiplace.com, 1 -dorisdeluxe.com, 1 dorizonline.tk, 1 dorkface.tk, 1 dorly.blog, 1 @@ -34626,7 +34541,6 @@ drach.xyz, 1 dracheisolation.tk, 1 drachenleder.de, 1 dracisvet.cz, 1 -dracoon.team, 1 dracox.com, 0 dracula.city, 1 draft.cards, 1 @@ -34660,10 +34574,12 @@ dragonballzfigures.com, 1 dragonbike.by, 1 dragonboat.ph, 1 dragonboatfestival.tk, 1 +dragoncave.me, 1 dragoncityhack.tips, 1 dragonclean.gr, 1 dragondekomodo.com, 1 dragonesymazmorras.tk, 1 +dragonfly.co.uk, 1 dragonflycms.cf, 1 dragonfosfor.be, 1 dragonheartsrpg.com, 1 @@ -34948,6 +34864,7 @@ drivya.ch, 1 drivya.com, 1 drivya.nl, 1 driwch.tk, 1 +drixn.com, 0 drixn.info, 1 drixn.net, 1 drizz.com.br, 0 @@ -34959,7 +34876,6 @@ drjulianneil.com, 1 drjungspine.com, 1 drkansal.com, 1 drkashany.ir, 1 -drkathrynhall.com, 1 drkhsh.at, 1 drkmtrx.xyz, 1 drlandis.com, 1 @@ -35115,7 +35031,6 @@ drybjed.net, 1 drybysuperior.com, 1 drycreekphoto.com, 1 drydensfairfax.com, 1 -drydor.com, 1 drydrydry.com, 1 dryerrepairaustin.com, 1 dryerventcleaningarlington.com, 1 @@ -35324,10 +35239,8 @@ duijf.info, 1 duijf.io, 1 duijfathome.nl, 1 duiker101.tk, 1 -duitku.xyz, 1 duitse-herders.tk, 1 duizhangs.tk, 1 -dujsq.com, 1 dukan-recepty.ru, 1 dukatek.cz, 1 duke-nukem.tk, 1 @@ -35667,7 +35580,6 @@ dyremyhr.no, 1 dyrenesverden.no, 1 dyrkar.com, 1 dyrkar.se, 1 -dys-coaching.com, 1 dysautonomia-postsyndrome.com, 1 dyscalculia-blog.com, 1 dysco.tk, 1 @@ -35837,7 +35749,6 @@ e-virtus.com, 1 e-webos.com, 1 e-wishlist.net, 1 e-worksmedia.com, 0 -e-x-p-l-o-r-a-d-o-r-e-s.com, 1 e-yachts.tk, 1 e-zine.tk, 1 e.gg, 1 @@ -36376,7 +36287,6 @@ eatsleeprepeat.net, 1 eatson.com, 1 eatz-and-treatz.com, 1 eaucole.com, 1 -eaucube.com, 1 eaugalliediscountpharmacy.com, 1 eaugenethomas.cf, 1 eautocollision.com, 1 @@ -36420,7 +36330,6 @@ ebci-nsn.gov, 1 ebcired-nsn.gov, 1 eben18.net, 1 ebenda.org, 1 -ebenezersbarnandgrill.com, 1 ebenisterie-de-villenouvelle.fr, 1 ebenvloedaanleggen.nl, 1 ebermannstadt.de, 0 @@ -36570,7 +36479,6 @@ ecobrotherss.com, 1 ecocanada.jobs, 1 ecoccinelles.ch, 0 ecoccinelles.com, 0 -ecoconut.org, 1 ecocreativity.org, 1 ecocuisinedesign.com, 1 ecodedi.com, 1 @@ -36589,7 +36497,6 @@ ecogarden.design, 1 ecogen.com.au, 1 ecogen.net.au, 1 ecohaus-pinklao-salaya.com, 1 -ecohaus-wongwaen-lumlukka.com, 1 ecoheatcool.co.uk, 1 ecohimdv.tk, 1 ecohomebuild.org, 1 @@ -36774,7 +36681,6 @@ edilservizi.it, 1 edilservizivco.it, 1 edirnehaber.tk, 1 edirnehaberleri.tk, 1 -edisa.xyz, 1 ediscomp.sk, 1 edisonchee.com, 1 edisongroup.ru, 1 @@ -36925,7 +36831,6 @@ edwinlinda.tk, 1 edwinlugo.gq, 1 edwinmattiacci.com, 1 edwinroelvink.tk, 1 -edwinyrkuniversity.de, 1 edxg.de, 0 edxn.de, 1 edyhenry.tk, 1 @@ -37190,6 +37095,7 @@ eihaikyo.com, 1 eiji.fr, 1 eikenskaden.tk, 1 eikentafels.nl, 1 +eikerposten.no, 0 eikones.tk, 1 eikounoayumi.jp, 1 eilhan.com, 1 @@ -37354,6 +37260,7 @@ elcanonjusto.tk, 1 elcarajo.tk, 1 elchamandelaprosperidad.org, 1 elcin.tk, 1 +elcirculo.mx, 1 elcontadorsac.com, 1 elcontrol.tk, 1 elcosmos.tk, 1 @@ -37420,8 +37327,7 @@ electriccitysf.com, 1 electricconejovalley.com, 1 electricdosvientos.com, 1 electricdreams.xyz, 1 -electricfencemidrand.co.za, 1 -electricfenceroodepoort.co.za, 1 +electricfencingballito.co.za, 1 electricfireplaces.tk, 1 electricgatemotorsalberton.co.za, 1 electricgatemotorsballito.co.za, 1 @@ -37432,28 +37338,20 @@ electrichiddenhills.com, 1 electrichome.fr, 0 electricianagoura.com, 1 electricianagourahills.com, 1 -electricianboksburg24-7.co.za, 1 electriciancalabasas.com, 1 electriciancamarillo.com, 1 electricianconejovalley.com, 1 electriciandosvientos.com, 1 -electricianedenvale24-7.co.za, 1 electricianforum.co.uk, 1 -electriciangermiston24-7.co.za, 1 electricianhiddenhills.com, 1 -electriciankemptonpark24-7.co.za, 1 electricianlakesherwood.com, 1 -electricianlalucia.co.za, 1 electricianmalibu.com, 1 -electricianmidrand24-7.co.za, 1 electricianmoorpark.com, 1 electriciannewburypark.com, 1 electricianoakpark.com, 1 electricianpacificpalisades.com, 1 -electricianrandburg24-7.co.za, 1 electriciansimivalley.com, 1 electricianthousandoaks.com, 1 -electricianumhlangarocks.co.za, 1 electricianwestlakevillage.com, 1 electricien-44.fr, 1 electricienasnieres.fr, 1 @@ -37475,7 +37373,6 @@ electrocity.ie, 1 electrocomplect.com.ua, 1 electrodomesticos.tk, 1 electrodomesticosmiro.com, 1 -electrodvig.ru, 1 electroforum.tk, 1 electrolandia.tk, 1 electrolivefest.spb.ru, 1 @@ -37760,7 +37657,6 @@ elithub.com, 1 elitsa.gr, 1 elivenet.com, 1 elixi.re, 1 -elixir.bzh, 0 elizabethbuitrago.com, 1 elizabethgreenfield.com, 1 elizabethmacdonaldbooks.com, 1 @@ -37776,7 +37672,6 @@ elkhaus.de, 1 elkim.cz, 1 elkmotel.at, 1 elkollege.ru, 1 -elkoy.org, 1 elkvalley-nsn.gov, 1 ell-net.tokyo, 1 ella-kwikmed.com, 0 @@ -37912,6 +37807,7 @@ elto.ch, 0 eltonpastilha.me, 1 eltormo.tk, 1 eltransportquevolem.org, 1 +eltrompomedia.com, 1 eltron.com.ua, 1 eltuito.tk, 1 elucron.com, 1 @@ -37971,6 +37867,7 @@ emanol.co.uk, 1 emanuel.photography, 1 emanuela-gabriela.co.uk, 0 emanuelachiriaco.tk, 1 +emanuelduss.ch, 1 emanuelemazzotta.com, 1 emaps.tk, 1 emaratalyoum.com, 1 @@ -38109,6 +38006,7 @@ emmanuelorocker.com, 1 emmasfunerals.uk, 1 emmastarr.net, 1 emmastree.com, 1 +emmausmexico.com, 1 emmawatsonking.tk, 1 emmawatsononline.tk, 1 emmdy.com, 0 @@ -38180,7 +38078,6 @@ empoweren.com, 1 empowernation.org, 1 empoweryou.ca, 1 emprechtinger.com, 1 -empreex.com, 1 emprego.pt, 1 empregosrj.com, 1 empreinte.ca, 1 @@ -38368,7 +38265,6 @@ energydistributorsllc.com, 1 energydrinkblog.de, 1 energyefficientservices.com, 1 energyelephant.com, 1 -energyflows.ie, 1 energyforum.tk, 1 energygenie.com.au, 1 energygroup.gq, 1 @@ -38470,7 +38366,6 @@ englishlol.com, 1 englishouse.tk, 1 englishphonopass.com, 1 englishtofrench.eu, 1 -englishwithmrsann.com, 0 englishyamal.ru, 0 engraffo.com, 1 engrama.tk, 1 @@ -38844,6 +38739,7 @@ equityflows.com, 1 equityloupe.com, 1 equityloupe.org, 1 equityloupe.ru, 1 +equityset.com, 1 equitytrack.co, 1 equityyes.org, 1 equivid.ga, 1 @@ -38875,6 +38771,7 @@ erbt.tk, 1 erciyesspor.tk, 1 erclab.kr, 1 erclaim.com, 1 +erctra.com, 1 erdethamburgeronsdag.no, 1 ereader.uno, 1 erectiepillenwinkel.nl, 1 @@ -38941,7 +38838,6 @@ eriix.org, 1 erik-stomp.de, 1 erikaepedro.ga, 1 erikbraam.com, 1 -erikbraam.nl, 1 erikheemskerk.nl, 1 erikhubers.nl, 1 erikkruithof.nl, 1 @@ -38990,7 +38886,6 @@ eroscomixitalia.tk, 1 erosofia.tk, 1 eroticgirlfriend.com, 1 eroticlist.com, 1 -eroticsexy.com.br, 1 eroticsochi.com, 1 erotikstahrtseite.cf, 1 erotikstahrtseite.ga, 1 @@ -39170,7 +39065,6 @@ escortlistings.eu, 1 escortlistings.fr, 1 escortlistings.ph, 1 escortlistingsuk.co.uk, 1 -escortmantra.com, 1 escorts.works, 1 escortsontop.co.uk, 1 escortz.gq, 1 @@ -39233,6 +39127,7 @@ eskdale.net, 1 eskiegaming.com, 1 eskimosboards.ga, 1 eskisehirhaberleri.tk, 1 +esko.bar, 1 eskola.cc, 1 eskriett.com, 0 eskritt.ca, 1 @@ -39260,7 +39155,7 @@ esoterikerforum.de, 1 espace-caen.fr, 0 espace-gestion.fr, 1 espace-habitat-francais.fr, 1 -espace-orenda.ch, 0 +espace-orenda.ch, 1 espace-vet.fr, 1 espace.network, 1 espace.spb.ru, 0 @@ -39341,7 +39236,6 @@ essenciasparis.com.br, 1 essentialinteriors.ga, 1 essentialoils.nl, 1 essentialoilsimports.com, 1 -essentialstudiomanager.com, 1 essentiel-physique.com, 1 essentry.com, 1 essentta.com, 1 @@ -39883,6 +39777,7 @@ everly.market, 1 evermade.fi, 1 evermarkstudios.com, 1 evernaut.com, 1 +everpcpc.com, 1 everready.tk, 1 everseo.tk, 1 evertonarentwe.com, 1 @@ -39939,6 +39834,7 @@ eviadc.com, 1 eviction.cf, 1 evidecor.com.br, 1 evidence-based.review, 1 +evidencebased.net, 1 evidenceusa.com.br, 1 evidenciamidiasdigitais.com.br, 1 evidencija.ba, 1 @@ -39977,7 +39873,6 @@ evlilikilan.com, 1 evlqa1sp1tzb05zo-reoo0vhj9a1t5pousfudnkg.com, 0 evntage.com, 1 evo-ai.com, 1 -evobox.store, 1 evoco.vc, 1 evodation.com, 1 evodation.org, 1 @@ -40083,6 +39978,7 @@ examlab.tk, 1 exampleessays.com, 1 examroll.fr, 1 examroll.io, 1 +examroo.nl, 1 examsite.tk, 1 examsmate.in, 1 examticket.tk, 1 @@ -40133,7 +40029,6 @@ excite.co.id, 1 exciters.tk, 1 excitingbulgaria.com, 1 excitoninteractive.com, 1 -exclusive-okno.ru, 1 exclusive-world.tk, 1 exclusivebeautystudio.com.au, 1 exclusivebouncycastles.co.uk, 1 @@ -40368,7 +40263,6 @@ externalapps.com, 1 externer-datenschutzbeauftragter-bochum.de, 1 extienso.com, 1 extinctionrebellion.de, 1 -extintormadrid.com, 1 extirosli.ga, 1 extmatrix.com, 0 extrabusiness.tk, 1 @@ -41085,7 +40979,6 @@ fansale.de, 1 fanschic.com, 1 fansided.com, 1 fansta.jp, 1 -fanstuff.ru, 1 fantacast.it, 1 fantasiapainter.com, 1 fantasiatravel.hr, 1 @@ -41358,7 +41251,6 @@ fateitalia.it, 1 fatetx.gov, 1 fatfrog.nl, 1 fatfueled.com, 1 -fathalla.com, 1 fatherhood.gov, 1 fatidique.com, 1 fatiguefree.com, 1 @@ -41452,7 +41344,6 @@ fboerman.nl, 1 fbrief.org, 1 fbsbx.com, 1 fbthirdpartypixel.com, 1 -fbtholdings.com, 1 fburl.com, 1 fbwat.ch, 1 fbwifi.com, 1 @@ -41596,6 +41487,7 @@ feedingmynewbaby.com, 1 feedkovacs.hu, 1 feedough.com, 1 feedstringer.com, 1 +feedthebot.com, 1 feedthefood.com, 1 feedthegreek.tk, 1 feedtube.com, 1 @@ -41677,7 +41569,6 @@ felipesexto.tk, 1 felipesuri.com, 0 feliscatus.tk, 1 felistirnavia.sk, 1 -felitecn.com, 1 felix-amez.tk, 1 felix-hirner.de, 1 felix.vn, 1 @@ -41797,7 +41688,6 @@ ferienhaus-polchow-ruegen.de, 0 ferienhaus-urlaub-danemark.de, 1 ferienhausprovence.ch, 1 ferienstpeter.de, 1 -ferienwohnung-becks.de, 1 ferienwohnung-hafeninsel-stralsund.de, 1 ferienwohnung-wiesengrund.eu, 1 ferienwohnungen-lastminute.de, 1 @@ -41975,7 +41865,6 @@ ffzeven.de, 1 fgdc.gov, 1 fgeiger.dnshome.de, 1 fggpay.com, 1 -fgsv-heureka.de, 1 fh-x.de, 1 fh14.com, 1 fh169.cc, 1 @@ -42221,7 +42110,6 @@ financedraft.com, 1 financeguest.com, 1 financeinterface.tk, 1 financejobs.ch, 1 -financeknown.com, 1 financelong.com, 1 financemain.com, 1 financenews.tk, 1 @@ -42413,6 +42301,7 @@ firebirdrangecookers.com, 1 firebounty.com, 1 fireboxfood.com, 1 firebrandchurch.com, 1 +firebugmusic.com, 1 firecask.com, 1 firechip.cc, 1 firechip.srl, 1 @@ -42489,7 +42378,6 @@ first-time-offender.com, 1 first.org, 1 first4it.com, 1 firstbaptistchurchofchrist.org, 1 -firstbaptistjeff.org, 1 firstbooks.ml, 1 firstcentralsavings.com, 1 firstchoicebouncycastlehire.co.uk, 1 @@ -42505,7 +42393,6 @@ firstcolonyengraving.com, 1 firstcontact.cf, 1 firstderm.com, 1 firstdorsal.eu, 1 -firstdry.com.br, 1 firstechpayments.com, 1 firstfinca.de, 1 firstgov.gov, 1 @@ -42629,7 +42516,6 @@ fiusi.net, 1 five.sh, 1 fiveboosts.xyz, 1 fivefortheroad.com, 1 -fiveloaves.life, 1 fiveminute.tk, 1 fivemnetwork.nl, 1 fivepedia.tk, 1 @@ -42719,7 +42605,6 @@ flaglercounty.gov, 1 flaglerelections.gov, 1 flagma.by, 1 flagma.pl, 1 -flagma.ru, 1 flagma.ua, 1 flagmanfishing.by, 1 flagpedia.asia, 1 @@ -43240,7 +43125,7 @@ fndout.com, 1 fneon.eu, 1 fnerk.org, 1 fnews.tk, 1 -fnh-expert.net, 0 +fnh-expert.net, 1 fnkr.net, 1 fnof.ch, 1 fnordserver.eu, 1 @@ -43326,7 +43211,6 @@ fondation-machpal.org, 1 fondationo2.ch, 1 fondationwiggli.ch, 1 fondbaikal.ml, 1 -fondy.ru, 1 fondy.ua, 1 foneapk.com, 1 foneo.com, 1 @@ -43567,7 +43451,6 @@ fordeetv.com, 1 fordlibrarymuseum.gov, 1 fordshop.by, 0 fordtrac.com.br, 1 -foreachcode.com, 1 forecastapp.net, 1 forecastcity.com, 1 forecastera.com, 1 @@ -43847,7 +43730,6 @@ fossewayflowers.co.uk, 1 fossewayflowers.com, 1 fossewaygardencentre.co.uk, 0 fossildlp.com, 1 -fossilfreeyale.org, 1 foster.ga, 1 fosterpark.ca, 1 fotbal-dubina.tk, 1 @@ -44115,7 +43997,6 @@ francescopalazzo.com, 1 francescopandolfibalbi.it, 1 francescorenna.tk, 1 francescosiciliano.tk, 1 -francescoyatesfansite.com, 1 francesfluente.cf, 1 franceskivillas.tk, 1 francetraceur.fr, 1 @@ -44175,7 +44056,6 @@ franklincountyflorida.gov, 1 franklincountyia.gov, 1 franklincountyny.gov, 1 franklinhua.com, 1 -frankopol-sklep.pl, 1 franksiler.com, 1 frankslaughterinsurance.com, 1 frankthetank.biz, 1 @@ -44388,7 +44268,6 @@ freefonts.ga, 1 freeform4u.de, 1 freeformconstruction.com.au, 1 freegame-mugen.jp, 1 -freegamesmac.com, 1 freegutters.com, 1 freehdporn.tv, 1 freehotline.ru, 1 @@ -44627,7 +44506,6 @@ friedsamphotography.com, 1 friedstechnology.com, 1 friedstechnology.nl, 1 friedstechnology.online, 1 -friedzombie.com, 1 friedzombie.nl, 1 friedzombie.online, 1 friendbot.ml, 1 @@ -44746,6 +44624,7 @@ frontline.cloud, 1 frontrangefence.com, 1 frontrouge.fr, 1 froogo.co.uk, 1 +fropky.com, 1 frosinonetoday.it, 1 frosoku.com, 1 frostfire.tk, 1 @@ -45112,6 +44991,7 @@ funktionevents.co.uk, 1 funkydealz.no, 1 funkyflo.tk, 1 funline.tk, 1 +funloaded.org.ng, 1 funlook.ga, 1 funlook.tk, 1 funmountaincanyon.com, 1 @@ -45251,7 +45131,6 @@ futrou.com, 0 futurama-il.tk, 1 future-dance.tk, 1 futureaudiographics.com, 0 -futurefire.de, 1 futurefive.asia, 1 futurefive.co.nz, 1 futurefive.com.au, 1 @@ -45865,7 +45744,6 @@ gangrulz.tk, 1 gangstafier.tk, 1 gangstaflow.tk, 1 gangsterz.tk, 1 -ganjinedanesh.com, 1 gankel.nl, 1 gannettinnovation.com, 1 ganodermatiendaonline.com, 1 @@ -45874,7 +45752,6 @@ gantt-chart.com, 1 ganyouxuan.com, 1 ganzgraph.de, 1 ganztagplus.de, 1 -gao.ci, 1 gao.rocks, 1 gaodebo.com, 1 gaoinnovation.gov, 1 @@ -46149,7 +46026,6 @@ gdoce.es, 0 gdomusicaeventi.tk, 1 gdpr-pohotovost.cz, 1 gdpr.fr, 1 -gdraco.com, 1 gdretrofunk.cf, 1 gdv.me, 0 gdz.tv, 1 @@ -46223,6 +46099,7 @@ geekowl.com, 1 geekpad.com, 1 geekport.net, 1 geeks.berlin, 1 +geeks.lgbt, 0 geeks.one, 0 geeksforrent.com, 1 geekshirts.cz, 1 @@ -46320,6 +46197,7 @@ gembet99.com, 1 gemeentestein.nl, 1 gemeinde-sonnen.de, 1 gemeinderatswahl2020.de, 1 +gemeinfreie-lieder.de, 1 gemelen.net, 1 gemforex.pro, 1 gemforex.top, 1 @@ -46389,7 +46267,6 @@ generationgoat.com, 1 generationnext.pl, 0 generationr.nl, 1 generationsweldom.com, 1 -generator.creditcard, 1 generatorkodowkreskowych.pl, 1 generatormag.com, 1 generatormusic.tk, 1 @@ -46712,7 +46589,6 @@ germanytravel.ga, 1 germanytravelguide.ml, 1 germfr.ee, 1 germinalekeren.tk, 1 -germistonrubbleremovals.co.za, 1 germistry.com, 1 gernert-server.de, 1 gero.io, 1 @@ -46789,7 +46665,6 @@ getbrain.tk, 1 getbreadcrumbs.com, 1 getbrowink.com, 1 getbutterfly.com, 1 -getby.download, 1 getcalc.com, 1 getcarina.com, 1 getcloak.com, 0 @@ -46825,7 +46700,6 @@ getgeek.io, 1 getgeek.no, 1 getgeek.nu, 1 getgeek.pl, 1 -getgeek.se, 1 gethome.ru, 1 gethost.co.zw, 1 gethttpsforfree.com, 1 @@ -46925,6 +46799,7 @@ getyourstartcareers.com, 1 geulis.tk, 1 geus-okna.eu, 1 gevelreinigingtiel.nl, 1 +gevme.com, 1 gewel.io, 1 gewinn.tk, 1 gexobiz.tk, 1 @@ -47018,7 +46893,6 @@ gheorghe-sarcov.ga, 1 gheorghesarcov.ga, 1 gheorghesarcov.tk, 1 ghettonetflix.de, 1 -ghfip.com.au, 1 ghgkhalsaschool.com, 1 ghiafeh.com, 0 ghienlamdep.com, 1 @@ -47056,7 +46930,6 @@ giac.net, 1 giac.org, 1 giacchettaauto.it, 1 giacomopelagatti.it, 1 -giacomorosaldi.com, 1 giakki.eu, 0 gialupa.tk, 1 giancarlomarino.com, 1 @@ -47150,7 +47023,6 @@ gigawa.lt, 1 gigawattz.com, 1 giggletotz.co.uk, 1 gigharborwa.gov, 1 -gigiena-ruk.ru, 1 gigiscloud.servebeer.com, 1 giglink.club, 1 gigloog.tk, 1 @@ -47169,7 +47041,6 @@ gilion.tk, 1 gilium.com, 1 gill-swerts.tk, 1 gillesmorelle.com, 0 -gillettechampions.it, 1 gillettepromociones.com, 1 gillfamily.de, 1 gillmanandsoame.co.uk, 1 @@ -47295,7 +47166,6 @@ gitgaattreaty.ca, 1 github.blog, 1 github.com, 1 githubapp.com, 1 -gitla.in, 1 gitlab-apps.com, 1 gitns.com, 1 gitns.dev, 1 @@ -47435,7 +47305,6 @@ glaswolsite.tk, 1 glaucoma.uk, 1 glavfundament.ru, 1 glavred.info, 1 -glavsudexpertiza.ru, 1 glazedmag.fr, 1 glazkova.ga, 1 glcastlekings.co.uk, 1 @@ -47599,6 +47468,7 @@ globologic.com, 1 globotech.be, 1 globotur.de, 1 globowood.ml, 1 +globuli-info.de, 1 globus-plus.ml, 1 globustrust.tk, 1 gloeckle-gruppe.de, 1 @@ -47607,6 +47477,7 @@ gloning.name, 1 glont.net, 1 gloomy.tk, 1 gloomyspark.com, 1 +gloria.tv, 1 glorybee.com, 1 glorycamrealty.com, 1 gloryholefucking.com, 1 @@ -48099,7 +47970,6 @@ googleandroid.cz, 1 googlehits.com, 1 googlekun.tk, 1 googlemail.com, 0 -googlepinyin.com, 1 googleplex.com, 1 googlerecetas.com, 1 googleshortcuts.org, 1 @@ -48358,7 +48228,6 @@ gps.com.br, 1 gpsarena.ro, 1 gpsblackbox.com, 1 gpsfix.cz, 1 -gpsmith.tech, 1 gpsnavigator.tk, 1 gpsolarpanels.com, 1 gpspolis.nl, 1 @@ -48628,7 +48497,6 @@ graysonsmith.co.uk, 1 graysquare.com, 1 grazetech.com, 1 grazhdanskij-advokat.tk, 1 -grazitti.com, 1 grc.com, 0 grceurope.eu, 1 grday.com, 1 @@ -48907,7 +48775,6 @@ grillidellostretto.tk, 1 grilllness.com, 1 grilltanksplus.com, 1 grillteller42.de, 1 -grimcalc.com, 1 grimdarkterrain.com, 1 grimetoshinecleaners.co.uk, 1 grimm.cz, 1 @@ -49136,9 +49003,7 @@ gruzoperevozki.ml, 1 gruzoperevozki.tk, 1 grwebdesigns.gr, 1 gryffin.ga, 1 -gryffin.ml, 1 gryffin.tk, 1 -gryphonfinancialsolutions.com, 1 gryphzia.cf, 1 gryte.tk, 1 grytics.com, 1 @@ -49190,7 +49055,6 @@ gtdgo.com, 0 gtestepourvous.fr, 1 gti.cx, 1 gtlaun.ch, 1 -gtlfsonlinepay.com, 1 gtmetrix.com, 1 gtmhub.com, 1 gtn-pravda.ru, 1 @@ -49455,6 +49319,7 @@ gutegutscheine.ch, 1 gutegutscheine.de, 1 gutendag.ga, 1 gutetexte.tk, 1 +guthabenkarten-billiger.de, 1 gutieli.com, 1 gutools.co.uk, 1 guts.me, 1 @@ -49527,7 +49392,6 @@ gwmjordan.com, 1 gwo24.pl, 1 gworld.cf, 1 gwrtech.com, 1 -gwsec.co.uk, 1 gwthub.com, 1 gwy15.com, 1 gwynfryncottages.com, 1 @@ -49727,7 +49591,6 @@ hackendoz.com, 1 hackengine.ga, 1 hackenkunjeleren.nl, 1 hackenturet.dk, 1 -hacker.club, 1 hacker.deals, 1 hacker.holiday, 1 hacker.im, 1 @@ -49759,6 +49622,7 @@ hackerone.net, 1 hackerone.org, 1 hackeronte.tk, 1 hackers-networks.tk, 1 +hackerspace-ntnu.no, 1 hackerspace.rocks, 1 hackerstory.tk, 1 hackersw0rld.tk, 1 @@ -49828,7 +49692,6 @@ hagiati.gr, 1 hagix.tk, 1 hagoyvivo.com, 1 hagskold.se, 1 -hagueaustralia.com.au, 1 haguichi.net, 1 haha-raku.com, 1 haha.nl, 1 @@ -50093,7 +49956,6 @@ hanisirfan.cf, 1 hanjl.com, 1 hanjuapp.com, 1 hanke.se, 1 -hankoreas.com, 1 hankr.com, 1 hanksacservice.com, 1 hanksservice.com, 1 @@ -50357,6 +50219,7 @@ harrimantn.gov, 1 harringtonca.com, 1 harrisandharris.com.au, 1 harrisconsulting.ie, 1 +harrisexteriors.com, 1 harrisonar.gov, 1 harrisoncountyms.gov, 1 harrisoncountymschanceryclerk.gov, 1 @@ -50701,7 +50564,6 @@ heade.cf, 1 headforcloud.com, 1 heading2australia.ga, 1 headlineclub.gr, 1 -headlinenews.co, 1 headofhair.pl, 1 headphonesinear.tk, 1 headshotharp.de, 1 @@ -51155,7 +51017,6 @@ heftkaufen.de, 1 heg.ge, 1 hegartymaths.com, 1 hegdahl.tk, 1 -hegen.cz, 0 hegenshop.de, 1 heh.ee, 1 heha.co, 0 @@ -51179,7 +51040,6 @@ heidns.cn, 1 heigeyuan.com, 1 heightselectrical.com.au, 1 heijdel.nl, 1 -heijenoord.net, 1 heijmans.blog, 1 heijmans.email, 1 heijmans.io, 1 @@ -51378,7 +51238,6 @@ hemaroids.tk, 1 hematoonkologia.pl, 1 hemdal.se, 1 hemdian.com, 1 -hemingwayfp.co.uk, 1 hemlibra.co.il, 1 hemnet.se, 1 hemorroi.ga, 1 @@ -51442,7 +51301,6 @@ henrymercado.tk, 1 henryocallaghan.com, 1 henryphan.com, 0 henrysautodetail.com, 1 -henrywithu.com, 1 hens.ch, 1 hensonphotography.com.au, 1 hentai.baby, 1 @@ -51801,7 +51659,6 @@ hifly.aero, 1 hifly.com.tw, 1 hifumi.us, 1 hig.gov, 1 -higea.mx, 1 higgsboson.tk, 1 higgstools.org, 1 high-flying.co.uk, 1 @@ -52341,7 +52198,7 @@ hokusya.com, 1 holacannx.com, 1 holacbdoils.com, 1 holadinero.es, 0 -holadinero.mx, 1 +holadinero.mx, 0 holainternet.tk, 1 holboxwhalesharktours.com, 1 holbrookaz.gov, 1 @@ -52436,7 +52293,6 @@ holytransaction.com, 1 holyubofficial.net, 1 holywhite.com, 1 holywr.it, 1 -holz.nu, 1 holzed.com, 1 holzschutz-holzbearbeitung.de, 1 holzspielzeug-shop.ch, 1 @@ -52453,7 +52309,6 @@ home-page.xyz, 1 home-portal.tk, 1 home-remedies.tk, 1 home-sagita.tk, 1 -home-style.hu, 1 homeable.io, 1 homeadvice.ga, 1 homeadvice.tk, 1 @@ -52885,7 +52740,6 @@ horoscopimages.tk, 1 horoscopos-amor.com, 0 horotoday.tk, 1 horozo.com, 1 -horrell.ca, 1 horrendous-servers.com, 1 horror-forum.de, 1 horrorfreaks.tk, 1 @@ -53288,6 +53142,7 @@ hqwebhosting.tk, 0 hqy.moe, 1 hr-automation.eu, 1 hr-clan.tk, 1 +hr-intranet.com, 0 hr-nielsen.tk, 1 hr-praemien-santander.de, 1 hr-tech.store, 1 @@ -53303,7 +53158,6 @@ hrbrt.co, 1 hrbrt.nl, 1 hrcrew.com.au, 1 hrdns.de, 0 -hrebecek.cz, 1 hreflang.info, 1 hric.com.mx, 1 hristijanspirovski.tk, 1 @@ -53857,6 +53711,7 @@ hypemgmt.com, 1 hyper-matrix.org, 1 hyper-text.org, 1 hyper.ai, 1 +hyper.lol, 1 hyperalgesia.com, 1 hyperautomotive.com.au, 1 hyperblast-universe.tk, 1 @@ -53911,7 +53766,6 @@ hyrin.tk, 1 hyrius.net, 1 hyrulekingdom.tk, 1 hys-te-ria.tk, 1 -hysh.jp, 1 hysolate.com, 1 hysquad.it, 1 hystats.net, 1 @@ -53963,7 +53817,6 @@ i-r-a.tk, 1 i-red.info, 1 i-scream.space, 1 i-sports.cz, 1 -i-stats.net, 1 i-tm.com.tw, 1 i-tools.ru, 1 i-verbi.it, 1 @@ -54153,7 +54006,6 @@ ibykos.com, 1 ic3.gov, 1 icafecash.com, 1 icams-portal.gov, 1 -icanhas.report, 1 icanhazpass.com, 1 icanseeyou.tk, 1 icap.my, 1 @@ -54204,6 +54056,7 @@ icewood-bois.com, 1 ich-finde-wikipedia-toll.tk, 1 ich-hab-die-schnauze-voll-von-der-suche-nach-ner-kurzen-domain.de, 1 ich-tanke.de, 1 +icharme.fr, 1 ichasco.com, 1 ichbinein.org, 1 ichbinkeinfreier.com, 1 @@ -54768,6 +54621,7 @@ ilasoft.net, 1 ilawgix.com, 1 ilazycat.com, 1 ilbiglietto24.eu, 1 +ilbiscottificiodipamparato.it, 1 ilcourthelp.gov, 1 ilctucson.com, 1 ildepu.tk, 1 @@ -54974,7 +54828,6 @@ imbushuo.net, 1 imck.ml, 1 imcreative.ro, 1 imcsi.cn, 1 -imcsx.co, 1 imdb.com, 1 imdhd.org, 1 ime-a-tolerancia-eredmenye.club, 1 @@ -55185,7 +55038,6 @@ imprezzor.com, 1 imprimante-3d-store.fr, 1 improfestival.ee, 1 improklinikken.dk, 1 -improv.ee, 1 improvebusinessonline.info, 1 improved-madness.de, 1 improvenerg.com, 1 @@ -55225,7 +55077,6 @@ in-depthgame.reviews, 1 in-depthoutdoors.com, 1 in-flames.com, 1 in-love.tk, 1 -in-ua.com, 1 in.search.yahoo.com, 0 in.xero.com, 0 in10tion.com, 0 @@ -55274,6 +55125,7 @@ includesubdomains.preloaded.test, 1 includesubdomains2.preloaded.test, 1 inclusion.tn, 1 inclusiv.nl, 0 +incnjp.com, 1 incoherent.ch, 1 incomeplus.tk, 1 incometaxbengaluru.org, 1 @@ -55322,7 +55174,6 @@ indexmarket.gq, 1 indexmarket.ml, 1 indexpert.es, 1 indexsalaire.be, 1 -indexyz.me, 1 india-ennenga.ga, 1 indiaexamresult.in, 1 indiaflowermall.com, 1 @@ -56826,7 +56677,6 @@ iraq4u.tk, 1 iraqinews.ga, 1 iraqtop.tk, 1 irareturners.ga, 1 -irasandi.com, 1 irayo.net, 1 irbe.ch, 1 irbisweb.com, 1 @@ -56877,6 +56727,7 @@ iris-elements.com, 1 iris-insa.com, 1 iris.gotdns.com, 1 iriscddg.com, 1 +irische-segenswuensche.info, 1 irisdesideratum.com, 1 irisdesign.com, 1 irish.dating, 1 @@ -56893,7 +56744,6 @@ irisws-development.co.uk, 1 irisws-staging.co.uk, 1 irisws-testing.co.uk, 1 iritual.ru, 0 -irkfap.com, 1 irkutsk-studygood.ga, 1 irkutsk38.tk, 1 irland-firma.com, 1 @@ -57251,7 +57101,6 @@ it-com.ga, 1 it-ebook.ml, 1 it-enthusiasts.tech, 1 it-expert.tk, 1 -it-faul.de, 1 it-inside.ch, 1 it-jobbank.dk, 1 it-kron.de, 1 @@ -57377,6 +57226,7 @@ ithakama.cz, 1 ithenrik.com, 1 ithinc.net, 1 ithjalpforetag.se, 1 +itidying.com, 1 itikon.com, 1 itilo.de, 1 itioc10.tk, 1 @@ -57541,7 +57391,6 @@ ivantedesco.tk, 1 ivanwolf.ga, 1 ivanya.tk, 1 ivanzorin.cf, 1 -ivaoru.org, 1 ivelop.me, 1 ivendi.com, 1 ivermectin.gq, 1 @@ -57610,7 +57459,6 @@ iww.me, 1 iww.mx, 1 ix8.ru, 0 ixaris.com, 1 -ixds.org, 1 ixiatiao.com, 1 ixit.cz, 1 ixplayer.com, 1 @@ -57671,6 +57519,7 @@ j-harrison-media.co.uk, 1 j-harrison.co.uk, 1 j-k-fischer-verlag.de, 1 j-l.pw, 1 +j-maxton.de, 0 j-navi.com, 1 j-ph.ovh, 1 j-robertson.com, 1 @@ -57811,6 +57660,7 @@ jackrusselterrier.com.br, 1 jacksanalytics.com, 1 jacksball.com, 1 jacksfeestverhuur.nl, 1 +jackson-quon.com, 1 jacksoncountyfl.gov, 1 jacksonhu.com, 1 jacksonville.gov, 1 @@ -57851,6 +57701,7 @@ jacquesfrantz.com, 1 jaculus.eu, 1 jacuzziprozone.com, 1 jadara.info, 1 +jadaun.com, 1 jadchaar.me, 1 jadeannehunt.co.za, 1 jadedmonkey.tk, 1 @@ -58018,6 +57869,7 @@ jamieweb.net, 1 jamjestsimon.pl, 1 jammucake.com, 1 jammysplodgers.co.uk, 1 +jamonsilva.com, 1 jamstallt.se, 1 jamstatic.fr, 1 jamusa.tk, 1 @@ -58121,15 +57973,11 @@ japanwatches.xyz, 1 jape.today, 1 japlin.io, 1 japlin.tk, 1 -japonyol.net, 1 jaquelin.tk, 1 jar.cool, 1 jar.io, 0 jaraizaboli.tk, 1 jaramilloconstrucciones.pe, 1 -jarcasting.com, 1 -jarcasting.in, 1 -jarcasting.ru, 1 jardigital.com.au, 1 jardinderline.ch, 1 jardineras.online, 1 @@ -58247,6 +58095,7 @@ javiersanchez.tk, 1 javiscoffee.com, 1 javitron.tk, 1 javleech.com, 1 +javmobile.net, 1 javorina.tk, 1 javsod.top, 1 jawharati.tk, 1 @@ -58284,7 +58133,7 @@ jayspage.tk, 1 jaytx.com, 1 jayveel.nl, 1 jayxon.com, 1 -jayxu.com, 1 +jayxu.com, 0 jazerxx.com, 1 jazminguaramato.com, 1 jazz-alliance.com, 1 @@ -58327,6 +58176,7 @@ jcai.dk, 1 jcaicedo.com, 1 jcaicedo.tk, 1 jcb.com, 1 +jcbgolfandcountryclub.com, 1 jccars-occasions.be, 1 jccrew.org, 1 jcde.xyz, 0 @@ -58484,7 +58334,6 @@ jeep-diagnost.ml, 1 jeep4ik.com, 1 jeepeg.com, 1 jeeptourpocos.com.br, 1 -jeeran.com, 1 jeeranservices.com, 1 jeevanmag.tk, 1 jef.yt, 1 @@ -58598,7 +58447,6 @@ jeproteste.info, 1 jeps.fi, 1 jeremiahbenes.com, 1 jeremy-chen.org, 1 -jeremy.codes, 1 jeremy.hu, 1 jeremybentham.com, 1 jeremybloomfield.co.uk, 1 @@ -58673,6 +58521,7 @@ jessica-weller.de, 1 jessicabarends.nl, 1 jessicabenedictus.nl, 0 jessicaescortsservices.com, 1 +jessicaevrard.com, 1 jessicahrehor.com, 1 jessicasmith3d.com, 1 jessicharlie.com, 1 @@ -58713,7 +58562,6 @@ jetsadabetchoke77.com, 1 jetsieswerda.nl, 1 jetson.tk, 1 jetstreampro.com, 1 -jetstudio.ch, 1 jetswhiteout.com, 1 jettenbommelaer.nl, 1 jettenjachtbouw.eu, 1 @@ -58938,7 +58786,6 @@ jkrcuidadopersonal.com, 1 jkrippen.com, 0 jkuu.org, 1 jkv-media.cloud, 1 -jkvglobalsourcing.com, 1 jkvov.com, 1 jkyuan.tk, 1 jl-dns.eu, 1 @@ -59352,6 +59199,7 @@ jonkpl.com, 1 jonlabelle.com, 1 jonlu.ca, 1 jonnasbeauty.com, 1 +jonnichols.info, 1 jonny5.ru, 1 jonnybarnes.uk, 1 jonnyflash.tk, 1 @@ -59363,6 +59211,7 @@ jonpavelich.com, 1 jons.org, 1 jonscaife.com, 1 jonsey.co, 1 +jonssheds.direct, 1 jonstar.tk, 1 jooblis.com, 1 jooblis.net, 1 @@ -59580,7 +59429,6 @@ jpmelos.com.br, 1 jpmguitarshop.com.br, 1 jpn-ks.co.jp, 1 jpod.cc, 1 -jpoirierlavoie.ca, 1 jppcadvertising.com, 1 jpph.org, 1 jpr.io, 1 @@ -59593,7 +59441,6 @@ jpshop.ru, 1 jpsinflatables.co.uk, 1 jpslconsulting.ca, 1 jpst.it, 1 -jpvermogensregie.com, 1 jqlin.com, 1 jqlsql.com, 1 jquery.wtf, 1 @@ -59650,7 +59497,6 @@ jsemprestimos.online, 1 jsfloydlaw.com, 0 jsg.hk, 1 jsh918.com, 1 -jsheekeyatlanticbar.co.uk, 1 jsidefox.de, 1 jsjfact.com, 1 jsjohnsononline.com, 1 @@ -59775,7 +59621,6 @@ julia-pink.org, 1 julia.school, 1 juliaexclusiv.com, 1 juliajuice.net, 1 -juliakhairaton.com, 0 julian-miller.de, 1 julian-post.de, 0 julian-uphoff.de, 1 @@ -59797,7 +59642,6 @@ julianxhokaxhiu.com, 1 juliaoantiguidades.com.br, 1 juliasugar.net, 1 juliawebber.co.za, 1 -juliazeengardendesign.co.uk, 1 julibear.com, 1 julie-and-stevens-wedding.com, 1 juliebradford.co.uk, 1 @@ -59916,7 +59760,6 @@ juozasveza.lt, 1 jupiterchiropractic.com, 1 juppy.tk, 1 jura-reiseschutz.de, 1 -juraciimoveis.com.br, 1 juragan.ga, 1 juraganhp.com, 1 jurancic.com, 1 @@ -60255,6 +60098,7 @@ ka4ka.cf, 1 ka4ka.ml, 1 kaagsebc.nl, 1 kaamoscreations.com, 1 +kaangenc.me, 0 kaaniche.xyz, 1 kaany.io, 1 kaaraali.fr, 1 @@ -60528,6 +60372,7 @@ kamiyo.tk, 1 kamlunglelystad.tk, 1 kamnob.com, 1 kamokiminoyu.net, 1 +kamp-kisten.nl, 1 kampffische.tk, 1 kamppailusali.fi, 1 kampunginggris-ue.com, 1 @@ -60543,7 +60388,6 @@ kanaete-uranai.com, 1 kanag.pl, 1 kanal-schaefer.de, 1 kanal-tv-haensch.de, 1 -kanalasal.id, 1 kanapa.gq, 1 kanariesite.tk, 1 kanatsuki.tk, 1 @@ -60610,6 +60454,7 @@ kanz.jp, 1 kanzashi.com, 1 kanzlei-hhh.de, 1 kanzlei-oehler.com, 1 +kanzlei-sixt.de, 1 kanzshop.com, 1 kaosintesta.tk, 1 kap-kirche.de, 1 @@ -60665,6 +60510,7 @@ karand.me, 1 karanjthakkar.com, 1 karanlyons.com, 1 karantholdings.ga, 1 +karantyn.pro, 1 karaoglanis-info.tk, 1 karaoglanis.tk, 1 karaokerentalcalgary.com, 1 @@ -60922,7 +60768,6 @@ katushka.cf, 1 katushka.ga, 1 katycomputer.com, 1 katyl.info, 0 -katyusha.net, 1 katzei.fr, 1 katzenbrunnen-test.de, 1 katzensklave.me, 1 @@ -61311,7 +61156,6 @@ kep-sbt.hu, 1 kepak.tk, 1 kepinski.ch, 0 kepkonyvtar.hu, 1 -keponews.com, 1 keppler.tk, 1 kepsbt.hu, 1 keramed.ga, 1 @@ -61413,7 +61257,7 @@ kevinkla.es, 1 kevinlocke.name, 1 kevinmathiesen.tk, 1 kevinmeijer.nl, 1 -kevinmo.com, 1 +kevinmo.com, 0 kevinmoreland.com, 1 kevinn.nl, 1 kevinpatel.com, 1 @@ -61568,6 +61412,7 @@ khm.v.ua, 1 khmb.ru, 0 khmerios.tk, 1 khmerlive.cf, 1 +khmrynok.com.ua, 1 khoasweb.tk, 1 khodromedic.com, 1 khojhealth.com, 1 @@ -61769,6 +61614,7 @@ kindbear.pl, 1 kinder-garten.tk, 1 kinderarzt-berlin-zia.de, 1 kinderbasar-luhe.de, 1 +kinderbuecher-kostenlos.de, 1 kinderchor-bayreuth.de, 1 kinderevents-sehnde.de, 1 kinderfestival.com, 1 @@ -61816,7 +61662,6 @@ kingdommindsmentorsclub.com, 1 kingdoms.gg, 1 kingfast.cc, 1 kingfast.eu.org, 1 -kingfin.com, 1 kingiescastles.co.uk, 1 kingjamesbibleonline.org, 1 kingjamesgospel.com, 1 @@ -62174,6 +62019,7 @@ klassenlos.tk, 1 klassiekballet.tk, 1 klassika.cf, 1 klassika.tk, 1 +klatschreime.de, 1 klaudialeszczynska.pl, 1 klauke-enterprises.com, 1 klausbrinch.dk, 0 @@ -62245,6 +62091,7 @@ kliki.tk, 1 kliklinks.tk, 1 klikmanga.com, 1 klikmarket.tk, 1 +klikweb.id, 0 klil.co.il, 1 klimaatgroepstars.nl, 1 klimaatkids.be, 1 @@ -62338,6 +62185,7 @@ knapp.pro, 1 knapp.servehttp.com, 1 knarcraft.net, 1 knarkkorven.tk, 1 +knashaug.com, 1 knautiluz.net, 0 knbbw-frnab.tk, 1 kncg.pw, 1 @@ -62440,7 +62288,6 @@ kobly.com, 1 kobofarm.com, 1 koboldcraft.ch, 1 koboldmalade.fr, 1 -kobolya.hu, 1 kobovec.tk, 1 kobrin.tk, 1 kobtsev.tk, 1 @@ -62796,7 +62643,6 @@ kordamed.ee, 1 kordut.tk, 1 korea-dpr.org, 1 korea.dating, 1 -korea.de, 1 koreabestood.ga, 1 koreaboo.com, 1 koreanfashion.tk, 1 @@ -63216,6 +63062,7 @@ krystal-framework.ml, 1 krystalrsimpson.com, 1 krytykawszystkiego.com, 1 krytykawszystkiego.pl, 1 +kryx.de, 1 ks-19.com, 1 ks-29.com, 1 ks-39.com, 1 @@ -63261,7 +63108,6 @@ ks202.com, 1 ks2020.vip, 1 ks206.com, 1 ks208.com, 1 -ks2099.com, 1 ks2235.com, 1 ks2251.com, 1 ks2375.com, 1 @@ -63455,7 +63301,6 @@ kudinilam.tk, 1 kuditel.net, 1 kudofoto.com, 1 kudoran.tk, 1 -kueche-co.de, 0 kuechler.info, 1 kuehndel.org, 1 kuehnel-bs.de, 0 @@ -63526,7 +63371,6 @@ kunsthandel-augustus-rex.de, 1 kunstundkulturradioschoepfwerk.tk, 1 kunstundunrat.de, 1 kunvarji.com, 1 -kunze-medien.de, 1 kuon.me, 1 kuoruan.com, 1 kuotiva.com, 1 @@ -64219,7 +64063,6 @@ lanabello.com.br, 1 lanaengel.com, 1 lanagiselle.net, 1 lanahallen.com, 1 -lanasomething.com, 1 lanaturedaure.com, 1 lanausea.tk, 1 lanbroa.eu, 1 @@ -64480,7 +64323,6 @@ larrysalibra.com, 1 lars-kusch.de, 1 lars-mense.de, 1 lars-mielke.de, 1 -lars-minecraft.de, 1 lars.cloud, 1 lars.moi, 1 larsberglund.tk, 1 @@ -64490,7 +64332,6 @@ larseriksson.es, 1 larsi.org, 1 larsklene.nl, 1 larsklint.com, 1 -larsmerke.de, 1 larsnittve.tk, 1 larsvontrier.tk, 1 lartduportrait.fr, 1 @@ -64553,6 +64394,7 @@ lasseleegaard.org, 1 lassesworld.com, 1 lassesworld.se, 1 lassovideos.com, 1 +lasst-uns-beten.de, 1 last-strike.org, 1 lastbooks.gq, 1 lastingmarksers.ga, 1 @@ -64671,7 +64513,6 @@ laurahausmann.de, 1 laurainnes.tk, 1 laurakashiwase.com, 1 lauralaurant.tk, 1 -lauraofrank.com, 1 lauraohagan.com, 1 laurasplacefamilysupport.org.au, 1 laurateen.net, 1 @@ -64688,7 +64529,6 @@ laurenlobue.com, 1 laurensvanderblom.nl, 1 lauresta.lt, 1 lauresta.lv, 1 -lauriemilne.com, 1 laurindale.tk, 1 laurineprice.com, 1 laurinhaepaulo.ga, 1 @@ -64861,7 +64701,6 @@ lbrli.tk, 1 lbrls.tk, 1 lbsgroup.co.uk, 1 lbt-russia.ru, 1 -lbux.org, 1 lc-8.com, 1 lc-cs.com, 0 lc-promiss.de, 1 @@ -65166,6 +65005,7 @@ learntosurfcaparica.com, 1 learntosurflisbon.com, 1 learntotradethemarket.com, 1 learntradingforexnow.com, 1 +learntube.cz, 0 leasecar.uk, 1 leaseit24.com, 1 leasenow.tk, 1 @@ -65320,7 +65160,6 @@ lefonddeloeil.com, 0 lefreka.fr, 1 lefroyee.com, 1 left-baggage.co.uk, 1 -leftbankdesign.net, 1 leftbrainsolutions.com.au, 1 leftclick.be, 1 leftclick.cloud, 1 @@ -65462,7 +65301,7 @@ legnami24.it, 1 legoktm.com, 1 legoutdesplantes.be, 1 legow.tk, 1 -legowerewolf.net, 1 +legowerewolf.net, 0 legrandvtc.fr, 1 legro.tk, 1 legterm.cz, 1 @@ -65552,6 +65391,7 @@ lemonparty.co, 1 lemonpool.com.tr, 1 lemonrockbiketours.com, 1 lemonrotools.com, 1 +lemuslimpost.com, 1 lena-klein.de, 1 lena-klein.eu, 1 lena-nitro.org, 1 @@ -65978,7 +65818,6 @@ lg0.site, 1 lg2.com, 1 lgam.com, 1 lgbt-colleges.com, 1 -lgbt.io, 1 lgbt.ventures, 1 lgbtventures.com, 1 lgbusiness.es, 0 @@ -66072,7 +65911,7 @@ libertylakewapd.gov, 1 libertyland.tk, 1 libertytereconoce.com, 1 libertyvault.us, 1 -libertywines.co.uk, 1 +libertywines.co.uk, 0 libertywines.ie, 1 libertyxpress.tk, 1 libfins.org, 1 @@ -66197,7 +66036,6 @@ lidodecor.com, 1 lidogr.com, 1 lidong.me, 1 lidosparesort.com, 1 -lidow.eu, 1 lidservicessac.com, 1 lidtkemotors.com, 1 liduan.com, 0 @@ -66267,7 +66105,6 @@ lifemcserver.com, 1 lifemstyle.com, 1 lifenews24.tk, 1 lifenexto.com, 1 -lifeqa.net, 1 lifereset.it, 1 lifesafety.com.br, 1 lifesaver.tk, 1 @@ -66285,6 +66122,7 @@ lifeslonglist.com, 1 lifestorage.com, 1 lifestrongacademy.org, 1 lifestyle7788.com, 1 +lifestylecent.com, 1 lifestyler.me, 1 lifestylexplocial.tk, 1 lifesuccessandpersonalgrowth.com, 1 @@ -66474,7 +66312,6 @@ limbo-online.tk, 1 limbra.tk, 1 lime-host.cf, 1 lime-host.tk, 1 -limecho.net, 1 limehost.com, 1 limehotel.tk, 1 limelightnashville.cf, 1 @@ -66761,7 +66598,6 @@ lionchita.tk, 1 lionhosting.nl, 1 lionland.tk, 1 lionlyrics.com, 1 -lions.com.co, 1 lionsk.tk, 1 lioprog.com, 1 lioraaja.com, 1 @@ -66972,6 +66808,7 @@ liups.site, 1 liuq.org, 1 liuqiao.best, 1 liuqiao.cf, 1 +liuqiao.eu.org, 0 liuqiao.ga, 1 liuqiao.gq, 1 liuqiao.ml, 1 @@ -67380,12 +67217,12 @@ locksmithunit.es, 1 locksport.org.nz, 1 locktonportal.com, 1 lockwoodchristmastreefarm.com, 1 +locomocosec.com, 0 locomotionds.com, 1 locomotiv.tk, 1 locomotive.ca, 1 locoserver.net, 1 locoxlasmascotas.com.ar, 1 -locurimunca.co, 1 locus-dashboard.com, 1 locus.ml, 1 locus.tk, 1 @@ -67626,6 +67463,7 @@ lommyfleet.com, 1 lomza.tk, 1 lon-so.com, 1 lona.io, 1 +lonasdigital.com, 1 lonavla.tk, 1 lonay.me, 0 loncarlyonjenkins.com, 1 @@ -67847,6 +67685,7 @@ losdingos.tk, 1 losdisidentes.tk, 1 losdrogatones.tk, 1 lose-weight-now.ml, 1 +losebellyfat.pro, 0 losedata.tk, 1 losemperadores.tk, 1 loser.wtf, 1 @@ -67858,7 +67697,6 @@ losfugitivos.tk, 1 losfuocos.tk, 1 losgringos.tk, 1 loshogares.mx, 1 -losinterrogantes.com, 1 losjardines.tk, 1 losjuegosdemesa.online, 1 loslegendarios.tk, 1 @@ -68110,6 +67948,7 @@ lr-expert.ru, 1 lra-cloud.de, 1 lrdo.net, 1 lrfix.com, 1 +lriese.ch, 1 lroc.com.au, 1 lrs.lt, 1 lrssystems.com, 1 @@ -68188,6 +68027,7 @@ lucaconrads.de, 1 lucade.ddns.net, 1 lucafontana.net, 1 lucafrancesca.me, 1 +lucakrebs.de, 1 lucaplus.com, 1 lucarautti.com, 1 lucarelli.fr, 1 @@ -68294,6 +68134,7 @@ ludum-polus.xyz, 1 ludum.pl, 1 ludunwayoo.com, 1 ludwig.im, 1 +ludwiggrill.de, 1 ludwigjohnson.se, 1 ludwigpro.net, 1 lueck-bertram.de, 1 @@ -68382,10 +68223,7 @@ lukem.eu, 0 lukem.net, 1 lukeng.net, 1 lukepeltier.com, 1 -luker.org, 1 -lukersstorage.com, 1 lukerstorage.com, 1 -lukertech.net, 1 lukesbouncycastlehire.com, 1 lukesutton.info, 1 lukezweb.tk, 1 @@ -68400,6 +68238,7 @@ lukull-pizza.de, 1 lule-kendo.tk, 1 lullugun.net, 1 luls.tk, 1 +luludapomerania.com, 1 lumacurve.com, 1 lumbardhi.tk, 1 lumbercartel.ca, 1 @@ -68418,7 +68257,6 @@ luminaire-mobilier-design.be, 1 luminaire.fr, 1 luminaproject.ml, 1 luminary.pl, 1 -lumindigital.com, 1 lumitop.com, 1 lumizor.com.ua, 1 lummi-nsn.gov, 1 @@ -68646,6 +68484,7 @@ lyness.io, 1 lyness.uk, 1 lyngvaer.no, 1 lynho.com.br, 1 +lynk.hopto.org, 1 lynkmi.com, 1 lynndye.com, 1 lynnejeancleaning.com, 1 @@ -68808,9 +68647,7 @@ macaw.nl, 1 macawos.com, 1 macaws.org, 1 macbook.es, 1 -macc.org.my, 1 maccabi-dent.com, 1 -macdj.tk, 1 macedonian-hotels.com.mk, 1 macedonian-hotels.mk, 1 macehead.tk, 1 @@ -68860,7 +68697,6 @@ macnemo.de, 1 macnetwork.eu, 0 macnetwork.fr, 0 macnetwork.net, 0 -macnews.me, 1 macnugget.org, 1 maco.org.uk, 1 macon.de, 1 @@ -68877,6 +68713,7 @@ macros.co.jp, 1 macroseo.tk, 1 macrotech.tk, 1 macslure.com, 1 +macstore.pe, 0 macupdate.com, 1 macvcure.com, 1 macvidcards.eu, 1 @@ -68912,7 +68749,6 @@ madebythijmen.nl, 1 madebyvasilis.site, 1 madecenter.com.br, 1 madechocolaterie.nl, 1 -madeconsultingsrl.it, 1 madedwell.com, 1 madeglobal.com, 1 madeinamerica.gov, 1 @@ -68976,6 +68812,7 @@ madsgencydemo.com, 1 madskauts.tk, 1 madskills.tk, 1 madsklitgaard.dk, 1 +madsstorm.dk, 1 madteam.tk, 1 madtown.tk, 1 maduexclusive.com, 1 @@ -69076,7 +68913,7 @@ magicdesktop.com, 1 magicdlp.com, 1 magicflora.tk, 1 magiciansofchaos.tk, 1 -magicitaca.com, 1 +magicitaca.com, 0 magicjudges.org, 1 magiclen.org, 1 magicline.com, 1 @@ -69347,8 +69184,6 @@ majisign.co.uk, 1 majkassab.com, 1 majkassab.net, 1 majkassab.org, 1 -majkl.me, 1 -majkl.xyz, 1 majkl578.cz, 1 majkyto.cz, 1 majlovesreg.one, 1 @@ -69373,6 +69208,7 @@ makechanges.com.au, 1 makecharcoal.com, 1 makedin.net, 1 makedonija.net.mk, 1 +makeh2o.com, 1 makeit-so.de, 0 makeitshort.ml, 1 makejusticework.org.uk, 0 @@ -69480,7 +69316,6 @@ maleyco.tk, 1 maleylabapplications.org, 1 malezan.com, 1 malfunction.tk, 1 -malgraph.net, 1 malhasgusmao.com.br, 1 maliar.fr, 1 malibaby.ga, 1 @@ -69554,7 +69389,6 @@ malwr.ee, 1 malypiesekzuzi.pl, 1 malysvet.net, 0 mama-kind-buch.de, 1 -mamabali-spa.com, 1 mamabatataya.com, 1 mamabepo.com, 1 mamacitaz.com, 1 @@ -69634,6 +69468,7 @@ mandai-i.jp, 1 mandai-sf.jp, 1 mandai-st.jp, 1 mandai-t.jp, 1 +mandala-ausmalbilder.de, 1 mandala-book.tk, 1 mandanudes.ae, 1 mandarinplay.tk, 1 @@ -69817,7 +69652,6 @@ manusiasosial.tk, 1 manutd.org.np, 1 manuth.life, 1 manwork.tk, 1 -manxa.com, 1 manyebook.com, 1 manyetikboya.com, 1 manyhotfiesta.ml, 1 @@ -69825,11 +69659,9 @@ manylots.ru, 1 manyproservices.com, 1 manytubes.ga, 1 manyzero.ml, 1 -maocular.org, 1 maomihz.com, 1 maone.net, 1 maorx.cn, 1 -maosensanguentadasdejesus.net, 1 maowtm.org, 1 maozedong.red, 1 map4erfurt.de, 1 @@ -69938,6 +69770,7 @@ marcolattanzio.tk, 1 marcomooij.net, 1 marcopierrard.fr, 1 marcopiottante.tk, 1 +marcopolo-restaurant.com, 1 marcoreitmeier.de, 1 marcositaliandeli.co.uk, 1 marcosocio.com, 1 @@ -70122,7 +69955,6 @@ markellos-olive.gr, 1 markentier.tech, 1 markepps.com, 1 market-garden.tk, 1 -market-vanna.ru, 1 market.android.com, 1 marketbar.ie, 1 marketbasket.tk, 1 @@ -70372,6 +70204,7 @@ marturet.com, 1 maruconsultoria.online, 1 marufmusic.tk, 1 maruja.tk, 1 +marula-oel.de, 1 marulaweb.com, 1 marustat.ru, 1 marvaco.cf, 1 @@ -70540,6 +70373,7 @@ masterhoteis.com.br, 1 masterin.it, 1 masteringenieriadelfuego.es, 1 masterjuantex-projects.tk, 1 +masterkitchen.com.br, 1 masterminer.tk, 1 masternetix.ga, 1 masterofallscience.com, 1 @@ -70808,7 +70642,6 @@ matts.software, 1 matts.wiki, 1 matts.world, 1 mattshi.com, 1 -mattwservices.co.uk, 1 matucloud.de, 1 matuntu.ml, 1 matuslab.net, 1 @@ -71166,7 +70999,7 @@ mcleodcountymn.gov, 1 mclinflatables.co.uk, 1 mclmotors.co.uk, 1 mclyr.com, 0 -mcmillanskiclub.com.au, 1 +mcmillanskiclub.com.au, 0 mcmk.in, 1 mcnb.top, 1 mcneill.io, 1 @@ -71617,13 +71450,11 @@ meccano.srl, 1 mecenat-cassous.com, 1 mechanical.tk, 1 mechanics-schools.com, 1 -mechanicweb.com, 1 mechanixdirect.co.uk, 0 mechanus.io, 1 mechaspartans6648.com, 1 mechmk1.me, 1 mechta.gq, 1 -mechtateli.eu, 1 mecp.de, 1 med-colleges.com, 1 med-line.cf, 1 @@ -71676,7 +71507,7 @@ mediabackoffice.co.jp, 1 mediablaster.com, 1 mediabogen.net, 1 mediabola.net, 1 -mediabookdb.de, 1 +mediabookdb.de, 0 mediabooks.ml, 1 mediacenter.dynv6.net, 1 mediacluster.de, 1 @@ -71794,6 +71625,7 @@ medirota.com, 1 medisense.tk, 1 mediskin.ro, 1 medisuv.ga, 1 +meditadvisors.com, 1 meditarenargentina.org, 1 meditateinolympia.org, 1 meditation-kompass.de, 1 @@ -71903,7 +71735,6 @@ megabounce.co.uk, 1 megabouncingcastles.com, 1 megadrol.com, 1 megaelettrostimolatore.com, 1 -megafide.com.br, 1 megafilez.tk, 1 megaflix.nl, 1 megaflowers.ru, 1 @@ -71942,7 +71773,7 @@ megaron.at, 1 megasitesoficial.tk, 1 megateam.tk, 1 megatravel.com.mx, 1 -megatyumen.ru, 1 +megatyumen.ru, 0 megauction.tk, 1 megavasoc.com.ar, 1 megaviews.tk, 1 @@ -72098,7 +71929,6 @@ meldsluikstort.gent, 1 mele.ro, 1 meledia.com, 0 melenchatsmelenchiens.fr, 1 -melhoresdominios.com, 1 melhoresmarcasdenotebook.com.br, 1 melhorproduto.com.br, 1 meli-deluxe.org, 1 @@ -72117,7 +71947,6 @@ melissageorge.tk, 1 melissalb.tk, 1 melissameuwszen.nl, 1 melissaofficial.tk, 1 -melissasundwall.com, 1 meliyb.ga, 1 melkiran.tk, 1 mellika.ch, 1 @@ -72284,6 +72113,7 @@ meperidina.com, 1 mephedrone.org, 1 meps.net, 1 merafsolutions.com, 1 +meraki.systems, 1 merakidigitalmedia.com, 1 meralda.eu, 1 meralda.net, 1 @@ -72736,7 +72566,6 @@ mialma.live, 1 miamibeachcommunitychurch.com, 1 miamifl.casa, 1 miamifl.homes, 1 -miamimosque.org, 1 miamiobgyndreams.com, 1 mianbao.ga, 1 miankamran.tk, 1 @@ -73003,7 +72832,6 @@ mihaiordean.com, 1 mihalgrameno.ml, 1 mihanwebtest.tk, 1 mihaylov.tk, 1 -mihealth.link, 1 mihealthl.ink, 1 mihgroup.eu.org, 1 mihgroup.net, 1 @@ -73048,7 +72876,6 @@ mikaknuutila.photography, 1 mikalikes.men, 1 mike-bland.com, 1 mike-burns.com, 1 -mike-estela.com, 1 mike-et-pascale-sanger.com, 1 mikeandemily.duckdns.org, 1 mikebelanger.ca, 1 @@ -73331,6 +73158,7 @@ minecraftrealgold.gq, 1 minecraftrealgold.ml, 1 minecraftruns.ml, 1 minecrafts.gq, 1 +minecraftstal.com, 1 minecraftwin.gq, 1 minecraftx.ml, 1 minefields.tk, 1 @@ -73641,7 +73469,6 @@ missycosmeticos.com.br, 1 missycraindance.com, 1 missyjay.tk, 1 missyou.link, 1 -missyou.ro, 1 mist79.ru, 1 mistacms.com, 0 mistades.ga, 1 @@ -73762,7 +73589,6 @@ mixnix.tk, 1 mixpanel.com, 1 mixposure.com, 1 mixtafrica.com, 1 -mixuz.ru, 1 mixx.com.hk, 1 miya.io, 1 miyagi-ctr.com, 1 @@ -73988,6 +73814,7 @@ mnjg123.de, 1 mnlfnet.com, 1 mnml.art, 1 mnml.blog, 1 +mnml.top, 1 mnmt.no, 1 mnnknz.de, 1 mnogodetey.ru, 1 @@ -74104,7 +73931,6 @@ mobius.network, 1 mobizat.com, 1 mobizma.com, 1 moblkar.com, 1 -mobmp4.com, 1 mobmp4.info, 1 mobobe.com, 1 mobolight.ml, 1 @@ -74116,10 +73942,8 @@ moburst.com, 1 mobycoders.com, 1 mobydog.net, 1 mobylette.tk, 1 -moca-2080.com, 1 moca-2081.com, 1 moca-2082.com, 1 -moca-2083.com, 1 moca-kinder.de, 1 mocent.de, 1 mochilerostailandia.com, 1 @@ -74502,7 +74326,6 @@ moninformaticien.shop, 0 monique.io, 1 moniquedekermadec.com, 1 monirtalk.ml, 1 -monitman.com, 1 monitman.solutions, 1 monitorbandwidth.net, 1 monitorbox.jp, 1 @@ -74886,6 +74709,7 @@ mostfamousbirthdays.com, 1 mostlyharmless.at, 1 mostlyoverhead.com, 1 mostmost.tk, 1 +mostqbalwatanalqahirah.com, 1 mosttaza.com, 1 mosurist.tk, 1 moswand.nl, 1 @@ -75385,6 +75209,7 @@ mtr123.cn, 0 mtran.co, 1 mtravelers.net, 1 mtredistricting.gov, 1 +mtrip.com, 0 mtrock.ru, 1 mtrx.tech, 1 mts-energia.eu, 1 @@ -75421,7 +75246,6 @@ muchotrolley.tk, 1 muckingabout.eu, 1 muclan.tk, 1 mucmail.de, 1 -mudanzasacuna.com.co, 1 mudanzasjuniorh.com, 1 mudanzasuiza.com.ec, 1 mudanzasytransportesbh.com, 1 @@ -75997,7 +75821,6 @@ mybakkupakku.com, 1 mybaran.tk, 1 mybarcelona.tk, 1 mybathroom.tk, 1 -mybauingenieur24.de, 1 mybb.com, 1 mybb.de, 1 mybbcode.tk, 1 @@ -77087,7 +76910,6 @@ narela.com.mx, 1 narenderchopra.com, 1 narevapromotions.com, 1 narfation.org, 1 -nargele.eu, 1 nargileh.nl, 1 naric.com, 1 narin.cf, 1 @@ -77122,7 +76944,6 @@ narutoshippuden.tk, 1 narutoshow.tk, 1 narutouzumaki.tk, 1 narzedziownia.top, 1 -nasa.co.nz, 1 nasaacronyms-beta.com, 1 nasaacronyms.com, 1 nasalucx.org, 1 @@ -77142,7 +76963,6 @@ nash-shishtavec.tk, 1 nasha-kahovka.tk, 1 nashareklama.tk, 1 nashc.net, 1 -nashdistribution.com, 1 nashfm.tk, 1 nashfutbol.tk, 1 nashidetki.tk, 1 @@ -77217,6 +77037,7 @@ natevolker.com, 1 natextruck.com, 1 nathaliedijkxhoorn.com, 1 nathaliedijkxhoorn.nl, 1 +nathaliesadventure.eu, 1 nathalyb.com, 1 nathan.ovh, 1 nathanaelytj.xyz, 1 @@ -77289,7 +77110,6 @@ naturalbladdercontrol.tk, 1 naturalcosmetics.cf, 1 naturaldisasters.tk, 1 naturalezafengshui.com, 1 -naturalfit.co.uk, 1 naturalflowerpower.com, 1 naturalkitchen.co.uk, 1 naturallyvegan.de, 1 @@ -77562,7 +77382,6 @@ nebuchadnezzar.codes, 1 nebul.at, 0 nebulae.co, 1 nebulise.com, 1 -nebuso.com, 1 nec-x.com, 1 necd.me, 1 necessary-people.biz.ua, 1 @@ -77595,14 +77414,12 @@ nedviga.tk, 1 nedvizhimost.tk, 1 nedvizhimostthailand.ml, 1 nedvrf.ru, 1 -nedworks.net, 1 nedzadalibegovic.com, 1 neecist.org, 1 needemand.com, 1 needfire.ga, 1 needflare.com, 1 needing.cf, 1 -needle-demo.azurewebsites.net, 1 needle.net.nz, 1 needle.nz, 1 needrom.com, 1 @@ -77997,6 +77814,7 @@ netmeister.org, 1 netmouse.tk, 1 netnea.com, 1 netnik.de, 0 +netnodes.net, 1 netoborona.tk, 1 netolink.co.il, 1 netolink.com, 1 @@ -78112,7 +77930,6 @@ netzklad.de, 1 netzona.org, 1 netzspielplatz.de, 0 netzsv.website, 1 -netztest.at, 1 netzvieh.de, 1 netzwerk-lq.com, 1 netzwerk-sozialliberal.de, 1 @@ -78943,7 +78760,6 @@ niles.xyz, 1 nilgirispice.co.uk, 1 nilianwo.com, 1 nilmaracursos.com.br, 1 -nilmaraquintela.com.br, 1 nilosoft.com, 1 niloxy.com, 1 nilpointer.com, 1 @@ -79017,7 +78833,7 @@ ninsin-akachan.com, 1 nintendo-europe-media.com, 1 nintendocarddelivery.com, 1 nintendocollectionsystem.com, 1 -nintendohill.com, 1 +nintendohill.com, 0 nintendoreporters.com, 1 ninth.cat, 1 ninth.moe, 1 @@ -79033,7 +78849,6 @@ niourk.com, 1 nipax.cz, 1 nipe-systems.de, 1 nipit.biz, 1 -nippangift.com, 1 nippel.tk, 1 nipponkempoph.tk, 1 nipponnews.tk, 1 @@ -79634,7 +79449,6 @@ nothinbutnets.com, 1 nothinfancy.ca, 1 nothing.net.nz, 1 nothing.org.uk, 1 -nothingwired.com, 1 nothinux.id, 1 noticaballos.com, 1 noticiaelmundo.com, 1 @@ -79843,6 +79657,7 @@ nr1hosting.com, 1 nrail.eu, 1 nrbbs.net, 1 nrbpublishing.com, 1 +nrc-gateway.gov, 1 nrd.gov, 1 nrd.li, 1 nrdstd.io, 1 @@ -79877,7 +79692,6 @@ nsep.gov, 1 nsfw-story.com, 1 nshepp-dct-development.azurewebsites.net, 1 nshipster.cn, 1 -nshipster.co.kr, 1 nshipster.com, 1 nshipster.es, 1 nsine.be, 1 @@ -80028,7 +79842,6 @@ numismed-seniorcare.de, 1 numista.com, 1 nummer378.de, 1 numo.co, 1 -numwave.nl, 1 numxl.com, 1 nunesgh.com, 1 nunnenmacher.net, 1 @@ -80089,7 +79902,6 @@ nutrafitsuplementos.com.br, 1 nutralivbio.com, 1 nutrapurecbd.com, 1 nutrashop.fr, 1 -nutri-spec.me, 1 nutriciametabolics-shop.de, 1 nutriclub.co.id, 1 nutrienti.eu, 1 @@ -80267,6 +80079,7 @@ nztventures.net, 1 nzws.me, 0 o-bereg.ru, 1 o-dvor.tk, 1 +o-results.ch, 1 o00228.com, 1 o0c.cc, 1 o0o.one, 1 @@ -80406,7 +80219,6 @@ obocat.tk, 1 oboivam.ru, 1 obolo4ka.ru, 1 obomne.tk, 1 -oborona24.com.ua, 1 obozrevatel.tk, 1 obra.com.br, 1 obrabotka-zakazow.tk, 1 @@ -80654,6 +80466,7 @@ oetzies-quiz.com, 1 oevkg.at, 1 of-sound-mind.com, 1 of2106.dnsalias.org, 1 +of2m.fr, 1 ofallonil.gov, 1 ofaqim.city, 1 ofasoft.com, 1 @@ -80707,9 +80520,6 @@ officeinteriors.co.nz, 1 officemovepro.com, 1 officert.ga, 1 officevibe.com, 1 -official-sensitive.co.uk, 1 -official-sensitive.com, 1 -official-sensitive.net, 1 official-sensitive.org, 1 officialhazalturesan.tk, 1 officina.roma.it, 1 @@ -80848,9 +80658,6 @@ ok-travel.tk, 1 ok.ru, 1 ok118.com, 1 ok3on.cz, 1 -okad-center.de, 1 -okad.de, 1 -okad.eu, 1 okaidi.es, 1 okaidi.fr, 1 okakuro.org, 1 @@ -80860,7 +80667,6 @@ okashi.me, 1 okay.cf, 1 okay.coffee, 1 okayloser.com, 1 -okaz.de, 1 okazoo.eu, 1 okburrito.com, 1 okcasino.ga, 1 @@ -80938,7 +80744,6 @@ olastrafford.org, 1 olasverdeshotel.com, 1 olatiferreira.com, 1 olax.tk, 1 -olback.net, 1 olbat.net, 1 olcayanar.com, 1 olcbrookhaven.org, 1 @@ -81240,7 +81045,6 @@ oncodedesign.com, 1 oncologynote.com, 1 oncotarget.ru, 1 ond-inc.com, 1 -ond-inc.jp, 1 ondajoven.tk, 1 ondav.com, 1 ondcp.gov, 1 @@ -81261,6 +81065,7 @@ ondrejvasicek.cz, 1 one-clue.com, 1 one-cozmic.com, 1 one-host.ga, 1 +one-million-places.com, 1 one-news.net, 0 one-pixel.tk, 1 one-resource.com, 1 @@ -81437,6 +81242,7 @@ onlinecarstyling.nl, 1 onlinecasinobluebook.com, 1 onlinecasinoerdk.com, 1 onlinecasinoreviewz.com, 1 +onlinecasinoselite.org, 1 onlinecasinosportugal.pt, 1 onlinecollegeessay.com, 1 onlinecosmeticsstore.tk, 1 @@ -81527,7 +81333,6 @@ onlylovastatin.gq, 1 onlymammoths.com, 1 onlysim.nl, 1 onlysmoker.com, 1 -onlyssd.com, 1 onlystars.news, 1 onlyu.eu, 1 onlyveg.tk, 1 @@ -81555,7 +81360,7 @@ onpopup.ga, 1 onporn.fun, 1 onporn.tube, 1 onpreise.de, 1 -onrealt.ru, 0 +onrealt.ru, 1 onsenlaichelesdoigts.be, 1 onsetfacilities.com, 1 onsgenoegen-waz.nl, 1 @@ -81621,7 +81426,6 @@ ookjesprookje.nl, 1 oomepu.com, 1 oomph-delikatessen.tk, 1 oomuj.info, 1 -oonie.co.za, 0 oonne.com, 1 ooo-santal.ml, 1 oooh.events, 1 @@ -81746,7 +81550,6 @@ openrainbow.org, 1 openre.site, 1 openrealestate.co, 1 openreel.com, 0 -openresearch.amsterdam, 1 openreview.net, 1 openroademail.com, 1 openrtm.org, 1 @@ -81873,6 +81676,7 @@ optical-faking.tk, 1 opticaltest.com, 1 opticamasvision.com, 1 opticasocialvision.com, 1 +opticoolheadgear.com, 1 opticsboss.com, 1 opticsexplorer.com, 1 opticsschool.com, 0 @@ -81942,7 +81746,6 @@ orablanket.co.nz, 1 oracleclown.com, 1 oracolo.tk, 1 oraklinika.tk, 1 -oralbregalaoralb.it, 1 oraldigital.com.br, 1 oralee.org, 1 oralemiraza.com, 1 @@ -82159,6 +81962,7 @@ orovillelaw.com, 1 oroygrana.com, 1 orpf.ir, 1 orphee-beaute.com, 0 +orpheus.network, 1 orquestaataulfoargenta.com, 1 orquestas.tk, 1 orrs.de, 1 @@ -82249,6 +82053,7 @@ osetiya.ml, 1 osez-l-odyssee.fr, 1 osgroup.tk, 1 oshayr.com, 1 +oshea.cc, 1 oshens.com, 1 oshershalom.com, 1 oshkibeginnings.org, 1 @@ -82427,7 +82232,6 @@ ourayco.gov, 1 ourchoice2016.com, 1 ourcloud.at, 1 ourcodinglives.com, 1 -ourcomeback.gov.au, 1 ourcreolesoul.com, 1 ourdocuments.gov, 1 ourevents.net, 1 @@ -82559,7 +82363,6 @@ oversea.com.br, 1 overseamusic.de, 1 overside.ml, 1 oversight.garden, 1 -oversight.gov, 1 oversightboard.com, 1 oversimplifiedeconomics.com, 1 oversimplifiedstatistics.com, 1 @@ -82589,7 +82392,6 @@ ovpn.com, 1 ovpn.to, 1 ovuk.ru, 1 ovvy.net, 0 -owbt.pl, 1 owddm.com, 1 owennelson.co.uk, 1 owensboroky.gov, 1 @@ -82689,7 +82491,6 @@ oz-artfocus.com, 1 oz-style.com, 1 ozalp.dk, 1 ozarkinspected.com, 1 -ozbike.com.au, 1 ozcreatives.tech, 1 ozel-ders.tk, 1 ozelgitardersi.tk, 1 @@ -82949,7 +82750,6 @@ pagure.org, 1 pahealthbilling.com, 1 pahira.gq, 1 pahom.gq, 1 -paidcashforhouses.com, 1 paide.edu.ee, 1 paidsurveys.tk, 1 paidtocode.com, 1 @@ -83166,7 +82966,6 @@ pandaltd.nl, 0 pandapsy.com, 1 pandelys.tk, 1 pandemicflu.gov, 1 -pandemicoversight.gov, 1 pandit.tech, 1 pandithaya.tk, 1 pandjes.com, 1 @@ -83566,6 +83365,7 @@ pasarella.eu, 1 pasaruang.id, 1 pasatiempos.tk, 1 pascal-bourhis.com, 1 +pascal-koelsch.de, 1 pascal-ua.tk, 1 pascal-wittmann.de, 1 pascal90.de, 1 @@ -83958,6 +83758,7 @@ paypod.org, 1 paypodo.com, 1 paypro.nl, 0 payps.ru, 1 +payroll.ch, 0 payroll.myftp.org, 1 payrollhr.be, 1 paysbuy.com, 1 @@ -84209,7 +84010,6 @@ pedrazanoticias.tk, 1 pedro.com.es, 1 pedrobotias.tk, 1 pedrolamas.com, 1 -pedrollo-ua.com, 1 pedroministro.pt, 1 pedromunoz.tk, 1 pedrooliveira.tk, 1 @@ -84467,6 +84267,7 @@ peral.ua, 0 perala.me, 1 peraparker.cz, 1 perberestja.gq, 1 +perceptionsaestheticspa.com, 1 perceptivemeded.com, 1 perceptyx.com, 1 percherosdepared.es, 1 @@ -84846,7 +84647,6 @@ petruzz.net, 1 pets-health.com, 1 pets4adoption.tk, 1 pets4life.com.au, 1 -petscams.com, 1 petschnighof.at, 1 petsdeners.ga, 1 petsdenest.ga, 1 @@ -84931,7 +84731,6 @@ pgmsp.net, 1 pgmtechnologies.com, 1 pgnetwork.net, 1 pgp.lol, 1 -pgp.network, 1 pgpaintanddesign.com, 1 pgpmail.cc, 1 pgprosupplies.com, 1 @@ -85257,6 +85056,7 @@ phreakaus.tk, 1 phreaker.ml, 1 phreaknet.org, 1 phrive.space, 1 +phruse.com, 1 phryanjr.com, 0 phryneas.de, 1 phsa.com.au, 1 @@ -85314,7 +85114,6 @@ pi1.io, 1 pia-bardo.tk, 1 piadouwes.tk, 1 piaggiotopcom.vn, 1 -piajans.com, 1 pialove.net, 1 pianetaottica.eu, 1 pianetaottica.info, 1 @@ -85587,7 +85386,6 @@ pinkplay.com.br, 1 pinksec.com.au, 1 pinkster.tk, 1 pinkvelvet.tk, 1 -pinkwalk.co.nz, 1 pinkylam.me, 1 pinnacle-tex.com, 1 pinnacleallergy.net, 1 @@ -85634,7 +85432,6 @@ pinterjann.is, 1 pintiaux.com, 1 pintosbeeremovals.co.za, 1 pintoselectricfencing.co.za, 1 -pintoselectrician.co.za, 1 pintosplumbing.co.za, 1 pinupbets.gq, 1 pinupsex.com, 1 @@ -85674,14 +85471,12 @@ piratenlogin.de, 0 pirateparty.org.uk, 1 piratepay.io, 0 pirateproxy.buzz, 1 -pirateproxy.cat, 1 pirateproxy.cc, 1 pirateproxy.cloud, 1 pirateproxy.earth, 1 pirateproxy.gdn, 1 pirateproxy.how, 1 pirateproxy.id, 1 -pirateproxy.ist, 1 pirateproxy.ltda, 1 pirateproxy.name, 1 pirateproxy.onl, 1 @@ -86110,7 +85905,6 @@ playface.ml, 1 playfallguysmobile.com, 1 playgame.tk, 1 playgamenow.tk, 1 -playground.place, 1 playhappywheelsunblocked.com, 1 playinfinity.com, 1 playinfinityvr.com, 1 @@ -86243,7 +86037,6 @@ plumbercincoranch.com, 1 plumberlewisvilletexas.com, 1 plumbermountedgecombe.co.za, 1 plumberumhlangarocks.co.za, 1 -plumbing-arlington.com, 1 plumbingandheatingspecialistnw.com, 1 plumbingglenvista.co.za, 1 plumbingkingsllc.com, 1 @@ -86275,7 +86068,6 @@ plusmobile.fr, 1 plusreed.com, 1 plussizereviews.com, 1 pluste.com, 1 -plustream.com, 1 plustwik.com, 1 pluta.net, 1 plutiedev.com, 1 @@ -86762,7 +86554,6 @@ polygraphi.ae, 1 polymake.org, 1 polymathian.com, 1 polymerclay.de, 1 -polymorph.rs, 1 polymtl.ca, 0 polynomapp.com, 1 polypane.rocks, 1 @@ -86981,7 +86772,6 @@ pornopica.com.br, 1 pornorapido.net, 1 pornotexte.com, 1 pornovk.xxx, 1 -pornoxxx.online, 1 pornport.org, 1 pornquebec.com, 0 pornstarchicks.com, 1 @@ -87033,7 +86823,7 @@ portalexpressservices.com, 1 portalm.tk, 1 portalmundo.xyz, 1 portalpandalandia.tk, 1 -portalveneza.com.br, 1 +portalpower.com.br, 1 portalz.xyz, 1 portamiinpista.it, 0 portatilea.com, 1 @@ -87827,7 +87617,6 @@ printertonerkopen.nl, 1 printexpress.cloud, 1 printfn.com, 0 printful.com, 1 -printguru.dk, 1 printler.com, 1 printmet.com, 1 printmet.ru, 1 @@ -87870,7 +87659,6 @@ prismacloud.green, 1 prismacloud.xyz, 1 prismalite.com.br, 1 prismaot.tk, 1 -prismapixel.studio, 1 prismosystems.com, 0 prisonerresource.com, 1 pristal.eu, 1 @@ -88012,7 +87800,6 @@ probazen.com, 1 probely.com, 1 probinarin.ga, 1 probiv.biz, 1 -probiv.cc, 1 problem-solver.ml, 1 problempaws.ie, 1 problemstate.com, 1 @@ -88566,7 +88353,6 @@ proxybay.bet, 1 proxybay.buzz, 1 proxybay.bz, 1 proxybay.cc, 1 -proxybay.co, 1 proxybay.earth, 1 proxybay.gdn, 1 proxybay.how, 1 @@ -88584,7 +88370,6 @@ proyectify.net, 1 proyecto13.com, 1 proyectosinelec.com, 1 proyectostep.tk, 1 -proyectosx.net, 1 prozac20mg.cf, 1 prozapchast24.ru, 1 prozorlivec.tk, 1 @@ -88643,7 +88428,6 @@ psb4ukr.org, 1 psbarrett.com, 1 psc.gov, 1 psc.gov.ws, 1 -pschierl.com, 1 pschunt.com, 1 pscp.tv, 1 psdpt-tpfd.gc.ca, 1 @@ -88667,7 +88451,6 @@ psicoexpansao.com.br, 1 psicologajanainapresotto.com.br, 1 psicologo-especialista-barcelona.com, 1 psicologo-infantil-barcelona.com, 1 -psicologomogidascruzes.com.br, 1 psicometricas.mx, 1 psihologonline.tk, 1 psihology.gq, 1 @@ -89318,6 +89101,7 @@ qhse-professionals.nl, 1 qhzwz.com, 1 qiangtou.net, 1 qianqiao.me, 1 +qiaohong.org, 1 qiaowai.com, 1 qiber.org, 1 qicsystems.com, 1 @@ -89558,8 +89342,6 @@ qubes-os.org, 1 qubhockey.tk, 1 qubicgames.com, 1 qubyte.codes, 1 -quchao.com, 1 -quebajelagasolina.com, 1 quebec-elan.org, 1 quedos.com.au, 1 queencomplex.net, 1 @@ -89695,7 +89477,6 @@ quietstudyactivities.tk, 1 quietus.gq, 1 quik.legal, 1 quikchange.net, 1 -quikpay.com.au, 1 quillandpage.com, 1 quilmo.com, 1 quiltednorthern.com, 0 @@ -89835,7 +89616,6 @@ r0uzic.net, 1 r102.ch, 1 r14.io, 1 r15cookie.com, 1 -r16.ru, 1 r18.moe, 1 r1a.eu, 1 r1ch.net, 1 @@ -89892,7 +89672,6 @@ rabbitinternet.com, 1 rabbitsstore.com, 1 rabby.tk, 1 rabenkralle.tk, 1 -rabica.de, 1 rabinson2005.tk, 1 rabota-online.tk, 1 rabota-x.ru, 1 @@ -89931,6 +89710,7 @@ raclet.co.uk, 1 racoesrenata.com.br, 1 raconconsulting.co.uk, 1 raconteurs.gent, 1 +racsoft.cl, 1 racunovodstvo-prina.si, 1 rad-route.de, 1 rad2share.com, 1 @@ -89956,7 +89736,6 @@ radechefonne.it, 1 radegundisfest.de, 1 radekmazar.eu, 1 rader.ninja, 1 -raderamig.com, 1 radeticlaw.com, 1 radgi.com, 1 radharanikijay.tk, 1 @@ -90153,7 +89932,6 @@ radlina.com, 1 radnas.com, 1 radnickapartija.tk, 1 radnicki-nis.tk, 1 -radomir-online.ru, 1 radon.tk, 1 radondetectionandcontrol.com, 1 radopsec.net, 1 @@ -90310,7 +90088,6 @@ raketaro.de, 1 raketenwolke.de, 1 rakibzashup.ml, 1 rakibzashup.tk, 1 -rakipro.com, 0 raklouisville.com, 1 rakom.tk, 1 rakovec.hr, 1 @@ -90557,7 +90334,6 @@ ratgeber-guide.de, 1 rathbonesonline.com, 1 rathgeb.org, 1 rathorian.fr, 1 -ratihluhur.com, 1 ratinq.co, 1 ratiocinat.ga, 1 rationalbi.com, 1 @@ -90606,6 +90382,7 @@ ravihotel.com, 0 ravijuhend.ee, 1 ravik.tk, 1 ravimiamet.ee, 1 +ravindran.me, 1 raviparekh.co.uk, 1 ravis.org, 1 ravkr.duckdns.org, 1 @@ -90828,6 +90605,7 @@ ready2learn.eu, 1 ready4bf.tk, 1 readychurchsites.com, 1 readycolorado.gov, 1 +readydedis.com, 1 readync.gov, 1 readyrosie.com, 1 readyrowan.com, 1 @@ -90838,7 +90616,6 @@ readysetscif.com, 1 readystep.ga, 1 readytobattle.net, 0 readytongue.com, 0 -readytowear.es, 1 readywithresourcestn.gov, 1 reaff.com, 1 reaganlibrary.gov, 1 @@ -90966,7 +90743,6 @@ rebelcorp.cloud, 1 rebelcorp.ltd, 1 rebeldeway-al.tk, 1 rebeldeway-ks.tk, 1 -rebelessex.com, 1 rebelko.de, 1 rebellecare.com, 1 rebelonline.nl, 1 @@ -91152,8 +90928,6 @@ reddyai.com, 1 rede-reim.de, 1 rede-t.com, 1 redearsliderturtles.com, 1 -redecloud.xyz, 1 -redecsirt.pt, 1 redeemingbeautyminerals.com, 1 redefineyounow.com, 1 redelectrical.co.uk, 0 @@ -91296,7 +91070,7 @@ referdell.com, 1 refertimacuan.com, 1 refillrx.com, 1 refillthecity.eu, 1 -refinansiering.no, 1 +refinansiering.no, 0 refinedlightingaz.com, 1 refinedroomsllc.com, 1 refinery29.com, 1 @@ -91319,8 +91093,8 @@ refreshliving.us, 1 refrigeracion2hermanos.com.mx, 1 refrigeratorrepair-austin.com, 1 refu.net, 1 -refuelcollective.com, 1 -refuelcreative.com.au, 1 +refuelcollective.com, 0 +refuelcreative.com.au, 0 refugee-news.com, 1 refurb-tracker.com, 1 refusedcarfinance.com, 1 @@ -91417,7 +91191,6 @@ rehabphilippines.com, 1 rehabreviews.com, 1 rehabthailand.com, 1 rehabthailand.org, 1 -rehau-ua.com, 1 reher.pro, 1 rehobothma.gov, 1 rei.ki, 1 @@ -91473,7 +91246,7 @@ reinventetoi.com, 0 reinventfit.ro, 0 reirei.cc, 1 reisen.ga, 1 -reisenbauer.at, 1 +reisenbauer.at, 0 reisenbauer.ee, 1 reiseversicherung-werner-hahn.de, 1 reiseziel-hiddensee.de, 0 @@ -91765,6 +91538,7 @@ repat.de, 1 repauto.com.ua, 1 repaxan.com, 1 repettoshoes.tk, 1 +repgad.com, 1 repin.in.ua, 1 replaceits.me, 1 replacementrate.ga, 1 @@ -91878,6 +91652,7 @@ resolvefa.co.uk, 1 resolvefa.com, 1 resolveit.gq, 1 resolvergroup.com.au, 1 +resolving.com, 0 resolvo.com, 1 resolvs.com, 1 resoplus.ch, 0 @@ -92044,6 +91819,7 @@ retseptykaboli.cf, 1 rettig.xyz, 0 retube.ga, 1 return-profit.tk, 1 +returnonerror.com, 1 retzer.me, 1 reucon.com, 1 reueljohnk.com, 1 @@ -92195,13 +91971,13 @@ rfeif.org, 1 rfid-schutz.org, 1 rfnews.tk, 1 rfomega.ga, 1 -rfp-rechtsanwaelte.de, 1 rfs-zbpe.net, 1 rftoon.com, 1 rfvigo.com, 1 rfxanalyst.com, 1 rga.cl, 1 rgacomputacion.cl, 1 +rgbinnovation.com, 1 rgbpty.com, 1 rgcomportement.fr, 0 rgdt.tk, 1 @@ -92257,7 +92033,6 @@ rhymesofreason.com, 1 rhymeswithmogul.com, 1 rhynl.io, 1 rhyno.io, 1 -rhysperry.com, 1 rhysre.net, 1 riable.com, 1 riachuello.tk, 1 @@ -92280,6 +92055,7 @@ ribella.net, 1 ribes.design, 0 ribolov.tk, 1 ribtours.co, 1 +ricardo.nu, 1 ricardobalk.nl, 1 ricardojsanchez.com.ar, 1 ricardopq.com, 1 @@ -92630,7 +92406,6 @@ rj-onderneemt.nl, 1 rjan.nl, 1 rje-hub.net, 1 rjfedor.ddns.net, 1 -rjicpas.com, 1 rk-box.ru, 1 rk-links.ml, 1 rk-mediawork.de, 0 @@ -92641,8 +92416,8 @@ rkesport.com, 0 rkfp.cz, 1 rkmantpur.org, 0 rkmedia.no, 1 +rkmns.edu.in, 1 rknews.tk, 1 -rko.guru, 1 rlaftershock.com, 1 rlahaise.nl, 0 rlalique.com, 1 @@ -93119,7 +92894,6 @@ roodfruit.com, 1 roodfruit.nl, 1 roodfruit.studio, 1 roodhealth.co.uk, 1 -roodjongindesp.nl, 1 roof.ai, 0 roofconsultants-inc.com, 1 roofdoctorutah.com, 1 @@ -93334,6 +93108,7 @@ roussos.cc, 1 roussosmanos.gr, 1 rout0r.org, 1 routerchart.com, 1 +routerclub.ru, 1 routeto.com, 1 routetracker.co, 1 rouwcentrumterheide.be, 1 @@ -93577,8 +93352,6 @@ rsvaachen.de, 1 rsvp, 1 rswow.ru, 1 rsync.eu, 0 -rszm.com.br, 1 -rt.com, 1 rt22.ch, 1 rtate.ca, 1 rtate.se, 1 @@ -93652,6 +93425,7 @@ rubblekempton.co.za, 1 rubblemidrand.co.za, 1 rubblerandburg.co.za, 1 rubbleremovalbluff.co.za, 1 +rubbleremovalsbenoni.co.za, 0 rubblerock.com, 1 rubdiavila.com, 1 ruben.ga, 1 @@ -93829,6 +93603,7 @@ runners.yoga, 1 runnerslab.com, 1 runningfast.cf, 1 runningrabb.it, 1 +runningshaadi.in, 1 runningshows.tk, 1 runosklep.pl, 1 runpartner.com, 1 @@ -93976,7 +93751,6 @@ rv-jpshop.com, 1 rva-asbestgroep.nl, 1 rva.gov, 1 rvantwembeke.tk, 1 -rvecomercio.com.br, 1 rvender.cz, 1 rvf6.com, 1 rvfit.dk, 1 @@ -94014,7 +93788,6 @@ ryan-13.tk, 1 ryan-design.com, 1 ryan-gehring.com, 1 ryan-goldstein.com, 1 -ryan.cafe, 1 ryanbritton.com, 1 ryandewsbury.co.uk, 1 ryanfamily.net.au, 1 @@ -94663,7 +94436,6 @@ salvadorcorriols.tk, 1 salvadorinfantil.tk, 1 salvagedfurnitureparlour.com, 1 salvameblog.tk, 1 -salvandoalocombia.com, 1 salverainha.org, 1 salvia-sinensis.nl, 1 saly-hotel-neptune.com, 1 @@ -94991,7 +94763,7 @@ santugon.tk, 1 santv.cc, 1 sanukarlos.tk, 1 sanweb.info, 1 -sanych-msk.ru, 1 +sanych-msk.ru, 0 saoneth.pl, 1 saorsa.fr, 1 saorsat.com, 1 @@ -95027,7 +94799,6 @@ sapphirepearl.com.sg, 1 sapphireservicesga.com, 1 sapporo-asaichi.com, 1 sapporo.ga, 1 -sapporobeer.com, 1 sapprendre.ch, 0 saprima.de, 0 sapulpaok.gov, 1 @@ -95191,7 +94962,6 @@ sattamatka420.mobi, 0 sattaresult.in, 1 sattaresult.net, 1 saturdayenterprises.ga, 1 -saturnbb.com, 1 saturne.tk, 1 saturuang.id, 1 satyamshivamsundaram.in, 1 @@ -95234,6 +95004,7 @@ savageorgiev.com, 1 savanna.io, 1 savannahhappycats.com, 1 savannahsidewalktours.com, 1 +savannahtasteexperience.com, 1 savantcare.com, 1 savantic.io, 1 savasanadam.com, 1 @@ -95508,7 +95279,6 @@ scheinlichter.de, 1 scheldestromen.nl, 1 schelkovo.tk, 1 schellebelle.tk, 1 -schellenberger-brushes.com, 1 schellevis.net, 0 schemingmind.com, 1 schemmel.net, 1 @@ -95558,7 +95328,6 @@ schmelzle.io, 1 schmidthomes.com, 1 schmidtplasticsurgery.com, 1 schmiggywibblits.net, 1 -schmitt-etienne.fr, 1 schmitt-max.com, 1 schmitt.ws, 0 schmitzvertalingen.nl, 1 @@ -95577,7 +95346,6 @@ schnuckenhof-wesseloh.de, 1 schnyder-werbung.ch, 0 schody-rozycki.pl, 1 schoenstatt-fathers.link, 1 -schoenstatt-fathers.us, 1 schoenstatt.link, 1 schoepski.de, 1 schoffelcountry.com, 1 @@ -95664,7 +95432,6 @@ schrauger.net, 1 schrauger.org, 1 schrauger.run, 1 schraugerrun.com, 1 -schreck-thomas.de, 1 schreibers.ca, 1 schreilechner.tk, 1 schreinerei-jahreis.de, 1 @@ -96254,7 +96021,6 @@ securedrop.org, 1 secureenduserconnection.se, 1 securefiletransfer.nl, 1 securegovernment.us, 1 -secureheaders.com, 1 securehealth.care, 1 securehugs.com, 1 secureideas.com, 0 @@ -96694,7 +96460,6 @@ sentry.io, 1 sentry.nu, 1 sentrybay.com, 1 sentworks.com, 1 -senu.pro, 1 senzaparole.de, 1 senzei.tk, 1 seo-analyse.com, 1 @@ -96719,7 +96484,7 @@ seo-website.ru, 1 seo.domains, 1 seo.london, 1 seo.services, 1 -seoagentur-hamburg.com, 1 +seoagentur-hamburg.com, 0 seoankara.name.tr, 1 seoarchive.org, 1 seoargentina.com.ar, 1 @@ -96748,7 +96513,6 @@ seohackers.fr, 1 seohouston.com, 1 seoified.com, 1 seojaguar.tk, 1 -seojames.com, 1 seokaos.com, 0 seokatka.tk, 1 seolabuitest.azurewebsites.net, 1 @@ -96902,7 +96666,6 @@ serioussam.ml, 1 serkanceyhan.com, 1 serkanyarbas.com, 1 serkanyarbas.com.tr, 1 -sernate.com, 1 seroquel50mg.tk, 1 seroquelonline.ga, 1 seroquelonline.tk, 1 @@ -97043,7 +96806,6 @@ seseai.ga, 1 sesenaonline.tk, 1 sesliturkgencligi.tk, 1 sesrdcem.cz, 1 -sessile-oak.co.uk, 1 session.bbc.co.uk, 1 session.bbc.com, 1 sessionslogning.dk, 1 @@ -97084,7 +96846,6 @@ sevacy.net, 1 sevasmos.gr, 1 sevastopol.tk, 1 sevathian.com, 1 -seven-purple.com, 1 seven-seas.ml, 1 sevenartzpublicidad.com, 1 sevenfoureight.ml, 1 @@ -97324,6 +97085,7 @@ shaitan.eu, 1 shaiyapegasus.tk, 1 shaiyauntold.com, 1 shajeer.tk, 1 +shakalaka.co.za, 1 shakan.ch, 0 shakebeforeuse.tk, 1 shaken-kyoto.jp, 1 @@ -97532,7 +97294,6 @@ sheldon.sk, 1 shelehov.tk, 1 shelfieretail.com, 1 shelfordsandstaplefordscouts.org.uk, 1 -shelfplanner.com, 1 shelike.me, 0 shellavartanian.tk, 1 shellcon.io, 1 @@ -97610,7 +97371,6 @@ shichidadoma.ru, 1 shico.org, 1 shidai88.cc, 1 shidurdan.com, 1 -shielder.it, 1 shieldnet.tk, 1 shieldnsheath.com, 1 shieldofachilles.in, 1 @@ -97691,7 +97451,7 @@ shiplapandshells.com, 1 shipmile.com, 1 shipmonk.cloud, 1 shipmonk.com, 1 -shipmyroom.com, 1 +shipmyroom.com, 0 shipnak.com, 1 shippercenter.info, 1 shippexx.com, 1 @@ -97753,6 +97513,7 @@ shivkrupanandfoundation.org, 1 shivyogphysiotherapy.in, 1 shixuen.com, 1 shiyouqkl.com, 1 +shk.im, 0 shk8.tk, 1 shkafi-krasnodar.tk, 1 shkilna-kraina.com.ua, 1 @@ -98380,7 +98141,6 @@ signtul.com, 0 signumerics.ch, 1 signup.ly, 1 signupgenius.com, 1 -sigobierno.com, 1 sigparser.com, 1 sigptr.me, 1 sigridcrm.com, 1 @@ -98692,7 +98452,6 @@ simpletrace.nz, 1 simplevote.ca, 1 simplewebarchitecture.com, 1 simplewire.de, 1 -simplexdigital.com, 1 simplexgame.net, 1 simplia.cz, 1 simpliby.com, 1 @@ -98932,7 +98691,6 @@ siselectrom.com, 1 siseministeerium.ee, 1 sisiengineers.gq, 1 sisirbatu.tk, 1 -sismit.com, 1 sismit.es, 1 sisqo.tk, 1 sissden.eu, 1 @@ -99339,6 +99097,7 @@ skynetstores.ae, 1 skynetz.tk, 1 skyoy.com, 0 skype.com, 1 +skypech.com, 1 skypefr.com, 1 skyportcloud.com, 1 skyquid.co.uk, 1 @@ -99355,6 +99114,7 @@ skyscapecanopies.com, 1 skyscnr.com, 1 skyseo.cf, 1 skysoftbg.com, 1 +skysuite.nl, 1 skytec.host, 1 skyterraathome.com, 1 skyterraembrace.com, 1 @@ -99728,12 +99488,10 @@ smcj.xyz, 1 smcquistin.uk, 1 smd-tlt.ru, 1 smdcn.net, 1 -smdtk.com, 1 sme-gmbh.com, 1 sme-gmbh.net, 1 smeetsengraas.com, 1 smelly.cloud, 1 -smesitel-online.ru, 1 smeso.it, 1 smeta.ml, 1 smetak.cz, 1 @@ -99797,7 +99555,7 @@ smmitc.com, 1 smmlaba.io, 1 smmog.tk, 1 smmpanelweb.com, 1 -smoe.cc, 1 +smoe.cc, 0 smoivez.tk, 1 smokeandmirrors.agency, 1 smokefree.gov, 1 @@ -99823,7 +99581,6 @@ smoothics.com, 0 smoothics.eu, 1 smoothics.mobi, 1 smoothics.net, 1 -smoothiecriminals.com, 1 smoothtalker.com, 1 smoqerhome.ddns.net, 1 smorgasblog.ie, 1 @@ -99878,7 +99635,6 @@ snacdata.com, 1 snack-online.com, 1 snackbartaapje.com, 1 snackbesteld.nl, 1 -snacky.nl, 1 snafarms.com, 1 snafu.cz, 1 snaildos.tk, 1 @@ -99894,6 +99650,7 @@ snap.com, 1 snapappointments.com, 1 snapappts.com, 1 snapbuzz.tk, 1 +snapchat.com, 1 snapfinance.com, 1 snapintegrations.net, 1 snapkit.com, 1 @@ -99963,6 +99720,7 @@ sniffing.gq, 1 snight.co, 1 snille.com, 1 snip.city, 1 +snip.host, 1 snipdrive.com, 1 sniper.sh, 1 snipermarkettiming.com, 1 @@ -100081,7 +99839,6 @@ sociability.dk, 1 social-class.ga, 1 social-directory-list.tk, 1 social-engineering.tk, 1 -social-events.net, 0 social-line.tk, 1 social-media-strategies.it, 1 social-media-strategy.org.uk, 1 @@ -100131,7 +99888,6 @@ socialtactics.gq, 1 socialtactics.ml, 1 socialtournaments.com, 0 socialtranslation.ga, 1 -socialtrends.pl, 0 socialwave.tk, 1 socialworkout.com, 1 socialworkout.net, 1 @@ -100157,7 +99913,6 @@ sociopampers.com.ar, 1 sociopathy.org, 1 sociosalafuerza.tk, 1 sociusian.gq, 1 -socket.social, 1 sockeye.io, 0 sockfetish.net, 1 sockscap64.com, 1 @@ -100301,7 +100056,6 @@ sokolmelnik.tk, 1 sokolovskyi.ml, 1 sokolslavkov.tk, 1 sokosport.com, 1 -sokotime.cz, 1 sokouchousa.net, 1 sokrabatt.se, 1 sol-3.de, 0 @@ -100443,7 +100197,6 @@ solutionmotsfleches.com, 1 solutions-marquagedelignes.com, 1 solutions-teknik.com, 1 solutionsforest.com.ar, 0 -solutiontestbank.com, 1 soluzionifightlist.cf, 1 solvation.de, 1 solvaybank.com, 1 @@ -101445,7 +101198,6 @@ spotonlive.dk, 1 spotpetins.com, 1 spotrebitelskecentrum.sk, 1 spotsee.io, 0 -spotsolutions.com, 1 spotswoodvet.com, 1 spotsylvaniacounty-va.gov, 1 spotsylvaniacountyva.gov, 1 @@ -101516,6 +101268,10 @@ sproutways.com, 1 sprucecreekclubs.com, 1 sprucecreekgcc.com, 1 spruces.gq, 1 +sprueche-zum-valentinstag.de, 1 +sprueche-zur-geburt.info, 1 +sprueche-zur-hochzeit.de, 1 +sprueche-zur-konfirmation.de, 1 spruijtparket.nl, 1 sprutech.de, 1 sps-lehrgang.de, 1 @@ -101539,7 +101295,7 @@ spydar007.com, 1 spydar007.net, 1 spydar007.wiki, 1 spydersec.com, 1 -spykedigital.com, 1 +spykedigital.com, 0 spyprofit.ru, 1 spyroszarzonis.com, 1 spyse.com, 1 @@ -101567,7 +101323,6 @@ sqmin.tk, 1 sqprod.co, 1 sqr-training.com, 1 sqreemtech.com, 1 -sqroot.eu, 1 sqsd.xyz, 1 sqshq.de, 1 squad.fr, 1 @@ -101877,7 +101632,7 @@ stage-recuperation-points-reims.com, 1 stage-recuperation-points-rennes.com, 1 stage-recuperation-points-strasbourg.com, 1 stage-recuperation-points-toulouse.com, 1 -stage.wepay.com, 0 +stage.wepay.com, 1 stage4.ch, 1 stageirites.com, 1 stageirites.fr, 1 @@ -101907,7 +101662,6 @@ stako.jp, 1 stakotec.de, 1 staktrace.com, 1 stal-rulon.ru, 1 -stalbanskenora.ca, 1 stalbansvt.gov, 1 stalder.work, 1 stalevski.tk, 1 @@ -101981,7 +101735,7 @@ star-one.co.uk, 1 star-stuff.de, 0 star.my.id, 0 star.watch, 1 -starase.com, 1 +starase.com, 0 starb.in, 1 starbaese.de, 1 starbase01.com, 1 @@ -102332,6 +102086,7 @@ steiners.party, 1 steinibox.de, 1 steinmassl.org, 1 steinmetz.cloud, 1 +steklein.de, 1 stekosouthamerica.com, 1 stelfox.net, 1 stelga.ca, 1 @@ -102605,6 +102360,7 @@ stirblaut.de, 1 stirling.co, 1 stisidores.org, 1 stitch.money, 1 +stitchfiddle.com, 1 stitchinprogress.com, 1 stjohncamden.com, 1 stjohnin.com, 1 @@ -102987,6 +102743,7 @@ streamgifter.com, 1 streamgoalandres.ml, 1 streaming-download.net, 1 streaming.jetzt, 1 +streamlineaudio.co.za, 1 streamodz.com, 1 streamonline.fi, 1 streampanel.net, 1 @@ -103079,6 +102836,7 @@ stroimsami.tk, 1 stroimvse.ml, 1 stroiproect.tk, 1 stroitelstvopro.com, 1 +strojar.com, 1 strojmaster.tk, 1 stroke-of-luck.com, 1 strokesb.store, 1 @@ -103455,6 +103213,7 @@ sudmotor-occasions.be, 0 sudo.li, 1 sudo.ws, 1 sudoash.com, 1 +sudocat.me, 1 sudoku-insight.tk, 1 sudoku.org.ua, 1 sudosaveclimate.com, 1 @@ -103524,7 +103283,6 @@ sukker-oaxaca.com, 1 sukoyaka-labo.com, 1 sukoyakapp.com, 1 sukrie.net, 1 -sukriyedonmez.com, 1 sukruarslan.tk, 1 suksit.com, 0 sulabs.org, 1 @@ -103768,7 +103526,6 @@ supercastlessouthsydney.com.au, 1 supercastlessunshinecoast.com.au, 1 supercastlessydney.com.au, 1 supercentenarian.com, 1 -supercharged.co.uk, 1 supercima.com, 0 supercinebattle.fr, 1 supercontent.cf, 1 @@ -103913,7 +103670,6 @@ supremaa.com, 1 supreme-council.me, 1 supreme-court.tk, 1 suprememale.tk, 1 -supremestandards.com, 1 supriville.com.br, 1 supropionegocio.tk, 1 supweb.ovh, 0 @@ -104241,7 +103997,6 @@ swhw.io, 1 swi.sytes.net, 1 swiatpilki.com, 1 swid.co.uk, 1 -swiffertirimborsa.it, 1 swift-devedge.de, 1 swiftbonds.com, 1 swiftcashforcars.com.au, 1 @@ -104299,7 +104054,6 @@ swissid.ch, 1 swissinternationalva.com, 1 swisslifestyletips.ch, 1 swisslinux.org, 1 -swisstechassociation.ch, 1 swisstechmap.ch, 1 swisstranslate.ch, 0 swisstranslate.fr, 0 @@ -104416,7 +104170,6 @@ symlnk.de, 1 symmetrysolar.com.au, 1 symoteb.ir, 1 symphonise.consulting, 1 -symphony.com, 1 sympletrade.com, 1 symplexia.com.br, 1 symplyos.tk, 1 @@ -104565,7 +104318,7 @@ syswiki.org, 1 sysystems.cz, 1 syt3.net, 1 syuez.com, 1 -syunpay.cn, 0 +syunpay.cn, 1 syuumi.eu, 1 syuumi.me, 1 sywnthkrawft.tk, 1 @@ -104621,7 +104374,6 @@ t-shirt-template.com, 1 t-shirts4less.nl, 1 t-shirty.tk, 1 t-staffing.nl, 1 -t-stonegroup.com, 1 t-tip.ch, 1 t-tz.com, 0 t-unit.ru, 1 @@ -104629,7 +104381,6 @@ t-wirth.de, 1 t.facebook.com, 0 t00228.com, 1 t00ts.com, 0 -t060.com, 0 t070.com, 0 t0kie.space, 1 t0ny.name, 1 @@ -104649,7 +104400,6 @@ t3rror.net, 1 t404.de, 1 t449.com, 1 t47.io, 1 -t49.com, 0 t4c.link, 1 t4cc0.re, 1 t4gh.com, 1 @@ -105037,7 +104787,6 @@ tamoxifen-citrate.gq, 1 tamoxifen-citrate.ml, 1 tamoxifenformen.ga, 1 tampa.gov, 1 -tampabaybusinesslistings.com, 1 tampabayhometours.info, 1 tampacific.net, 1 tampacific.vn, 1 @@ -105140,7 +104889,7 @@ taolu.tv, 1 taoofbeauty.tk, 1 taotic.eu, 1 taowa.ca, 1 -taoways.com, 1 +taoways.com, 0 taoyingchang.tk, 1 taozgt.xyz, 0 tap.az, 1 @@ -105159,7 +104908,6 @@ tappezzeria.roma.it, 1 tappezziere.milano.it, 0 tappyshop.com.br, 1 tapquad.com, 1 -taprix.org, 1 tapsnapp.co, 1 taqeemi.com, 1 taquilla.com, 1 @@ -105288,6 +105036,7 @@ tatildukkani.com, 1 tatjana-young.net, 1 tatler.com, 1 tato.noip.me, 0 +tatort-fanpage.de, 1 tatsidou.gr, 1 tatsuya.tk, 1 tattoo-art.tk, 1 @@ -105483,6 +105232,7 @@ tdro.cf, 1 tdrs.info, 1 tds-forum.tk, 1 tdsb.cf, 1 +tdsb.ml, 1 tdsbhack.tk, 1 tdsf.io, 1 tdstoragebay.com, 1 @@ -105507,7 +105257,6 @@ teacherquotes.gq, 1 teachersasap.info, 1 teachinginhighered.com, 1 teachking.tk, 1 -teachmeplease.ru, 1 teachpeople.org, 1 teachwithouttears.com, 1 teacuppersiancats.com, 1 @@ -105725,7 +105474,6 @@ techexpert.tips, 1 techexplorist.com, 1 techfibian.tk, 1 techfishnews.com, 1 -techformator.pl, 0 techfreepro.ml, 1 techgama.org, 1 techgarage.blog, 1 @@ -105920,7 +105668,6 @@ tecnodritte.it, 1 tecnogazzetta.it, 1 tecnogestionsas.com, 1 tecnograficaimpresos.com, 1 -tecnologiaboliviana.com, 1 tecnologiasurbanas.com, 1 tecnomagazine.net, 1 tecnonews.cf, 1 @@ -105931,6 +105678,7 @@ tecnoticiasdigitales.tk, 1 tecnyal.com, 1 tecon.co.at, 1 tecorrs.tk, 1 +tecparsnet.ir, 1 tecroxy.com, 1 tecscipro.de, 1 tecta-stag-225720.appspot.com, 1 @@ -105952,7 +105700,6 @@ tedhardy.com, 1 tedirgin.tk, 1 tedsdivingsystem.com, 1 tedxyalesecondaryschool.com, 1 -tee-idf.net, 1 teedb.de, 1 teehaus-shila.de, 1 teekaymedia.tk, 1 @@ -106384,6 +106131,7 @@ terviseamet.ee, 0 tervolina.tk, 1 tesche.biz, 1 tescoirelandpayslips.com, 1 +tescoludia.sk, 1 tesdrole.tk, 1 teskaassociates.com, 1 teskalabs.com, 1 @@ -106494,7 +106242,6 @@ tewarilab.co.uk, 1 tewkesburybouncycastles.co.uk, 1 tewkesburyyoga.com, 1 texarkanatherapycenter.com, 1 -texasabrasiveblasting.com, 1 texasbluesalley.com, 1 texascharterbuscompany.com, 1 texascommunitypropane.azurewebsites.net, 1 @@ -106829,7 +106576,6 @@ thebestofthesprings.com, 1 thebestpersonin.ml, 1 thebestshopping.tk, 1 thebigbigworld.tk, 1 -thebigbitch.nl, 1 thebigdatacompany.com, 1 thebigdig.xyz, 1 thebiglaskowski.com, 1 @@ -107121,7 +106867,6 @@ thegioibanca.tk, 1 thegioidulich.com.vn, 1 thego2swatking.com, 1 thegolden.com, 1 -thegoodheartedwoman.com, 1 thegoodvybe.ml, 1 thegospell.tk, 1 thegrandline.tk, 1 @@ -107590,6 +107335,7 @@ thesilentlink.org, 1 thesilverdaisy.com, 1 thesimarchitect.com, 1 thesimplewebcompany.com, 1 +thesimplifiers.com, 0 thesimsbrasil.tk, 1 thesingaporelawyer.com, 1 thesipher.tk, 1 @@ -107753,6 +107499,7 @@ thewomenschoice.com, 1 thewoodkid.com.au, 1 thewoods.earth, 1 thewoolroom.com.au, 1 +thewoosh.me, 0 theworkingeye.nl, 1 theworkshop.tk, 1 theworld.tk, 1 @@ -107794,7 +107541,6 @@ thibautcharles.net, 1 thiepcuoidep.com, 1 thiepxinh.net, 1 thierryhayoz.ch, 1 -thierrymazue.com, 1 thierrymazue.fr, 1 thiesketelsen.de, 1 thietbithoathiem.net, 1 @@ -107854,6 +107600,7 @@ thinkingplanet.net, 1 thinkmarketing.ca, 1 thinkprocedural.com, 1 thinktac.com, 1 +thinktux.net, 1 thinkwisesoftware.com, 1 thinkwits.com, 1 thinxtream.com, 1 @@ -108182,7 +107929,6 @@ tierra-indomables.tk, 1 tierracenter.com, 1 tierradeayala.com, 1 tierrahost.com, 1 -tierraprohibida.net, 1 tierschutz-niederrhein.de, 1 tiestofan.tk, 1 tietotori.fi, 1 @@ -108364,7 +108110,6 @@ timnash.co.uk, 1 timniclasdemisch.de, 1 timniclasdemisch.eu, 1 timomontalto.de, 1 -timonengelke.de, 1 timonenko.cf, 1 timosfoodbar.nl, 1 timoso.de, 1 @@ -108386,7 +108131,6 @@ timtom.ga, 1 timvandekamp.nl, 1 timvivian.ca, 1 timweb.ca, 1 -timwestdesigns.com, 1 timwhite.io, 0 timx.uk, 1 timysewyn.be, 0 @@ -108467,6 +108211,7 @@ tipo01.tk, 1 tipocloud.cf, 1 tipoftheday.tips, 1 tipplist.com, 1 +tipps-fuer-den-haushalt.de, 1 tippytoad.com, 1 tipranks.com, 1 tips4india.tk, 1 @@ -108600,6 +108345,7 @@ tlroadmap.io, 1 tls-proxy.de, 1 tls.builders, 1 tls.care, 1 +tlsbv.nl, 1 tlsrobot.se, 1 tlthings.net, 1 tlumaczenie.com, 1 @@ -108663,7 +108409,7 @@ tnrealid.gov, 1 tnrf.eu, 1 tnskvi.tk, 1 tnsolutions.ro, 1 -tnt.construction, 1 +tnt.construction, 0 tntmobi.com, 1 tntware.com, 1 tnurocancer.com, 1 @@ -108994,7 +108740,6 @@ tomodachi.tk, 1 tomoko-clinic.jp, 1 tomoradexpert.ro, 1 tomorrow-traxx.tk, 1 -tomorrowx.com, 1 tomosm.net, 1 tomphenix.com, 1 tomphill.co.uk, 0 @@ -109285,7 +109030,6 @@ topsailtechnologies.com, 1 topseo.gq, 1 topservercccam.com, 1 topservers.ga, 1 -topshelf.tech, 1 topshelfcommercial.com, 1 topshop.tk, 1 topshoptools.com, 1 @@ -109526,7 +109270,6 @@ touhou.fm, 1 touhou.tw, 1 touhouwiki.net, 1 toujour.top, 1 -toujours-actif.com, 1 toulis.net, 1 toumeitech.com, 1 tour-japan.ml, 1 @@ -109552,7 +109295,6 @@ tours-in-petersburg.tk, 1 tours.co.th, 1 toursandtransfers.it, 1 toursencancun.com, 1 -toursforyou.nz, 1 toursinvietnam.tk, 1 tourteller.com, 1 tourtransferitaly.it, 1 @@ -109569,7 +109311,7 @@ tout-a-fait.fr, 1 tout-art.ch, 1 toutankamon.tk, 1 toutart.ch, 1 -toutelathailande.fr, 1 +toutelathailande.fr, 0 toutenmusic.fr, 1 toutmonexam.fr, 1 toutvendre.be, 1 @@ -109917,7 +109659,6 @@ transfigurewizard.com, 1 transfile.fr, 1 transforleren.nl, 1 transformaniatime.com, 1 -transformations-magazin.com, 1 transformersmmdb.tk, 1 transforumation.com, 1 transfurrmation.town, 1 @@ -110014,6 +109755,7 @@ trattamenti.biz, 1 trattamento-cotto.it, 1 trattamentocotto.roma.it, 1 trauerbegleitung-kudla.de, 1 +trauertexte.info, 1 traukiniobilietas.lt, 1 traumaberatung-lindner.de, 1 traumarecoverysupport.com, 1 @@ -110126,7 +109868,6 @@ travelphilippines.tk, 1 travelphoto.cc, 1 travelphotographycourse.com, 1 travelplatinum.ga, 1 -travelplugcolombia.com, 1 travelplum.ga, 1 travelpremier.ga, 1 travelpremium.ga, 1 @@ -110197,7 +109938,6 @@ treasurydirect.gov, 1 treasuryhunt.gov, 1 treasuryofgreatchildrensbooks.com, 1 treasuryscams.gov, 1 -treatmentindiana.com, 1 treatyoself.com.au, 1 trebek.club, 1 trebilfoundationsystems.com, 1 @@ -110213,7 +109953,6 @@ treehouseresort.nl, 1 treemadeiras.com.br, 1 treeremovalsgermiston.co.za, 1 treeremovalspretoria.co.za, 1 -treering.com, 1 treestarmarketing.com, 1 treestumpgrindingnearme.com, 1 treevectors.com, 1 @@ -110272,6 +110011,7 @@ trendykids.cz, 1 trendzilla.ga, 1 trenorario.it, 1 trenta.fr, 1 +trentinogenealogy.com, 1 trentonmakesnews.com, 1 trentonoh.gov, 1 trentotoday.it, 1 @@ -110440,7 +110180,6 @@ triplevision.nl, 1 triplicate.gq, 1 triploqal.com, 1 tripolinews.tk, 1 -tripolistars.com, 1 tripomanija.tk, 1 tripout.tech, 1 tripoutside.com, 1 @@ -110537,6 +110276,7 @@ tropixshipping.com, 1 troplo.com, 0 tropofy.com, 1 troqueladoras.online, 1 +trosell.net, 1 trosinenko.com, 1 tross.tk, 1 trotec.com, 1 @@ -110645,7 +110385,6 @@ trumppresidency.org, 1 trumptragedy.com, 1 trumptragic.com, 1 trumpwhitehouse.gov, 1 -trumtrimun.com, 1 truncus-encephali.co.uk, 1 trundr.com, 1 trunix-forum.tk, 1 @@ -110721,7 +110460,6 @@ tryonnc.gov, 1 trypathnow.com, 1 trypenspinning.com, 1 tryplo.ca, 1 -tryplo.com, 1 tryplo.io, 1 tryplo.net, 1 tryplo.org, 1 @@ -111510,7 +111248,6 @@ tzunamiblog.tk, 1 tzwe.com, 1 tzyingshi.com, 0 u-chan.com, 0 -u-grow.gr, 1 u-he.com, 1 u-page.nl, 1 u.nu, 1 @@ -112126,7 +111863,6 @@ unify.id, 1 unik.bg, 1 unikainfocom.in, 1 uniklinik-cms.com, 1 -unikoingold.com, 1 unikos.tk, 1 unikrn.com, 1 unikrnb2b.com, 1 @@ -112177,7 +111913,6 @@ unis-pour-le-climat.com, 1 uniservarabia.com, 1 uniswapnews.com, 1 unisyssecurity.com, 1 -unit3d.site, 1 unit7jazz.com, 1 unit7jazz.org, 1 unitanzania.com, 1 @@ -112445,7 +112180,6 @@ uploadcare.com, 1 uploads.su, 1 uploadscript.tk, 1 uploadtokiosk.com, 1 -uploadyourtestament.com, 1 uplr.it, 1 upmail.ml, 1 upmchealthsecurity.us, 1 @@ -112803,6 +112537,7 @@ ustugov.kiev.ua, 1 ustugova.kiev.ua, 1 ustyj.tk, 1 usu.org.ua, 1 +usualbeings.com, 1 usuan.net, 1 usuluddin.ga, 1 usuluddin.tk, 1 @@ -112835,7 +112570,6 @@ uteasybooki.com, 1 utensil.org, 1 utevai.tk, 1 utiars.com, 1 -uticagravel.com, 1 utilbot.co, 1 utilia.tools, 1 utilidad.tk, 1 @@ -112910,7 +112644,6 @@ uwereimold.de, 1 uwesander.de, 1 uwfreelanceopticien.nl, 1 uwsalonboot.nl, 1 -uwsoftware.be, 1 uwu.lgbt, 1 uwu.nu, 1 uwvloereruit.nl, 1 @@ -113252,7 +112985,6 @@ vamonospaportugal.tk, 1 vamosargentina.tk, 1 vamosfalardesaude.pt, 1 vampire-studios.tk, 1 -vampire142.fr, 1 vampireapocalypsesurvival.com, 1 vampiresdawn.org, 1 vampirzine.tk, 1 @@ -113371,6 +113103,7 @@ vapex.pl, 1 vapezone.com.au, 1 vaphone.co, 1 vapingdaily.com, 1 +vapocial.com, 1 vapolik.fr, 1 vapor.cloud, 0 vapordepot.jp, 1 @@ -113406,6 +113139,7 @@ varrogepcentrum.hu, 1 varshathacker.com, 1 varun-rajeshwari.tk, 1 varvitra20mg.ga, 1 +varvy.com, 1 varyrentacar.com, 1 varztupasaulis.com, 1 varztupasaulis.eu, 1 @@ -113709,7 +113443,6 @@ venicefloridawebsitedesign.com, 1 venicerealdeal.com, 1 venje.pro, 0 venlafaxine.gq, 1 -venmail.net, 1 vennershipley.co.uk, 1 vennprime.com, 1 venomxsecurity.com, 1 @@ -113805,7 +113538,6 @@ veritafineviolins.com, 1 veritas-data.de, 1 veritashomeschoolers.org, 1 veritasinvestmentwealth.com, 1 -verius.io, 1 verizonconnect.com, 0 verkeer.gent, 1 verkeersschoolrichardschut.nl, 1 @@ -114183,7 +113915,7 @@ viditour-golf.nl, 1 viditour-zorg.nl, 1 vidkovaomara.si, 1 vidlyoficial.com, 1 -vidmia.com, 1 +vidmia.com, 0 vidnova.ua, 1 vidos-eu.com, 1 vidracariaespelhosbh.com.br, 1 @@ -115084,8 +114816,6 @@ vokeapp.com, 1 vokieciupamokos.lt, 1 vokov.ml, 1 vokrug.ga, 1 -vokzalkursk.ru, 1 -vokzalperm.ru, 1 volatile.pw, 1 volatilesystems.org, 1 volatilethunk.com, 1 @@ -115403,7 +115133,6 @@ vsamsonov.com, 1 vsaratove.tk, 1 vsatke.tk, 1 vsc-don-stocksport.de, 1 -vscale.io, 0 vscm888.com, 1 vscredconsultoria.online, 1 vsd.sk, 1 @@ -115477,6 +115206,7 @@ vulkanruhe.com, 1 vulkanruhe.de, 1 vullriede-multimedia.de, 0 vulndetect.com, 1 +vulndetect.org, 1 vulnerability.ch, 1 vulnerabilityscans.nl, 1 vulnerable.af, 1 @@ -116612,6 +116342,7 @@ webmethod.email, 1 webmethod.ir, 1 webminders.it, 1 webmining.gq, 1 +webministeriet.net, 1 webmixseo.com, 1 webmonsters.tk, 1 webmotelli.fi, 1 @@ -116692,7 +116423,6 @@ websiteforstudents.com, 1 websiteforyou.nl, 1 websiteirani.tk, 1 websitelearners.cf, 1 -websitelia.com, 1 websitemarketers.tk, 1 websiteout.ca, 1 websiteout.net, 1 @@ -116834,6 +116564,7 @@ weedupdate.com, 1 weedworthy.com, 1 weedypedia.de, 1 weekdone.com, 1 +weekendcandy.com, 1 weekendinitaly.com, 1 weekendpartyband.tk, 1 weekendplayers.tk, 1 @@ -117202,7 +116933,7 @@ wft-portfolio.nl, 1 wg-smue.de, 1 wg-tools.de, 1 wg3k.us, 1 -wgcaobgyn.com, 1 +wgcaobgyn.com, 0 wgdp.gov, 0 wge-feg.gc.ca, 1 wgec-fegc.gc.ca, 1 @@ -117248,6 +116979,7 @@ whatclinic.com.ph, 1 whatclinic.de, 1 whatclinic.ie, 1 whatclinic.ru, 1 +whatdevotion.com, 1 whatdevshouldknow.pl, 1 whatevents.tk, 1 whatevername.tk, 1 @@ -117262,7 +116994,6 @@ whatisipfix.com, 1 whatisl.ovh, 1 whatismycountry.com, 1 whatismyip.net, 0 -whatismyipaddress.ca, 1 whatismyipv6.info, 1 whatismypublicip.com, 1 whatisnetflow.com, 1 @@ -117609,7 +117340,6 @@ wikijunior.com, 1 wikijunior.net, 1 wikijunior.org, 1 wikileaks.ch, 1 -wikileaks.com, 1 wikileaks.org, 1 wikilibrary.tk, 1 wikilink.cf, 1 @@ -117933,6 +117663,7 @@ winghill.com, 0 wingify.com, 1 wingmin.net, 1 wingos.net, 1 +wings.com.pk, 1 wingsofacow.com, 0 wingspatagonia.com, 1 winhelp21.tk, 1 @@ -118039,7 +117770,6 @@ wisatabagus.com, 1 wischu.com, 1 wiscoinsulation.com, 1 wiscon.co, 1 -wisconsinhomemaker.com, 1 wisconsinnet.tk, 1 wisdom-nict.jp, 1 wisdomcue.com, 1 @@ -118738,6 +118468,7 @@ wp-stack.pro, 1 wp-tao.com, 1 wp-webagentur.de, 1 wp2static.com, 1 +wpac.de, 1 wpandup.org, 1 wpautolistings.com, 1 wpbeter.nl, 1 @@ -119261,7 +118992,6 @@ xanadu-golf.cz, 1 xanadu-taxi.cz, 1 xanadu-trans.cz, 1 xanderbron.tech, 1 -xanhdecor.com, 1 xanny.family, 1 xanthitoday.gr, 1 xants.de, 1 @@ -120072,6 +119802,7 @@ xn--oj-uu2c9c422w3mh.com, 0 xn--okra.xn--6qq986b3xl, 1 xn--p3t555glxhnwa.com, 1 xn--p8j9a0d9c9a.xn--q9jyb4c, 1 +xn--pascal-klsch-cjb.de, 1 xn--pbt947am3ab71g.com, 1 xn--pckl4ji.ml, 1 xn--pckqk6xk43lunk.net, 1 @@ -120244,7 +119975,6 @@ xq.com, 1 xq55.com, 1 xqin.net, 1 xqk7.com, 1 -xr.cx, 1 xr1s.me, 1 xrak.tk, 1 xrayreview.ml, 1 @@ -120376,6 +120106,7 @@ xuehao.tech, 1 xuehuang666.cn, 1 xuesoska.ga, 1 xuexi.icu, 0 +xujan.com, 0 xuming.studio, 1 xumm.community, 1 xumm.me, 1 @@ -120391,7 +120122,6 @@ xvadimx.me, 1 xvaldezendocrino.com, 1 xvidyo.ga, 1 xvii.pl, 1 -xviimusic.com, 1 xvix.eu, 1 xvmmod.com, 1 xvpn.io, 1 @@ -121020,6 +120750,7 @@ yilanju.com, 1 yilconstruction.ca, 1 yiluup.com, 0 yimgo.fr, 0 +yin8888.tv, 0 yinduyy.com, 0 yinfor.com, 1 ying.gift, 1 @@ -121032,6 +120763,7 @@ yingyj.com, 1 yingzi.ml, 1 yinlei.org, 1 yinyang.jp, 1 +yips.org.za, 0 yiyuanzhong.com, 1 yiz96.com, 1 yizhihuang.org, 1 @@ -121432,7 +121164,6 @@ yslocksandkeys.com, 1 ysoft.cloud, 1 yspa.tv, 1 yspertal.party, 1 -ysun.xyz, 1 ysuna.xyz, 1 yt129.com, 1 yt605.com, 1 @@ -121446,6 +121177,7 @@ ytec.ca, 1 ytegiadinhmilo.com, 1 ytexa.tk, 1 ytpak.pk, 1 +ytreza.fr, 1 ytterland.tk, 1 ytvideosaver.com, 1 ytvwld.de, 0 @@ -121681,7 +121413,6 @@ yzh8.net, 1 yzh8.vip, 1 yzimroni.net, 1 yzy6666.com, 1 -yzydo.com, 1 yzzy.cc, 0 z-cert.nl, 1 z-coder.com, 1 @@ -121966,11 +121697,6 @@ zahnarzt-kruft.de, 1 zahnarztpraxis-simone-koch.de, 1 zahnmedizinzentrum.com, 0 zahrowski.com, 1 -zaidan.de, 1 -zaidan.eu, 1 -zaidanfood.com, 1 -zaidanfood.eu, 1 -zaidanlebensmittelhandel.de, 1 zaija.tk, 1 zaim-best.ml, 1 zaim15min.cf, 1 @@ -122649,6 +122375,7 @@ zinglix.xyz, 1 zingpetfood.com, 1 zings.eu, 1 zinhar.tk, 1 +zinniazorgverlening.nl, 1 zinnowitzer-ferienwohnung.de, 1 zinoui.com, 1 zion-craft.tk, 1 @@ -122773,7 +122500,6 @@ zlogic.xyz, 1 zlogin.nl, 1 zlong6.com, 1 zlong6.net, 1 -zlonov.ru, 1 zlotykameleon.tk, 1 zlotyslawecin.tk, 1 zloybot.tk, 1 @@ -122797,7 +122523,7 @@ zmiguel.me, 1 zmk.fr, 0 zmprjg.ml, 1 zmuda.tk, 1 -zmy.im, 1 +zmy.im, 0 zmy666.com, 1 znaceni-max.cz, 1 znachenie-sna.cf, 1 @@ -122816,6 +122542,7 @@ znanie-sila.tk, 1 znaniya.cf, 1 znanje.gq, 1 znation.nl, 1 +znbr.com, 0 znd.jp, 1 zngay.com, 1 znhglobalresources.com, 1 diff --git a/services/settings/dumps/main/search-config.json b/services/settings/dumps/main/search-config.json index 2ad4783e89b49..b820ac0fcd01e 100644 --- a/services/settings/dumps/main/search-config.json +++ b/services/settings/dumps/main/search-config.json @@ -1,420 +1,5 @@ { "data": [ - { - "schema": 1639069022290, - "appliesTo": [ - { - "params": { - "searchUrlGetParams": [ - { - "name": "text", - "value": "{searchTerms}" - } - ] - }, - "default": "yes", - "override": true, - "application": { - "distributions": [ - "yandex-drp" - ] - }, - "extraParams": [ - { - "name": "clid", - "value": "2039342", - "purpose": "searchbar", - "condition": "purpose" - } - ] - }, - { - "params": { - "searchUrlGetParams": [ - { - "name": "text", - "value": "{searchTerms}" - } - ] - }, - "default": "yes", - "override": true, - "application": { - "distributions": [ - "yandex-planb" - ] - }, - "extraParams": [ - { - "name": "clid", - "value": "1857376", - "purpose": "searchbar", - "condition": "purpose" - } - ] - }, - { - "params": { - "searchUrlGetParams": [ - { - "name": "text", - "value": "{searchTerms}" - } - ] - }, - "default": "yes", - "override": true, - "application": { - "distributions": [ - "yandex-portals" - ] - }, - "extraParams": [ - { - "name": "clid", - "value": "1923034", - "purpose": "searchbar", - "condition": "purpose" - } - ] - }, - { - "params": { - "searchUrlGetParams": [ - { - "name": "text", - "value": "{searchTerms}" - } - ] - }, - "default": "yes", - "override": true, - "application": { - "distributions": [ - "yandex-ru" - ] - }, - "extraParams": [ - { - "name": "clid", - "value": "1923018", - "purpose": "searchbar", - "condition": "purpose" - } - ] - }, - { - "params": { - "searchUrlGetParams": [ - { - "name": "text", - "value": "{searchTerms}" - } - ] - }, - "default": "yes", - "override": true, - "application": { - "distributions": [ - "yandex-tr" - ] - }, - "extraParams": [ - { - "name": "clid", - "value": "1953197", - "purpose": "searchbar", - "condition": "purpose" - } - ] - }, - { - "params": { - "searchUrlGetParams": [ - { - "name": "text", - "value": "{searchTerms}" - } - ] - }, - "default": "yes", - "override": true, - "application": { - "distributions": [ - "yandex-tr-gezginler" - ] - }, - "extraParams": [ - { - "name": "clid", - "value": "1945716", - "purpose": "searchbar", - "condition": "purpose" - } - ] - }, - { - "params": { - "searchUrlGetParams": [ - { - "name": "text", - "value": "{searchTerms}" - } - ] - }, - "default": "yes", - "override": true, - "application": { - "distributions": [ - "yandex-tr-tamindir" - ] - }, - "extraParams": [ - { - "name": "clid", - "value": "1945686", - "purpose": "searchbar", - "condition": "purpose" - } - ] - }, - { - "default": "yes", - "included": { - "locales": { - "matches": [ - "uk" - ] - } - }, - "application": { - "distributions": [ - "yandex-uk" - ] - }, - "extraParams": [ - { - "name": "clid", - "value": "1923018", - "purpose": "searchbar", - "condition": "purpose" - } - ], - "webExtension": { - "locales": [ - "ua" - ] - } - }, - { - "params": { - "searchUrlGetParams": [ - { - "name": "text", - "value": "{searchTerms}" - } - ] - }, - "default": "yes", - "override": true, - "application": { - "distributions": [ - "yandex-ru-mz" - ] - }, - "extraParams": [ - { - "name": "clid", - "value": "2320519", - "purpose": "searchbar", - "condition": "purpose" - } - ] - }, - { - "default": "yes", - "included": { - "locales": { - "matches": [ - "ru", - "tr", - "be", - "kk" - ], - "startsWith": [ - "en" - ] - }, - "regions": [ - "ru", - "tr", - "by", - "kz" - ] - }, - "telemetryId": "yandex-en", - "webExtension": { - "locales": [ - "en" - ] - } - }, - { - "included": { - "locales": { - "matches": [ - "az" - ] - } - }, - "telemetryId": "yandex-az", - "webExtension": { - "locales": [ - "az" - ] - } - }, - { - "included": { - "locales": { - "matches": [ - "be" - ] - } - }, - "telemetryId": "yandex-by", - "webExtension": { - "locales": [ - "by" - ] - } - }, - { - "included": { - "locales": { - "matches": [ - "kk" - ] - } - }, - "telemetryId": "yandex-kk", - "webExtension": { - "locales": [ - "kk" - ] - } - }, - { - "included": { - "locales": { - "matches": [ - "ru" - ] - } - }, - "telemetryId": "yandex-ru", - "webExtension": { - "locales": [ - "ru" - ] - } - }, - { - "included": { - "locales": { - "matches": [ - "tr" - ] - } - }, - "telemetryId": "yandex-tr", - "webExtension": { - "locales": [ - "tr" - ] - } - }, - { - "default": "no", - "override": true, - "application": { - "distributions": [ - "mailru-001", - "okru-001" - ] - } - }, - { - "params": { - "searchUrlGetParams": [ - { - "name": "text", - "value": "{searchTerms}" - } - ] - }, - "default": "yes", - "override": true, - "application": { - "distributions": [ - "mint-001" - ] - }, - "extraParams": [ - { - "name": "clid", - "value": "2508838", - "purpose": "searchbar", - "condition": "purpose" - }, - { - "name": "clid", - "value": "2508841", - "purpose": "keyword", - "condition": "purpose" - } - ], - "telemetryId": "yandex-mint" - } - ], - "extraParams": [ - { - "name": "clid", - "value": "2186618", - "purpose": "searchbar", - "condition": "purpose" - }, - { - "name": "clid", - "value": "2186621", - "purpose": "keyword", - "condition": "purpose" - }, - { - "name": "clid", - "value": "2186623", - "purpose": "contextmenu", - "condition": "purpose" - }, - { - "name": "clid", - "value": "2186617", - "purpose": "homepage", - "condition": "purpose" - }, - { - "name": "clid", - "value": "2186620", - "purpose": "newtab", - "condition": "purpose" - } - ], - "webExtension": { - "id": "yandex@search.mozilla.org" - }, - "id": "a0e7f96a-14e0-4d56-9f54-e0c7e49fd306", - "last_modified": 1639155658146 - }, { "params": { "searchUrlGetParams": [ @@ -428,10 +13,18 @@ } ] }, - "schema": 1638818935195, + "schema": 1647173200890, "appliesTo": [ { "default": "yes-if-no-other", + "excluded": { + "regions": [ + "ru", + "tr", + "by", + "kz" + ] + }, "included": { "everywhere": true } @@ -468,68 +61,25 @@ }, "telemetryId": "google-b-e" }, - { - "default": "no", - "included": { - "locales": { - "matches": [ - "ru", - "tr", - "be", - "kk" - ], - "startsWith": [ - "en" - ] - }, - "regions": [ - "ru", - "tr", - "by", - "kz" - ], - "telemetryId": "google" - } - }, { "params": { "searchUrlGetParams": [ - { - "name": "client", - "value": "firefox-b-e" - }, { "name": "q", "value": "{searchTerms}" } ] }, - "default": "no", + "default": "yes", "included": { - "locales": { - "matches": [ - "ru", - "tr", - "be", - "kk" - ], - "startsWith": [ - "en" - ] - }, "regions": [ "ru", "tr", "by", "kz" - ], - "telemetryId": "google" - }, - "application": { - "channel": [ - "esr" ] - } + }, + "telemetryId": "google-com-nocodes" }, { "default": "no", @@ -722,7 +272,7 @@ "id": "google@search.mozilla.org" }, "id": "cb8e7210-9f0b-48fa-8708-b9a03df79eea", - "last_modified": 1639155658144 + "last_modified": 1647254756387 }, { "params": { @@ -2652,225 +2202,6 @@ "id": "f59fddbc-580b-4672-9cda-32941ceec730", "last_modified": 1589299342073 }, - { - "schema": 1588177656482, - "appliesTo": [ - { - "included": { - "locales": { - "matches": [ - "ru" - ] - } - } - }, - { - "default": "yes", - "included": { - "locales": { - "matches": [ - "ru" - ] - } - }, - "application": { - "distributions": [ - "mailru-001" - ] - }, - "webExtension": { - "locales": [ - "mailru001" - ] - } - }, - { - "default": "yes", - "included": { - "locales": { - "matches": [ - "az" - ] - } - }, - "application": { - "distributions": [ - "okru-001" - ] - }, - "webExtension": { - "locales": [ - "okru-az" - ] - } - }, - { - "default": "yes", - "included": { - "locales": { - "matches": [ - "en-US" - ] - } - }, - "application": { - "distributions": [ - "okru-001" - ] - }, - "webExtension": { - "locales": [ - "okru-en-US" - ] - } - }, - { - "default": "yes", - "included": { - "locales": { - "matches": [ - "hy-AM" - ] - } - }, - "application": { - "distributions": [ - "okru-001" - ] - }, - "webExtension": { - "locales": [ - "okru-hy-AM" - ] - } - }, - { - "default": "yes", - "included": { - "locales": { - "matches": [ - "kk" - ] - } - }, - "application": { - "distributions": [ - "okru-001" - ] - }, - "webExtension": { - "locales": [ - "okru-kk" - ] - } - }, - { - "default": "yes", - "included": { - "locales": { - "matches": [ - "ro" - ] - } - }, - "application": { - "distributions": [ - "okru-001" - ] - }, - "webExtension": { - "locales": [ - "okru-ro" - ] - } - }, - { - "default": "yes", - "included": { - "locales": { - "matches": [ - "ru" - ] - } - }, - "application": { - "distributions": [ - "okru-001" - ] - }, - "webExtension": { - "locales": [ - "okru-ru" - ] - } - }, - { - "default": "yes", - "included": { - "locales": { - "matches": [ - "tr" - ] - } - }, - "application": { - "distributions": [ - "okru-001" - ] - }, - "webExtension": { - "locales": [ - "okru-tr" - ] - } - }, - { - "default": "yes", - "included": { - "locales": { - "matches": [ - "uk" - ] - } - }, - "application": { - "distributions": [ - "okru-001" - ] - }, - "webExtension": { - "locales": [ - "okru-uk" - ] - } - }, - { - "default": "yes", - "included": { - "locales": { - "matches": [ - "uz" - ] - } - }, - "application": { - "distributions": [ - "okru-001" - ] - }, - "webExtension": { - "locales": [ - "okru-uz" - ] - } - } - ], - "webExtension": { - "id": "mailru@search.mozilla.org" - }, - "id": "e0ca4964-e324-44e7-80b6-16a831706d17", - "last_modified": 1589299342033 - }, { "schema": 1588177653636, "appliesTo": [ diff --git a/services/settings/dumps/security-state/intermediates.json b/services/settings/dumps/security-state/intermediates.json index 9cbc3b9a7903b..4aa1d4d0841e3 100644 --- a/services/settings/dumps/security-state/intermediates.json +++ b/services/settings/dumps/security-state/intermediates.json @@ -1,5 +1,23 @@ { "data": [ + { + "schema": 1647053841012, + "derHash": "8Hu73gdvm0DFfMS+/t6Xyh9Tua4UfwNdKEy/U/NDL7g=", + "subject": "CN=CFCA OV OCA,O=China Financial Certification Authority,C=CN", + "subjectDN": "MFUxCzAJBgNVBAYTAkNOMTAwLgYDVQQKDCdDaGluYSBGaW5hbmNpYWwgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxFDASBgNVBAMMC0NGQ0EgT1YgT0NB", + "whitelist": false, + "attachment": { + "hash": "bc37658d1568750ae385b92be54ede64df31899d30f67211fd1e015c9dc7803b", + "size": 1963, + "filename": "uc0FPx73f1ObHGmGZOcevy371Uo9asVjdabpiS0lKgQ=.pem", + "location": "security-state-staging/intermediates/8a832b56-3f0a-4b5f-8966-8a1da5242863.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "uc0FPx73f1ObHGmGZOcevy371Uo9asVjdabpiS0lKgQ=", + "crlite_enrolled": false, + "id": "b2b776e5-2b2f-4c8e-819d-026b8d3855d2", + "last_modified": 1647248247223 + }, { "schema": 1647046118886, "derHash": "AgcFbRcsgL37bcRb6eWAiEYHjR5u7xtu1wJZqzMqZME=", @@ -72,24 +90,6 @@ "id": "0cbd2855-9acf-477f-a083-016847b4753a", "last_modified": 1647053840388 }, - { - "schema": 1647046118696, - "derHash": "8Hu73gdvm0DFfMS+/t6Xyh9Tua4UfwNdKEy/U/NDL7g=", - "subject": "CN=CFCA OV OCA,O=China Financial Certification Authority,C=CN", - "subjectDN": "MFUxCzAJBgNVBAYTAkNOMTAwLgYDVQQKDCdDaGluYSBGaW5hbmNpYWwgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxFDASBgNVBAMMC0NGQ0EgT1YgT0NB", - "whitelist": false, - "attachment": { - "hash": "bc37658d1568750ae385b92be54ede64df31899d30f67211fd1e015c9dc7803b", - "size": 1963, - "filename": "uc0FPx73f1ObHGmGZOcevy371Uo9asVjdabpiS0lKgQ=.pem", - "location": "security-state-staging/intermediates/8a832b56-3f0a-4b5f-8966-8a1da5242863.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "uc0FPx73f1ObHGmGZOcevy371Uo9asVjdabpiS0lKgQ=", - "crlite_enrolled": true, - "id": "b2b776e5-2b2f-4c8e-819d-026b8d3855d2", - "last_modified": 1647053840376 - }, { "schema": 1646966924057, "derHash": "AYGythcxeVYudWMjRAN8pSMBhhin9xaCaaPrhTZ/91w=",
This is an automated email from the git hooks/post-receive script.
richard pushed a commit to branch tor-browser-91.8.0esr-11.0-1 in repository tor-browser.
commit 68f4e938cba3d9af4164c146c364d8c4081660b2 Author: Mark Banner standard8@mozilla.com AuthorDate: Tue Mar 15 16:18:49 2022 +0000
Bug 1759712 - Update tests for search-config changes. r=mkaply, a=test-only --- .../xpcshell/searchconfigs/test_distributions.js | 227 --------------------- .../tests/xpcshell/searchconfigs/test_google.js | 26 +-- .../tests/xpcshell/searchconfigs/test_mailru.js | 2 +- .../tests/xpcshell/searchconfigs/test_yandex.js | 2 +- 4 files changed, 7 insertions(+), 250 deletions(-)
diff --git a/toolkit/components/search/tests/xpcshell/searchconfigs/test_distributions.js b/toolkit/components/search/tests/xpcshell/searchconfigs/test_distributions.js index 01fb6efa8457f..af826efe33c4e 100644 --- a/toolkit/components/search/tests/xpcshell/searchconfigs/test_distributions.js +++ b/toolkit/components/search/tests/xpcshell/searchconfigs/test_distributions.js @@ -71,150 +71,6 @@ for (let canonicalId of ["canonical", "canonical-001", "canonical-002"]) { }); }
-tests.push({ - locale: "ru", - distribution: "mailru-001", - test: engines => - hasParams(engines, "Поиск Mail.Ru", "searchbar", "gp=900201") && - hasParams(engines, "Поиск Mail.Ru", "searchbar", "frc=900201") && - hasDefault(engines, "Поиск Mail.Ru") && - hasEnginesFirst(engines, ["Поиск Mail.Ru"]), -}); - -tests.push({ - locale: "ru", - region: "RU", - distribution: "mailru-001", - test: engines => - hasParams(engines, "Поиск Mail.Ru", "searchbar", "gp=900201") && - hasParams(engines, "Поиск Mail.Ru", "searchbar", "frc=900201") && - hasDefault(engines, "Поиск Mail.Ru") && - hasEnginesFirst(engines, ["Поиск Mail.Ru"]), -}); - -tests.push({ - locale: "az", - distribution: "okru-001", - test: engines => - hasParams(engines, "Поиск Mail.Ru", "searchbar", "gp=900209") && - hasParams(engines, "Поиск Mail.Ru", "searchbar", "frc=900209") && - hasDefault(engines, "Поиск Mail.Ru") && - hasEnginesFirst(engines, ["Поиск Mail.Ru"]), -}); - -tests.push({ - locale: "en-US", - distribution: "okru-001", - test: engines => - hasParams(engines, "Поиск Mail.Ru", "searchbar", "gp=900205") && - hasParams(engines, "Поиск Mail.Ru", "searchbar", "frc=900205") && - hasDefault(engines, "Поиск Mail.Ru") && - hasEnginesFirst(engines, ["Поиск Mail.Ru"]), -}); - -tests.push({ - locale: "hy-AM", - distribution: "okru-001", - test: engines => - hasParams(engines, "Поиск Mail.Ru", "searchbar", "gp=900211") && - hasParams(engines, "Поиск Mail.Ru", "searchbar", "frc=900211") && - hasDefault(engines, "Поиск Mail.Ru") && - hasEnginesFirst(engines, ["Поиск Mail.Ru"]), -}); - -tests.push({ - locale: "kk", - distribution: "okru-001", - test: engines => - hasParams(engines, "Поиск Mail.Ru", "searchbar", "gp=900206") && - hasParams(engines, "Поиск Mail.Ru", "searchbar", "frc=900206") && - hasDefault(engines, "Поиск Mail.Ru") && - hasEnginesFirst(engines, ["Поиск Mail.Ru"]), -}); - -tests.push({ - locale: "kk", - region: "KZ", - distribution: "okru-001", - test: engines => - hasParams(engines, "Поиск Mail.Ru", "searchbar", "gp=900206") && - hasParams(engines, "Поиск Mail.Ru", "searchbar", "frc=900206") && - hasDefault(engines, "Поиск Mail.Ru") && - hasEnginesFirst(engines, ["Поиск Mail.Ru"]), -}); - -tests.push({ - locale: "ro", - distribution: "okru-001", - test: engines => - hasParams(engines, "Поиск Mail.Ru", "searchbar", "gp=900207") && - hasParams(engines, "Поиск Mail.Ru", "searchbar", "frc=900207") && - hasDefault(engines, "Поиск Mail.Ru") && - hasEnginesFirst(engines, ["Поиск Mail.Ru"]), -}); - -tests.push({ - locale: "ru", - distribution: "okru-001", - test: engines => - hasParams(engines, "Поиск Mail.Ru", "searchbar", "gp=900203") && - hasParams(engines, "Поиск Mail.Ru", "searchbar", "frc=900203") && - hasDefault(engines, "Поиск Mail.Ru") && - hasEnginesFirst(engines, ["Поиск Mail.Ru"]), -}); - -tests.push({ - locale: "ru", - region: "RU", - distribution: "okru-001", - test: engines => - hasParams(engines, "Поиск Mail.Ru", "searchbar", "gp=900203") && - hasParams(engines, "Поиск Mail.Ru", "searchbar", "frc=900203") && - hasDefault(engines, "Поиск Mail.Ru") && - hasEnginesFirst(engines, ["Поиск Mail.Ru"]), -}); - -tests.push({ - locale: "tr", - distribution: "okru-001", - test: engines => - hasParams(engines, "Поиск Mail.Ru", "searchbar", "gp=900210") && - hasParams(engines, "Поиск Mail.Ru", "searchbar", "frc=900210") && - hasDefault(engines, "Поиск Mail.Ru") && - hasEnginesFirst(engines, ["Поиск Mail.Ru"]), -}); - -tests.push({ - locale: "tr", - region: "TR", - distribution: "okru-001", - test: engines => - hasParams(engines, "Поиск Mail.Ru", "searchbar", "gp=900210") && - hasParams(engines, "Поиск Mail.Ru", "searchbar", "frc=900210") && - hasDefault(engines, "Поиск Mail.Ru") && - hasEnginesFirst(engines, ["Поиск Mail.Ru"]), -}); - -tests.push({ - locale: "uk", - distribution: "okru-001", - test: engines => - hasParams(engines, "Поиск Mail.Ru", "searchbar", "gp=900204") && - hasParams(engines, "Поиск Mail.Ru", "searchbar", "frc=900204") && - hasDefault(engines, "Поиск Mail.Ru") && - hasEnginesFirst(engines, ["Поиск Mail.Ru"]), -}); - -tests.push({ - locale: "uz", - distribution: "okru-001", - test: engines => - hasParams(engines, "Поиск Mail.Ru", "searchbar", "gp=900208") && - hasParams(engines, "Поиск Mail.Ru", "searchbar", "frc=900208") && - hasDefault(engines, "Поиск Mail.Ru") && - hasEnginesFirst(engines, ["Поиск Mail.Ru"]), -}); - tests.push({ locale: "zh-CN", region: "CN", @@ -462,89 +318,6 @@ tests.push({ test: engines => hasDefault(engines, "GMX - Recherche web"), });
-tests.push({ - locale: "ru", - distribution: "yandex-drp", - test: engines => - hasParams(engines, "Яндекс", "searchbar", "clid=2039342") && - // Test that fallback works correct as well. - hasParams(engines, "Яндекс", "contextmenu", "clid=2039342") && - hasDefault(engines, "Яндекс") && - hasEnginesFirst(engines, ["Яндекс"]), -}); - -tests.push({ - locale: "ru", - distribution: "yandex-planb", - test: engines => - hasParams(engines, "Яндекс", "searchbar", "clid=1857376") && - hasDefault(engines, "Яндекс") && - hasEnginesFirst(engines, ["Яндекс"]), -}); - -tests.push({ - locale: "ru", - distribution: "yandex-portals", - test: engines => - hasParams(engines, "Яндекс", "searchbar", "clid=1923034") && - hasDefault(engines, "Яндекс") && - hasEnginesFirst(engines, ["Яндекс"]), -}); - -tests.push({ - locale: "ru", - distribution: "yandex-ru", - test: engines => - hasParams(engines, "Яндекс", "searchbar", "clid=1923018") && - hasDefault(engines, "Яндекс") && - hasEnginesFirst(engines, ["Яндекс"]), -}); - -tests.push({ - locale: "tr", - distribution: "yandex-tr", - test: engines => - hasParams(engines, "Yandex", "searchbar", "clid=1953197") && - hasDefault(engines, "Yandex") && - hasEnginesFirst(engines, ["Yandex"]), -}); - -tests.push({ - locale: "tr", - distribution: "yandex-tr-gezginler", - test: engines => - hasParams(engines, "Yandex", "searchbar", "clid=1945716") && - hasDefault(engines, "Yandex") && - hasEnginesFirst(engines, ["Yandex"]), -}); - -tests.push({ - locale: "tr", - distribution: "yandex-tr-tamindir", - test: engines => - hasParams(engines, "Yandex", "searchbar", "clid=1945686") && - hasDefault(engines, "Yandex") && - hasEnginesFirst(engines, ["Yandex"]), -}); - -tests.push({ - locale: "uk", - distribution: "yandex-uk", - test: engines => - hasParams(engines, "Яндекс", "searchbar", "clid=1923018") && - hasDefault(engines, "Яндекс") && - hasEnginesFirst(engines, ["Яндекс"]), -}); - -tests.push({ - locale: "ru", - distribution: "yandex-ru-mz", - test: engines => - hasParams(engines, "Яндекс", "searchbar", "clid=2320519") && - hasDefault(engines, "Яндекс") && - hasEnginesFirst(engines, ["Яндекс"]), -}); - function hasURLs(engines, engineName, url, suggestURL) { let engine = engines.find(e => e._name === engineName); Assert.ok(engine, `Should be able to find ${engineName}`); diff --git a/toolkit/components/search/tests/xpcshell/searchconfigs/test_google.js b/toolkit/components/search/tests/xpcshell/searchconfigs/test_google.js index 2a7068c29f0f8..6cc2c2703faed 100644 --- a/toolkit/components/search/tests/xpcshell/searchconfigs/test_google.js +++ b/toolkit/components/search/tests/xpcshell/searchconfigs/test_google.js @@ -10,13 +10,6 @@ const test = new SearchConfigTest({ // Included everywhere apart from the exclusions below. These are basically // just excluding what Yandex and Baidu include. excluded: [ - { - regions: ["ru", "tr", "by", "kz"], - locales: { - matches: ["ru", "tr", "be", "kk"], - startsWith: ["en"], - }, - }, { regions: ["cn"], locales: { @@ -34,10 +27,8 @@ const test = new SearchConfigTest({ { included: [{ regions: ["us"] }], domain: "google.com", - telemetryId: AppConstants.MOZ_APP_VERSION_DISPLAY.endsWith("esr") - ? "google-b-1-e" - : "google-b-1-d", - codes: AppConstants.MOZ_APP_VERSION_DISPLAY.endsWith("esr") + telemetryId: AppConstants.IS_ESR ? "google-b-1-e" : "google-b-1-d", + codes: AppConstants.IS_ESR ? "client=firefox-b-1-e" : "client=firefox-b-1-d", }, @@ -45,20 +36,13 @@ const test = new SearchConfigTest({ excluded: [{ regions: ["us", "by", "kz", "ru", "tr"] }], included: [{}], domain: "google.com", - telemetryId: AppConstants.MOZ_APP_VERSION_DISPLAY.endsWith("esr") - ? "google-b-e" - : "google-b-d", - codes: AppConstants.MOZ_APP_VERSION_DISPLAY.endsWith("esr") - ? "client=firefox-b-e" - : "client=firefox-b-d", + telemetryId: AppConstants.IS_ESR ? "google-b-e" : "google-b-d", + codes: AppConstants.IS_ESR ? "client=firefox-b-e" : "client=firefox-b-d", }, { - excluded: [{ regions: ["us"] }], included: [{ regions: ["by", "kz", "ru", "tr"] }], domain: "google.com", - codes: AppConstants.MOZ_APP_VERSION_DISPLAY.endsWith("esr") - ? "client=firefox-b-e" - : "client=firefox-b-d", + telemetryId: "google-com-nocodes", }, ], }); diff --git a/toolkit/components/search/tests/xpcshell/searchconfigs/test_mailru.js b/toolkit/components/search/tests/xpcshell/searchconfigs/test_mailru.js index 2d2a42c19be21..4d413f0b5bcf6 100644 --- a/toolkit/components/search/tests/xpcshell/searchconfigs/test_mailru.js +++ b/toolkit/components/search/tests/xpcshell/searchconfigs/test_mailru.js @@ -35,4 +35,4 @@ add_task(async function setup() {
add_task(async function test_searchConfig_mailru() { await test.run(); -}); +}).skip(); diff --git a/toolkit/components/search/tests/xpcshell/searchconfigs/test_yandex.js b/toolkit/components/search/tests/xpcshell/searchconfigs/test_yandex.js index 5495c672ac70a..c315165e5fe8a 100644 --- a/toolkit/components/search/tests/xpcshell/searchconfigs/test_yandex.js +++ b/toolkit/components/search/tests/xpcshell/searchconfigs/test_yandex.js @@ -114,4 +114,4 @@ add_task(async function setup() {
add_task(async function test_searchConfig_yandex() { await test.run(); -}); +}).skip();
This is an automated email from the git hooks/post-receive script.
richard pushed a commit to branch tor-browser-91.8.0esr-11.0-1 in repository tor-browser.
commit cd1fe8df165ce7dd8f41a43cb5f25e8d4616a73d Author: Olli Pettay Olli.Pettay@helsinki.fi AuthorDate: Tue Mar 15 10:50:46 2022 +0000
Bug 1751609, trigger localization at expected time, r=mccr8 a=RyanVM
Differential Revision: https://phabricator.services.mozilla.com/D141094 --- dom/base/Document.cpp | 12 +++++++++--- dom/l10n/DocumentL10n.cpp | 2 ++ 2 files changed, 11 insertions(+), 3 deletions(-)
diff --git a/dom/base/Document.cpp b/dom/base/Document.cpp index a58e76cb52580..4152a6d69217a 100644 --- a/dom/base/Document.cpp +++ b/dom/base/Document.cpp @@ -4178,8 +4178,13 @@ void Document::LocalizationLinkAdded(Element* aLinkElement) { mDocumentL10n->AddResourceId(href);
if (mReadyState >= READYSTATE_INTERACTIVE) { - mDocumentL10n->Activate(true); - mDocumentL10n->TriggerInitialTranslation(); + RefPtr<DocumentL10n> l10n = mDocumentL10n; + RefPtr<Runnable> r = NS_NewRunnableFunction( + "DocumentL10n::TriggerInitialTranslation()", [l10n]() { + l10n->Activate(true); + l10n->TriggerInitialTranslation(); + }); + nsContentUtils::AddScriptRunner(r.forget()); } else { if (!mDocumentL10n->mBlockingLayout) { // Our initial translation is going to block layout start. Make sure @@ -4235,7 +4240,8 @@ void Document::OnParsingCompleted() { OnL10nResourceContainerParsed();
if (mDocumentL10n) { - mDocumentL10n->TriggerInitialTranslation(); + RefPtr<DocumentL10n> l10n = mDocumentL10n; + l10n->TriggerInitialTranslation(); } }
diff --git a/dom/l10n/DocumentL10n.cpp b/dom/l10n/DocumentL10n.cpp index 3d8efec317d37..06b62d75f314b 100644 --- a/dom/l10n/DocumentL10n.cpp +++ b/dom/l10n/DocumentL10n.cpp @@ -6,6 +6,7 @@
#include "DocumentL10n.h" #include "nsIContentSink.h" +#include "nsContentUtils.h" #include "mozilla/dom/AutoEntryScript.h" #include "mozilla/dom/Document.h" #include "mozilla/dom/DocumentL10nBinding.h" @@ -102,6 +103,7 @@ NS_IMPL_CYCLE_COLLECTING_ADDREF(L10nReadyHandler) NS_IMPL_CYCLE_COLLECTING_RELEASE(L10nReadyHandler)
void DocumentL10n::TriggerInitialTranslation() { + MOZ_ASSERT(nsContentUtils::IsSafeToRunScript()); if (mState >= DocumentL10nState::InitialTranslationTriggered) { return; }
This is an automated email from the git hooks/post-receive script.
richard pushed a commit to branch tor-browser-91.8.0esr-11.0-1 in repository tor-browser.
commit 4b51a6854eddb576aa2d035876948b85e195aea9 Author: ffxbld ffxbld@mozilla.com AuthorDate: Thu Mar 17 10:58:28 2022 +0000
No Bug, mozilla-esr91 repo-update HSTS HPKP remote-settings tld-suffixes - a=repo-update r=RyanVM
Differential Revision: https://phabricator.services.mozilla.com/D141340 --- netwerk/dns/effective_tld_names.dat | 12 +- security/manager/ssl/StaticHPKPins.h | 2 +- security/manager/ssl/nsSTSPreloadList.inc | 296 ++++------ .../dumps/blocklists/addons-bloomfilters.json | 47 ++ .../dumps/security-state/intermediates.json | 616 ++++++++++++++++++--- 5 files changed, 693 insertions(+), 280 deletions(-)
diff --git a/netwerk/dns/effective_tld_names.dat b/netwerk/dns/effective_tld_names.dat index 28ae956771114..4109bedbdd017 100644 --- a/netwerk/dns/effective_tld_names.dat +++ b/netwerk/dns/effective_tld_names.dat @@ -10827,7 +10827,7 @@ onavstack.net *.advisor.ws
// AZ.pl sp. z.o.o: https://az.pl -// Submited by Krzysztof Wolski krzysztof.wolski@home.eu +// Submitted by Krzysztof Wolski krzysztof.wolski@home.eu ecommerce-shop.pl
// b-data GmbH : https://www.b-data.io @@ -12280,7 +12280,7 @@ günstigbestellen.de günstigliefern.de
// Hakaran group: http://hakaran.cz -// Submited by Arseniy Sokolov security@hakaran.cz +// Submitted by Arseniy Sokolov security@hakaran.cz fin.ci free.hr caa.li @@ -12323,7 +12323,7 @@ development.run ravendb.run
// home.pl S.A.: https://home.pl -// Submited by Krzysztof Wolski krzysztof.wolski@home.eu +// Submitted by Krzysztof Wolski krzysztof.wolski@home.eu homesklep.pl
// Hong Kong Productivity Council: https://www.hkpc.org/ @@ -12433,7 +12433,7 @@ to.leg.br pixolino.com
// Internet-Pro, LLP: https://netangels.ru/ -// Submited by Vasiliy Sheredeko piphon@gmail.com +// Submitted by Vasiliy Sheredeko piphon@gmail.com na4u.ru
// iopsys software solutions AB : https://iopsys.eu/ @@ -12456,7 +12456,7 @@ iserv.dev iobb.net
// Jelastic, Inc. : https://jelastic.com/ -// Submited by Ihor Kolodyuk ik@jelastic.com +// Submitted by Ihor Kolodyuk ik@jelastic.com mel.cloudlets.com.au cloud.interhostsolutions.be users.scale.virtualcloud.com.br @@ -13083,7 +13083,7 @@ operaunite.com tech.orange
// Oursky Limited : https://authgear.com/, https://skygear.io/ -// Submited by Authgear Team hello@authgear.com, Skygear Developer hello@skygear.io +// Submitted by Authgear Team hello@authgear.com, Skygear Developer hello@skygear.io authgear-staging.com authgearapps.com skygearapp.com diff --git a/security/manager/ssl/StaticHPKPins.h b/security/manager/ssl/StaticHPKPins.h index 3936a5a77bfd4..7fa4d38abb5ac 100644 --- a/security/manager/ssl/StaticHPKPins.h +++ b/security/manager/ssl/StaticHPKPins.h @@ -1149,4 +1149,4 @@ static const TransportSecurityPreload kPublicKeyPinningPreloadList[] = {
static const int32_t kUnknownId = -1;
-static const PRTime kPreloadPKPinsExpirationTime = INT64_C(1655722278235000); +static const PRTime kPreloadPKPinsExpirationTime = INT64_C(1655981447060000); diff --git a/security/manager/ssl/nsSTSPreloadList.inc b/security/manager/ssl/nsSTSPreloadList.inc index 75fa415106062..f664e4651c89e 100644 --- a/security/manager/ssl/nsSTSPreloadList.inc +++ b/security/manager/ssl/nsSTSPreloadList.inc @@ -8,7 +8,7 @@ /*****************************************************************************/
#include <stdint.h> -const PRTime gPreloadListExpirationTime = INT64_C(1658141469874000); +const PRTime gPreloadListExpirationTime = INT64_C(1658400639549000); %% 0--1.de, 1 0-1.party, 1 @@ -487,6 +487,7 @@ const PRTime gPreloadListExpirationTime = INT64_C(1658141469874000); 10xnation.com, 1 1100.so, 1 1100110.xyz, 1 +110110110.net, 1 11018vip.com, 1 11018xpj.com, 1 110692.com, 1 @@ -603,6 +604,7 @@ const PRTime gPreloadListExpirationTime = INT64_C(1658141469874000); 1120348.com, 1 1120349.com, 1 1120350.com, 1 +112112112.net, 1 11221jz.com, 1 11223837.com, 0 112app.nl, 1 @@ -610,6 +612,7 @@ const PRTime gPreloadListExpirationTime = INT64_C(1658141469874000); 112hz.com, 1 112it.ro, 0 112krimpen.tk, 1 +113113113.net, 1 11321365.com, 1 11333837.com, 1 11335835.com, 0 @@ -848,30 +851,8 @@ const PRTime gPreloadListExpirationTime = INT64_C(1658141469874000); 123365t.com, 1 1234.link, 1 123410.xyz, 1 -1234365.vip, 0 1234365a.com, 1 -1234365b.com, 0 -1234365c.com, 0 -1234365d.com, 0 -1234365e.com, 0 -1234365f.com, 0 -1234365g.com, 0 -1234365h.com, 0 -1234365i.com, 0 -1234365j.com, 0 1234365k.com, 1 -1234365l.com, 0 -1234365m.com, 0 -1234365n.com, 0 -1234365o.com, 0 -1234365p.com, 0 -1234365q.com, 0 -1234365s.com, 0 -1234365u.com, 0 -1234365v.com, 0 -1234365vip.com, 0 -1234365w.com, 0 -1234365x.com, 0 1234365y.com, 1 1234365z.com, 0 12345.lv, 1 @@ -1490,6 +1471,7 @@ const PRTime gPreloadListExpirationTime = INT64_C(1658141469874000); 1password.eu, 1 1picture.hu, 1 1pieces.com, 1 +1plus-agency.com, 1 1plus.red, 1 1pluss.ee, 1 1pw.ca, 1 @@ -2526,6 +2508,7 @@ const PRTime gPreloadListExpirationTime = INT64_C(1658141469874000); 375ks.com, 1 377625.com, 1 377632.com, 1 +3778vip.com, 0 377ks.com, 1 377zzz.com, 1 37879.com, 0 @@ -3197,7 +3180,6 @@ const PRTime gPreloadListExpirationTime = INT64_C(1658141469874000); 4meizu.ru, 1 4mm.org, 1 4motionsgmbh.de, 1 -4mybaby.ch, 0 4nikola.de, 1 4obgyne.com, 1 4played.de, 1 @@ -4885,34 +4867,8 @@ const PRTime gPreloadListExpirationTime = INT64_C(1658141469874000); 8560.be, 1 8602010.com, 1 860vv.com, 1 -861365.com, 0 861365.vip, 1 -861365a.com, 0 -861365b.com, 0 -861365c.com, 0 -861365d.com, 0 -861365e.com, 0 -861365f.com, 0 -861365g.com, 0 -861365h.com, 0 -861365i.com, 0 -861365j.com, 0 -861365k.com, 0 -861365l.com, 0 -861365m.com, 0 861365n.com, 0 -861365o.com, 0 -861365q.com, 0 -861365r.com, 0 -861365s.com, 0 -861365t.com, 0 -861365u.com, 0 -861365v.com, 0 -861365vip.com, 0 -861365w.com, 0 -861365x.com, 0 -861365y.com, 0 -861365z.com, 0 861kb.com, 1 8649955.com, 1 8649966.com, 1 @@ -6689,7 +6645,6 @@ actionsack.com, 1 actionverb.com, 1 activatemyiphone.com, 1 activatenow.com, 1 -activateudid.com, 1 active-baby.com, 1 active-english.tk, 1 active247.info, 1 @@ -7191,6 +7146,7 @@ advancedbotoxclinic.com, 1 advanceddermmohssurgery.com, 1 advanceddermtribeca.com, 1 advanceddieselspokane.com, 0 +advanceddisposables.co.uk, 0 advancedelectricalservicesqld.com.au, 1 advancedendoscopycenter.net, 1 advancedhealthmedical.com.au, 1 @@ -7289,6 +7245,7 @@ advokat-dtp.gq, 1 advokat-dtp.ml, 1 advokat-dtp.tk, 1 advokat-malinovskii.ml, 1 +advokat-romanov.com, 1 advokat-vvp.com.ua, 1 advokat73.gq, 1 advokati-ceva.cz, 1 @@ -7466,6 +7423,7 @@ afbrtv.com, 1 afbrunswick.com, 1 afbryt.com, 1 afcmrs.org, 0 +afcmrsfeedback.org, 0 afcmrstest.org, 1 afcurgentcarelyndhurst.com, 0 afdah.se, 1 @@ -7920,6 +7878,7 @@ agourahillsoutdoorlighting.com, 1 agouralandscapelighting.com, 1 agouralighting.com, 1 agouraoutdoorlighting.com, 1 +agowa338.de, 1 agpideas.com, 1 agpsn.com, 1 agptco.com, 1 @@ -8021,7 +7980,6 @@ ahealthyjourney.ca, 1 ahegaoroulette.com, 1 ahelos.tk, 1 ahenkerp.com, 1 -ahero4all.org, 1 ahg-offices.fr, 1 ahhcomfortshoes.com, 1 ahidta.gov, 1 @@ -8171,6 +8129,7 @@ aimax.com, 1 aimd.tech, 1 aimdigital.tk, 1 aimeeandalec.com, 1 +aimerworld.com, 0 aimi-salon.com, 1 aimless.tk, 1 aimlessempire.tk, 1 @@ -9510,7 +9469,6 @@ almanassa.run, 1 almanea.email, 1 almanea.org, 1 almanilan.com, 1 -almanssur.com, 1 almarail.tk, 1 almargen.ga, 1 almargen.tk, 1 @@ -9825,7 +9783,6 @@ alwayshowher.tk, 1 alwayslookingyourbest.com, 1 alwaysmine.fi, 1 alwaysonssl.com, 1 -alwayswanderlust.com, 1 alxclub.tk, 1 alxlegal.com, 1 alxu.ca, 1 @@ -10614,6 +10571,7 @@ anduril.eu, 1 andy-hagans.tk, 1 andyblu.me, 1 andybrett.com, 1 +andyc.cc, 1 andycatteceur.tk, 1 andycraftz.eu, 1 andycrockett.io, 1 @@ -10845,6 +10803,7 @@ animestreamingfr.fr, 1 animetosho.org, 1 animetriad.com, 1 animewallpapers.tk, 1 +animorphsfanforum.com, 1 animoxavilorza.tk, 1 aninews.tk, 1 anip.icu, 1 @@ -10984,7 +10943,6 @@ annuncisesso.tk, 1 annyaurora.net, 1 annynantasiri.com, 1 anodas.lt, 1 -anohana.org, 1 anojan.com, 1 anomalous.eu, 1 anomaly.tk, 1 @@ -11099,7 +11057,6 @@ antephaber.tk, 1 anteprima.info, 1 anteroleppanen.fi, 1 antfarm.cf, 1 -anthedesign.fr, 1 anthisis.tv, 1 anthony-bardon.eu, 1 anthony.games, 1 @@ -11313,7 +11270,6 @@ anywhereworks.com, 1 anzalikala.com, 1 anzeiger.ag, 1 anzimatech.com, 1 -ao-dev.com, 1 ao2.it, 1 ao27.net, 1 ao3-cn.top, 1 @@ -12489,6 +12445,7 @@ artioml.net, 1 artionet.ch, 1 artis-game.net, 1 artisan-cheminees-poeles-design.fr, 0 +artisan-emmanuel.fr, 1 artisan.tk, 1 artisansofstone.com, 1 artisansoftaste.com, 1 @@ -12652,7 +12609,7 @@ ascension.run, 1 ascensiongt.com, 1 ascensionparishla.gov, 1 ascensori.biz, 1 -ascgathering.com, 1 +aschaefer.net, 0 aschismatic.com, 1 aschool.kiev.ua, 1 asciitable.tips, 1 @@ -14936,7 +14893,6 @@ badboy-club.tk, 1 badboyzclub.de, 1 badcarma.tk, 1 badcomputer.tk, 1 -badcreditcarsfinance.co.uk, 1 baddrones.llc, 1 badeand.net, 1 baderscott.com, 1 @@ -15320,7 +15276,6 @@ bankanswers.gov, 1 bankasubeleri.tk, 1 bankbranchlocator.com, 1 bankcardoffer.com, 1 -bankcircle.co.in, 1 bankee.us, 1 bankera.com, 1 banket-furshet-spb.ru, 1 @@ -17159,7 +17114,7 @@ bet333x.com, 1 bet333y.com, 1 bet333z.com, 1 bet338c.com, 1 -bet33app.com, 1 +bet33app.com, 0 bet3639.com, 0 bet365bc.net, 1 bet365bet2020.com, 1 @@ -17255,7 +17210,6 @@ bet86xz.com, 1 bet86yn.com, 1 bet86zj.com, 1 bet909.com, 1 -bet916.com, 0 bet9ja.com, 1 beta-site-staging.azurewebsites.net, 1 beta.hosting, 1 @@ -18518,7 +18472,6 @@ bkamp.de, 1 bkentertainments.co.uk, 1 bkgatl.com, 1 bkhpilates.co.uk, 1 -bkkf.at, 1 bkkposn.com, 1 bkl-ca-qa-employeeapp.azurewebsites.net, 1 bklaindia.com, 1 @@ -18909,7 +18862,6 @@ blog-story.tk, 1 blog.gparent.org, 1 blog.gt, 1 blog.kg, 1 -blog.lookout.com, 1 blog.torproject.org, 0 blog.vu, 1 blogabout.ru, 1 @@ -19270,6 +19222,7 @@ bodyhealthcare.tk, 1 bodymassage.cf, 1 bodymod.tk, 1 bodymusclejournal.com, 1 +bodypainter.pl, 1 bodypainting.waw.pl, 1 bodyshaping.ml, 1 bodyshopnews.net, 1 @@ -19591,7 +19544,6 @@ boostdesign.tk, 1 boostgame.win, 1 boostplm.com, 1 booths.cyou, 1 -bootina.com, 1 bootlesshacker.com, 1 boots-shop.tk, 1 bootsa.ga, 1 @@ -19806,7 +19758,6 @@ bouncingbuddiesleicester.co.uk, 1 bouncingbuzzybees.co.uk, 1 bouncinghigher.co.uk, 1 bouncingscotland.com, 1 -bouncourseplanner.net, 1 bouncy-castles-surrey.co.uk, 1 bouncy-tots.co.uk, 1 bouncybaileys.co.uk, 1 @@ -20331,6 +20282,7 @@ brguk.com, 1 bri.fyi, 1 brian-ormond.tk, 1 brianalaway.com, 1 +brianalawayconsulting.com, 1 briandorey.com, 0 briandwells.com, 0 brianfanzo.com, 1 @@ -20758,7 +20710,6 @@ bsdunix.xyz, 1 bserved.de, 0 bsf-knowledgecity.com, 1 bsg.ro, 1 -bsgamanet.ro, 1 bsgcredit.ro, 1 bsidesf.com, 1 bsidesf.org, 1 @@ -21698,7 +21649,7 @@ bwcscorecard.org, 1 bweston.ga, 1 bwf11.com, 1 bwf55.com, 1 -bwf6.com, 1 +bwf6.com, 0 bwf77.com, 1 bwf99.com, 1 bwfc.nl, 1 @@ -21798,7 +21749,6 @@ bytebe.at, 0 bytebucket.org, 1 bytecrafter.com, 1 bytecrafter.net, 1 -byteflies.com, 1 bytema.cz, 1 bytema.eu, 1 bytema.re, 1 @@ -22189,7 +22139,6 @@ calibermind.com, 1 calibra.com, 1 calibreapp.com, 1 calibso.net, 1 -calichines.com, 1 caliderumba.com, 1 calidoinvierno.com, 1 californiabudgetfinance.tk, 1 @@ -23474,6 +23423,7 @@ catbox.moe, 1 catbull.com, 1 catcat.cc, 1 catchall.tw, 1 +catchcrabs.com, 1 catchers.cc, 1 catchhimandkeephim.com, 1 catchief.com, 1 @@ -24108,6 +24058,7 @@ cesipagano.com, 1 cesium.ml, 1 ceska-polygraficka.cz, 1 ceska-polygraficka.eu, 1 +ceskaexpedice.org, 1 ceskepivnesety.sk, 1 ceskepivnisety.cz, 1 cesobaly.cz, 1 @@ -24488,7 +24439,6 @@ chatsworthelectrical.com, 1 chattahoocheefl.gov, 1 chattergallery.com, 1 chatticketsers.ga, 1 -chattingorcheating.com, 1 chattomania.it, 1 chatu.io, 1 chatu.me, 1 @@ -26777,6 +26727,7 @@ coinroom.com, 1 coins2001.ru, 1 coinsales.net, 1 coinsconnect.co.uk, 1 +coinsmat.com, 1 coinsuggest.com, 1 cointosh.jp, 1 cointree.com, 1 @@ -27584,6 +27535,7 @@ consultoriadigital.pt, 1 consultoriosodontologicos.com.br, 1 consultorseobr.com.br, 1 consultpetkov.com, 1 +consulvation.com, 1 consumer.ee, 1 consumer.gov, 0 consumer.gq, 1 @@ -28513,6 +28465,7 @@ creativeground.com.au, 1 creativeideasagency.com, 1 creativeink.de, 1 creativekkids.com, 1 +creativelaw.eu, 1 creativeliquid.com, 1 creativelysustainable.com, 1 creativemindslms.tk, 1 @@ -29629,6 +29582,7 @@ cylindehea.com, 1 cylindricity.com, 1 cyllos.me, 1 cymricweb.com, 1 +cynicaloptimist.me, 1 cynology.ga, 1 cynop.me, 1 cynthiacherry.com, 1 @@ -29667,6 +29621,7 @@ cysec.biz, 1 cysmo.de, 1 cyson.tech, 1 cytat.tk, 1 +cytech.com.tr, 1 cytegic-update-packages.com, 1 cythereaxxx.com, 1 cytophil.com, 1 @@ -29762,10 +29717,7 @@ d88-livechat.com, 0 d88.ag, 1 d88.cc, 1 d88.cn.com, 1 -d88.com, 1 d88.xyz, 1 -d881.net, 1 -d8811.net, 1 d88118.com, 1 d8812.com, 1 d8814.com, 1 @@ -29782,7 +29734,6 @@ d8853.com, 1 d8855.vip, 1 d8859.com, 1 d885vip.com, 1 -d886.net, 1 d886vip.com, 1 d8870.net, 1 d8872.net, 1 @@ -30065,6 +30016,7 @@ danandrum.com, 1 danangcitytours.com, 1 danarozmarin.com, 1 danashamsters.tk, 1 +danbaldwinart.com, 1 danbarrett.com.au, 0 danbergen.com, 1 danca.com, 1 @@ -31195,6 +31147,7 @@ deeonix.eu, 1 deep-chess.com, 0 deep-labs.com, 1 deep-wave-hair-extensions.tk, 1 +deep.club, 1 deepaero.com, 1 deeparamaraj.com, 1 deepbluecrafting.co.uk, 1 @@ -32187,7 +32140,6 @@ dexonservicedeskws.azurewebsites.net, 1 dexonsoftware.com, 0 dexterseries.ru, 1 dextra.tk, 1 -deyanadeco.com, 1 deyute.com, 1 dez-online.de, 1 dezea.net, 1 @@ -32487,7 +32439,6 @@ diegobarrosmaia.com.br, 1 diegocoy.com, 1 diegoforlan.tk, 1 diegogelin.com, 0 -diegogonzalez.com.co, 1 diegogranada.tk, 1 diegoisla.ga, 1 diegomeza.tk, 1 @@ -33274,7 +33225,6 @@ dixie.com, 0 dixieweld.com, 1 dixmag.com, 1 dixoncountyne.gov, 1 -diyanet.nl, 0 diyanetruya.tk, 1 diyarbakirescmagazin.tk, 1 diycc.org, 1 @@ -33545,6 +33495,7 @@ dmc.cc, 1 dmc030.de, 1 dmccommerceconsultants.de, 1 dmclix.com, 1 +dmcw.de, 1 dmd.lv, 1 dmdd.org.uk, 1 dmdiamonds.tk, 1 @@ -34541,6 +34492,7 @@ drach.xyz, 1 dracheisolation.tk, 1 drachenleder.de, 1 dracisvet.cz, 1 +dracoon.team, 1 dracox.com, 0 dracula.city, 1 draft.cards, 1 @@ -36140,6 +36092,7 @@ earfolds.com, 1 earli.com, 1 earlsttech.ca, 1 earlybetter.com, 1 +earlyimage.com.au, 1 earlyvoting.cf, 1 earlyvoting.gq, 1 earlyvoting.ml, 1 @@ -36330,6 +36283,7 @@ ebci-nsn.gov, 1 ebcired-nsn.gov, 1 eben18.net, 1 ebenda.org, 1 +ebenezersbarnandgrill.com, 1 ebenisterie-de-villenouvelle.fr, 1 ebenvloedaanleggen.nl, 1 ebermannstadt.de, 0 @@ -37328,6 +37282,8 @@ electricconejovalley.com, 1 electricdosvientos.com, 1 electricdreams.xyz, 1 electricfencingballito.co.za, 1 +electricfencinghillcrest.co.za, 1 +electricfencingpinetown.co.za, 1 electricfireplaces.tk, 1 electricgatemotorsalberton.co.za, 1 electricgatemotorsballito.co.za, 1 @@ -37582,6 +37538,7 @@ eliasong.com, 1 eliaswendt.com, 0 eliaswendt.de, 0 eliav.tk, 1 +elib.com, 1 elibidore.ml, 1 elibom.com, 1 elie.net, 1 @@ -39019,7 +38976,11 @@ esball518.net, 1 esball518.org, 1 esball888.com, 1 esball888.net, 1 +esballs.com, 1 +esbfun.com, 1 +esbfun.net, 1 esbgood.com, 1 +esbjon.net, 1 esbuilders.co.nz, 0 esc-romania.tk, 1 esc-turkey.tk, 1 @@ -41337,7 +41298,6 @@ fbi.gov, 1 fbigame.com, 1 fbihr.gov, 1 fbiic.gov, 1 -fbijobs.gov, 1 fbo.gov, 1 fbo.network, 1 fboerman.nl, 1 @@ -41924,7 +41884,6 @@ fiduciaire-azur.com, 0 fiduciaire-ratio.ch, 0 fieggen.eu, 1 fieggen.net, 1 -fieldexpert.eu, 1 fieldsgynroboticsurgery.com, 1 fienaliri.tk, 1 fierce-escarpment-59441.herokuapp.com, 1 @@ -42301,7 +42260,6 @@ firebirdrangecookers.com, 1 firebounty.com, 1 fireboxfood.com, 1 firebrandchurch.com, 1 -firebugmusic.com, 1 firecask.com, 1 firechip.cc, 1 firechip.srl, 1 @@ -42389,7 +42347,6 @@ firstclassleisure.co.uk, 1 firstclassnuisance.tk, 1 firstclinic.tk, 1 firstcoastteaco.com, 1 -firstcolonyengraving.com, 1 firstcontact.cf, 1 firstderm.com, 1 firstdorsal.eu, 1 @@ -42910,6 +42867,7 @@ florianbecker.it, 1 florianbouchet.fr, 1 florianimdahl.de, 1 floriankarmen.com, 1 +floriankeller.de, 0 florianmitrea.uk, 1 florianschmitt.ca, 1 floriantanner.ch, 1 @@ -44034,6 +43992,7 @@ franfoto.com, 1 frangipane.tk, 1 frank-lastia.tk, 1 frank-wendy.tk, 1 +frank.fyi, 1 frankbellamy.co.uk, 1 franke-chemie.de, 1 frankellawfirm.com, 1 @@ -45580,7 +45539,6 @@ gamegrad.tk, 1 gameharbor.eu, 1 gamehighquality.tk, 1 gameimani.ga, 1 -gameindustry.eu, 1 gameisbest.jp, 1 gamejobs.co, 1 gamekb.gq, 1 @@ -46700,6 +46658,7 @@ getgeek.io, 1 getgeek.no, 1 getgeek.nu, 1 getgeek.pl, 1 +getgeek.se, 1 gethome.ru, 1 gethost.co.zw, 1 gethttpsforfree.com, 1 @@ -47639,7 +47598,6 @@ goatbot.xyz, 1 goatcloud.com, 1 goatstore.ca, 1 goatstudio.sg, 1 -goaudits.com, 1 gobarrelroll.com, 1 gobi.tk, 1 gobiernousa.gov, 1 @@ -47657,6 +47615,7 @@ gocleanerslondon.co.uk, 1 goclix.ml, 1 gocphongthuy.net, 1 god-clan.hu, 1 +god-esb.com, 1 godalivetpalandet.tk, 1 godall.tk, 1 godan.tech, 1 @@ -47666,6 +47625,7 @@ godaxen.tv, 1 godbo9.com, 0 godclan.hu, 1 goddg.com, 1 +godesb.com, 1 godesigner.ru, 1 godfilm.tk, 1 godiscovers.com, 1 @@ -48234,7 +48194,7 @@ gpspolis.nl, 1 gpsroomers.ga, 1 gpsvideocanada.com, 1 gpswebsoft.ml, 1 -gpu.nu, 0 +gpu.nu, 1 gpwa.org, 1 gpwaconference.com, 1 gpwatimes.org, 1 @@ -49003,6 +48963,7 @@ gruzoperevozki.ml, 1 gruzoperevozki.tk, 1 grwebdesigns.gr, 1 gryffin.ga, 1 +gryffin.ml, 1 gryffin.tk, 1 gryphzia.cf, 1 gryte.tk, 1 @@ -49139,7 +49100,6 @@ guestnetscript.tk, 1 guestofhonor.tk, 1 gueules-cassees.asso.fr, 1 guevener.de, 1 -gueze-ardeche.fr, 1 gueze-sas.fr, 1 gufen.ga, 1 gufen.gq, 1 @@ -49195,7 +49155,6 @@ guilfordct.gov, 1 guillaume-briand.fr, 1 guillaumecote.me, 1 guillaumematheron.fr, 1 -guillaumeperrin.io, 1 guillaumepommier.com, 1 guillemagullo.tk, 1 guillemaud.me, 0 @@ -49591,6 +49550,7 @@ hackendoz.com, 1 hackengine.ga, 1 hackenkunjeleren.nl, 1 hackenturet.dk, 1 +hacker.club, 1 hacker.deals, 1 hacker.holiday, 1 hacker.im, 1 @@ -49622,7 +49582,6 @@ hackerone.net, 1 hackerone.org, 1 hackeronte.tk, 1 hackers-networks.tk, 1 -hackerspace-ntnu.no, 1 hackerspace.rocks, 1 hackerstory.tk, 1 hackersw0rld.tk, 1 @@ -50084,7 +50043,6 @@ happymine.nl, 1 happymondayclub.com, 1 happymothersday.tk, 1 happynight.tk, 1 -happyretail.co, 1 happyrunning.tk, 1 happyschnapper.com, 1 happyscubadiving.tk, 1 @@ -51700,6 +51658,7 @@ highlnk.com, 1 highnation.ml, 1 highperformance.ie, 1 highplainssiding.com, 1 +highpressuretech.com, 1 highqappliance.com, 1 highrank.cf, 1 highrank.ga, 1 @@ -51748,6 +51707,7 @@ hilinecreators.tk, 1 hill.selfip.net, 1 hillcountryoralsurgery.com, 1 hillcrestplumber.co.za, 1 +hillcrestswimclub.com, 1 hillexplorer.com, 1 hillier-swift.co.uk, 1 hillner.eu, 1 @@ -51878,7 +51838,6 @@ hispanic.dating, 1 hispanidad.tk, 1 hispasat.es, 1 hispasys.com, 1 -hisregistries.com, 1 hisregistries.net, 1 hisregistries.org, 1 histhist.ru, 1 @@ -52059,7 +52018,6 @@ hm773.org, 1 hmarchat.tk, 1 hmcdj.cn, 1 hme360.com, 1 -hmeonot.org.il, 0 hmnd.io, 1 hmoegirl.com, 1 hmri.org.au, 1 @@ -52293,6 +52251,7 @@ holytransaction.com, 1 holyubofficial.net, 1 holywhite.com, 1 holywr.it, 1 +holz.nu, 1 holzed.com, 1 holzschutz-holzbearbeitung.de, 1 holzspielzeug-shop.ch, 1 @@ -52740,6 +52699,7 @@ horoscopimages.tk, 1 horoscopos-amor.com, 0 horotoday.tk, 1 horozo.com, 1 +horrell.ca, 1 horrendous-servers.com, 1 horror-forum.de, 1 horrorfreaks.tk, 1 @@ -52852,7 +52812,6 @@ hostreputation.com, 1 hosts.cf, 0 hostux.network, 1 hostwinds.com, 1 -hosuronline.com, 1 hosuto.nl, 1 hot-and-new.gr, 1 hot-models.tk, 1 @@ -53178,7 +53137,6 @@ hrmn.xyz, 1 hrndz.io, 1 hro.to, 1 hrobert.hu, 1 -hroling.nl, 1 hromaticworld.tk, 1 hroschyk.cz, 1 hrpage.ml, 1 @@ -53304,6 +53262,9 @@ httpswatch.nl, 1 htxnet.biz, 1 hu-a-u.com, 1 hu.search.yahoo.com, 0 +hua-in.net, 1 +hua-li88.com, 1 +hua-li88.net, 1 huabianwa.com, 1 huagati.com, 1 huahinpropertylisting.com, 1 @@ -54622,6 +54583,7 @@ ilawgix.com, 1 ilazycat.com, 1 ilbiglietto24.eu, 1 ilbiscottificiodipamparato.it, 1 +ilc999.com, 0 ilcourthelp.gov, 1 ilctucson.com, 1 ildepu.tk, 1 @@ -54963,6 +54925,7 @@ impactpub.ch, 0 impactshaker.com, 1 impakho.com, 1 impaqservices.org, 1 +impartesco.com, 1 impas.se, 1 impay.one, 1 impec-cable.com, 1 @@ -55042,7 +55005,6 @@ improvebusinessonline.info, 1 improved-madness.de, 1 improvenerg.com, 1 improveyourvision.tk, 1 -improvingwp.com, 1 impudence.tk, 1 impuls.tk, 1 impulse-clan.de, 1 @@ -55910,7 +55872,6 @@ inspirez-vous-sophro.com, 1 inspreeveryone.ga, 1 insrt.uk, 0 insside.net, 1 -insta-drive.com, 1 insta-viewer.ml, 1 instaart.org, 1 instacart.com, 1 @@ -56562,11 +56523,9 @@ ipggroup.com, 1 iphonesoft.fr, 1 iphoneunlock.nu, 1 iphostreputation.com, 1 -ipid.me, 1 ipigri.tk, 1 ipinfo.tw, 1 ipioneer.ga, 1 -iplaycraft.ru, 1 iplayradio.net, 0 ipleak.net, 1 ipledgeonline.org, 0 @@ -56882,7 +56841,6 @@ ishiharaken.com, 1 ishimen.co.jp, 1 ishland.com, 1 ishopforpowerserg.com, 1 -ishotagency.com, 1 ishtyl.com, 1 isidore.uk, 1 isiklitabela.tk, 1 @@ -57127,7 +57085,6 @@ it-xperts.be, 1 it-zt.at, 1 it.search.yahoo.com, 0 it1b.com, 1 -it4sure.nl, 1 it82.com, 1 itabenar.tk, 1 itactiq.com, 1 @@ -57973,6 +57930,7 @@ japanwatches.xyz, 1 jape.today, 1 japlin.io, 1 japlin.tk, 1 +japonyol.net, 1 jaquelin.tk, 1 jar.cool, 1 jar.io, 0 @@ -58172,7 +58130,6 @@ jbsinternational.com, 1 jbsoftware.ca, 1 jbt-stl.com, 1 jcadg.com, 1 -jcai.dk, 1 jcaicedo.com, 1 jcaicedo.tk, 1 jcb.com, 1 @@ -58334,6 +58291,7 @@ jeep-diagnost.ml, 1 jeep4ik.com, 1 jeepeg.com, 1 jeeptourpocos.com.br, 1 +jeeran.com, 1 jeeranservices.com, 1 jeevanmag.tk, 1 jef.yt, 1 @@ -58867,6 +58825,7 @@ joanmoreira.tk, 1 joanofarcmtcarmel.org, 1 joansoy.com, 1 joaoaugusto.net, 0 +joaobautista.com, 0 joaojunior.com, 1 joaosampaio.com.br, 1 job-chocolat.jp, 1 @@ -59024,6 +58983,7 @@ johnbeil.com, 1 johnblackbourn.com, 1 johnblackwell.net, 1 johnblotsky.tk, 1 +johnbpodcast.com, 1 johncam.tk, 1 johncook.co.uk, 1 johncook.ltd.uk, 1 @@ -59278,7 +59238,6 @@ jose-alexand.re, 1 jose-latino.tk, 1 jose-lesson.com, 1 jose-manuel-benito-alvarez.tk, 1 -josealonsodds.com, 1 joseenriquegonzalez.tk, 1 joseetesser.nl, 1 josef-lotz.de, 1 @@ -59441,6 +59400,7 @@ jpshop.ru, 1 jpsinflatables.co.uk, 1 jpslconsulting.ca, 1 jpst.it, 1 +jpvermogensregie.com, 1 jqlin.com, 1 jqlsql.com, 1 jquery.wtf, 1 @@ -59642,6 +59602,7 @@ julianxhokaxhiu.com, 1 juliaoantiguidades.com.br, 1 juliasugar.net, 1 juliawebber.co.za, 1 +juliazeengardendesign.co.uk, 1 julibear.com, 1 julie-and-stevens-wedding.com, 1 juliebradford.co.uk, 1 @@ -59968,7 +59929,6 @@ k6729.com, 0 k6957.co, 1 k6957.com, 0 k7azx.com, 1 -k8.com, 1 k801.com, 0 k805.net, 0 k80608.com, 1 @@ -60059,7 +60019,6 @@ k88652.com, 0 k88670.com, 0 k88671.com, 1 k88672.com, 0 -k88870.com, 1 k889.co, 1 k8892.com, 1 k89.app, 1 @@ -60098,7 +60057,6 @@ ka4ka.cf, 1 ka4ka.ml, 1 kaagsebc.nl, 1 kaamoscreations.com, 1 -kaangenc.me, 0 kaaniche.xyz, 1 kaany.io, 1 kaaraali.fr, 1 @@ -60283,7 +60241,6 @@ kalender.com, 1 kalender.goip.de, 1 kalerne.tk, 1 kalevlamps.co.uk, 1 -kalex.nl, 1 kaleylocks.com, 1 kalhufvudet.se, 1 kaliaa.fi, 1 @@ -60372,7 +60329,6 @@ kamiyo.tk, 1 kamlunglelystad.tk, 1 kamnob.com, 1 kamokiminoyu.net, 1 -kamp-kisten.nl, 1 kampffische.tk, 1 kamppailusali.fi, 1 kampunginggris-ue.com, 1 @@ -60639,7 +60595,6 @@ kartonki.tk, 1 kartonmodellbau.org, 1 kartpay.com, 1 kartpower.tk, 1 -karty.in, 1 karula.org, 1 karupp-did.net, 1 karussell.com.tr, 1 @@ -60866,7 +60821,6 @@ kb750.com, 1 kb82.net, 1 kb86.net, 1 kb88.com, 1 -kb88818.com, 1 kb88dc05.com, 1 kb88dc12.com, 1 kb88dc15.com, 1 @@ -61168,7 +61122,6 @@ kerijacoby.com, 1 kerkdienststream.nl, 1 kerkeslager.com, 1 kermadec.com, 1 -kermadec.fr, 1 kermadec.net, 1 kermispagina.tk, 1 kernel-error.com, 1 @@ -61295,7 +61248,6 @@ keyinfo.io, 1 keykong.io, 1 keylaserinstitute.com, 1 keylength.com, 1 -keymach.com, 1 keymaster.lookout.com, 0 keymicrosystems.com, 1 keynes.id.au, 1 @@ -61324,6 +61276,7 @@ kf099.com, 1 kf196.com, 1 kf199.com, 1 kf2525.com, 1 +kf388.com, 1 kf6628.com, 1 kf6636.com, 1 kf66888.com, 1 @@ -61837,6 +61790,7 @@ kismy.tk, 1 kismyder.tk, 1 kissen.li, 1 kisser.name, 1 +kissesb.com, 1 kissesb.net, 1 kissgyms.com, 1 kissima-gakou.ml, 1 @@ -62280,7 +62234,6 @@ koalas.org, 1 koba.jp, 1 kobar.id, 1 kobb.tk, 1 -kobejet.com, 1 kobezda.net, 1 kobieta.guru, 1 kobietydokodu.pl, 1 @@ -63086,10 +63039,7 @@ ks0599.com, 1 ks0618.com, 1 ks0660.com, 1 ks068.com, 1 -ks0788.com, 1 ks080.com, 1 -ks081.com, 1 -ks0858.com, 1 ks0877.com, 1 ks0886.com, 1 ks0888.com, 1 @@ -63795,6 +63745,7 @@ ladakhtrip.tours, 1 ladanivabelgium.tk, 1 ladanmokhtari.tk, 1 ladbroke.net, 1 +ladeboks.dk, 1 ladedu.com, 1 ladelicateparenthese.com, 1 ladenzeile.at, 1 @@ -64253,7 +64204,7 @@ lapolvora.ga, 1 laportedufutur.org, 1 lapotagere.ch, 0 lapparente-aise.ch, 0 -lappari.com, 0 +lappari.com, 1 lappersfort.tk, 1 lapps.es, 1 laprensadelasagradafamilia.org, 1 @@ -64846,8 +64797,10 @@ lc8950.com, 1 lc897.com, 1 lc8a.com, 1 lc8c.com, 1 +lc8dc28.com, 0 lc8guidance.com, 1 lc8md77.com, 1 +lc9108.com, 0 lc9158.com, 1 lc9256.com, 1 lc98.net, 1 @@ -65299,6 +65252,7 @@ legland.fr, 1 legna.roma.it, 1 legnami24.it, 1 legoktm.com, 1 +legoutcheznous.com, 1 legoutdesplantes.be, 1 legow.tk, 1 legowerewolf.net, 0 @@ -65875,7 +65829,6 @@ lianglongcredit.com, 1 liangxingai.com, 1 liangyichen.net, 1 lianwen.kim, 1 -lianye1.cc, 1 liaozheqi.cn, 1 liaronce.com, 1 lib64.net, 1 @@ -66015,7 +65968,6 @@ lidel.org, 1 lidernaturascarlettbados.com, 1 liderok.tk, 1 liderwalut.pl, 0 -lidl-foto.it, 1 lidl-fotos.de, 1 lidl-gewinnspiel.de, 1 lidl-holidays.com, 1 @@ -67542,7 +67494,6 @@ long228.com, 1 long266.com, 1 long68.net, 1 long688.com, 0 -long8.com, 1 long8021.com, 1 long8026.com, 1 long8032.com, 1 @@ -67592,7 +67543,6 @@ looker.wang, 0 lookgadgets.com, 1 lookie.ml, 1 lookingstores.fr, 0 -lookout.com, 1 lookup-dns.net, 1 loomis.center, 1 loonbedrijfdenboer.nl, 1 @@ -68101,7 +68051,6 @@ lucreds.com, 1 lucschiltz.com, 1 luctam.com, 1 lucy.science, 1 -lucybles.com, 1 lucychan.tk, 1 lucycorn.com, 1 lucyhancock.tech, 1 @@ -68648,6 +68597,7 @@ macawos.com, 1 macaws.org, 1 macbook.es, 1 maccabi-dent.com, 1 +macdj.tk, 1 macedonian-hotels.com.mk, 1 macedonian-hotels.mk, 1 macehead.tk, 1 @@ -68782,7 +68732,6 @@ madkids.ga, 1 madknight.tk, 1 madlandezboard.tk, 1 madluging.tk, 1 -madmar.ee, 1 madmasters.tk, 1 madmax-store.gr, 1 madmaxstore.it, 1 @@ -69051,7 +69000,7 @@ mahurivaishya.co.in, 1 mahurivaishya.com, 1 maiaimobiliare.ro, 1 maianduc.vn, 1 -maichun.info, 1 +maichun.info, 0 maid.tk, 1 maidenliput.fi, 1 maidenworld.tk, 1 @@ -69402,6 +69351,7 @@ mamasorganizedchaos.com, 1 mamaxi.org, 1 mamaznaet.ml, 1 mambas.cn, 1 +mamboo.com, 1 mambos.tk, 1 mamburao.tk, 1 mame.cl, 1 @@ -71081,7 +71031,6 @@ mdrthmcs.io, 1 mds-paris.com, 1 mdsave.com, 1 mdscomp.net, 1 -mdsconcept.fr, 1 mdsglobal.com, 1 mdswlegal.com, 1 mdtorelli.it, 1 @@ -71954,6 +71903,7 @@ mellmon.com, 1 mellonne.com, 1 melnessgroup.com, 1 melodicprogressivehouse.com, 0 +melodict.com, 1 melodija.tk, 1 melodiouscode.co.uk, 1 melodiouscode.com, 1 @@ -72563,6 +72513,7 @@ miagentemicasa.com, 1 miagexport.com, 1 miah.top, 1 mialma.live, 1 +miamiaquatours.com, 1 miamibeachcommunitychurch.com, 1 miamifl.casa, 1 miamifl.homes, 1 @@ -73496,7 +73447,6 @@ mit-uns.org, 1 mit.gg, 0 mita-beutel.tk, 1 mita.me, 1 -mitarbeiter-pc.de, 1 mitarbeiterbefragungen.com, 1 mitarbeitermotivation-anleitungen.de, 1 mitchell.id, 1 @@ -74175,7 +74125,6 @@ molenaagtekerke.tk, 1 molenaar-ricardo.tk, 1 moleskinestudio.com, 1 molidaytravel.com, 1 -molinero.xyz, 1 molinillo.tk, 1 moliporex.pt, 1 mollaretsmeningitis.org, 1 @@ -74225,7 +74174,6 @@ momsagainstcooties.com, 1 momsays.co.za, 1 momstableonline.com, 1 momtazz.net, 1 -momut.org, 1 momy-genealogie.info, 1 mon-a-lisa.com, 1 mon-agenda.org, 0 @@ -75920,7 +75868,6 @@ mycoupons.com, 1 mycr.eu, 1 mycreativeartsconsulting.com, 1 mycreativenook.com, 1 -mycreditcardcenter.com, 1 mycreditcardclub.com, 1 mycreditunion.gov, 1 mycrm.coach, 1 @@ -76144,7 +76091,6 @@ mylocality.shop, 1 mylocalmortgage.co.uk, 1 mylocraft.tk, 1 myloneworkers.com, 1 -mylookout.com, 0 mylotto.co.nz, 1 mylover.be, 1 mylrd.xyz, 1 @@ -77110,6 +77056,7 @@ naturalbladdercontrol.tk, 1 naturalcosmetics.cf, 1 naturaldisasters.tk, 1 naturalezafengshui.com, 1 +naturalfit.co.uk, 1 naturalflowerpower.com, 1 naturalkitchen.co.uk, 1 naturallyvegan.de, 1 @@ -77930,6 +77877,7 @@ netzklad.de, 1 netzona.org, 1 netzspielplatz.de, 0 netzsv.website, 1 +netztest.at, 1 netzvieh.de, 1 netzwerk-lq.com, 1 netzwerk-sozialliberal.de, 1 @@ -78172,6 +78120,7 @@ newsforyou.cf, 1 newsgroups.io, 1 newshell.it, 1 newshome.tk, 1 +newshour.media, 1 newsig.com, 1 newsignature.com, 1 newsinfo71.com, 1 @@ -79692,6 +79641,7 @@ nsep.gov, 1 nsfw-story.com, 1 nshepp-dct-development.azurewebsites.net, 1 nshipster.cn, 1 +nshipster.co.kr, 1 nshipster.com, 1 nshipster.es, 1 nsine.be, 1 @@ -79842,6 +79792,7 @@ numismed-seniorcare.de, 1 numista.com, 1 nummer378.de, 1 numo.co, 1 +numwave.nl, 1 numxl.com, 1 nunesgh.com, 1 nunnenmacher.net, 1 @@ -80838,7 +80789,6 @@ olive.my, 1 oliveconcept.com, 1 oliveiraerios.adv.br, 1 olivejs.com, 1 -olivemultispecialist.com, 1 oliveoil.bot, 1 oliveoil.pro, 1 oliveoilschool.org, 1 @@ -80933,6 +80883,7 @@ omandatapark.com, 1 omangrid.com, 1 omanhr.cf, 1 omanko.porn, 0 +omaosurveys.org, 0 omarans.com, 1 omarbaba.shop, 1 omarh.net, 1 @@ -80948,7 +80899,6 @@ omayn.com, 1 ombregialle.it, 1 omdesign.cz, 0 omega-intranet.com, 1 -omega-marijuana.com, 1 omegachess.tk, 1 omegahosting.net, 1 omegalan.tk, 1 @@ -81045,6 +80995,7 @@ oncodedesign.com, 1 oncologynote.com, 1 oncotarget.ru, 1 ond-inc.com, 1 +ond-inc.jp, 1 ondajoven.tk, 1 ondav.com, 1 ondcp.gov, 1 @@ -81518,7 +81469,6 @@ opendolls.com, 1 opendor.me, 1 openevic.info, 1 openfir.st, 1 -openfitapi-falke.azurewebsites.net, 1 openformula.com, 1 openforvintage.com, 1 openfuture.digital, 1 @@ -81831,7 +81781,6 @@ ordilo.org, 1 ordina.tk, 1 ordoh.com, 1 ordoro.com, 1 -ordr.mobi, 1 ordr.net, 1 ordr.no, 1 orduhaberleri.tk, 1 @@ -82527,6 +82476,7 @@ p-t.io, 1 p-vegas.com, 1 p.lu, 1 p02.de, 1 +p0l.de, 1 p10.ru, 1 p1984.nl, 0 p1cn.com, 1 @@ -83825,7 +83775,6 @@ pcccthicongcungcap.com, 1 pcchin.com, 1 pccomc.tk, 1 pcdbank.com, 1 -pcdn.cf, 1 pcdocjim.com, 1 pcdomain.com, 1 pcdroid.ga, 1 @@ -84288,6 +84237,7 @@ pereezd.ml, 1 peremena.ml, 1 peresypchanka.tk, 1 pereuda.com, 1 +perevedi.org, 1 perevedut.cf, 1 perewall.tk, 1 perez-marrero.com, 1 @@ -84731,6 +84681,7 @@ pgmsp.net, 1 pgmtechnologies.com, 1 pgnetwork.net, 1 pgp.lol, 1 +pgp.network, 1 pgpaintanddesign.com, 1 pgpmail.cc, 1 pgprosupplies.com, 1 @@ -87579,7 +87530,6 @@ primos-tech.com, 1 primuspartners.in, 1 princedavidlodge.org.uk, 1 princefamilylaw.co.uk, 1 -princelishan.com, 1 princelishan.com.tw, 1 princemathew.tk, 1 princemolak.ga, 1 @@ -87737,6 +87687,7 @@ priveadressen.tk, 1 privelust.nl, 1 priverify.com, 1 privilegevisa.fr, 1 +privorot-taro.com, 1 privorot.cf, 1 privu.me, 1 privy-staging.com, 1 @@ -88270,6 +88221,7 @@ protection.ga, 1 protectionformula.com.ua, 1 protectwrap.ml, 1 protege.moi, 1 +protegetudescanso.com, 1 proteh.com.ua, 1 protein-riegel-test.de, 1 proteinreport.org, 1 @@ -88451,6 +88403,7 @@ psicoexpansao.com.br, 1 psicologajanainapresotto.com.br, 1 psicologo-especialista-barcelona.com, 1 psicologo-infantil-barcelona.com, 1 +psicologomogidascruzes.com.br, 1 psicometricas.mx, 1 psihologonline.tk, 1 psihology.gq, 1 @@ -88687,7 +88640,6 @@ puggan.se, 1 pugilares.com.pl, 1 pugovka72.ru, 1 puhe.se, 1 -puhka.me, 1 puhudefu.de, 1 puissancemac.ch, 0 puiterwijk.org, 1 @@ -89186,6 +89138,7 @@ qqmingzi.cc, 1 qqq6.com, 0 qqq67.com, 1 qqqq.plus, 1 +qqrss.com, 1 qr.ae, 1 qr.cl, 1 qr.sb, 1 @@ -89408,7 +89361,6 @@ quest7.jp, 1 questbars.cf, 1 questbars.ga, 1 questbars.gq, 1 -questdairy.com, 1 questforgaming.com, 1 questfororgasm.com, 1 questiii.com, 1 @@ -89953,6 +89905,7 @@ raewardfresh.co.nz, 1 rafaelsobis.tk, 1 rafaeltuber.cf, 1 rafaroca.net, 1 +rafas.com.tr, 1 rafclan.tk, 1 raffaellaosti.com, 1 raffleshospital.co.id, 0 @@ -90111,6 +90064,7 @@ rallybase.cz, 1 rallybase.eu, 1 rallycycling.com, 0 rallyfotosaswin.tk, 1 +rallypodium.be, 1 rallyservice.pl, 1 rallytrophy.tk, 1 ralphbisschops.com, 1 @@ -90382,7 +90336,6 @@ ravihotel.com, 0 ravijuhend.ee, 1 ravik.tk, 1 ravimiamet.ee, 1 -ravindran.me, 1 raviparekh.co.uk, 1 ravis.org, 1 ravkr.duckdns.org, 1 @@ -90772,7 +90725,6 @@ receptionsbook.com, 1 recessmonkeyz.tk, 1 recetasboricuas.com, 1 recetasdemape.com, 1 -recettecookeo.net, 1 recettes-series.com, 1 rechenknaecht.de, 1 rechenwerk.net, 1 @@ -90928,6 +90880,7 @@ reddyai.com, 1 rede-reim.de, 1 rede-t.com, 1 redearsliderturtles.com, 1 +redecsirt.pt, 1 redeemingbeautyminerals.com, 1 redefineyounow.com, 1 redelectrical.co.uk, 0 @@ -91892,7 +91845,6 @@ revistacocina.tk, 1 revistadiscover.com, 1 revistaespecies.ga, 1 revistaligustinus.tk, 1 -revistasomos.com, 1 revitalisierungs-akademie.de, 1 reviuu.com, 1 revivalinhisword.com, 1 @@ -93739,7 +93691,6 @@ rutten.me, 0 ruttenadvocaat.be, 1 ruudkoot.nl, 1 ruurdboomsma.nl, 1 -ruvinroshan.com, 1 ruwhof.net, 1 ruxit.com, 0 ruya.com, 1 @@ -93761,6 +93712,7 @@ rvpoweroutlet.com, 1 rvsa2bevestigingen.nl, 1 rvsa4bevestigingen.nl, 1 rvsbevestigingen.nl, 1 +rvsuitlaatdelen.nl, 1 rvvc.im, 1 rw-invest.com, 1 rw.search.yahoo.com, 0 @@ -93953,7 +93905,6 @@ sabhijobs.com, 1 sabians.tk, 1 sabine-forschbach.de, 1 sabineforschbach.de, 1 -sabkappers.nl, 1 sablanout.com, 1 sable.gq, 1 sabmobile.pk, 1 @@ -94034,7 +93985,6 @@ saf.earth, 1 safalfasalonline.in, 1 safar.sk, 1 safara.host, 1 -safarimasaimara.com, 1 safaritenten.nl, 1 safatech.me, 1 safc.tk, 1 @@ -94332,6 +94282,7 @@ salesforce-setup.com, 1 salesforce-sites.com, 1 salesforce.mil, 1 salesforcescrt.com, 1 +salesmachine.io, 1 salesmd.com, 1 salesoutcomes.com, 1 salesprocessing.gq, 1 @@ -94355,7 +94306,6 @@ sally-secret.com, 1 sallyandruss.ca, 1 sallyangeli.tk, 1 sallycooke.co.uk, 1 -sallydowns.name, 1 sallyjo.tk, 1 sallyman.de, 1 sallysubs.com, 0 @@ -95424,7 +95374,6 @@ schorelweb.nl, 1 schorers.org, 1 schottenland.de, 1 schoutenseo.com, 1 -schrader-institute.de, 1 schrauber.tk, 1 schrauger.com, 1 schrauger.info, 1 @@ -95776,6 +95725,7 @@ sduconnect.nl, 0 sduoxminty.cn, 1 sdut.gq, 1 sdvigpress.org, 0 +sdvx.net, 0 sdxcentral.com, 1 sdyzmun.club, 1 se-booster.com, 1 @@ -95912,7 +95862,6 @@ seboluo.com, 1 seboreia.tk, 1 sebster.com, 1 seby.io, 1 -sec-mails.de, 1 sec-research.com, 1 sec-tunnel.com, 1 sec-wiki.com, 1 @@ -96083,6 +96032,7 @@ securityintelligence.com, 1 securitykey.co, 1 securitypluspro.com, 1 securitypuppy.com, 1 +securityrussia.com, 1 securitysense.co.uk, 1 securitysnobs.com, 0 securitysoapbox.com, 1 @@ -96316,7 +96266,6 @@ semaphore-studios.com, 1 sembosihosting.tk, 1 sembska.de, 1 sembyotic.com, 1 -semdynamics.com, 1 semena-ua.ml, 1 semenov.ml, 1 semenov.su, 1 @@ -96460,6 +96409,7 @@ sentry.io, 1 sentry.nu, 1 sentrybay.com, 1 sentworks.com, 1 +senu.pro, 1 senzaparole.de, 1 senzei.tk, 1 seo-analyse.com, 1 @@ -96806,6 +96756,7 @@ seseai.ga, 1 sesenaonline.tk, 1 sesliturkgencligi.tk, 1 sesrdcem.cz, 1 +sessile-oak.co.uk, 1 session.bbc.co.uk, 1 session.bbc.com, 1 sessionslogning.dk, 1 @@ -98193,7 +98144,6 @@ silicon-vision.com, 1 silina.tk, 1 silindir-taslama.tk, 1 silken-madame.tk, 1 -silkon.net, 1 silkproducts.tk, 1 sillisalaatti.fi, 1 sillysnapz.co.uk, 1 @@ -98656,7 +98606,6 @@ sirenslove.com, 1 sirg.fr, 1 siri.cc, 1 siria.tk, 1 -sirihouse.com, 1 siriuspro.pl, 1 siriuspup.com, 1 sirnakhaber.tk, 1 @@ -98831,7 +98780,6 @@ skachat-zip.tk, 1 skachay-knighki.gq, 1 skachay-photo.gq, 1 skagen-feriebolig.dk, 1 -skaginn.tv, 1 skaiman.ga, 1 skaitliukas.tk, 1 skalar.sk, 1 @@ -99128,7 +99076,6 @@ skywalkersa.ga, 1 skywindowsnj.com, 1 skyworldlinktravels.com, 1 skyworldserver.ddns.net, 1 -skywt.cn, 1 skyynet.de, 1 skyzimba.com.br, 1 sl-alarm.ru, 1 @@ -99137,7 +99084,6 @@ sl-informatique.ovh, 1 sl.al, 1 sl0.us, 1 sl41.com.br, 1 -sl66.cc, 1 slab.com, 1 slabstage.com, 1 slack-files.com, 1 @@ -99177,7 +99123,6 @@ slavblog.ru, 1 slaws.io, 1 slayingqueen.com, 1 slbknives.com, 1 -sld08.com, 1 sldev.ovh, 1 sldlcdn.com, 1 sledgeroofing.com, 1 @@ -99733,7 +99678,6 @@ snizl.com, 1 snj.pt, 1 snoerendevelopment.nl, 0 snohomishsepticservice.com, 1 -snoopyfacts.com, 1 snoot.club, 1 snopyta.org, 1 snorer.com, 1 @@ -99888,6 +99832,7 @@ socialtactics.gq, 1 socialtactics.ml, 1 socialtournaments.com, 0 socialtranslation.ga, 1 +socialtrends.pl, 1 socialwave.tk, 1 socialworkout.com, 1 socialworkout.net, 1 @@ -100288,6 +100233,7 @@ song.ski, 1 songclan.tk, 1 songdew.com, 1 songesdeplumes.fr, 1 +songlifty.com, 1 songmp3.live, 1 songslaura.tk, 1 songsonline.tk, 1 @@ -100400,7 +100346,6 @@ sortek.mk, 1 sortirentrenous.com, 1 soruly.com, 1 soruly.io, 1 -soruly.moe, 1 soruly.net, 1 soruly.org, 1 sorx.tech, 1 @@ -100611,7 +100556,6 @@ southmorangtownhouses.com.au, 1 southogdencity.gov, 1 southokcurology.com, 1 southpawmoto.com, 1 -southpointcollision.com, 1 southridgeservices.com, 1 southside-crew.com, 1 southside-digital.co.uk, 1 @@ -101593,7 +101537,6 @@ stackptr.com, 1 stackstartup.com, 1 stackstartup.tech, 1 stacktile.io, 0 -stacktrace.sh, 1 stackunderflow.com, 1 stacky.me, 1 stad.gent, 1 @@ -101928,7 +101871,6 @@ statsit.ga, 1 statsnite.com, 1 status.care, 1 status.vg, 1 -statusbot.io, 1 statuscode.ch, 1 statusdoors.com, 1 statusforward.com, 1 @@ -103325,7 +103267,6 @@ sumatrautara.tk, 1 sumatriptan365.tk, 1 sumbur.ga, 1 sumcrevillent.tk, 1 -sumguy.com, 1 sumhost.ml, 1 sumiko.moe, 1 sumisa.cf, 1 @@ -103526,6 +103467,7 @@ supercastlessouthsydney.com.au, 1 supercastlessunshinecoast.com.au, 1 supercastlessydney.com.au, 1 supercentenarian.com, 1 +supercharged.co.uk, 1 supercima.com, 0 supercinebattle.fr, 1 supercontent.cf, 1 @@ -104787,6 +104729,7 @@ tamoxifen-citrate.gq, 1 tamoxifen-citrate.ml, 1 tamoxifenformen.ga, 1 tampa.gov, 1 +tampabaybusinesslistings.com, 1 tampabayhometours.info, 1 tampacific.net, 1 tampacific.vn, 1 @@ -105474,6 +105417,7 @@ techexpert.tips, 1 techexplorist.com, 1 techfibian.tk, 1 techfishnews.com, 1 +techformator.pl, 1 techfreepro.ml, 1 techgama.org, 1 techgarage.blog, 1 @@ -105649,7 +105593,6 @@ teckgeekz.com, 1 tecknobox.fr, 1 tecknologg.website, 1 tecmarkdig.com, 1 -tecnaa.com, 1 tecne.ws, 1 tecnewsnow.com, 1 tecnicapotiguar.com.br, 0 @@ -105731,7 +105674,6 @@ teetje-doko.de, 1 teetoptens.com, 1 teeverse-photography.com, 1 teeworlds-friends.de, 1 -teextee.com, 1 tefek.cz, 1 tefwin.cf, 1 tegamisha.com, 1 @@ -106226,7 +106168,6 @@ tetraktus.org, 1 tetramax.eu, 1 tetrarch.co, 1 tetrimus.com, 1 -tetsai.net, 1 tetsua.com, 1 tetsudo.jp.net, 1 teufel-cloud.ddns.net, 1 @@ -106333,7 +106274,6 @@ tfxstartup.com, 1 tfxstartup.com.br, 1 tgamobility.co.uk, 1 tgb.org.uk, 1 -tgbabyzoo.com, 1 tgbyte.de, 1 tgcgrain.com, 1 tgexport.eu, 1 @@ -106576,6 +106516,7 @@ thebestofthesprings.com, 1 thebestpersonin.ml, 1 thebestshopping.tk, 1 thebigbigworld.tk, 1 +thebigbitch.nl, 1 thebigdatacompany.com, 1 thebigdig.xyz, 1 thebiglaskowski.com, 1 @@ -106718,7 +106659,6 @@ thecustomizewindows.com, 1 theda.co.za, 1 thedailyprosper.com, 0 thedailyreporteronline.com, 1 -thedailyshirts.com, 1 thedailyupvote.com, 1 thedanceacademybuckscounty.com, 0 thedark.ga, 1 @@ -106803,7 +106743,6 @@ thefastmode.com, 1 thefatlosspuzzle.com, 1 thefbstalker.com, 1 theferrarista.com, 0 -thefestivals.uk, 1 thefibreapp.com, 1 thefieldservicecompany.nl, 1 thefinalconflict.tk, 1 @@ -107571,6 +107510,7 @@ thinegen.de, 1 thing.vn, 1 thingformatter.net, 1 thingies.site, 1 +thingsandcode.com, 1 thingsimplied.com, 0 thingsivesaid.com, 1 thingsof.org, 1 @@ -108914,7 +108854,6 @@ top-secret.tk, 1 top-service.ml, 1 top-skins.ml, 1 top-verhandlungstraining.de, 1 -top-zdrave.bg, 1 top-zentr.tk, 1 top10.tk, 1 top100games.ml, 1 @@ -109229,7 +109168,6 @@ totalwebmedia.nl, 1 totalwreckers.com.au, 1 totalzen.ga, 1 totch.de, 1 -totem-international.com, 1 totemgames.tk, 1 tothetopmentoring.com, 1 totnastic.tk, 1 @@ -109239,7 +109177,7 @@ totodil.es, 1 totolabs.com, 1 totora.tk, 1 tottoya.com, 1 -totvs.com, 1 +totvs.com, 0 toucan-informatique.fr, 1 touch-up-net.com, 1 touch.facebook.com, 0 @@ -110423,7 +110361,6 @@ truth.tk, 1 truthdancer.com, 1 truthmessages.pw, 1 truthsayer.tk, 1 -trutopoffer.com, 1 truvayangin.tk, 1 truvisory.com, 1 trux.tk, 1 @@ -111699,7 +111636,6 @@ unblocked.lc, 1 unblocked.ltda, 1 unblocked.one, 1 unblocked.pro, 1 -unblocked.sh, 1 unblocked.vc, 1 unblocked.vet, 1 unblocked.win, 1 @@ -113612,7 +113548,6 @@ verticals.tk, 1 verticesedge.com, 1 vertichost.com, 1 verticrew.com, 1 -vertigo.com.br, 1 vertigo.name, 0 vertikal.tk, 1 vertiko.de, 1 @@ -114248,7 +114183,6 @@ vip6132.com, 1 vip77018.com, 1 vip8522.com, 1 vipcards.top, 1 -vipd88.net, 1 vipdirektolog.ru, 1 vipenvia.com.br, 1 viper-drones.com, 1 @@ -114489,6 +114423,7 @@ vitalamin.com, 1 vitalhealthandbeauty.co.uk, 1 vitalia.cz, 1 vitalismaatjes.nl, 1 +vitalityscience.com, 0 vitaliyshepotkov.tk, 1 vitalos.com.br, 1 vitalshop.tk, 1 @@ -115581,7 +115516,7 @@ wallet.google.com, 1 wallet.pp.ua, 1 walletconnector.cz, 1 walletfox.com, 1 -wallethub.com, 0 +wallethub.com, 1 wallett.gq, 1 wallhost.tk, 1 wallingford.cc, 1 @@ -115914,6 +115849,7 @@ waukeshairon.com, 1 waupacacounty-wi.gov, 1 waupacawi.gov, 1 wav-productions.com, 1 +wav.tv, 1 wave-inc.co.jp, 1 wave.is, 1 wave.red, 1 @@ -116469,6 +116405,7 @@ webtechnicom.net, 0 webtek.nu, 1 webtele.ga, 1 webtele.tk, 1 +webtex.limited, 1 webtica.be, 1 webtobesocial.de, 1 webtodito.tk, 1 @@ -116481,6 +116418,7 @@ webtoro.com, 1 webtorrent.io, 1 webtostore.fr, 1 webtransfers.ml, 1 +webtrek.ch, 1 webtropia.com, 0 webuildsite.ga, 1 webullreview.co, 1 @@ -116659,7 +116597,6 @@ welcome-werkstatt.com, 1 welcome26.ch, 0 welcomepowayan.tk, 1 weld.gov, 1 -weld.io, 1 weldersnet.tk, 1 weldonconstruction.com.au, 1 welfareness.icu, 1 @@ -117340,6 +117277,7 @@ wikijunior.com, 1 wikijunior.net, 1 wikijunior.org, 1 wikileaks.ch, 1 +wikileaks.com, 1 wikileaks.org, 1 wikilibrary.tk, 1 wikilink.cf, 1 @@ -118053,7 +117991,6 @@ womenshealth.gov, 1 womensmedassoc.com, 1 womensshelterofhope.com, 1 womenswellnessobgyn.com, 1 -womf.org, 0 wompenriebler.tk, 1 woms.top, 1 womywomwoo.com, 1 @@ -118258,6 +118195,7 @@ workshopszwolle.nl, 1 workshopzwolle.com, 1 worksindev.com, 1 worksitevr.com, 1 +worksmarter.tv, 1 workspace.pt, 1 worktefa.tk, 1 workupapp.com, 1 @@ -118576,7 +118514,6 @@ writeoff.me, 1 writepro.net, 1 writer24.ru, 1 writerecommendations.ga, 1 -writereditor.com, 1 writerimranc.ca, 1 writers-club.tk, 1 writersblock.tk, 1 @@ -118699,6 +118636,7 @@ wusu.tk, 1 wuupz.com, 1 wuxian.ml, 0 wuya.eu.org, 1 +wuyang.ws, 0 wuyuan.io, 1 wuzigackl.de, 1 wv-n.de, 1 @@ -118793,7 +118731,6 @@ www.icann.org, 0 www.irccloud.com, 0 www.lookout.com, 1 www.messenger.com, 1 -www.mylookout.com, 0 www.noisebridge.net, 1 www.opsmate.com, 1 www.org.gg, 1 @@ -119802,7 +119739,6 @@ xn--oj-uu2c9c422w3mh.com, 0 xn--okra.xn--6qq986b3xl, 1 xn--p3t555glxhnwa.com, 1 xn--p8j9a0d9c9a.xn--q9jyb4c, 1 -xn--pascal-klsch-cjb.de, 1 xn--pbt947am3ab71g.com, 1 xn--pckl4ji.ml, 1 xn--pckqk6xk43lunk.net, 1 @@ -119917,7 +119853,7 @@ xotika.tv, 1 xoxo.news, 1 xp-ochrona.pl, 1 xp.nsupdate.info, 1 -xpbytes.com, 1 +xpbytes.com, 0 xpd.se, 1 xpenology-fr.net, 1 xperiacode.com, 1 @@ -119965,7 +119901,6 @@ xportxpert.com, 1 xposedornot.com, 1 xposure.ae, 1 xpressable.com, 1 -xpresswifi.network, 1 xps-auto.com, 1 xps3dp.com, 1 xpsauto.com, 1 @@ -120122,6 +120057,7 @@ xvadimx.me, 1 xvaldezendocrino.com, 1 xvidyo.ga, 1 xvii.pl, 1 +xviimusic.com, 1 xvix.eu, 1 xvmmod.com, 1 xvpn.io, 1 @@ -120485,7 +120421,6 @@ yaporn.tv, 0 yapperapp.co.za, 1 yappy.com, 1 yarahmad.ir, 1 -yarapilates.com.br, 1 yarcevostom.ru, 1 yarcom.ru, 0 yardandgardenguru.com, 1 @@ -122375,7 +122310,6 @@ zinglix.xyz, 1 zingpetfood.com, 1 zings.eu, 1 zinhar.tk, 1 -zinniazorgverlening.nl, 1 zinnowitzer-ferienwohnung.de, 1 zinoui.com, 1 zion-craft.tk, 1 diff --git a/services/settings/dumps/blocklists/addons-bloomfilters.json b/services/settings/dumps/blocklists/addons-bloomfilters.json index 2080486c838f9..9a5e9e7206f6c 100644 --- a/services/settings/dumps/blocklists/addons-bloomfilters.json +++ b/services/settings/dumps/blocklists/addons-bloomfilters.json @@ -1,5 +1,52 @@ { "data": [ + { + "stash": { + "blocked": [ + "websigner@softplan.com.br:2.13.1", + "websigner@softplan.com.br:2.7.0", + "websigner@softplan.com.br:2.7.3", + "websigner@softplan.com.br:2.8.0", + "{78db226a-5912-4e93-9131-9451cf39e549}:0.0.1", + "websigner@softplan.com.br:2.14.2", + "websigner@softplan.com.br:2.7.1" + ], + "unblocked": [] + }, + "schema": 1647434307680, + "key_format": "{guid}:{version}", + "stash_time": 1647455708203, + "id": "882bdc6e-d8ea-42d8-8c8c-17e13cff2341", + "last_modified": 1647455905378 + }, + { + "stash": { + "blocked": [], + "unblocked": [] + }, + "schema": 1647348483409, + "key_format": "{guid}:{version}", + "stash_time": 1647434108889, + "id": "ec2716c4-9649-4782-93b5-4e66d0793e0e", + "last_modified": 1647434307625 + }, + { + "stash": { + "blocked": [ + "{cdef9c8a-fa00-4334-91c8-54a7d2424765}:1.0", + "{d2c01590-0add-481e-a2e2-673339d62fd3}:0.4", + "{07971367-aaa1-47e7-bff1-d80c6c8ce8ba}:0.6", + "{972f4d17-e8c7-44da-bffa-abe57b238a69}:0.2", + "{ee4fecd3-2e71-4517-bf26-500446b09d20}:1.0.2" + ], + "unblocked": [] + }, + "schema": 1647281954531, + "key_format": "{guid}:{version}", + "stash_time": 1647347707957, + "id": "db2685c9-b525-460a-931b-78d95acc843e", + "last_modified": 1647347904463 + }, { "stash": { "blocked": [ diff --git a/services/settings/dumps/security-state/intermediates.json b/services/settings/dumps/security-state/intermediates.json index 4aa1d4d0841e3..4b058fff38f94 100644 --- a/services/settings/dumps/security-state/intermediates.json +++ b/services/settings/dumps/security-state/intermediates.json @@ -1,7 +1,7 @@ { "data": [ { - "schema": 1647053841012, + "schema": 1647485841490, "derHash": "8Hu73gdvm0DFfMS+/t6Xyh9Tua4UfwNdKEy/U/NDL7g=", "subject": "CN=CFCA OV OCA,O=China Financial Certification Authority,C=CN", "subjectDN": "MFUxCzAJBgNVBAYTAkNOMTAwLgYDVQQKDCdDaGluYSBGaW5hbmNpYWwgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxFDASBgNVBAMMC0NGQ0EgT1YgT0NB", @@ -16,7 +16,529 @@ "pubKeyHash": "uc0FPx73f1ObHGmGZOcevy371Uo9asVjdabpiS0lKgQ=", "crlite_enrolled": false, "id": "b2b776e5-2b2f-4c8e-819d-026b8d3855d2", - "last_modified": 1647248247223 + "last_modified": 1647507437425 + }, + { + "schema": 1647442638278, + "derHash": "slTzzerx0pq1PLQ56A+5lvHpCig+m1CFuHSdGOT1mHs=", + "subject": "CN=GlobalSign Atlas R3 DV ACME CA H2 2021,O=GlobalSign nv-sa,C=BE", + "subjectDN": "MFkxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMS8wLQYDVQQDEyZHbG9iYWxTaWduIEF0bGFzIFIzIERWIEFDTUUgQ0EgSDIgMjAyMQ==", + "whitelist": false, + "attachment": { + "hash": "9b7764d2dd9d44f3454ff2c69278ccacf175873333cb4bc22bb78001354c66f5", + "size": 1715, + "filename": "Drirt5siv6auOz2CsdX1ih0Gq_A2hFkwS82cYSyOOSc=.pem", + "location": "security-state-staging/intermediates/be7d54ce-f543-44f1-8741-28214b2ee3cd.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "Drirt5siv6auOz2CsdX1ih0Gq/A2hFkwS82cYSyOOSc=", + "crlite_enrolled": false, + "id": "1ea36836-d34e-48ad-a1c3-679ebae83102", + "last_modified": 1647464240149 + }, + { + "schema": 1647442123610, + "derHash": "gCRH7lIcxmbNt7uuk6OF5V8gDXaj0TVqhURaxMvb7RI=", + "subject": "CN=Cybertrust Global Root,O=Cybertrust\, Inc", + "subjectDN": "MDsxGDAWBgNVBAoTD0N5YmVydHJ1c3QsIEluYzEfMB0GA1UEAxMWQ3liZXJ0cnVzdCBHbG9iYWwgUm9vdA==", + "whitelist": false, + "attachment": { + "hash": "0311ba514ea52c161164a44190d3ff8d3f21d7e178936261c9f0f3b873c30bc0", + "size": 1317, + "filename": "foeCwVDOOVL4AuY2AjpdPpW7XWjjPoWtsroXgSXOvxU=.pem", + "location": "security-state-staging/intermediates/a7042ba0-a0c3-40c6-a970-0ee5cdb75e39.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "foeCwVDOOVL4AuY2AjpdPpW7XWjjPoWtsroXgSXOvxU=", + "crlite_enrolled": false, + "id": "75d60e87-9f16-4a0c-bd57-5fc185f8e40b", + "last_modified": 1647442637728 + }, + { + "schema": 1647406128599, + "derHash": "HIhGxAasYpT68NMqWhTnnIQThaV/EVm2HpAUYF435ek=", + "subject": "CN=DigiCert Assured ID G3 TLS ECC384 SHA384 2022 CA1,O=DigiCert\, Inc.,C=US", + "subjectDN": "MGIxCzAJBgNVBAYTAlVTMRcwFQYDVQQKEw5EaWdpQ2VydCwgSW5jLjE6MDgGA1UEAxMxRGlnaUNlcnQgQXNzdXJlZCBJRCBHMyBUTFMgRUNDMzg0IFNIQTM4NCAyMDIyIENBMQ==", + "whitelist": false, + "attachment": { + "hash": "682a6d671295b8e0ca15d671be54d68c7d5786b8b33b65eb4e943f238772b094", + "size": 1288, + "filename": "otVuF_gByhb3Aev07shrO8GeUcthd4Qw5N_K1L0fizo=.pem", + "location": "security-state-staging/intermediates/d6b7ddd7-f249-4342-9621-2f56bffe26af.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "otVuF/gByhb3Aev07shrO8GeUcthd4Qw5N/K1L0fizo=", + "crlite_enrolled": true, + "id": "e0227843-5910-4bd0-adaa-01d35e7a7005", + "last_modified": 1647406642091 + }, + { + "schema": 1647376760748, + "derHash": "puYUXPpzIrIt1vuvHfgzN4jbefGbEbaVz8kHtA0paQg=", + "subject": "CN=PSW GROUP (RSA) OV CA,O=PSW GROUP GmbH & Co. KG,C=DE", + "subjectDN": "ME8xCzAJBgNVBAYTAkRFMSAwHgYDVQQKDBdQU1cgR1JPVVAgR21iSCAmIENvLiBLRzEeMBwGA1UEAxMVUFNXIEdST1VQIChSU0EpIE9WIENB", + "whitelist": false, + "attachment": { + "hash": "89a81c5442a54c9e5195381aa5bf5118b69c785fe73b5919acc00fa7735b5960", + "size": 2081, + "filename": "XJxD3hWuTDkFb4_QXFPChkZ3hlp9UIhypa5Cf40iwOE=.pem", + "location": "security-state-staging/intermediates/ea0a20eb-041e-467e-9b0a-9cc38c85baf8.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "XJxD3hWuTDkFb4/QXFPChkZ3hlp9UIhypa5Cf40iwOE=", + "crlite_enrolled": false, + "id": "c79b7b86-d814-4f7c-aad6-03a1383c763c", + "last_modified": 1647406642079 + }, + { + "schema": 1647406127910, + "derHash": "RCLpY+5TzVjMn4XNQL9f/sAJX98aFUU1ZhwcBrytxps=", + "subject": "CN=RapidSSL TLS RSA CA G1,OU=www.digicert.com,O=DigiCert Inc,C=US", + "subjectDN": "MGAxCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5jb20xHzAdBgNVBAMTFlJhcGlkU1NMIFRMUyBSU0EgQ0EgRzE=", + "whitelist": false, + "attachment": { + "hash": "69d032f5f19ec96ac1d0f6f0b439e8d2c2bfd00ab74cdabf88312932bac1b34f", + "size": 1691, + "filename": "E3tYcwo9CiqATmKtpMLW5V-pzIq-ZoDmpXSiJlXGmTo=.pem", + "location": "security-state-staging/intermediates/9eebdfa1-1d2e-4e19-abdd-69d9d51be643.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "E3tYcwo9CiqATmKtpMLW5V+pzIq+ZoDmpXSiJlXGmTo=", + "crlite_enrolled": true, + "id": "f7aa6ee8-81ba-45d2-8cff-4314c6e506ad", + "last_modified": 1647406642057 + }, + { + "schema": 1647406129124, + "derHash": "GFwK5HBCO51GeKfBBVtbSNkHBVBbeU4hXAY4UTNpgfQ=", + "subject": "CN=GeoTrust EV RSA CA 2018,OU=www.digicert.com,O=DigiCert Inc,C=US", + "subjectDN": "MGExCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5jb20xIDAeBgNVBAMTF0dlb1RydXN0IEVWIFJTQSBDQSAyMDE4", + "whitelist": false, + "attachment": { + "hash": "a0a4b49c90bff29d9b9a8c5f2ef42bb769f854311f7a16f1b9861161f8870867", + "size": 1666, + "filename": "yWulDX8E5Q0XG4-9jVDljmO2FvAVzIRhn2MppW4vyUM=.pem", + "location": "security-state-staging/intermediates/69bd0c27-8b17-47e6-8656-b35a53ad9631.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "yWulDX8E5Q0XG4+9jVDljmO2FvAVzIRhn2MppW4vyUM=", + "crlite_enrolled": true, + "id": "1cc0b067-f5fa-460a-b0ce-63e242f5c312", + "last_modified": 1647406642046 + }, + { + "schema": 1647406128777, + "derHash": "Sv/k/vOUZNF4jGYK9ZHV5gGyYcSBHfCj3Z1hyv6OXtg=", + "subject": "CN=TrustAsia EV TLS Pro CA,O=TrustAsia Technologies\, Inc.,C=CN", + "subjectDN": "MFYxCzAJBgNVBAYTAkNOMSUwIwYDVQQKExxUcnVzdEFzaWEgVGVjaG5vbG9naWVzLCBJbmMuMSAwHgYDVQQDExdUcnVzdEFzaWEgRVYgVExTIFBybyBDQQ==", + "whitelist": false, + "attachment": { + "hash": "9a34bc6ed9a54f81e18afe77e80e21229b781d54bc55db04519ecea2fb3e30f4", + "size": 1658, + "filename": "JTqDYh_WILx03HF-qMSr0wy2uDSoWh4uqNea4MnbzZ8=.pem", + "location": "security-state-staging/intermediates/50647d00-cffd-4a34-99f4-97db530d09bd.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "JTqDYh/WILx03HF+qMSr0wy2uDSoWh4uqNea4MnbzZ8=", + "crlite_enrolled": true, + "id": "58b5207a-569c-440d-b868-afae280ff8f2", + "last_modified": 1647406642035 + }, + { + "schema": 1647406128086, + "derHash": "/BbVMgO9kYfWnMmdLaVRB2tNyymBQNZ1H3oBKWbJn90=", + "subject": "CN=RapidSSL TLS ECC CA G1,OU=www.digicert.com,O=DigiCert Inc,C=US", + "subjectDN": "MGAxCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5jb20xHzAdBgNVBAMTFlJhcGlkU1NMIFRMUyBFQ0MgQ0EgRzE=", + "whitelist": false, + "attachment": { + "hash": "5ab29482e9032bced4020a6ffd28ba40b857897ed628b88bc1554bc73e84f763", + "size": 1199, + "filename": "cBtUiO-mwdgMfNeEp_qKuEHswRn2nHp2FDUKVi_aTDw=.pem", + "location": "security-state-staging/intermediates/154391f2-0f93-44b9-b118-5fc88dafa782.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "cBtUiO+mwdgMfNeEp/qKuEHswRn2nHp2FDUKVi/aTDw=", + "crlite_enrolled": true, + "id": "de84a7ad-8fc1-4cf5-96dd-67d123f93d29", + "last_modified": 1647406642024 + }, + { + "schema": 1647406128422, + "derHash": "wG4wf3z8HTL6cqTAM8h7kAGa8hbwd11kl4ouymyKIw4=", + "subject": "CN=GeoTrust TLS RSA CA G1,OU=www.digicert.com,O=DigiCert Inc,C=US", + "subjectDN": "MGAxCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5jb20xHzAdBgNVBAMTFkdlb1RydXN0IFRMUyBSU0EgQ0EgRzE=", + "whitelist": false, + "attachment": { + "hash": "79eaef52d1cceae208d6f4e81408cb6e81bd7358789d8d112f8acbab4bbf4f9c", + "size": 1638, + "filename": "SDG5orEv8iX6MNenIAxa8nQFNpROB_6-llsZdXHZNqs=.pem", + "location": "security-state-staging/intermediates/9987d215-bbb5-4e1e-8e50-33173b65ca32.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "SDG5orEv8iX6MNenIAxa8nQFNpROB/6+llsZdXHZNqs=", + "crlite_enrolled": true, + "id": "3a3c5d35-1116-4a25-9c6e-f43057fdd426", + "last_modified": 1647406642013 + }, + { + "schema": 1647406127393, + "derHash": "qDhAXrsD9d/Y1KlXKubg4/NW7E7BNDdaWdt7GV3D7EQ=", + "subject": "CN=GeoTrust TLS ECC CA G1,OU=www.digicert.com,O=DigiCert Inc,C=US", + "subjectDN": "MGAxCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5jb20xHzAdBgNVBAMTFkdlb1RydXN0IFRMUyBFQ0MgQ0EgRzE=", + "whitelist": false, + "attachment": { + "hash": "c0c946701c933eed603c99ac71fe696329ac344e1eb857450da9a3c6fc6b28e7", + "size": 1146, + "filename": "5UDBgr_RVcJyUuNCNmS5AenhQ6TpdPBpf6CAGjUnD10=.pem", + "location": "security-state-staging/intermediates/9ec06331-3cbe-42b8-91ab-ca659d7ff6e1.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "5UDBgr/RVcJyUuNCNmS5AenhQ6TpdPBpf6CAGjUnD10=", + "crlite_enrolled": true, + "id": "500a38fb-8a19-47cf-b4b5-4000d9bf8da1", + "last_modified": 1647406642002 + }, + { + "schema": 1647406128950, + "derHash": "OIPm3kkXpGtZTswtKsapXUPn6qjgiakfm8EE/xbfjeY=", + "subject": "CN=Secure Site Pro Extended Validation CA,OU=www.digicert.com,O=DigiCert Inc,C=US", + "subjectDN": "MHAxCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5jb20xLzAtBgNVBAMTJlNlY3VyZSBTaXRlIFBybyBFeHRlbmRlZCBWYWxpZGF0aW9uIENB", + "whitelist": false, + "attachment": { + "hash": "873a9affb573886082637d5874421893f652b55adfa77a32cb7cd76d35bb12b5", + "size": 1695, + "filename": "C5iNVr6DMrTBS2Wvb08zPxdCQnB0DSWA-yu6a9MbQBI=.pem", + "location": "security-state-staging/intermediates/809d29c1-5609-421a-be6f-b48dc16e8d28.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "C5iNVr6DMrTBS2Wvb08zPxdCQnB0DSWA+yu6a9MbQBI=", + "crlite_enrolled": true, + "id": "127c9f06-6f9a-4d9e-b4f9-e0f7b637cd96", + "last_modified": 1647406641991 + }, + { + "schema": 1647399296865, + "derHash": "S8xeI0/oHt5Or4g6oZwxM1sLJuheBmuZReTLYVPrIMI=", + "subject": "CN=Thawte TLS RSA CA G1,OU=www.digicert.com,O=DigiCert Inc,C=US", + "subjectDN": "MF4xCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5jb20xHTAbBgNVBAMTFFRoYXd0ZSBUTFMgUlNBIENBIEcx", + "whitelist": false, + "attachment": { + "hash": "ab46e21b2e6e52647007f65c64b45ece54a6f9162bf19babfd723021d1ed126d", + "size": 1634, + "filename": "42b9RNOnyb3tlC0KYtNPA3KKpJluskyU6aG-CipUmaM=.pem", + "location": "security-state-staging/intermediates/1acc8b9e-e1d0-4bbd-92ab-c45c37b76729.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "42b9RNOnyb3tlC0KYtNPA3KKpJluskyU6aG+CipUmaM=", + "crlite_enrolled": true, + "id": "763c82cc-5847-4f29-a81a-d189fde21751", + "last_modified": 1647406641979 + }, + { + "schema": 1647406126872, + "derHash": "01M7cypRim2mjvJmCF4R39EUwOsAks1DUwpE1UuRPtE=", + "subject": "CN=Secure Site CA,OU=www.digicert.com,O=DigiCert Inc,C=US", + "subjectDN": "MFgxCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5jb20xFzAVBgNVBAMTDlNlY3VyZSBTaXRlIENB", + "whitelist": false, + "attachment": { + "hash": "93b4a44bb6fe2449a59754db745e41e1157b80bf49f3c2f364ac5f13eaca7195", + "size": 1662, + "filename": "3mc_12C2pwvtV5JjfcxLmbbWYQSbj9yqSWLXKfZcMUw=.pem", + "location": "security-state-staging/intermediates/179c0ac1-bf62-4ad7-8373-95d6baefb9a3.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "3mc/12C2pwvtV5JjfcxLmbbWYQSbj9yqSWLXKfZcMUw=", + "crlite_enrolled": true, + "id": "4353f974-e604-4be1-b7e8-63cd2a9fe2c7", + "last_modified": 1647406641968 + }, + { + "schema": 1647406128251, + "derHash": "AJhxw6TGBzEeWukvAQlfm/dhALh5SrCppSEOZ5TIYHw=", + "subject": "CN=Trust Provider B.V. TLS RSA CA G1,OU=Domain Validated SSL,O=Trust Provider B.V.,C=NL", + "subjectDN": "MHYxCzAJBgNVBAYTAk5MMRwwGgYDVQQKExNUcnVzdCBQcm92aWRlciBCLlYuMR0wGwYDVQQLExREb21haW4gVmFsaWRhdGVkIFNTTDEqMCgGA1UEAxMhVHJ1c3QgUHJvdmlkZXIgQi5WLiBUTFMgUlNBIENBIEcx", + "whitelist": false, + "attachment": { + "hash": "be93cbc768b2a781054d69b3d1b32596d09aabb573a067ff44e5770bc18fb99e", + "size": 1687, + "filename": "DZ2CNIcIqZj3arOg4dqY2nkxRPJTRypLcTMN_FbGZLM=.pem", + "location": "security-state-staging/intermediates/f158c5a3-4e14-476d-a5ac-d85b7f4fcedc.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "DZ2CNIcIqZj3arOg4dqY2nkxRPJTRypLcTMN/FbGZLM=", + "crlite_enrolled": true, + "id": "f7673261-e96a-4f2c-a927-d30881e9e80f", + "last_modified": 1647406641957 + }, + { + "schema": 1647406127221, + "derHash": "90w7LH5FXWVNnuWqpxJ4nMsme5YcGhzkimnIYM0ZNng=", + "subject": "CN=Thawte EV ECC CA 2018,OU=www.digicert.com,O=DigiCert Inc,C=US", + "subjectDN": "MF8xCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5jb20xHjAcBgNVBAMTFVRoYXd0ZSBFViBFQ0MgQ0EgMjAxOA==", + "whitelist": false, + "attachment": { + "hash": "029e038309e109b338a8e5d3d4e6300803b81c7d7d64ed413d523864ea9f6f9d", + "size": 1390, + "filename": "sHnhNNcEZAQ0U5qyqTUj5LjSA8SG8NfF7zS_jwKtxLc=.pem", + "location": "security-state-staging/intermediates/6c018133-a6a4-4913-a016-38a7d1ab820a.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "sHnhNNcEZAQ0U5qyqTUj5LjSA8SG8NfF7zS/jwKtxLc=", + "crlite_enrolled": true, + "id": "2032121f-569e-449d-8b03-3e918762323e", + "last_modified": 1647406641946 + }, + { + "schema": 1647406129472, + "derHash": "vzVY+HfonSfapg2pZxZ2Vw376yFdhKxaNxItZ3a3j24=", + "subject": "CN=GeoTrust EV ECC CA 2018,OU=www.digicert.com,O=DigiCert Inc,C=US", + "subjectDN": "MGExCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5jb20xIDAeBgNVBAMTF0dlb1RydXN0IEVWIEVDQyBDQSAyMDE4", + "whitelist": false, + "attachment": { + "hash": "76fd10b988ddc4d10ef675e1353505739b36be3396db70baccebfc087010c5f1", + "size": 1390, + "filename": "KZiLkK8HMbpxJlPzQa3CEz5YMCWvdd0o1cov4_NrxCA=.pem", + "location": "security-state-staging/intermediates/0f71a53f-9fe4-41e8-bc4d-6053d563e69f.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "KZiLkK8HMbpxJlPzQa3CEz5YMCWvdd0o1cov4/NrxCA=", + "crlite_enrolled": true, + "id": "d0f17c7c-e4ae-4815-966e-de2dfd1be49e", + "last_modified": 1647406641936 + }, + { + "schema": 1647406127564, + "derHash": "Go15Cvmys0191q9htapM8TgLhglcusK8qzW9Vm0BgMM=", + "subject": "CN=Secure Site Extended Validation CA,OU=www.digicert.com,O=DigiCert Inc,C=US", + "subjectDN": "MGwxCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5jb20xKzApBgNVBAMTIlNlY3VyZSBTaXRlIEV4dGVuZGVkIFZhbGlkYXRpb24gQ0E=", + "whitelist": false, + "attachment": { + "hash": "8c560a22b1260bcb7f9b8c62c6d191f6064d6125f0146ef483820a79ada1e21a", + "size": 1687, + "filename": "GQ1NxZwFxMspL6F7W34V3JpBp8emVEoKYr5gy_rpnLc=.pem", + "location": "security-state-staging/intermediates/6bf4e11e-3aa2-4af0-a5f5-ac98a4454b33.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "GQ1NxZwFxMspL6F7W34V3JpBp8emVEoKYr5gy/rpnLc=", + "crlite_enrolled": true, + "id": "9ad85c01-2205-4529-a221-9f9977a9a3d0", + "last_modified": 1647406641924 + }, + { + "schema": 1647406129298, + "derHash": "k1abJqpTXj4HyJHGvS+p3Ak5wk20s3Jq2FMe2xfEl8o=", + "subject": "CN=Thawte EV RSA CA 2018,OU=www.digicert.com,O=DigiCert Inc,C=US", + "subjectDN": "MF8xCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5jb20xHjAcBgNVBAMTFVRoYXd0ZSBFViBSU0EgQ0EgMjAxOA==", + "whitelist": false, + "attachment": { + "hash": "aa41f2f1317c4207a1ce000f100f89792938ebbd08ccc7367391461f45499ac8", + "size": 1662, + "filename": "LrLVqGD-UOnCQjaFUpgBUORdtTIaWwBeJtZ2JTpAm_U=.pem", + "location": "security-state-staging/intermediates/d6fae8ae-c5f1-47b9-82bc-084bf846e9fe.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "LrLVqGD+UOnCQjaFUpgBUORdtTIaWwBeJtZ2JTpAm/U=", + "crlite_enrolled": true, + "id": "62d8fb8a-2660-4ea7-991d-107ab02539e5", + "last_modified": 1647406641913 + }, + { + "schema": 1647406127050, + "derHash": "roIgH1ZeBDm39K1okydZTrl0pPeBsabL/tWb04IxfxM=", + "subject": "CN=Thawte TLS ECC CA G1,OU=www.digicert.com,O=DigiCert Inc,C=US", + "subjectDN": "MF4xCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5jb20xHTAbBgNVBAMTFFRoYXd0ZSBUTFMgRUNDIENBIEcx", + "whitelist": false, + "attachment": { + "hash": "add9d8816c4153cd678d313dec7135ed32f3b5d71e1c1b6f73bf061cd4162394", + "size": 1142, + "filename": "Z2FuypjaQ1wWJ4YxsCzQZPBTleqi8I6cEO-bYvpiEQI=.pem", + "location": "security-state-staging/intermediates/f2a22335-497e-40e7-830a-378eeea47a5b.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "Z2FuypjaQ1wWJ4YxsCzQZPBTleqi8I6cEO+bYvpiEQI=", + "crlite_enrolled": true, + "id": "e4a64544-b0f8-45bd-9a58-20355ebc5549", + "last_modified": 1647406641902 + }, + { + "schema": 1647406126704, + "derHash": "sU1QiQecHY92SduaXTzvsarAb2avxJIlxb4qoZ/UGjU=", + "subject": "CN=Entrust Certification Authority - L1N,OU=See www.entrust.net/legal-terms+OU=(c) 2014 Entrust\, Inc. - for authorized use only,O=Entrust\, Inc.,C=US", + "subjectDN": "MIG6MQswCQYDVQQGEwJVUzEWMBQGA1UEChMNRW50cnVzdCwgSW5jLjEoMCYGA1UECxMfU2VlIHd3dy5lbnRydXN0Lm5ldC9sZWdhbC10ZXJtczE5MDcGA1UECxMwKGMpIDIwMTQgRW50cnVzdCwgSW5jLiAtIGZvciBhdXRob3JpemVkIHVzZSBvbmx5MS4wLAYDVQQDEyVFbnRydXN0IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gTDFO", + "whitelist": false, + "attachment": { + "hash": "2a107eb8056c22e82435858002ab7da59ecfe298d1cafd19ef86a74343e7a1bb", + "size": 2207, + "filename": "vJyqpf--OgJrh0WkGBWAggmVgZ5-o9t2KvyRdPxvIhs=.pem", + "location": "security-state-staging/intermediates/119f868d-4224-48fa-aca4-4e950d595c12.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "vJyqpf++OgJrh0WkGBWAggmVgZ5+o9t2KvyRdPxvIhs=", + "crlite_enrolled": true, + "id": "b03bf780-0b68-4f48-9034-834ec2d038db", + "last_modified": 1647406641891 + }, + { + "schema": 1647355730713, + "derHash": "w4BN5R6MFwUiIK4crT04PlTVt9wohDxC8NvZkTwehlg=", + "subject": "CN=Secure Site Pro Extended Validation ECC CA,OU=www.digicert.com,O=DigiCert Inc,C=US", + "subjectDN": "MHQxCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5jb20xMzAxBgNVBAMTKlNlY3VyZSBTaXRlIFBybyBFeHRlbmRlZCBWYWxpZGF0aW9uIEVDQyBDQQ==", + "whitelist": false, + "attachment": { + "hash": "0888b26cf00bcea2525da774e654b5c2ea18871782615c5140d3fb8b3541ab28", + "size": 1463, + "filename": "_Nqzn2CbpC436KXdkcnLpL18IA4yR1xWHjRW06xB_j8=.pem", + "location": "security-state-staging/intermediates/8d999ad8-e345-4822-9bab-90e25accc007.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "/Nqzn2CbpC436KXdkcnLpL18IA4yR1xWHjRW06xB/j8=", + "crlite_enrolled": false, + "id": "7044462a-7235-4d46-9816-525da44a50c7", + "last_modified": 1647376760212 + }, + { + "schema": 1647355729782, + "derHash": "vRk8R15OZ5OL7zQSK5i1WKKILn7ZQ2mmywETIO8VYjw=", + "subject": "CN=AlwaysOnSSL TLS ECC CA G1,OU=Domain Validated SSL,O=CertCenter AG,C=DE", + "subjectDN": "MGgxCzAJBgNVBAYTAkRFMRYwFAYDVQQKEw1DZXJ0Q2VudGVyIEFHMR0wGwYDVQQLExREb21haW4gVmFsaWRhdGVkIFNTTDEiMCAGA1UEAxMZQWx3YXlzT25TU0wgVExTIEVDQyBDQSBHMQ==", + "whitelist": false, + "attachment": { + "hash": "499064f03f4574c2c427e17330ae382a5058acecff6c7f5b7cbdc36b9933961b", + "size": 1175, + "filename": "0W9t3LKpNLN0CxCis6AJXuaxxouX1FIp8IEuXgow59U=.pem", + "location": "security-state-staging/intermediates/f68d6d6e-b755-46b8-bb2c-3cd51783d68f.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "0W9t3LKpNLN0CxCis6AJXuaxxouX1FIp8IEuXgow59U=", + "crlite_enrolled": false, + "id": "484a309f-c38f-4673-b797-7cb431b40f5e", + "last_modified": 1647376760204 + }, + { + "schema": 1647355728800, + "derHash": "qK0cJcxYCyEx/Mb8bWUTdG846pm9FiyBtcU5NJUXWxg=", + "subject": "CN=STRATO TLS RSA CA,OU=Domain Validated SSL,O=STRATO AG,C=DE", + "subjectDN": "MFwxCzAJBgNVBAYTAkRFMRIwEAYDVQQKEwlTVFJBVE8gQUcxHTAbBgNVBAsTFERvbWFpbiBWYWxpZGF0ZWQgU1NMMRowGAYDVQQDExFTVFJBVE8gVExTIFJTQSBDQQ==", + "whitelist": false, + "attachment": { + "hash": "d4b8e211872849d13a1e260cdc06a24464432a0fa7627e3f666d44abf76f5a34", + "size": 1654, + "filename": "_MWDzTF0gP61A7lqJx1MUWKutcFHBAsAnAXlMwxjhKA=.pem", + "location": "security-state-staging/intermediates/1930fc08-5dc1-4765-b773-cc763308de9b.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "/MWDzTF0gP61A7lqJx1MUWKutcFHBAsAnAXlMwxjhKA=", + "crlite_enrolled": false, + "id": "8fb8c000-9fe8-49dd-9c15-ac4bfdac08fb", + "last_modified": 1647376760195 + }, + { + "schema": 1647355727754, + "derHash": "A2oY9fDrndXuAreFTfXDOEVgHYk5z7e2B/adFCwB2Qk=", + "subject": "CN=TrustAsia TLS RSA CA G8,OU=Domain Validated SSL,O=TrustAsia Technologies\, Inc.,C=CN", + "subjectDN": "MHUxCzAJBgNVBAYTAkNOMSUwIwYDVQQKExxUcnVzdEFzaWEgVGVjaG5vbG9naWVzLCBJbmMuMR0wGwYDVQQLExREb21haW4gVmFsaWRhdGVkIFNTTDEgMB4GA1UEAxMXVHJ1c3RBc2lhIFRMUyBSU0EgQ0EgRzg=", + "whitelist": false, + "attachment": { + "hash": "cbb7a86cf96f690954bcd21bb8c71a00ef436ee942cd65831bf21c11cbc25909", + "size": 1687, + "filename": "rnv8EixdQFjoJF2hhedxVmsIlmFhW2jkp1llCWfHEvw=.pem", + "location": "security-state-staging/intermediates/350bd8d3-2749-4c3e-a988-02288c0e6441.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "rnv8EixdQFjoJF2hhedxVmsIlmFhW2jkp1llCWfHEvw=", + "crlite_enrolled": false, + "id": "d4d9e729-0cc2-44c4-8964-b32181486d06", + "last_modified": 1647376760186 + }, + { + "schema": 1647355724829, + "derHash": "MZiW45VNUQ2jpLdTh+jIcLO8LDIo2FUJFuvpq9y3+SE=", + "subject": "CN=Oracle TLS RSA CA G1,OU=Organization Validated SSL,O=Oracle Corporation,C=US", + "subjectDN": "MG4xCzAJBgNVBAYTAlVTMRswGQYDVQQKExJPcmFjbGUgQ29ycG9yYXRpb24xIzAhBgNVBAsTGk9yZ2FuaXphdGlvbiBWYWxpZGF0ZWQgU1NMMR0wGwYDVQQDExRPcmFjbGUgVExTIFJTQSBDQSBHMQ==", + "whitelist": false, + "attachment": { + "hash": "450ac021db301c37c528daccbe40e94f74a28f7ae6f6ba039650b6aae3c3d13e", + "size": 1678, + "filename": "92UUNzSFrSZZ2mG20rm7eFX2MV_e3zCq8ck0jTA9zMw=.pem", + "location": "security-state-staging/intermediates/393f3a10-429e-4ce1-845e-2beac5162af1.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "92UUNzSFrSZZ2mG20rm7eFX2MV/e3zCq8ck0jTA9zMw=", + "crlite_enrolled": false, + "id": "66444cbb-0d77-4545-aeac-9f96adedc3a3", + "last_modified": 1647376760160 + }, + { + "schema": 1647355722905, + "derHash": "KkG6gZ62Elr1y0uLDp6VTs55jCp+5D3Nr305WYfE1VI=", + "subject": "CN=AlwaysOnSSL TLS RSA CA G1,OU=Domain Validated SSL,O=CertCenter AG,C=DE", + "subjectDN": "MGgxCzAJBgNVBAYTAkRFMRYwFAYDVQQKEw1DZXJ0Q2VudGVyIEFHMR0wGwYDVQQLExREb21haW4gVmFsaWRhdGVkIFNTTDEiMCAGA1UEAxMZQWx3YXlzT25TU0wgVExTIFJTQSBDQSBHMQ==", + "whitelist": false, + "attachment": { + "hash": "60ae06b06554f13d49fcd4ab75f5917d8c57dc17bd11f157428e11c66db10d22", + "size": 1670, + "filename": "DOdL2thyQw2ljWo5qhqUbm1_3EZBtYXxLKw14G9PO30=.pem", + "location": "security-state-staging/intermediates/236d592d-f7d5-465e-984d-3511d1792286.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "DOdL2thyQw2ljWo5qhqUbm1/3EZBtYXxLKw14G9PO30=", + "crlite_enrolled": false, + "id": "008c16c8-e2f9-4205-b90d-97ce5e46862c", + "last_modified": 1647376760143 + }, + { + "schema": 1647355720132, + "derHash": "sayM+xgbnJNU4Xdfy9/P54mMXMmhfXYxW1fBEu7lUjQ=", + "subject": "CN=Encryption Everywhere DV TLS CA - G2,OU=www.digicert.com,O=DigiCert Inc,C=US", + "subjectDN": "MG4xCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5jb20xLTArBgNVBAMTJEVuY3J5cHRpb24gRXZlcnl3aGVyZSBEViBUTFMgQ0EgLSBHMg==", + "whitelist": false, + "attachment": { + "hash": "c75d6fc5179d7bb7baea5ffe48d9fda3810fdcb1340a3ca83e1e7b97a4af6478", + "size": 1678, + "filename": "gxeKFFaZ2HFJIsTdTjEl6nVo3ckTCX-qzRMqb9Xoa1w=.pem", + "location": "security-state-staging/intermediates/de3a4a27-9c47-4b4a-978f-e8d3aadc9b3d.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "gxeKFFaZ2HFJIsTdTjEl6nVo3ckTCX+qzRMqb9Xoa1w=", + "crlite_enrolled": false, + "id": "6e35ba55-d2c3-4701-8e11-9d023cee4140", + "last_modified": 1647376760114 + }, + { + "schema": 1647355719183, + "derHash": "9/veuCvpnUHNykGfyRhZ0+UobAdiBODpA9Z4uyE+2Js=", + "subject": "CN=Hostpoint TLS RSA CA,OU=Domain Validated SSL,O=Hostpoint AG,C=CH", + "subjectDN": "MGIxCzAJBgNVBAYTAkNIMRUwEwYDVQQKEwxIb3N0cG9pbnQgQUcxHTAbBgNVBAsTFERvbWFpbiBWYWxpZGF0ZWQgU1NMMR0wGwYDVQQDExRIb3N0cG9pbnQgVExTIFJTQSBDQQ==", + "whitelist": false, + "attachment": { + "hash": "e06a612c20a2679cb1522f8e77265194fd2509fa105e19f74503f5f6e26acc68", + "size": 1662, + "filename": "Q5l5uNBWZnOf3EnCFMK3ciNhPZboa_YPtUtL6yZ_DvU=.pem", + "location": "security-state-staging/intermediates/699e988e-5291-4075-86bd-3e5b69bb9553.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "Q5l5uNBWZnOf3EnCFMK3ciNhPZboa/YPtUtL6yZ/DvU=", + "crlite_enrolled": false, + "id": "d685f4b6-0528-48c0-95fe-4fa3050ce971", + "last_modified": 1647376760106 + }, + { + "schema": 1647355715297, + "derHash": "h38kznD0owR+TqcL7BvDG+m2Uzrf86OT/5v7PIEClEY=", + "subject": "CN=TrustAsia TLS ECC CA G9,OU=Domain Validated SSL,O=TrustAsia Technologies\, Inc.,C=CN", + "subjectDN": "MHUxCzAJBgNVBAYTAkNOMSUwIwYDVQQKExxUcnVzdEFzaWEgVGVjaG5vbG9naWVzLCBJbmMuMR0wGwYDVQQLExREb21haW4gVmFsaWRhdGVkIFNTTDEgMB4GA1UEAxMXVHJ1c3RBc2lhIFRMUyBFQ0MgQ0EgRzk=", + "whitelist": false, + "attachment": { + "hash": "619365f9c59d0f0dcfcb64ba525d68621f75fadebe181e15429e3dc854262b7c", + "size": 1191, + "filename": "z_Y0aMrBs7J0RBthUJnRbIqFivDK0vBrLe1Q3OF0GjQ=.pem", + "location": "security-state-staging/intermediates/42a61717-4f98-46d0-b662-78febf5ba323.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "z/Y0aMrBs7J0RBthUJnRbIqFivDK0vBrLe1Q3OF0GjQ=", + "crlite_enrolled": false, + "id": "50846adc-e121-40f2-b176-43cc90696068", + "last_modified": 1647376760070 }, { "schema": 1647046118886, @@ -306,24 +828,6 @@ "id": "0fc46ca8-adb2-450b-9bd7-49706b5eca52", "last_modified": 1646449054457 }, - { - "schema": 1646362120882, - "derHash": "HIhGxAasYpT68NMqWhTnnIQThaV/EVm2HpAUYF435ek=", - "subject": "CN=DigiCert Assured ID G3 TLS ECC384 SHA384 2022 CA1,O=DigiCert\, Inc.,C=US", - "subjectDN": "MGIxCzAJBgNVBAYTAlVTMRcwFQYDVQQKEw5EaWdpQ2VydCwgSW5jLjE6MDgGA1UEAxMxRGlnaUNlcnQgQXNzdXJlZCBJRCBHMyBUTFMgRUNDMzg0IFNIQTM4NCAyMDIyIENBMQ==", - "whitelist": false, - "attachment": { - "hash": "682a6d671295b8e0ca15d671be54d68c7d5786b8b33b65eb4e943f238772b094", - "size": 1288, - "filename": "otVuF_gByhb3Aev07shrO8GeUcthd4Qw5N_K1L0fizo=.pem", - "location": "security-state-staging/intermediates/d6b7ddd7-f249-4342-9621-2f56bffe26af.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "otVuF/gByhb3Aev07shrO8GeUcthd4Qw5N/K1L0fizo=", - "crlite_enrolled": false, - "id": "e0227843-5910-4bd0-adaa-01d35e7a7005", - "last_modified": 1646362650618 - }, { "schema": 1646362122200, "derHash": "mH/y47JaOhTLhD2Qezx/AHwnSSGvwQAX+F1PrnsMuLY=", @@ -2052,24 +2556,6 @@ "id": "4ced6b80-9ab5-40e3-8387-a5e5366d6c64", "last_modified": 1645579198073 }, - { - "schema": 1645578759591, - "derHash": "puYUXPpzIrIt1vuvHfgzN4jbefGbEbaVz8kHtA0paQg=", - "subject": "CN=PSW GROUP (RSA) OV CA,O=PSW GROUP GmbH & Co. KG,C=DE", - "subjectDN": "ME8xCzAJBgNVBAYTAkRFMSAwHgYDVQQKDBdQU1cgR1JPVVAgR21iSCAmIENvLiBLRzEeMBwGA1UEAxMVUFNXIEdST1VQIChSU0EpIE9WIENB", - "whitelist": false, - "attachment": { - "hash": "89a81c5442a54c9e5195381aa5bf5118b69c785fe73b5919acc00fa7735b5960", - "size": 2081, - "filename": "XJxD3hWuTDkFb4_QXFPChkZ3hlp9UIhypa5Cf40iwOE=.pem", - "location": "security-state-staging/intermediates/ea0a20eb-041e-467e-9b0a-9cc38c85baf8.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "XJxD3hWuTDkFb4/QXFPChkZ3hlp9UIhypa5Cf40iwOE=", - "crlite_enrolled": true, - "id": "c79b7b86-d814-4f7c-aad6-03a1383c763c", - "last_modified": 1645579198060 - }, { "schema": 1645578770223, "derHash": "9nwj73v3QSgJ22sd09RKCNN1TZnKumoT96BcckkInIk=", @@ -6912,24 +7398,6 @@ "id": "143884ed-af2d-4415-8a20-84ab1314e2dc", "last_modified": 1643540241691 }, - { - "schema": 1643539738281, - "derHash": "slTzzerx0pq1PLQ56A+5lvHpCig+m1CFuHSdGOT1mHs=", - "subject": "CN=GlobalSign Atlas R3 DV ACME CA H2 2021,O=GlobalSign nv-sa,C=BE", - "subjectDN": "MFkxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMS8wLQYDVQQDEyZHbG9iYWxTaWduIEF0bGFzIFIzIERWIEFDTUUgQ0EgSDIgMjAyMQ==", - "whitelist": false, - "attachment": { - "hash": "9b7764d2dd9d44f3454ff2c69278ccacf175873333cb4bc22bb78001354c66f5", - "size": 1715, - "filename": "Drirt5siv6auOz2CsdX1ih0Gq_A2hFkwS82cYSyOOSc=.pem", - "location": "security-state-staging/intermediates/be7d54ce-f543-44f1-8741-28214b2ee3cd.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "Drirt5siv6auOz2CsdX1ih0Gq/A2hFkwS82cYSyOOSc=", - "crlite_enrolled": true, - "id": "1ea36836-d34e-48ad-a1c3-679ebae83102", - "last_modified": 1643540241681 - }, { "schema": 1643539725512, "derHash": "kK8bYaCCZipjnKpoxqP7Qeu6N2DDUaSh6J+22srUhvw=", @@ -16506,24 +16974,6 @@ "id": "0bac52a2-0949-48f2-abb2-f09ac245fd7f", "last_modified": 1576536533799 }, - { - "schema": 1576535891125, - "derHash": "sU1QiQecHY92SduaXTzvsarAb2avxJIlxb4qoZ/UGjU=", - "subject": "CN=Entrust Certification Authority - L1N,OU=See www.entrust.net/legal-terms+OU=(c) 2014 Entrust\, Inc. - for authorized use only,O=Entrust\, Inc.,C=US", - "subjectDN": "MIG6MQswCQYDVQQGEwJVUzEWMBQGA1UEChMNRW50cnVzdCwgSW5jLjEoMCYGA1UECxMfU2VlIHd3dy5lbnRydXN0Lm5ldC9sZWdhbC10ZXJtczE5MDcGA1UECxMwKGMpIDIwMTQgRW50cnVzdCwgSW5jLiAtIGZvciBhdXRob3JpemVkIHVzZSBvbmx5MS4wLAYDVQQDEyVFbnRydXN0IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gTDFO", - "whitelist": false, - "attachment": { - "hash": "2a107eb8056c22e82435858002ab7da59ecfe298d1cafd19ef86a74343e7a1bb", - "size": 2207, - "filename": "vJyqpf--OgJrh0WkGBWAggmVgZ5-o9t2KvyRdPxvIhs=.pem", - "location": "security-state-staging/intermediates/119f868d-4224-48fa-aca4-4e950d595c12.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "vJyqpf++OgJrh0WkGBWAggmVgZ5+o9t2KvyRdPxvIhs=", - "crlite_enrolled": false, - "id": "b03bf780-0b68-4f48-9034-834ec2d038db", - "last_modified": 1576536533758 - }, { "schema": 1576535893935, "derHash": "4MLr0fa61P6q4xoxB+aavukC2zi5374z8FcL2jSUwgo=", @@ -21060,24 +21510,6 @@ "id": "a40de547-e3aa-46b0-bb6e-12b28685b132", "last_modified": 1562025171553 }, - { - "schema": 1562025166063, - "derHash": "4i5rJZCOEQemB68GDgsk5QxtlWL/BPRVvg+N9BpQMsA=", - "subject": "CN=SZAFIR Trusted CA2,O=Krajowa Izba Rozliczeniowa S.A.,C=PL", - "subjectDN": "MFQxCzAJBgNVBAYTAlBMMSgwJgYDVQQKDB9LcmFqb3dhIEl6YmEgUm96bGljemVuaW93YSBTLkEuMRswGQYDVQQDDBJTWkFGSVIgVHJ1c3RlZCBDQTI=", - "whitelist": false, - "attachment": { - "hash": "b998d1830338d9ca1bada5e5e1a33ef3a5f89c9c13ccfa1b8ea7a2f3aea980a1", - "size": 1825, - "filename": "Ea2smccTC5mFDdTrs5gKD6HaYthL4lhPx97QmLgbFQc=.pem", - "location": "security-state-staging/intermediates/f9a9ee57-a010-4240-a6e4-f16037c4556f.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "Ea2smccTC5mFDdTrs5gKD6HaYthL4lhPx97QmLgbFQc=", - "crlite_enrolled": true, - "id": "acce9c9e-9a82-41d4-b3c0-5cd8eeaf7bef", - "last_modified": 1562025166794 - }, { "schema": 1562025160859, "derHash": "rB7FVjGOPqcPjwTgOg8mM7/nOZI1moEBRf/fGkJzlu4=",
This is an automated email from the git hooks/post-receive script.
richard pushed a commit to branch tor-browser-91.8.0esr-11.0-1 in repository tor-browser.
commit 33e46d7f8d76b23f538fd90e225e398b803b667d Author: Gijs Kruitbosch gijskruitbosch@gmail.com AuthorDate: Wed Feb 23 12:57:08 2022 +0000
Bug 1743384 - add test, r=mconley a=test-only
Differential Revision: https://phabricator.services.mozilla.com/D132350 --- toolkit/modules/tests/browser/browser_Troubleshoot.js | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-)
diff --git a/toolkit/modules/tests/browser/browser_Troubleshoot.js b/toolkit/modules/tests/browser/browser_Troubleshoot.js index 8cf7b5e189b71..a2e475eabe9de 100644 --- a/toolkit/modules/tests/browser/browser_Troubleshoot.js +++ b/toolkit/modules/tests/browser/browser_Troubleshoot.js @@ -101,27 +101,35 @@ var tests = [ Services.prefs.setBoolPref(p, true); is(Services.prefs.getBoolPref(p), true, "The pref should be set: " + p); }); + Services.prefs.setCharPref("dom.push.userAgentID", "testvalue"); Troubleshoot.snapshot(function(snapshot) { let p = snapshot.modifiedPreferences; is( p["javascript.troubleshoot"], true, - "The pref should be present because it's whitelisted " + - "but not blacklisted." + "The pref should be present because it's in the allowed prefs " + + "and not in the pref regexes that are disallowed." ); ok( !("troubleshoot.foo" in p), - "The pref should be absent because it's not in the whitelist." + "The pref should be absent because it's not in the allowed prefs." ); ok( !("network.proxy.troubleshoot" in p), - "The pref should be absent because it's blacklisted." + "The pref should be absent because it's in the pref regexes " + + "that are disallowed." + ); + ok( + !("dom.push.userAgentID" in p), + "The pref should be absent because it's in the pref regexes " + + "that are disallowed." ); ok( !("print.print_to_filename" in p), - "The pref should be absent because it's not whitelisted." + "The pref should be absent because it's not in the allowed prefs." ); prefs.forEach(p => Services.prefs.deleteBranch(p)); + Services.prefs.clearUserPref("dom.push.userAgentID"); done(); }); },
This is an automated email from the git hooks/post-receive script.
richard pushed a commit to branch tor-browser-91.8.0esr-11.0-1 in repository tor-browser.
commit cea85e0f3a5ad8a3cb90e178604be68d930185f8 Author: june wilde jewilde@mozilla.com AuthorDate: Mon Feb 14 21:08:35 2022 +0000
Bug 1741873 - Update libtheora to latest; r=bryce, a=RyanVM
Differential Revision: https://phabricator.services.mozilla.com/D131500 --- media/libtheora/AUTHORS | 14 +- media/libtheora/LICENSE | 8 +- media/libtheora/{README => README.md} | 110 ++- media/libtheora/bug468275-r18219.patch | 22 - media/libtheora/bug625773-r17780.patch | 23 - media/libtheora/bug752139-r18031.patch | 53 -- media/libtheora/bug752668-r18268.patch | 28 - media/libtheora/bug920992.patch | 103 --- media/libtheora/include/theora/codec.h | 77 +- media/libtheora/include/theora/theora.h | 112 +-- media/libtheora/include/theora/theoradec.h | 19 +- media/libtheora/include/theora/theoraenc.h | 540 ----------- media/libtheora/lib/arm/arm2gnu.pl | 55 +- media/libtheora/lib/arm/armbits.s | 8 +- media/libtheora/lib/arm/armcpu.c | 40 +- media/libtheora/lib/arm/armfrag.s | 11 +- media/libtheora/lib/arm/armidct.s | 177 ++-- media/libtheora/lib/arm/armloop.s | 8 +- media/libtheora/lib/bitpack.c | 2 +- media/libtheora/lib/config.h | 35 +- media/libtheora/lib/dct.h | 2 +- media/libtheora/lib/decinfo.c | 36 +- media/libtheora/lib/decint.h | 3 +- media/libtheora/lib/decode.c | 1349 ++++++++++++++-------------- media/libtheora/lib/dequant.c | 2 +- media/libtheora/lib/dequant.h | 2 +- media/libtheora/lib/fragment.c | 2 +- media/libtheora/lib/huffdec.c | 2 +- media/libtheora/lib/huffdec.h | 2 +- media/libtheora/lib/huffman.h | 4 +- media/libtheora/lib/idct.c | 13 +- media/libtheora/lib/info.c | 10 +- media/libtheora/lib/internal.c | 4 +- media/libtheora/lib/internal.h | 2 +- media/libtheora/lib/ocintrin.h | 2 +- media/libtheora/lib/quant.c | 2 +- media/libtheora/lib/quant.h | 2 +- media/libtheora/lib/state.c | 19 +- media/libtheora/lib/x86/mmxfrag.c | 4 +- media/libtheora/lib/x86/mmxidct.c | 42 +- media/libtheora/lib/x86/mmxstate.c | 2 +- media/libtheora/lib/x86/sse2idct.c | 44 +- media/libtheora/lib/x86/x86cpu.c | 2 +- media/libtheora/lib/x86/x86cpu.h | 2 +- media/libtheora/lib/x86/x86int.h | 2 +- media/libtheora/lib/x86/x86state.c | 4 +- media/libtheora/lib/x86_vc/mmxfrag.c | 2 +- media/libtheora/lib/x86_vc/mmxidct.c | 45 +- media/libtheora/lib/x86_vc/mmxstate.c | 2 +- media/libtheora/lib/x86_vc/x86cpu.c | 2 +- media/libtheora/lib/x86_vc/x86cpu.h | 2 +- media/libtheora/lib/x86_vc/x86int.h | 2 +- media/libtheora/lib/x86_vc/x86state.c | 2 +- media/libtheora/moz.build | 1 - media/libtheora/moz.yaml | 4 +- 55 files changed, 1174 insertions(+), 1893 deletions(-)
diff --git a/media/libtheora/AUTHORS b/media/libtheora/AUTHORS index 077d4e588c7dd..8a4e529b5acce 100644 --- a/media/libtheora/AUTHORS +++ b/media/libtheora/AUTHORS @@ -1,24 +1,25 @@ Monty monty@xiph.org - Original VP3 port
-Ralph Giles Timothy B. Terriberry +Gregory Maxwell +Ralph Giles Monty - Ongoing development - + Dan B. Miller - Pre alpha3 development - + Rudolf Marek Wim Tayman Dan Lenski Nils Pipenbrinck Monty - MMX optimized functions - + David Schleef - C64x port - + Aaron Colwell Thomas Vander Stichele Jan Gerber @@ -26,8 +27,9 @@ Conrad Parker Cristian Adam Sebastian Pippin Simon Hosie +Brad Smith - Bug fixes, enhancements, build systems. - + Mauricio Piacentini - Original win32 projects and example ports - VP3->Theora transcoder diff --git a/media/libtheora/LICENSE b/media/libtheora/LICENSE index 5e5ec08469b05..97e84317906b8 100644 --- a/media/libtheora/LICENSE +++ b/media/libtheora/LICENSE @@ -4,13 +4,13 @@ In addition to and irrespective of the copyright license associated with this software, On2 Technologies, Inc. makes the following statement regarding technology used in this software:
- On2 represents and warrants that it shall not assert any rights + On2 represents and warrants that it shall not assert any rights relating to infringement of On2's registered patents, nor initiate any litigation asserting such rights, against any person who, or - entity which utilizes the On2 VP3 Codec Software, including any - use, distribution, and sale of said Software; which make changes, + entity which utilizes the On2 VP3 Codec Software, including any + use, distribution, and sale of said Software; which make changes, modifications, and improvements in said Software; and to use, - distribute, and sell said changes as well as applications for other + distribute, and sell said changes as well as applications for other fields of use.
This reference implementation is originally derived from the On2 VP3 diff --git a/media/libtheora/README b/media/libtheora/README.md similarity index 56% rename from media/libtheora/README rename to media/libtheora/README.md index 7663f9ff8c8b4..b136f7114cea0 100644 --- a/media/libtheora/README +++ b/media/libtheora/README.md @@ -1,13 +1,11 @@ -------------------------------------------------------------------------- - The Xiph.org Foundation's libtheora 1.2 -------------------------------------------------------------------------- +# Xiph.org Foundation's libtheora
-*** What is Theora? +### What is Theora?
-Theora is Xiph.Org's first publicly released video codec, intended +Theora was Xiph.Org's first publicly released video codec, intended for use within the Foundation's Ogg multimedia streaming system. Theora is derived directly from On2's VP3 codec, adds new features -while allow it a longer useful lifetime as an competitive codec. +while allowing it a longer useful lifetime.
The 1.0 release decoder supported all the new features, but the encoder is nearly identical to the VP3 code. @@ -20,46 +18,43 @@ The 1.2 release features significant additional improvements in compression and performance. Files produced by newer encoders can be decoded by earlier releases.
-*** Where is Theora? +### Where is Theora?
-Theora's main site is www.theora.org. Theora and related libraries -can be gotten from www.theora.org or the main Xiph.Org site at -www.xiph.org. Development source is kept in an open subversion -repository, see http://theora.org/svn/ for instructions. +Theora's main site is https://www.theora.org. Releases of Theora +and related libraries can be found on the +[download page](https://www.theora.org/downloads/) or the +[main Xiph.Org site](https://xiph.org/downloads/).
-------------------------------------------------------------------------- -Getting started with the code -------------------------------------------------------------------------- +Development source is kept at https://gitlab.xiph.org/xiph/theora.
-*** What do I need to build the source? +## Getting started with the code
-Requirements summary: - - For libtheora: - - libogg 1.1 or newer. +### What do I need to build the source?
- For example encoder: +Requirements summary:
- as above, +For libtheora:
- libvorbis and libvorbisenc 1.0.1 or newer. - (libvorbis 1.3.1 or newer for 5.1 audio) +* libogg 1.1 or newer.
- For creating a source distribution package: +For example encoder:
- as above, +* as above, +* libvorbis and libvorbisenc 1.0.1 or newer. + (libvorbis 1.3.1 or newer for 5.1 audio)
- Doxygen to build the API documentation, - pdflatex and fig2dev to build the format specification - (transfig package in Ubuntu). +For creating a source distribution package:
- For the player only: +* as above, +* Doxygen to build the API documentation, +* pdflatex and fig2dev to build the format specification + (transfig package in Ubuntu).
- as above, +For the player only:
- SDL (Simple Direct media Layer) libraries and headers, - OSS audio driver and development headers. +* as above, +* SDL (Simple Direct media Layer) libraries and headers, +* OSS audio driver and development headers.
The provided build system is the GNU automake/autoconf system, and the main library, libtheora, should already build smoothly on any @@ -72,11 +67,11 @@ Project files for Apple XCode are included in the macosx directory.
There is also a more limited scons build.
-*** How do I use the sample encoder? +### How do I use the sample encoder?
The sample encoder takes raw video in YUV4MPEG2 format, as used by lavtools, mjpeg-tools and other packages. The encoder expects audio, -if any, in a separate wave WAV file. Try 'encoder_example -h' for a +if any, in a separate wave WAV file. Try 'encoder_example -h' for a complete list of options.
An easy way to get raw video and audio files is to use MPlayer as an @@ -85,7 +80,7 @@ wav file named audiodump.wav and a YUV video file in the correct format for encoder_example as stream.yuv. Be careful when exporting video alone; MPlayer may drop frames to 'keep up' with the audio timer. The example encoder can't properly synchronize input audio and -video file that aren't in sync to begin with. +video file that aren't in sync to begin with.
The encoder will also take video or audio on stdin if '-' is specified as the input file name. @@ -93,64 +88,61 @@ as the input file name. There is also a 'png2theora' example which accepts a set of image files in that format.
-*** How do I use the sample player? +### How do I use the sample player?
The sample player takes an Ogg file on standard in; the file may be audio alone, video alone or video with audio.
-*** What other tools are available? +### What other tools are available?
-The programs in the examples directory are intended as tutorial source -for developers using the library. As such they sacrifice features and -robustness in the interests of comprehension and should not be +The programs in the examples directory are intended as tutorial source +for developers using the library. As such they sacrifice features and +robustness in the interests of comprehension and should not be considered serious applications.
If you're wanting to just use theora, consider the programs linked -from http://www.theora.org/. There is playback support in a number +from https://www.theora.org/. There is playback support in a number of common free players, and plugins for major media frameworks. Jan Gerber's ffmpeg2theora is an excellent encoding front end.
-------------------------------------------------------------------------- -Troubleshooting the build process -------------------------------------------------------------------------- +## Troubleshooting the build process
-*** Compile error, such as: +### Compile error, such as:
-encoder_internal.h:664: parse error before `ogg_uint16_t' +encoder_internal.h:664: parse error before `ogg_uint16_t`
-This means you have version of libogg prior to 1.1. A *complete* new Ogg +This means you have version of libogg prior to 1.1. A *complete* new Ogg install, libs and headers is needed.
Also be sure that there aren't multiple copies of Ogg installed in /usr and /usr/local; an older one might be first on the search path for libs and headers.
-*** Link error, such as: +### Link error, such as:
-undefined reference to `oggpackB_stream' +undefined reference to `oggpackB_stream`
See above; you need libogg 1.1 or later.
-*** Link error, such as: +### Link error, such as:
-undefined reference to `vorbis_granule_time' +undefined reference to `vorbis_granule_time`
You need libvorbis and libvorbisenc from the 1.0.1 release or later.
-*** Link error, such as: +### Link error, such as:
-/usr/lib/libSDL.a(SDL_esdaudio.lo): In function `ESD_OpenAudio': -SDL_esdaudio.lo(.text+0x25d): undefined reference to `esd_play_stream' +/usr/lib/libSDL.a(SDL_esdaudio.lo): In function `ESD_OpenAudio`: +SDL_esdaudio.lo(.text+0x25d): undefined reference to `esd_play_stream`
Be sure to use an SDL that's built to work with OSS. If you use an SDL that is also built with ESD and/or ALSA support, it will try to suck in all those extra libraries at link time too. That will only work if the extra libraries are also installed.
-*** Link warning, such as: +### Link warning, such as:
-libtool: link: warning: library `/usr/lib/libogg.la' was moved. -libtool: link: warning: library `/usr/lib/libogg.la' was moved. +libtool: link: warning: library `/usr/lib/libogg.la` was moved. +libtool: link: warning: library `/usr/lib/libogg.la` was moved.
Re-run theora/autogen.sh after an Ogg or Vorbis rebuild/reinstall - diff --git a/media/libtheora/bug468275-r18219.patch b/media/libtheora/bug468275-r18219.patch deleted file mode 100644 index 7b64b4195a2c4..0000000000000 --- a/media/libtheora/bug468275-r18219.patch +++ /dev/null @@ -1,22 +0,0 @@ -diff --git a/media/libtheora/lib/state.c b/media/libtheora/lib/state.c ---- a/media/libtheora/lib/state.c -+++ b/media/libtheora/lib/state.c -@@ -583,17 +583,17 @@ static int oc_state_ref_bufs_init(oc_the - ref_frame_sz<yplane_sz||ref_frame_data_sz/_nrefs!=ref_frame_sz){ - return TH_EIMPL; - } - ref_frame_data=oc_aligned_malloc(ref_frame_data_sz,16); - frag_buf_offs=_state->frag_buf_offs= - _ogg_malloc(_state->nfrags*sizeof(*frag_buf_offs)); - if(ref_frame_data==NULL||frag_buf_offs==NULL){ - _ogg_free(frag_buf_offs); -- _ogg_free(ref_frame_data); -+ oc_aligned_free(ref_frame_data); - return TH_EFAULT; - } - /*Set up the width, height and stride for the image buffers.*/ - _state->ref_frame_bufs[0][0].width=info->frame_width; - _state->ref_frame_bufs[0][0].height=info->frame_height; - _state->ref_frame_bufs[0][0].stride=yhstride; - _state->ref_frame_bufs[0][1].width=_state->ref_frame_bufs[0][2].width= - info->frame_width>>hdec; diff --git a/media/libtheora/bug625773-r17780.patch b/media/libtheora/bug625773-r17780.patch deleted file mode 100644 index af112560b08b5..0000000000000 --- a/media/libtheora/bug625773-r17780.patch +++ /dev/null @@ -1,23 +0,0 @@ -diff --git a/media/libtheora/lib/decode.c b/media/libtheora/lib/decode.c ---- a/media/libtheora/lib/decode.c -+++ b/media/libtheora/lib/decode.c -@@ -2072,18 +2072,17 @@ static void oc_dec_init_dummy_frame(th_d - sizeof(_dec->pp_frame_buf[0])*3); - info=&_dec->state.info; - yhstride=abs(_dec->state.ref_ystride[0]); - yheight=info->frame_height+2*OC_UMV_PADDING; - chstride=abs(_dec->state.ref_ystride[1]); - cheight=yheight>>!(info->pixel_fmt&2); - yplane_sz=yhstride*(size_t)yheight+16; - cplane_sz=chstride*(size_t)cheight; -- yoffset=_dec->state.ref_ystride[0]*(yheight-1)- -- (OC_UMV_PADDING+OC_UMV_PADDING*(ptrdiff_t)yhstride); -+ yoffset=yhstride*(ptrdiff_t)(yheight-OC_UMV_PADDING-1)+OC_UMV_PADDING; - memset(_dec->state.ref_frame_data[0]-yoffset,0x80,yplane_sz+2*cplane_sz); - } - - int th_decode_packetin(th_dec_ctx *_dec,const ogg_packet *_op, - ogg_int64_t *_granpos){ - int ret; - if(_dec==NULL||_op==NULL)return TH_EFAULT; - /*A completely empty packet indicates a dropped frame and is treated exactly diff --git a/media/libtheora/bug752139-r18031.patch b/media/libtheora/bug752139-r18031.patch deleted file mode 100644 index 62ea87632b1fe..0000000000000 --- a/media/libtheora/bug752139-r18031.patch +++ /dev/null @@ -1,53 +0,0 @@ -diff --git a/media/libtheora/lib/arm/arm2gnu.pl b/media/libtheora/lib/arm/arm2gnu.pl ---- a/media/libtheora/lib/arm/arm2gnu.pl -+++ b/media/libtheora/lib/arm/arm2gnu.pl -@@ -1,11 +1,14 @@ - #!/usr/bin/perl - - my $bigend; # little/big endian -+my $nxstack; -+ -+$nxstack = 0; - - eval 'exec /usr/local/bin/perl -S $0 ${1+"$@"}' - if $running_under_some_shell; - - while ($ARGV[0] =~ /^-/) { - $_ = shift; - last if /^--/; - if (/^-n/) { -@@ -77,16 +80,19 @@ while (<>) { - if ( /\bMEND\b/ ) { - s/\bMEND\b/.endm/; - $n=0; - } - - # ".rdata" doesn't work in 'as' version 2.13.2, as it is ".rodata" there. - # - if ( /\bAREA\b/ ) { -+ if ( /CODE/ ) { -+ $nxstack = 1; -+ } - s/^(.+)CODE(.+)READONLY(.*)/ .text/; - s/^(.+)DATA(.+)READONLY(.*)/ .section .rdata\n .align 2/; - s/^(.+)||.data||(.+)/ .data\n .align 2/; - s/^(.+)||.bss||(.+)/ .bss/; - } - - s/||.constdata$(\d+)||/.L_CONST$1/; # ||.constdata$3|| - s/||.bss$(\d+)||/.L_BSS$1/; # ||.bss$2|| -@@ -263,9 +269,13 @@ while (<>) { - } continue { - printf ("%s", $_) if $printit; - if ($addPadding != 0) - { - printf (" mov r0,r0\n"); - $addPadding = 0; - } - } -- -+#If we had a code section, mark that this object doesn't need an executable -+# stack. -+if ($nxstack) { -+ printf (" .section\t.note.GNU-stack,"",%%progbits\n"); -+} diff --git a/media/libtheora/bug752668-r18268.patch b/media/libtheora/bug752668-r18268.patch deleted file mode 100644 index 6931e07fafecf..0000000000000 --- a/media/libtheora/bug752668-r18268.patch +++ /dev/null @@ -1,28 +0,0 @@ -diff -r 1092c1a3ac50 media/libtheora/lib/decode.c ---- a/media/libtheora/lib/decode.c Tue May 08 08:53:50 2012 +0200 -+++ b/media/libtheora/lib/decode.c Tue May 08 01:00:59 2012 -0700 -@@ -395,20 +395,20 @@ static int oc_dec_init(oc_dec_ctx *_dec, - _dec->state.dequant_table_data[qi][pli][qti]; - } - oc_dequant_tables_init(_dec->state.dequant_tables,_dec->pp_dc_scale, - &_setup->qinfo); - for(qi=0;qi<64;qi++){ - int qsum; - qsum=0; - for(qti=0;qti<2;qti++)for(pli=0;pli<3;pli++){ -- qsum+=_dec->state.dequant_tables[qti][pli][qi][12]+ -- _dec->state.dequant_tables[qti][pli][qi][17]+ -- _dec->state.dequant_tables[qti][pli][qi][18]+ -- _dec->state.dequant_tables[qti][pli][qi][24]<<(pli==0); -+ qsum+=_dec->state.dequant_tables[qi][pli][qti][12]+ -+ _dec->state.dequant_tables[qi][pli][qti][17]+ -+ _dec->state.dequant_tables[qi][pli][qti][18]+ -+ _dec->state.dequant_tables[qi][pli][qti][24]<<(pli==0); - } - _dec->pp_sharp_mod[qi]=-(qsum>>11); - } - memcpy(_dec->state.loop_filter_limits,_setup->qinfo.loop_filter_limits, - sizeof(_dec->state.loop_filter_limits)); - oc_dec_accel_init(_dec); - _dec->pp_level=OC_PP_LEVEL_DISABLED; - _dec->dc_qis=NULL; diff --git a/media/libtheora/bug920992.patch b/media/libtheora/bug920992.patch deleted file mode 100644 index 4fa4691475c9b..0000000000000 --- a/media/libtheora/bug920992.patch +++ /dev/null @@ -1,103 +0,0 @@ -diff --git a/media/libtheora/lib/arm/armbits.s b/media/libtheora/lib/arm/armbits.s ---- a/media/libtheora/lib/arm/armbits.s -+++ b/media/libtheora/lib/arm/armbits.s -@@ -12,16 +12,22 @@ - ; - ; function: - ; last mod: $Id$ - ; - ;******************************************************************** - - AREA |.text|, CODE, READONLY - -+ ; Explicitly specifying alignment here because some versions of -+ ; gas don't align code correctly. See -+ ; http://lists.gnu.org/archive/html/bug-binutils/2011-06/msg00199.html -+ ; https://bugzilla.mozilla.org/show_bug.cgi?id=920992 -+ ALIGN -+ - EXPORT oc_pack_read_arm - EXPORT oc_pack_read1_arm - EXPORT oc_huff_token_decode_arm - - oc_pack_read1_arm PROC - ; r0 = oc_pack_buf *_b - ADD r12,r0,#8 - LDMIA r12,{r2,r3} ; r2 = window -diff --git a/media/libtheora/lib/arm/armfrag.s b/media/libtheora/lib/arm/armfrag.s ---- a/media/libtheora/lib/arm/armfrag.s -+++ b/media/libtheora/lib/arm/armfrag.s -@@ -11,16 +11,22 @@ - ;******************************************************************** - ; Original implementation: - ; Copyright (C) 2009 Robin Watts for Pinknoise Productions Ltd - ; last mod: $Id$ - ;******************************************************************** - - AREA |.text|, CODE, READONLY - -+ ; Explicitly specifying alignment here because some versions of -+ ; gas don't align code correctly. See -+ ; http://lists.gnu.org/archive/html/bug-binutils/2011-06/msg00199.html -+ ; https://bugzilla.mozilla.org/show_bug.cgi?id=920992 -+ ALIGN -+ - GET armopts.s - - ; Vanilla ARM v4 versions - EXPORT oc_frag_copy_list_arm - EXPORT oc_frag_recon_intra_arm - EXPORT oc_frag_recon_inter_arm - EXPORT oc_frag_recon_inter2_arm - -diff --git a/media/libtheora/lib/arm/armidct.s b/media/libtheora/lib/arm/armidct.s ---- a/media/libtheora/lib/arm/armidct.s -+++ b/media/libtheora/lib/arm/armidct.s -@@ -11,16 +11,22 @@ - ;******************************************************************** - ; Original implementation: - ; Copyright (C) 2009 Robin Watts for Pinknoise Productions Ltd - ; last mod: $Id$ - ;******************************************************************** - - AREA |.text|, CODE, READONLY - -+ ; Explicitly specifying alignment here because some versions of -+ ; gas don't align code correctly. See -+ ; http://lists.gnu.org/archive/html/bug-binutils/2011-06/msg00199.html -+ ; https://bugzilla.mozilla.org/show_bug.cgi?id=920992 -+ ALIGN -+ - GET armopts.s - - EXPORT oc_idct8x8_1_arm - EXPORT oc_idct8x8_arm - - oc_idct8x8_1_arm PROC - ; r0 = ogg_int16_t *_y - ; r1 = ogg_uint16_t _dc -diff --git a/media/libtheora/lib/arm/armloop.s b/media/libtheora/lib/arm/armloop.s ---- a/media/libtheora/lib/arm/armloop.s -+++ b/media/libtheora/lib/arm/armloop.s -@@ -11,16 +11,22 @@ - ;******************************************************************** - ; Original implementation: - ; Copyright (C) 2009 Robin Watts for Pinknoise Productions Ltd - ; last mod: $Id$ - ;******************************************************************** - - AREA |.text|, CODE, READONLY - -+ ; Explicitly specifying alignment here because some versions of -+ ; gas don't align code correctly. See -+ ; http://lists.gnu.org/archive/html/bug-binutils/2011-06/msg00199.html -+ ; https://bugzilla.mozilla.org/show_bug.cgi?id=920992 -+ ALIGN -+ - GET armopts.s - - EXPORT oc_loop_filter_frag_rows_arm - - ; Which bit this is depends on the order of packing within a bitfield. - ; Hopefully that doesn't change among any of the relevant compilers. - OC_FRAG_CODED_FLAG * 1 diff --git a/media/libtheora/include/theora/codec.h b/media/libtheora/include/theora/codec.h index 5c2669630c1d6..29b860232544a 100644 --- a/media/libtheora/include/theora/codec.h +++ b/media/libtheora/include/theora/codec.h @@ -16,11 +16,12 @@ ********************************************************************/
/**\mainpage - * + * * \section intro Introduction * - * This is the documentation for <tt>libtheora</tt> C API. - * The current reference + * This is the documentation for the <tt>libtheora</tt> C API. + * + * The \c libtheora package is the current reference * implementation for <a href="http://www.theora.org/">Theora</a>, a free, * patent-unencumbered video codec. * Theora is derived from On2's VP3 codec with additional features and @@ -30,29 +31,31 @@ * <a href="http://www.theora.org/doc/Theora.pdf">the Theora * specification</a>. * - * \subsection Organization + * \section Organization * - * The functions documented here are actually subdivided into three + * The functions documented here are divided between two * separate libraries: - * - <tt>libtheoraenc</tt> contains the encoder interface, + * - \c libtheoraenc contains the encoder interface, * described in \ref encfuncs. - * - <tt>libtheoradec</tt> contains the decoder interface and - * routines shared with the encoder. - * You must also link to this if you link to <tt>libtheoraenc</tt>. - * The routines in this library are described in \ref decfuncs and - * \ref basefuncs. - * - <tt>libtheora</tt> contains the \ref oldfuncs. + * - \c libtheoradec contains the decoder interface, + * described in \ref decfuncs, \n + * and additional \ref basefuncs. + * + * New code should link to \c libtheoradec. If using encoder + * features, it must also link to \c libtheoraenc. * - * New code should link to <tt>libtheoradec</tt> and, if using encoder - * features, <tt>libtheoraenc</tt>. Together these two export both - * the standard and the legacy API, so this is all that is needed by - * any code. The older <tt>libtheora</tt> library is provided just for - * compatibility with older build configurations. + * During initial development, prior to the 1.0 release, + * \c libtheora exported a different \ref oldfuncs which + * combined both encode and decode functions. + * In general, legacy API symbols can be indentified + * by their \c theora_ or \c OC_ namespace prefixes. + * The current API uses \c th_ or \c TH_ instead. * - * In general the recommended 1.x API symbols can be distinguished - * by their <tt>th_</tt> or <tt>TH_</tt> namespace prefix. - * The older, legacy API uses <tt>theora_</tt> or <tt>OC_</tt> - * prefixes instead. + * While deprecated, \c libtheoraenc and \c libtheoradec + * together export the legacy api as well at the one documented above. + * Likewise, the legacy \c libtheora included with this package + * exports the new 1.x API. Older code and build scripts can therefore + * but updated independently to the current scheme. */
/**\file @@ -168,7 +171,7 @@ typedef struct{ typedef th_img_plane th_ycbcr_buffer[3];
/**Theora bitstream information. - * This contains the basic playback parameters for a stream, and corresponds to + * This contains the basic playback parameters for a stream, and corresponds to * the initial 'info' header packet. * To initialize an encoder, the application fills in this structure and * passes it to th_encode_alloc(). @@ -317,7 +320,7 @@ typedef struct{ * In filling in this structure, th_decode_headerin() will null-terminate * the user_comment strings for safety. * However, the bitstream format itself treats them as 8-bit clean vectors, - * possibly containing null characters, and so the length array should be + * possibly containing null characters, so the length array should be * treated as their authoritative length. */ typedef struct th_comment{ @@ -448,7 +451,13 @@ typedef struct{
/**\defgroup basefuncs Functions Shared by Encode and Decode*/ /*@{*/ -/**\name Basic shared functions*/ +/**\name Basic shared functions + * These functions return information about the library itself, + * or provide high-level information about codec state + * and packet type. + * + * You must link to \c libtheoradec if you use any of the + * functions in this section.*/ /*@{*/ /**Retrieves a human-readable string to identify the library vendor and * version. @@ -510,7 +519,12 @@ extern int th_packet_iskeyframe(ogg_packet *_op); /*@}*/
-/**\name Functions for manipulating header data*/ +/**\name Functions for manipulating header data + * These functions manipulate the #th_info and #th_comment structures + * which describe video parameters and key-value metadata, respectively. + * + * You must link to \c libtheoradec if you use any of the + * functions in this section.*/ /*@{*/ /**Initializes a th_info structure. * This should be called on a freshly allocated #th_info structure before @@ -537,7 +551,7 @@ extern void th_comment_init(th_comment *_tc); * \param _tc The #th_comment struct to add the comment to. * \param _comment Must be a null-terminated UTF-8 string containing the * comment in "TAG=the value" form.*/ -extern void th_comment_add(th_comment *_tc, char *_comment); +extern void th_comment_add(th_comment *_tc,const char *_comment); /**Add a comment to an initialized #th_comment structure. * \note Neither th_comment_add() nor th_comment_add_tag() support * comments containing null values, although the bitstream format does @@ -545,10 +559,11 @@ extern void th_comment_add(th_comment *_tc, char *_comment); * To add such comments you will need to manipulate the #th_comment * structure directly. * \param _tc The #th_comment struct to add the comment to. - * \param _tag A null-terminated string containing the tag associated with + * \param _tag A null-terminated string containing the tag associated with * the comment. * \param _val The corresponding value as a null-terminated string.*/ -extern void th_comment_add_tag(th_comment *_tc,char *_tag,char *_val); +extern void th_comment_add_tag(th_comment *_tc,const char *_tag, + const char *_val); /**Look up a comment value by its tag. * \param _tc An initialized #th_comment structure. * \param _tag The tag to look up. @@ -564,15 +579,15 @@ extern void th_comment_add_tag(th_comment *_tc,char *_tag,char *_val); * It should not be modified or freed by the application, and * modifications to the structure may invalidate the pointer. * \retval NULL If no matching tag is found.*/ -extern char *th_comment_query(th_comment *_tc,char *_tag,int _count); +extern char *th_comment_query(th_comment *_tc,const char *_tag,int _count); /**Look up the number of instances of a tag. * Call this first when querying for a specific tag and then iterate over the * number of instances with separate calls to th_comment_query() to * retrieve all the values for that tag in order. * \param _tc An initialized #th_comment structure. * \param _tag The tag to look up. - * \return The number on instances of this particular tag.*/ -extern int th_comment_query_count(th_comment *_tc,char *_tag); + * \return The number of instances of this particular tag.*/ +extern int th_comment_query_count(th_comment *_tc,const char *_tag); /**Clears a #th_comment structure. * This should be called on a #th_comment structure after it is no longer * needed. diff --git a/media/libtheora/include/theora/theora.h b/media/libtheora/include/theora/theora.h index 575a889b71269..a729a76890dd2 100644 --- a/media/libtheora/include/theora/theora.h +++ b/media/libtheora/include/theora/theora.h @@ -34,41 +34,41 @@ extern "C" * * \section intro Introduction * - * This is the documentation for the libtheora legacy C API, declared in + * This is the documentation for the libtheora legacy C API, declared in * the theora.h header, which describes the old interface used before * the 1.0 release. This API was widely deployed for several years and - * remains supported, but for new code we recommend the cleaner API + * remains supported, but for new code we recommend the cleaner API * declared in theoradec.h and theoraenc.h. * * libtheora is the reference implementation for * <a href="http://www.theora.org/">Theora</a>, a free video codec. * Theora is derived from On2's VP3 codec with improved integration with * Ogg multimedia formats by <a href="http://www.xiph.org/">Xiph.Org</a>. - * + * * \section overview Overview * - * This library will both decode and encode theora packets to/from raw YUV + * This library will both decode and encode theora packets to/from raw YUV * frames. In either case, the packets will most likely either come from or - * need to be embedded in an Ogg stream. Use - * <a href="http://xiph.org/ogg/">libogg</a> or + * need to be embedded in an Ogg stream. Use + * <a href="http://xiph.org/ogg/">libogg</a> or * <a href="http://www.annodex.net/software/liboggz/index.html">liboggz</a> * to extract/package these packets. * * \section decoding Decoding Process * * Decoding can be separated into the following steps: - * -# initialise theora_info and theora_comment structures using + * -# initialise theora_info and theora_comment structures using * theora_info_init() and theora_comment_init(): \verbatim theora_info info; theora_comment comment; - + theora_info_init(&info); theora_comment_init(&comment); \endverbatim - * -# retrieve header packets from Ogg stream (there should be 3) and decode - * into theora_info and theora_comment structures using - * theora_decode_header(). See \ref identification for more information on + * -# retrieve header packets from Ogg stream (there should be 3) and decode + * into theora_info and theora_comment structures using + * theora_decode_header(). See \ref identification for more information on * identifying which packets are theora packets. \verbatim int i; @@ -79,14 +79,14 @@ extern "C" } \endverbatim * -# initialise the decoder based on the information retrieved into the - * theora_info struct by theora_decode_header(). You will need a + * theora_info struct by theora_decode_header(). You will need a * theora_state struct. \verbatim theora_state state; - + theora_decode_init(&state, &info); \endverbatim - * -# pass in packets and retrieve decoded frames! See the yuv_buffer + * -# pass in packets and retrieve decoded frames! See the yuv_buffer * documentation for information on how to retrieve raw YUV data. \verbatim yuf_buffer buffer; @@ -96,20 +96,20 @@ extern "C" theora_decode_YUVout(&state, &buffer); } \endverbatim - * + * * * \subsection identification Identifying Theora Packets * - * All streams inside an Ogg file have a unique serial_no attached to the - * stream. Typically, you will want to - * - retrieve the serial_no for each b_o_s (beginning of stream) page - * encountered within the Ogg file; - * - test the first (only) packet on that page to determine if it is a theora + * All streams inside an Ogg file have a unique serial_no attached to the + * stream. Typically, you will want to + * - retrieve the serial_no for each b_o_s (beginning of stream) page + * encountered within the Ogg file; + * - test the first (only) packet on that page to determine if it is a theora * packet; - * - once you have found a theora b_o_s page then use the retrieved serial_no + * - once you have found a theora b_o_s page then use the retrieved serial_no * to identify future packets belonging to the same theora stream. - * - * Note that you \e cannot use theora_packet_isheader() to determine if a + * + * Note that you \e cannot use theora_packet_isheader() to determine if a * packet is a theora packet or not, as this function does not perform any * checking beyond whether a header bit is present. Instead, use the * theora_decode_header() function and check the return value; or examine the @@ -124,9 +124,9 @@ extern "C" * A YUV buffer for passing uncompressed frames to and from the codec. * This holds a Y'CbCr frame in planar format. The CbCr planes can be * subsampled and have their own separate dimensions and row stride - * offsets. Note that the strides may be negative in some + * offsets. Note that the strides may be negative in some * configurations. For theora the width and height of the largest plane - * must be a multiple of 16. The actual meaningful picture size and + * must be a multiple of 16. The actual meaningful picture size and * offset are stored in the theora_info structure; frames returned by * the decoder may need to be cropped for display. * @@ -135,8 +135,8 @@ extern "C" * are ordered from left to right. * * During decode, the yuv_buffer struct is allocated by the user, but all - * fields (including luma and chroma pointers) are filled by the library. - * These pointers address library-internal memory and their contents should + * fields (including luma and chroma pointers) are filled by the library. + * These pointers address library-internal memory and their contents should * not be modified. * * Conversely, during encode the user allocates the struct and fills out all @@ -186,7 +186,7 @@ typedef enum { * Theora bitstream info. * Contains the basic playback parameters for a stream, * corresponding to the initial 'info' header packet. - * + * * Encoded theora frames must be a multiple of 16 in width and height. * To handle other frame sizes, a crop rectangle is specified in * frame_height and frame_width, offset_x and * offset_y. The offset @@ -198,10 +198,10 @@ typedef enum { * fraction. Aspect ratio is also stored as a rational fraction, and * refers to the aspect ratio of the frame pixels, not of the * overall frame itself. - * + * * See <a href="http://svn.xiph.org/trunk/theora/examples/encoder_example.c"> * examples/encoder_example.c</a> for usage examples of the - * other paramters and good default settings for the encoder parameters. + * other parameters and good default settings for the encoder parameters. */ typedef struct { ogg_uint32_t width; /**< encoded frame width */ @@ -253,14 +253,14 @@ typedef struct{
} theora_state;
-/** +/** * Comment header metadata. * * This structure holds the in-stream metadata corresponding to * the 'comment' header packet. * * Meta data is stored as a series of (tag, value) pairs, in - * length-encoded string vectors. The first occurence of the + * length-encoded string vectors. The first occurence of the * '=' character delimits the tag and value. A particular tag * may occur more than once. The character set encoding for * the strings is always UTF-8, but the tag names are limited @@ -285,7 +285,7 @@ typedef struct theora_comment{ /* \anchor decctlcodes_old * These are the available request codes for theora_control() * when called with a decoder instance. - * By convention decoder control codes are odd, to distinguish + * By convention decoder control codes are odd, to distinguish * them from \ref encctlcodes_old "encoder control codes" which * are even. * @@ -306,7 +306,7 @@ typedef struct theora_comment{ #define TH_DECCTL_GET_PPLEVEL_MAX (1)
/**Set the post-processing level. - * Sets the level of post-processing to use when decoding the + * Sets the level of post-processing to use when decoding the * compressed stream. This must be a value between zero (off) * and the maximum returned by TH_DECCTL_GET_PPLEVEL_MAX. */ @@ -345,9 +345,9 @@ typedef struct theora_comment{ * \param[in] buf #th_quant_info * \retval OC_FAULT \a theora_state is <tt>NULL</tt>. * \retval OC_EINVAL Encoding has already begun, the quantization parameters - * are not acceptable to this version of the encoder, - * \a buf is <tt>NULL</tt> and \a buf_sz is not zero, - * or \a buf is non-<tt>NULL</tt> and \a buf_sz is + * are not acceptable to this version of the encoder, + * \a buf is <tt>NULL</tt> and \a buf_sz is not zero, + * or \a buf is non-<tt>NULL</tt> and \a buf_sz is * not <tt>sizeof(#th_quant_info)</tt>. * \retval OC_IMPL Not supported by this implementation.*/ #define TH_ENCCTL_SET_QUANT_PARAMS (2) @@ -424,7 +424,7 @@ typedef struct theora_comment{ #define OC_NEWPACKET -25 /**< Packet is an (ignorable) unhandled extension */ #define OC_DUPFRAME 1 /**< Packet is a dropped frame */
-/** +/** * Retrieve a human-readable string to identify the encoder vendor and version. * \returns A version string. */ @@ -462,7 +462,7 @@ extern int theora_encode_init(theora_state *th, theora_info *ti); extern int theora_encode_YUVin(theora_state *t, yuv_buffer *yuv);
/** - * Request the next packet of encoded video. + * Request the next packet of encoded video. * The encoded data is placed in a user-provided ogg_packet structure. * \param t A theora_state handle previously initialized for encoding. * \param last_p whether this is the last packet the encoder should produce. @@ -496,7 +496,11 @@ extern int theora_encode_header(theora_state *t, ogg_packet *op); * \param op An ogg_packet structure to fill. libtheora will set all * elements of this structure, including a pointer to the encoded * comment data. The memory for the comment data is owned by - * libtheora. + * the application, and must be freed by it using _ogg_free(). + * On some systems (such as Windows when using dynamic linking), this + * may mean the free is executed in a different module from the + * malloc, which will crash; there is no way to free this memory on + * such systems. * \retval 0 Success */ extern int theora_encode_comment(theora_comment *tc, ogg_packet *op); @@ -581,8 +585,8 @@ extern int theora_decode_packetin(theora_state *th,ogg_packet *op); * \param th A theora_state handle previously initialized for decoding. * \param yuv A yuv_buffer in which libtheora should place the decoded data. * Note that the buffer struct itself is allocated by the user, but - * that the luma and chroma pointers will be filled in by the - * library. Also note that these luma and chroma regions should be + * that the luma and chroma pointers will be filled in by the + * library. Also note that these luma and chroma regions should be * considered read-only by the user. * \retval 0 Success */ @@ -617,22 +621,22 @@ extern int theora_packet_iskeyframe(ogg_packet *op); /** * Report the granulepos shift radix * - * When embedded in Ogg, Theora uses a two-part granulepos, + * When embedded in Ogg, Theora uses a two-part granulepos, * splitting the 64-bit field into two pieces. The more-significant * section represents the frame count at the last keyframe, * and the less-significant section represents the count of * frames since the last keyframe. In this way the overall * field is still non-decreasing with time, but usefully encodes * a pointer to the last keyframe, which is necessary for - * correctly restarting decode after a seek. + * correctly restarting decode after a seek. * * This function reports the number of bits used to represent * the distance to the last keyframe, and thus how the granulepos * field must be shifted or masked to obtain the two parts. - * + * * Since libtheora returns compressed data in an ogg_packet * structure, this may be generally useful even if the Theora - * packets are not being used in an Ogg container. + * packets are not being used in an Ogg container. * * \param ti A previously initialized theora_info struct * \returns The bit shift dividing the two granulepos fields @@ -644,7 +648,7 @@ int theora_granule_shift(theora_info *ti); /** * Convert a granulepos to an absolute frame index, starting at 0. * The granulepos is interpreted in the context of a given theora_state handle. - * + * * Note that while the granulepos encodes the frame count (i.e. starting * from 1) this call returns the frame index, starting from zero. Thus * One can calculate the presentation time by multiplying the index by @@ -670,9 +674,7 @@ extern ogg_int64_t theora_granule_frame(theora_state *th,ogg_int64_t granulepos) * This is the "end time" for the frame, or the latest time it should * be displayed. * It is not the presentation time. - * \retval -1. The given granulepos is undefined (i.e. negative), or - * \retval -1. The function has been disabled because floating - * point support is not available. + * \retval -1. The given granulepos is undefined (i.e. negative). */ extern double theora_granule_time(theora_state *th,ogg_int64_t granulepos);
@@ -699,7 +701,7 @@ extern void theora_clear(theora_state *t);
/** * Initialize an allocated theora_comment structure - * \param tc An allocated theora_comment structure + * \param tc An allocated theora_comment structure **/ extern void theora_comment_init(theora_comment *tc);
@@ -720,7 +722,7 @@ extern void theora_comment_add(theora_comment *tc, char *comment); /** * Add a comment to an initialized theora_comment structure. * \param tc A previously initialized theora comment structure - * \param tag A null-terminated string containing the tag + * \param tag A null-terminated string containing the tag * associated with the comment. * \param value The corresponding value as a null-terminated string * @@ -752,9 +754,9 @@ extern char *theora_comment_query(theora_comment *tc, char *tag, int count); * \param tc An initialized theora_comment structure * \param tag The tag to look up * \returns The number on instances of a particular tag. - * + * * Call this first when querying for a specific tag and then interate - * over the number of instances with separate calls to + * over the number of instances with separate calls to * theora_comment_query() to retrieve all instances in order. **/ extern int theora_comment_query_count(theora_comment *tc, char *tag); @@ -769,7 +771,7 @@ extern void theora_comment_clear(theora_comment *tc); * This is used to provide advanced control the encoding process. * \param th A #theora_state handle. * \param req The control code to process. - * See \ref encctlcodes_old "the list of available + * See \ref encctlcodes_old "the list of available * control codes" for details. * \param buf The parameters for this control code. * \param buf_sz The size of the parameter buffer.*/ diff --git a/media/libtheora/include/theora/theoradec.h b/media/libtheora/include/theora/theoradec.h index 6177af3216bf3..77bef81909c40 100644 --- a/media/libtheora/include/theora/theoradec.h +++ b/media/libtheora/include/theora/theoradec.h @@ -92,13 +92,17 @@ extern "C" { * <tt>sizeof(th_stripe_callback)</tt>.*/ #define TH_DECCTL_SET_STRIPE_CB (7)
-/**Enables telemetry and sets the macroblock display mode */ +/**Sets the macroblock display mode. Set to 0 to disable displaying + * macroblocks.*/ #define TH_DECCTL_SET_TELEMETRY_MBMODE (9) -/**Enables telemetry and sets the motion vector display mode */ +/**Sets the motion vector display mode. Set to 0 to disable displaying motion + * vectors.*/ #define TH_DECCTL_SET_TELEMETRY_MV (11) -/**Enables telemetry and sets the adaptive quantization display mode */ +/**Sets the adaptive quantization display mode. Set to 0 to disable displaying + * adaptive quantization. */ #define TH_DECCTL_SET_TELEMETRY_QI (13) -/**Enables telemetry and sets the bitstream breakdown visualization mode */ +/**Sets the bitstream breakdown visualization mode. Set to 0 to disable + * displaying bitstream breakdown.*/ #define TH_DECCTL_SET_TELEMETRY_BITS (15) /*@}*/
@@ -171,7 +175,7 @@ typedef struct th_setup_info th_setup_info; /**\defgroup decfuncs Functions for Decoding*/ /*@{*/ /**\name Functions for decoding - * You must link to <tt>libtheoradec</tt> if you use any of the + * You must link to <tt>libtheoradec</tt> if you use any of the * functions in this section. * * The functions are listed in the order they are used in a typical decode. @@ -267,7 +271,10 @@ extern void th_setup_free(th_setup_info *_setup); * See \ref decctlcodes "the list of available control codes" * for details. * \param _buf The parameters for this control code. - * \param _buf_sz The size of the parameter buffer.*/ + * \param _buf_sz The size of the parameter buffer. + * \return Possible return values depend on the control code used. + * See \ref decctlcodes "the list of control codes" for + * specific values. Generally 0 indicates success.*/ extern int th_decode_ctl(th_dec_ctx *_dec,int _req,void *_buf, size_t _buf_sz); /**Submits a packet containing encoded video data to the decoder. diff --git a/media/libtheora/include/theora/theoraenc.h b/media/libtheora/include/theora/theoraenc.h deleted file mode 100644 index 721ea89b9d45d..0000000000000 --- a/media/libtheora/include/theora/theoraenc.h +++ /dev/null @@ -1,540 +0,0 @@ -/******************************************************************** - * * - * THIS FILE IS PART OF THE OggTheora SOFTWARE CODEC SOURCE CODE. * - * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS * - * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE * - * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. * - * * - * THE Theora SOURCE CODE IS COPYRIGHT (C) 2002-2009 * - * by the Xiph.Org Foundation http://www.xiph.org/ * - * * - ******************************************************************** - - function: - last mod: $Id: theora.h,v 1.8 2004/03/15 22:17:32 derf Exp $ - - ********************************************************************/ - -/**\file - * The <tt>libtheoraenc</tt> C encoding API.*/ - -#if !defined(_O_THEORA_THEORAENC_H_) -# define _O_THEORA_THEORAENC_H_ (1) -# include <stddef.h> -# include <ogg/ogg.h> -# include "codec.h" - -#if defined(__cplusplus) -extern "C" { -#endif - - - -/**\name th_encode_ctl() codes - * \anchor encctlcodes - * These are the available request codes for th_encode_ctl(). - * By convention, these are even, to distinguish them from the - * \ref decctlcodes "decoder control codes". - * Keep any experimental or vendor-specific values above \c 0x8000.*/ -/*@{*/ -/**Sets the Huffman tables to use. - * The tables are copied, not stored by reference, so they can be freed after - * this call. - * <tt>NULL</tt> may be specified to revert to the default tables. - * - * \param[in] _buf <tt>#th_huff_code[#TH_NHUFFMAN_TABLES][#TH_NDCT_TOKENS]</tt> - * \retval TH_EFAULT \a _enc is <tt>NULL</tt>. - * \retval TH_EINVAL Encoding has already begun or one or more of the given - * tables is not full or prefix-free, \a _buf is - * <tt>NULL</tt> and \a _buf_sz is not zero, or \a _buf is - * non-<tt>NULL</tt> and \a _buf_sz is not - * <tt>sizeof(#th_huff_code)*#TH_NHUFFMAN_TABLES*#TH_NDCT_TOKENS</tt>. - * \retval TH_EIMPL Not supported by this implementation.*/ -#define TH_ENCCTL_SET_HUFFMAN_CODES (0) -/**Sets the quantization parameters to use. - * The parameters are copied, not stored by reference, so they can be freed - * after this call. - * <tt>NULL</tt> may be specified to revert to the default parameters. - * - * \param[in] _buf #th_quant_info - * \retval TH_EFAULT \a _enc is <tt>NULL</tt>. - * \retval TH_EINVAL Encoding has already begun, \a _buf is - * <tt>NULL</tt> and \a _buf_sz is not zero, - * or \a _buf is non-<tt>NULL</tt> and - * \a _buf_sz is not <tt>sizeof(#th_quant_info)</tt>. - * \retval TH_EIMPL Not supported by this implementation.*/ -#define TH_ENCCTL_SET_QUANT_PARAMS (2) -/**Sets the maximum distance between key frames. - * This can be changed during an encode, but will be bounded by - * <tt>1<<th_info#keyframe_granule_shift</tt>. - * If it is set before encoding begins, th_info#keyframe_granule_shift will - * be enlarged appropriately. - * - * \param[in] _buf <tt>ogg_uint32_t</tt>: The maximum distance between key - * frames. - * \param[out] _buf <tt>ogg_uint32_t</tt>: The actual maximum distance set. - * \retval TH_EFAULT \a _enc or \a _buf is <tt>NULL</tt>. - * \retval TH_EINVAL \a _buf_sz is not <tt>sizeof(ogg_uint32_t)</tt>. - * \retval TH_EIMPL Not supported by this implementation.*/ -#define TH_ENCCTL_SET_KEYFRAME_FREQUENCY_FORCE (4) -/**Disables any encoder features that would prevent lossless transcoding back - * to VP3. - * This primarily means disabling block-adaptive quantization and always coding - * all four luma blocks in a macro block when 4MV is used. - * It also includes using the VP3 quantization tables and Huffman codes; if you - * set them explicitly after calling this function, the resulting stream will - * not be VP3-compatible. - * If you enable VP3-compatibility when encoding 4:2:2 or 4:4:4 source - * material, or when using a picture region smaller than the full frame (e.g. - * a non-multiple-of-16 width or height), then non-VP3 bitstream features will - * still be disabled, but the stream will still not be VP3-compatible, as VP3 - * was not capable of encoding such formats. - * If you call this after encoding has already begun, then the quantization - * tables and codebooks cannot be changed, but the frame-level features will - * be enabled or disabled as requested. - * - * \param[in] _buf <tt>int</tt>: a non-zero value to enable VP3 compatibility, - * or 0 to disable it (the default). - * \param[out] _buf <tt>int</tt>: 1 if all bitstream features required for - * VP3-compatibility could be set, and 0 otherwise. - * The latter will be returned if the pixel format is not - * 4:2:0, the picture region is smaller than the full frame, - * or if encoding has begun, preventing the quantization - * tables and codebooks from being set. - * \retval TH_EFAULT \a _enc or \a _buf is <tt>NULL</tt>. - * \retval TH_EINVAL \a _buf_sz is not <tt>sizeof(int)</tt>. - * \retval TH_EIMPL Not supported by this implementation.*/ -#define TH_ENCCTL_SET_VP3_COMPATIBLE (10) -/**Gets the maximum speed level. - * Higher speed levels favor quicker encoding over better quality per bit. - * Depending on the encoding mode, and the internal algorithms used, quality - * may actually improve, but in this case bitrate will also likely increase. - * In any case, overall rate/distortion performance will probably decrease. - * The maximum value, and the meaning of each value, may change depending on - * the current encoding mode (VBR vs. constant quality, etc.). - * - * \param[out] _buf <tt>int</tt>: The maximum encoding speed level. - * \retval TH_EFAULT \a _enc or \a _buf is <tt>NULL</tt>. - * \retval TH_EINVAL \a _buf_sz is not <tt>sizeof(int)</tt>. - * \retval TH_EIMPL Not supported by this implementation in the current - * encoding mode.*/ -#define TH_ENCCTL_GET_SPLEVEL_MAX (12) -/**Sets the speed level. - * The current speed level may be retrieved using #TH_ENCCTL_GET_SPLEVEL. - * - * \param[in] _buf <tt>int</tt>: The new encoding speed level. - * 0 is slowest, larger values use less CPU. - * \retval TH_EFAULT \a _enc or \a _buf is <tt>NULL</tt>. - * \retval TH_EINVAL \a _buf_sz is not <tt>sizeof(int)</tt>, or the - * encoding speed level is out of bounds. - * The maximum encoding speed level may be - * implementation- and encoding mode-specific, and can be - * obtained via #TH_ENCCTL_GET_SPLEVEL_MAX. - * \retval TH_EIMPL Not supported by this implementation in the current - * encoding mode.*/ -#define TH_ENCCTL_SET_SPLEVEL (14) -/**Gets the current speed level. - * The default speed level may vary according to encoder implementation, but if - * this control code is not supported (it returns #TH_EIMPL), the default may - * be assumed to be the slowest available speed (0). - * The maximum encoding speed level may be implementation- and encoding - * mode-specific, and can be obtained via #TH_ENCCTL_GET_SPLEVEL_MAX. - * - * \param[out] _buf <tt>int</tt>: The current encoding speed level. - * 0 is slowest, larger values use less CPU. - * \retval TH_EFAULT \a _enc or \a _buf is <tt>NULL</tt>. - * \retval TH_EINVAL \a _buf_sz is not <tt>sizeof(int)</tt>. - * \retval TH_EIMPL Not supported by this implementation in the current - * encoding mode.*/ -#define TH_ENCCTL_GET_SPLEVEL (16) -/**Sets the number of duplicates of the next frame to produce. - * Although libtheora can encode duplicate frames very cheaply, it costs some - * amount of CPU to detect them, and a run of duplicates cannot span a - * keyframe boundary. - * This control code tells the encoder to produce the specified number of extra - * duplicates of the next frame. - * This allows the encoder to make smarter keyframe placement decisions and - * rate control decisions, and reduces CPU usage as well, when compared to - * just submitting the same frame for encoding multiple times. - * This setting only applies to the next frame submitted for encoding. - * You MUST call th_encode_packetout() repeatedly until it returns 0, or the - * extra duplicate frames will be lost. - * - * \param[in] _buf <tt>int</tt>: The number of duplicates to produce. - * If this is negative or zero, no duplicates will be produced. - * \retval TH_EFAULT \a _enc or \a _buf is <tt>NULL</tt>. - * \retval TH_EINVAL \a _buf_sz is not <tt>sizeof(int)</tt>, or the - * number of duplicates is greater than or equal to the - * maximum keyframe interval. - * In the latter case, NO duplicate frames will be produced. - * You must ensure that the maximum keyframe interval is set - * larger than the maximum number of duplicates you will - * ever wish to insert prior to encoding. - * \retval TH_EIMPL Not supported by this implementation in the current - * encoding mode.*/ -#define TH_ENCCTL_SET_DUP_COUNT (18) -/**Modifies the default bitrate management behavior. - * Use to allow or disallow frame dropping, and to enable or disable capping - * bit reservoir overflows and underflows. - * See \ref encctlcodes "the list of available flags". - * The flags are set by default to - * <tt>#TH_RATECTL_DROP_FRAMES|#TH_RATECTL_CAP_OVERFLOW</tt>. - * - * \param[in] _buf <tt>int</tt>: Any combination of - * \ref ratectlflags "the available flags": - * - #TH_RATECTL_DROP_FRAMES: Enable frame dropping. - * - #TH_RATECTL_CAP_OVERFLOW: Don't bank excess bits for later - * use. - * - #TH_RATECTL_CAP_UNDERFLOW: Don't try to make up shortfalls - * later. - * \retval TH_EFAULT \a _enc or \a _buf is <tt>NULL</tt>. - * \retval TH_EINVAL \a _buf_sz is not <tt>sizeof(int)</tt> or rate control - * is not enabled. - * \retval TH_EIMPL Not supported by this implementation in the current - * encoding mode.*/ -#define TH_ENCCTL_SET_RATE_FLAGS (20) -/**Sets the size of the bitrate management bit reservoir as a function - * of number of frames. - * The reservoir size affects how quickly bitrate management reacts to - * instantaneous changes in the video complexity. - * Larger reservoirs react more slowly, and provide better overall quality, but - * require more buffering by a client, adding more latency to live streams. - * By default, libtheora sets the reservoir to the maximum distance between - * keyframes, subject to a minimum and maximum limit. - * This call may be used to increase or decrease the reservoir, increasing or - * decreasing the allowed temporary variance in bitrate. - * An implementation may impose some limits on the size of a reservoir it can - * handle, in which case the actual reservoir size may not be exactly what was - * requested. - * The actual value set will be returned. - * - * \param[in] _buf <tt>int</tt>: Requested size of the reservoir measured in - * frames. - * \param[out] _buf <tt>int</tt>: The actual size of the reservoir set. - * \retval TH_EFAULT \a _enc or \a _buf is <tt>NULL</tt>. - * \retval TH_EINVAL \a _buf_sz is not <tt>sizeof(int)</tt>, or rate control - * is not enabled. The buffer has an implementation - * defined minimum and maximum size and the value in _buf - * will be adjusted to match the actual value set. - * \retval TH_EIMPL Not supported by this implementation in the current - * encoding mode.*/ -#define TH_ENCCTL_SET_RATE_BUFFER (22) -/**Enable pass 1 of two-pass encoding mode and retrieve the first pass metrics. - * Pass 1 mode must be enabled before the first frame is encoded, and a target - * bitrate must have already been specified to the encoder. - * Although this does not have to be the exact rate that will be used in the - * second pass, closer values may produce better results. - * The first call returns the size of the two-pass header data, along with some - * placeholder content, and sets the encoder into pass 1 mode implicitly. - * This call sets the encoder to pass 1 mode implicitly. - * Then, a subsequent call must be made after each call to - * th_encode_ycbcr_in() to retrieve the metrics for that frame. - * An additional, final call must be made to retrieve the summary data, - * containing such information as the total number of frames, etc. - * This must be stored in place of the placeholder data that was returned - * in the first call, before the frame metrics data. - * All of this data must be presented back to the encoder during pass 2 using - * #TH_ENCCTL_2PASS_IN. - * - * \param[out] <tt>char *</tt>_buf: Returns a pointer to internal storage - * containing the two pass metrics data. - * This storage is only valid until the next call, or until the - * encoder context is freed, and must be copied by the - * application. - * \retval >=0 The number of bytes of metric data available in the - * returned buffer. - * \retval TH_EFAULT \a _enc or \a _buf is <tt>NULL</tt>. - * \retval TH_EINVAL \a _buf_sz is not <tt>sizeof(char *)</tt>, no target - * bitrate has been set, or the first call was made after - * the first frame was submitted for encoding. - * \retval TH_EIMPL Not supported by this implementation.*/ -#define TH_ENCCTL_2PASS_OUT (24) -/**Submits two-pass encoding metric data collected the first encoding pass to - * the second pass. - * The first call must be made before the first frame is encoded, and a target - * bitrate must have already been specified to the encoder. - * It sets the encoder to pass 2 mode implicitly; this cannot be disabled. - * The encoder may require reading data from some or all of the frames in - * advance, depending on, e.g., the reservoir size used in the second pass. - * You must call this function repeatedly before each frame to provide data - * until either a) it fails to consume all of the data presented or b) all of - * the pass 1 data has been consumed. - * In the first case, you must save the remaining data to be presented after - * the next frame. - * You can call this function with a NULL argument to get an upper bound on - * the number of bytes that will be required before the next frame. - * - * When pass 2 is first enabled, the default bit reservoir is set to the entire - * file; this gives maximum flexibility but can lead to very high peak rates. - * You can subsequently set it to another value with #TH_ENCCTL_SET_RATE_BUFFER - * (e.g., to set it to the keyframe interval for non-live streaming), however, - * you may then need to provide more data before the next frame. - * - * \param[in] _buf <tt>char[]</tt>: A buffer containing the data returned by - * #TH_ENCCTL_2PASS_OUT in pass 1. - * You may pass <tt>NULL</tt> for \a _buf to return an upper - * bound on the number of additional bytes needed before the - * next frame. - * The summary data returned at the end of pass 1 must be at - * the head of the buffer on the first call with a - * non-<tt>NULL</tt> \a _buf, and the placeholder data - * returned at the start of pass 1 should be omitted. - * After each call you should advance this buffer by the number - * of bytes consumed. - * \retval >0 The number of bytes of metric data required/consumed. - * \retval 0 No more data is required before the next frame. - * \retval TH_EFAULT \a _enc is <tt>NULL</tt>. - * \retval TH_EINVAL No target bitrate has been set, or the first call was - * made after the first frame was submitted for - * encoding. - * \retval TH_ENOTFORMAT The data did not appear to be pass 1 from a compatible - * implementation of this library. - * \retval TH_EBADHEADER The data was invalid; this may be returned when - * attempting to read an aborted pass 1 file that still - * has the placeholder data in place of the summary - * data. - * \retval TH_EIMPL Not supported by this implementation.*/ -#define TH_ENCCTL_2PASS_IN (26) -/**Sets the current encoding quality. - * This is only valid so long as no bitrate has been specified, either through - * the #th_info struct used to initialize the encoder or through - * #TH_ENCCTL_SET_BITRATE (this restriction may be relaxed in a future - * version). - * If it is set before the headers are emitted, the target quality encoded in - * them will be updated. - * - * \param[in] _buf <tt>int</tt>: The new target quality, in the range 0...63, - * inclusive. - * \retval 0 Success. - * \retval TH_EFAULT \a _enc or \a _buf is <tt>NULL</tt>. - * \retval TH_EINVAL A target bitrate has already been specified, or the - * quality index was not in the range 0...63. - * \retval TH_EIMPL Not supported by this implementation.*/ -#define TH_ENCCTL_SET_QUALITY (28) -/**Sets the current encoding bitrate. - * Once a bitrate is set, the encoder must use a rate-controlled mode for all - * future frames (this restriction may be relaxed in a future version). - * If it is set before the headers are emitted, the target bitrate encoded in - * them will be updated. - * Due to the buffer delay, the exact bitrate of each section of the encode is - * not guaranteed. - * The encoder may have already used more bits than allowed for the frames it - * has encoded, expecting to make them up in future frames, or it may have - * used fewer, holding the excess in reserve. - * The exact transition between the two bitrates is not well-defined by this - * API, but may be affected by flags set with #TH_ENCCTL_SET_RATE_FLAGS. - * After a number of frames equal to the buffer delay, one may expect further - * output to average at the target bitrate. - * - * \param[in] _buf <tt>long</tt>: The new target bitrate, in bits per second. - * \retval 0 Success. - * \retval TH_EFAULT \a _enc or \a _buf is <tt>NULL</tt>. - * \retval TH_EINVAL The target bitrate was not positive. - * \retval TH_EIMPL Not supported by this implementation.*/ -#define TH_ENCCTL_SET_BITRATE (30) -/**Sets the configuration to be compatible with that from the given setup - * header. - * This sets the Huffman codebooks and quantization parameters to match those - * found in the given setup header. - * This guarantees that packets encoded by this encoder will be decodable using - * a decoder configured with the passed-in setup header. - * It does <em>not</em> guarantee that th_encode_flushheader() will produce a - * bit-identical setup header, only that they will be compatible. - * If you need a bit-identical setup header, then use the one you passed into - * this command, and not the one returned by th_encode_flushheader(). - * - * This also does <em>not</em> enable or disable VP3 compatibility; that is not - * signaled in the setup header (or anywhere else in the encoded stream), and - * is controlled independently by the #TH_ENCCTL_SET_VP3_COMPATIBLE function. - * If you wish to enable VP3 compatibility mode <em>and</em> want the codebooks - * and quantization parameters to match the given setup header, you should - * enable VP3 compatibility before invoking this command, otherwise the - * codebooks and quantization parameters will be reset to the VP3 defaults. - * - * The current encoder does not support Huffman codebooks which do not contain - * codewords for all 32 tokens. - * Such codebooks are legal, according to the specification, but cannot be - * configured with this function. - * - * \param[in] _buf <tt>unsigned char[]</tt>: The encoded setup header to copy - * the configuration from. - * This should be the original, - * undecoded setup header packet, - * and <em>not</em> a #th_setup_info - * structure filled in by - * th_decode_headerin(). - * \retval TH_EFAULT \a _enc or \a _buf is <tt>NULL</tt>. - * \retval TH_EINVAL Encoding has already begun, so the codebooks and - * quantization parameters cannot be changed, or the - * data in the setup header was not supported by this - * encoder. - * \retval TH_EBADHEADER \a _buf did not contain a valid setup header packet. - * \retval TH_ENOTFORMAT \a _buf did not contain a Theora header at all. - * \retval TH_EIMPL Not supported by this implementation.*/ -#define TH_ENCCTL_SET_COMPAT_CONFIG (32) - -/*@}*/ - - -/**\name TH_ENCCTL_SET_RATE_FLAGS flags - * \anchor ratectlflags - * These are the flags available for use with #TH_ENCCTL_SET_RATE_FLAGS.*/ -/*@{*/ -/**Drop frames to keep within bitrate buffer constraints. - * This can have a severe impact on quality, but is the only way to ensure that - * bitrate targets are met at low rates during sudden bursts of activity.*/ -#define TH_RATECTL_DROP_FRAMES (0x1) -/**Ignore bitrate buffer overflows. - * If the encoder uses so few bits that the reservoir of available bits - * overflows, ignore the excess. - * The encoder will not try to use these extra bits in future frames. - * At high rates this may cause the result to be undersized, but allows a - * client to play the stream using a finite buffer; it should normally be - * enabled.*/ -#define TH_RATECTL_CAP_OVERFLOW (0x2) -/**Ignore bitrate buffer underflows. - * If the encoder uses so many bits that the reservoir of available bits - * underflows, ignore the deficit. - * The encoder will not try to make up these extra bits in future frames. - * At low rates this may cause the result to be oversized; it should normally - * be disabled.*/ -#define TH_RATECTL_CAP_UNDERFLOW (0x4) -/*@}*/ - - - -/**The quantization parameters used by VP3.*/ -extern const th_quant_info TH_VP31_QUANT_INFO; - -/**The Huffman tables used by VP3.*/ -extern const th_huff_code - TH_VP31_HUFF_CODES[TH_NHUFFMAN_TABLES][TH_NDCT_TOKENS]; - - - -/**\name Encoder state - The following data structure is opaque, and its contents are not publicly - defined by this API. - Referring to its internals directly is unsupported, and may break without - warning.*/ -/*@{*/ -/**The encoder context.*/ -typedef struct th_enc_ctx th_enc_ctx; -/*@}*/ - - - -/**\defgroup encfuncs Functions for Encoding*/ -/*@{*/ -/**\name Functions for encoding - * You must link to <tt>libtheoraenc</tt> and <tt>libtheoradec</tt> - * if you use any of the functions in this section. - * - * The functions are listed in the order they are used in a typical encode. - * The basic steps are: - * - Fill in a #th_info structure with details on the format of the video you - * wish to encode. - * - Allocate a #th_enc_ctx handle with th_encode_alloc(). - * - Perform any additional encoder configuration required with - * th_encode_ctl(). - * - Repeatedly call th_encode_flushheader() to retrieve all the header - * packets. - * - For each uncompressed frame: - * - Submit the uncompressed frame via th_encode_ycbcr_in() - * - Repeatedly call th_encode_packetout() to retrieve any video data packets - * that are ready. - * - Call th_encode_free() to release all encoder memory.*/ -/*@{*/ -/**Allocates an encoder instance. - * \param _info A #th_info struct filled with the desired encoding parameters. - * \return The initialized #th_enc_ctx handle. - * \retval NULL If the encoding parameters were invalid.*/ -extern th_enc_ctx *th_encode_alloc(const th_info *_info); -/**Encoder control function. - * This is used to provide advanced control the encoding process. - * \param _enc A #th_enc_ctx handle. - * \param _req The control code to process. - * See \ref encctlcodes "the list of available control codes" - * for details. - * \param _buf The parameters for this control code. - * \param _buf_sz The size of the parameter buffer.*/ -extern int th_encode_ctl(th_enc_ctx *_enc,int _req,void *_buf,size_t _buf_sz); -/**Outputs the next header packet. - * This should be called repeatedly after encoder initialization until it - * returns 0 in order to get all of the header packets, in order, before - * encoding actual video data. - * \param _enc A #th_enc_ctx handle. - * \param _comments The metadata to place in the comment header, when it is - * encoded. - * \param _op An <tt>ogg_packet</tt> structure to fill. - * All of the elements of this structure will be set, - * including a pointer to the header data. - * The memory for the header data is owned by - * <tt>libtheoraenc</tt>, and may be invalidated when the - * next encoder function is called. - * \return A positive value indicates that a header packet was successfully - * produced. - * \retval 0 No packet was produced, and no more header packets remain. - * \retval TH_EFAULT \a _enc, \a _comments, or \a _op was <tt>NULL</tt>.*/ -extern int th_encode_flushheader(th_enc_ctx *_enc, - th_comment *_comments,ogg_packet *_op); -/**Submits an uncompressed frame to the encoder. - * \param _enc A #th_enc_ctx handle. - * \param _ycbcr A buffer of Y'CbCr data to encode. - * If the width and height of the buffer matches the frame size - * the encoder was initialized with, the encoder will only - * reference the portion inside the picture region. - * Any data outside this region will be ignored, and need not map - * to a valid address. - * Alternatively, you can pass a buffer equal to the size of the - * picture region, if this is less than the full frame size. - * When using subsampled chroma planes, odd picture sizes or odd - * picture offsets may require an unexpected chroma plane size, - * and their use is generally discouraged, as they will not be - * well-supported by players and other media frameworks. - * See Section 4.4 of - * <a href="http://www.theora.org/doc/Theora.pdf">the Theora - * specification</a> for details if you wish to use them anyway. - * \retval 0 Success. - * \retval TH_EFAULT \a _enc or \a _ycbcr is <tt>NULL</tt>. - * \retval TH_EINVAL The buffer size matches neither the frame size nor the - * picture size the encoder was initialized with, or - * encoding has already completed.*/ -extern int th_encode_ycbcr_in(th_enc_ctx *_enc,th_ycbcr_buffer _ycbcr); -/**Retrieves encoded video data packets. - * This should be called repeatedly after each frame is submitted to flush any - * encoded packets, until it returns 0. - * The encoder will not buffer these packets as subsequent frames are - * compressed, so a failure to do so will result in lost video data. - * \note Currently the encoder operates in a one-frame-in, one-packet-out - * manner. - * However, this may be changed in the future. - * \param _enc A #th_enc_ctx handle. - * \param _last Set this flag to a non-zero value if no more uncompressed - * frames will be submitted. - * This ensures that a proper EOS flag is set on the last packet. - * \param _op An <tt>ogg_packet</tt> structure to fill. - * All of the elements of this structure will be set, including a - * pointer to the video data. - * The memory for the video data is owned by - * <tt>libtheoraenc</tt>, and may be invalidated when the next - * encoder function is called. - * \return A positive value indicates that a video data packet was successfully - * produced. - * \retval 0 No packet was produced, and no more encoded video data - * remains. - * \retval TH_EFAULT \a _enc or \a _op was <tt>NULL</tt>.*/ -extern int th_encode_packetout(th_enc_ctx *_enc,int _last,ogg_packet *_op); -/**Frees an allocated encoder instance. - * \param _enc A #th_enc_ctx handle.*/ -extern void th_encode_free(th_enc_ctx *_enc); -/*@}*/ -/*@}*/ - - - -#if defined(__cplusplus) -} -#endif - -#endif diff --git a/media/libtheora/lib/arm/arm2gnu.pl b/media/libtheora/lib/arm/arm2gnu.pl old mode 100644 new mode 100755 index 5831bd81e26a6..8cb68e4a9faeb --- a/media/libtheora/lib/arm/arm2gnu.pl +++ b/media/libtheora/lib/arm/arm2gnu.pl @@ -23,6 +23,7 @@ $\ = "\n"; # automatically add newline on print $n=0;
$thumb = 0; # ARM mode by default, not Thumb. +@proc_stack = ();
LINE: while (<>) { @@ -85,13 +86,19 @@ while (<>) { # ".rdata" doesn't work in 'as' version 2.13.2, as it is ".rodata" there. # if ( /\bAREA\b/ ) { + my $align; + $align = "2"; + if ( /ALIGN=(\d+)/ ) { + $align = $1; + } if ( /CODE/ ) { $nxstack = 1; } s/^(.+)CODE(.+)READONLY(.*)/ .text/; - s/^(.+)DATA(.+)READONLY(.*)/ .section .rdata\n .align 2/; - s/^(.+)||.data||(.+)/ .data\n .align 2/; + s/^(.+)DATA(.+)READONLY(.*)/ .section .rdata/; + s/^(.+)||.data||(.+)/ .data/; s/^(.+)||.bss||(.+)/ .bss/; + s/$/; .p2align $align/; }
s/||.constdata$(\d+)||/.L_CONST$1/; # ||.constdata$3|| @@ -105,12 +112,30 @@ while (<>) { s/\bCODE16\b/.code 16/ && do {$thumb = 1}; if (/\bPROC\b/) { - print " .thumb_func" if ($thumb); + my $prefix; + my $proc; + /^([A-Za-z_.]\w+)\b/; + $proc = $1; + $prefix = ""; + if ($proc) + { + $prefix = $prefix.sprintf("\t.type\t%s, %%function; ",$proc); + push(@proc_stack, $proc); + s/^[A-Za-z_.]\w+/$&:/; + } + $prefix = $prefix."\t.thumb_func; " if ($thumb); s/\bPROC\b/@ $&/; + $_ = $prefix.$_; } s/^(\s*)(S|Q|SH|U|UQ|UH)ASX\b/$1$2ADDSUBX/; s/^(\s*)(S|Q|SH|U|UQ|UH)SAX\b/$1$2SUBADDX/; - s/\bENDP\b/@ $&/; + if (/\bENDP\b/) + { + my $proc; + s/\bENDP\b/@ $&/; + $proc = pop(@proc_stack); + $_ = "\t.size $proc, .-$proc".$_ if ($proc); + } s/\bSUBT\b/@ $&/; s/\bDATA\b/@ $&/; # DATA directive is deprecated -- Asm guide, p.7-25 s/\bKEEP\b/@ $&/; @@ -223,6 +248,7 @@ while (<>) { { my $cmd=$_; my $value; + my $prefix; my $w1; my $w2; my $w3; @@ -241,25 +267,22 @@ while (<>) { if( $bigend ne "") { # big endian - - print " .byte 0x".$w1; - print " .byte 0x".$w2; - print " .byte 0x".$w3; - print " .byte 0x".$w4; + $prefix = "\t.byte\t0x".$w1.";". + "\t.byte\t0x".$w2.";". + "\t.byte\t0x".$w3.";". + "\t.byte\t0x".$w4."; "; } else { # little endian - - print " .byte 0x".$w4; - print " .byte 0x".$w3; - print " .byte 0x".$w2; - print " .byte 0x".$w1; + $prefix = "\t.byte\t0x".$w4.";". + "\t.byte\t0x".$w3.";". + "\t.byte\t0x".$w2.";". + "\t.byte\t0x".$w1."; "; } - + $_=$prefix.$_; }
- if ( /\badrl\b/i ) { s/\badrl\s+(\w+)\s*,\s*(\w+)/ldr $1,=$2/i; diff --git a/media/libtheora/lib/arm/armbits.s b/media/libtheora/lib/arm/armbits.s index 0fdb6fdd37441..94007225435f5 100644 --- a/media/libtheora/lib/arm/armbits.s +++ b/media/libtheora/lib/arm/armbits.s @@ -11,18 +11,12 @@ ;******************************************************************** ; ; function: -; last mod: $Id: armbits.s 17481 2010-10-03 22:49:42Z tterribe $ +; last mod: $Id$ ; ;********************************************************************
AREA |.text|, CODE, READONLY
- ; Explicitly specifying alignment here because some versions of - ; gas don't align code correctly. See - ; http://lists.gnu.org/archive/html/bug-binutils/2011-06/msg00199.html - ; https://bugzilla.mozilla.org/show_bug.cgi?id=920992 - ALIGN - EXPORT oc_pack_read_arm EXPORT oc_pack_read1_arm EXPORT oc_huff_token_decode_arm diff --git a/media/libtheora/lib/arm/armcpu.c b/media/libtheora/lib/arm/armcpu.c index 8b0f9a857465f..f1941bdc15577 100644 --- a/media/libtheora/lib/arm/armcpu.c +++ b/media/libtheora/lib/arm/armcpu.c @@ -20,7 +20,7 @@ #include "armcpu.h"
#if !defined(OC_ARM_ASM)|| \ - !defined(OC_ARM_ASM_EDSP)&&!defined(OC_ARM_ASM_ARMV6)&& \ + !defined(OC_ARM_ASM_EDSP)&&!defined(OC_ARM_ASM_MEDIA)&& \ !defined(OC_ARM_ASM_NEON) ogg_uint32_t oc_cpu_flags_get(void){ return 0; @@ -107,6 +107,44 @@ ogg_uint32_t oc_cpu_flags_get(void){ return flags; }
+#elif defined(__riscos__) +#include <kernel.h> +#include <swis.h> + +ogg_uint32_t oc_cpu_flags_get(void) { + ogg_uint32_t flags = 0; + +#if defined(OC_ARM_ASM_EDSP) || defined(OC_ARM_ASM_MEDIA) + + if (_swi(OS_Byte,_IN(0)|_IN(2)|_RETURN(1), 129, 0xFF) <= 0xA9) + _swix(OS_Module, _INR(0,1), 1, "System:Modules.CallASWI"); + + ogg_uint32_t features; + _kernel_oserror* test = _swix(OS_PlatformFeatures, _IN(0)|_OUT(0), 0, &features); + if (test == NULL) { +#if defined(OC_ARM_ASM_EDSP) + if((features>>10 & 1) == 1)flags|=OC_CPU_ARM_EDSP; +#endif + +#if defined(OC_ARM_ASM_MEDIA) + if ((features>>31 & 1) == 1) { + ogg_uint32_t shadd = 0; + test =_swix(OS_PlatformFeatures, _INR(0,1)|_OUT(0), 34, 29, &shadd); + if (test==NULL && shadd==1)flags|=OC_CPU_ARM_MEDIA; + } +#endif + } +#endif + +#if defined(OC_ARM_ASM_NEON) + ogg_uint32_t mvfr1; + test = _swix(VFPSupport_Features, _IN(0)|_OUT(2), 0, &mvfr1); + if (test==NULL && (mvfr1 & 0xFFF00)==0x11100)flags|=OC_CPU_ARM_NEON; +#endif + + return flags; +} + #else /*The feature registers which can tell us what the processor supports are accessible in priveleged modes only, so we can't have a general user-space diff --git a/media/libtheora/lib/arm/armfrag.s b/media/libtheora/lib/arm/armfrag.s index e20579eee4b07..38627ed669ba3 100644 --- a/media/libtheora/lib/arm/armfrag.s +++ b/media/libtheora/lib/arm/armfrag.s @@ -11,17 +11,11 @@ ;******************************************************************** ; Original implementation: ; Copyright (C) 2009 Robin Watts for Pinknoise Productions Ltd -; last mod: $Id: armfrag.s 17481 2010-10-03 22:49:42Z tterribe $ +; last mod: $Id$ ;********************************************************************
AREA |.text|, CODE, READONLY
- ; Explicitly specifying alignment here because some versions of - ; gas don't align code correctly. See - ; http://lists.gnu.org/archive/html/bug-binutils/2011-06/msg00199.html - ; https://bugzilla.mozilla.org/show_bug.cgi?id=920992 - ALIGN - GET armopts.s
; Vanilla ARM v4 versions @@ -516,8 +510,7 @@ oc_frag_recon_intra_neon PROC ; r0 = unsigned char *_dst ; r1 = int _ystride ; r2 = const ogg_int16_t _residue[64] - MOV r3, #128 - VDUP.S16 Q0, r3 + VMOV.I16 Q0, #128 VLDMIA r2, {D16-D31} ; D16= 3333222211110000 etc ; 9(8) cycles VQADD.S16 Q8, Q8, Q0 VQADD.S16 Q9, Q9, Q0 diff --git a/media/libtheora/lib/arm/armidct.s b/media/libtheora/lib/arm/armidct.s index babd846ecd30e..68530c7140184 100644 --- a/media/libtheora/lib/arm/armidct.s +++ b/media/libtheora/lib/arm/armidct.s @@ -11,17 +11,11 @@ ;******************************************************************** ; Original implementation: ; Copyright (C) 2009 Robin Watts for Pinknoise Productions Ltd -; last mod: $Id: armidct.s 17481 2010-10-03 22:49:42Z tterribe $ +; last mod: $Id$ ;********************************************************************
AREA |.text|, CODE, READONLY
- ; Explicitly specifying alignment here because some versions of - ; gas don't align code correctly. See - ; http://lists.gnu.org/archive/html/bug-binutils/2011-06/msg00199.html - ; https://bugzilla.mozilla.org/show_bug.cgi?id=920992 - ALIGN - GET armopts.s
EXPORT oc_idct8x8_1_arm @@ -70,11 +64,8 @@ oc_idct8x8_slow_arm BL idct8core_arm BL idct8core_arm LDR r0, [r13], #4 ; Write to the final destination. - ; Clear input data for next block (decoder only). SUB r2, r1, #8*16 - CMP r0, r2 - MOV r1, r13 ; And read from temp storage. - BEQ oc_idct8x8_slow_arm_cols + ; Clear input data for next block. MOV r4, #0 MOV r5, #0 MOV r6, #0 @@ -87,7 +78,7 @@ oc_idct8x8_slow_arm STMIA r2!,{r4,r5,r6,r7} STMIA r2!,{r4,r5,r6,r7} STMIA r2!,{r4,r5,r6,r7} -oc_idct8x8_slow_arm_cols + MOV r1, r13 ; And read from temp storage. ; Column transforms BL idct8core_down_arm BL idct8core_down_arm @@ -111,18 +102,15 @@ oc_idct8x8_10_arm PROC BL idct3core_arm BL idct2core_arm BL idct1core_arm - ; Clear input data for next block (decoder only). - SUB r0, r1, #4*16 - CMP r0, r2 - MOV r1, r13 ; Read from temp storage. - BEQ oc_idct8x8_10_arm_cols + ; Clear input data for next block. MOV r4, #0 - STR r4, [r0] - STR r4, [r0,#4] - STR r4, [r0,#16] - STR r4, [r0,#20] - STR r4, [r0,#32] - STR r4, [r0,#48] + STR r4, [r1,#-4*16]! + STR r4, [r1,#4] + STR r4, [r1,#16] + STR r4, [r1,#20] + STR r4, [r1,#32] + STR r4, [r1,#48] + MOV r1, r13 ; Read from temp storage. MOV r0, r2 ; Write to the final destination oc_idct8x8_10_arm_cols ; Column transforms @@ -147,18 +135,14 @@ oc_idct8x8_6_arm PROC BL idct3core_arm BL idct2core_arm BL idct1core_arm - ; Clear input data for next block (decoder only). - SUB r0, r1, #3*16 - CMP r0, r2 - MOV r1, r13 ; Read from temp storage. - BEQ oc_idct8x8_6_arm_cols + ; Clear input data for next block. MOV r4, #0 - STR r4, [r0] - STR r4, [r0,#4] - STR r4, [r0,#16] - STR r4, [r0,#32] + STR r4, [r1,#-3*16]! + STR r4, [r1,#4] + STR r4, [r1,#16] + STR r4, [r1,#32] + MOV r1, r13 ; Read from temp storage. MOV r0, r2 ; Write to the final destination -oc_idct8x8_6_arm_cols ; Column transforms BL idct3core_down_arm BL idct3core_down_arm @@ -180,14 +164,12 @@ oc_idct8x8_3_arm PROC MOV r0, r13 ; Write to temp storage. BL idct2core_arm BL idct1core_arm - ; Clear input data for next block (decoder only). - SUB r0, r1, #2*16 - CMP r0, r2 + ; Clear input data for next block. + MOV r4, #0 + STR r4, [r1,#-2*16]! + STR r4, [r1,#16] MOV r1, r13 ; Read from temp storage. - MOVNE r4, #0 - STRNE r4, [r0] - STRNE r4, [r0,#16] - MOVNE r0, r2 ; Write to the final destination + MOV r0, r2 ; Write to the final destination ; Column transforms BL idct2core_down_arm BL idct2core_down_arm @@ -805,30 +787,26 @@ oc_idct8x8_slow_v6 BL idct8_8core_v6 BL idct8_8core_v6 LDR r0, [r13], #4 ; Write to the final destination. - ; Clear input data for next block (decoder only). - SUB r2, r1, #8*16 - CMP r0, r2 - MOV r1, r13 ; And read from temp storage. - BEQ oc_idct8x8_slow_v6_cols + ; Clear input data for next block. MOV r4, #0 MOV r5, #0 - STRD r4, [r2], #8 - STRD r4, [r2], #8 - STRD r4, [r2], #8 - STRD r4, [r2], #8 - STRD r4, [r2], #8 - STRD r4, [r2], #8 - STRD r4, [r2], #8 - STRD r4, [r2], #8 - STRD r4, [r2], #8 - STRD r4, [r2], #8 - STRD r4, [r2], #8 - STRD r4, [r2], #8 - STRD r4, [r2], #8 - STRD r4, [r2], #8 - STRD r4, [r2], #8 - STRD r4, [r2], #8 -oc_idct8x8_slow_v6_cols + STRD r4, [r1,#-8*16]! + STRD r4, [r1,#8] + STRD r4, [r1,#16] + STRD r4, [r1,#24] + STRD r4, [r1,#32] + STRD r4, [r1,#40] + STRD r4, [r1,#48] + STRD r4, [r1,#56] + STRD r4, [r1,#64] + STRD r4, [r1,#72] + STRD r4, [r1,#80] + STRD r4, [r1,#88] + STRD r4, [r1,#96] + STRD r4, [r1,#104] + STRD r4, [r1,#112] + STRD r4, [r1,#120] + MOV r1, r13 ; And read from temp storage. ; Column transforms BL idct8_8core_down_v6 BL idct8_8core_down_v6 @@ -849,20 +827,16 @@ oc_idct8x8_10_v6 PROC BL idct4_3core_v6 BL idct2_1core_v6 LDR r0, [r13], #4 ; Write to the final destination. - ; Clear input data for next block (decoder only). - SUB r2, r1, #4*16 - CMP r0, r2 - AND r1, r13,#4 ; Align the stack. - BEQ oc_idct8x8_10_v6_cols + ; Clear input data for next block. MOV r4, #0 MOV r5, #0 - STRD r4, [r2] - STRD r4, [r2,#16] - STR r4, [r2,#32] - STR r4, [r2,#48] -oc_idct8x8_10_v6_cols -; Column transforms + STRD r4, [r1,#-4*16]! + STRD r4, [r1,#16] + STR r4, [r1,#32] + STR r4, [r1,#48] + AND r1, r13,#4 ; Align the stack. ADD r1, r1, r13 ; And read from temp storage. +; Column transforms BL idct4_4core_down_v6 BL idct4_4core_down_v6 BL idct4_4core_down_v6 @@ -878,14 +852,12 @@ oc_idct8x8_3_v6 PROC MOV r8, r0 MOV r0, r13 ; Write to temp storage. BL idct2_1core_v6 - ; Clear input data for next block (decoder only). - SUB r0, r1, #2*16 - CMP r0, r8 + ; Clear input data for next block. + MOV r4, #0 + STR r4, [r1,#-2*16]! + STR r4, [r1,#16] MOV r1, r13 ; Read from temp storage. - MOVNE r4, #0 - STRNE r4, [r0] - STRNE r4, [r0,#16] - MOVNE r0, r8 ; Write to the final destination. + MOV r0, r8 ; Write to the final destination. ; Column transforms BL idct2_2core_down_v6 BL idct2_2core_down_v6 @@ -1041,20 +1013,16 @@ oc_idct8x8_6_v6 PROC ADD r0, r0, r13 ; Write to temp storage. BL idct3_2core_v6 BL idct1core_v6 - ; Clear input data for next block (decoder only). - SUB r0, r1, #3*16 - CMP r0, r8 - AND r1, r13,#4 ; Align the stack. - BEQ oc_idct8x8_6_v6_cols + ; Clear input data for next block. MOV r4, #0 MOV r5, #0 - STRD r4, [r0] - STR r4, [r0,#16] - STR r4, [r0,#32] + STRD r4, [r1,#-3*16]! + STR r4, [r1,#16] + STR r4, [r1,#32] + AND r1, r13,#4 ; Align the stack. MOV r0, r8 ; Write to the final destination. -oc_idct8x8_6_v6_cols -; Column transforms ADD r1, r1, r13 ; And read from temp storage. +; Column transforms BL idct3_3core_down_v6 BL idct3_3core_down_v6 BL idct3_3core_down_v6 @@ -1596,7 +1564,6 @@ oc_idct8x8_slow_neon VSWP D23,D30 ; Column transforms BL oc_idct8x8_stage123_neon - CMP r0,r1 ; We have to put the return address back in the LR, or the branch ; predictor will not recognize the function return and mis-predict the ; entire call stack. @@ -1610,7 +1577,6 @@ oc_idct8x8_slow_neon VADD.S16 Q10,Q10,Q5 ; Q10 = y[2]=t[2]'+t[5]'' VSUB.S16 Q12,Q11,Q4 ; Q12 = y[4]=t[3]'-t[4]' VADD.S16 Q11,Q11,Q4 ; Q11 = y[3]=t[3]'+t[4]' - BEQ oc_idct8x8_slow_neon_noclear VMOV.I8 Q2,#0 VPOP {D8-D15} VMOV.I8 Q3,#0 @@ -1628,19 +1594,6 @@ oc_idct8x8_slow_neon VRSHR.S16 Q15,Q15,#4 ; Q15 = y[7]+8>>4 VSTMIA r0, {D16-D31} MOV PC, r14 - -oc_idct8x8_slow_neon_noclear - VPOP {D8-D15} - VRSHR.S16 Q8, Q8, #4 ; Q8 = y[0]+8>>4 - VRSHR.S16 Q9, Q9, #4 ; Q9 = y[1]+8>>4 - VRSHR.S16 Q10,Q10,#4 ; Q10 = y[2]+8>>4 - VRSHR.S16 Q11,Q11,#4 ; Q11 = y[3]+8>>4 - VRSHR.S16 Q12,Q12,#4 ; Q12 = y[4]+8>>4 - VRSHR.S16 Q13,Q13,#4 ; Q13 = y[5]+8>>4 - VRSHR.S16 Q14,Q14,#4 ; Q14 = y[6]+8>>4 - VRSHR.S16 Q15,Q15,#4 ; Q15 = y[7]+8>>4 - VSTMIA r0, {D16-D31} - MOV PC, r14 ENDP
oc_idct8x8_stage123_neon PROC @@ -1871,7 +1824,6 @@ oc_idct8x8_10_neon PROC VADD.S16 Q10,Q1, Q2 ; Q10= t[1]'=t[0]+t[2] VSUB.S16 Q2, Q1, Q2 ; Q2 = t[2]'=t[0]-t[2] ; Stage 4 - CMP r0, r1 VADD.S16 Q8, Q11,Q15 ; Q8 = y[0]=t[0]'+t[7]' VADD.S16 Q9, Q10,Q14 ; Q9 = y[1]=t[1]'+t[6]'' VSUB.S16 Q15,Q11,Q15 ; Q15 = y[7]=t[0]'-t[7]' @@ -1880,7 +1832,6 @@ oc_idct8x8_10_neon PROC VADD.S16 Q11,Q3, Q12 ; Q11 = y[3]=t[3]'+t[4]' VSUB.S16 Q12,Q3, Q12 ; Q12 = y[4]=t[3]'-t[4]' VSUB.S16 Q13,Q2, Q13 ; Q13 = y[5]=t[2]'-t[5]'' - BEQ oc_idct8x8_10_neon_noclear VMOV.I8 D2, #0 VRSHR.S16 Q8, Q8, #4 ; Q8 = y[0]+8>>4 VST1.64 {D2}, [r1@64], r12 @@ -1896,18 +1847,6 @@ oc_idct8x8_10_neon PROC VRSHR.S16 Q15,Q15,#4 ; Q15 = y[7]+8>>4 VSTMIA r0, {D16-D31} MOV PC, r14 - -oc_idct8x8_10_neon_noclear - VRSHR.S16 Q8, Q8, #4 ; Q8 = y[0]+8>>4 - VRSHR.S16 Q9, Q9, #4 ; Q9 = y[1]+8>>4 - VRSHR.S16 Q10,Q10,#4 ; Q10 = y[2]+8>>4 - VRSHR.S16 Q11,Q11,#4 ; Q11 = y[3]+8>>4 - VRSHR.S16 Q12,Q12,#4 ; Q12 = y[4]+8>>4 - VRSHR.S16 Q13,Q13,#4 ; Q13 = y[5]+8>>4 - VRSHR.S16 Q14,Q14,#4 ; Q14 = y[6]+8>>4 - VRSHR.S16 Q15,Q15,#4 ; Q15 = y[7]+8>>4 - VSTMIA r0, {D16-D31} - MOV PC, r14 ENDP ]
diff --git a/media/libtheora/lib/arm/armloop.s b/media/libtheora/lib/arm/armloop.s index 0a1d4705e7403..bbd4d630edec1 100644 --- a/media/libtheora/lib/arm/armloop.s +++ b/media/libtheora/lib/arm/armloop.s @@ -11,17 +11,11 @@ ;******************************************************************** ; Original implementation: ; Copyright (C) 2009 Robin Watts for Pinknoise Productions Ltd -; last mod: $Id: armloop.s 17481 2010-10-03 22:49:42Z tterribe $ +; last mod: $Id$ ;********************************************************************
AREA |.text|, CODE, READONLY
- ; Explicitly specifying alignment here because some versions of - ; gas don't align code correctly. See - ; http://lists.gnu.org/archive/html/bug-binutils/2011-06/msg00199.html - ; https://bugzilla.mozilla.org/show_bug.cgi?id=920992 - ALIGN - GET armopts.s
EXPORT oc_loop_filter_frag_rows_arm diff --git a/media/libtheora/lib/bitpack.c b/media/libtheora/lib/bitpack.c index 8bfce4c3d0506..5125dde6b075c 100644 --- a/media/libtheora/lib/bitpack.c +++ b/media/libtheora/lib/bitpack.c @@ -11,7 +11,7 @@ ********************************************************************
function: packing variable sized words into an octet stream - last mod: $Id: bitpack.c 17410 2010-09-21 21:53:48Z tterribe $ + last mod: $Id$
********************************************************************/ #include <string.h> diff --git a/media/libtheora/lib/config.h b/media/libtheora/lib/config.h index 49772ac7f3b13..e331b9977f217 100644 --- a/media/libtheora/lib/config.h +++ b/media/libtheora/lib/config.h @@ -13,8 +13,8 @@ /* Define to 1 if you have the <machine/soundcard.h> header file. */ /* #undef HAVE_MACHINE_SOUNDCARD_H */
-/* Define to 1 if you have the <memory.h> header file. */ -#define HAVE_MEMORY_H 1 +/* Abort if size exceeds 16384x16384 (for fuzzing only) */ +/* #undef HAVE_MEMORY_CONSTRAINT */
/* Define to 1 if you have the <soundcard.h> header file. */ /* #undef HAVE_SOUNDCARD_H */ @@ -22,6 +22,9 @@ /* Define to 1 if you have the <stdint.h> header file. */ #define HAVE_STDINT_H 1
+/* Define to 1 if you have the <stdio.h> header file. */ +#define HAVE_STDIO_H 1 + /* Define to 1 if you have the <stdlib.h> header file. */ #define HAVE_STDLIB_H 1
@@ -43,20 +46,20 @@ /* Define to 1 if you have the <unistd.h> header file. */ #define HAVE_UNISTD_H 1
-/* Define to 1 if your C compiler doesn't accept -c and -o together. */ -/* #undef NO_MINUS_C_MINUS_O */ +/* Define to the sub-directory where libtool stores uninstalled libraries. */ +/* #undef LT_OBJDIR */
/* make use of arm asm optimization */ - +/* #undef OC_ARM_ASM */
/* Define if assembler supports EDSP instructions */ - +/* #undef OC_ARM_ASM_EDSP */
/* Define if assembler supports ARMv6 media instructions */ - +/* #undef OC_ARM_ASM_MEDIA */
/* Define if compiler supports NEON instructions */ - +/* #undef OC_ARM_ASM_NEON */
/* make use of c64x+ asm optimization */ /* #undef OC_C64X_ASM */ @@ -77,22 +80,24 @@ #define PACKAGE_NAME "libtheora"
/* Define to the full name and version of this package. */ -#define PACKAGE_STRING "libtheora 1.2.0alpha1+svn" +#define PACKAGE_STRING "libtheora 1.2.0alpha1+git"
/* Define to the one symbol short name of this package. */ #define PACKAGE_TARNAME "libtheora"
+/* Define to the home page for this package. */ +#define PACKAGE_URL "" + /* Define to the version of this package. */ -#define PACKAGE_VERSION "1.2.0alpha1+svn" +#define PACKAGE_VERSION "1.2.0alpha1+git"
-/* Define to 1 if you have the ANSI C header files. */ +/* Define to 1 if all of the C90 standard headers exist (not just the ones + required in a freestanding environment). This macro is provided for + backward compatibility; new code need not use it. */ #define STDC_HEADERS 1
/* Define to exclude encode support from the build */ /* #undef THEORA_DISABLE_ENCODE */
-/* Define to exclude floating point code from the build */ -/* #undef THEORA_DISABLE_FLOAT */ - /* Version number of package */ -#define VERSION "1.2.0alpha1+svn" +#define VERSION "1.2.0alpha1+git" diff --git a/media/libtheora/lib/dct.h b/media/libtheora/lib/dct.h index 24ba6f111aacd..8052ea6bc1d46 100644 --- a/media/libtheora/lib/dct.h +++ b/media/libtheora/lib/dct.h @@ -11,7 +11,7 @@ ********************************************************************
function: - last mod: $Id: dct.h 16503 2009-08-22 18:14:02Z giles $ + last mod: $Id$
********************************************************************/
diff --git a/media/libtheora/lib/decinfo.c b/media/libtheora/lib/decinfo.c index 603b1f93e46a6..a91e740b15309 100644 --- a/media/libtheora/lib/decinfo.c +++ b/media/libtheora/lib/decinfo.c @@ -11,7 +11,7 @@ ********************************************************************
function: - last mod: $Id: decinfo.c 17276 2010-06-05 05:57:05Z tterribe $ + last mod: $Id$
********************************************************************/
@@ -20,6 +20,11 @@ #include <limits.h> #include "decint.h"
+/*Only used for fuzzing.*/ +#if defined(HAVE_MEMORY_CONSTRAINT) +static const int MAX_FUZZING_WIDTH = 16384; +static const int MAX_FUZZING_HEIGHT = 16384; +#endif
/*Unpacks a series of octets from a given byte array into the pack buffer. @@ -55,8 +60,8 @@ static int oc_info_unpack(oc_pack_buf *_opb,th_info *_info){ /*verify we can parse this bitstream version. We accept earlier minors and all subminors, by spec*/ if(_info->version_major>TH_VERSION_MAJOR|| - _info->version_major==TH_VERSION_MAJOR&& - _info->version_minor>TH_VERSION_MINOR){ + (_info->version_major==TH_VERSION_MAJOR&& + _info->version_minor>TH_VERSION_MINOR)){ return TH_EVERSION; } /*Read the encoded frame description.*/ @@ -82,6 +87,11 @@ static int oc_info_unpack(oc_pack_buf *_opb,th_info *_info){ _info->fps_numerator==0||_info->fps_denominator==0){ return TH_EBADHEADER; } +#if defined(HAVE_MEMORY_CONSTRAINT) + if(_info->frame_width>=MAX_FUZZING_WIDTH&&_info->frame_height>=MAX_FUZZING_HEIGHT){ + return TH_EBADHEADER; + } +#endif /*Note: The sense of pic_y is inverted in what we pass back to the application compared to how it is stored in the bitstream. This is because the bitstream uses a right-handed coordinate system, while @@ -172,9 +182,23 @@ static int oc_dec_headerin(oc_pack_buf *_opb,th_info *_info, int ret; val=oc_pack_read(_opb,8); packtype=(int)val; - /*If we're at a data packet and we have received all three headers, we're - done.*/ - if(!(packtype&0x80)&&_info->frame_width>0&&_tc->vendor!=NULL&&*_setup!=NULL){ + /*If we're at a data packet...*/ + if(!(packtype&0x80)){ + /*Check to make sure we received all three headers... + If we haven't seen any valid headers, assume this is not actually + Theora.*/ + if(_info->frame_width<=0)return TH_ENOTFORMAT; + /*Follow our documentation, which says we'll return TH_EFAULT if this + are NULL (_info was checked by our caller).*/ + if(_tc==NULL)return TH_EFAULT; + /*And if any other headers were missing, declare this packet "out of + sequence" instead.*/ + if(_tc->vendor==NULL)return TH_EBADHEADER; + /*Don't check this until it's needed, since we allow passing NULL for the + arguments that we're not expecting the next header to fill in yet.*/ + if(_setup==NULL)return TH_EFAULT; + if(*_setup==NULL)return TH_EBADHEADER; + /*If we got everything, we're done.*/ return 0; } /*Check the codec string.*/ diff --git a/media/libtheora/lib/decint.h b/media/libtheora/lib/decint.h index bd65222732a50..3cea6b1439fa5 100644 --- a/media/libtheora/lib/decint.h +++ b/media/libtheora/lib/decint.h @@ -11,7 +11,7 @@ ********************************************************************
function: - last mod: $Id: decint.h 17457 2010-09-24 02:05:49Z tterribe $ + last mod: $Id$
********************************************************************/
@@ -162,7 +162,6 @@ struct th_dec_ctx{ # endif # if defined(HAVE_CAIRO) /*Output metrics for debugging.*/ - int telemetry; int telemetry_mbmode; int telemetry_mv; int telemetry_qi; diff --git a/media/libtheora/lib/decode.c b/media/libtheora/lib/decode.c index 563782b7a25a6..fad26e092789d 100644 --- a/media/libtheora/lib/decode.c +++ b/media/libtheora/lib/decode.c @@ -11,7 +11,7 @@ ********************************************************************
function: - last mod: $Id: decode.c 17576 2010-10-29 01:07:51Z tterribe $ + last mod: $Id$
********************************************************************/
@@ -417,7 +417,6 @@ static int oc_dec_init(oc_dec_ctx *_dec,const th_info *_info, _dec->stripe_cb.ctx=NULL; _dec->stripe_cb.stripe_decoded=NULL; #if defined(HAVE_CAIRO) - _dec->telemetry=0; _dec->telemetry_bits=0; _dec->telemetry_qi=0; _dec->telemetry_mbmode=0; @@ -1203,6 +1202,9 @@ static void oc_dec_residual_tokens_unpack(oc_dec_ctx *_dec){
static int oc_dec_postprocess_init(oc_dec_ctx *_dec){ + /*musl libc malloc()/realloc() calls might use floating point, so make sure + we've cleared the MMX state for them.*/ + oc_restore_fpu(&_dec->state); /*pp_level 0: disabled; free any memory used and return*/ if(_dec->pp_level<=OC_PP_LEVEL_DISABLED){ if(_dec->dc_qis!=NULL){ @@ -2019,28 +2021,24 @@ int th_decode_ctl(th_dec_ctx *_dec,int _req,void *_buf, case TH_DECCTL_SET_TELEMETRY_MBMODE:{ if(_dec==NULL||_buf==NULL)return TH_EFAULT; if(_buf_sz!=sizeof(int))return TH_EINVAL; - _dec->telemetry=1; _dec->telemetry_mbmode=*(int *)_buf; return 0; }break; case TH_DECCTL_SET_TELEMETRY_MV:{ if(_dec==NULL||_buf==NULL)return TH_EFAULT; if(_buf_sz!=sizeof(int))return TH_EINVAL; - _dec->telemetry=1; _dec->telemetry_mv=*(int *)_buf; return 0; }break; case TH_DECCTL_SET_TELEMETRY_QI:{ if(_dec==NULL||_buf==NULL)return TH_EFAULT; if(_buf_sz!=sizeof(int))return TH_EINVAL; - _dec->telemetry=1; _dec->telemetry_qi=*(int *)_buf; return 0; }break; case TH_DECCTL_SET_TELEMETRY_BITS:{ if(_dec==NULL||_buf==NULL)return TH_EFAULT; if(_buf_sz!=sizeof(int))return TH_EINVAL; - _dec->telemetry=1; _dec->telemetry_bits=*(int *)_buf; return 0; }break; @@ -2081,6 +2079,664 @@ static void oc_dec_init_dummy_frame(th_dec_ctx *_dec){ memset(_dec->state.ref_frame_data[0]-yoffset,0x80,yplane_sz+2*cplane_sz); }
+#if defined(HAVE_CAIRO) +static void oc_render_telemetry(th_dec_ctx *_dec,th_ycbcr_buffer _ycbcr, + int _telemetry){ + /*Stuff the plane into cairo.*/ + cairo_surface_t *cs; + unsigned char *data; + unsigned char *y_row; + unsigned char *u_row; + unsigned char *v_row; + unsigned char *rgb_row; + int cstride; + int w; + int h; + int x; + int y; + int hdec; + int vdec; + w=_ycbcr[0].width; + h=_ycbcr[0].height; + hdec=!(_dec->state.info.pixel_fmt&1); + vdec=!(_dec->state.info.pixel_fmt&2); + /*Lazy data buffer init. + We could try to re-use the post-processing buffer, which would save + memory, but complicate the allocation logic there. + I don't think anyone cares about memory usage when using telemetry; it is + not meant for embedded devices.*/ + if(_dec->telemetry_frame_data==NULL){ + _dec->telemetry_frame_data=_ogg_malloc( + (w*h+2*(w>>hdec)*(h>>vdec))*sizeof(*_dec->telemetry_frame_data)); + if(_dec->telemetry_frame_data==NULL)return; + } + cs=cairo_image_surface_create(CAIRO_FORMAT_RGB24,w,h); + /*Sadly, no YUV support in Cairo (yet); convert into the RGB buffer.*/ + data=cairo_image_surface_get_data(cs); + if(data==NULL){ + cairo_surface_destroy(cs); + return; + } + cstride=cairo_image_surface_get_stride(cs); + y_row=_ycbcr[0].data; + u_row=_ycbcr[1].data; + v_row=_ycbcr[2].data; + rgb_row=data; + for(y=0;y<h;y++){ + for(x=0;x<w;x++){ + int r; + int g; + int b; + r=(1904000*y_row[x]+2609823*v_row[x>>hdec]-363703744)/1635200; + g=(3827562*y_row[x]-1287801*u_row[x>>hdec] + -2672387*v_row[x>>hdec]+447306710)/3287200; + b=(952000*y_row[x]+1649289*u_row[x>>hdec]-225932192)/817600; + rgb_row[4*x+0]=OC_CLAMP255(b); + rgb_row[4*x+1]=OC_CLAMP255(g); + rgb_row[4*x+2]=OC_CLAMP255(r); + } + y_row+=_ycbcr[0].stride; + u_row+=_ycbcr[1].stride&-((y&1)|!vdec); + v_row+=_ycbcr[2].stride&-((y&1)|!vdec); + rgb_row+=cstride; + } + /*Draw coded identifier for each macroblock (stored in Hilbert order).*/ + { + cairo_t *c; + const oc_fragment *frags; + oc_mv *frag_mvs; + const signed char *mb_modes; + oc_mb_map *mb_maps; + size_t nmbs; + size_t mbi; + int row2; + int col2; + int qim[3]={0,0,0}; + if(_dec->state.nqis==2){ + int bqi; + bqi=_dec->state.qis[0]; + if(_dec->state.qis[1]>bqi)qim[1]=1; + if(_dec->state.qis[1]<bqi)qim[1]=-1; + } + if(_dec->state.nqis==3){ + int bqi; + int cqi; + int dqi; + bqi=_dec->state.qis[0]; + cqi=_dec->state.qis[1]; + dqi=_dec->state.qis[2]; + if(cqi>bqi&&dqi>bqi){ + if(dqi>cqi){ + qim[1]=1; + qim[2]=2; + } + else{ + qim[1]=2; + qim[2]=1; + } + } + else if(cqi<bqi&&dqi<bqi){ + if(dqi<cqi){ + qim[1]=-1; + qim[2]=-2; + } + else{ + qim[1]=-2; + qim[2]=-1; + } + } + else{ + if(cqi<bqi)qim[1]=-1; + else qim[1]=1; + if(dqi<bqi)qim[2]=-1; + else qim[2]=1; + } + } + c=cairo_create(cs); + frags=_dec->state.frags; + frag_mvs=_dec->state.frag_mvs; + mb_modes=_dec->state.mb_modes; + mb_maps=_dec->state.mb_maps; + nmbs=_dec->state.nmbs; + row2=0; + col2=0; + for(mbi=0;mbi<nmbs;mbi++){ + float x; + float y; + int bi; + y=h-(row2+((col2+1>>1)&1))*16-16; + x=(col2>>1)*16; + cairo_set_line_width(c,1.); + /*Keyframe (all intra) red box.*/ + if(_dec->state.frame_type==OC_INTRA_FRAME){ + if(_dec->telemetry_mbmode&0x02){ + cairo_set_source_rgba(c,1.,0,0,.5); + cairo_rectangle(c,x+2.5,y+2.5,11,11); + cairo_stroke_preserve(c); + cairo_set_source_rgba(c,1.,0,0,.25); + cairo_fill(c); + } + } + else{ + ptrdiff_t fragi; + int frag_mvx; + int frag_mvy; + for(bi=0;bi<4;bi++){ + fragi=mb_maps[mbi][0][bi]; + if(fragi>=0&&frags[fragi].coded){ + frag_mvx=OC_MV_X(frag_mvs[fragi]); + frag_mvy=OC_MV_Y(frag_mvs[fragi]); + break; + } + } + if(bi<4){ + switch(mb_modes[mbi]){ + case OC_MODE_INTRA:{ + if(_dec->telemetry_mbmode&0x02){ + cairo_set_source_rgba(c,1.,0,0,.5); + cairo_rectangle(c,x+2.5,y+2.5,11,11); + cairo_stroke_preserve(c); + cairo_set_source_rgba(c,1.,0,0,.25); + cairo_fill(c); + } + }break; + case OC_MODE_INTER_NOMV:{ + if(_dec->telemetry_mbmode&0x01){ + cairo_set_source_rgba(c,0,0,1.,.5); + cairo_rectangle(c,x+2.5,y+2.5,11,11); + cairo_stroke_preserve(c); + cairo_set_source_rgba(c,0,0,1.,.25); + cairo_fill(c); + } + }break; + case OC_MODE_INTER_MV:{ + if(_dec->telemetry_mbmode&0x04){ + cairo_rectangle(c,x+2.5,y+2.5,11,11); + cairo_set_source_rgba(c,0,1.,0,.5); + cairo_stroke(c); + } + if(_dec->telemetry_mv&0x04){ + cairo_move_to(c,x+8+frag_mvx,y+8-frag_mvy); + cairo_set_source_rgba(c,1.,1.,1.,.9); + cairo_set_line_width(c,3.); + cairo_line_to(c,x+8+frag_mvx*.66,y+8-frag_mvy*.66); + cairo_stroke_preserve(c); + cairo_set_line_width(c,2.); + cairo_line_to(c,x+8+frag_mvx*.33,y+8-frag_mvy*.33); + cairo_stroke_preserve(c); + cairo_set_line_width(c,1.); + cairo_line_to(c,x+8,y+8); + cairo_stroke(c); + } + }break; + case OC_MODE_INTER_MV_LAST:{ + if(_dec->telemetry_mbmode&0x08){ + cairo_rectangle(c,x+2.5,y+2.5,11,11); + cairo_set_source_rgba(c,0,1.,0,.5); + cairo_move_to(c,x+13.5,y+2.5); + cairo_line_to(c,x+2.5,y+8); + cairo_line_to(c,x+13.5,y+13.5); + cairo_stroke(c); + } + if(_dec->telemetry_mv&0x08){ + cairo_move_to(c,x+8+frag_mvx,y+8-frag_mvy); + cairo_set_source_rgba(c,1.,1.,1.,.9); + cairo_set_line_width(c,3.); + cairo_line_to(c,x+8+frag_mvx*.66,y+8-frag_mvy*.66); + cairo_stroke_preserve(c); + cairo_set_line_width(c,2.); + cairo_line_to(c,x+8+frag_mvx*.33,y+8-frag_mvy*.33); + cairo_stroke_preserve(c); + cairo_set_line_width(c,1.); + cairo_line_to(c,x+8,y+8); + cairo_stroke(c); + } + }break; + case OC_MODE_INTER_MV_LAST2:{ + if(_dec->telemetry_mbmode&0x10){ + cairo_rectangle(c,x+2.5,y+2.5,11,11); + cairo_set_source_rgba(c,0,1.,0,.5); + cairo_move_to(c,x+8,y+2.5); + cairo_line_to(c,x+2.5,y+8); + cairo_line_to(c,x+8,y+13.5); + cairo_move_to(c,x+13.5,y+2.5); + cairo_line_to(c,x+8,y+8); + cairo_line_to(c,x+13.5,y+13.5); + cairo_stroke(c); + } + if(_dec->telemetry_mv&0x10){ + cairo_move_to(c,x+8+frag_mvx,y+8-frag_mvy); + cairo_set_source_rgba(c,1.,1.,1.,.9); + cairo_set_line_width(c,3.); + cairo_line_to(c,x+8+frag_mvx*.66,y+8-frag_mvy*.66); + cairo_stroke_preserve(c); + cairo_set_line_width(c,2.); + cairo_line_to(c,x+8+frag_mvx*.33,y+8-frag_mvy*.33); + cairo_stroke_preserve(c); + cairo_set_line_width(c,1.); + cairo_line_to(c,x+8,y+8); + cairo_stroke(c); + } + }break; + case OC_MODE_GOLDEN_NOMV:{ + if(_dec->telemetry_mbmode&0x20){ + cairo_set_source_rgba(c,1.,1.,0,.5); + cairo_rectangle(c,x+2.5,y+2.5,11,11); + cairo_stroke_preserve(c); + cairo_set_source_rgba(c,1.,1.,0,.25); + cairo_fill(c); + } + }break; + case OC_MODE_GOLDEN_MV:{ + if(_dec->telemetry_mbmode&0x40){ + cairo_rectangle(c,x+2.5,y+2.5,11,11); + cairo_set_source_rgba(c,1.,1.,0,.5); + cairo_stroke(c); + } + if(_dec->telemetry_mv&0x40){ + cairo_move_to(c,x+8+frag_mvx,y+8-frag_mvy); + cairo_set_source_rgba(c,1.,1.,1.,.9); + cairo_set_line_width(c,3.); + cairo_line_to(c,x+8+frag_mvx*.66,y+8-frag_mvy*.66); + cairo_stroke_preserve(c); + cairo_set_line_width(c,2.); + cairo_line_to(c,x+8+frag_mvx*.33,y+8-frag_mvy*.33); + cairo_stroke_preserve(c); + cairo_set_line_width(c,1.); + cairo_line_to(c,x+8,y+8); + cairo_stroke(c); + } + }break; + case OC_MODE_INTER_MV_FOUR:{ + if(_dec->telemetry_mbmode&0x80){ + cairo_rectangle(c,x+2.5,y+2.5,4,4); + cairo_rectangle(c,x+9.5,y+2.5,4,4); + cairo_rectangle(c,x+2.5,y+9.5,4,4); + cairo_rectangle(c,x+9.5,y+9.5,4,4); + cairo_set_source_rgba(c,0,1.,0,.5); + cairo_stroke(c); + } + /*4mv is odd, coded in raster order.*/ + fragi=mb_maps[mbi][0][0]; + if(frags[fragi].coded&&_dec->telemetry_mv&0x80){ + frag_mvx=OC_MV_X(frag_mvs[fragi]); + frag_mvx=OC_MV_Y(frag_mvs[fragi]); + cairo_move_to(c,x+4+frag_mvx,y+12-frag_mvy); + cairo_set_source_rgba(c,1.,1.,1.,.9); + cairo_set_line_width(c,3.); + cairo_line_to(c,x+4+frag_mvx*.66,y+12-frag_mvy*.66); + cairo_stroke_preserve(c); + cairo_set_line_width(c,2.); + cairo_line_to(c,x+4+frag_mvx*.33,y+12-frag_mvy*.33); + cairo_stroke_preserve(c); + cairo_set_line_width(c,1.); + cairo_line_to(c,x+4,y+12); + cairo_stroke(c); + } + fragi=mb_maps[mbi][0][1]; + if(frags[fragi].coded&&_dec->telemetry_mv&0x80){ + frag_mvx=OC_MV_X(frag_mvs[fragi]); + frag_mvx=OC_MV_Y(frag_mvs[fragi]); + cairo_move_to(c,x+12+frag_mvx,y+12-frag_mvy); + cairo_set_source_rgba(c,1.,1.,1.,.9); + cairo_set_line_width(c,3.); + cairo_line_to(c,x+12+frag_mvx*.66,y+12-frag_mvy*.66); + cairo_stroke_preserve(c); + cairo_set_line_width(c,2.); + cairo_line_to(c,x+12+frag_mvx*.33,y+12-frag_mvy*.33); + cairo_stroke_preserve(c); + cairo_set_line_width(c,1.); + cairo_line_to(c,x+12,y+12); + cairo_stroke(c); + } + fragi=mb_maps[mbi][0][2]; + if(frags[fragi].coded&&_dec->telemetry_mv&0x80){ + frag_mvx=OC_MV_X(frag_mvs[fragi]); + frag_mvx=OC_MV_Y(frag_mvs[fragi]); + cairo_move_to(c,x+4+frag_mvx,y+4-frag_mvy); + cairo_set_source_rgba(c,1.,1.,1.,.9); + cairo_set_line_width(c,3.); + cairo_line_to(c,x+4+frag_mvx*.66,y+4-frag_mvy*.66); + cairo_stroke_preserve(c); + cairo_set_line_width(c,2.); + cairo_line_to(c,x+4+frag_mvx*.33,y+4-frag_mvy*.33); + cairo_stroke_preserve(c); + cairo_set_line_width(c,1.); + cairo_line_to(c,x+4,y+4); + cairo_stroke(c); + } + fragi=mb_maps[mbi][0][3]; + if(frags[fragi].coded&&_dec->telemetry_mv&0x80){ + frag_mvx=OC_MV_X(frag_mvs[fragi]); + frag_mvx=OC_MV_Y(frag_mvs[fragi]); + cairo_move_to(c,x+12+frag_mvx,y+4-frag_mvy); + cairo_set_source_rgba(c,1.,1.,1.,.9); + cairo_set_line_width(c,3.); + cairo_line_to(c,x+12+frag_mvx*.66,y+4-frag_mvy*.66); + cairo_stroke_preserve(c); + cairo_set_line_width(c,2.); + cairo_line_to(c,x+12+frag_mvx*.33,y+4-frag_mvy*.33); + cairo_stroke_preserve(c); + cairo_set_line_width(c,1.); + cairo_line_to(c,x+12,y+4); + cairo_stroke(c); + } + }break; + } + } + } + /*qii illustration.*/ + if(_dec->telemetry_qi&0x2){ + cairo_set_line_cap(c,CAIRO_LINE_CAP_SQUARE); + for(bi=0;bi<4;bi++){ + ptrdiff_t fragi; + int qiv; + int xp; + int yp; + xp=x+(bi&1)*8; + yp=y+8-(bi&2)*4; + fragi=mb_maps[mbi][0][bi]; + if(fragi>=0&&frags[fragi].coded){ + qiv=qim[frags[fragi].qii]; + cairo_set_line_width(c,3.); + cairo_set_source_rgba(c,0.,0.,0.,.5); + switch(qiv){ + /*Double plus:*/ + case 2:{ + if((bi&1)^((bi&2)>>1)){ + cairo_move_to(c,xp+2.5,yp+1.5); + cairo_line_to(c,xp+2.5,yp+3.5); + cairo_move_to(c,xp+1.5,yp+2.5); + cairo_line_to(c,xp+3.5,yp+2.5); + cairo_move_to(c,xp+5.5,yp+4.5); + cairo_line_to(c,xp+5.5,yp+6.5); + cairo_move_to(c,xp+4.5,yp+5.5); + cairo_line_to(c,xp+6.5,yp+5.5); + cairo_stroke_preserve(c); + cairo_set_source_rgba(c,0.,1.,1.,1.); + } + else{ + cairo_move_to(c,xp+5.5,yp+1.5); + cairo_line_to(c,xp+5.5,yp+3.5); + cairo_move_to(c,xp+4.5,yp+2.5); + cairo_line_to(c,xp+6.5,yp+2.5); + cairo_move_to(c,xp+2.5,yp+4.5); + cairo_line_to(c,xp+2.5,yp+6.5); + cairo_move_to(c,xp+1.5,yp+5.5); + cairo_line_to(c,xp+3.5,yp+5.5); + cairo_stroke_preserve(c); + cairo_set_source_rgba(c,0.,1.,1.,1.); + } + }break; + /*Double minus:*/ + case -2:{ + cairo_move_to(c,xp+2.5,yp+2.5); + cairo_line_to(c,xp+5.5,yp+2.5); + cairo_move_to(c,xp+2.5,yp+5.5); + cairo_line_to(c,xp+5.5,yp+5.5); + cairo_stroke_preserve(c); + cairo_set_source_rgba(c,1.,1.,1.,1.); + }break; + /*Plus:*/ + case 1:{ + if((bi&2)==0)yp-=2; + if((bi&1)==0)xp-=2; + cairo_move_to(c,xp+4.5,yp+2.5); + cairo_line_to(c,xp+4.5,yp+6.5); + cairo_move_to(c,xp+2.5,yp+4.5); + cairo_line_to(c,xp+6.5,yp+4.5); + cairo_stroke_preserve(c); + cairo_set_source_rgba(c,.1,1.,.3,1.); + break; + } + /*Fall through.*/ + /*Minus:*/ + case -1:{ + cairo_move_to(c,xp+2.5,yp+4.5); + cairo_line_to(c,xp+6.5,yp+4.5); + cairo_stroke_preserve(c); + cairo_set_source_rgba(c,1.,.3,.1,1.); + }break; + default:continue; + } + cairo_set_line_width(c,1.); + cairo_stroke(c); + } + } + } + col2++; + if((col2>>1)>=_dec->state.nhmbs){ + col2=0; + row2+=2; + } + } + /*Bit usage indicator[s]:*/ + if(_dec->telemetry_bits){ + int widths[6]; + int fpsn; + int fpsd; + int mult; + int fullw; + int padw; + int i; + fpsn=_dec->state.info.fps_numerator; + fpsd=_dec->state.info.fps_denominator; + mult=(_dec->telemetry_bits>=0xFF?1:_dec->telemetry_bits); + fullw=250.f*h*fpsd*mult/fpsn; + padw=w-24; + /*Header and coded block bits.*/ + if(_dec->telemetry_frame_bytes<0|| + _dec->telemetry_frame_bytes==OC_LOTS_OF_BITS){ + _dec->telemetry_frame_bytes=0; + } + if(_dec->telemetry_coding_bytes<0|| + _dec->telemetry_coding_bytes>_dec->telemetry_frame_bytes){ + _dec->telemetry_coding_bytes=0; + } + if(_dec->telemetry_mode_bytes<0|| + _dec->telemetry_mode_bytes>_dec->telemetry_frame_bytes){ + _dec->telemetry_mode_bytes=0; + } + if(_dec->telemetry_mv_bytes<0|| + _dec->telemetry_mv_bytes>_dec->telemetry_frame_bytes){ + _dec->telemetry_mv_bytes=0; + } + if(_dec->telemetry_qi_bytes<0|| + _dec->telemetry_qi_bytes>_dec->telemetry_frame_bytes){ + _dec->telemetry_qi_bytes=0; + } + if(_dec->telemetry_dc_bytes<0|| + _dec->telemetry_dc_bytes>_dec->telemetry_frame_bytes){ + _dec->telemetry_dc_bytes=0; + } + widths[0]=padw* + (_dec->telemetry_frame_bytes-_dec->telemetry_coding_bytes)/fullw; + widths[1]=padw* + (_dec->telemetry_coding_bytes-_dec->telemetry_mode_bytes)/fullw; + widths[2]=padw* + (_dec->telemetry_mode_bytes-_dec->telemetry_mv_bytes)/fullw; + widths[3]=padw*(_dec->telemetry_mv_bytes-_dec->telemetry_qi_bytes)/fullw; + widths[4]=padw*(_dec->telemetry_qi_bytes-_dec->telemetry_dc_bytes)/fullw; + widths[5]=padw*(_dec->telemetry_dc_bytes)/fullw; + for(i=0;i<6;i++)if(widths[i]>w)widths[i]=w; + cairo_set_source_rgba(c,.0,.0,.0,.6); + cairo_rectangle(c,10,h-33,widths[0]+1,5); + cairo_rectangle(c,10,h-29,widths[1]+1,5); + cairo_rectangle(c,10,h-25,widths[2]+1,5); + cairo_rectangle(c,10,h-21,widths[3]+1,5); + cairo_rectangle(c,10,h-17,widths[4]+1,5); + cairo_rectangle(c,10,h-13,widths[5]+1,5); + cairo_fill(c); + cairo_set_source_rgb(c,1,0,0); + cairo_rectangle(c,10.5,h-32.5,widths[0],4); + cairo_fill(c); + cairo_set_source_rgb(c,0,1,0); + cairo_rectangle(c,10.5,h-28.5,widths[1],4); + cairo_fill(c); + cairo_set_source_rgb(c,0,0,1); + cairo_rectangle(c,10.5,h-24.5,widths[2],4); + cairo_fill(c); + cairo_set_source_rgb(c,.6,.4,.0); + cairo_rectangle(c,10.5,h-20.5,widths[3],4); + cairo_fill(c); + cairo_set_source_rgb(c,.3,.3,.3); + cairo_rectangle(c,10.5,h-16.5,widths[4],4); + cairo_fill(c); + cairo_set_source_rgb(c,.5,.5,.8); + cairo_rectangle(c,10.5,h-12.5,widths[5],4); + cairo_fill(c); + } + /*Master qi indicator[s]:*/ + if(_dec->telemetry_qi&0x1){ + cairo_text_extents_t extents; + char buffer[10]; + int p; + int y; + p=0; + y=h-7.5; + if(_dec->state.qis[0]>=10)buffer[p++]=48+_dec->state.qis[0]/10; + buffer[p++]=48+_dec->state.qis[0]%10; + if(_dec->state.nqis>=2){ + buffer[p++]=' '; + if(_dec->state.qis[1]>=10)buffer[p++]=48+_dec->state.qis[1]/10; + buffer[p++]=48+_dec->state.qis[1]%10; + } + if(_dec->state.nqis==3){ + buffer[p++]=' '; + if(_dec->state.qis[2]>=10)buffer[p++]=48+_dec->state.qis[2]/10; + buffer[p++]=48+_dec->state.qis[2]%10; + } + buffer[p++]='\0'; + cairo_select_font_face(c,"sans", + CAIRO_FONT_SLANT_NORMAL,CAIRO_FONT_WEIGHT_BOLD); + cairo_set_font_size(c,18); + cairo_text_extents(c,buffer,&extents); + cairo_set_source_rgb(c,1,1,1); + cairo_move_to(c,w-extents.x_advance-10,y); + cairo_show_text(c,buffer); + cairo_set_source_rgb(c,0,0,0); + cairo_move_to(c,w-extents.x_advance-10,y); + cairo_text_path(c,buffer); + cairo_set_line_width(c,.8); + cairo_set_line_join(c,CAIRO_LINE_JOIN_ROUND); + cairo_stroke(c); + } + cairo_destroy(c); + } + /*Out of the Cairo plane into the telemetry YUV buffer.*/ + _ycbcr[0].data=_dec->telemetry_frame_data; + _ycbcr[0].stride=_ycbcr[0].width; + _ycbcr[1].data=_ycbcr[0].data+h*_ycbcr[0].stride; + _ycbcr[1].stride=_ycbcr[1].width; + _ycbcr[2].data=_ycbcr[1].data+(h>>vdec)*_ycbcr[1].stride; + _ycbcr[2].stride=_ycbcr[2].width; + y_row=_ycbcr[0].data; + u_row=_ycbcr[1].data; + v_row=_ycbcr[2].data; + rgb_row=data; + /*This is one of the few places it's worth handling chroma on a + case-by-case basis.*/ + switch(_dec->state.info.pixel_fmt){ + case TH_PF_420:{ + for(y=0;y<h;y+=2){ + unsigned char *y_row2; + unsigned char *rgb_row2; + y_row2=y_row+_ycbcr[0].stride; + rgb_row2=rgb_row+cstride; + for(x=0;x<w;x+=2){ + int y; + int u; + int v; + y=(65481*rgb_row[4*x+2]+128553*rgb_row[4*x+1] + +24966*rgb_row[4*x+0]+4207500)/255000; + y_row[x]=OC_CLAMP255(y); + y=(65481*rgb_row[4*x+6]+128553*rgb_row[4*x+5] + +24966*rgb_row[4*x+4]+4207500)/255000; + y_row[x+1]=OC_CLAMP255(y); + y=(65481*rgb_row2[4*x+2]+128553*rgb_row2[4*x+1] + +24966*rgb_row2[4*x+0]+4207500)/255000; + y_row2[x]=OC_CLAMP255(y); + y=(65481*rgb_row2[4*x+6]+128553*rgb_row2[4*x+5] + +24966*rgb_row2[4*x+4]+4207500)/255000; + y_row2[x+1]=OC_CLAMP255(y); + u=(-8372*(rgb_row[4*x+2]+rgb_row[4*x+6] + +rgb_row2[4*x+2]+rgb_row2[4*x+6]) + -16436*(rgb_row[4*x+1]+rgb_row[4*x+5] + +rgb_row2[4*x+1]+rgb_row2[4*x+5]) + +24808*(rgb_row[4*x+0]+rgb_row[4*x+4] + +rgb_row2[4*x+0]+rgb_row2[4*x+4])+29032005)/225930; + v=(39256*(rgb_row[4*x+2]+rgb_row[4*x+6] + +rgb_row2[4*x+2]+rgb_row2[4*x+6]) + -32872*(rgb_row[4*x+1]+rgb_row[4*x+5] + +rgb_row2[4*x+1]+rgb_row2[4*x+5]) + -6384*(rgb_row[4*x+0]+rgb_row[4*x+4] + +rgb_row2[4*x+0]+rgb_row2[4*x+4])+45940035)/357510; + u_row[x>>1]=OC_CLAMP255(u); + v_row[x>>1]=OC_CLAMP255(v); + } + y_row+=_ycbcr[0].stride<<1; + u_row+=_ycbcr[1].stride; + v_row+=_ycbcr[2].stride; + rgb_row+=cstride<<1; + } + }break; + case TH_PF_422:{ + for(y=0;y<h;y++){ + for(x=0;x<w;x+=2){ + int y; + int u; + int v; + y=(65481*rgb_row[4*x+2]+128553*rgb_row[4*x+1] + +24966*rgb_row[4*x+0]+4207500)/255000; + y_row[x]=OC_CLAMP255(y); + y=(65481*rgb_row[4*x+6]+128553*rgb_row[4*x+5] + +24966*rgb_row[4*x+4]+4207500)/255000; + y_row[x+1]=OC_CLAMP255(y); + u=(-16744*(rgb_row[4*x+2]+rgb_row[4*x+6]) + -32872*(rgb_row[4*x+1]+rgb_row[4*x+5]) + +49616*(rgb_row[4*x+0]+rgb_row[4*x+4])+29032005)/225930; + v=(78512*(rgb_row[4*x+2]+rgb_row[4*x+6]) + -65744*(rgb_row[4*x+1]+rgb_row[4*x+5]) + -12768*(rgb_row[4*x+0]+rgb_row[4*x+4])+45940035)/357510; + u_row[x>>1]=OC_CLAMP255(u); + v_row[x>>1]=OC_CLAMP255(v); + } + y_row+=_ycbcr[0].stride; + u_row+=_ycbcr[1].stride; + v_row+=_ycbcr[2].stride; + rgb_row+=cstride; + } + }break; + /*case TH_PF_444:*/ + default:{ + for(y=0;y<h;y++){ + for(x=0;x<w;x++){ + int y; + int u; + int v; + y=(65481*rgb_row[4*x+2]+128553*rgb_row[4*x+1] + +24966*rgb_row[4*x+0]+4207500)/255000; + u=(-33488*rgb_row[4*x+2]-65744*rgb_row[4*x+1] + +99232*rgb_row[4*x+0]+29032005)/225930; + v=(157024*rgb_row[4*x+2]-131488*rgb_row[4*x+1] + -25536*rgb_row[4*x+0]+45940035)/357510; + y_row[x]=OC_CLAMP255(y); + u_row[x]=OC_CLAMP255(u); + v_row[x]=OC_CLAMP255(v); + } + y_row+=_ycbcr[0].stride; + u_row+=_ycbcr[1].stride; + v_row+=_ycbcr[2].stride; + rgb_row+=cstride; + } + }break; + } + /*Finished. + Destroy the surface.*/ + cairo_surface_destroy(cs); +} +#endif + int th_decode_packetin(th_dec_ctx *_dec,const ogg_packet *_op, ogg_int64_t *_granpos){ int ret; @@ -2121,6 +2777,15 @@ int th_decode_packetin(th_dec_ctx *_dec,const ogg_packet *_op, int pli; int notstart; int notdone; +#ifdef HAVE_CAIRO + int telemetry; + /*Save the current telemetry state. + This prevents it from being modified in the middle of decoding this + frame, which could cause us to skip calls to the striped decoding + callback.*/ + telemetry=_dec->telemetry_mbmode||_dec->telemetry_mv|| + _dec->telemetry_qi||_dec->telemetry_bits; +#endif /*Select a free buffer to use for the reconstructed version of this frame.*/ for(refi=0;refi==_dec->state.ref_frame_idx[OC_FRAME_GOLD]|| refi==_dec->state.ref_frame_idx[OC_FRAME_PREV];refi++); @@ -2258,7 +2923,11 @@ int th_decode_packetin(th_dec_ctx *_dec,const ogg_packet *_op, avail_fragy_end=OC_MINI(avail_fragy_end, _dec->pipe.fragy_end[pli]-edelay<<frag_shift); } +#ifdef HAVE_CAIRO + if(_dec->stripe_cb.stripe_decoded!=NULL&&!telemetry){ +#else if(_dec->stripe_cb.stripe_decoded!=NULL){ +#endif /*The callback might want to use the FPU, so let's make sure they can. We violate all kinds of ABI restrictions by not doing this until now, but none of them actually matter since we don't use floating @@ -2294,6 +2963,20 @@ int th_decode_packetin(th_dec_ctx *_dec,const ogg_packet *_op, /*Restore the FPU before dump_frame, since that _does_ use the FPU (for PNG gamma values, if nothing else).*/ oc_restore_fpu(&_dec->state); +#ifdef HAVE_CAIRO + /*If telemetry ioctls are active, we need to draw to the output buffer.*/ + if(telemetry){ + oc_render_telemetry(_dec,stripe_buf,telemetry); + oc_ycbcr_buffer_flip(_dec->pp_frame_buf,stripe_buf); + /*If we had a striped decoding callback, we skipped calling it above + (because the telemetry wasn't rendered yet). + Call it now with the whole frame.*/ + if(_dec->stripe_cb.stripe_decoded!=NULL){ + (*_dec->stripe_cb.stripe_decoded)(_dec->stripe_cb.ctx, + stripe_buf,0,_dec->state.fplanes[0].nvfrags); + } + } +#endif #if defined(OC_DUMP_IMAGES) /*We only dump images if there were some coded blocks.*/ oc_state_dump_frame(&_dec->state,OC_FRAME_SELF,"dec"); @@ -2305,659 +2988,5 @@ int th_decode_packetin(th_dec_ctx *_dec,const ogg_packet *_op, int th_decode_ycbcr_out(th_dec_ctx *_dec,th_ycbcr_buffer _ycbcr){ if(_dec==NULL||_ycbcr==NULL)return TH_EFAULT; oc_ycbcr_buffer_flip(_ycbcr,_dec->pp_frame_buf); -#if defined(HAVE_CAIRO) - /*If telemetry ioctls are active, we need to draw to the output buffer. - Stuff the plane into cairo.*/ - if(_dec->telemetry){ - cairo_surface_t *cs; - unsigned char *data; - unsigned char *y_row; - unsigned char *u_row; - unsigned char *v_row; - unsigned char *rgb_row; - int cstride; - int w; - int h; - int x; - int y; - int hdec; - int vdec; - w=_ycbcr[0].width; - h=_ycbcr[0].height; - hdec=!(_dec->state.info.pixel_fmt&1); - vdec=!(_dec->state.info.pixel_fmt&2); - /*Lazy data buffer init. - We could try to re-use the post-processing buffer, which would save - memory, but complicate the allocation logic there. - I don't think anyone cares about memory usage when using telemetry; it is - not meant for embedded devices.*/ - if(_dec->telemetry_frame_data==NULL){ - _dec->telemetry_frame_data=_ogg_malloc( - (w*h+2*(w>>hdec)*(h>>vdec))*sizeof(*_dec->telemetry_frame_data)); - if(_dec->telemetry_frame_data==NULL)return 0; - } - cs=cairo_image_surface_create(CAIRO_FORMAT_RGB24,w,h); - /*Sadly, no YUV support in Cairo (yet); convert into the RGB buffer.*/ - data=cairo_image_surface_get_data(cs); - if(data==NULL){ - cairo_surface_destroy(cs); - return 0; - } - cstride=cairo_image_surface_get_stride(cs); - y_row=_ycbcr[0].data; - u_row=_ycbcr[1].data; - v_row=_ycbcr[2].data; - rgb_row=data; - for(y=0;y<h;y++){ - for(x=0;x<w;x++){ - int r; - int g; - int b; - r=(1904000*y_row[x]+2609823*v_row[x>>hdec]-363703744)/1635200; - g=(3827562*y_row[x]-1287801*u_row[x>>hdec] - -2672387*v_row[x>>hdec]+447306710)/3287200; - b=(952000*y_row[x]+1649289*u_row[x>>hdec]-225932192)/817600; - rgb_row[4*x+0]=OC_CLAMP255(b); - rgb_row[4*x+1]=OC_CLAMP255(g); - rgb_row[4*x+2]=OC_CLAMP255(r); - } - y_row+=_ycbcr[0].stride; - u_row+=_ycbcr[1].stride&-((y&1)|!vdec); - v_row+=_ycbcr[2].stride&-((y&1)|!vdec); - rgb_row+=cstride; - } - /*Draw coded identifier for each macroblock (stored in Hilbert order).*/ - { - cairo_t *c; - const oc_fragment *frags; - oc_mv *frag_mvs; - const signed char *mb_modes; - oc_mb_map *mb_maps; - size_t nmbs; - size_t mbi; - int row2; - int col2; - int qim[3]={0,0,0}; - if(_dec->state.nqis==2){ - int bqi; - bqi=_dec->state.qis[0]; - if(_dec->state.qis[1]>bqi)qim[1]=1; - if(_dec->state.qis[1]<bqi)qim[1]=-1; - } - if(_dec->state.nqis==3){ - int bqi; - int cqi; - int dqi; - bqi=_dec->state.qis[0]; - cqi=_dec->state.qis[1]; - dqi=_dec->state.qis[2]; - if(cqi>bqi&&dqi>bqi){ - if(dqi>cqi){ - qim[1]=1; - qim[2]=2; - } - else{ - qim[1]=2; - qim[2]=1; - } - } - else if(cqi<bqi&&dqi<bqi){ - if(dqi<cqi){ - qim[1]=-1; - qim[2]=-2; - } - else{ - qim[1]=-2; - qim[2]=-1; - } - } - else{ - if(cqi<bqi)qim[1]=-1; - else qim[1]=1; - if(dqi<bqi)qim[2]=-1; - else qim[2]=1; - } - } - c=cairo_create(cs); - frags=_dec->state.frags; - frag_mvs=_dec->state.frag_mvs; - mb_modes=_dec->state.mb_modes; - mb_maps=_dec->state.mb_maps; - nmbs=_dec->state.nmbs; - row2=0; - col2=0; - for(mbi=0;mbi<nmbs;mbi++){ - float x; - float y; - int bi; - y=h-(row2+((col2+1>>1)&1))*16-16; - x=(col2>>1)*16; - cairo_set_line_width(c,1.); - /*Keyframe (all intra) red box.*/ - if(_dec->state.frame_type==OC_INTRA_FRAME){ - if(_dec->telemetry_mbmode&0x02){ - cairo_set_source_rgba(c,1.,0,0,.5); - cairo_rectangle(c,x+2.5,y+2.5,11,11); - cairo_stroke_preserve(c); - cairo_set_source_rgba(c,1.,0,0,.25); - cairo_fill(c); - } - } - else{ - ptrdiff_t fragi; - int frag_mvx; - int frag_mvy; - for(bi=0;bi<4;bi++){ - fragi=mb_maps[mbi][0][bi]; - if(fragi>=0&&frags[fragi].coded){ - frag_mvx=OC_MV_X(frag_mvs[fragi]); - frag_mvy=OC_MV_Y(frag_mvs[fragi]); - break; - } - } - if(bi<4){ - switch(mb_modes[mbi]){ - case OC_MODE_INTRA:{ - if(_dec->telemetry_mbmode&0x02){ - cairo_set_source_rgba(c,1.,0,0,.5); - cairo_rectangle(c,x+2.5,y+2.5,11,11); - cairo_stroke_preserve(c); - cairo_set_source_rgba(c,1.,0,0,.25); - cairo_fill(c); - } - }break; - case OC_MODE_INTER_NOMV:{ - if(_dec->telemetry_mbmode&0x01){ - cairo_set_source_rgba(c,0,0,1.,.5); - cairo_rectangle(c,x+2.5,y+2.5,11,11); - cairo_stroke_preserve(c); - cairo_set_source_rgba(c,0,0,1.,.25); - cairo_fill(c); - } - }break; - case OC_MODE_INTER_MV:{ - if(_dec->telemetry_mbmode&0x04){ - cairo_rectangle(c,x+2.5,y+2.5,11,11); - cairo_set_source_rgba(c,0,1.,0,.5); - cairo_stroke(c); - } - if(_dec->telemetry_mv&0x04){ - cairo_move_to(c,x+8+frag_mvx,y+8-frag_mvy); - cairo_set_source_rgba(c,1.,1.,1.,.9); - cairo_set_line_width(c,3.); - cairo_line_to(c,x+8+frag_mvx*.66,y+8-frag_mvy*.66); - cairo_stroke_preserve(c); - cairo_set_line_width(c,2.); - cairo_line_to(c,x+8+frag_mvx*.33,y+8-frag_mvy*.33); - cairo_stroke_preserve(c); - cairo_set_line_width(c,1.); - cairo_line_to(c,x+8,y+8); - cairo_stroke(c); - } - }break; - case OC_MODE_INTER_MV_LAST:{ - if(_dec->telemetry_mbmode&0x08){ - cairo_rectangle(c,x+2.5,y+2.5,11,11); - cairo_set_source_rgba(c,0,1.,0,.5); - cairo_move_to(c,x+13.5,y+2.5); - cairo_line_to(c,x+2.5,y+8); - cairo_line_to(c,x+13.5,y+13.5); - cairo_stroke(c); - } - if(_dec->telemetry_mv&0x08){ - cairo_move_to(c,x+8+frag_mvx,y+8-frag_mvy); - cairo_set_source_rgba(c,1.,1.,1.,.9); - cairo_set_line_width(c,3.); - cairo_line_to(c,x+8+frag_mvx*.66,y+8-frag_mvy*.66); - cairo_stroke_preserve(c); - cairo_set_line_width(c,2.); - cairo_line_to(c,x+8+frag_mvx*.33,y+8-frag_mvy*.33); - cairo_stroke_preserve(c); - cairo_set_line_width(c,1.); - cairo_line_to(c,x+8,y+8); - cairo_stroke(c); - } - }break; - case OC_MODE_INTER_MV_LAST2:{ - if(_dec->telemetry_mbmode&0x10){ - cairo_rectangle(c,x+2.5,y+2.5,11,11); - cairo_set_source_rgba(c,0,1.,0,.5); - cairo_move_to(c,x+8,y+2.5); - cairo_line_to(c,x+2.5,y+8); - cairo_line_to(c,x+8,y+13.5); - cairo_move_to(c,x+13.5,y+2.5); - cairo_line_to(c,x+8,y+8); - cairo_line_to(c,x+13.5,y+13.5); - cairo_stroke(c); - } - if(_dec->telemetry_mv&0x10){ - cairo_move_to(c,x+8+frag_mvx,y+8-frag_mvy); - cairo_set_source_rgba(c,1.,1.,1.,.9); - cairo_set_line_width(c,3.); - cairo_line_to(c,x+8+frag_mvx*.66,y+8-frag_mvy*.66); - cairo_stroke_preserve(c); - cairo_set_line_width(c,2.); - cairo_line_to(c,x+8+frag_mvx*.33,y+8-frag_mvy*.33); - cairo_stroke_preserve(c); - cairo_set_line_width(c,1.); - cairo_line_to(c,x+8,y+8); - cairo_stroke(c); - } - }break; - case OC_MODE_GOLDEN_NOMV:{ - if(_dec->telemetry_mbmode&0x20){ - cairo_set_source_rgba(c,1.,1.,0,.5); - cairo_rectangle(c,x+2.5,y+2.5,11,11); - cairo_stroke_preserve(c); - cairo_set_source_rgba(c,1.,1.,0,.25); - cairo_fill(c); - } - }break; - case OC_MODE_GOLDEN_MV:{ - if(_dec->telemetry_mbmode&0x40){ - cairo_rectangle(c,x+2.5,y+2.5,11,11); - cairo_set_source_rgba(c,1.,1.,0,.5); - cairo_stroke(c); - } - if(_dec->telemetry_mv&0x40){ - cairo_move_to(c,x+8+frag_mvx,y+8-frag_mvy); - cairo_set_source_rgba(c,1.,1.,1.,.9); - cairo_set_line_width(c,3.); - cairo_line_to(c,x+8+frag_mvx*.66,y+8-frag_mvy*.66); - cairo_stroke_preserve(c); - cairo_set_line_width(c,2.); - cairo_line_to(c,x+8+frag_mvx*.33,y+8-frag_mvy*.33); - cairo_stroke_preserve(c); - cairo_set_line_width(c,1.); - cairo_line_to(c,x+8,y+8); - cairo_stroke(c); - } - }break; - case OC_MODE_INTER_MV_FOUR:{ - if(_dec->telemetry_mbmode&0x80){ - cairo_rectangle(c,x+2.5,y+2.5,4,4); - cairo_rectangle(c,x+9.5,y+2.5,4,4); - cairo_rectangle(c,x+2.5,y+9.5,4,4); - cairo_rectangle(c,x+9.5,y+9.5,4,4); - cairo_set_source_rgba(c,0,1.,0,.5); - cairo_stroke(c); - } - /*4mv is odd, coded in raster order.*/ - fragi=mb_maps[mbi][0][0]; - if(frags[fragi].coded&&_dec->telemetry_mv&0x80){ - frag_mvx=OC_MV_X(frag_mvs[fragi]); - frag_mvx=OC_MV_Y(frag_mvs[fragi]); - cairo_move_to(c,x+4+frag_mvx,y+12-frag_mvy); - cairo_set_source_rgba(c,1.,1.,1.,.9); - cairo_set_line_width(c,3.); - cairo_line_to(c,x+4+frag_mvx*.66,y+12-frag_mvy*.66); - cairo_stroke_preserve(c); - cairo_set_line_width(c,2.); - cairo_line_to(c,x+4+frag_mvx*.33,y+12-frag_mvy*.33); - cairo_stroke_preserve(c); - cairo_set_line_width(c,1.); - cairo_line_to(c,x+4,y+12); - cairo_stroke(c); - } - fragi=mb_maps[mbi][0][1]; - if(frags[fragi].coded&&_dec->telemetry_mv&0x80){ - frag_mvx=OC_MV_X(frag_mvs[fragi]); - frag_mvx=OC_MV_Y(frag_mvs[fragi]); - cairo_move_to(c,x+12+frag_mvx,y+12-frag_mvy); - cairo_set_source_rgba(c,1.,1.,1.,.9); - cairo_set_line_width(c,3.); - cairo_line_to(c,x+12+frag_mvx*.66,y+12-frag_mvy*.66); - cairo_stroke_preserve(c); - cairo_set_line_width(c,2.); - cairo_line_to(c,x+12+frag_mvx*.33,y+12-frag_mvy*.33); - cairo_stroke_preserve(c); - cairo_set_line_width(c,1.); - cairo_line_to(c,x+12,y+12); - cairo_stroke(c); - } - fragi=mb_maps[mbi][0][2]; - if(frags[fragi].coded&&_dec->telemetry_mv&0x80){ - frag_mvx=OC_MV_X(frag_mvs[fragi]); - frag_mvx=OC_MV_Y(frag_mvs[fragi]); - cairo_move_to(c,x+4+frag_mvx,y+4-frag_mvy); - cairo_set_source_rgba(c,1.,1.,1.,.9); - cairo_set_line_width(c,3.); - cairo_line_to(c,x+4+frag_mvx*.66,y+4-frag_mvy*.66); - cairo_stroke_preserve(c); - cairo_set_line_width(c,2.); - cairo_line_to(c,x+4+frag_mvx*.33,y+4-frag_mvy*.33); - cairo_stroke_preserve(c); - cairo_set_line_width(c,1.); - cairo_line_to(c,x+4,y+4); - cairo_stroke(c); - } - fragi=mb_maps[mbi][0][3]; - if(frags[fragi].coded&&_dec->telemetry_mv&0x80){ - frag_mvx=OC_MV_X(frag_mvs[fragi]); - frag_mvx=OC_MV_Y(frag_mvs[fragi]); - cairo_move_to(c,x+12+frag_mvx,y+4-frag_mvy); - cairo_set_source_rgba(c,1.,1.,1.,.9); - cairo_set_line_width(c,3.); - cairo_line_to(c,x+12+frag_mvx*.66,y+4-frag_mvy*.66); - cairo_stroke_preserve(c); - cairo_set_line_width(c,2.); - cairo_line_to(c,x+12+frag_mvx*.33,y+4-frag_mvy*.33); - cairo_stroke_preserve(c); - cairo_set_line_width(c,1.); - cairo_line_to(c,x+12,y+4); - cairo_stroke(c); - } - }break; - } - } - } - /*qii illustration.*/ - if(_dec->telemetry_qi&0x2){ - cairo_set_line_cap(c,CAIRO_LINE_CAP_SQUARE); - for(bi=0;bi<4;bi++){ - ptrdiff_t fragi; - int qiv; - int xp; - int yp; - xp=x+(bi&1)*8; - yp=y+8-(bi&2)*4; - fragi=mb_maps[mbi][0][bi]; - if(fragi>=0&&frags[fragi].coded){ - qiv=qim[frags[fragi].qii]; - cairo_set_line_width(c,3.); - cairo_set_source_rgba(c,0.,0.,0.,.5); - switch(qiv){ - /*Double plus:*/ - case 2:{ - if((bi&1)^((bi&2)>>1)){ - cairo_move_to(c,xp+2.5,yp+1.5); - cairo_line_to(c,xp+2.5,yp+3.5); - cairo_move_to(c,xp+1.5,yp+2.5); - cairo_line_to(c,xp+3.5,yp+2.5); - cairo_move_to(c,xp+5.5,yp+4.5); - cairo_line_to(c,xp+5.5,yp+6.5); - cairo_move_to(c,xp+4.5,yp+5.5); - cairo_line_to(c,xp+6.5,yp+5.5); - cairo_stroke_preserve(c); - cairo_set_source_rgba(c,0.,1.,1.,1.); - } - else{ - cairo_move_to(c,xp+5.5,yp+1.5); - cairo_line_to(c,xp+5.5,yp+3.5); - cairo_move_to(c,xp+4.5,yp+2.5); - cairo_line_to(c,xp+6.5,yp+2.5); - cairo_move_to(c,xp+2.5,yp+4.5); - cairo_line_to(c,xp+2.5,yp+6.5); - cairo_move_to(c,xp+1.5,yp+5.5); - cairo_line_to(c,xp+3.5,yp+5.5); - cairo_stroke_preserve(c); - cairo_set_source_rgba(c,0.,1.,1.,1.); - } - }break; - /*Double minus:*/ - case -2:{ - cairo_move_to(c,xp+2.5,yp+2.5); - cairo_line_to(c,xp+5.5,yp+2.5); - cairo_move_to(c,xp+2.5,yp+5.5); - cairo_line_to(c,xp+5.5,yp+5.5); - cairo_stroke_preserve(c); - cairo_set_source_rgba(c,1.,1.,1.,1.); - }break; - /*Plus:*/ - case 1:{ - if(bi&2==0)yp-=2; - if(bi&1==0)xp-=2; - cairo_move_to(c,xp+4.5,yp+2.5); - cairo_line_to(c,xp+4.5,yp+6.5); - cairo_move_to(c,xp+2.5,yp+4.5); - cairo_line_to(c,xp+6.5,yp+4.5); - cairo_stroke_preserve(c); - cairo_set_source_rgba(c,.1,1.,.3,1.); - break; - } - /*Fall through.*/ - /*Minus:*/ - case -1:{ - cairo_move_to(c,xp+2.5,yp+4.5); - cairo_line_to(c,xp+6.5,yp+4.5); - cairo_stroke_preserve(c); - cairo_set_source_rgba(c,1.,.3,.1,1.); - }break; - default:continue; - } - cairo_set_line_width(c,1.); - cairo_stroke(c); - } - } - } - col2++; - if((col2>>1)>=_dec->state.nhmbs){ - col2=0; - row2+=2; - } - } - /*Bit usage indicator[s]:*/ - if(_dec->telemetry_bits){ - int widths[6]; - int fpsn; - int fpsd; - int mult; - int fullw; - int padw; - int i; - fpsn=_dec->state.info.fps_numerator; - fpsd=_dec->state.info.fps_denominator; - mult=(_dec->telemetry_bits>=0xFF?1:_dec->telemetry_bits); - fullw=250.f*h*fpsd*mult/fpsn; - padw=w-24; - /*Header and coded block bits.*/ - if(_dec->telemetry_frame_bytes<0|| - _dec->telemetry_frame_bytes==OC_LOTS_OF_BITS){ - _dec->telemetry_frame_bytes=0; - } - if(_dec->telemetry_coding_bytes<0|| - _dec->telemetry_coding_bytes>_dec->telemetry_frame_bytes){ - _dec->telemetry_coding_bytes=0; - } - if(_dec->telemetry_mode_bytes<0|| - _dec->telemetry_mode_bytes>_dec->telemetry_frame_bytes){ - _dec->telemetry_mode_bytes=0; - } - if(_dec->telemetry_mv_bytes<0|| - _dec->telemetry_mv_bytes>_dec->telemetry_frame_bytes){ - _dec->telemetry_mv_bytes=0; - } - if(_dec->telemetry_qi_bytes<0|| - _dec->telemetry_qi_bytes>_dec->telemetry_frame_bytes){ - _dec->telemetry_qi_bytes=0; - } - if(_dec->telemetry_dc_bytes<0|| - _dec->telemetry_dc_bytes>_dec->telemetry_frame_bytes){ - _dec->telemetry_dc_bytes=0; - } - widths[0]=padw*(_dec->telemetry_frame_bytes-_dec->telemetry_coding_bytes)/fullw; - widths[1]=padw*(_dec->telemetry_coding_bytes-_dec->telemetry_mode_bytes)/fullw; - widths[2]=padw*(_dec->telemetry_mode_bytes-_dec->telemetry_mv_bytes)/fullw; - widths[3]=padw*(_dec->telemetry_mv_bytes-_dec->telemetry_qi_bytes)/fullw; - widths[4]=padw*(_dec->telemetry_qi_bytes-_dec->telemetry_dc_bytes)/fullw; - widths[5]=padw*(_dec->telemetry_dc_bytes)/fullw; - for(i=0;i<6;i++)if(widths[i]>w)widths[i]=w; - cairo_set_source_rgba(c,.0,.0,.0,.6); - cairo_rectangle(c,10,h-33,widths[0]+1,5); - cairo_rectangle(c,10,h-29,widths[1]+1,5); - cairo_rectangle(c,10,h-25,widths[2]+1,5); - cairo_rectangle(c,10,h-21,widths[3]+1,5); - cairo_rectangle(c,10,h-17,widths[4]+1,5); - cairo_rectangle(c,10,h-13,widths[5]+1,5); - cairo_fill(c); - cairo_set_source_rgb(c,1,0,0); - cairo_rectangle(c,10.5,h-32.5,widths[0],4); - cairo_fill(c); - cairo_set_source_rgb(c,0,1,0); - cairo_rectangle(c,10.5,h-28.5,widths[1],4); - cairo_fill(c); - cairo_set_source_rgb(c,0,0,1); - cairo_rectangle(c,10.5,h-24.5,widths[2],4); - cairo_fill(c); - cairo_set_source_rgb(c,.6,.4,.0); - cairo_rectangle(c,10.5,h-20.5,widths[3],4); - cairo_fill(c); - cairo_set_source_rgb(c,.3,.3,.3); - cairo_rectangle(c,10.5,h-16.5,widths[4],4); - cairo_fill(c); - cairo_set_source_rgb(c,.5,.5,.8); - cairo_rectangle(c,10.5,h-12.5,widths[5],4); - cairo_fill(c); - } - /*Master qi indicator[s]:*/ - if(_dec->telemetry_qi&0x1){ - cairo_text_extents_t extents; - char buffer[10]; - int p; - int y; - p=0; - y=h-7.5; - if(_dec->state.qis[0]>=10)buffer[p++]=48+_dec->state.qis[0]/10; - buffer[p++]=48+_dec->state.qis[0]%10; - if(_dec->state.nqis>=2){ - buffer[p++]=' '; - if(_dec->state.qis[1]>=10)buffer[p++]=48+_dec->state.qis[1]/10; - buffer[p++]=48+_dec->state.qis[1]%10; - } - if(_dec->state.nqis==3){ - buffer[p++]=' '; - if(_dec->state.qis[2]>=10)buffer[p++]=48+_dec->state.qis[2]/10; - buffer[p++]=48+_dec->state.qis[2]%10; - } - buffer[p++]='\0'; - cairo_select_font_face(c,"sans", - CAIRO_FONT_SLANT_NORMAL,CAIRO_FONT_WEIGHT_BOLD); - cairo_set_font_size(c,18); - cairo_text_extents(c,buffer,&extents); - cairo_set_source_rgb(c,1,1,1); - cairo_move_to(c,w-extents.x_advance-10,y); - cairo_show_text(c,buffer); - cairo_set_source_rgb(c,0,0,0); - cairo_move_to(c,w-extents.x_advance-10,y); - cairo_text_path(c,buffer); - cairo_set_line_width(c,.8); - cairo_set_line_join(c,CAIRO_LINE_JOIN_ROUND); - cairo_stroke(c); - } - cairo_destroy(c); - } - /*Out of the Cairo plane into the telemetry YUV buffer.*/ - _ycbcr[0].data=_dec->telemetry_frame_data; - _ycbcr[0].stride=_ycbcr[0].width; - _ycbcr[1].data=_ycbcr[0].data+h*_ycbcr[0].stride; - _ycbcr[1].stride=_ycbcr[1].width; - _ycbcr[2].data=_ycbcr[1].data+(h>>vdec)*_ycbcr[1].stride; - _ycbcr[2].stride=_ycbcr[2].width; - y_row=_ycbcr[0].data; - u_row=_ycbcr[1].data; - v_row=_ycbcr[2].data; - rgb_row=data; - /*This is one of the few places it's worth handling chroma on a - case-by-case basis.*/ - switch(_dec->state.info.pixel_fmt){ - case TH_PF_420:{ - for(y=0;y<h;y+=2){ - unsigned char *y_row2; - unsigned char *rgb_row2; - y_row2=y_row+_ycbcr[0].stride; - rgb_row2=rgb_row+cstride; - for(x=0;x<w;x+=2){ - int y; - int u; - int v; - y=(65481*rgb_row[4*x+2]+128553*rgb_row[4*x+1] - +24966*rgb_row[4*x+0]+4207500)/255000; - y_row[x]=OC_CLAMP255(y); - y=(65481*rgb_row[4*x+6]+128553*rgb_row[4*x+5] - +24966*rgb_row[4*x+4]+4207500)/255000; - y_row[x+1]=OC_CLAMP255(y); - y=(65481*rgb_row2[4*x+2]+128553*rgb_row2[4*x+1] - +24966*rgb_row2[4*x+0]+4207500)/255000; - y_row2[x]=OC_CLAMP255(y); - y=(65481*rgb_row2[4*x+6]+128553*rgb_row2[4*x+5] - +24966*rgb_row2[4*x+4]+4207500)/255000; - y_row2[x+1]=OC_CLAMP255(y); - u=(-8372*(rgb_row[4*x+2]+rgb_row[4*x+6] - +rgb_row2[4*x+2]+rgb_row2[4*x+6]) - -16436*(rgb_row[4*x+1]+rgb_row[4*x+5] - +rgb_row2[4*x+1]+rgb_row2[4*x+5]) - +24808*(rgb_row[4*x+0]+rgb_row[4*x+4] - +rgb_row2[4*x+0]+rgb_row2[4*x+4])+29032005)/225930; - v=(39256*(rgb_row[4*x+2]+rgb_row[4*x+6] - +rgb_row2[4*x+2]+rgb_row2[4*x+6]) - -32872*(rgb_row[4*x+1]+rgb_row[4*x+5] - +rgb_row2[4*x+1]+rgb_row2[4*x+5]) - -6384*(rgb_row[4*x+0]+rgb_row[4*x+4] - +rgb_row2[4*x+0]+rgb_row2[4*x+4])+45940035)/357510; - u_row[x>>1]=OC_CLAMP255(u); - v_row[x>>1]=OC_CLAMP255(v); - } - y_row+=_ycbcr[0].stride<<1; - u_row+=_ycbcr[1].stride; - v_row+=_ycbcr[2].stride; - rgb_row+=cstride<<1; - } - }break; - case TH_PF_422:{ - for(y=0;y<h;y++){ - for(x=0;x<w;x+=2){ - int y; - int u; - int v; - y=(65481*rgb_row[4*x+2]+128553*rgb_row[4*x+1] - +24966*rgb_row[4*x+0]+4207500)/255000; - y_row[x]=OC_CLAMP255(y); - y=(65481*rgb_row[4*x+6]+128553*rgb_row[4*x+5] - +24966*rgb_row[4*x+4]+4207500)/255000; - y_row[x+1]=OC_CLAMP255(y); - u=(-16744*(rgb_row[4*x+2]+rgb_row[4*x+6]) - -32872*(rgb_row[4*x+1]+rgb_row[4*x+5]) - +49616*(rgb_row[4*x+0]+rgb_row[4*x+4])+29032005)/225930; - v=(78512*(rgb_row[4*x+2]+rgb_row[4*x+6]) - -65744*(rgb_row[4*x+1]+rgb_row[4*x+5]) - -12768*(rgb_row[4*x+0]+rgb_row[4*x+4])+45940035)/357510; - u_row[x>>1]=OC_CLAMP255(u); - v_row[x>>1]=OC_CLAMP255(v); - } - y_row+=_ycbcr[0].stride; - u_row+=_ycbcr[1].stride; - v_row+=_ycbcr[2].stride; - rgb_row+=cstride; - } - }break; - /*case TH_PF_444:*/ - default:{ - for(y=0;y<h;y++){ - for(x=0;x<w;x++){ - int y; - int u; - int v; - y=(65481*rgb_row[4*x+2]+128553*rgb_row[4*x+1] - +24966*rgb_row[4*x+0]+4207500)/255000; - u=(-33488*rgb_row[4*x+2]-65744*rgb_row[4*x+1] - +99232*rgb_row[4*x+0]+29032005)/225930; - v=(157024*rgb_row[4*x+2]-131488*rgb_row[4*x+1] - -25536*rgb_row[4*x+0]+45940035)/357510; - y_row[x]=OC_CLAMP255(y); - u_row[x]=OC_CLAMP255(u); - v_row[x]=OC_CLAMP255(v); - } - y_row+=_ycbcr[0].stride; - u_row+=_ycbcr[1].stride; - v_row+=_ycbcr[2].stride; - rgb_row+=cstride; - } - }break; - } - /*Finished. - Destroy the surface.*/ - cairo_surface_destroy(cs); - } -#endif return 0; } diff --git a/media/libtheora/lib/dequant.c b/media/libtheora/lib/dequant.c index e554872d4eec9..860536f72db29 100644 --- a/media/libtheora/lib/dequant.c +++ b/media/libtheora/lib/dequant.c @@ -11,7 +11,7 @@ ********************************************************************
function: - last mod: $Id: dequant.c 16503 2009-08-22 18:14:02Z giles $ + last mod: $Id$
********************************************************************/
diff --git a/media/libtheora/lib/dequant.h b/media/libtheora/lib/dequant.h index ef25838e354c2..9d6cd6be5671b 100644 --- a/media/libtheora/lib/dequant.h +++ b/media/libtheora/lib/dequant.h @@ -11,7 +11,7 @@ ********************************************************************
function: - last mod: $Id: dequant.h 16503 2009-08-22 18:14:02Z giles $ + last mod: $Id$
********************************************************************/
diff --git a/media/libtheora/lib/fragment.c b/media/libtheora/lib/fragment.c index 4ba6af1b714b7..14c38be5076e5 100644 --- a/media/libtheora/lib/fragment.c +++ b/media/libtheora/lib/fragment.c @@ -11,7 +11,7 @@ ********************************************************************
function: - last mod: $Id: fragment.c 17410 2010-09-21 21:53:48Z tterribe $ + last mod: $Id$
********************************************************************/ #include <string.h> diff --git a/media/libtheora/lib/huffdec.c b/media/libtheora/lib/huffdec.c index c592542ebd889..5a83c5f150480 100644 --- a/media/libtheora/lib/huffdec.c +++ b/media/libtheora/lib/huffdec.c @@ -11,7 +11,7 @@ ********************************************************************
function: - last mod: $Id: huffdec.c 17577 2010-10-29 04:00:07Z tterribe $ + last mod: $Id$
********************************************************************/
diff --git a/media/libtheora/lib/huffdec.h b/media/libtheora/lib/huffdec.h index 2fd112a90bd97..03d25dcd1e147 100644 --- a/media/libtheora/lib/huffdec.h +++ b/media/libtheora/lib/huffdec.h @@ -11,7 +11,7 @@ ********************************************************************
function: - last mod: $Id: huffdec.h 17410 2010-09-21 21:53:48Z tterribe $ + last mod: $Id$
********************************************************************/
diff --git a/media/libtheora/lib/huffman.h b/media/libtheora/lib/huffman.h index 36cf7572e5383..eb805866b9d9b 100644 --- a/media/libtheora/lib/huffman.h +++ b/media/libtheora/lib/huffman.h @@ -11,12 +11,12 @@ ********************************************************************
function: - last mod: $Id: huffman.h 16503 2009-08-22 18:14:02Z giles $ + last mod: $Id$
********************************************************************/
#if !defined(_huffman_H) -# define _hufffman_H (1) +# define _huffman_H (1) # include "theora/codec.h" # include "ocintrin.h"
diff --git a/media/libtheora/lib/idct.c b/media/libtheora/lib/idct.c index c56eb94c5c6dc..838e3ad8caf0f 100644 --- a/media/libtheora/lib/idct.c +++ b/media/libtheora/lib/idct.c @@ -11,7 +11,7 @@ ********************************************************************
function: - last mod: $Id: idct.c 17410 2010-09-21 21:53:48Z tterribe $ + last mod: $Id$
********************************************************************/
@@ -241,8 +241,8 @@ static void oc_idct8x8_3(ogg_int16_t _y[64],ogg_int16_t _x[64]){ for(i=0;i<8;i++)idct8_2(_y+i,w+i*8); /*Adjust for the scale factor.*/ for(i=0;i<64;i++)_y[i]=(ogg_int16_t)(_y[i]+8>>4); - /*Clear input data for next block (decoder only).*/ - if(_x!=_y)_x[0]=_x[1]=_x[8]=0; + /*Clear input data for next block.*/ + _x[0]=_x[1]=_x[8]=0; }
/*Performs an inverse 8x8 Type-II DCT transform. @@ -272,8 +272,8 @@ static void oc_idct8x8_10(ogg_int16_t _y[64],ogg_int16_t _x[64]){ for(i=0;i<8;i++)idct8_4(_y+i,w+i*8); /*Adjust for the scale factor.*/ for(i=0;i<64;i++)_y[i]=(ogg_int16_t)(_y[i]+8>>4); - /*Clear input data for next block (decoder only).*/ - if(_x!=_y)_x[0]=_x[1]=_x[2]=_x[3]=_x[8]=_x[9]=_x[10]=_x[16]=_x[17]=_x[24]=0; + /*Clear input data for next block.*/ + _x[0]=_x[1]=_x[2]=_x[3]=_x[8]=_x[9]=_x[10]=_x[16]=_x[17]=_x[24]=0; }
/*Performs an inverse 8x8 Type-II DCT transform. @@ -291,7 +291,8 @@ static void oc_idct8x8_slow(ogg_int16_t _y[64],ogg_int16_t _x[64]){ for(i=0;i<8;i++)idct8(_y+i,w+i*8); /*Adjust for the scale factor.*/ for(i=0;i<64;i++)_y[i]=(ogg_int16_t)(_y[i]+8>>4); - if(_x!=_y)for(i=0;i<64;i++)_x[i]=0; + /*Clear input data for next block.*/ + for(i=0;i<64;i++)_x[i]=0; }
/*Performs an inverse 8x8 Type-II DCT transform. diff --git a/media/libtheora/lib/info.c b/media/libtheora/lib/info.c index 6b9762978ba9d..e5cecd2de5b88 100644 --- a/media/libtheora/lib/info.c +++ b/media/libtheora/lib/info.c @@ -11,7 +11,7 @@ ********************************************************************
function: - last mod: $Id: info.c 16503 2009-08-22 18:14:02Z giles $ + last mod: $Id$
********************************************************************/
@@ -54,7 +54,7 @@ void th_comment_init(th_comment *_tc){ memset(_tc,0,sizeof(*_tc)); }
-void th_comment_add(th_comment *_tc,char *_comment){ +void th_comment_add(th_comment *_tc,const char *_comment){ char **user_comments; int *comment_lengths; int comment_len; @@ -75,7 +75,7 @@ void th_comment_add(th_comment *_tc,char *_comment){ _tc->user_comments[_tc->comments]=NULL; }
-void th_comment_add_tag(th_comment *_tc,char *_tag,char *_val){ +void th_comment_add_tag(th_comment *_tc,const char *_tag,const char *_val){ char *comment; int tag_len; int val_len; @@ -91,7 +91,7 @@ void th_comment_add_tag(th_comment *_tc,char *_tag,char *_val){ _ogg_free(comment); }
-char *th_comment_query(th_comment *_tc,char *_tag,int _count){ +char *th_comment_query(th_comment *_tc,const char *_tag,int _count){ long i; int found; int tag_len; @@ -107,7 +107,7 @@ char *th_comment_query(th_comment *_tc,char *_tag,int _count){ return NULL; }
-int th_comment_query_count(th_comment *_tc,char *_tag){ +int th_comment_query_count(th_comment *_tc,const char *_tag){ long i; int tag_len; int count; diff --git a/media/libtheora/lib/internal.c b/media/libtheora/lib/internal.c index 1b2611da15ddb..afbb6efae7511 100644 --- a/media/libtheora/lib/internal.c +++ b/media/libtheora/lib/internal.c @@ -11,7 +11,7 @@ ********************************************************************
function: - last mod: $Id: internal.c 17506 2010-10-13 02:52:41Z tterribe $ + last mod: $Id$
********************************************************************/
@@ -131,7 +131,6 @@ void **oc_malloc_2d(size_t _height,size_t _width,size_t _sz){ datsz=rowsz*_height; /*Alloc array and row pointers.*/ ret=(char *)_ogg_malloc(datsz+colsz); - if(ret==NULL)return NULL; /*Initialize the array.*/ if(ret!=NULL){ size_t i; @@ -154,7 +153,6 @@ void **oc_calloc_2d(size_t _height,size_t _width,size_t _sz){ datsz=rowsz*_height; /*Alloc array and row pointers.*/ ret=(char *)_ogg_calloc(datsz+colsz,1); - if(ret==NULL)return NULL; /*Initialize the array.*/ if(ret!=NULL){ size_t i; diff --git a/media/libtheora/lib/internal.h b/media/libtheora/lib/internal.h index 24e1b5125234e..53c77b88beb01 100644 --- a/media/libtheora/lib/internal.h +++ b/media/libtheora/lib/internal.h @@ -11,7 +11,7 @@ ********************************************************************
function: - last mod: $Id: internal.h 17578 2010-10-29 04:21:26Z tterribe $ + last mod: $Id$
********************************************************************/ #if !defined(_internal_H) diff --git a/media/libtheora/lib/ocintrin.h b/media/libtheora/lib/ocintrin.h index d49ebb21595bb..b200ceafce753 100644 --- a/media/libtheora/lib/ocintrin.h +++ b/media/libtheora/lib/ocintrin.h @@ -11,7 +11,7 @@ ********************************************************************
function: - last mod: $Id: ocintrin.h 16503 2009-08-22 18:14:02Z giles $ + last mod: $Id$
********************************************************************/
diff --git a/media/libtheora/lib/quant.c b/media/libtheora/lib/quant.c index c3f3f477135d6..e206202844b72 100644 --- a/media/libtheora/lib/quant.c +++ b/media/libtheora/lib/quant.c @@ -11,7 +11,7 @@ ********************************************************************
function: - last mod: $Id: quant.c 17307 2010-06-27 06:02:15Z tterribe $ + last mod: $Id$
********************************************************************/
diff --git a/media/libtheora/lib/quant.h b/media/libtheora/lib/quant.h index 49ce13a65c3af..247210eaaec5b 100644 --- a/media/libtheora/lib/quant.h +++ b/media/libtheora/lib/quant.h @@ -11,7 +11,7 @@ ********************************************************************
function: - last mod: $Id: quant.h 16503 2009-08-22 18:14:02Z giles $ + last mod: $Id$
********************************************************************/
diff --git a/media/libtheora/lib/state.c b/media/libtheora/lib/state.c index 5e7b0ae651852..f4c6240387af9 100644 --- a/media/libtheora/lib/state.c +++ b/media/libtheora/lib/state.c @@ -11,7 +11,7 @@ ********************************************************************
function: - last mod: $Id: state.c 17576 2010-10-29 01:07:51Z tterribe $ + last mod: $Id$
********************************************************************/
@@ -21,6 +21,7 @@ #if defined(OC_DUMP_IMAGES) # include <stdio.h> # include "png.h" +# include "zlib.h" #endif
/*The function used to fill in the chroma plane motion vectors for a macro @@ -253,10 +254,14 @@ static void oc_mb_fill_cmapping10(oc_mb_map_plane _mb_map[3], This version is for use with no chroma decimation (4:4:4). This uses the already filled-in luma plane values. _mb_map: The macro block map to fill. - _fplanes: The descriptions of the fragment planes.*/ + _fplanes: The descriptions of the fragment planes. + _xfrag0: The X location of the upper-left hand fragment in the luma plane. + _yfrag0: The Y location of the upper-left hand fragment in the luma plane.*/ static void oc_mb_fill_cmapping11(oc_mb_map_plane _mb_map[3], - const oc_fragment_plane _fplanes[3]){ + const oc_fragment_plane _fplanes[3],int _xfrag0,int _yfrag0){ int k; + (void)_xfrag0; + (void)_yfrag0; for(k=0;k<4;k++){ _mb_map[1][k]=_mb_map[0][k]+_fplanes[1].froffset; _mb_map[2][k]=_mb_map[0][k]+_fplanes[2].froffset; @@ -278,7 +283,7 @@ static const oc_mb_fill_cmapping_func OC_MB_FILL_CMAPPING_TABLE[4]={ oc_mb_fill_cmapping00, oc_mb_fill_cmapping01, oc_mb_fill_cmapping10, - (oc_mb_fill_cmapping_func)oc_mb_fill_cmapping11 + oc_mb_fill_cmapping11 };
/*Fills in the mapping from macro blocks to their corresponding fragment @@ -702,7 +707,8 @@ int oc_state_init(oc_theora_state *_state,const th_info *_info,int _nrefs){ how it is specified in the bitstream, because the Y axis is flipped in the bitstream. The displayable frame must fit inside the encoded frame. - The color space must be one known by the encoder.*/ + The color space must be one known by the encoder. + The framerate ratio must not contain a zero value.*/ if((_info->frame_width&0xF)||(_info->frame_height&0xF)|| _info->frame_width<=0||_info->frame_width>=0x100000|| _info->frame_height<=0||_info->frame_height>=0x100000|| @@ -715,7 +721,8 @@ int oc_state_init(oc_theora_state *_state,const th_info *_info,int _nrefs){ but there are a number of compilers which will mis-optimize this. It's better to live with the spurious warnings.*/ _info->colorspace<0||_info->colorspace>=TH_CS_NSPACES|| - _info->pixel_fmt<0||_info->pixel_fmt>=TH_PF_NFORMATS){ + _info->pixel_fmt<0||_info->pixel_fmt>=TH_PF_NFORMATS|| + _info->fps_numerator<1||_info->fps_denominator<1){ return TH_EINVAL; } memset(_state,0,sizeof(*_state)); diff --git a/media/libtheora/lib/x86/mmxfrag.c b/media/libtheora/lib/x86/mmxfrag.c index b7df1c1ec9edb..b3ec50895668a 100644 --- a/media/libtheora/lib/x86/mmxfrag.c +++ b/media/libtheora/lib/x86/mmxfrag.c @@ -11,7 +11,7 @@ ********************************************************************
function: - last mod: $Id: mmxfrag.c 17410 2010-09-21 21:53:48Z tterribe $ + last mod: $Id$
********************************************************************/
@@ -355,7 +355,7 @@ void oc_frag_recon_inter2_mmx(unsigned char *_dst,const unsigned char *_src1, /*Advance dest ptr.*/ "lea (%[dst],%[ystride],2),%[dst]\n\t" :[dst]"+r"(_dst),[residue]"+r"(_residue), - [src1]"+%r"(_src1),[src2]"+r"(_src2) + [src1]"+r"(_src1),[src2]"+r"(_src2) :[ystride]"r"((ptrdiff_t)_ystride) :"memory" ); diff --git a/media/libtheora/lib/x86/mmxidct.c b/media/libtheora/lib/x86/mmxidct.c index 8d61bdfb162e5..b8e30770661b3 100644 --- a/media/libtheora/lib/x86/mmxidct.c +++ b/media/libtheora/lib/x86/mmxidct.c @@ -11,7 +11,7 @@ ********************************************************************
function: - last mod: $Id: mmxidct.c 17446 2010-09-23 20:06:20Z tterribe $ + last mod: $Id$
********************************************************************/
@@ -284,6 +284,7 @@ "#end OC_COLUMN_IDCT\n\t" \
static void oc_idct8x8_slow_mmx(ogg_int16_t _y[64],ogg_int16_t _x[64]){ + int i; /*This routine accepts an 8x8 matrix, but in partially transposed form. Every 4x4 block is transposed.*/ __asm__ __volatile__( @@ -313,18 +314,15 @@ static void oc_idct8x8_slow_mmx(ogg_int16_t _y[64],ogg_int16_t _x[64]){ :[x]"m"OC_CONST_ARRAY_OPERAND(ogg_int16_t,_x,64), [c]"m"OC_CONST_ARRAY_OPERAND(ogg_int16_t,OC_IDCT_CONSTS,128) ); - if(_x!=_y){ - int i; - __asm__ __volatile__("pxor %%mm0,%%mm0\n\t"::); - for(i=0;i<4;i++){ - __asm__ __volatile__( - "movq %%mm0,"OC_MEM_OFFS(0x00,x)"\n\t" - "movq %%mm0,"OC_MEM_OFFS(0x08,x)"\n\t" - "movq %%mm0,"OC_MEM_OFFS(0x10,x)"\n\t" - "movq %%mm0,"OC_MEM_OFFS(0x18,x)"\n\t" - :[x]"=m"OC_ARRAY_OPERAND(ogg_int16_t,_x+16*i,16) - ); - } + __asm__ __volatile__("pxor %%mm0,%%mm0\n\t"::); + for(i=0;i<4;i++){ + __asm__ __volatile__( + "movq %%mm0,"OC_MEM_OFFS(0x00,x)"\n\t" + "movq %%mm0,"OC_MEM_OFFS(0x08,x)"\n\t" + "movq %%mm0,"OC_MEM_OFFS(0x10,x)"\n\t" + "movq %%mm0,"OC_MEM_OFFS(0x18,x)"\n\t" + :[x]"=m"OC_ARRAY_OPERAND(ogg_int16_t,_x+16*i,16) + ); } }
@@ -514,16 +512,14 @@ static void oc_idct8x8_10_mmx(ogg_int16_t _y[64],ogg_int16_t _x[64]){ :[x]"m"OC_CONST_ARRAY_OPERAND(ogg_int16_t,_x,64), [c]"m"OC_CONST_ARRAY_OPERAND(ogg_int16_t,OC_IDCT_CONSTS,128) ); - if(_x!=_y){ - __asm__ __volatile__( - "pxor %%mm0,%%mm0\n\t" - "movq %%mm0,"OC_MEM_OFFS(0x00,x)"\n\t" - "movq %%mm0,"OC_MEM_OFFS(0x10,x)"\n\t" - "movq %%mm0,"OC_MEM_OFFS(0x20,x)"\n\t" - "movq %%mm0,"OC_MEM_OFFS(0x30,x)"\n\t" - :[x]"+m"OC_ARRAY_OPERAND(ogg_int16_t,_x,28) - ); - } + __asm__ __volatile__( + "pxor %%mm0,%%mm0\n\t" + "movq %%mm0,"OC_MEM_OFFS(0x00,x)"\n\t" + "movq %%mm0,"OC_MEM_OFFS(0x10,x)"\n\t" + "movq %%mm0,"OC_MEM_OFFS(0x20,x)"\n\t" + "movq %%mm0,"OC_MEM_OFFS(0x30,x)"\n\t" + :[x]"+m"OC_ARRAY_OPERAND(ogg_int16_t,_x,28) + ); }
/*Performs an inverse 8x8 Type-II DCT transform. diff --git a/media/libtheora/lib/x86/mmxstate.c b/media/libtheora/lib/x86/mmxstate.c index 0b9586f943eea..eebea14fbaa97 100644 --- a/media/libtheora/lib/x86/mmxstate.c +++ b/media/libtheora/lib/x86/mmxstate.c @@ -11,7 +11,7 @@ ********************************************************************
function: - last mod: $Id: mmxstate.c 17563 2010-10-25 17:40:54Z tterribe $ + last mod: $Id$
********************************************************************/
diff --git a/media/libtheora/lib/x86/sse2idct.c b/media/libtheora/lib/x86/sse2idct.c index 5f8523fa5f730..4597ab074f93a 100644 --- a/media/libtheora/lib/x86/sse2idct.c +++ b/media/libtheora/lib/x86/sse2idct.c @@ -208,6 +208,7 @@ const unsigned short __attribute__((aligned(16),used)) OC_IDCT_CONSTS[64]={
static void oc_idct8x8_slow_sse2(ogg_int16_t _y[64],ogg_int16_t _x[64]){ OC_ALIGN16(ogg_int16_t buf[16]); + int i; /*This routine accepts an 8x8 matrix pre-transposed.*/ __asm__ __volatile__( /*Load rows 2, 3, 5, and 6 for the first stage of the iDCT.*/ @@ -230,19 +231,16 @@ static void oc_idct8x8_slow_sse2(ogg_int16_t _y[64],ogg_int16_t _x[64]){ :[x]"m"(OC_CONST_ARRAY_OPERAND(ogg_int16_t,_x,64)), [c]"m"(OC_CONST_ARRAY_OPERAND(ogg_int16_t,OC_IDCT_CONSTS,128)) ); - if(_x!=_y){ - int i; - __asm__ __volatile__("pxor %%xmm0,%%xmm0\n\t"::); - /*Clear input data for next block (decoder only).*/ - for(i=0;i<2;i++){ - __asm__ __volatile__( - "movdqa %%xmm0,"OC_MEM_OFFS(0x00,x)"\n\t" - "movdqa %%xmm0,"OC_MEM_OFFS(0x10,x)"\n\t" - "movdqa %%xmm0,"OC_MEM_OFFS(0x20,x)"\n\t" - "movdqa %%xmm0,"OC_MEM_OFFS(0x30,x)"\n\t" - :[x]"=m"(OC_ARRAY_OPERAND(ogg_int16_t,_x+i*32,32)) - ); - } + __asm__ __volatile__("pxor %%xmm0,%%xmm0\n\t"::); + /*Clear input data for next block (decoder only).*/ + for(i=0;i<2;i++){ + __asm__ __volatile__( + "movdqa %%xmm0,"OC_MEM_OFFS(0x00,x)"\n\t" + "movdqa %%xmm0,"OC_MEM_OFFS(0x10,x)"\n\t" + "movdqa %%xmm0,"OC_MEM_OFFS(0x20,x)"\n\t" + "movdqa %%xmm0,"OC_MEM_OFFS(0x30,x)"\n\t" + :[x]"=m"(OC_ARRAY_OPERAND(ogg_int16_t,_x+i*32,32)) + ); } }
@@ -411,17 +409,15 @@ static void oc_idct8x8_10_sse2(ogg_int16_t _y[64],ogg_int16_t _x[64]){ :[x]"m"OC_CONST_ARRAY_OPERAND(ogg_int16_t,_x,64), [c]"m"(OC_CONST_ARRAY_OPERAND(ogg_int16_t,OC_IDCT_CONSTS,128)) ); - if(_x!=_y){ - /*Clear input data for next block (decoder only).*/ - __asm__ __volatile__( - "pxor %%mm0,%%mm0\n\t" - "movq %%mm0,"OC_MEM_OFFS(0x00,x)"\n\t" - "movq %%mm0,"OC_MEM_OFFS(0x10,x)"\n\t" - "movq %%mm0,"OC_MEM_OFFS(0x20,x)"\n\t" - "movq %%mm0,"OC_MEM_OFFS(0x30,x)"\n\t" - :[x]"+m"(OC_ARRAY_OPERAND(ogg_int16_t,_x,28)) - ); - } + /*Clear input data for next block (decoder only).*/ + __asm__ __volatile__( + "pxor %%mm0,%%mm0\n\t" + "movq %%mm0,"OC_MEM_OFFS(0x00,x)"\n\t" + "movq %%mm0,"OC_MEM_OFFS(0x10,x)"\n\t" + "movq %%mm0,"OC_MEM_OFFS(0x20,x)"\n\t" + "movq %%mm0,"OC_MEM_OFFS(0x30,x)"\n\t" + :[x]"+m"(OC_ARRAY_OPERAND(ogg_int16_t,_x,28)) + ); }
/*Performs an inverse 8x8 Type-II DCT transform. diff --git a/media/libtheora/lib/x86/x86cpu.c b/media/libtheora/lib/x86/x86cpu.c index c3a20b319c1c2..49fd76d0ac635 100644 --- a/media/libtheora/lib/x86/x86cpu.c +++ b/media/libtheora/lib/x86/x86cpu.c @@ -14,7 +14,7 @@ Originally written by Rudolf Marek.
function: - last mod: $Id: x86cpu.c 17410 2010-09-21 21:53:48Z tterribe $ + last mod: $Id$
********************************************************************/
diff --git a/media/libtheora/lib/x86/x86cpu.h b/media/libtheora/lib/x86/x86cpu.h index 153a48d892881..e0192d52e290f 100644 --- a/media/libtheora/lib/x86/x86cpu.h +++ b/media/libtheora/lib/x86/x86cpu.h @@ -10,7 +10,7 @@ * * ******************************************************************** function: - last mod: $Id: x86cpu.h 17410 2010-09-21 21:53:48Z tterribe $ + last mod: $Id$
********************************************************************/
diff --git a/media/libtheora/lib/x86/x86int.h b/media/libtheora/lib/x86/x86int.h index 35bfb0a02b69e..ceb2dbb0ec11d 100644 --- a/media/libtheora/lib/x86/x86int.h +++ b/media/libtheora/lib/x86/x86int.h @@ -11,7 +11,7 @@ ********************************************************************
function: - last mod: $Id: x86int.h 17578 2010-10-29 04:21:26Z tterribe $ + last mod: $Id$
********************************************************************/
diff --git a/media/libtheora/lib/x86/x86state.c b/media/libtheora/lib/x86/x86state.c index a3d37267f61e7..9f8bceb534887 100644 --- a/media/libtheora/lib/x86/x86state.c +++ b/media/libtheora/lib/x86/x86state.c @@ -11,7 +11,7 @@ ********************************************************************
function: - last mod: $Id: x86state.c 17421 2010-09-22 16:46:18Z giles $ + last mod: $Id$
********************************************************************/
@@ -19,6 +19,7 @@
#if defined(OC_X86_ASM)
+#if defined(OC_STATE_USE_VTABLE) /*This table has been modified from OC_FZIG_ZAG by baking a 4x4 transpose into each quadrant of the destination.*/ static const unsigned char OC_FZIG_ZAG_MMX[128]={ @@ -39,6 +40,7 @@ static const unsigned char OC_FZIG_ZAG_MMX[128]={ 64,64,64,64,64,64,64,64, 64,64,64,64,64,64,64,64 }; +#endif
/*This table has been modified from OC_FZIG_ZAG by baking an 8x8 transpose into the destination.*/ diff --git a/media/libtheora/lib/x86_vc/mmxfrag.c b/media/libtheora/lib/x86_vc/mmxfrag.c index c16b026ffc6fd..248312ff9049b 100644 --- a/media/libtheora/lib/x86_vc/mmxfrag.c +++ b/media/libtheora/lib/x86_vc/mmxfrag.c @@ -11,7 +11,7 @@ ********************************************************************
function: - last mod: $Id: mmxfrag.c 17446 2010-09-23 20:06:20Z tterribe $ + last mod: $Id$
********************************************************************/
diff --git a/media/libtheora/lib/x86_vc/mmxidct.c b/media/libtheora/lib/x86_vc/mmxidct.c index 53a9ac7f38ca4..55e00aedcfd45 100644 --- a/media/libtheora/lib/x86_vc/mmxidct.c +++ b/media/libtheora/lib/x86_vc/mmxidct.c @@ -11,7 +11,7 @@ ********************************************************************
function: - last mod: $Id: mmxidct.c 17446 2010-09-23 20:06:20Z tterribe $ + last mod: $Id$
********************************************************************/
@@ -339,22 +339,19 @@ static void oc_idct8x8_slow(ogg_int16_t _y[64],ogg_int16_t _x[64]){ #undef Y #undef X } - if(_x!=_y){ - int i; - __asm pxor mm0,mm0; - for(i=0;i<4;i++){ - ogg_int16_t *x; - x=_x+16*i; + __asm pxor mm0,mm0; + for(i=0;i<4;i++){ + ogg_int16_t *x; + x=_x+16*i; #define X ecx - __asm{ - mov X,x - movq [X+0x00],mm0 - movq [X+0x08],mm0 - movq [X+0x10],mm0 - movq [X+0x18],mm0 - } -#undef X + __asm{ + mov X,x + movq [X+0x00],mm0 + movq [X+0x08],mm0 + movq [X+0x10],mm0 + movq [X+0x18],mm0 } +#undef X } }
@@ -547,18 +544,16 @@ static void oc_idct8x8_10(ogg_int16_t _y[64],ogg_int16_t _x[64]){ #undef Y #undef X } - if(_x!=_y){ #define X ecx - __asm{ - pxor mm0,mm0; - mov X,_x - movq [X+0x00],mm0 - movq [X+0x10],mm0 - movq [X+0x20],mm0 - movq [X+0x30],mm0 - } -#undef X + __asm{ + pxor mm0,mm0; + mov X,_x + movq [X+0x00],mm0 + movq [X+0x10],mm0 + movq [X+0x20],mm0 + movq [X+0x30],mm0 } +#undef X }
/*Performs an inverse 8x8 Type-II DCT transform. diff --git a/media/libtheora/lib/x86_vc/mmxstate.c b/media/libtheora/lib/x86_vc/mmxstate.c index d3d468d5f2c63..f532ee1b6f5ab 100644 --- a/media/libtheora/lib/x86_vc/mmxstate.c +++ b/media/libtheora/lib/x86_vc/mmxstate.c @@ -11,7 +11,7 @@ ********************************************************************
function: - last mod: $Id: mmxstate.c 17563 2010-10-25 17:40:54Z tterribe $ + last mod: $Id$
********************************************************************/
diff --git a/media/libtheora/lib/x86_vc/x86cpu.c b/media/libtheora/lib/x86_vc/x86cpu.c index 41f4bcba9ddd8..6a1d8d850cb3d 100644 --- a/media/libtheora/lib/x86_vc/x86cpu.c +++ b/media/libtheora/lib/x86_vc/x86cpu.c @@ -14,7 +14,7 @@ Originally written by Rudolf Marek.
function: - last mod: $Id: x86cpu.c 17410 2010-09-21 21:53:48Z tterribe $ + last mod: $Id$
********************************************************************/
diff --git a/media/libtheora/lib/x86_vc/x86cpu.h b/media/libtheora/lib/x86_vc/x86cpu.h index 327d9324679c4..eea261d4489e1 100644 --- a/media/libtheora/lib/x86_vc/x86cpu.h +++ b/media/libtheora/lib/x86_vc/x86cpu.h @@ -10,7 +10,7 @@ * * ******************************************************************** function: - last mod: $Id: x86cpu.h 17410 2010-09-21 21:53:48Z tterribe $ + last mod: $Id$
********************************************************************/
diff --git a/media/libtheora/lib/x86_vc/x86int.h b/media/libtheora/lib/x86_vc/x86int.h index bc4c54a2f6ff6..318a09dca00f6 100644 --- a/media/libtheora/lib/x86_vc/x86int.h +++ b/media/libtheora/lib/x86_vc/x86int.h @@ -11,7 +11,7 @@ ********************************************************************
function: - last mod: $Id: x86int.h 17410 2010-09-21 21:53:48Z tterribe $ + last mod: $Id$
********************************************************************/
diff --git a/media/libtheora/lib/x86_vc/x86state.c b/media/libtheora/lib/x86_vc/x86state.c index 7aa73deae4c41..fa3a0d42fcc48 100644 --- a/media/libtheora/lib/x86_vc/x86state.c +++ b/media/libtheora/lib/x86_vc/x86state.c @@ -11,7 +11,7 @@ ********************************************************************
function: - last mod: $Id: x86state.c 17410 2010-09-21 21:53:48Z tterribe $ + last mod: $Id$
********************************************************************/
diff --git a/media/libtheora/moz.build b/media/libtheora/moz.build index 7c4d242ba030e..cba454726ff35 100644 --- a/media/libtheora/moz.build +++ b/media/libtheora/moz.build @@ -10,7 +10,6 @@ with Files('*'): EXPORTS.theora += [ 'include/theora/codec.h', 'include/theora/theoradec.h', - 'include/theora/theoraenc.h', ]
# We allow warnings for third-party code that can be updated from upstream. diff --git a/media/libtheora/moz.yaml b/media/libtheora/moz.yaml index 5f2ca1a43cf67..c075c5fecef09 100644 --- a/media/libtheora/moz.yaml +++ b/media/libtheora/moz.yaml @@ -17,5 +17,5 @@ origin: url: "https://www.theora.org/" license: "BSD-3-Clause-Clear"
- # update.sh will update this value - release: "74b57560775804bf248e3e5b4e57964112ccd7af (2010-10-29 04:21:26 +0000)" + release: commit 7180717276af1ebc7da15c83162d6c5d6203aabf (2020-10-27T09:17:42.000-07:00). + revision: 7180717276af1ebc7da15c83162d6c5d6203aabf
This is an automated email from the git hooks/post-receive script.
richard pushed a commit to branch tor-browser-91.8.0esr-11.0-1 in repository tor-browser.
commit c58a1ce7837ea9c17d4ad9ae9f91419512087a8d Author: Henri Sivonen hsivonen@hsivonen.fi AuthorDate: Mon Feb 21 10:59:02 2022 +0000
Bug 1736570 - Avoid DocumentChannel for nsParser-created initial about:blank replacement. r=smaug, a=RyanVM
Differential Revision: https://phabricator.services.mozilla.com/D139272 --- docshell/base/BrowsingContext.cpp | 10 +- docshell/base/BrowsingContext.h | 3 +- docshell/base/CanonicalBrowsingContext.cpp | 2 + docshell/base/nsDocShell.cpp | 108 ++++++++++++++++----- docshell/base/nsDocShell.h | 19 +++- docshell/shistory/SessionHistoryEntry.cpp | 6 +- docshell/shistory/SessionHistoryEntry.h | 3 + dom/base/nsObjectLoadingContent.cpp | 13 ++- dom/base/nsObjectLoadingContent.h | 6 ++ netwerk/ipc/DocumentChannel.cpp | 2 - ...versal-navigate-parent-while-child-loading.html | 4 +- .../empty-iframe-load-event.html | 39 ++++++++ .../aboutprocesses/tests/browser/head.js | 9 +- 13 files changed, 185 insertions(+), 39 deletions(-)
diff --git a/docshell/base/BrowsingContext.cpp b/docshell/base/BrowsingContext.cpp index 37e526d848e4d..e43c87642bb77 100644 --- a/docshell/base/BrowsingContext.cpp +++ b/docshell/base/BrowsingContext.cpp @@ -3424,7 +3424,7 @@ void BrowsingContext::SessionHistoryCommit(
void BrowsingContext::SetActiveSessionHistoryEntry( const Maybe<nsPoint>& aPreviousScrollPos, SessionHistoryInfo* aInfo, - uint32_t aLoadType, uint32_t aUpdatedCacheKey) { + uint32_t aLoadType, uint32_t aUpdatedCacheKey, bool aUpdateLength) { if (XRE_IsContentProcess()) { // XXX Why we update cache key only in content process case? if (aUpdatedCacheKey != 0) { @@ -3432,9 +3432,11 @@ void BrowsingContext::SetActiveSessionHistoryEntry( }
nsID changeID = {}; - RefPtr<ChildSHistory> shistory = Top()->GetChildSessionHistory(); - if (shistory) { - changeID = shistory->AddPendingHistoryChange(); + if (aUpdateLength) { + RefPtr<ChildSHistory> shistory = Top()->GetChildSessionHistory(); + if (shistory) { + changeID = shistory->AddPendingHistoryChange(); + } } ContentChild::GetSingleton()->SendSetActiveSessionHistoryEntry( this, aPreviousScrollPos, *aInfo, aLoadType, aUpdatedCacheKey, diff --git a/docshell/base/BrowsingContext.h b/docshell/base/BrowsingContext.h index 0033bf7e65750..1306f715a5002 100644 --- a/docshell/base/BrowsingContext.h +++ b/docshell/base/BrowsingContext.h @@ -793,7 +793,8 @@ class BrowsingContext : public nsILoadContext, public nsWrapperCache { void SetActiveSessionHistoryEntry(const Maybe<nsPoint>& aPreviousScrollPos, SessionHistoryInfo* aInfo, uint32_t aLoadType, - uint32_t aUpdatedCacheKey); + uint32_t aUpdatedCacheKey, + bool aUpdateLength = true);
// Replace the active entry for this browsing context. This is used for // implementing history.replaceState and same document navigations. diff --git a/docshell/base/CanonicalBrowsingContext.cpp b/docshell/base/CanonicalBrowsingContext.cpp index f51e668d0e47d..749591918f8cd 100644 --- a/docshell/base/CanonicalBrowsingContext.cpp +++ b/docshell/base/CanonicalBrowsingContext.cpp @@ -750,6 +750,8 @@ void CanonicalBrowsingContext::SessionHistoryCommit(uint64_t aLoadId, MOZ_LOG(gSHLog, LogLevel::Verbose, ("CanonicalBrowsingContext::SessionHistoryCommit %p %" PRIu64, this, aLoadId)); + MOZ_ASSERT(aLoadId != UINT64_MAX, + "Must not send special about:blank loadinfo to parent."); for (size_t i = 0; i < mLoadingEntries.Length(); ++i) { if (mLoadingEntries[i].mLoadId == aLoadId) { nsSHistory* shistory = static_cast<nsSHistory*>(GetSessionHistory()); diff --git a/docshell/base/nsDocShell.cpp b/docshell/base/nsDocShell.cpp index c04a496bdf07c..67732b7cad675 100644 --- a/docshell/base/nsDocShell.cpp +++ b/docshell/base/nsDocShell.cpp @@ -230,6 +230,7 @@ #include "nsWidgetsCID.h" #include "nsXULAppAPI.h"
+#include "ThirdPartyUtil.h" #include "BRNameMatchingPolicy.h" #include "GeckoProfiler.h" #include "mozilla/NullPrincipal.h" @@ -388,7 +389,8 @@ nsDocShell::nsDocShell(BrowsingContext* aBrowsingContext, mWillChangeProcess(false), mIsNavigating(false), mSuspendMediaWhenInactive(false), - mForcedAutodetection(false) { + mForcedAutodetection(false), + mNeedToReportActiveAfterLoadingBecomesActive(false) { // If no outer window ID was provided, generate a new one. if (aContentWindowID == 0) { mContentWindowID = nsContentUtils::GenerateWindowId(); @@ -8687,6 +8689,7 @@ nsresult nsDocShell::HandleSameDocumentNavigation( if (aLoadState->GetLoadingSessionHistoryInfo()) { mLoadingEntry = MakeUnique<LoadingSessionHistoryInfo>( *aLoadState->GetLoadingSessionHistoryInfo()); + mNeedToReportActiveAfterLoadingBecomesActive = false; }
// Set the doc's URI according to the new history entry's URI. @@ -9899,6 +9902,14 @@ nsIPrincipal* nsDocShell::GetInheritedPrincipal( return true; }
+bool nsDocShell::IsAboutBlankLoadOntoInitialAboutBlank( + nsIURI* aURI, bool aInheritPrincipal, nsIPrincipal* aPrincipalToInherit) { + return NS_IsAboutBlank(aURI) && aInheritPrincipal && + (aPrincipalToInherit == GetInheritedPrincipal(false)) && + (!mContentViewer || !mContentViewer->GetDocument() || + mContentViewer->GetDocument()->IsInitialDocument()); +} + nsresult nsDocShell::DoURILoad(nsDocShellLoadState* aLoadState, Maybe<uint32_t> aCacheKey, nsIRequest** aRequest) { @@ -10040,11 +10051,44 @@ nsresult nsDocShell::DoURILoad(nsDocShellLoadState* aLoadState, "DoURILoad thinks this is a document and InternalLoad does not"); }
+ // We want to inherit aLoadState->PrincipalToInherit() when: + // 1. ChannelShouldInheritPrincipal returns true. + // 2. aLoadState->URI() is not data: URI, or data: URI is not + // configured as unique opaque origin. + bool inheritPrincipal = false; + + if (aLoadState->PrincipalToInherit()) { + bool isSrcdoc = + aLoadState->HasInternalLoadFlags(INTERNAL_LOAD_FLAGS_IS_SRCDOC); + bool inheritAttrs = nsContentUtils::ChannelShouldInheritPrincipal( + aLoadState->PrincipalToInherit(), aLoadState->URI(), + true, // aInheritForAboutBlank + isSrcdoc); + + inheritPrincipal = inheritAttrs && !SchemeIsData(aLoadState->URI()); + } + + // See https://bugzilla.mozilla.org/show_bug.cgi?id=1736570 + const bool isAboutBlankLoadOntoInitialAboutBlank = + IsAboutBlankLoadOntoInitialAboutBlank(aLoadState->URI(), inheritPrincipal, + aLoadState->PrincipalToInherit()); + // FIXME We still have a ton of codepaths that don't pass through // DocumentLoadListener, so probably need to create session history info // in more places. if (aLoadState->GetLoadingSessionHistoryInfo()) { SetLoadingSessionHistoryInfo(*aLoadState->GetLoadingSessionHistoryInfo()); + } else if (isAboutBlankLoadOntoInitialAboutBlank && + mozilla::SessionHistoryInParent()) { + // Materialize LoadingSessionHistoryInfo here, because DocumentChannel + // loads have it, and later history behavior depends on it existing. + UniquePtr<SessionHistoryInfo> entry = MakeUnique<SessionHistoryInfo>( + aLoadState->URI(), aLoadState->TriggeringPrincipal(), + aLoadState->PrincipalToInherit(), + aLoadState->PartitionedPrincipalToInherit(), aLoadState->Csp(), + mContentTypeHint); + mozilla::dom::LoadingSessionHistoryInfo info(*entry); + SetLoadingSessionHistoryInfo(info, true); }
// open a channel for the url @@ -10128,23 +10172,6 @@ nsresult nsDocShell::DoURILoad(nsDocShellLoadState* aLoadState, return NS_ERROR_FAILURE; }
- // We want to inherit aLoadState->PrincipalToInherit() when: - // 1. ChannelShouldInheritPrincipal returns true. - // 2. aLoadState->URI() is not data: URI, or data: URI is not - // configured as unique opaque origin. - bool inheritPrincipal = false; - - if (aLoadState->PrincipalToInherit()) { - bool isSrcdoc = - aLoadState->HasInternalLoadFlags(INTERNAL_LOAD_FLAGS_IS_SRCDOC); - bool inheritAttrs = nsContentUtils::ChannelShouldInheritPrincipal( - aLoadState->PrincipalToInherit(), aLoadState->URI(), - true, // aInheritForAboutBlank - isSrcdoc); - - inheritPrincipal = inheritAttrs && !SchemeIsData(aLoadState->URI()); - } - uint32_t sandboxFlags = mBrowsingContext->GetSandboxFlags(); nsSecurityFlags securityFlags = nsILoadInfo::SEC_ALLOW_CROSS_ORIGIN_SEC_CONTEXT_IS_NULL; @@ -10177,6 +10204,30 @@ nsresult nsDocShell::DoURILoad(nsDocShellLoadState* aLoadState, sandboxFlags); RefPtr<WindowContext> context = mBrowsingContext->GetCurrentWindowContext();
+ if (isAboutBlankLoadOntoInitialAboutBlank) { + // Match the DocumentChannel case where the default for third-partiness + // differs from the default in LoadInfo construction here. + // toolkit/components/antitracking/test/browser/browser_aboutblank.js + // fails without this. + BrowsingContext* top = mBrowsingContext->Top(); + if (top == mBrowsingContext) { + // If we're at the top, this must be a window.open()ed + // window, and we can't be third-party relative to ourselves. + loadInfo->SetIsThirdPartyContextToTopWindow(false); + } else { + if (Document* topDoc = top->GetDocument()) { + bool thirdParty = false; + mozilla::Unused << topDoc->GetPrincipal()->IsThirdPartyPrincipal( + aLoadState->PrincipalToInherit(), &thirdParty); + loadInfo->SetIsThirdPartyContextToTopWindow(thirdParty); + } else { + // If top is in a different process, we have to be third-party relative + // to it. + loadInfo->SetIsThirdPartyContextToTopWindow(true); + } + } + } + if (mLoadType != LOAD_ERROR_PAGE && context && context->IsInProcess() && context->HasValidTransientUserGestureActivation()) { aLoadState->SetHasValidUserGestureActivation(true); @@ -10244,7 +10295,8 @@ nsresult nsDocShell::DoURILoad(nsDocShellLoadState* aLoadState, currentUnstrippedURI);
nsCOMPtr<nsIChannel> channel; - if (DocumentChannel::CanUseDocumentChannel(aLoadState->URI())) { + if (DocumentChannel::CanUseDocumentChannel(aLoadState->URI()) && + !isAboutBlankLoadOntoInitialAboutBlank) { channel = DocumentChannel::CreateForDocument(aLoadState, loadInfo, loadFlags, this, cacheKey, uriModified, isXFOError); @@ -13308,13 +13360,16 @@ bool nsDocShell::GetIsAttemptingToNavigate() { }
void nsDocShell::SetLoadingSessionHistoryInfo( - const mozilla::dom::LoadingSessionHistoryInfo& aLoadingInfo) { + const mozilla::dom::LoadingSessionHistoryInfo& aLoadingInfo, + bool aNeedToReportActiveAfterLoadingBecomesActive) { // FIXME Would like to assert this, but can't yet. // MOZ_ASSERT(!mLoadingEntry); MOZ_LOG(gSHLog, LogLevel::Debug, ("Setting the loading entry on nsDocShell %p to %s", this, aLoadingInfo.mInfo.GetURI()->GetSpecOrDefault().get())); mLoadingEntry = MakeUnique<LoadingSessionHistoryInfo>(aLoadingInfo); + mNeedToReportActiveAfterLoadingBecomesActive = + aNeedToReportActiveAfterLoadingBecomesActive; }
void nsDocShell::MoveLoadingToActiveEntry(bool aPersist) { @@ -13336,16 +13391,25 @@ void nsDocShell::MoveLoadingToActiveEntry(bool aPersist) { mActiveEntry = MakeUnique<SessionHistoryInfo>(mLoadingEntry->mInfo); mLoadingEntry.swap(loadingEntry); if (!mActiveEntryIsLoadingFromSessionHistory) { + if (mNeedToReportActiveAfterLoadingBecomesActive) { + // Needed to pass various history length WPTs. + mBrowsingContext->SetActiveSessionHistoryEntry( + mozilla::Nothing(), mActiveEntry.get(), mLoadType, + /* aUpdatedCacheKey = */ 0, false); + } mBrowsingContext->IncrementHistoryEntryCountForBrowsingContext(); } } + mNeedToReportActiveAfterLoadingBecomesActive = false;
if (mActiveEntry) { MOZ_ASSERT(loadingEntry); uint32_t loadType = mLoadType == LOAD_ERROR_PAGE ? mFailedLoadType : mLoadType; - mBrowsingContext->SessionHistoryCommit(*loadingEntry, loadType, - hadActiveEntry, aPersist, false); + if (loadingEntry->mLoadId != UINT64_MAX) { + mBrowsingContext->SessionHistoryCommit(*loadingEntry, loadType, + hadActiveEntry, aPersist, false); + } } }
diff --git a/docshell/base/nsDocShell.h b/docshell/base/nsDocShell.h index 19b09f3bd470f..1b06af5c84e5c 100644 --- a/docshell/base/nsDocShell.h +++ b/docshell/base/nsDocShell.h @@ -493,7 +493,8 @@ class nsDocShell final : public nsDocLoader, mozilla::dom::BrowsingContext* aBrowsingContext, uint32_t aLoadType);
void SetLoadingSessionHistoryInfo( - const mozilla::dom::LoadingSessionHistoryInfo& aLoadingInfo); + const mozilla::dom::LoadingSessionHistoryInfo& aLoadingInfo, + bool aNeedToReportActiveAfterLoadingBecomesActive = false); const mozilla::dom::LoadingSessionHistoryInfo* GetLoadingSessionHistoryInfo() { return mLoadingEntry.get(); @@ -666,6 +667,12 @@ class nsDocShell final : public nsDocLoader, nsIURI* aCurrentURI, nsIReferrerInfo* aReferrerInfo, bool aNotifiedBeforeUnloadListeners = false);
+ public: + bool IsAboutBlankLoadOntoInitialAboutBlank(nsIURI* aURI, + bool aInheritPrincipal, + nsIPrincipal* aPrincipalToInherit); + + private: // // URI Load // @@ -1167,7 +1174,9 @@ class nsDocShell final : public nsDocLoader, // These are only set when fission.sessionHistoryInParent is set. mozilla::UniquePtrmozilla::dom::SessionHistoryInfo mActiveEntry; bool mActiveEntryIsLoadingFromSessionHistory = false; - // mLoadingEntry is set when we're about to start loading. + // mLoadingEntry is set when we're about to start loading. Whenever + // setting mLoadingEntry, be sure to also set + // mNeedToReportActiveAfterLoadingBecomesActive. mozilla::UniquePtrmozilla::dom::LoadingSessionHistoryInfo mLoadingEntry;
// Holds a weak pointer to a RestorePresentationEvent object if any that @@ -1309,6 +1318,12 @@ class nsDocShell final : public nsDocLoader, // Whether we have a pending encoding autodetection request from the // menu for all encodings. bool mForcedAutodetection : 1; + + // Whether mBrowsingContext->SetActiveSessionHistoryEntry() needs to be called + // when the loading entry becomes the active entry. This is used for the + // initial about:blank-replacing about:blank in order to make the history + // length WPTs pass. + bool mNeedToReportActiveAfterLoadingBecomesActive : 1; };
#endif /* nsDocShell_h__ */ diff --git a/docshell/shistory/SessionHistoryEntry.cpp b/docshell/shistory/SessionHistoryEntry.cpp index 0361fb0c28c58..509955485108e 100644 --- a/docshell/shistory/SessionHistoryEntry.cpp +++ b/docshell/shistory/SessionHistoryEntry.cpp @@ -355,6 +355,10 @@ LoadingSessionHistoryInfo::LoadingSessionHistoryInfo( SessionHistoryEntry::sLoadIdToEntry->Get(mLoadId) == aEntry); }
+LoadingSessionHistoryInfo::LoadingSessionHistoryInfo( + const SessionHistoryInfo& aInfo) + : mInfo(aInfo), mLoadId(UINT64_MAX) {} + already_AddRefed<nsDocShellLoadState> LoadingSessionHistoryInfo::CreateLoadInfo() const { RefPtr<nsDocShellLoadState> loadState( @@ -1195,7 +1199,7 @@ void SessionHistoryEntry::AddChild(SessionHistoryEntry* aChild, int32_t aOffset, // This should ideally stop being an issue once the Fission-aware // session history rewrite is complete. NS_ASSERTION( - aUseRemoteSubframes, + aUseRemoteSubframes || NS_IsAboutBlank(oldChild->Info().GetURI()), "Adding a child where we already have a child? This may misbehave"); oldChild->SetParent(nullptr); } diff --git a/docshell/shistory/SessionHistoryEntry.h b/docshell/shistory/SessionHistoryEntry.h index a05fa42a2a94a..2fa195cf3b8f0 100644 --- a/docshell/shistory/SessionHistoryEntry.h +++ b/docshell/shistory/SessionHistoryEntry.h @@ -217,6 +217,9 @@ struct LoadingSessionHistoryInfo { LoadingSessionHistoryInfo(SessionHistoryEntry* aEntry, LoadingSessionHistoryInfo* aInfo);
+ // For about:blank only. + explicit LoadingSessionHistoryInfo(const SessionHistoryInfo& aInfo); + already_AddRefed<nsDocShellLoadState> CreateLoadInfo() const;
SessionHistoryInfo mInfo; diff --git a/dom/base/nsObjectLoadingContent.cpp b/dom/base/nsObjectLoadingContent.cpp index 788663016e918..db3297eb69e76 100644 --- a/dom/base/nsObjectLoadingContent.cpp +++ b/dom/base/nsObjectLoadingContent.cpp @@ -1758,6 +1758,15 @@ nsresult nsObjectLoadingContent::CloseChannel() { return NS_OK; }
+bool nsObjectLoadingContent::IsAboutBlankLoadOntoInitialAboutBlank( + nsIURI* aURI, bool aInheritPrincipal, nsIPrincipal* aPrincipalToInherit) { + return NS_IsAboutBlank(aURI) && aInheritPrincipal && + (!mFrameLoader || !mFrameLoader->GetExistingDocShell() || + mFrameLoader->GetExistingDocShell() + ->IsAboutBlankLoadOntoInitialAboutBlank(aURI, aInheritPrincipal, + aPrincipalToInherit)); +} + nsresult nsObjectLoadingContent::OpenChannel() { nsCOMPtr<nsIContent> thisContent = do_QueryInterface(static_cast<nsIImageLoadingContent*>(this)); @@ -1830,7 +1839,9 @@ nsresult nsObjectLoadingContent::OpenChannel() { loadInfo->SetCSPToInherit(cspToInherit); }
- if (DocumentChannel::CanUseDocumentChannel(mURI)) { + if (DocumentChannel::CanUseDocumentChannel(mURI) && + !IsAboutBlankLoadOntoInitialAboutBlank(mURI, inheritPrincipal, + thisContent->NodePrincipal())) { // --- Create LoadState RefPtr<nsDocShellLoadState> loadState = new nsDocShellLoadState(mURI); loadState->SetPrincipalToInherit(thisContent->NodePrincipal()); diff --git a/dom/base/nsObjectLoadingContent.h b/dom/base/nsObjectLoadingContent.h index 37bfd96ae0cf2..efe0b610be427 100644 --- a/dom/base/nsObjectLoadingContent.h +++ b/dom/base/nsObjectLoadingContent.h @@ -371,6 +371,12 @@ class nsObjectLoadingContent : public nsImageLoadingContent, */ void QueueCheckPluginStopEvent();
+ public: + bool IsAboutBlankLoadOntoInitialAboutBlank(nsIURI* aURI, + bool aInheritPrincipal, + nsIPrincipal* aPrincipalToInherit); + + private: /** * Opens the channel pointed to by mURI into mChannel. */ diff --git a/netwerk/ipc/DocumentChannel.cpp b/netwerk/ipc/DocumentChannel.cpp index 4dfa0eddf8ca7..2d566c6451986 100644 --- a/netwerk/ipc/DocumentChannel.cpp +++ b/netwerk/ipc/DocumentChannel.cpp @@ -154,8 +154,6 @@ nsDocShell* DocumentChannel::GetDocShell() { return nsDocShell::Cast(docshell); }
-// Changes here should also be made in -// E10SUtils.documentChannelPermittedForURI(). static bool URIUsesDocChannel(nsIURI* aURI) { if (SchemeIsJavascript(aURI)) { return false; diff --git a/testing/web-platform/tests/html/browsers/browsing-the-web/history-traversal/history-traversal-navigate-parent-while-child-loading.html b/testing/web-platform/tests/html/browsers/browsing-the-web/history-traversal/history-traversal-navigate-parent-while-child-loading.html index 44ba631cf0028..2b70375a14358 100644 --- a/testing/web-platform/tests/html/browsers/browsing-the-web/history-traversal/history-traversal-navigate-parent-while-child-loading.html +++ b/testing/web-platform/tests/html/browsers/browsing-the-web/history-traversal/history-traversal-navigate-parent-while-child-loading.html @@ -10,10 +10,10 @@ async_test(t => { i.src = iframe_url;
history.pushState("a", "", "#a"); - assert_equals(starting_history_length + 1, history.length); + assert_equals(history.length, starting_history_length + 1, "First history length");
i.onload = t.step_func(() => { - assert_equals(starting_history_length + 1, history.length); + assert_equals(history.length, starting_history_length + 1, "Second history length"); assert_equals(i.contentWindow.location.href, iframe_url); assert_equals(location.hash, "#a"); history.back(); diff --git a/testing/web-platform/tests/html/browsers/browsing-the-web/navigating-across-documents/empty-iframe-load-event.html b/testing/web-platform/tests/html/browsers/browsing-the-web/navigating-across-documents/empty-iframe-load-event.html new file mode 100644 index 0000000000000..b9108f9937701 --- /dev/null +++ b/testing/web-platform/tests/html/browsers/browsing-the-web/navigating-across-documents/empty-iframe-load-event.html @@ -0,0 +1,39 @@ +<!doctype html> +<title>load event for empty iframe in relation to the event loop</title> +<script src=/resources/testharness.js></script> +<script src=/resources/testharnessreport.js></script> +<script> +setup({explicit_done:true}); +let ran = false; + +onload = function() { + let iframe = document.createElement("iframe"); + iframe.onload = function() { + test(function() { + assert_equals(ran, false, 'Expected onload to run first'); + }, "Check execution order on load handler"); + if (ran) { + done(); + } else { + ran = true; + } + }; + document.body.appendChild(iframe); + + // Nested timeout to accommodate Gecko, because the it seems + // the outer setTimeout takes its slot in the event queue right away + // but the load event task takes its slot only at the end of this script. + setTimeout(function() { + setTimeout(function() { + test(function() { + assert_equals(ran, true, 'Expected nested setTimeout to run second'); + }, "Check execution order from nested timeout"); + if (ran) { + done(); + } else { + ran = true; + } + }); + }); +}; +</script> diff --git a/toolkit/components/aboutprocesses/tests/browser/head.js b/toolkit/components/aboutprocesses/tests/browser/head.js index 9e98a404bc0e8..a8f1b82ae2f97 100644 --- a/toolkit/components/aboutprocesses/tests/browser/head.js +++ b/toolkit/components/aboutprocesses/tests/browser/head.js @@ -415,15 +415,16 @@ async function testAboutProcessesWithConfig({ showAllFrames, showThreads }) { skipAnimation: true, }); await BrowserTestUtils.browserLoaded(tab.linkedBrowser); + let p = BrowserTestUtils.browserLoaded( + tab.linkedBrowser, + true /* includeSubFrames */ + ); await SpecialPowers.spawn(tab.linkedBrowser, [], async () => { // Open an in-process iframe to test toolkit.aboutProcesses.showAllSubframes let frame = content.document.createElement("iframe"); content.document.body.appendChild(frame); }); - await BrowserTestUtils.browserLoaded( - tab.linkedBrowser, - true /* includeSubFrames */ - ); + await p; return tab; })();
This is an automated email from the git hooks/post-receive script.
richard pushed a commit to branch tor-browser-91.8.0esr-11.0-1 in repository tor-browser.
commit 46bf5796b19eface0f79ed4d24e33e2a8eaa320a Author: Stephen A Pohl spohl.mozilla.bugs@gmail.com AuthorDate: Tue Mar 15 16:03:11 2022 +0000
Bug 1663508: Handle interruptions of drag sessions more gracefully on macOS. r=mstange a=RyanVM
Differential Revision: https://phabricator.services.mozilla.com/D140796 --- widget/cocoa/nsDragService.mm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/widget/cocoa/nsDragService.mm b/widget/cocoa/nsDragService.mm index cab6fc5172b82..d2c0605b1ad9e 100644 --- a/widget/cocoa/nsDragService.mm +++ b/widget/cocoa/nsDragService.mm @@ -42,7 +42,7 @@ extern bool gUserCancelledDrag;
// This global makes the transferable array available to Cocoa's promised // file destination callback. -nsIArray* gDraggedTransferables = nullptr; +mozilla::StaticRefPtr<nsIArray> gDraggedTransferables;
NSString* const kPublicUrlPboardType = @"public.url"; NSString* const kPublicUrlNamePboardType = @"public.url-name";
This is an automated email from the git hooks/post-receive script.
richard pushed a commit to branch tor-browser-91.8.0esr-11.0-1 in repository tor-browser.
commit e28c435a505a0f64372c18219473b5516f33be64 Author: ffxbld ffxbld@mozilla.com AuthorDate: Mon Mar 21 11:00:55 2022 +0000
No Bug, mozilla-esr91 repo-update HSTS HPKP remote-settings tld-suffixes - a=repo-update r=RyanVM
Differential Revision: https://phabricator.services.mozilla.com/D141588 --- netwerk/dns/effective_tld_names.dat | 1 + security/manager/ssl/StaticHPKPins.h | 2 +- security/manager/ssl/nsSTSPreloadList.inc | 240 ++++++-------- .../dumps/blocklists/addons-bloomfilters.json | 61 ++++ .../settings/dumps/main/search-telemetry-v2.json | 64 ++-- .../dumps/security-state/intermediates.json | 346 +++++++++++++++------ 6 files changed, 454 insertions(+), 260 deletions(-)
diff --git a/netwerk/dns/effective_tld_names.dat b/netwerk/dns/effective_tld_names.dat index 4109bedbdd017..27cdda89494a4 100644 --- a/netwerk/dns/effective_tld_names.dat +++ b/netwerk/dns/effective_tld_names.dat @@ -11987,6 +11987,7 @@ independent-panel.uk independent-review.uk public-inquiry.uk royal-commission.uk +campaign.gov.uk service.gov.uk
// CDDO : https://www.gov.uk/guidance/get-an-api-domain-on-govuk diff --git a/security/manager/ssl/StaticHPKPins.h b/security/manager/ssl/StaticHPKPins.h index 7fa4d38abb5ac..db57761a107c1 100644 --- a/security/manager/ssl/StaticHPKPins.h +++ b/security/manager/ssl/StaticHPKPins.h @@ -1149,4 +1149,4 @@ static const TransportSecurityPreload kPublicKeyPinningPreloadList[] = {
static const int32_t kUnknownId = -1;
-static const PRTime kPreloadPKPinsExpirationTime = INT64_C(1655981447060000); +static const PRTime kPreloadPKPinsExpirationTime = INT64_C(1656326996873000); diff --git a/security/manager/ssl/nsSTSPreloadList.inc b/security/manager/ssl/nsSTSPreloadList.inc index f664e4651c89e..f7347acfd1015 100644 --- a/security/manager/ssl/nsSTSPreloadList.inc +++ b/security/manager/ssl/nsSTSPreloadList.inc @@ -8,7 +8,7 @@ /*****************************************************************************/
#include <stdint.h> -const PRTime gPreloadListExpirationTime = INT64_C(1658400639549000); +const PRTime gPreloadListExpirationTime = INT64_C(1658746189115000); %% 0--1.de, 1 0-1.party, 1 @@ -1471,7 +1471,6 @@ const PRTime gPreloadListExpirationTime = INT64_C(1658400639549000); 1password.eu, 1 1picture.hu, 1 1pieces.com, 1 -1plus-agency.com, 1 1plus.red, 1 1pluss.ee, 1 1pw.ca, 1 @@ -1973,7 +1972,6 @@ const PRTime gPreloadListExpirationTime = INT64_C(1658400639549000); 2fm.ie, 1 2fm.radio, 1 2fr3.com, 1 -2fraud.pro, 1 2g1s.net, 1 2gen.com, 1 2gether.fr, 1 @@ -2456,7 +2454,6 @@ const PRTime gPreloadListExpirationTime = INT64_C(1658400639549000); 365ypw.com, 1 365yuwen.com, 1 365zg.org, 1 -3666ks.com, 1 369369.xyz, 1 369az.com, 1 369bk.com, 1 @@ -2749,12 +2746,12 @@ const PRTime gPreloadListExpirationTime = INT64_C(1658400639549000); 3niu61.com, 1 3niu62.com, 1 3niu64.com, 1 -3niu66.com, 1 3niu666.com, 1 3niu668.com, 1 3niu7.com, 1 3niu8.com, 1 3niu88.com, 1 +3niu888.com, 1 3niu9.com, 1 3niu99.com, 1 3niusurl.com, 1 @@ -5747,7 +5744,6 @@ const PRTime gPreloadListExpirationTime = INT64_C(1658400639549000); 9k898.com, 1 9k899.com, 1 9kb.xyz, 1 -9kopb.ru, 0 9lab.jp, 1 9pkfz.com, 1 9point6.com, 1 @@ -6134,7 +6130,6 @@ abitextra.org, 1 abitidalavoro.roma.it, 1 abitidasposa.roma.it, 1 abiturma.de, 1 -abjay.com, 1 abkhazianews.tk, 1 ablebits.com, 1 ablecha.tk, 1 @@ -6153,7 +6148,6 @@ abnobapetstore.co.uk, 1 abnradiofm.tk, 1 aboces.org, 1 aboderenovation.co.uk, 0 -abogadamediadora.es, 1 abogadoperu.com, 1 abogadophd.com, 1 abogadoscav.com, 1 @@ -6899,6 +6893,7 @@ adenhurra.ml, 1 adenoma.tk, 1 adenopatia.com, 1 adenos.in, 1 +adenplus1.com, 1 adentalsolution.com, 0 adeon.ml, 1 adept-elearning.com, 1 @@ -6989,7 +6984,6 @@ adminova.tk, 1 adminresurs.tk, 1 adminrezo.fr, 1 adminton.eu, 1 -admirable.pro, 0 admiralshipsupplier.com, 0 admody.com, 1 admongo.gov, 1 @@ -7125,7 +7119,6 @@ adultshop.com.au, 1 adultwebcams1.com, 1 adurra.com, 1 adutoras.com.br, 1 -aduvi.de, 1 adv.cr, 1 advair-generic.ga, 1 advairgeneric.ga, 1 @@ -8905,7 +8898,6 @@ alexandraschmidt.coach, 1 alexandrastrauss.fr, 1 alexandrawett.net, 1 alexandre-acaries.fr, 1 -alexandre-barret.fr, 1 alexandre-gallais.fr, 1 alexandreguarita.com.br, 1 alexandremottier.tk, 1 @@ -9300,7 +9292,6 @@ allfundsconnect.com, 1 allgadgetsfree.tk, 1 allgaragefloors.com, 1 allgemeinarzt-wenta-bralla.de, 1 -allgolfreviews.com, 1 allgooddeedshomes.com, 1 allgrass.net, 1 allgreek.tk, 1 @@ -10803,7 +10794,6 @@ animestreamingfr.fr, 1 animetosho.org, 1 animetriad.com, 1 animewallpapers.tk, 1 -animorphsfanforum.com, 1 animoxavilorza.tk, 1 aninews.tk, 1 anip.icu, 1 @@ -10943,6 +10933,7 @@ annuncisesso.tk, 1 annyaurora.net, 1 annynantasiri.com, 1 anodas.lt, 1 +anohana.org, 1 anojan.com, 1 anomalous.eu, 1 anomaly.tk, 1 @@ -12609,6 +12600,7 @@ ascension.run, 1 ascensiongt.com, 1 ascensionparishla.gov, 1 ascensori.biz, 1 +ascgathering.com, 1 aschaefer.net, 0 aschismatic.com, 1 aschool.kiev.ua, 1 @@ -13013,7 +13005,6 @@ atafu-village.tk, 1 atahualpa.com, 1 atakac.com, 1 atalarmedya.com, 0 -atallo.es, 1 atanas.ch, 1 atarinew.tk, 1 atary.tk, 1 @@ -14253,7 +14244,6 @@ ayerssuitesmillsmall.com, 1 ayesh.win, 1 ayhankaraman.com, 1 ayj.solutions, 1 -aykonet.de, 1 aykutcevik.com, 1 aykyamultifest.com, 1 aylak.com, 1 @@ -15168,6 +15158,7 @@ baltimorecashflow.com, 1 baltimorejetcharter.com, 1 baltimoreroofingservices.com, 1 bam.com.gt, 1 +bamaagahi.ir, 1 bamahammer.com, 1 bamaland.org, 1 bamberger-maelzerei.de, 1 @@ -15766,7 +15757,7 @@ bazaart.me, 1 bazaclub.ru, 0 bazar-online.tk, 1 bazar-pc.tk, 1 -bazar.bg, 1 +bazar.bg, 0 bazardunet.tk, 1 bazarfds.com.br, 1 bazari.com.pl, 1 @@ -16832,7 +16823,6 @@ besthemes.tk, 1 besthobi.com, 1 besthorsebedding.com, 1 besthost.cz, 1 -besthotsales.com, 1 besthumorsite.tk, 1 besti.it, 1 bestiahosting.com, 1 @@ -17083,20 +17073,20 @@ bet333111.com, 1 bet333123.com, 1 bet333222.com, 1 bet333321.com, 1 -bet333345.com, 1 +bet333345.com, 0 bet333432.com, 0 bet333444.com, 1 bet333456.com, 1 bet333567.com, 1 bet333666.com, 1 bet333678.com, 1 -bet333789.com, 1 +bet333789.com, 0 bet333876.com, 1 bet333987.com, 1 -bet333999.com, 1 +bet333999.com, 0 bet333h.com, 1 -bet333i.com, 1 -bet333j.com, 1 +bet333i.com, 0 +bet333j.com, 0 bet333k.com, 1 bet333l.com, 1 bet333m.com, 1 @@ -17104,7 +17094,7 @@ bet333n.com, 1 bet333o.com, 1 bet333p.com, 1 bet333q.com, 1 -bet333r.com, 1 +bet333r.com, 0 bet333s.com, 1 bet333t.com, 1 bet333u.com, 1 @@ -18472,6 +18462,7 @@ bkamp.de, 1 bkentertainments.co.uk, 1 bkgatl.com, 1 bkhpilates.co.uk, 1 +bkkf.at, 1 bkkposn.com, 1 bkl-ca-qa-employeeapp.azurewebsites.net, 1 bklaindia.com, 1 @@ -18573,7 +18564,6 @@ blackgamelp.de, 1 blackgate.org, 1 blackhail.tk, 1 blackhat.dk, 1 -blackhat.nz, 0 blackheads.tk, 1 blackhealthwealth.com, 1 blackhelicopters.net, 1 @@ -18914,6 +18904,7 @@ blogreen.org, 1 blogsnote.xyz, 1 blogspasest.ga, 1 blogstar.tk, 1 +blogtechnologiczny.pl, 1 blogthetindung.com, 1 blogtroterzy.pl, 1 bloguser.ru, 1 @@ -19423,7 +19414,6 @@ bonnevillecountyidaho.gov, 1 bonniecoloring.com, 1 bonniedraw.com, 1 bonniekitchen.com, 1 -bonnieradvocaten.nl, 1 bonniestylez.net, 1 bonnsustainabilityportal.de, 1 bonnydevil.com, 1 @@ -19737,7 +19727,6 @@ bounceawaycastles.com, 1 bouncebackcastles.co.uk, 1 bouncebookings.com.au, 1 bouncecrazy.ie, 1 -bouncejumpboston.co.uk, 1 bouncemaniaevents.co.uk, 1 bouncemaniainflatables.co.uk, 1 bouncenortheast.co.uk, 1 @@ -19758,6 +19747,7 @@ bouncingbuddiesleicester.co.uk, 1 bouncingbuzzybees.co.uk, 1 bouncinghigher.co.uk, 1 bouncingscotland.com, 1 +bouncourseplanner.net, 1 bouncy-castles-surrey.co.uk, 1 bouncy-tots.co.uk, 1 bouncybaileys.co.uk, 1 @@ -20107,7 +20097,6 @@ brau-ingenieur.de, 1 braudoktor.de, 1 brauer-augenoptik.de, 1 brauingenieur.de, 1 -braun-soddisfattiorimborsati.it, 1 braunbergerfreelance.com, 1 braunsteinpc.com, 1 braunwarth.info, 0 @@ -20710,6 +20699,7 @@ bsdunix.xyz, 1 bserved.de, 0 bsf-knowledgecity.com, 1 bsg.ro, 1 +bsgamanet.ro, 1 bsgcredit.ro, 1 bsidesf.com, 1 bsidesf.org, 1 @@ -21565,6 +21555,7 @@ buyhydrochlorothiazide.ml, 1 buyingstatus.com, 1 buyingtvsers.ga, 1 buyingtvsest.ga, 1 +buyitmalta.online, 1 buyitnowfast.com, 1 buyjewel.shop, 1 buylasix.ml, 1 @@ -23804,7 +23795,6 @@ celendo.ga, 1 celeraindustries.tk, 1 celestebonito.pt, 1 celestia.tk, 1 -celestialenergies.com.au, 1 celestialisms.com, 1 celestialmusic.tk, 1 celex-machinery.tk, 1 @@ -24803,7 +24793,6 @@ chinacdn.org, 1 chinafree.online, 1 chinafree.site, 1 chinahealthcareblog.cf, 1 -chinahighlights.ru, 1 chinaicpower.org, 0 chinalosers.com, 1 chinamextrading.com, 1 @@ -26317,6 +26306,7 @@ cm-agueda.pt, 1 cm-loures.pt, 1 cm-penalvadocastelo.pt, 1 cm-pombal.pt, 1 +cm-portimao.pt, 1 cm-terrasdebouro.pt, 0 cm-valenca.pt, 0 cm-vpaguiar.pt, 1 @@ -26383,6 +26373,7 @@ cncollege.tk, 1 cncr.ga, 1 cncrans.ch, 0 cncs.gob.do, 1 +cncs.gov.pt, 1 cnet-hosting.com, 1 cnetw.xyz, 1 cnexchange.com, 1 @@ -27590,7 +27581,6 @@ contractstore.com, 1 contractwriters.com, 1 contrafactos.tk, 1 contralaespeculacioninmobiliaria.tk, 1 -contralegem.it, 1 contrapeso.es, 1 contrarreforma.tk, 1 contraspin.co.nz, 1 @@ -27705,7 +27695,6 @@ coolprylar.se, 1 coolsculptingmanhattanbeach.com, 1 coolshirt.tk, 1 coolsoftware.tk, 1 -coolspring8.com, 1 cooltang.ooo, 1 coolvox.com, 1 coolwaterevergreendrilling.com, 1 @@ -29477,6 +29466,7 @@ cyberinc.nl, 1 cyberislam.tk, 1 cyberium-planet.cf, 1 cyberkov.com, 0 +cyberlab.team, 1 cyberlin.org, 1 cyberlounge.ga, 1 cybermall.ga, 1 @@ -31913,7 +31903,6 @@ detakhukum.com, 1 detale.eu, 1 detalhecomercio.com.br, 1 detalika.ru, 1 -detao.org, 1 detc.tk, 1 detdom.tk, 1 detecmon.com, 1 @@ -32177,7 +32166,6 @@ dfc.gov, 1 dfc52.com, 0 dfctaiwan.org, 1 dfekt.no, 1 -dfepharma.com, 1 dflcares.com, 1 dfmn.berlin, 1 dfmvf.org, 1 @@ -34668,7 +34656,6 @@ dreamqueen.tk, 1 dreamreality.tk, 1 dreams-2-reality.com, 1 dreamsea.tk, 1 -dreamsinbits.com, 1 dreamsindigital.tk, 1 dreamsjob.cf, 1 dreamsofalostsoul.tk, 1 @@ -34788,7 +34775,6 @@ driveexport.com, 1 driveforact.com, 1 driveforadtransport.com, 1 driveforartur.com, 1 -drivehub.win, 1 drivemorganvanlines.com, 1 driven2shine.eu, 1 drivenes.net, 1 @@ -35701,6 +35687,7 @@ e-virtus.com, 1 e-webos.com, 1 e-wishlist.net, 1 e-worksmedia.com, 0 +e-x-p-l-o-r-a-d-o-r-e-s.com, 1 e-yachts.tk, 1 e-zine.tk, 1 e.gg, 1 @@ -36306,6 +36293,7 @@ ebjork.se, 1 ebki-nsn.gov, 1 eblan.gq, 1 eblog.cf, 1 +eblog.ink, 1 ebola-hosting.cz, 1 ebolacharts.ga, 1 ebolavirus.tk, 1 @@ -37283,6 +37271,7 @@ electricdosvientos.com, 1 electricdreams.xyz, 1 electricfencingballito.co.za, 1 electricfencinghillcrest.co.za, 1 +electricfencingkloof.co.za, 1 electricfencingpinetown.co.za, 1 electricfireplaces.tk, 1 electricgatemotorsalberton.co.za, 1 @@ -37598,7 +37587,6 @@ eliteco.tk, 1 elitedns.info, 1 elitegameservers.net, 1 elitehouse.tk, 1 -elitel.nl, 1 elitelatinas.com, 1 elitelounge.tk, 1 elitemud.tk, 1 @@ -37614,6 +37602,7 @@ elithub.com, 1 elitsa.gr, 1 elivenet.com, 1 elixi.re, 1 +elixir.bzh, 1 elizabethbuitrago.com, 1 elizabethgreenfield.com, 1 elizabethmacdonaldbooks.com, 1 @@ -37730,7 +37719,7 @@ elreportero.tk, 1 elri.blog, 1 elrincondelotaku.tk, 1 elrincondeltrabajo.com, 0 -elrinconderovica.com, 1 +elrinconderovica.com, 0 elrubio.tk, 1 elsadonaire.tk, 1 elsas.tk, 1 @@ -37957,6 +37946,7 @@ emmababy420.com, 1 emmadreams.net, 1 emmagarland.com, 1 emmajayne.tk, 1 +emmaliddell.com, 0 emmanuelle-et-julien.ch, 1 emmanuellecerat.ca, 1 emmanuelorocker.com, 1 @@ -39074,7 +39064,6 @@ eshoprzd.ru, 1 eshspotatoes.com, 1 eshtapay.com, 1 esiac.net, 1 -esibun.net, 1 esiefektivs.lv, 1 esigmbh.de, 1 esignandpay.net, 1 @@ -39937,6 +39926,7 @@ examedge.com, 1 examika.ru, 1 examlab.tk, 1 exampleessays.com, 1 +examroll.com, 1 examroll.fr, 1 examroll.io, 1 examroo.nl, 1 @@ -40199,7 +40189,6 @@ extendwings.com, 1 extensia.it, 1 extensibility.biz.tr, 1 extensiblewebmanifesto.org, 1 -extensiblewebreportcard.org, 1 extensiblewebsummit.org, 1 extensionciglia.roma.it, 1 extensionschallenge.com, 1 @@ -40493,7 +40482,6 @@ faapart107certifiedpilot.com, 1 faazmusic.com, 1 fabbro-roma.org, 1 fabbro.roma.it, 1 -fabdiz.com, 1 fabelturen.tk, 1 faber.org.ru, 0 faberoclub.tk, 1 @@ -41857,6 +41845,7 @@ fiataldivat.hu, 1 fiberoptikz.tk, 1 fibery.io, 1 fibo-forex.org, 1 +fibra.click, 1 fibrasynormasdecolombia.com, 1 fibretv.co.nz, 1 fibretv.tv, 1 @@ -43067,8 +43056,8 @@ fmlife.tk, 1 fmm-creative.com, 1 fmn.nl, 1 fmodoux.biz, 0 -fmorales.com, 1 -fmorales.com.ni, 1 +fmorales.com, 0 +fmorales.com.ni, 0 fmovies.qa, 1 fmplus.cl, 1 fmquiero.cl, 1 @@ -43621,6 +43610,7 @@ fortunenamesest.ga, 1 forty-two.ml, 1 forty-two.nl, 1 forty.sh, 1 +forty8creates.com, 1 fortygordy.com, 1 fortytwo.cloud, 1 fortytwo.tk, 1 @@ -44015,6 +44005,7 @@ franklincountyflorida.gov, 1 franklincountyia.gov, 1 franklincountyny.gov, 1 franklinhua.com, 1 +frankopol-sklep.pl, 1 franksiler.com, 1 frankslaughterinsurance.com, 1 frankthetank.biz, 1 @@ -45354,7 +45345,6 @@ gagramore.cf, 1 gagygnole.ch, 0 gaiafood.co, 1 gaiavanderzeyp.com, 0 -gaigai.com, 1 gaijin.network, 1 gaijin.systems, 1 gaijinsystems.com, 1 @@ -45539,6 +45529,7 @@ gamegrad.tk, 1 gameharbor.eu, 1 gamehighquality.tk, 1 gameimani.ga, 1 +gameindustry.eu, 1 gameisbest.jp, 1 gamejobs.co, 1 gamekb.gq, 1 @@ -46281,7 +46272,6 @@ geneve.guide, 1 genevoise-entretien.ch, 0 genfaerd.dk, 1 genghan.com, 1 -gengive-smalto-oralb.it, 1 genhu.com.ar, 1 genia-life.de, 1 genie.tk, 1 @@ -47310,7 +47300,6 @@ glixee.com, 1 glk.academy, 1 glloq.org, 0 glnpo.gov, 1 -gloalerts.com, 1 global-adult-webcams.com, 1 global-business-solutions.cf, 1 global-electronic-music.tk, 1 @@ -47668,7 +47657,6 @@ goettinger-katzenschutz.de, 1 goetzinger-web.de, 1 goffrie.com, 1 gofigure.fr, 0 -gofile.io, 1 goflo.net, 1 gofobo.com, 1 gofoiayourself.org, 1 @@ -48188,6 +48176,7 @@ gps.com.br, 1 gpsarena.ro, 1 gpsblackbox.com, 1 gpsfix.cz, 1 +gpsmith.tech, 1 gpsnavigator.tk, 1 gpsolarpanels.com, 1 gpspolis.nl, 1 @@ -48349,6 +48338,7 @@ granpoder-islacristina.tk, 1 granstrom.tk, 1 grantashqg.com, 1 grantcooper.com, 1 +grantdb.ca, 1 grantmorrison.net, 1 grantsmasters.com, 1 graonatural.com.br, 0 @@ -49737,6 +49727,7 @@ halageorgia.com, 1 halagroup.ml, 1 halbbit.eu, 1 halbich.design, 1 +halbowman.com, 1 halcraft.tk, 1 halcyonsbastion.com, 1 halcyonyachts.com, 1 @@ -51536,7 +51527,6 @@ hh9397.com, 1 hh9721.com, 0 hh9728.co, 1 hhhdb.com, 1 -hhidr.org, 1 hhl.de, 1 hhpsummit.com, 1 hhristov.tk, 1 @@ -51823,6 +51813,8 @@ hirotaka.org, 1 hirsch-lawyer.tk, 1 hirschl.eu, 1 hirte-digital.de, 0 +hirtz.pm, 1 +hirtzfr.eu, 1 hiru.info, 1 hirunet.ml, 1 hisax.de, 1 @@ -52135,7 +52127,6 @@ hogwarts.io, 1 hogyerzedmagad.hu, 1 hohenleimbach.de, 1 hohenpoelz.de, 1 -hohm.in, 1 hohma.tk, 1 hohnet.com, 0 hoikin.tk, 1 @@ -52251,7 +52242,6 @@ holytransaction.com, 1 holyubofficial.net, 1 holywhite.com, 1 holywr.it, 1 -holz.nu, 1 holzed.com, 1 holzschutz-holzbearbeitung.de, 1 holzspielzeug-shop.ch, 1 @@ -52694,7 +52684,6 @@ horo.me, 0 horoca.net, 1 horochx.org, 0 horodance.dk, 1 -horos.es, 1 horoscopimages.tk, 1 horoscopos-amor.com, 0 horotoday.tk, 1 @@ -53026,7 +53015,7 @@ howlinhawk.tk, 1 howlongtobeatsteam.com, 1 howmanymilesfrom.com, 1 howmanypeoplearethereinthe.world, 1 -howmanypeoplearethereintheworld.com, 1 +howmanypeoplearethereintheworld.com, 0 howmuch.cf, 1 howmuch.ga, 1 howoldisjava8.today, 1 @@ -53137,6 +53126,7 @@ hrmn.xyz, 1 hrndz.io, 1 hro.to, 1 hrobert.hu, 1 +hroling.nl, 1 hromaticworld.tk, 1 hroschyk.cz, 1 hrpage.ml, 1 @@ -54059,9 +54049,9 @@ icollezionisti.com, 1 icolorpalette.com, 1 icon-art.nl, 1 icon-programming.tk, 1 -iconecoiffure.ca, 1 iconintegration.com.au, 1 iconoarte.tk, 1 +iconomi.net, 1 icons4free.tk, 1 iconworld.ml, 1 iconx.ml, 1 @@ -54765,7 +54755,6 @@ imamenu.com, 1 imanageproducts.co.uk, 1 imanageproducts.com, 1 imanageproducts.uk, 1 -imanet.cl, 1 imanolbarba.net, 1 imap.support, 1 imap2imap.de, 1 @@ -55282,6 +55271,7 @@ inevitavelbrasil.com.br, 1 inex.one, 1 inexlog.fr, 1 inexpensivecomputers.net, 1 +inextmovies.link, 1 ineztheminiatureelephant.com, 1 inf-fusion.ca, 1 inf0sec.nl, 1 @@ -55706,7 +55696,6 @@ inmucrom.es, 1 inmueblescartagena.com.co, 1 inmusicfestival.com, 1 inmyhead.tk, 1 -innabilawgroup.com, 1 innainnaki.net, 1 innatocol.com, 1 inncoaching.nl, 1 @@ -55839,7 +55828,6 @@ insiders.ga, 1 insiderx.com, 1 insidethefirewall.tk, 1 insidetheigloo.com, 1 -insidevice.com, 1 insighti.com, 1 insights.is, 1 insights.plus, 1 @@ -55973,7 +55961,6 @@ inszu.com, 0 int-ext-design.fr, 1 int.icu, 1 int64software.com, 1 -inta-aivn.org, 1 intab.io, 1 intafe.co.jp, 1 intakesync.com, 1 @@ -56443,6 +56430,7 @@ iopool.us, 1 iorgroup.org, 1 ios11018.com, 1 iosartstudios.gr, 1 +iosbankermyanmar.com, 1 iosecurity.co.za, 1 iosjailbreakiphone.com, 1 ioslo.net, 1 @@ -56523,6 +56511,7 @@ ipggroup.com, 1 iphonesoft.fr, 1 iphoneunlock.nu, 1 iphostreputation.com, 1 +ipid.me, 1 ipigri.tk, 1 ipinfo.tw, 1 ipioneer.ga, 1 @@ -57211,6 +57200,7 @@ itmx.cc, 1 itn.co.uk, 1 itnota.com, 1 itnow.ng, 1 +itnrd.com, 0 itochan.jp, 1 itogoyomi.com, 1 itoma.tech, 1 @@ -57446,6 +57436,7 @@ izabel.tk, 1 izamulhakeem.tk, 1 izanagi52.ddns.net, 1 izavel.com, 1 +izdaher.com, 1 izecubz.me, 1 izilife.co, 1 izipik.gq, 1 @@ -57658,7 +57649,6 @@ jacquesfrantz.com, 1 jaculus.eu, 1 jacuzziprozone.com, 1 jadara.info, 1 -jadaun.com, 1 jadchaar.me, 1 jadeannehunt.co.za, 1 jadedmonkey.tk, 1 @@ -57889,7 +57879,6 @@ jannekekaasjager.nl, 1 jannes-althoff.de, 1 jannesmeyer.com, 1 jannisfink.de, 1 -jannyrijneveld.nl, 1 janokacer.sk, 1 janome.club, 1 janome.com.ua, 1 @@ -58130,6 +58119,7 @@ jbsinternational.com, 1 jbsoftware.ca, 1 jbt-stl.com, 1 jcadg.com, 1 +jcai.dk, 1 jcaicedo.com, 1 jcaicedo.tk, 1 jcb.com, 1 @@ -59095,6 +59085,7 @@ jonale.net, 1 jonandnoraswedding.com, 1 jonas-thelemann.de, 1 jonas.me, 1 +jonasberger.com, 1 jonasbrothers-la-jonaticas.tk, 1 jonasdiego.tk, 1 jonasherkel.de, 1 @@ -59400,7 +59391,6 @@ jpshop.ru, 1 jpsinflatables.co.uk, 1 jpslconsulting.ca, 1 jpst.it, 1 -jpvermogensregie.com, 1 jqlin.com, 1 jqlsql.com, 1 jquery.wtf, 1 @@ -59880,7 +59870,7 @@ jzbk.org, 0 jzcapital.co, 1 jzeb.co, 1 jzeg.net, 1 -jzgj088.com, 1 +jzgj088.com, 0 jztkft.hu, 1 jzwebdesign.ie, 1 k-bone.com, 1 @@ -60158,6 +60148,7 @@ kaileymslusser.com, 0 kaimi.io, 1 kainelaw.com, 1 kainetsoft.com, 1 +kainsanders.com, 1 kainz.be, 1 kaioken.bar, 1 kaipel.de, 1 @@ -60378,7 +60369,7 @@ kangutingo.com, 0 kangzaber.com, 1 kanis.ag, 1 kanis.me, 1 -kanitha.sk, 1 +kanitha.sk, 0 kankakeecountyclerk.gov, 1 kanker.nl, 1 kankerpannekoek.nl, 1 @@ -60735,7 +60726,6 @@ kaufkraftkiel.de, 1 kauperwood.ovh, 1 kausharach.tk, 1 kausta.me, 1 -kaustubhalandkar.com, 1 kavalasite.gr, 1 kavatasygarety.tk, 1 kaverti.com, 1 @@ -61615,6 +61605,7 @@ kingdommindsmentorsclub.com, 1 kingdoms.gg, 1 kingfast.cc, 1 kingfast.eu.org, 1 +kingfin.com, 1 kingiescastles.co.uk, 1 kingjamesbibleonline.org, 1 kingjamesgospel.com, 1 @@ -61969,7 +61960,6 @@ klares-licht.de, 1 klarika.com, 1 klarmobil-empfehlen.de, 1 klassen.tk, 1 -klassenlos.tk, 1 klassiekballet.tk, 1 klassika.cf, 1 klassika.tk, 1 @@ -62234,6 +62224,7 @@ koalas.org, 1 koba.jp, 1 kobar.id, 1 kobb.tk, 1 +kobejet.com, 1 kobezda.net, 1 kobieta.guru, 1 kobietydokodu.pl, 1 @@ -62805,7 +62796,6 @@ krasnoyarsk-24.tk, 1 krasnoyarsk24.tk, 1 krasotkafirm.tk, 1 krasotki.ml, 1 -krasovsky.me, 1 kratochvilovi.net, 1 krattk.de, 1 krauseent.com, 0 @@ -63012,7 +63002,6 @@ kryptomodkingz.com, 1 kryptux.xyz, 1 kryshodel.ml, 1 krystal-framework.ml, 1 -krystalrsimpson.com, 1 krytykawszystkiego.com, 1 krytykawszystkiego.pl, 1 kryx.de, 1 @@ -64595,7 +64584,7 @@ laxaf.com, 1 laxxl.com, 1 layan-luxurylighting.com, 1 layazc.com, 1 -layer8.tk, 1 +layer8.tk, 0 layermesh.net, 1 layers.media, 1 layflamso.tk, 1 @@ -64827,7 +64816,6 @@ lcrmscp.gov, 1 lcs.wiki, 1 lcsoftware.tk, 1 lcti.biz, 1 -lcv.psc.br, 1 lcvip3.com, 1 lcvip5.com, 1 lcvip6.com, 1 @@ -65334,7 +65322,7 @@ lemediateur-creditagricole-nord-est.com, 1 lemfam.ru, 1 lemilane.it, 1 leminhduong.com, 1 -lemmy.ca, 1 +lemmy.ca, 0 lemni.top, 1 lemoine.at, 1 lemonadefashion.com, 1 @@ -65772,6 +65760,7 @@ lg0.site, 1 lg2.com, 1 lgam.com, 1 lgbt-colleges.com, 1 +lgbt.io, 1 lgbt.ventures, 1 lgbtventures.com, 1 lgbusiness.es, 0 @@ -67150,6 +67139,7 @@ locksmithlivoniami.com, 1 locksmithmadisonheights.com, 1 locksmithmesquitetexas.com, 1 locksmithmesquitetx.com, 1 +locksmithmidrand24-7.co.za, 1 locksmithmissouricity.com, 1 locksmithsammamishwa.com, 1 locksmithsbluff.com, 1 @@ -67257,7 +67247,6 @@ logixtv.com, 1 loglineargroup.com, 1 logo-vogtland.de, 1 logobravo.com, 1 -logodzyn.com, 1 logoenvue.fr, 1 logoesun.com, 1 logoglo.com, 1 @@ -67538,7 +67527,6 @@ lookastic.fr, 1 lookastic.ru, 1 lookatmysco.re, 1 lookbetweenthelines.com, 0 -looker.com, 1 looker.wang, 0 lookgadgets.com, 1 lookie.ml, 1 @@ -68172,7 +68160,6 @@ lukem.eu, 0 lukem.net, 1 lukeng.net, 1 lukepeltier.com, 1 -lukerstorage.com, 1 lukesbouncycastlehire.com, 1 lukesutton.info, 1 lukezweb.tk, 1 @@ -68478,7 +68465,7 @@ lyubov-sovmestimost.cf, 1 lyuda.tk, 1 lyukaacom.ru, 1 lyuks-parfyum.tk, 1 -lyuly.com, 1 +lyuly.com, 0 lyx.dk, 1 lz.sb, 1 lz898.com, 1 @@ -68743,7 +68730,6 @@ madokami.pw, 1 madonnadellafibra.gq, 1 madoucefrance.ru, 1 madprod.tk, 1 -madpsy.uk, 1 madrants.net, 1 madrasareforms.cf, 1 madrasareforms.ga, 1 @@ -69351,7 +69337,6 @@ mamasorganizedchaos.com, 1 mamaxi.org, 1 mamaznaet.ml, 1 mambas.cn, 1 -mamboo.com, 1 mambos.tk, 1 mamburao.tk, 1 mame.cl, 1 @@ -70100,6 +70085,7 @@ martian.community, 1 martian.tk, 1 martide.com, 1 martijnschreuders.tk, 1 +martijnvanderzande.nl, 1 martijnvdputten.tk, 1 martin-arend.de, 0 martin-burger.net, 1 @@ -70935,7 +70921,6 @@ mckay-bednar.net, 1 mckendry.com, 1 mckendry.consulting, 1 mckenna.academy, 1 -mckeownshvac.com, 1 mckernan.in, 0 mckinley1.com, 1 mckinleytk.com, 1 @@ -70985,6 +70970,7 @@ mctherealm.net, 1 mctitan.net, 1 mctools.org, 1 mctwcloud.tk, 1 +mcuexchange.com, 1 mcukhost.co.uk, 1 mcuong.tk, 0 mcuuid.net, 1 @@ -71685,7 +71671,6 @@ megabouncingcastles.com, 1 megadrol.com, 1 megaelettrostimolatore.com, 1 megafilez.tk, 1 -megaflix.nl, 1 megaflowers.ru, 1 megagifs.de, 1 megaherz.tk, 1 @@ -72371,7 +72356,6 @@ metroval.tk, 1 metsasta.com, 1 mettelenejohansson.dk, 1 mettin.org, 1 -mettle.co.uk, 1 metube.icu, 1 metver.tk, 1 metyweb.ga, 0 @@ -72575,7 +72559,6 @@ michaelgroves.tk, 1 michaelgwynn.tk, 1 michaelhastrich.nl, 1 michaelhayes.tk, 1 -michaelhrehor.com, 1 michaeliannetta.tk, 1 michaeliscorporation.com, 1 michaelismold.com, 1 @@ -72590,7 +72573,6 @@ michaell.io, 1 michaell.xyz, 1 michaelleibundgut.com, 1 michaelloveys.com, 1 -michaelmckenney.com, 1 michaeln.net, 1 michaelolson.blog, 1 michaelpelletterie.it, 1 @@ -72793,7 +72775,6 @@ miisy.com, 1 miisy.eu, 1 miisy.me, 1 mijam.xyz, 1 -mijcorijneveld.nl, 1 mijn-maagband.tk, 1 mijn.computer, 0 mijnadviseur.shop, 1 @@ -73447,6 +73428,7 @@ mit-uns.org, 1 mit.gg, 0 mita-beutel.tk, 1 mita.me, 1 +mitarbeiter-pc.de, 1 mitarbeiterbefragungen.com, 1 mitarbeitermotivation-anleitungen.de, 1 mitchell.id, 1 @@ -75769,6 +75751,7 @@ mybakkupakku.com, 1 mybaran.tk, 1 mybarcelona.tk, 1 mybathroom.tk, 1 +mybauingenieur24.de, 1 mybb.com, 1 mybb.de, 1 mybbcode.tk, 1 @@ -75868,6 +75851,7 @@ mycoupons.com, 1 mycr.eu, 1 mycreativeartsconsulting.com, 1 mycreativenook.com, 1 +mycreditcardcenter.com, 1 mycreditcardclub.com, 1 mycreditunion.gov, 1 mycrm.coach, 1 @@ -75918,7 +75902,6 @@ myduffyfamily.com, 1 myeasybooking.de, 1 myebony.cam, 1 myecms.com, 1 -myecopanda.com, 1 myedcreview.cf, 1 myediblefood.com, 1 myeditclub.ml, 1 @@ -76208,7 +76191,6 @@ mypoodleassassin.com, 1 mypornsnap.top, 1 myportal.ga, 1 mypowerserg.com, 1 -mypress.mx, 1 myprintcard.de, 1 myproblog.com, 1 mypromocode.com, 1 @@ -77040,7 +77022,6 @@ natmal.net, 1 nato-stamps.tk, 1 natropie.pl, 1 nats-flop.tk, 1 -natsar.com, 1 nattiam.com, 1 natuerlichabnehmen.ch, 1 natunion.ga, 1 @@ -77907,7 +77888,6 @@ neuropharmacology.com, 1 neurophysiotherapy.ga, 1 neuropsychexams.com, 1 neuropsychologisthouston.com, 1 -neurostimtms.com, 1 neurosurgeryinmexico.com, 1 neurotext.net, 1 neuroticosanonimos.tk, 1 @@ -77952,7 +77932,6 @@ new-black-order.com, 1 new-boiler-prices.co.uk, 1 new-jersey-online-casinos.com, 1 new-medic.com, 1 -new-mvp.com, 1 new-process.ch, 1 new-process.com, 1 new-process.de, 1 @@ -79225,7 +79204,6 @@ norichanmama.com, 1 noriel.ro, 1 norikazumatsuno.tk, 1 noris.de, 0 -noriskit.nl, 1 noritakechina.com, 1 normaculta.com.br, 1 normalady.com, 1 @@ -79331,7 +79309,6 @@ nosite.co.za, 1 nosleepforrobots.com, 1 noslite.nl, 1 nosmoking.tk, 1 -nosnik.dk, 1 nosproduitsdequalite.fr, 1 nossasenhoradodesterro.com.br, 1 nossorepresentante.com.br, 1 @@ -79637,7 +79614,6 @@ nsboston.org, 1 nsboutique.com, 1 nscai.gov, 1 nsdcprayerforce.com, 1 -nsep.gov, 1 nsfw-story.com, 1 nshepp-dct-development.azurewebsites.net, 1 nshipster.cn, 1 @@ -80150,7 +80126,6 @@ objekt-textil.ch, 0 objetodestaque.com.br, 1 objexunlimited.com, 1 oblast45.ru, 0 -obligacjekk.pl, 1 oblik.pp.ua, 1 oblik.press, 1 oblinvest.org, 1 @@ -80883,7 +80858,6 @@ omandatapark.com, 1 omangrid.com, 1 omanhr.cf, 1 omanko.porn, 0 -omaosurveys.org, 0 omarans.com, 1 omarbaba.shop, 1 omarh.net, 1 @@ -80899,6 +80873,7 @@ omayn.com, 1 ombregialle.it, 1 omdesign.cz, 0 omega-intranet.com, 1 +omega-marijuana.com, 1 omegachess.tk, 1 omegahosting.net, 1 omegalan.tk, 1 @@ -81311,7 +81286,7 @@ onpopup.ga, 1 onporn.fun, 1 onporn.tube, 1 onpreise.de, 1 -onrealt.ru, 1 +onrealt.ru, 0 onsenlaichelesdoigts.be, 1 onsetfacilities.com, 1 onsgenoegen-waz.nl, 1 @@ -81469,6 +81444,7 @@ opendolls.com, 1 opendor.me, 1 openevic.info, 1 openfir.st, 1 +openfitapi-falke.azurewebsites.net, 1 openformula.com, 1 openforvintage.com, 1 openfuture.digital, 1 @@ -81500,6 +81476,7 @@ openrainbow.org, 1 openre.site, 1 openrealestate.co, 1 openreel.com, 0 +openresearch.amsterdam, 1 openreview.net, 1 openroademail.com, 1 openrtm.org, 1 @@ -81631,7 +81608,6 @@ opticsboss.com, 1 opticsexplorer.com, 1 opticsschool.com, 0 opticstore.com.ua, 1 -optiekdemeester.be, 1 optiekzien.nl, 0 optigear.nl, 1 optik-sehstern.de, 1 @@ -81875,7 +81851,6 @@ orioncokolada.cz, 0 orioneclipse.com, 1 orionfcu.com, 1 orionfinancialservices.com, 1 -oriongames.eu, 1 orionleasing.com, 1 oriveda.ch, 1 oriveda.co.uk, 1 @@ -81956,7 +81931,7 @@ osacrypt.studio, 1 osagecounty-ok.gov, 1 osagenation-nsn.gov, 1 osagokasko.ga, 1 -osaka-hero-project.com, 1 +osaka-hero-project.com, 0 osakaevoce.com.br, 1 osakeannit.fi, 1 osakerekisteri.fi, 1 @@ -82313,7 +82288,6 @@ overseamusic.de, 1 overside.ml, 1 oversight.garden, 1 oversightboard.com, 1 -oversimplifiedeconomics.com, 1 oversimplifiedstatistics.com, 1 overstemmen.nl, 1 overstockpromote.com, 1 @@ -84597,6 +84571,7 @@ petruzz.net, 1 pets-health.com, 1 pets4adoption.tk, 1 pets4life.com.au, 1 +petscams.com, 1 petschnighof.at, 1 petsdeners.ga, 1 petsdenest.ga, 1 @@ -85357,7 +85332,6 @@ pinpaiyunying.com.cn, 1 pinpayments.com, 1 pinpointengineer.co.uk, 1 pinsi.pt, 1 -pinskupakki.fi, 1 pinta.tk, 1 pinterest.at, 1 pinterest.ca, 1 @@ -85403,6 +85377,7 @@ pipfrosch.com, 0 piplwize.com, 0 pippenainteasy.com, 1 piprivillage.ml, 1 +piprotec.com, 1 pipscprd.ca, 1 piqueteway.tk, 1 piraeuspress.gr, 1 @@ -85414,7 +85389,6 @@ piranjasoul.de, 1 pirapiserver.ddns.net, 1 pirate-proxy.co, 1 pirate.chat, 1 -piratebayproxy.tf, 1 piraten-basel.ch, 1 piraten-kleinbasel.ch, 1 piraten-recording.tk, 1 @@ -85438,7 +85412,6 @@ pirateproxy.uno, 1 pirates-comic.com, 1 piratesbrewcoffee.net, 1 piratesforums.co, 1 -pirateship.com, 1 piratesofthewadden.tk, 1 piratez.tk, 1 pircher.co.uk, 1 @@ -86775,6 +86748,7 @@ portalm.tk, 1 portalmundo.xyz, 1 portalpandalandia.tk, 1 portalpower.com.br, 1 +portalveneza.com.br, 1 portalz.xyz, 1 portamiinpista.it, 0 portatilea.com, 1 @@ -86966,7 +86940,7 @@ potreningu.pl, 1 potrillionaires.com, 1 potsdam.directory, 1 pottcountyks.gov, 1 -potterish.com, 1 +potterish.com, 0 potterperfect.tk, 1 pottershouse.tk, 1 potterybroker.ga, 1 @@ -87136,7 +87110,6 @@ prac.to, 1 pracevjihlave.cz, 1 practicalbytes.de, 1 practicalhomes.com.au, 1 -practicallabs.com, 1 practicalprogrammer.tech, 1 practicepanther.com, 1 practisforms.com, 1 @@ -87426,8 +87399,6 @@ pretalx.com, 1 prethost.com, 1 pretix.eu, 1 pretor-sa.com, 1 -pretor.com.pl, 1 -pretor.eu, 1 pretorcup.pl, 1 pretty-liars.tk, 1 pretty.hu, 1 @@ -87530,6 +87501,7 @@ primos-tech.com, 1 primuspartners.in, 1 princedavidlodge.org.uk, 1 princefamilylaw.co.uk, 1 +princelishan.com, 1 princelishan.com.tw, 1 princemathew.tk, 1 princemolak.ga, 1 @@ -88221,7 +88193,6 @@ protection.ga, 1 protectionformula.com.ua, 1 protectwrap.ml, 1 protege.moi, 1 -protegetudescanso.com, 1 proteh.com.ua, 1 protein-riegel-test.de, 1 proteinreport.org, 1 @@ -88254,7 +88225,6 @@ prototyping-computer.ml, 1 protoxin.net, 0 protrainerbrasil.com.br, 1 protrolley.cf, 1 -proudplus.com, 1 proust.ch, 0 proust.media, 0 proustmedia.de, 0 @@ -89051,7 +89021,6 @@ qgblog.org, 0 qhost.cf, 1 qhse-professionals.nl, 1 qhzwz.com, 1 -qiangtou.net, 1 qianqiao.me, 1 qiaohong.org, 1 qiaowai.com, 1 @@ -89454,6 +89423,7 @@ quiq-cdn.com, 1 quiq-uri.com, 1 quiq-url.com, 1 quiq.com, 0 +quiq.im, 1 quiq.us, 1 quiqd.com, 1 quiqstatus.com, 1 @@ -89473,6 +89443,7 @@ quizandmoney.com, 1 quizapps.se, 1 quizhub.ml, 1 quizinn.live, 1 +quizl.io, 0 quizmaker.ml, 1 quizogames.com, 1 quizz.biz, 1 @@ -90336,6 +90307,7 @@ ravihotel.com, 0 ravijuhend.ee, 1 ravik.tk, 1 ravimiamet.ee, 1 +ravindran.me, 1 raviparekh.co.uk, 1 ravis.org, 1 ravkr.duckdns.org, 1 @@ -90801,7 +90773,6 @@ recuperatufigura.com, 1 recupero.it, 1 recuperodatiraidfastec.it, 1 recurly.com, 1 -recurrentmeningitis.org, 1 recursionrecursion.co.uk, 1 recursos.vip, 1 recursoscristianosleinad.com, 1 @@ -91361,7 +91332,7 @@ remoteworkertech.asia, 1 remotley.com, 1 removalcellulite.com, 1 removallaser.com, 1 -removeandreplace.com, 0 +removeandreplace.com, 1 removedrepo.com, 1 remptmotors.com, 1 remrol.ru, 0 @@ -92445,6 +92416,7 @@ robbestad.com, 1 robbiebird.tk, 1 robbiecrash.me, 1 robbielowe.co, 1 +robbievasquez.com, 1 robbins-construction.com, 1 robbinsgaragedoorwenatchee.com, 1 robbrestyle.com, 1 @@ -92762,6 +92734,7 @@ romab.com, 1 romacoffee.co.nz, 1 romagnaoggi.it, 1 romail.ml, 1 +romain-arias.fr, 1 romaindepeigne.fr, 1 romainlapoux.com, 1 romainlapoux.fr, 1 @@ -93712,7 +93685,6 @@ rvpoweroutlet.com, 1 rvsa2bevestigingen.nl, 1 rvsa4bevestigingen.nl, 1 rvsbevestigingen.nl, 1 -rvsuitlaatdelen.nl, 1 rvvc.im, 1 rw-invest.com, 1 rw.search.yahoo.com, 0 @@ -93985,6 +93957,7 @@ saf.earth, 1 safalfasalonline.in, 1 safar.sk, 1 safara.host, 1 +safarimasaimara.com, 1 safaritenten.nl, 1 safatech.me, 1 safc.tk, 1 @@ -95132,7 +95105,6 @@ scamadviser.com, 1 scamangels.com, 1 scambistimaturi.com, 1 scamblockplus.org, 1 -scamtested.com, 1 scan.co.uk, 1 scan.computer, 1 scanamed.tk, 1 @@ -95278,6 +95250,7 @@ schmelzle.io, 1 schmidthomes.com, 1 schmidtplasticsurgery.com, 1 schmiggywibblits.net, 1 +schmitt-etienne.fr, 1 schmitt-max.com, 1 schmitt.ws, 0 schmitzvertalingen.nl, 1 @@ -95296,6 +95269,7 @@ schnuckenhof-wesseloh.de, 1 schnyder-werbung.ch, 0 schody-rozycki.pl, 1 schoenstatt-fathers.link, 1 +schoenstatt-fathers.us, 1 schoenstatt.link, 1 schoepski.de, 1 schoffelcountry.com, 1 @@ -95678,7 +95652,6 @@ sculptaestheticsclinic.co.uk, 1 sculpture.support, 1 sculpturesworldwide.tk, 1 sculpturos.com, 1 -scungioborst.com, 1 scunthorpemoneyman.com, 1 scuolaguidalame.ch, 0 scuolamazzini.livorno.it, 1 @@ -95901,6 +95874,7 @@ secondlifebullcowslave.cf, 1 secondnature.bio, 1 seconfig.sytes.net, 1 secong.tk, 1 +secopsolution.com, 0 secoseal.de, 1 secpatrol.de, 1 secpoc.online, 1 @@ -96409,7 +96383,6 @@ sentry.io, 1 sentry.nu, 1 sentrybay.com, 1 sentworks.com, 1 -senu.pro, 1 senzaparole.de, 1 senzei.tk, 1 seo-analyse.com, 1 @@ -96794,7 +96767,6 @@ seutens.be, 1 seutens.eu, 1 seva.fashion, 1 sevacy.net, 1 -sevasmos.gr, 1 sevastopol.tk, 1 sevathian.com, 1 seven-seas.ml, 1 @@ -97322,6 +97294,7 @@ shichidadoma.ru, 1 shico.org, 1 shidai88.cc, 1 shidurdan.com, 1 +shielder.it, 1 shieldnet.tk, 1 shieldnsheath.com, 1 shieldofachilles.in, 1 @@ -97436,7 +97409,6 @@ shirosaki-hana.fun, 1 shirro.com, 1 shirts2u.com, 1 shirtsdelivered.com, 1 -shirtsofholland.com, 1 shishadenbosch.nl, 1 shishamania.de, 1 shishlik.net, 1 @@ -98780,6 +98752,7 @@ skachat-zip.tk, 1 skachay-knighki.gq, 1 skachay-photo.gq, 1 skagen-feriebolig.dk, 1 +skaginn.tv, 1 skaiman.ga, 1 skaitliukas.tk, 1 skalar.sk, 1 @@ -98857,7 +98830,6 @@ skilldetector.com, 1 skillled.com, 1 skillmoe.at, 1 skills2serve.org, 1 -skills2services.com, 1 skillsenhancementtexas.gov, 1 skillsenhancementtx.gov, 1 skillshare.com, 1 @@ -99123,6 +99095,7 @@ slavblog.ru, 1 slaws.io, 1 slayingqueen.com, 1 slbknives.com, 1 +sld08.com, 1 sldev.ovh, 1 sldlcdn.com, 1 sledgeroofing.com, 1 @@ -99678,6 +99651,7 @@ snizl.com, 1 snj.pt, 1 snoerendevelopment.nl, 0 snohomishsepticservice.com, 1 +snoopyfacts.com, 1 snoot.club, 1 snopyta.org, 1 snorer.com, 1 @@ -101375,7 +101349,6 @@ srkarra.com, 1 srkb.net, 1 srle.tk, 1 srnl.gov, 1 -sro.center, 1 sro.fi, 1 srochno-pohudeti.tk, 1 srochnozaim.gq, 1 @@ -103267,6 +103240,7 @@ sumatrautara.tk, 1 sumatriptan365.tk, 1 sumbur.ga, 1 sumcrevillent.tk, 1 +sumguy.com, 1 sumhost.ml, 1 sumiko.moe, 1 sumisa.cf, 1 @@ -103612,6 +103586,7 @@ supremaa.com, 1 supreme-council.me, 1 supreme-court.tk, 1 suprememale.tk, 1 +supremestandards.com, 1 supriville.com.br, 1 supropionegocio.tk, 1 supweb.ovh, 0 @@ -104118,7 +104093,6 @@ symplyos.tk, 1 sympmarc.com, 1 symposium.beer, 1 symptome-erklaert.de, 1 -symstar.co.uk, 1 symvolik.ru, 1 syna.dev, 1 syna.site, 1 @@ -104470,7 +104444,7 @@ tadalafilindia.gq, 1 taddiestales.com, 1 tadinfos.fr, 1 tadiranbatteries.de, 0 -tadj-mahalat.com, 1 +tadj-mahalat.com, 0 tadjiki.tk, 1 tadjikistan.tk, 1 tadluedtke.com, 1 @@ -105562,7 +105536,6 @@ techsna.com, 1 techsocial.nl, 1 techsolvency.com, 1 techstackjournal.com, 1 -techstartup.tech, 1 techstreamlab.com, 1 techsys.cz, 1 techtastic.tk, 1 @@ -105632,7 +105605,6 @@ ted.do, 0 tedb.us, 0 teddax.com, 1 tedder.cc, 1 -teddie.eu, 1 teddy.ch, 1 teddybradford.com, 1 teddykatz.com, 1 @@ -105674,6 +105646,7 @@ teetje-doko.de, 1 teetoptens.com, 1 teeverse-photography.com, 1 teeworlds-friends.de, 1 +teextee.com, 1 tefek.cz, 1 tefwin.cf, 1 tegamisha.com, 1 @@ -106260,6 +106233,7 @@ tferdinand.net, 1 tfg-bouncycastles.com, 1 tfiik.com, 1 tfk.fr, 1 +tfle.xyz, 1 tflite.com, 1 tfnapps.de, 1 tfok.ml, 1 @@ -106659,6 +106633,7 @@ thecustomizewindows.com, 1 theda.co.za, 1 thedailyprosper.com, 0 thedailyreporteronline.com, 1 +thedailyshirts.com, 1 thedailyupvote.com, 1 thedanceacademybuckscounty.com, 0 thedark.ga, 1 @@ -107075,7 +107050,6 @@ theonion.com, 1 theonlinecentre.com, 1 theonyxzone.com, 1 theoosmetalart.nl, 1 -theopaphitissbs.com, 1 theopera.tk, 1 theoperators.tk, 1 theophil.tk, 1 @@ -107116,7 +107090,6 @@ thephp.cc, 1 thepiabo.ovh, 0 thepieslicer.com, 1 thepigwrestlers.com, 1 -thepillclub.com, 1 thepilotwoman.cf, 1 thepilotwoman.ga, 1 thepilotwoman.gq, 1 @@ -109806,6 +109779,7 @@ travelphilippines.tk, 1 travelphoto.cc, 1 travelphotographycourse.com, 1 travelplatinum.ga, 1 +travelplugcolombia.com, 1 travelplum.ga, 1 travelpremier.ga, 1 travelpremium.ga, 1 @@ -109954,7 +109928,7 @@ trentonmakesnews.com, 1 trentonoh.gov, 1 trentotoday.it, 1 trenztec.ml, 1 -trepare.com, 1 +trepare.com, 0 tresen-demo.com, 1 tresmaistres.com.br, 1 tresor.it, 1 @@ -109968,7 +109942,6 @@ tresscabelos.com.br, 1 tretail.net, 1 tretinoin.gq, 1 treurtransport.tk, 1 -trevacez.com, 1 trevisotoday.it, 1 trevo-lotofacil.com.br, 0 trevorkay.tk, 1 @@ -110334,7 +110307,6 @@ truqu.com, 1 trusecurity.gq, 1 truserve.org, 1 trusifan.tk, 1 -trusitio.com, 1 truskmedia.tk, 1 trussgenius.com, 1 trust-btc.ml, 1 @@ -111643,7 +111615,6 @@ unblockit.bid, 1 unblockit.buzz, 1 unblockit.ca, 1 unblockit.club, 1 -unblockit.id, 1 unblockit.lat, 1 unblockit.li, 1 unblockit.link, 1 @@ -111984,6 +111955,7 @@ unmutegreetings.dk, 1 unn-edu.info, 1 unnamed.download, 1 unnas.ca, 1 +uno.fi, 1 uno.uk, 1 unobet-partners.com, 1 unobrindes.com.br, 1 @@ -112416,7 +112388,6 @@ usespetaculo.com.br, 1 usetypo3.com, 1 useworkshop.com, 1 useyourloaf.com, 1 -usgande.com, 1 usgeneralhealth.tk, 1 ushandbookapp.com, 1 ushare.ch, 1 @@ -112713,7 +112684,6 @@ va11hal.la, 1 va11halla.ddns.net, 1 vaabogados.legal, 1 vaaddress.co, 1 -vaaes.org, 0 vaan-arbeidsrecht.nl, 1 vaartjesboten.nl, 1 vaat.io, 1 @@ -112921,6 +112891,7 @@ vamonospaportugal.tk, 1 vamosargentina.tk, 1 vamosfalardesaude.pt, 1 vampire-studios.tk, 1 +vampire142.fr, 1 vampireapocalypsesurvival.com, 1 vampiresdawn.org, 1 vampirzine.tk, 1 @@ -114400,7 +114371,6 @@ visualforce.com, 1 visualgnome.com, 1 visualideas.org, 1 visualiti.co, 1 -visualized.tech, 1 visualizing.info, 1 visuall.be, 1 visualmarketingdeals.com, 1 @@ -115549,7 +115519,6 @@ walpuski.com, 1 walruscode.com, 1 walruses.org, 1 walshbanks.com, 1 -walskifilm.com, 1 walter-mooij-jazztrio.tk, 1 walter.lc, 1 waltercedric.ch, 1 @@ -115583,7 +115552,6 @@ wanderzoom.co, 1 wandystan.eu, 1 wane.co, 1 wanekat.fr, 1 -wang.by, 1 wangbangyu.cf, 1 wangbangyu.ga, 1 wangbangyu.gq, 1 @@ -116931,7 +116899,6 @@ whatisipfix.com, 1 whatisl.ovh, 1 whatismycountry.com, 1 whatismyip.net, 0 -whatismyipv6.info, 1 whatismypublicip.com, 1 whatisnetflow.com, 1 whatissflow.com, 1 @@ -118002,6 +117969,7 @@ wonderbox.gq, 1 wonderbox.ml, 1 wonderchat.tk, 1 wondercorner.ca, 1 +wondercris.com, 1 wondereur.com, 1 wonderfall.space, 1 wonderfuleducation.eu, 1 @@ -118195,7 +118163,6 @@ workshopszwolle.nl, 1 workshopzwolle.com, 1 worksindev.com, 1 worksitevr.com, 1 -worksmarter.tv, 1 workspace.pt, 1 worktefa.tk, 1 workupapp.com, 1 @@ -118629,7 +118596,7 @@ wuppertal-2018.de, 0 wuppertaler-frettchensitterin.tk, 1 wurm-sb.de, 1 wurmannsquick.bayern, 0 -wurmannsquick.de, 1 +wurmannsquick.de, 0 wurstmineberg.de, 1 wurzelkanal.de, 1 wusu.tk, 1 @@ -119188,7 +119155,6 @@ xianjianruishiyouyiyuan.com, 1 xiao-sheng.gq, 1 xiaobai.pro, 0 xiaobude.cn, 1 -xiaocg.xyz, 1 xiaodingyi.cn, 1 xiaofengsky.com, 0 xiaohui.love, 1 @@ -119470,7 +119436,6 @@ xn--3stv82k.hk, 1 xn--3stv82k.tw, 1 xn--41a.ml, 1 xn--43-6kc4be0fbz.xn--p1ai, 1 -xn--48jwg508p.net, 1 xn--4brt03c.xn--io0a7i, 1 xn--4kro7fswi.xn--6qq986b3xl, 1 xn--4pv80kkz8auzf.jp, 1 @@ -120118,7 +120083,7 @@ xyndrac.net, 0 xynta.ch, 1 xyquadrat.ch, 1 xyrexwolf-sebastien-izambard.tk, 1 -xywing.com, 1 +xywing.com, 0 xyz.blue, 1 xyz.ng, 1 xyzemails.com, 1 @@ -120531,7 +120496,7 @@ yellowhawk.nl, 1 yellowmessenger.com, 1 yellowpages.ee, 1 yellowsource.org, 1 -yellowsquid.uk, 1 +yellowsquid.uk, 0 yellowstone.nsupdate.info, 1 yellowstonecountymt.gov, 1 yellowstrips.com, 1 @@ -122310,6 +122275,7 @@ zinglix.xyz, 1 zingpetfood.com, 1 zings.eu, 1 zinhar.tk, 1 +zinniazorgverlening.nl, 1 zinnowitzer-ferienwohnung.de, 1 zinoui.com, 1 zion-craft.tk, 1 diff --git a/services/settings/dumps/blocklists/addons-bloomfilters.json b/services/settings/dumps/blocklists/addons-bloomfilters.json index 9a5e9e7206f6c..e67f14e052c74 100644 --- a/services/settings/dumps/blocklists/addons-bloomfilters.json +++ b/services/settings/dumps/blocklists/addons-bloomfilters.json @@ -1,5 +1,66 @@ { "data": [ + { + "stash": { + "blocked": [ + "ols@f-secure.com:2.218.7700", + "ols@f-secure.com:2.210.7353", + "ols@f-secure.com:2.236.8012", + "ols@f-secure.com:2.237.8018", + "ols@f-secure.com:2.216.7560", + "ols@f-secure.com:2.220.7818", + "ols@f-secure.com:2.234.7980", + "ols@f-secure.com:3.0.32", + "ols@f-secure.com:2.218.7669", + "ols@f-secure.com:3.0.2", + "ols@f-secure.com:2.235.7991", + "ols@f-secure.com:2.200.6884", + "ols@f-secure.com:2.198.6718", + "ols@f-secure.com:2.208.7282", + "ols@f-secure.com:2.211.7392", + "ols@f-secure.com:3.0.27", + "ols@f-secure.com:2.225.7869", + "ols@f-secure.com:2.202.7041", + "ols@f-secure.com:2.232.7959", + "ols@f-secure.com:2.208.7289", + "ols@f-secure.com:4.0.52", + "ols@f-secure.com:2.215.7447", + "ols@f-secure.com:3.0.16", + "ols@f-secure.com:2.204.7103", + "ols@f-secure.com:2.220.7791", + "ols@f-secure.com:2.216.7581", + "ols@f-secure.com:2.208.7298", + "ols@f-secure.com:2.201.6961", + "ols@f-secure.com:2.198.6588", + "ols@f-secure.com:2.216.7528", + "ols@f-secure.com:2.229.7912", + "ols@f-secure.com:2.216.7574", + "ols@f-secure.com:2.216.7455", + "ols@f-secure.com:2.203.7079", + "ols@f-secure.com:3.0.7", + "ols@f-secure.com:2.235.7986", + "ols@f-secure.com:2.209.7319", + "ols@f-secure.com:3.0.22", + "ols@f-secure.com:2.206.7237", + "ols@f-secure.com:3.0.8", + "ols@f-secure.com:2.214.7440", + "ols@f-secure.com:3.0.3", + "ols@f-secure.com:2.213.7420", + "ols@f-secure.com:2.199.6780", + "ols@f-secure.com:2.210.7376", + "ols@f-secure.com:2.225.7888", + "ols@f-secure.com:2.210.7362", + "ols@f-secure.com:2.220.7741", + "ols@f-secure.com:2.209.7351" + ], + "unblocked": [] + }, + "schema": 1647603683249, + "key_format": "{guid}:{version}", + "stash_time": 1647606908120, + "id": "448ec411-adff-458d-9e00-a31dd423e410", + "last_modified": 1647607093105 + }, { "stash": { "blocked": [ diff --git a/services/settings/dumps/main/search-telemetry-v2.json b/services/settings/dumps/main/search-telemetry-v2.json index 2cc05149da96d..8422edd2325c6 100644 --- a/services/settings/dumps/main/search-telemetry-v2.json +++ b/services/settings/dumps/main/search-telemetry-v2.json @@ -1,5 +1,39 @@ { "data": [ + { + "schema": 1647536413492, + "taggedCodes": [ + "ffab", + "ffcm", + "ffhp", + "ffip", + "ffit", + "ffnt", + "ffocus", + "ffos", + "ffsb", + "fpas", + "fpsa", + "ftas", + "ftsa", + "newext" + ], + "telemetryId": "duckduckgo", + "organicCodes": [], + "codeParamName": "t", + "queryParamName": "q", + "searchPageRegexp": "^https://duckduckgo%5C%5C.com/", + "expectedOrganicCodes": [ + "hz", + "h_" + ], + "extraAdServersRegexps": [ + "^https://duckduckgo.com/y%5C%5C.js?.*ad_provider%5C%5C=", + "^https://www%5C%5C.amazon%5C%5C.(?:%5Ba-z.%5D%7B2,24%7D).*(?:tag=duckduckgo-)" + ], + "id": "9dfd626b-26f2-4913-9d0a-27db6cb7d8ca", + "last_modified": 1647619735693 + }, { "schema": 1643096116299, "taggedCodes": [ @@ -85,36 +119,6 @@ "id": "635a3325-1995-42d6-be09-dbe4b2a95453", "last_modified": 1643136933998 }, - { - "schema": 1643100257574, - "taggedCodes": [ - "ffab", - "ffcm", - "ffhp", - "ffip", - "ffit", - "ffnt", - "ffocus", - "ffos", - "ffsb", - "fpas", - "fpsa", - "ftas", - "ftsa", - "newext" - ], - "telemetryId": "duckduckgo", - "organicCodes": [], - "codeParamName": "t", - "queryParamName": "q", - "searchPageRegexp": "^https://duckduckgo%5C%5C.com/", - "extraAdServersRegexps": [ - "^https://duckduckgo.com/y%5C%5C.js?.*ad_provider%5C%5C=", - "^https://www%5C%5C.amazon%5C%5C.(?:%5Ba-z.%5D%7B2,24%7D).*(?:tag=duckduckgo-)" - ], - "id": "9dfd626b-26f2-4913-9d0a-27db6cb7d8ca", - "last_modified": 1643136933995 - }, { "schema": 1643100258578, "telemetryId": "yahoo", diff --git a/services/settings/dumps/security-state/intermediates.json b/services/settings/dumps/security-state/intermediates.json index 4b058fff38f94..0ec1d30c829ca 100644 --- a/services/settings/dumps/security-state/intermediates.json +++ b/services/settings/dumps/security-state/intermediates.json @@ -1,7 +1,7 @@ { "data": [ { - "schema": 1647485841490, + "schema": 1647788245578, "derHash": "8Hu73gdvm0DFfMS+/t6Xyh9Tua4UfwNdKEy/U/NDL7g=", "subject": "CN=CFCA OV OCA,O=China Financial Certification Authority,C=CN", "subjectDN": "MFUxCzAJBgNVBAYTAkNOMTAwLgYDVQQKDCdDaGluYSBGaW5hbmNpYWwgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxFDASBgNVBAMMC0NGQ0EgT1YgT0NB", @@ -16,7 +16,259 @@ "pubKeyHash": "uc0FPx73f1ObHGmGZOcevy371Uo9asVjdabpiS0lKgQ=", "crlite_enrolled": false, "id": "b2b776e5-2b2f-4c8e-819d-026b8d3855d2", - "last_modified": 1647507437425 + "last_modified": 1647853041835 + }, + { + "schema": 1647701328614, + "derHash": "mKDDuhiZJYWV0E8V0TTFcy6GS3VcZIpI0cF/CiYO9ac=", + "subject": "CN=TrustSafe TLS RSA SubCA R1,O=Isimtescil Bilisim A.S.,C=TR", + "subjectDN": "MFQxCzAJBgNVBAYTAlRSMSAwHgYDVQQKDBdJc2ltdGVzY2lsIEJpbGlzaW0gQS5TLjEjMCEGA1UEAwwaVHJ1c3RTYWZlIFRMUyBSU0EgU3ViQ0EgUjE=", + "whitelist": false, + "attachment": { + "hash": "90c93b3a50c031ef4beb4224d3085eafa66d1c8be8d4bc2bdeea1476967ed709", + "size": 2365, + "filename": "_SrUGYsWpDW44q_gIPL4e-vKroLPu0_n0OySZvb5g6U=.pem", + "location": "security-state-staging/intermediates/9849321e-0fe1-42f2-a509-ed0dcfa3b2e1.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "/SrUGYsWpDW44q/gIPL4e+vKroLPu0/n0OySZvb5g6U=", + "crlite_enrolled": true, + "id": "0fc46ca8-adb2-450b-9bd7-49706b5eca52", + "last_modified": 1647701842317 + }, + { + "schema": 1647701328249, + "derHash": "mH/y47JaOhTLhD2Qezx/AHwnSSGvwQAX+F1PrnsMuLY=", + "subject": "CN=DigiCert Assured ID TLS RSA4096 SHA256 2022 CA1,O=DigiCert\, Inc.,C=US", + "subjectDN": "MGAxCzAJBgNVBAYTAlVTMRcwFQYDVQQKEw5EaWdpQ2VydCwgSW5jLjE4MDYGA1UEAxMvRGlnaUNlcnQgQXNzdXJlZCBJRCBUTFMgUlNBNDA5NiBTSEEyNTYgMjAyMiBDQTE=", + "whitelist": false, + "attachment": { + "hash": "ea98651742d65855a2b89e7d033a40bf1adf3bb22e730eda3ea9896019690d52", + "size": 2089, + "filename": "t6F6ltc_eNYw0WY4vUTTo7SvuavxVPXIIpqLyWMQG-g=.pem", + "location": "security-state-staging/intermediates/27c32677-48fe-4613-8b2f-ca869cef0d85.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "t6F6ltc/eNYw0WY4vUTTo7SvuavxVPXIIpqLyWMQG+g=", + "crlite_enrolled": true, + "id": "3ef3ce19-bcfb-484b-9e2e-253adcc956b5", + "last_modified": 1647701842304 + }, + { + "schema": 1647701328071, + "derHash": "lzpBJ2/9AeAnoqrUnjTDeEbT6Xb/amILZxLjODIEGqY=", + "subject": "CN=Go Daddy Secure Certificate Authority - G2,OU=http://certs.godaddy.com/repository/,O=GoDaddy.com%5C%5C, Inc.,L=Scottsdale,ST=Arizona,C=US", + "subjectDN": "MIG0MQswCQYDVQQGEwJVUzEQMA4GA1UECBMHQXJpem9uYTETMBEGA1UEBxMKU2NvdHRzZGFsZTEaMBgGA1UEChMRR29EYWRkeS5jb20sIEluYy4xLTArBgNVBAsTJGh0dHA6Ly9jZXJ0cy5nb2RhZGR5LmNvbS9yZXBvc2l0b3J5LzEzMDEGA1UEAxMqR28gRGFkZHkgU2VjdXJlIENlcnRpZmljYXRlIEF1dGhvcml0eSAtIEcy", + "whitelist": false, + "attachment": { + "hash": "a111efc20329e87b541cfc3e7f526fc54bb24624fddf210f4347b9fadfb1ab6b", + "size": 1727, + "filename": "8Rw90Ej3Ttt8RRkrg-WYDS9n7IS03bk5bjP_UXPtaY8=.pem", + "location": "security-state-staging/intermediates/a2a04dfe-6201-4d0a-b8cf-80d2975bfb51.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "8Rw90Ej3Ttt8RRkrg+WYDS9n7IS03bk5bjP/UXPtaY8=", + "crlite_enrolled": true, + "id": "549c92e2-3738-4c8c-ae37-407e4e6158ce", + "last_modified": 1647701842291 + }, + { + "schema": 1647680259122, + "derHash": "4i5rJZCOEQemB68GDgsk5QxtlWL/BPRVvg+N9BpQMsA=", + "subject": "CN=SZAFIR Trusted CA2,O=Krajowa Izba Rozliczeniowa S.A.,C=PL", + "subjectDN": "MFQxCzAJBgNVBAYTAlBMMSgwJgYDVQQKDB9LcmFqb3dhIEl6YmEgUm96bGljemVuaW93YSBTLkEuMRswGQYDVQQDDBJTWkFGSVIgVHJ1c3RlZCBDQTI=", + "whitelist": false, + "attachment": { + "hash": "b998d1830338d9ca1bada5e5e1a33ef3a5f89c9c13ccfa1b8ea7a2f3aea980a1", + "size": 1825, + "filename": "Ea2smccTC5mFDdTrs5gKD6HaYthL4lhPx97QmLgbFQc=.pem", + "location": "security-state-staging/intermediates/d47f17a5-7858-4e12-ac5e-0454f2a87e62.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "Ea2smccTC5mFDdTrs5gKD6HaYthL4lhPx97QmLgbFQc=", + "crlite_enrolled": true, + "id": "43f6861b-21c6-4ebd-a31e-6d9e61e879af", + "last_modified": 1647701842264 + }, + { + "schema": 1647701328797, + "derHash": "puYUXPpzIrIt1vuvHfgzN4jbefGbEbaVz8kHtA0paQg=", + "subject": "CN=PSW GROUP (RSA) OV CA,O=PSW GROUP GmbH & Co. KG,C=DE", + "subjectDN": "ME8xCzAJBgNVBAYTAkRFMSAwHgYDVQQKDBdQU1cgR1JPVVAgR21iSCAmIENvLiBLRzEeMBwGA1UEAxMVUFNXIEdST1VQIChSU0EpIE9WIENB", + "whitelist": false, + "attachment": { + "hash": "89a81c5442a54c9e5195381aa5bf5118b69c785fe73b5919acc00fa7735b5960", + "size": 2081, + "filename": "XJxD3hWuTDkFb4_QXFPChkZ3hlp9UIhypa5Cf40iwOE=.pem", + "location": "security-state-staging/intermediates/ea0a20eb-041e-467e-9b0a-9cc38c85baf8.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "XJxD3hWuTDkFb4/QXFPChkZ3hlp9UIhypa5Cf40iwOE=", + "crlite_enrolled": true, + "id": "c79b7b86-d814-4f7c-aad6-03a1383c763c", + "last_modified": 1647701842252 + }, + { + "schema": 1647654826542, + "derHash": "NCY+lCTYGblLz6h+ad2e9DIF1OLehKU0lzFAY9gilps=", + "subject": "CN=Verokey High Assurance Verified Business ECC,O=Verokey,C=AU", + "subjectDN": "MFYxCzAJBgNVBAYTAkFVMRAwDgYDVQQKEwdWZXJva2V5MTUwMwYDVQQDEyxWZXJva2V5IEhpZ2ggQXNzdXJhbmNlIFZlcmlmaWVkIEJ1c2luZXNzIEVDQw==", + "whitelist": false, + "attachment": { + "hash": "b6f22240546a8b483896de6c2db0fccfb73386b23b7ad01978cf5ba9a6082950", + "size": 1260, + "filename": "bwcsf3KkBp7k-_kn61hwGrohcM2771HiHahosrGrHfc=.pem", + "location": "security-state-staging/intermediates/c9e91312-d78c-4dcb-ac34-fa8d5551fd6a.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "bwcsf3KkBp7k+/kn61hwGrohcM2771HiHahosrGrHfc=", + "crlite_enrolled": false, + "id": "d6958d94-103f-4a2b-92b9-2b27cabf0600", + "last_modified": 1647658654006 + }, + { + "schema": 1647654825609, + "derHash": "XuWq1wSotpiIP0ApcgyPoct5yfo0Y8wkNAYp6+bFpis=", + "subject": "CN=Verokey Secure Web G2,O=Verokey,C=AU", + "subjectDN": "MD8xCzAJBgNVBAYTAkFVMRAwDgYDVQQKEwdWZXJva2V5MR4wHAYDVQQDExVWZXJva2V5IFNlY3VyZSBXZWIgRzI=", + "whitelist": false, + "attachment": { + "hash": "8d08fa773eab40914d633ec0fc0c90f83553e8e8900c895ff3b9fac73917357c", + "size": 1683, + "filename": "YOICDd74CBBTQQEfP4A_1QP-tDZ8_JTzjErj5b1IsYo=.pem", + "location": "security-state-staging/intermediates/b1916190-6e0c-4a41-88c9-4b5aadcf3649.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "YOICDd74CBBTQQEfP4A/1QP+tDZ8/JTzjErj5b1IsYo=", + "crlite_enrolled": false, + "id": "c449be6f-2cc0-481e-af04-2182142ce9f1", + "last_modified": 1647658653997 + }, + { + "schema": 1647654824627, + "derHash": "vP0mFOQtY8WWkcPOi+x5LeL86JztT5xGDQqEhXMHT8s=", + "subject": "CN=Verokey Secure Web ECC,O=Verokey,C=AU", + "subjectDN": "MEAxCzAJBgNVBAYTAkFVMRAwDgYDVQQKEwdWZXJva2V5MR8wHQYDVQQDExZWZXJva2V5IFNlY3VyZSBXZWIgRUND", + "whitelist": false, + "attachment": { + "hash": "29224ac45981f9cd3a7eb1dce987dac6168937b2ad8eea795026a1f3d0a67941", + "size": 1191, + "filename": "XmuaPGGLJTHOHi-UMbaLYNSGsmun3VCxmY6w4RyyJuM=.pem", + "location": "security-state-staging/intermediates/e3df8599-af15-414f-9c42-298124ca648c.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "XmuaPGGLJTHOHi+UMbaLYNSGsmun3VCxmY6w4RyyJuM=", + "crlite_enrolled": false, + "id": "ac31c3ff-db37-4e38-80a3-b0c09a6753df", + "last_modified": 1647658653989 + }, + { + "schema": 1647654822732, + "derHash": "269Y3r+7od6OBNyueiwWOwnTnn5zLpHeqGVcK9cyqwA=", + "subject": "CN=Verokey Secure Web,O=Verokey,C=AU", + "subjectDN": "MDwxCzAJBgNVBAYTAkFVMRAwDgYDVQQKEwdWZXJva2V5MRswGQYDVQQDExJWZXJva2V5IFNlY3VyZSBXZWI=", + "whitelist": false, + "attachment": { + "hash": "c5f50c22da86ef7b7de5af316d9e01bee66bb2b8b74913b1b1b1ddca99ad5b8a", + "size": 1678, + "filename": "BLGkEY8QPCtAg4Yd-57Aiig-74Lh325P803f8vLhBoc=.pem", + "location": "security-state-staging/intermediates/36c3a520-0118-469c-a721-cfd21fcfa174.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "BLGkEY8QPCtAg4Yd+57Aiig+74Lh325P803f8vLhBoc=", + "crlite_enrolled": false, + "id": "8d5e7e22-7c97-431c-b156-e2e7c90dbc77", + "last_modified": 1647658653980 + }, + { + "schema": 1647654821815, + "derHash": "vokmSlgxMBK3SWA8m+vDzXkU23FqSeXg6pfkOjiDpd8=", + "subject": "CN=Verokey High Assurance Verified Business G2,O=Verokey,C=AU", + "subjectDN": "MFUxCzAJBgNVBAYTAkFVMRAwDgYDVQQKEwdWZXJva2V5MTQwMgYDVQQDEytWZXJva2V5IEhpZ2ggQXNzdXJhbmNlIFZlcmlmaWVkIEJ1c2luZXNzIEcy", + "whitelist": false, + "attachment": { + "hash": "81e4f6e788d4f4a8e65ebc2209113e276031df40b369a1322d53a330142cfa5e", + "size": 2410, + "filename": "tlfNnL_wJhxfoQr77OWpEGwaZB50PiKeJS1xv1JczIc=.pem", + "location": "security-state-staging/intermediates/f3309154-7af6-449b-a26d-1fc2a0bf5a1f.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "tlfNnL/wJhxfoQr77OWpEGwaZB50PiKeJS1xv1JczIc=", + "crlite_enrolled": false, + "id": "fc71f24e-260a-458c-b6fc-49efd9879a92", + "last_modified": 1647658653971 + }, + { + "schema": 1647654820829, + "derHash": "ftvm+MSaHjmIyq3UOLcvB7avnOdRz1g1FjFh1jyuTd8=", + "subject": "CN=Verokey Verified Business G2,O=Verokey,C=AU", + "subjectDN": "MEYxCzAJBgNVBAYTAkFVMRAwDgYDVQQKEwdWZXJva2V5MSUwIwYDVQQDExxWZXJva2V5IFZlcmlmaWVkIEJ1c2luZXNzIEcy", + "whitelist": false, + "attachment": { + "hash": "bebdb836f3821f22a2cf8a9d37d5cf2f9b6170f67a088076c6a0a61f478c9e99", + "size": 1865, + "filename": "F0x5cftsPCB48ynEovjelRoxjTrQOKe0TVZJV_E5uNY=.pem", + "location": "security-state-staging/intermediates/7bc559dd-136e-4b22-bba0-46275c42e46a.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "F0x5cftsPCB48ynEovjelRoxjTrQOKe0TVZJV/E5uNY=", + "crlite_enrolled": false, + "id": "fb5813da-8a74-4f21-8165-3fe6274ab2c0", + "last_modified": 1647658653962 + }, + { + "schema": 1647654819872, + "derHash": "8e07Nckvpdqqo91F+Z66O4I6L7HCSonO0WmdleAlZKI=", + "subject": "CN=Verokey Verified Business ECC,O=Verokey,C=AU", + "subjectDN": "MEcxCzAJBgNVBAYTAkFVMRAwDgYDVQQKEwdWZXJva2V5MSYwJAYDVQQDEx1WZXJva2V5IFZlcmlmaWVkIEJ1c2luZXNzIEVDQw==", + "whitelist": false, + "attachment": { + "hash": "3f188e11517ee73f64bbd36e9ee158a73be3ad9815dbfc0fd11f743283d12684", + "size": 1199, + "filename": "OIPaHQX_1ijRXDAogCIp0fJvOFmAwNZfokh0jDupQ_s=.pem", + "location": "security-state-staging/intermediates/873835df-c179-4e1d-b67d-65d580190ce4.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "OIPaHQX/1ijRXDAogCIp0fJvOFmAwNZfokh0jDupQ/s=", + "crlite_enrolled": false, + "id": "42dc8291-ec41-4fad-8526-b3a45b3daaa0", + "last_modified": 1647658653954 + }, + { + "schema": 1647654818889, + "derHash": "1sxXuSYOmwEt+sQKgb/AIrktkfpJt8RcWd+GcCqsKQY=", + "subject": "CN=Verokey Verified Business,O=Verokey,C=AU", + "subjectDN": "MEMxCzAJBgNVBAYTAkFVMRAwDgYDVQQKEwdWZXJva2V5MSIwIAYDVQQDExlWZXJva2V5IFZlcmlmaWVkIEJ1c2luZXNz", + "whitelist": false, + "attachment": { + "hash": "ad91c21bd6c4e12bab1179f64d3061f1a8c3f99e4e8edc9902360c09c0d6f009", + "size": 1687, + "filename": "jVuisrysh5HDay17vNJwtigzbmgB6GyT5_TBkYrj7aQ=.pem", + "location": "security-state-staging/intermediates/88d20507-b598-4ce5-9ba2-761d21a4e419.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "jVuisrysh5HDay17vNJwtigzbmgB6GyT5/TBkYrj7aQ=", + "crlite_enrolled": false, + "id": "4e6df119-41d9-4a2f-833f-eded8105015b", + "last_modified": 1647658653945 + }, + { + "schema": 1647654823652, + "derHash": "Lw44WGTS3KiseuSBZCh7/kUSbGvNkukbs98SUMey2ro=", + "subject": "CN=Verokey High Assurance Verified Business,O=Verokey,C=AU", + "subjectDN": "MFIxCzAJBgNVBAYTAkFVMRAwDgYDVQQKEwdWZXJva2V5MTEwLwYDVQQDEyhWZXJva2V5IEhpZ2ggQXNzdXJhbmNlIFZlcmlmaWVkIEJ1c2luZXNz", + "whitelist": false, + "attachment": { + "hash": "046bc1ca834973eaf6354dd03041477d215c49ce451e42a47d536a0ed8881434", + "size": 1707, + "filename": "ta5zRgM3pICBxt5qegtMsZETN77Zk1tN6gApXWT5Oz0=.pem", + "location": "security-state-staging/intermediates/e513b328-655a-441e-86ca-5d563a8439fd.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "ta5zRgM3pICBxt5qegtMsZETN77Zk1tN6gApXWT5Oz0=", + "crlite_enrolled": false, + "id": "5163308a-7837-468c-9467-d3cb0e6db613", + "last_modified": 1647658653936 }, { "schema": 1647442638278, @@ -72,24 +324,6 @@ "id": "e0227843-5910-4bd0-adaa-01d35e7a7005", "last_modified": 1647406642091 }, - { - "schema": 1647376760748, - "derHash": "puYUXPpzIrIt1vuvHfgzN4jbefGbEbaVz8kHtA0paQg=", - "subject": "CN=PSW GROUP (RSA) OV CA,O=PSW GROUP GmbH & Co. KG,C=DE", - "subjectDN": "ME8xCzAJBgNVBAYTAkRFMSAwHgYDVQQKDBdQU1cgR1JPVVAgR21iSCAmIENvLiBLRzEeMBwGA1UEAxMVUFNXIEdST1VQIChSU0EpIE9WIENB", - "whitelist": false, - "attachment": { - "hash": "89a81c5442a54c9e5195381aa5bf5118b69c785fe73b5919acc00fa7735b5960", - "size": 2081, - "filename": "XJxD3hWuTDkFb4_QXFPChkZ3hlp9UIhypa5Cf40iwOE=.pem", - "location": "security-state-staging/intermediates/ea0a20eb-041e-467e-9b0a-9cc38c85baf8.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "XJxD3hWuTDkFb4/QXFPChkZ3hlp9UIhypa5Cf40iwOE=", - "crlite_enrolled": false, - "id": "c79b7b86-d814-4f7c-aad6-03a1383c763c", - "last_modified": 1647406642079 - }, { "schema": 1647406127910, "derHash": "RCLpY+5TzVjMn4XNQL9f/sAJX98aFUU1ZhwcBrytxps=", @@ -810,42 +1044,6 @@ "id": "d44bf60e-eb72-4be4-9bab-be260301ffb8", "last_modified": 1646449054467 }, - { - "schema": 1646448544694, - "derHash": "mKDDuhiZJYWV0E8V0TTFcy6GS3VcZIpI0cF/CiYO9ac=", - "subject": "CN=TrustSafe TLS RSA SubCA R1,O=Isimtescil Bilisim A.S.,C=TR", - "subjectDN": "MFQxCzAJBgNVBAYTAlRSMSAwHgYDVQQKDBdJc2ltdGVzY2lsIEJpbGlzaW0gQS5TLjEjMCEGA1UEAwwaVHJ1c3RTYWZlIFRMUyBSU0EgU3ViQ0EgUjE=", - "whitelist": false, - "attachment": { - "hash": "90c93b3a50c031ef4beb4224d3085eafa66d1c8be8d4bc2bdeea1476967ed709", - "size": 2365, - "filename": "_SrUGYsWpDW44q_gIPL4e-vKroLPu0_n0OySZvb5g6U=.pem", - "location": "security-state-staging/intermediates/9849321e-0fe1-42f2-a509-ed0dcfa3b2e1.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "/SrUGYsWpDW44q/gIPL4e+vKroLPu0/n0OySZvb5g6U=", - "crlite_enrolled": false, - "id": "0fc46ca8-adb2-450b-9bd7-49706b5eca52", - "last_modified": 1646449054457 - }, - { - "schema": 1646362122200, - "derHash": "mH/y47JaOhTLhD2Qezx/AHwnSSGvwQAX+F1PrnsMuLY=", - "subject": "CN=DigiCert Assured ID TLS RSA4096 SHA256 2022 CA1,O=DigiCert\, Inc.,C=US", - "subjectDN": "MGAxCzAJBgNVBAYTAlVTMRcwFQYDVQQKEw5EaWdpQ2VydCwgSW5jLjE4MDYGA1UEAxMvRGlnaUNlcnQgQXNzdXJlZCBJRCBUTFMgUlNBNDA5NiBTSEEyNTYgMjAyMiBDQTE=", - "whitelist": false, - "attachment": { - "hash": "ea98651742d65855a2b89e7d033a40bf1adf3bb22e730eda3ea9896019690d52", - "size": 2089, - "filename": "t6F6ltc_eNYw0WY4vUTTo7SvuavxVPXIIpqLyWMQG-g=.pem", - "location": "security-state-staging/intermediates/27c32677-48fe-4613-8b2f-ca869cef0d85.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "t6F6ltc/eNYw0WY4vUTTo7SvuavxVPXIIpqLyWMQG+g=", - "crlite_enrolled": false, - "id": "3ef3ce19-bcfb-484b-9e2e-253adcc956b5", - "last_modified": 1646362650608 - }, { "schema": 1646254109453, "derHash": "YZB58QCmv7ZcsumIkN0KxJK2RmXiVKZqUp2PWRfYKrE=", @@ -6210,24 +6408,6 @@ "id": "5905f153-1bda-44df-8205-013b8756834a", "last_modified": 1645373937715 }, - { - "schema": 1645051712843, - "derHash": "s5xKRZbTGRr6Oz0lTSjlxIL80NUA4Kkzf5knfLii7vg=", - "subject": "CN=TrustID Server CA A52,OU=TrustID Server,O=IdenTrust,C=US", - "subjectDN": "MFoxCzAJBgNVBAYTAlVTMRIwEAYDVQQKEwlJZGVuVHJ1c3QxFzAVBgNVBAsTDlRydXN0SUQgU2VydmVyMR4wHAYDVQQDExVUcnVzdElEIFNlcnZlciBDQSBBNTI=", - "whitelist": false, - "attachment": { - "hash": "98d3cfa7dab9b95ecb8cc38637e485c249a12ae6ca445e96105f2708a82c09fa", - "size": 2442, - "filename": "baHWPQeCjK_t6GB-okH73C13ZXVDr2QAVt6jQTsq2Ys=.pem", - "location": "security-state-staging/intermediates/fce94b6e-1e43-4d74-8a2d-cfe52aa9d807.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "baHWPQeCjK/t6GB+okH73C13ZXVDr2QAVt6jQTsq2Ys=", - "crlite_enrolled": false, - "id": "57eb281e-444c-4634-bcd1-8b742ffc9da6", - "last_modified": 1645153040489 - }, { "schema": 1645145331886, "derHash": "z20DM9C+LGmkLUU5YN7p4QnZ6IQ+owYaFnHW6vhet9g=", @@ -9972,24 +10152,6 @@ "id": "e8a303db-012e-4b10-88d9-69dca19e2f97", "last_modified": 1641481036891 }, - { - "schema": 1641434250667, - "derHash": "lzpBJ2/9AeAnoqrUnjTDeEbT6Xb/amILZxLjODIEGqY=", - "subject": "CN=Go Daddy Secure Certificate Authority - G2,OU=http://certs.godaddy.com/repository/,O=GoDaddy.com%5C%5C, Inc.,L=Scottsdale,ST=Arizona,C=US", - "subjectDN": "MIG0MQswCQYDVQQGEwJVUzEQMA4GA1UECBMHQXJpem9uYTETMBEGA1UEBxMKU2NvdHRzZGFsZTEaMBgGA1UEChMRR29EYWRkeS5jb20sIEluYy4xLTArBgNVBAsTJGh0dHA6Ly9jZXJ0cy5nb2RhZGR5LmNvbS9yZXBvc2l0b3J5LzEzMDEGA1UEAxMqR28gRGFkZHkgU2VjdXJlIENlcnRpZmljYXRlIEF1dGhvcml0eSAtIEcy", - "whitelist": false, - "attachment": { - "hash": "a111efc20329e87b541cfc3e7f526fc54bb24624fddf210f4347b9fadfb1ab6b", - "size": 1727, - "filename": "8Rw90Ej3Ttt8RRkrg-WYDS9n7IS03bk5bjP_UXPtaY8=.pem", - "location": "security-state-staging/intermediates/a2a04dfe-6201-4d0a-b8cf-80d2975bfb51.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "8Rw90Ej3Ttt8RRkrg+WYDS9n7IS03bk5bjP/UXPtaY8=", - "crlite_enrolled": true, - "id": "549c92e2-3738-4c8c-ae37-407e4e6158ce", - "last_modified": 1641437839063 - }, { "schema": 1641305381754, "derHash": "xCpNjAkEuyEZBvQ7RBu7ybWgA7o2EYef00rldvfC92Q=",
This is an automated email from the git hooks/post-receive script.
richard pushed a commit to branch tor-browser-91.8.0esr-11.0-1 in repository tor-browser.
commit 6e9e7a2feaeb6aeb752820b6b9323cb21073eb5a Author: Kershaw Chang kershaw@mozilla.com AuthorDate: Wed Mar 16 20:05:59 2022 +0000
Bug 1759506 - Avoid crashing if mReservedClientInfo already has something, r=edenchuang a=RyanVM
Differential Revision: https://phabricator.services.mozilla.com/D141262 --- netwerk/base/LoadInfo.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/netwerk/base/LoadInfo.cpp b/netwerk/base/LoadInfo.cpp index a7ba12b00f95f..2bca01945ce0e 100644 --- a/netwerk/base/LoadInfo.cpp +++ b/netwerk/base/LoadInfo.cpp @@ -1768,9 +1768,12 @@ void LoadInfo::SetReservedClientInfo(const ClientInfo& aClientInfo) { MOZ_DIAGNOSTIC_ASSERT(mInitialClientInfo.isNothing()); // Treat assignments of the same value as a no-op. The emplace below // will normally assert when overwriting an existing value. - if (mReservedClientInfo.isSome() && - mReservedClientInfo.ref() == aClientInfo) { - return; + if (mReservedClientInfo.isSome()) { + if (mReservedClientInfo.ref() == aClientInfo) { + return; + } + MOZ_DIAGNOSTIC_ASSERT(false, "mReservedClientInfo already set"); + mReservedClientInfo.reset(); } mReservedClientInfo.emplace(aClientInfo); }
This is an automated email from the git hooks/post-receive script.
richard pushed a commit to branch tor-browser-91.8.0esr-11.0-1 in repository tor-browser.
commit d7c70a67c9c5d9dd70e70f4563d92c0e9a9f5e6d Author: Lars T Hansen lhansen@mozilla.com AuthorDate: Mon Mar 21 08:14:32 2022 +0000
Bug 1687417 - Disable static_assert on NOJIT 32-bit. r=jseward, a=RyanVM
Backport for ESR91, see original patch for more discussion.
Differential Revision: https://phabricator.services.mozilla.com/D141572 --- js/src/wasm/WasmFrame.cpp | 2 ++ 1 file changed, 2 insertions(+)
diff --git a/js/src/wasm/WasmFrame.cpp b/js/src/wasm/WasmFrame.cpp index 9a1de91b4a502..495f3bf0bc51d 100644 --- a/js/src/wasm/WasmFrame.cpp +++ b/js/src/wasm/WasmFrame.cpp @@ -54,8 +54,10 @@ void DebugFrame::alignmentStaticAsserts() {
static_assert(WasmStackAlignment >= Alignment, "Aligned by ABI before pushing DebugFrame"); +#ifndef JS_CODEGEN_NONE static_assert((offsetof(DebugFrame, frame_) + sizeof(Frame)) % Alignment == 0, "Aligned after pushing DebugFrame"); +#endif #ifdef JS_CODEGEN_ARM64 // This constraint may or may not be necessary. If you hit this because // you've changed the frame size then feel free to remove it, but be extra
This is an automated email from the git hooks/post-receive script.
richard pushed a commit to branch tor-browser-91.8.0esr-11.0-1 in repository tor-browser.
commit 4ed1d7ab3cfe4cf806746d560cc6917b15bee767 Author: Andrew Osmond aosmond@mozilla.com AuthorDate: Mon Mar 21 09:15:45 2022 -0400
Bug 1691774 - Check shmem allocation/mapping failures in ClientWebGLContext. r=jgilbert, a=RyanVM
We use webgl::RaiiShmem in a few places to read in pixel buffers from a call to the compositor process. Shmems might fail to be mapped into our process, probably due to virtual memory constraints, and we should check for that condition.
Differential Revision: https://phabricator.services.mozilla.com/D136365 --- dom/canvas/ClientWebGLContext.cpp | 27 ++++++++++++++++++++------- dom/canvas/ClientWebGLContext.h | 3 ++- 2 files changed, 22 insertions(+), 8 deletions(-)
diff --git a/dom/canvas/ClientWebGLContext.cpp b/dom/canvas/ClientWebGLContext.cpp index dfe2550d047d3..7f7dc1e85c307 100644 --- a/dom/canvas/ClientWebGLContext.cpp +++ b/dom/canvas/ClientWebGLContext.cpp @@ -909,6 +909,7 @@ RefPtrgfx::SourceSurface ClientWebGLContext::GetFrontBufferSnapshot( } const auto& surfSize = res.surfSize; const webgl::RaiiShmem shmem{child, res.shmem}; + if (!shmem) return nullptr; const auto& shmemBytes = shmem.ByteRange(); if (!surfSize.x) return nullptr; // Zero means failure.
@@ -1002,7 +1003,7 @@ RefPtrgfx::DataSourceSurface ClientWebGLContext::BackBufferSnapshot() {
const auto desc = webgl::ReadPixelsDesc{{0, 0}, size}; const auto range = Range<uint8_t>(map.GetData(), stride * size.y); - DoReadPixels(desc, range); + if (!DoReadPixels(desc, range)) return nullptr;
const auto begin = range.begin().get();
@@ -3099,6 +3100,10 @@ void ClientWebGLContext::GetBufferSubData(GLenum target, GLintptr srcByteOffset, return; } const webgl::RaiiShmem shmem{child, rawShmem}; + if (!shmem) { + EnqueueError(LOCAL_GL_OUT_OF_MEMORY, "Failed to map in sub data buffer."); + return; + }
const auto shmemView = shmem.ByteRange(); MOZ_RELEASE_ASSERT(shmemView.length() == 1 + destView.length()); @@ -4575,18 +4580,20 @@ void ClientWebGLContext::ReadPixels(GLint x, GLint y, GLsizei width, {format, type}, state.mPixelPackState}; const auto range = Range<uint8_t>(bytes, byteLen); - DoReadPixels(desc, range); + if (!DoReadPixels(desc, range)) { + return; + } }
-void ClientWebGLContext::DoReadPixels(const webgl::ReadPixelsDesc& desc, +bool ClientWebGLContext::DoReadPixels(const webgl::ReadPixelsDesc& desc, const Range<uint8_t> dest) const { const auto notLost = mNotLost; // Hold a strong-ref to prevent LoseContext=>UAF. - if (!notLost) return; + if (!notLost) return false; const auto& inProcess = notLost->inProcess; if (inProcess) { inProcess->ReadPixelsInto(desc, dest); - return; + return true; } const auto& child = notLost->outOfProcess; child->FlushPendingCmds(); @@ -4594,16 +4601,20 @@ void ClientWebGLContext::DoReadPixels(const webgl::ReadPixelsDesc& desc, if (!child->SendReadPixels(desc, dest.length(), &res)) { res = {}; } - if (!res.byteStride) return; + if (!res.byteStride) return false; const auto& byteStride = res.byteStride; const auto& subrect = res.subrect; const webgl::RaiiShmem shmem{child, res.shmem}; const auto& shmemBytes = shmem.ByteRange(); + if (!shmem) { + EnqueueError(LOCAL_GL_OUT_OF_MEMORY, "Failed to map in back buffer."); + return false; + }
uint8_t bpp; if (!GetBytesPerPixel(desc.pi, &bpp)) { MOZ_ASSERT(false); - return; + return false; }
const auto& packing = desc.packState; @@ -4628,6 +4639,8 @@ void ClientWebGLContext::DoReadPixels(const webgl::ReadPixelsDesc& desc, } Memcpy(destItr, srcItr, xByteSize); } + + return true; }
bool ClientWebGLContext::ReadPixels_SharedPrecheck( diff --git a/dom/canvas/ClientWebGLContext.h b/dom/canvas/ClientWebGLContext.h index 12e5d5782be49..c9f185dd1c790 100644 --- a/dom/canvas/ClientWebGLContext.h +++ b/dom/canvas/ClientWebGLContext.h @@ -1009,7 +1009,8 @@ class ClientWebGLContext final : public nsICanvasRenderingContextInternal,
private: RefPtrgfx::DataSourceSurface BackBufferSnapshot(); - void DoReadPixels(const webgl::ReadPixelsDesc&, Range<uint8_t>) const; + [[nodiscard]] bool DoReadPixels(const webgl::ReadPixelsDesc&, + Range<uint8_t>) const; uvec2 DrawingBufferSize();
void AfterDrawCall() {
This is an automated email from the git hooks/post-receive script.
richard pushed a commit to branch tor-browser-91.8.0esr-11.0-1 in repository tor-browser.
commit 513b0d091fb177b04706a51720bfa33b40ce2beb Author: Andrew McCreight continuation@gmail.com AuthorDate: Sat Mar 12 15:30:37 2022 +0000
Bug 1758549, part 1 - Check that WebVR is enabled before creating PVR, PVRGPU and PVRLayer actors. r=jgilbert a=RyanVM
Differential Revision: https://phabricator.services.mozilla.com/D140784 --- gfx/vr/ipc/VRGPUChild.cpp | 5 +++++ gfx/vr/ipc/VRGPUParent.cpp | 5 +++++ gfx/vr/ipc/VRLayerChild.cpp | 5 +++++ gfx/vr/ipc/VRManagerParent.cpp | 5 +++++ gfx/vr/ipc/VRProcessChild.cpp | 6 ++++++ gfx/vr/ipc/VRProcessParent.cpp | 6 ++++++ testing/web-platform/meta/webvr/__dir__.ini | 1 + 7 files changed, 33 insertions(+)
diff --git a/gfx/vr/ipc/VRGPUChild.cpp b/gfx/vr/ipc/VRGPUChild.cpp index f8b90a5b4423b..793778c03276b 100644 --- a/gfx/vr/ipc/VRGPUChild.cpp +++ b/gfx/vr/ipc/VRGPUChild.cpp @@ -9,6 +9,7 @@
#include "mozilla/ipc/Endpoint.h" #include "mozilla/layers/CompositorThread.h" +#include "mozilla/StaticPrefs_dom.h" #include "VRManager.h"
namespace mozilla { @@ -21,6 +22,10 @@ bool VRGPUChild::InitForGPUProcess(Endpoint<PVRGPUChild>&& aEndpoint) { MOZ_ASSERT(NS_IsMainThread()); MOZ_ASSERT(!sVRGPUChildSingleton);
+ if (!StaticPrefs::dom_vr_enabled() && !StaticPrefs::dom_vr_webxr_enabled()) { + return false; + } + RefPtr<VRGPUChild> child(new VRGPUChild()); if (!aEndpoint.Bind(child)) { return false; diff --git a/gfx/vr/ipc/VRGPUParent.cpp b/gfx/vr/ipc/VRGPUParent.cpp index ce1eef77fac5c..72d943086d2a4 100644 --- a/gfx/vr/ipc/VRGPUParent.cpp +++ b/gfx/vr/ipc/VRGPUParent.cpp @@ -9,6 +9,7 @@
#include "mozilla/ipc/Endpoint.h" #include "mozilla/ipc/ProcessChild.h" +#include "mozilla/StaticPrefs_dom.h"
namespace mozilla { namespace gfx { @@ -43,6 +44,10 @@ void VRGPUParent::DeferredDestroy() { mSelfRef = nullptr; } /* static */ RefPtr<VRGPUParent> VRGPUParent::CreateForGPU( Endpoint<PVRGPUParent>&& aEndpoint) { + if (!StaticPrefs::dom_vr_enabled() && !StaticPrefs::dom_vr_webxr_enabled()) { + return nullptr; + } + RefPtr<VRGPUParent> vcp = new VRGPUParent(aEndpoint.OtherPid()); GetCurrentSerialEventTarget()->Dispatch( NewRunnableMethod<Endpoint<PVRGPUParent>&&>("gfx::VRGPUParent::Bind", vcp, diff --git a/gfx/vr/ipc/VRLayerChild.cpp b/gfx/vr/ipc/VRLayerChild.cpp index fd9dd19988016..57f69f7d2b1f3 100644 --- a/gfx/vr/ipc/VRLayerChild.cpp +++ b/gfx/vr/ipc/VRLayerChild.cpp @@ -10,6 +10,7 @@ #include "mozilla/layers/ImageBridgeChild.h" #include "mozilla/layers/LayersMessages.h" // for TimedTexture #include "mozilla/layers/SyncObject.h" // for SyncObjectClient +#include "mozilla/StaticPrefs_dom.h" #include "mozilla/StaticPrefs_webgl.h"
#include "ClientWebGLContext.h" @@ -122,6 +123,10 @@ void VRLayerChild::ActorDestroy(ActorDestroyReason aWhy) { mIPCOpen = false; }
// static PVRLayerChild* VRLayerChild::CreateIPDLActor() { + if (!StaticPrefs::dom_vr_enabled() && !StaticPrefs::dom_vr_webxr_enabled()) { + return nullptr; + } + VRLayerChild* c = new VRLayerChild(); c->AddIPDLReference(); return c; diff --git a/gfx/vr/ipc/VRManagerParent.cpp b/gfx/vr/ipc/VRManagerParent.cpp index 5d154e1b32d00..01a2f4e6a566f 100644 --- a/gfx/vr/ipc/VRManagerParent.cpp +++ b/gfx/vr/ipc/VRManagerParent.cpp @@ -10,6 +10,7 @@ #include "mozilla/gfx/PVRManagerParent.h" #include "mozilla/ipc/Endpoint.h" #include "mozilla/ipc/ProtocolTypes.h" +#include "mozilla/StaticPrefs_dom.h" #include "mozilla/ipc/ProtocolUtils.h" // for IToplevelProtocol #include "mozilla/TimeStamp.h" // for TimeStamp #include "mozilla/Unused.h" @@ -45,6 +46,10 @@ VRManagerParent::~VRManagerParent() {
PVRLayerParent* VRManagerParent::AllocPVRLayerParent(const uint32_t& aDisplayID, const uint32_t& aGroup) { + if (!StaticPrefs::dom_vr_enabled() && !StaticPrefs::dom_vr_webxr_enabled()) { + return nullptr; + } + RefPtr<VRLayerParent> layer; layer = new VRLayerParent(aDisplayID, aGroup); VRManager* vm = VRManager::Get(); diff --git a/gfx/vr/ipc/VRProcessChild.cpp b/gfx/vr/ipc/VRProcessChild.cpp index 4da047f7afea1..9fb42ab307331 100644 --- a/gfx/vr/ipc/VRProcessChild.cpp +++ b/gfx/vr/ipc/VRProcessChild.cpp @@ -9,6 +9,7 @@ #include "mozilla/BackgroundHangMonitor.h" #include "mozilla/ipc/IOThreadChild.h" #include "mozilla/ipc/ProcessUtils.h" +#include "mozilla/StaticPrefs_dom.h"
using namespace mozilla; using namespace mozilla::gfx; @@ -28,6 +29,11 @@ VRParent* VRProcessChild::GetVRParent() { }
bool VRProcessChild::Init(int aArgc, char* aArgv[]) { + if (!StaticPrefs::dom_vr_enabled() && !StaticPrefs::dom_vr_webxr_enabled()) { + NS_WARNING("VR is not enabled when trying to create a VRParent"); + return false; + } + char* parentBuildID = nullptr; char* prefsHandle = nullptr; char* prefMapHandle = nullptr; diff --git a/gfx/vr/ipc/VRProcessParent.cpp b/gfx/vr/ipc/VRProcessParent.cpp index e24cff62c2cce..0f810779f0f83 100644 --- a/gfx/vr/ipc/VRProcessParent.cpp +++ b/gfx/vr/ipc/VRProcessParent.cpp @@ -156,6 +156,12 @@ bool VRProcessParent::InitAfterConnect(bool aSucceeded) { return false; }
+ if (!StaticPrefs::dom_vr_enabled() && + !StaticPrefs::dom_vr_webxr_enabled()) { + NS_WARNING("VR is not enabled when trying to create a VRChild"); + return false; + } + mVRChild = MakeUnique<VRChild>(this);
DebugOnly<bool> rv = mVRChild->Open( diff --git a/testing/web-platform/meta/webvr/__dir__.ini b/testing/web-platform/meta/webvr/__dir__.ini index d6cfe0eb08777..bde38b749b459 100644 --- a/testing/web-platform/meta/webvr/__dir__.ini +++ b/testing/web-platform/meta/webvr/__dir__.ini @@ -1 +1,2 @@ prefs: [dom.vr.enabled:true, dom.vr.prompt.testing:true, dom.vr.prompt.testing.allow:true, dom.security.featurePolicy.experimental.enabled:true, dom.security.featurePolicy.header.enabled:true, dom.security.featurePolicy.webidl.enabled:true] +leak-threshold: [vr:500]
This is an automated email from the git hooks/post-receive script.
richard pushed a commit to branch tor-browser-91.8.0esr-11.0-1 in repository tor-browser.
commit 3c92dd82fe14bf92a20c63606a68cf1d455cf5b3 Author: Andrew McCreight continuation@gmail.com AuthorDate: Sat Mar 12 15:30:37 2022 +0000
Bug 1758549, part 2 - Guard a few more entry points into VRManager. r=jgilbert a=RyanVM
Differential Revision: https://phabricator.services.mozilla.com/D140785 --- gfx/vr/VRManager.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+)
diff --git a/gfx/vr/VRManager.cpp b/gfx/vr/VRManager.cpp index 0af97ee56f761..668e454994691 100644 --- a/gfx/vr/VRManager.cpp +++ b/gfx/vr/VRManager.cpp @@ -858,6 +858,9 @@ void VRManager::DispatchRuntimeCapabilitiesUpdate() { }
void VRManager::StopAllHaptics() { + if (mState != VRManagerState::Active) { + return; + } for (size_t i = 0; i < mozilla::ArrayLength(mBrowserState.hapticState); i++) { ClearHapticSlot(i); } @@ -1015,6 +1018,10 @@ bool VRManager::RunPuppet(const nsTArray<uint64_t>& aBuffer, }
void VRManager::ResetPuppet(VRManagerParent* aManagerParent) { + if (!StaticPrefs::dom_vr_puppet_enabled()) { + return; + } + mManagerParentsWaitingForPuppetReset.Insert(aManagerParent); if (mManagerParentRunningPuppet != nullptr) { Unused << mManagerParentRunningPuppet @@ -1516,6 +1523,10 @@ void VRManager::CancelCurrentSubmitTask() { NS_IMETHODIMP VRManager::Observe(nsISupports* subject, const char* topic, const char16_t* data) { + if (!StaticPrefs::dom_vr_enabled() && !StaticPrefs::dom_vr_webxr_enabled()) { + return NS_OK; + } + if (!strcmp(topic, "application-background")) { // StopTasks() is called later in the timer thread based on this flag to // avoid threading issues.
This is an automated email from the git hooks/post-receive script.
richard pushed a commit to branch tor-browser-91.8.0esr-11.0-1 in repository tor-browser.
commit 0208a1b72665e13cd50cbc5a4c4b2d410075bd7f Author: Andrew McCreight continuation@gmail.com AuthorDate: Wed Mar 16 14:36:39 2022 +0000
Bug 1759432 - Don't check for the WebVR pref in VRProcessChild::Init. r=jgilbert a=RyanVM
This check seems to fail even if the VR pref is enabled. I think this is because we are running this code while very early in process startup. I think it will not introduce risk because the other process in this case will be the parent process, so if that's been taken over then we've already lost.
This also seems to fix the leak that I had to ignore before, probably because the VR process wasn't even starting up properly before, so I've removed the leak threshold I had to add.
Differential Revision: https://phabricator.services.mozilla.com/D141170 --- gfx/vr/ipc/VRProcessChild.cpp | 5 ----- testing/web-platform/meta/webvr/__dir__.ini | 1 - 2 files changed, 6 deletions(-)
diff --git a/gfx/vr/ipc/VRProcessChild.cpp b/gfx/vr/ipc/VRProcessChild.cpp index 9fb42ab307331..a6bdb6c9542a9 100644 --- a/gfx/vr/ipc/VRProcessChild.cpp +++ b/gfx/vr/ipc/VRProcessChild.cpp @@ -29,11 +29,6 @@ VRParent* VRProcessChild::GetVRParent() { }
bool VRProcessChild::Init(int aArgc, char* aArgv[]) { - if (!StaticPrefs::dom_vr_enabled() && !StaticPrefs::dom_vr_webxr_enabled()) { - NS_WARNING("VR is not enabled when trying to create a VRParent"); - return false; - } - char* parentBuildID = nullptr; char* prefsHandle = nullptr; char* prefMapHandle = nullptr; diff --git a/testing/web-platform/meta/webvr/__dir__.ini b/testing/web-platform/meta/webvr/__dir__.ini index bde38b749b459..d6cfe0eb08777 100644 --- a/testing/web-platform/meta/webvr/__dir__.ini +++ b/testing/web-platform/meta/webvr/__dir__.ini @@ -1,2 +1 @@ prefs: [dom.vr.enabled:true, dom.vr.prompt.testing:true, dom.vr.prompt.testing.allow:true, dom.security.featurePolicy.experimental.enabled:true, dom.security.featurePolicy.header.enabled:true, dom.security.featurePolicy.webidl.enabled:true] -leak-threshold: [vr:500]
This is an automated email from the git hooks/post-receive script.
richard pushed a commit to branch tor-browser-91.8.0esr-11.0-1 in repository tor-browser.
commit 158ba86d343f6af0060f9dc570d7065fbb06c216 Author: Lukas Bernhard 15350042+bernhl@users.noreply.github.com AuthorDate: Mon Mar 14 17:18:00 2022 +0000
Bug 1756957 - Fix AliasSet of MLoadTypedArrayElementHole - r=nbp a=RyanVM
Differential Revision: https://phabricator.services.mozilla.com/D139977 --- js/src/jit/MIR.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/js/src/jit/MIR.h b/js/src/jit/MIR.h index 122338cbf80a6..74a4663e188a2 100644 --- a/js/src/jit/MIR.h +++ b/js/src/jit/MIR.h @@ -6896,7 +6896,8 @@ class MLoadTypedArrayElementHole : public MBinaryInstruction, return congruentIfOperandsEqual(other); } AliasSet getAliasSet() const override { - return AliasSet::Load(AliasSet::UnboxedElement); + return AliasSet::Load(AliasSet::UnboxedElement | AliasSet::ObjectFields | + AliasSet::ArrayBufferViewLengthOrOffset); } bool canProduceFloat32() const override { return arrayType_ == Scalar::Float32;
This is an automated email from the git hooks/post-receive script.
richard pushed a commit to branch tor-browser-91.8.0esr-11.0-1 in repository tor-browser.
commit f399329d5bada2720b595fb74b800156aad199f5 Author: Iain Ireland iireland@mozilla.com AuthorDate: Wed Mar 16 14:02:10 2022 +0000
Bug 1757476: Align spills of ARM64 double registers r=jseward a=RyanVM
Differential Revision: https://phabricator.services.mozilla.com/D140372 --- js/src/jit/JitFrames.cpp | 6 ++++-- js/src/jit/JitFrames.h | 4 ++-- 2 files changed, 6 insertions(+), 4 deletions(-)
diff --git a/js/src/jit/JitFrames.cpp b/js/src/jit/JitFrames.cpp index 77cfe6a9cd43b..879a2b64fdb51 100644 --- a/js/src/jit/JitFrames.cpp +++ b/js/src/jit/JitFrames.cpp @@ -1030,13 +1030,15 @@ static void TraceIonICCallFrame(JSTracer* trc, const JSJitFrameIter& frame) { TraceRoot(trc, layout->stubCode(), "ion-ic-call-code"); }
-#ifdef JS_CODEGEN_MIPS32 +#if defined(JS_CODEGEN_ARM64) || defined(JS_CODEGEN_MIPS32) uint8_t* alignDoubleSpill(uint8_t* pointer) { uintptr_t address = reinterpret_cast<uintptr_t>(pointer); - address &= ~(ABIStackAlignment - 1); + address &= ~(uintptr_t(ABIStackAlignment) - 1); return reinterpret_cast<uint8_t*>(address); } +#endif
+#ifdef JS_CODEGEN_MIPS32 static void TraceJitExitFrameCopiedArguments(JSTracer* trc, const VMFunctionData* f, ExitFooterFrame* footer) { diff --git a/js/src/jit/JitFrames.h b/js/src/jit/JitFrames.h index 40c661d146cc9..b0a95222914a1 100644 --- a/js/src/jit/JitFrames.h +++ b/js/src/jit/JitFrames.h @@ -196,11 +196,11 @@ static inline uint32_t MakeFrameDescriptor(uint32_t frameSize, FrameType type, // Returns the JSScript associated with the topmost JIT frame. JSScript* GetTopJitJSScript(JSContext* cx);
-#ifdef JS_CODEGEN_MIPS32 +#if defined(JS_CODEGEN_MIPS32) || defined(JS_CODEGEN_ARM64) uint8_t* alignDoubleSpill(uint8_t* pointer); #else inline uint8_t* alignDoubleSpill(uint8_t* pointer) { - // This is NO-OP on non-MIPS platforms. + // This is a no-op on most platforms. return pointer; } #endif
This is an automated email from the git hooks/post-receive script.
richard pushed a commit to branch tor-browser-91.8.0esr-11.0-1 in repository tor-browser.
commit c05ef0fc91ebf68fd019271434efaf4aaa4dc0c3 Author: Joel Maher jmaher@mozilla.com AuthorDate: Mon Mar 21 16:31:49 2022 +0000
Bug 1760604 - fix bogus domain to be example.com which is part of our test PAC rules. r=ahal a=test-only
Differential Revision: https://phabricator.services.mozilla.com/D141609 --- dom/base/test/test_bug338583.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/dom/base/test/test_bug338583.html b/dom/base/test/test_bug338583.html index e7faa28c2c5f9..a399dd490c6a8 100644 --- a/dom/base/test/test_bug338583.html +++ b/dom/base/test/test_bug338583.html @@ -338,7 +338,7 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=338583 }
function doTest3_g(test_id) { - gEventSourceObj3_g = new EventSource("http://hdfskjghsbg.jtiyoejowe.dafsgbhjab.com"); + gEventSourceObj3_g = new EventSource("http://hdfskjghsbg.jtiyoejowe.example.com");
gEventSourceObj3_g.onmessage = fn_onmessage; gEventSourceObj3_g.hits = [];
This is an automated email from the git hooks/post-receive script.
richard pushed a commit to branch tor-browser-91.8.0esr-11.0-1 in repository tor-browser.
commit 2700678659a06f79730018b9400960bf6f8be969 Author: Daisuke Akatsuka daisuke@birchill.co.jp AuthorDate: Tue Mar 15 02:16:40 2022 +0000
Bug 1757376: Continue post processing of Enter key when any keyup event is detected on URL bar. r=adw a=RyanVM
Differential Revision: https://phabricator.services.mozilla.com/D140908 --- browser/components/urlbar/UrlbarInput.jsm | 26 ++++++++++++---------- .../urlbar/tests/browser/browser_enter.js | 22 ++++++++++++++++++ 2 files changed, 36 insertions(+), 12 deletions(-)
diff --git a/browser/components/urlbar/UrlbarInput.jsm b/browser/components/urlbar/UrlbarInput.jsm index d6192040dbf4e..b2f76bdee2f4a 100644 --- a/browser/components/urlbar/UrlbarInput.jsm +++ b/browser/components/urlbar/UrlbarInput.jsm @@ -3176,10 +3176,17 @@ class UrlbarInput { }
async _on_keyup(event) { - if ( - event.keyCode === KeyEvent.DOM_VK_RETURN && - this._keyDownEnterDeferred - ) { + if (event.keyCode === KeyEvent.DOM_VK_CONTROL) { + this._isKeyDownWithCtrl = false; + } + + this._toggleActionOverride(event); + + // Pressing Enter key while pressing Meta key, and next, even when releasing + // Enter key before releasing Meta key, the keyup event is not fired. + // Therefore, if Enter keydown is detecting, continue the post processing + // for Enter key when any keyup event is detected. + if (this._keyDownEnterDeferred) { if (this._keyDownEnterDeferred.loadedContent) { try { const loadingBrowser = await this._keyDownEnterDeferred.promise; @@ -3189,24 +3196,19 @@ class UrlbarInput { // Make sure the domain name stays visible for spoof protection and usability. this.selectionStart = this.selectionEnd = 0; } - this._keyDownEnterDeferred = null; } catch (ex) { // Not all the Enter actions in the urlbar will cause a navigation, then it // is normal for this to be rejected. // If _keyDownEnterDeferred was rejected on keydown, we don't nullify it here // to ensure not overwriting the new value created by keydown. } - return; + } else { + // Discard the _keyDownEnterDeferred promise to receive any key inputs immediately. + this._keyDownEnterDeferred.resolve(); }
- // Discard the _keyDownEnterDeferred promise to receive any key inputs immediately. - this._keyDownEnterDeferred.resolve(); this._keyDownEnterDeferred = null; - } else if (event.keyCode === KeyEvent.DOM_VK_CONTROL) { - this._isKeyDownWithCtrl = false; } - - this._toggleActionOverride(event); }
_on_compositionstart(event) { diff --git a/browser/components/urlbar/tests/browser/browser_enter.js b/browser/components/urlbar/tests/browser/browser_enter.js index 41f3b81712d87..439496bd9bde9 100644 --- a/browser/components/urlbar/tests/browser/browser_enter.js +++ b/browser/components/urlbar/tests/browser/browser_enter.js @@ -303,3 +303,25 @@ add_task(async function typeCharWhileProcessingEnter() { // Cleanup. BrowserTestUtils.removeTab(tab); }); + +add_task(async function keyupEnterWhilePressingMeta() { + const tab = await BrowserTestUtils.openNewForegroundTab(gBrowser); + + info("Keydown Meta+Enter"); + gURLBar.focus(); + gURLBar.value = ""; + EventUtils.synthesizeKey("KEY_Enter", { type: "keydown", metaKey: true }); + + // Pressing Enter key while pressing Meta key, and next, even when releasing + // Enter key before releasing Meta key, the keyup event is not fired. + // Therefor, we fire Meta keyup event only. + info("Keyup Meta"); + EventUtils.synthesizeKey("KEY_Meta", { type: "keyup" }); + + // Check whether we can input on URL bar. + EventUtils.synthesizeKey("a"); + is(gURLBar.value, "a", "Can input a char"); + + // Cleanup. + BrowserTestUtils.removeTab(tab); +});
This is an automated email from the git hooks/post-receive script.
richard pushed a commit to branch tor-browser-91.8.0esr-11.0-1 in repository tor-browser.
commit 76782b5eb62f54774e4315ee3f40982abe763378 Author: Daisuke Akatsuka daisuke@birchill.co.jp AuthorDate: Tue Mar 15 02:16:41 2022 +0000
Bug 1757376: Continue post processing of Enter key when any keyup event is detected on search bar. r=adw a=RyanVM
Depends on D140908
Differential Revision: https://phabricator.services.mozilla.com/D141058 --- browser/components/search/content/searchbar.js | 9 +++--- .../search/test/browser/browser_searchbar_enter.js | 35 ++++++++++++++++++++++ 2 files changed, 40 insertions(+), 4 deletions(-)
diff --git a/browser/components/search/content/searchbar.js b/browser/components/search/content/searchbar.js index cd8c16c042ccd..c4af503ca5d7d 100644 --- a/browser/components/search/content/searchbar.js +++ b/browser/components/search/content/searchbar.js @@ -807,10 +807,11 @@ };
this.textbox.onkeyup = event => { - if ( - event.keyCode === KeyEvent.DOM_VK_RETURN && - this._needBrowserFocusAtEnterKeyUp - ) { + // Pressing Enter key while pressing Meta key, and next, even when + // releasing Enter key before releasing Meta key, the keyup event is not + // fired. Therefore, if Enter keydown is detecting, continue the post + // processing for Enter key when any keyup event is detected. + if (this._needBrowserFocusAtEnterKeyUp) { this._needBrowserFocusAtEnterKeyUp = false; gBrowser.selectedBrowser.focus(); } diff --git a/browser/components/search/test/browser/browser_searchbar_enter.js b/browser/components/search/test/browser/browser_searchbar_enter.js index ab5e2dc892d74..04e94ceafce82 100644 --- a/browser/components/search/test/browser/browser_searchbar_enter.js +++ b/browser/components/search/test/browser/browser_searchbar_enter.js @@ -119,3 +119,38 @@ add_task(async function typeCharWhileProcessingEnter() { // Cleanup. await BrowserTestUtils.closeWindow(win); }); + +add_task(async function keyupEnterWhilePressingMeta() { + const win = await BrowserTestUtils.openNewBrowserWindow(); + const browser = win.gBrowser.selectedBrowser; + const searchBar = win.BrowserSearch.searchBar; + + info("Keydown Meta+Enter"); + searchBar.textbox.focus(); + searchBar.textbox.value = ""; + EventUtils.synthesizeKey( + "KEY_Enter", + { type: "keydown", metaKey: true }, + win + ); + + // Pressing Enter key while pressing Meta key, and next, even when releasing + // Enter key before releasing Meta key, the keyup event is not fired. + // Therefor, we fire Meta keyup event only. + info("Keyup Meta"); + EventUtils.synthesizeKey("KEY_Meta", { type: "keyup" }, win); + + await TestUtils.waitForCondition( + () => browser.ownerDocument.activeElement === browser, + "Wait for focus to be moved to the browser" + ); + info("The focus is moved to the browser"); + + info("Check whether we can input on the search bar"); + searchBar.textbox.focus(); + EventUtils.synthesizeKey("a", {}, win); + is(searchBar.textbox.value, "a", "Can input a char"); + + // Cleanup. + await BrowserTestUtils.closeWindow(win); +});
This is an automated email from the git hooks/post-receive script.
richard pushed a commit to branch tor-browser-91.8.0esr-11.0-1 in repository tor-browser.
commit e006c0b0d909f8a5715d3ad55c47ce626e70473e Author: Nika Layzell nika@thelayzells.com AuthorDate: Mon Mar 21 14:37:50 2022 +0000
Bug 1757805 - Add additional assertions around shmem size, r=ipc-reviewers,handyman a=RyanVM
Differential Revision: https://phabricator.services.mozilla.com/D140097 --- ipc/glue/Shmem.cpp | 10 ++++++++++ ipc/glue/Shmem.h | 7 ------- 2 files changed, 10 insertions(+), 7 deletions(-)
diff --git a/ipc/glue/Shmem.cpp b/ipc/glue/Shmem.cpp index 00bec892fabe5..7bcd4c7709134 100644 --- a/ipc/glue/Shmem.cpp +++ b/ipc/glue/Shmem.cpp @@ -241,6 +241,9 @@ Shmem::Shmem(PrivateIPDLCaller, SharedMemory* aSegment, id_t aId) mSize = static_cast<size_t>(header->mSize);
size_t pageSize = SharedMemory::SystemPageSize(); + MOZ_ASSERT(mSegment->Size() - (2 * pageSize) >= mSize, + "illegal size in shared memory segment"); + // transition into the "mapped" state by protecting the front and // back sentinels (which guard against buffer under/overflows) mSegment->Protect(frontSentinel, pageSize, RightsNone); @@ -373,6 +376,13 @@ void Shmem::Dealloc(PrivateIPDLCaller, SharedMemory* aSegment) {
#else // !defined(DEBUG)
+Shmem::Shmem(PrivateIPDLCaller, SharedMemory* aSegment, id_t aId) + : mSegment(aSegment), mData(aSegment->memory()), mSize(0), mId(aId) { + mSize = static_cast<size_t>(*PtrToSize(mSegment)); + MOZ_RELEASE_ASSERT(mSegment->Size() - sizeof(uint32_t) >= mSize, + "illegal size in shared memory segment"); +} + // static already_AddRefedShmem::SharedMemory Shmem::Alloc(PrivateIPDLCaller, size_t aNBytes, diff --git a/ipc/glue/Shmem.h b/ipc/glue/Shmem.h index 48a3779d2c286..cb0bb024f8c3c 100644 --- a/ipc/glue/Shmem.h +++ b/ipc/glue/Shmem.h @@ -84,14 +84,7 @@ class Shmem final {
Shmem(const Shmem& aOther) = default;
-#if !defined(DEBUG) - Shmem(PrivateIPDLCaller, SharedMemory* aSegment, id_t aId) - : mSegment(aSegment), mData(aSegment->memory()), mSize(0), mId(aId) { - mSize = static_cast<size_t>(*PtrToSize(mSegment)); - } -#else Shmem(PrivateIPDLCaller, SharedMemory* aSegment, id_t aId); -#endif
~Shmem() { // Shmem only holds a "weak ref" to the actual segment, which is
This is an automated email from the git hooks/post-receive script.
richard pushed a commit to branch tor-browser-91.8.0esr-11.0-1 in repository tor-browser.
commit 2e791b5dd27855bca1ad00d1d083a532f60094c1 Author: ffxbld ffxbld@mozilla.com AuthorDate: Thu Mar 24 10:58:31 2022 +0000
No Bug, mozilla-esr91 repo-update HSTS HPKP remote-settings tld-suffixes - a=repo-update r=RyanVM
Differential Revision: https://phabricator.services.mozilla.com/D141951 --- netwerk/dns/effective_tld_names.dat | 24 +- security/manager/ssl/StaticHPKPins.h | 2 +- security/manager/ssl/nsSTSPreloadList.inc | 193 ++++------ .../dumps/blocklists/addons-bloomfilters.json | 42 +++ .../dumps/security-state/intermediates.json | 396 +++++++++++---------- 5 files changed, 342 insertions(+), 315 deletions(-)
diff --git a/netwerk/dns/effective_tld_names.dat b/netwerk/dns/effective_tld_names.dat index 27cdda89494a4..9eb7a5e8762de 100644 --- a/netwerk/dns/effective_tld_names.dat +++ b/netwerk/dns/effective_tld_names.dat @@ -7131,7 +7131,7 @@ org.zw
// newGTLDs
-// List of new gTLDs imported from https://www.icann.org/resources/registries/gtlds/v2/gtlds.json on 2022-02-18T15:13:38Z +// List of new gTLDs imported from https://www.icann.org/resources/registries/gtlds/v2/gtlds.json on 2022-03-22T15:14:59Z // This list is auto-generated, don't edit it manually. // aaa : 2015-02-26 American Automobile Association, Inc. aaa @@ -7334,7 +7334,7 @@ audi // audible : 2015-06-25 Amazon Registry Services, Inc. audible
-// audio : 2014-03-20 UNR Corp. +// audio : 2014-03-20 XYZ.COM LLC audio
// auspost : 2015-08-13 Australian Postal Corporation @@ -7703,7 +7703,7 @@ cheap // chintai : 2015-06-11 CHINTAI Corporation chintai
-// christmas : 2013-11-21 UNR Corp. +// christmas : 2013-11-21 XYZ.COM LLC christmas
// chrome : 2014-07-24 Charleston Road Registry Inc. @@ -7952,7 +7952,7 @@ dhl // diamonds : 2013-09-22 Binky Moon, LLC diamonds
-// diet : 2014-06-26 UNR Corp. +// diet : 2014-06-26 XYZ.COM LLC diet
// digital : 2014-03-06 Binky Moon, LLC @@ -8198,7 +8198,7 @@ flir // florist : 2013-11-07 Binky Moon, LLC florist
-// flowers : 2014-10-09 UNR Corp. +// flowers : 2014-10-09 XYZ.COM LLC flowers
// fly : 2014-05-08 Charleston Road Registry Inc. @@ -8285,7 +8285,7 @@ gallo // gallup : 2015-02-19 Gallup, Inc. gallup
-// game : 2015-05-28 UNR Corp. +// game : 2015-05-28 XYZ.COM LLC game
// games : 2015-05-28 Dog Beach, LLC @@ -8420,7 +8420,7 @@ guge // guide : 2013-09-13 Binky Moon, LLC guide
-// guitars : 2013-11-14 UNR Corp. +// guitars : 2013-11-14 XYZ.COM LLC guitars
// guru : 2013-08-27 Binky Moon, LLC @@ -8468,7 +8468,7 @@ hermes // hgtv : 2015-07-02 Lifestyle Domain Holdings, Inc. hgtv
-// hiphop : 2014-03-06 UNR Corp. +// hiphop : 2014-03-06 Dot Hip Hop LLC hiphop
// hisamitsu : 2015-07-16 Hisamitsu Pharmaceutical Co.,Inc. @@ -8516,7 +8516,7 @@ hospital // host : 2014-04-17 Radix FZC host
-// hosting : 2014-05-29 UNR Corp. +// hosting : 2014-05-29 XYZ.COM LLC hosting
// hot : 2015-08-27 Amazon Registry Services, Inc. @@ -8885,7 +8885,7 @@ locus // loft : 2015-07-30 Annco, Inc. loft
-// lol : 2015-01-30 UNR Corp. +// lol : 2015-01-30 XYZ.COM LLC lol
// london : 2013-11-14 Dot London Domains Limited @@ -9041,7 +9041,7 @@ moe // moi : 2014-12-18 Amazon Registry Services, Inc. moi
-// mom : 2015-04-16 UNR Corp. +// mom : 2015-04-16 XYZ.COM LLC mom
// monash : 2013-09-30 Monash University @@ -9320,7 +9320,7 @@ photos // physio : 2014-05-01 PhysBiz Pty Ltd physio
-// pics : 2013-11-14 UNR Corp. +// pics : 2013-11-14 XYZ.COM LLC pics
// pictet : 2014-06-26 Pictet Europe S.A. diff --git a/security/manager/ssl/StaticHPKPins.h b/security/manager/ssl/StaticHPKPins.h index db57761a107c1..8cbbeceb54c61 100644 --- a/security/manager/ssl/StaticHPKPins.h +++ b/security/manager/ssl/StaticHPKPins.h @@ -1149,4 +1149,4 @@ static const TransportSecurityPreload kPublicKeyPinningPreloadList[] = {
static const int32_t kUnknownId = -1;
-static const PRTime kPreloadPKPinsExpirationTime = INT64_C(1656326996873000); +static const PRTime kPreloadPKPinsExpirationTime = INT64_C(1656586371320000); diff --git a/security/manager/ssl/nsSTSPreloadList.inc b/security/manager/ssl/nsSTSPreloadList.inc index f7347acfd1015..2043d9e1fb92e 100644 --- a/security/manager/ssl/nsSTSPreloadList.inc +++ b/security/manager/ssl/nsSTSPreloadList.inc @@ -8,7 +8,7 @@ /*****************************************************************************/
#include <stdint.h> -const PRTime gPreloadListExpirationTime = INT64_C(1658746189115000); +const PRTime gPreloadListExpirationTime = INT64_C(1659005563465000); %% 0--1.de, 1 0-1.party, 1 @@ -1470,7 +1470,6 @@ const PRTime gPreloadListExpirationTime = INT64_C(1658746189115000); 1password.com, 1 1password.eu, 1 1picture.hu, 1 -1pieces.com, 1 1plus.red, 1 1pluss.ee, 1 1pw.ca, 1 @@ -1972,6 +1971,7 @@ const PRTime gPreloadListExpirationTime = INT64_C(1658746189115000); 2fm.ie, 1 2fm.radio, 1 2fr3.com, 1 +2fraud.pro, 1 2g1s.net, 1 2gen.com, 1 2gether.fr, 1 @@ -2505,7 +2505,6 @@ const PRTime gPreloadListExpirationTime = INT64_C(1658746189115000); 375ks.com, 1 377625.com, 1 377632.com, 1 -3778vip.com, 0 377ks.com, 1 377zzz.com, 1 37879.com, 0 @@ -6343,6 +6342,7 @@ academiaeureka.tk, 1 academiaoposicionescorreos.com, 1 academiasdemodelos.com, 1 academica.nl, 1 +academichealthscience.net, 1 academichelp.gq, 1 academicperks.org, 1 academie-de-police.ch, 0 @@ -7258,7 +7258,6 @@ advokaty.gq, 1 advst.uk, 1 advtran.com, 0 adware.pl, 0 -adwokatkosterka.pl, 1 adwokatzdunek.pl, 1 adws.io, 1 adxperience.com, 1 @@ -7285,6 +7284,7 @@ ae.com, 1 ae86.de, 1 ae86.dog, 1 ae86.in, 1 +ae86.plus, 0 ae86.pro, 1 ae86.pw, 1 ae86.run, 0 @@ -7415,6 +7415,7 @@ afbrlf.com, 1 afbrtv.com, 1 afbrunswick.com, 1 afbryt.com, 1 +afc-capital.mx, 1 afcmrs.org, 0 afcmrsfeedback.org, 0 afcmrstest.org, 1 @@ -7973,6 +7974,7 @@ ahealthyjourney.ca, 1 ahegaoroulette.com, 1 ahelos.tk, 1 ahenkerp.com, 1 +ahero4all.org, 1 ahg-offices.fr, 1 ahhcomfortshoes.com, 1 ahidta.gov, 1 @@ -9115,6 +9117,7 @@ alinbu.net, 1 alinecordeiro.com.br, 1 alineonline.tk, 1 alinmaacademy.com, 1 +alinode.com, 1 alinol.com, 1 aliorange.com, 1 alireza2love.tk, 1 @@ -9130,6 +9133,7 @@ alisonmcalpine.com, 1 alissagerhard.de, 1 alisstyle.tk, 1 alistaku.tk, 1 +alisync.com, 1 alitabergert.tk, 1 alitec.it, 1 alitpedia.ga, 1 @@ -9851,10 +9855,7 @@ amaranthus.com.ph, 1 amardham.org, 1 amaresq.com, 1 amarilio.com.mx, 1 -amarreconbrujeria.com, 1 -amarresconvudu.com, 1 amarresdeamorconelbrujoguillermo.com, 1 -amarresimposibles.com, 1 amarresperuanos.com, 1 amarresydominio.com, 1 amartaramitramandal.tk, 1 @@ -10478,6 +10479,7 @@ andrewensley.com, 1 andrewhowden.com, 0 andrewimeson.com, 1 andrewin.ru, 1 +andrewjphotography.com, 1 andrewlarson.org, 1 andrewmcfarlane.tk, 1 andrewmichaelsmith.com, 1 @@ -11513,6 +11515,7 @@ app11018.com, 1 app2get.de, 1 app3w.nl, 1 app666365.com, 0 +app7337.com, 1 app77018.com, 1 appac.ltd, 1 appagility.co.nz, 1 @@ -14472,7 +14475,6 @@ b1nzy-pinged.me, 1 b1r0d4l0m.com, 1 b1rd.tk, 1 b2222.co, 1 -b23-tv.tk, 1 b24.pt, 1 b2b-leads.nl, 1 b2b-nestle.com.br, 1 @@ -14795,7 +14797,6 @@ back-stage.tk, 1 back-streets.tk, 1 back-yard.tk, 1 backbenchersart.com, 1 -backeby.eu, 1 backenmachtgluecklich.de, 0 backflow.pl, 1 background-checks-systems.com, 1 @@ -15902,6 +15903,7 @@ be-free.gq, 1 be-ka-tec.de, 1 be-real.life, 0 be-up-developpement.com, 1 +be-webdesign.com, 1 be.ax, 1 be.search.yahoo.com, 0 be2cloud.de, 1 @@ -17091,8 +17093,8 @@ bet333k.com, 1 bet333l.com, 1 bet333m.com, 1 bet333n.com, 1 -bet333o.com, 1 -bet333p.com, 1 +bet333o.com, 0 +bet333p.com, 0 bet333q.com, 1 bet333r.com, 0 bet333s.com, 1 @@ -17392,7 +17394,6 @@ bexit-security.nl, 1 bexit.nl, 1 bexithosting.nl, 1 bexleycastles.co.uk, 1 -bexx-engineering.co.uk, 0 bey.io, 1 beybiz.com, 1 beybladesource.tk, 1 @@ -19063,7 +19064,6 @@ bluinet.com, 1 blumando.de, 1 blumen-garage.de, 1 blumenfeldart.com, 1 -blumenreviews.com, 1 blumenversand.tk, 1 blumiges-fischbachtal.de, 0 blummedia.de, 1 @@ -19191,6 +19191,7 @@ bodas.com.mx, 1 bodas.net, 1 bodclansite.tk, 1 bodegagarces.tk, 1 +bodegasvirei.com, 0 bodemplaten4x4.nl, 1 bodhi.fedoraproject.org, 1 bodin.cz, 1 @@ -19533,6 +19534,7 @@ boost.ink, 1 boostdesign.tk, 1 boostgame.win, 1 boostplm.com, 1 +boostrpro.pl, 1 booths.cyou, 1 bootlesshacker.com, 1 boots-shop.tk, 1 @@ -20135,7 +20137,6 @@ braychappell.com, 1 brayden.gq, 1 braynblog.ml, 1 brazenfol.io, 1 -brazilhealth.com.br, 1 brazilian-human-hair-extension.tk, 1 brazilian.dating, 1 brazilianbikinishop.com, 1 @@ -20501,7 +20502,6 @@ brody.digital, 1 brody.ninja, 1 broe.ie, 1 broerbv.nl, 1 -broerict.nl, 1 broersma.com, 1 broerweb.nl, 1 broeselei.at, 0 @@ -20609,7 +20609,6 @@ brugerklub.info, 1 brugpensioen.tk, 1 bruidstaarten.tk, 1 brujoincaperuano.com, 1 -brujonegroperuano.com, 1 brun-despagne.com, 1 brun.rocks, 1 bruna-cdn.nl, 1 @@ -20760,7 +20759,6 @@ bticoin3king.cf, 1 btid.tk, 1 btimprintables.com, 1 btine.tk, 1 -btku.org, 1 btln.cloud, 1 btln.de, 1 btnissanparts.com, 1 @@ -20838,7 +20836,6 @@ bucksfund.com, 1 buckthorn.ml, 1 buckypaper.com, 1 buda.com, 1 -budaev-shop.ru, 1 budapestairport.tk, 1 budapestgraphics.hu, 1 budapestjazzclub.hu, 1 @@ -21555,7 +21552,6 @@ buyhydrochlorothiazide.ml, 1 buyingstatus.com, 1 buyingtvsers.ga, 1 buyingtvsest.ga, 1 -buyitmalta.online, 1 buyitnowfast.com, 1 buyjewel.shop, 1 buylasix.ml, 1 @@ -21917,7 +21913,7 @@ cactuspedia.ml, 1 cad-noerdlingen.de, 1 cadafalso.tk, 1 cadafamilia.de, 1 -cadams.io, 1 +cadams.io, 0 cadastroloteamento.com.br, 1 cadaunoescomoes.tk, 1 cadaver.tk, 1 @@ -22804,7 +22800,6 @@ carfraemill.co.uk, 1 cargasphc.com, 1 cargobas.com, 1 cargobay.net, 1 -cargoguard.com, 1 cargoio.com, 1 cargomaps.com, 1 cargomurah.id, 1 @@ -23469,7 +23464,6 @@ cathyjfitzpatrick.com, 1 cathylean.tk, 1 catilmu.com, 1 cativa.net, 1 -cativarbrasil.com.br, 1 catl.st, 1 catland.club, 1 catlettsburgky.gov, 1 @@ -24899,7 +24893,6 @@ chocolah.com.au, 0 chocolat-lp2.com, 1 chocolat-suisse.ch, 0 chocolat.work, 1 -chocolatebelga.com.br, 1 chocolatesandhealth.com, 1 chocolateslim.gq, 1 chocolatesonline.com, 1 @@ -26978,7 +26971,6 @@ cometonovascotia.ca, 1 comevius.com, 1 comevius.org, 1 comevius.xyz, 1 -comeyegroup.com, 1 comff.net, 1 comfintouch.com, 0 comfis.nl, 1 @@ -27218,6 +27210,7 @@ computertech-ut.com, 1 computerthings.net, 1 computertips.tk, 1 computerwerk.org, 1 +computerz.solutions, 1 computingaustralia.group, 1 computingsociety.co.uk, 1 computop.com, 1 @@ -27581,6 +27574,7 @@ contractstore.com, 1 contractwriters.com, 1 contrafactos.tk, 1 contralaespeculacioninmobiliaria.tk, 1 +contralegem.it, 1 contrapeso.es, 1 contrarreforma.tk, 1 contraspin.co.nz, 1 @@ -27721,7 +27715,6 @@ copdrop.ga, 1 copedeportes.tk, 1 cophumouraustralia.com, 1 copiisiparinti.ro, 1 -copperandtileroofing.com, 1 copperexports.tk, 1 copperheados.com, 1 copperlantern.tk, 1 @@ -28739,6 +28732,7 @@ crsmsodry.cz, 1 crsoresina.it, 1 crsserviceogkloak.dk, 1 crstat.ru, 1 +crt.cloud, 1 crt.sh, 1 crt2014-2024review.gov, 1 crtalleres.com, 1 @@ -29099,7 +29093,6 @@ cucek.tk, 1 cuchichi.es, 1 cuckoo.ee, 1 cuddlecat.io, 1 -cuddlecomfort.com, 1 cuddlingyaks.com, 1 cuddlybeardaycare.com.au, 1 cudesa.gq, 1 @@ -29510,7 +29503,6 @@ cybersecurity.run, 1 cybersecuritychallenge.be, 0 cybersecurityincidentresponse.com, 1 cyberseguranca.com.br, 1 -cyberserver.org, 1 cybershark.space, 1 cybershot.tk, 1 cybersins.com, 1 @@ -29830,6 +29822,7 @@ dag-hebergement.fr, 1 dag-konsult.com, 1 dag-ogni.tk, 1 daganzo.tk, 1 +dagbestedingwarrie.nl, 1 dagensannonser.se, 1 dagestan.cf, 1 dagestanci.tk, 1 @@ -31484,7 +31477,6 @@ demonmassacre.tk, 1 demonologyfieldguide.com, 1 demonstrably.live, 1 demontage.tk, 1 -demonwav.com, 1 demonwithin.tk, 1 demonwolfdev.com, 1 demopanel.tk, 1 @@ -31903,6 +31895,7 @@ detakhukum.com, 1 detale.eu, 1 detalhecomercio.com.br, 1 detalika.ru, 1 +detao.org, 1 detc.tk, 1 detdom.tk, 1 detecmon.com, 1 @@ -32129,6 +32122,7 @@ dexonservicedeskws.azurewebsites.net, 1 dexonsoftware.com, 0 dexterseries.ru, 1 dextra.tk, 1 +deyanadeco.com, 1 deyute.com, 1 dez-online.de, 1 dezea.net, 1 @@ -32432,7 +32426,6 @@ diegoisla.ga, 1 diegomeza.tk, 1 diegosalgado.tk, 1 diegovisual.tk, 1 -diehildebrands.de, 1 diekperaiwseis.gr, 1 diemattels.at, 1 diemperu.com, 1 @@ -34184,6 +34177,7 @@ doradoscampeon.tk, 1 doraemonchile.tk, 1 doramamusic.gq, 1 doramiru.com, 1 +doranobi-fansub.id, 1 dorco.be, 1 dordtpas.nl, 1 dorfbrunnen.eu, 1 @@ -37275,7 +37269,6 @@ electricfencingkloof.co.za, 1 electricfencingpinetown.co.za, 1 electricfireplaces.tk, 1 electricgatemotorsalberton.co.za, 1 -electricgatemotorsballito.co.za, 1 electricgatemotorsroodepoort.co.za, 1 electricgatemotorsumhlanga.co.za, 1 electricgypsies.nl, 1 @@ -37587,7 +37580,6 @@ eliteco.tk, 1 elitedns.info, 1 elitegameservers.net, 1 elitehouse.tk, 1 -elitelatinas.com, 1 elitelounge.tk, 1 elitemud.tk, 1 elitepainmanagement.com, 1 @@ -39044,7 +39036,6 @@ esdenera.com, 1 esdiscuss.org, 1 eseances.ch, 1 esecuredata.com, 1 -esehospitalsabanagrande.com, 1 eselina.at, 1 eservices-greece.com, 1 eset.ml, 1 @@ -39563,6 +39554,7 @@ europeancupinline.eu, 1 europeanpreppers.com, 1 europeanstudies-chemnitz.de, 1 europeantransportmanagement.com, 1 +europeanwineresource.com, 1 europeluxuryweddings.com, 1 europeonline.tk, 1 europeos.es, 1 @@ -39823,6 +39815,7 @@ evlilikilan.com, 1 evlqa1sp1tzb05zo-reoo0vhj9a1t5pousfudnkg.com, 0 evntage.com, 1 evo-ai.com, 1 +evobox.store, 1 evoco.vc, 1 evodation.com, 1 evodation.org, 1 @@ -40525,7 +40518,6 @@ fabse.net, 1 fabservicos.com.br, 1 fabslabour.uk, 1 fabtechexpo.com, 1 -fabulosa.com.br, 1 fabulouseventsmiami.com, 1 fabulouslyyouthfulskin.com, 1 fabulouslyyouthfulskineyeserum.com, 1 @@ -42435,7 +42427,7 @@ fitflaop.ga, 1 fitfocusau.com.au, 1 fitkram.cz, 1 fitmeat.at, 1 -fitmybike.eu, 0 +fitmybike.eu, 1 fitness-challenge.co.uk, 1 fitness-world.ga, 1 fitness.gov, 1 @@ -42529,7 +42521,6 @@ fkosquad.moe, 1 fkraiem.org, 1 fktpm.ru, 1 fl.ru, 1 -fl0w.fr, 1 flabacinov.ga, 1 flabutelov.tk, 1 flacandmp3.ml, 1 @@ -43676,7 +43667,6 @@ fossboxen.net, 1 fossboxen.org, 1 fossewayflowers.co.uk, 1 fossewayflowers.com, 1 -fossewaygardencentre.co.uk, 0 fossildlp.com, 1 foster.ga, 1 fosterpark.ca, 1 @@ -43709,7 +43699,6 @@ fotoflits.net, 1 fotofon.tk, 1 fotografechristha.nl, 1 fotografiadellalucerossa.com, 1 -fotografiamakro.pl, 1 fotografies.tk, 1 fotografija.tk, 1 fotografoivanalmeida.com.br, 1 @@ -45290,7 +45279,6 @@ gaci88play.com, 1 gacirenin.cf, 1 gacirenin.tk, 1 gackowski.tk, 1 -gad.co.id, 1 gadabit.pl, 1 gadaj.eu, 1 gadanie.cf, 1 @@ -47027,7 +47015,6 @@ ginnegappen.nl, 1 gino-gelati.de, 1 gintonic.tk, 1 ginza-viola.com, 1 -ginzadelunch.jp, 1 ginzaj.com, 1 gio-abbigliamento.it, 1 giochistem.it, 1 @@ -47874,6 +47861,7 @@ goodfeels.net, 1 goodfundsgateway.com, 1 goodgame.lt, 1 goodgaminggear.com, 1 +goodhealthgateway.com, 1 goodhealthtv.com, 1 goodhotel.co, 1 goodhuecountymn.gov, 1 @@ -48871,7 +48859,6 @@ grozter.se, 1 grplusbd.cf, 1 grscouts.tk, 1 grsecurity.net, 1 -grsstore.it, 1 grthomes.com, 1 gruaskmsa.cl, 1 gruasllanos.cl, 1 @@ -51214,8 +51201,6 @@ henkverlinde.com, 1 henley-computer-repairs.co.uk, 1 henleybouncycastles.co.uk, 1 henlich.de, 1 -hennastories.com, 1 -hennastories.org, 1 hennecke-forstbetrieb.de, 1 henneke.me, 1 hennes-haan.de, 1 @@ -51629,7 +51614,7 @@ highenergy.tk, 1 higherpress.org, 1 highfive.jp, 1 highftp.tk, 1 -highgatejoinery.co.uk, 1 +highgatejoinery.co.uk, 0 highgravityconsulting.com, 1 highheeltamia.com, 1 highintegrity.tk, 1 @@ -51731,7 +51716,6 @@ himiku.com, 1 himlamcorp.vn, 1 himpler.com, 0 hin10.com, 1 -hinaryazan.com, 1 hinata-hidetoshi.com, 1 hindibaba.tk, 1 hindigalaxy.com, 1 @@ -51897,7 +51881,7 @@ hitomecha.com, 1 hitpatrolers.ga, 1 hitpatrolest.ga, 1 hitpointer.tk, 1 -hitpt.com, 1 +hitpt.com, 0 hitrek.ml, 1 hitrost.com, 1 hitrow-move.ga, 1 @@ -52242,6 +52226,7 @@ holytransaction.com, 1 holyubofficial.net, 1 holywhite.com, 1 holywr.it, 1 +holz.nu, 1 holzed.com, 1 holzschutz-holzbearbeitung.de, 1 holzspielzeug-shop.ch, 1 @@ -53126,7 +53111,6 @@ hrmn.xyz, 1 hrndz.io, 1 hro.to, 1 hrobert.hu, 1 -hroling.nl, 1 hromaticworld.tk, 1 hroschyk.cz, 1 hrpage.ml, 1 @@ -54051,7 +54035,6 @@ icon-art.nl, 1 icon-programming.tk, 1 iconintegration.com.au, 1 iconoarte.tk, 1 -iconomi.net, 1 icons4free.tk, 1 iconworld.ml, 1 iconx.ml, 1 @@ -54297,7 +54280,6 @@ iffeurope.fr, 1 ifgcdn.com, 1 ifibe.com, 1 ifisher.xyz, 1 -ifiveglobal.com, 1 ifleurs.com, 1 iflixtv.ga, 1 iflyi.me, 1 @@ -54990,6 +54972,7 @@ imprezzor.com, 1 imprimante-3d-store.fr, 1 improfestival.ee, 1 improklinikken.dk, 1 +improv.ee, 1 improvebusinessonline.info, 1 improved-madness.de, 1 improvenerg.com, 1 @@ -56371,7 +56354,6 @@ invitescafe.com, 1 invitescene.com, 1 invitethemhome.com, 1 invito.tk, 1 -invkao.com, 1 invoiced.com, 1 invokingspirits.tk, 1 involic.com, 1 @@ -57074,6 +57056,7 @@ it-xperts.be, 1 it-zt.at, 1 it.search.yahoo.com, 0 it1b.com, 1 +it4sure.nl, 1 it82.com, 1 itabenar.tk, 1 itactiq.com, 1 @@ -58469,7 +58452,6 @@ jessica-weller.de, 1 jessicabarends.nl, 1 jessicabenedictus.nl, 0 jessicaescortsservices.com, 1 -jessicaevrard.com, 1 jessicahrehor.com, 1 jessicasmith3d.com, 1 jessicharlie.com, 1 @@ -59391,6 +59373,7 @@ jpshop.ru, 1 jpsinflatables.co.uk, 1 jpslconsulting.ca, 1 jpst.it, 1 +jpvermogensregie.com, 1 jqlin.com, 1 jqlsql.com, 1 jquery.wtf, 1 @@ -59406,7 +59389,7 @@ jreiff.de, 1 jreinert.com, 1 jrflorian.com, 1 jrfortune.com, 1 -jrjuristen.nl, 1 +jrjuristen.nl, 0 jrlopezoficial.com, 1 jrock.tk, 1 jrock.us, 1 @@ -59870,7 +59853,6 @@ jzbk.org, 0 jzcapital.co, 1 jzeb.co, 1 jzeg.net, 1 -jzgj088.com, 0 jztkft.hu, 1 jzwebdesign.ie, 1 k-bone.com, 1 @@ -60206,6 +60188,7 @@ kakpoluchitzaim.gq, 1 kakpoluchitzaim.ml, 1 kakpoluchitzaim.tk, 1 kaktus-tour.cf, 1 +kakuch.com, 0 kakvzyatdolg.ga, 1 kakvzyatdolg.ml, 1 kakvzyatzaim.cf, 1 @@ -61100,6 +61083,7 @@ kep-sbt.hu, 1 kepak.tk, 1 kepinski.ch, 0 kepkonyvtar.hu, 1 +keponews.com, 1 keppler.tk, 1 kepsbt.hu, 1 keramed.ga, 1 @@ -61768,7 +61752,6 @@ kirwandigital.com, 1 kisakazan.ml, 1 kisaragihayato.com, 1 kiseimarriage.com, 1 -kiseki.xyz, 1 kisel.org, 1 kish-takhfif.com, 1 kishcar.co, 1 @@ -62061,7 +62044,6 @@ klinknetz.de, 1 klinkov.tk, 1 klinto.nl, 1 klipa.tk, 1 -klishyn.com, 1 klitmoeller.de, 1 klitmoeller.dk, 1 klj-beveren.tk, 1 @@ -62330,7 +62312,6 @@ koka-shop.de, 1 kokensupport.com, 1 koketteriet.se, 1 kokica.si, 1 -kokily.com, 1 koko.news, 1 kokoiroworks.com, 1 kokomo.cloud, 1 @@ -62697,6 +62678,7 @@ koushinjo.org, 1 kouwenhoven.xyz, 1 kov.space, 1 kovachica.tk, 1 +kovaldo.ru, 1 kovered.net, 1 kovnsk.net, 1 kovspace.com, 1 @@ -63997,7 +63979,6 @@ lan-der.net, 1 lan-divy.com, 1 lan-divy.fr, 1 lan.biz.tr, 1 -lan4.life, 1 lana.swedbank.se, 1 lanabello.com.br, 1 lanaengel.com, 1 @@ -64012,6 +63993,7 @@ lancejames.com, 1 lancelafontaine.com, 1 lancelhoff.com, 1 lancelucido.tk, 1 +lancemanion.com, 1 lancers.jp, 1 lanceyip.com, 1 lanchong.tk, 1 @@ -67139,7 +67121,6 @@ locksmithlivoniami.com, 1 locksmithmadisonheights.com, 1 locksmithmesquitetexas.com, 1 locksmithmesquitetx.com, 1 -locksmithmidrand24-7.co.za, 1 locksmithmissouricity.com, 1 locksmithsammamishwa.com, 1 locksmithsbluff.com, 1 @@ -67894,6 +67875,7 @@ lrumeq.com, 1 lrv-grobbendonk.tk, 1 ls-alarm.de, 1 ls-mapping-team.de, 1 +ls-rp.es, 1 lsal.me, 1 lsbricks.com, 1 lsc-dillingen.de, 1 @@ -68383,7 +68365,6 @@ lvnacapital.com, 1 lvrsystems.com, 1 lvtrafficticketguy.com, 1 lw1.at, 1 -lwis.me, 1 lwisa.ma, 1 lwl-foej-bewerbung.de, 1 lwl.moe, 1 @@ -68730,6 +68711,7 @@ madokami.pw, 1 madonnadellafibra.gq, 1 madoucefrance.ru, 1 madprod.tk, 1 +madpsy.uk, 1 madrants.net, 1 madrasareforms.cf, 1 madrasareforms.ga, 1 @@ -68747,7 +68729,7 @@ madsgencydemo.com, 1 madskauts.tk, 1 madskills.tk, 1 madsklitgaard.dk, 1 -madsstorm.dk, 1 +madsstorm.dk, 0 madteam.tk, 1 madtown.tk, 1 maduexclusive.com, 1 @@ -69488,6 +69470,7 @@ maniosglass.gr, 1 manipil.ch, 0 manipurmatka.net, 1 manisahaberleri.tk, 1 +manitaggarwal.com, 0 manito.kr, 1 manitouspringsco.gov, 1 manitowoccountywi.gov, 1 @@ -70350,7 +70333,7 @@ maszdobro.pl, 1 mat-berenbostel.de, 1 mat-ras.com, 1 mat.com.vn, 1 -mat.tt, 1 +mat.tt, 0 mat99.dk, 1 mata-i-nautisme.fr, 1 matafonov.tk, 1 @@ -70871,7 +70854,6 @@ mcconciergerie.com, 1 mccoolesredlioninn.com, 1 mccordscvs.com, 1 mccordsvillelocksmith.com, 1 -mccrackon.com, 1 mcculloughjchris.com, 0 mcculloughsgolf.com, 1 mccurtainems.gov, 1 @@ -70955,6 +70937,7 @@ mcplat.ru, 1 mcplayman.de, 1 mcprocdn.com, 1 mcregex.com, 1 +mcrn.jp, 1 mcsa-usa.org, 1 mcsdatum.co.uk, 1 mcseboard.de, 1 @@ -71671,6 +71654,7 @@ megabouncingcastles.com, 1 megadrol.com, 1 megaelettrostimolatore.com, 1 megafilez.tk, 1 +megaflix.nl, 1 megaflowers.ru, 1 megagifs.de, 1 megaherz.tk, 1 @@ -72111,7 +72095,6 @@ mercury.photo, 1 mercuryamericas.com, 0 mercurycards.com, 1 mercyseverity.tk, 1 -merdacz.pl, 1 merelskleertjes.tk, 1 merenita.com, 1 merenita.eu, 1 @@ -72497,7 +72480,6 @@ miagentemicasa.com, 1 miagexport.com, 1 miah.top, 1 mialma.live, 1 -miamiaquatours.com, 1 miamibeachcommunitychurch.com, 1 miamifl.casa, 1 miamifl.homes, 1 @@ -72923,6 +72905,7 @@ military-equipment.tk, 1 militaryaviationsafety.gov, 1 militaryconsumer.gov, 1 militaryfetish.tk, 1 +militaryonesource.mil, 1 militarysrit.tk, 1 miliumnet.tk, 1 miljotankar.se, 1 @@ -73428,7 +73411,6 @@ mit-uns.org, 1 mit.gg, 0 mita-beutel.tk, 1 mita.me, 1 -mitarbeiter-pc.de, 1 mitarbeiterbefragungen.com, 1 mitarbeitermotivation-anleitungen.de, 1 mitchell.id, 1 @@ -74703,7 +74685,6 @@ motoland.ml, 1 motolife.tk, 1 motolinesupply.com, 1 motomorgen.com, 1 -motonauticaibiza.com, 1 motopoland.com.ua, 1 motor-agro.com, 1 motor-agro.com.ua, 1 @@ -75902,6 +75883,7 @@ myduffyfamily.com, 1 myeasybooking.de, 1 myebony.cam, 1 myecms.com, 1 +myecopanda.com, 1 myedcreview.cf, 1 myediblefood.com, 1 myeditclub.ml, 1 @@ -76191,6 +76173,7 @@ mypoodleassassin.com, 1 mypornsnap.top, 1 myportal.ga, 1 mypowerserg.com, 1 +mypress.mx, 1 myprintcard.de, 1 myproblog.com, 1 mypromocode.com, 1 @@ -77390,7 +77373,6 @@ neheim-huesten.de, 1 nehnutelnosti.io, 1 nehoupat.cz, 1 nehrp.gov, 1 -neht.xyz, 1 nehta.gov.au, 1 neide.ga, 1 neighbor.co.il, 1 @@ -77529,7 +77511,7 @@ neosys.eu, 1 neotiv-care.com, 1 neotiv.com, 1 neotlojka25.ru, 1 -neotracker.io, 1 +neotracker.io, 0 neovapo.com, 1 neoverso.tk, 1 neowa.tk, 1 @@ -77858,7 +77840,6 @@ netzklad.de, 1 netzona.org, 1 netzspielplatz.de, 0 netzsv.website, 1 -netztest.at, 1 netzvieh.de, 1 netzwerk-lq.com, 1 netzwerk-sozialliberal.de, 1 @@ -79204,6 +79185,7 @@ norichanmama.com, 1 noriel.ro, 1 norikazumatsuno.tk, 1 noris.de, 0 +noriskit.nl, 1 noritakechina.com, 1 normaculta.com.br, 1 normalady.com, 1 @@ -80062,7 +80044,6 @@ oase-fuer-wohlbefinden.ch, 1 oasegroen.nl, 1 oasiristorantebagno.it, 1 oasis.mobi, 0 -oasis9.net, 1 oasisbahamas.com, 1 oasisbodycare.jp, 1 oasisgenetics.com, 1 @@ -80361,8 +80342,6 @@ odziezrobocza.pl, 1 odzyskaniedomeny.pl, 1 odzywianie.info.pl, 1 oe0fcdncxjpdd05b.myfritz.net, 1 -oe2018.gov.pt, 1 -oe2019.gov.pt, 1 oea.gov, 1 oec-music.com, 0 oecdpisaforschools.org, 1 @@ -80858,6 +80837,7 @@ omandatapark.com, 1 omangrid.com, 1 omanhr.cf, 1 omanko.porn, 0 +omaosurveys.org, 0 omarans.com, 1 omarbaba.shop, 1 omarh.net, 1 @@ -81905,7 +81885,6 @@ orthogennix.com, 1 orthograph.ch, 1 orthopedic-shoes.tk, 1 orthopedicsalon.tk, 1 -orthosportiv.de, 1 orthotrafficest.ga, 1 ortizmario.com, 1 ortocraft.tk, 1 @@ -86266,6 +86245,7 @@ pogljad-brest.tk, 1 pogodavolgograd.tk, 1 pogodok.tk, 1 pogomate.com, 1 +pogoswine.com, 1 pogotowie-komputerowe.tk, 1 pogotowiekomputeroweolsztyn.pl, 1 pogrebisky.net, 1 @@ -86747,7 +86727,6 @@ portalexpressservices.com, 1 portalm.tk, 1 portalmundo.xyz, 1 portalpandalandia.tk, 1 -portalpower.com.br, 1 portalveneza.com.br, 1 portalz.xyz, 1 portamiinpista.it, 0 @@ -87399,7 +87378,6 @@ pretalx.com, 1 prethost.com, 1 pretix.eu, 1 pretor-sa.com, 1 -pretorcup.pl, 1 pretty-liars.tk, 1 pretty.hu, 1 prettycities.ga, 1 @@ -89424,6 +89402,7 @@ quiq-uri.com, 1 quiq-url.com, 1 quiq.com, 0 quiq.im, 1 +quiq.sh, 1 quiq.us, 1 quiqd.com, 1 quiqstatus.com, 1 @@ -90851,7 +90830,6 @@ reddyai.com, 1 rede-reim.de, 1 rede-t.com, 1 redearsliderturtles.com, 1 -redecsirt.pt, 1 redeemingbeautyminerals.com, 1 redefineyounow.com, 1 redelectrical.co.uk, 0 @@ -91583,7 +91561,6 @@ resoplus.ch, 0 resort-islands.net, 1 resort.ga, 1 resortafroditatucepi.com, 1 -resortohshima.com, 1 resorts.ru, 1 resoundpro.ca, 1 resourceconnect.com, 1 @@ -91633,7 +91610,6 @@ restaurant-macampagne.fr, 1 restaurant-oregano.de, 1 restaurant-rosengarten.at, 1 restaurant-spartacus.tk, 1 -restaurantbetriebe.schwarz, 1 restaurantdetgulepakhus.tk, 1 restaurantedonono.com.br, 1 restaurantepepeyestrella.es, 1 @@ -91714,7 +91690,6 @@ retractableawningssydney.com.au, 1 retraitebysaulsplace.nl, 1 retratomanila.com, 1 retro-game.org, 1 -retro.camp, 1 retro.rocks, 1 retro.sx, 0 retroarms.com, 1 @@ -92017,7 +91992,6 @@ richardson.systems, 1 richardson.tk, 1 richardson.tw, 1 richardstonerealestate.com, 1 -richardvd.nl, 1 richardwarrender.com, 1 richcat.tw, 1 richecommecresus.com, 1 @@ -92579,7 +92553,6 @@ rockyford-co.gov, 1 rockymountaininsurancecenter.com, 1 rockymountainspice.com, 1 rockyourlife.gq, 1 -rocmartialartsacademy.com, 1 rocsole.com, 1 rocssti.net, 1 rodab.party, 1 @@ -92734,7 +92707,6 @@ romab.com, 1 romacoffee.co.nz, 1 romagnaoggi.it, 1 romail.ml, 1 -romain-arias.fr, 1 romaindepeigne.fr, 1 romainlapoux.com, 1 romainlapoux.fr, 1 @@ -93443,7 +93415,6 @@ ruhnke.cloud, 0 ruhproject.kz, 1 ruhrmobil-e.de, 1 ruhrnalist.de, 1 -ruicore.cn, 1 ruifu.tech, 1 ruiming.me, 1 ruimoreira.co.uk, 1 @@ -93850,7 +93821,6 @@ sa.gov, 1 sa.net, 1 sa68.cc, 1 sa88.cc, 1 -saadat.in.ua, 1 saadurrehman.tk, 1 saam.aero, 1 saamhorigheidsfonds.nl, 0 @@ -94087,7 +94057,6 @@ said.it, 1 said.my.id, 1 saidpurtechnical.tk, 1 saidtezel.com, 0 -saier.me, 1 saifonvillas.com, 1 saifoundation.in, 1 saigonflowers.com, 1 @@ -94673,7 +94642,6 @@ santimb.photos, 1 santing.net, 1 santippolito-borgo.tk, 1 santjoandevilassar.tk, 1 -santmark.com, 1 santmark.eu, 1 santmark.info, 1 santmark.net, 1 @@ -94927,7 +94895,6 @@ savageorgiev.com, 1 savanna.io, 1 savannahhappycats.com, 1 savannahsidewalktours.com, 1 -savannahtasteexperience.com, 1 savantcare.com, 1 savantic.io, 1 savasanadam.com, 1 @@ -95031,7 +94998,6 @@ sbblog.cn, 1 sbbz-bad-wurzach.de, 1 sbcalitagtag.edu.ph, 1 sbcargo.com, 1 -sbconstrucciones.com, 1 sbcountyatc.gov, 1 sbequineevac.org, 1 sber-solutions.ru, 1 @@ -95269,7 +95235,6 @@ schnuckenhof-wesseloh.de, 1 schnyder-werbung.ch, 0 schody-rozycki.pl, 1 schoenstatt-fathers.link, 1 -schoenstatt-fathers.us, 1 schoenstatt.link, 1 schoepski.de, 1 schoffelcountry.com, 1 @@ -95938,7 +95903,6 @@ secure.advancepayroll.com.au, 1 secure.facebook.com, 0 securebot.ga, 1 securecloudplatform.nl, 1 -securecomms.cz, 1 secureddocumentshredding.com, 1 securedrop.org, 1 secureenduserconnection.se, 1 @@ -96240,6 +96204,7 @@ semaphore-studios.com, 1 sembosihosting.tk, 1 sembska.de, 1 sembyotic.com, 1 +semdynamics.com, 1 semena-ua.ml, 1 semenov.ml, 1 semenov.su, 1 @@ -96249,7 +96214,6 @@ semesur.com, 1 semi.social, 1 semianalog.com, 1 semicvetik.tk, 1 -semillainfinita.com, 1 semillasdelucha.com, 1 seminariruum.ee, 1 seminarraum-isny.de, 1 @@ -96383,6 +96347,7 @@ sentry.io, 1 sentry.nu, 1 sentrybay.com, 1 sentworks.com, 1 +senu.pro, 1 senzaparole.de, 1 senzei.tk, 1 seo-analyse.com, 1 @@ -97095,7 +97060,6 @@ sharefox.nl, 1 sharegate.tk, 1 sharekey.com, 0 sharelinks.tk, 1 -sharelovenotsecrets.com, 1 sharemania.tk, 1 sharemessage.net, 1 sharenergy.com.br, 1 @@ -99542,7 +99506,6 @@ smusg.com, 0 smutek.net, 1 smvcm.com, 1 smx.net.br, 1 -smxconventioncenter.com, 1 smyleo.com, 1 smys.uk, 1 sn0int.com, 1 @@ -100113,7 +100076,6 @@ solucionesihd.com, 1 solucionupsperu.com, 1 solunci-loznica.tk, 1 solutionmotsfleches.com, 1 -solutions-marquagedelignes.com, 1 solutions-teknik.com, 1 solutionsforest.com.ar, 0 soluzionifightlist.cf, 1 @@ -100419,7 +100381,6 @@ soulwinning.tk, 1 souly.cc, 1 soulyi.io, 1 soumen.tk, 1 -soumikghosh.com, 1 soumya.xyz, 1 soumya92.me, 1 sound-orpheus.tk, 1 @@ -101241,6 +101202,7 @@ sqmin.tk, 1 sqprod.co, 1 sqr-training.com, 1 sqreemtech.com, 1 +sqroot.eu, 1 sqsd.xyz, 1 sqshq.de, 1 squad.fr, 1 @@ -102179,6 +102141,7 @@ steviate.de, 1 stevie-ray.me, 1 stewards.tk, 1 stewart.tk, 1 +stewartswines.com, 1 stewonet.nl, 1 stewpolley.com, 1 steyaert.be, 0 @@ -102275,7 +102238,6 @@ stirblaut.de, 1 stirling.co, 1 stisidores.org, 1 stitch.money, 1 -stitchfiddle.com, 1 stitchinprogress.com, 1 stjohncamden.com, 1 stjohnin.com, 1 @@ -102882,7 +102844,6 @@ studioclassic.no, 1 studiodelbenessere.com, 1 studiodentisticomasi.com, 1 studiodentisticosanmarco.it, 0 -studiodewit.nl, 0 studiodoprazer.com.br, 1 studiodpe.com, 1 studioevent.tk, 1 @@ -103428,7 +103389,6 @@ superbomber.tk, 1 superboom.dance, 1 superbouncebouncycastles.com, 1 superbowlkneel.com, 1 -superbshare.com, 1 superbugs.nl, 1 superbuy.com.tw, 1 supercalorias.com, 1 @@ -103759,7 +103719,7 @@ svenhammond.com, 1 svenjaundbenni.de, 1 svenjaundchristian.de, 1 svenmuller.nl, 1 -svennd.be, 1 +svennd.be, 0 svenpeter.eu, 1 svenpeter.info, 1 svenpeter.me, 1 @@ -103780,7 +103740,6 @@ svetandroida.cz, 1 svetapublic.com, 1 svetila.com, 1 svetlanamamedova.tk, 1 -svetlilo.com, 1 svetlograd.tk, 1 svetoch.ga, 1 svetoch.tk, 1 @@ -104444,7 +104403,7 @@ tadalafilindia.gq, 1 taddiestales.com, 1 tadinfos.fr, 1 tadiranbatteries.de, 0 -tadj-mahalat.com, 0 +tadj-mahalat.com, 1 tadjiki.tk, 1 tadjikistan.tk, 1 tadluedtke.com, 1 @@ -104611,6 +104570,7 @@ talentis.net, 1 talentoday.com, 1 talentstimuleren.nl, 1 talentuar.com, 1 +talentwall.io, 1 taler-systems.com, 1 taler.net, 1 talesbazaar.com, 1 @@ -105742,7 +105702,7 @@ telefunk.tk, 1 telega.gq, 1 telegra.ph, 1 telegram-gp.ml, 1 -telegram-sms.com, 1 +telegram-sms.com, 0 telegram.org, 1 telegram.poker, 1 telegramlearn.tk, 1 @@ -106171,7 +106131,6 @@ texaspaintingandgutters.com, 1 texasparkinglotstriping.com, 1 texasready.gov, 1 texasteam.tk, 1 -texastoadranch.com, 1 texastwostepdivorce.com, 0 texasurodoc.com, 1 texasvolunteerattorneys.org, 1 @@ -107909,7 +107868,6 @@ tileflooringideas.ml, 1 tilellit.pro, 1 tiles-for-facing.tk, 1 tilesbay.com, 1 -tilid.com, 1 tilietu.com, 1 tilikum.io, 1 tilisi.ga, 1 @@ -108578,7 +108536,6 @@ tom.je, 1 tom.ro, 1 tomabrafix.de, 1 tomacino.de, 1 -tomahawk.ca, 1 toman-vzv.cz, 1 toman.rs, 1 toman.sk, 1 @@ -108827,6 +108784,7 @@ top-secret.tk, 1 top-service.ml, 1 top-skins.ml, 1 top-verhandlungstraining.de, 1 +top-zdrave.bg, 1 top-zentr.tk, 1 top10.tk, 1 top100games.ml, 1 @@ -109007,9 +108965,7 @@ tork.news, 1 torkel.se, 1 torkware.com, 1 torlock.com, 1 -torlock.host, 1 torlock.icu, 1 -torlock.pw, 1 torlock2.com, 1 tormakristof.eu, 1 tormentedradio.com, 0 @@ -109307,7 +109263,6 @@ toysperiod.com, 1 toysplace.ml, 1 toystory3.ga, 1 tozdev.com, 1 -tp-kabushiki.com, 1 tp-kyouyufudousan.com, 1 tp-law.jp, 1 tpark.jp, 1 @@ -109564,7 +109519,6 @@ transferbags.com, 1 transferdirect.io, 1 transferserver.at, 1 transfersummit.com, 1 -transfersw.com, 1 transferwiseturkiye.com.tr, 1 transfigurewizard.com, 1 transfile.fr, 1 @@ -110307,6 +110261,7 @@ truqu.com, 1 trusecurity.gq, 1 truserve.org, 1 trusifan.tk, 1 +trusitio.com, 1 truskmedia.tk, 1 trussgenius.com, 1 trust-btc.ml, 1 @@ -111600,7 +111555,6 @@ unblockat.tk, 1 unblocked.at, 1 unblocked.bet, 1 unblocked.cx, 1 -unblocked.earth, 1 unblocked.gdn, 1 unblocked.krd, 1 unblocked.lat, 1 @@ -111699,6 +111653,7 @@ unfabulous.tk, 1 unfallrechtler.de, 1 unfamousrecords.tk, 1 unfathomable.blue, 1 +unfc.nl, 1 unferno.tech, 1 unfettered.net, 0 unfixed-soul.tk, 1 @@ -112235,6 +112190,7 @@ urge55.com, 1 urgences-valais.ch, 1 urgent-notice.ml, 1 urgentcaresouthaven.com, 1 +urion.com.br, 1 uriport.com, 1 uriports.com, 1 uripura.de, 1 @@ -112684,6 +112640,7 @@ va11hal.la, 1 va11halla.ddns.net, 1 vaabogados.legal, 1 vaaddress.co, 1 +vaaes.org, 0 vaan-arbeidsrecht.nl, 1 vaartjesboten.nl, 1 vaat.io, 1 @@ -113204,6 +113161,7 @@ vectorcardiometry.tk, 1 vectordtg.com, 0 vectormagnetics.com, 1 vectorsiriushockeyclub.com, 1 +vectortrack.com.au, 1 vectorwish.com, 1 vectro.me, 1 vectrum.cf, 1 @@ -113643,14 +113601,12 @@ viacation.co, 1 viacdn.org, 1 viacheslavpleshkov.com, 1 viafinance.cz, 0 -viaggio-in-cina.it, 1 viaggivistos.com.br, 1 viagozo.com, 1 viagra4men.com, 1 viagratop.tk, 1 viagusto.pl, 1 viajantesturismo.com, 1 -viaje-a-china.com, 1 vialibido.com.br, 1 viamilitaris.net, 1 vianetz.com, 1 @@ -114036,7 +113992,6 @@ vim.cx, 1 vim.ge, 1 vima.ch, 0 vimar.com, 1 -vimeo.com, 1 vimeosucks.nyc, 1 vimium.com, 1 vimka.gq, 1 @@ -114186,7 +114141,6 @@ vipsibir.cf, 1 viptamol.com, 1 viptravel.tk, 1 vipturismo-europa.com, 1 -vipw66.com, 1 vipw6600.com, 1 vipw6603.com, 1 vipw6606.com, 1 @@ -114694,6 +114648,7 @@ voiceofcricket.tk, 1 voiceofserbia.tk, 1 voicesoflabor.com, 1 voicesofspirit.at, 1 +voicesuk.co.uk, 1 voicr.nl, 1 voicu.ch, 0 voidancerecords.com, 1 @@ -115345,7 +115300,6 @@ w9196.com, 1 w9297.co, 1 w9297.com, 1 w9397.com, 0 -w95.pw, 1 w9720.com, 1 w9721.com, 0 w9728.co, 1 @@ -115552,6 +115506,7 @@ wanderzoom.co, 1 wandystan.eu, 1 wane.co, 1 wanekat.fr, 1 +wang.by, 1 wangbangyu.cf, 1 wangbangyu.ga, 1 wangbangyu.gq, 1 @@ -116373,7 +116328,6 @@ webtechnicom.net, 0 webtek.nu, 1 webtele.ga, 1 webtele.tk, 1 -webtex.limited, 1 webtica.be, 1 webtobesocial.de, 1 webtodito.tk, 1 @@ -117468,8 +117422,6 @@ willspointtx.gov, 1 willstamper.name, 1 willsthebest.co.uk, 1 willstocks.co.uk, 1 -willtc.co.uk, 1 -willtc.uk, 1 willturner.tk, 1 willusherwood.com, 1 willvision.com, 1 @@ -118095,7 +118047,6 @@ wordspy.com, 1 wordwidessl.net, 1 wordxtra.net, 1 wordzite.com, 1 -worf.in, 1 work-at-home.ga, 1 work-at-home.gq, 1 work-in-progress.website, 1 @@ -119343,7 +119294,6 @@ xjpvictor.info, 1 xjtv.com, 1 xkblog.xyz, 1 xkcd.pw, 1 -xkeyc.cn, 1 xkviz.net, 1 xkwy2018.cn, 1 xlan.be, 1 @@ -119436,6 +119386,7 @@ xn--3stv82k.hk, 1 xn--3stv82k.tw, 1 xn--41a.ml, 1 xn--43-6kc4be0fbz.xn--p1ai, 1 +xn--48jwg508p.net, 1 xn--4brt03c.xn--io0a7i, 1 xn--4kro7fswi.xn--6qq986b3xl, 1 xn--4pv80kkz8auzf.jp, 1 @@ -119903,7 +119854,6 @@ xsolla.com, 1 xss.sk, 1 xssi.uk, 1 xsstime.nl, 1 -xsteam.eu, 1 xstreamable.com, 1 xsuper.net, 1 xsv.cn, 1 @@ -119969,7 +119919,6 @@ xtom.ru, 1 xtom.si, 1 xtom.sk, 1 xtom.su, 1 -xtom.support, 1 xtom.uk, 1 xtom.wiki, 1 xtom.xyz, 1 @@ -120759,6 +120708,7 @@ yogunet.de, 1 yohanesmario.com, 1 yoitoko.city, 1 yoitsu.moe, 1 +yojnaa.com, 1 yokocho373.com, 1 yokoda.okinawa, 1 yokohama-legaloffice.jp, 1 @@ -122698,7 +122648,6 @@ zumba-oostende.be, 1 zumba.com, 1 zumberak.tk, 1 zumtaedanceschool.co.za, 1 -zumub.com, 1 zumwildenaffen.com, 1 zund-app.com, 1 zundapp.one, 1 diff --git a/services/settings/dumps/blocklists/addons-bloomfilters.json b/services/settings/dumps/blocklists/addons-bloomfilters.json index e67f14e052c74..bddd053990781 100644 --- a/services/settings/dumps/blocklists/addons-bloomfilters.json +++ b/services/settings/dumps/blocklists/addons-bloomfilters.json @@ -1,5 +1,47 @@ { "data": [ + { + "stash": { + "blocked": [ + "sp@FindingFormsPro:2.0.0", + "sp@SpeedCheckerPlus:3.0.0", + "sp@FindingFormsPro:1.0.7", + "sp@FindingFormsPro:1.0.3", + "sp@FindingFormsPro:1.0.6", + "sp@QuickEmailAccess:2.0.1", + "sp@FindingFormsPro:2.0.1", + "sp@FindingFormsPro:1.0.5", + "sp@SpeedCheckerPlus:1.0.1", + "sp@FindingFormsPro:1.0.0", + "sp@QuickEmailAccess:2.0.0", + "sp@QuickEmailAccess:3.0.0", + "sp@FindingFormsPro:1.0.2", + "sp@QuickEmailAccess:1.0.0", + "sp@SpeedCheckerPlus:1.0.0", + "sp@FindingFormsPro:1.0.4", + "sp@FindingFormsPro:3.0.0" + ], + "unblocked": [] + }, + "schema": 1647974297042, + "key_format": "{guid}:{version}", + "stash_time": 1648060508100, + "id": "91ab65c0-df4a-4cb0-a9a8-d8dd072733ba", + "last_modified": 1648060697453 + }, + { + "stash": { + "blocked": [ + "{5071465d-c5af-4d4a-acc9-219299efc0f1}:1.2.0" + ], + "unblocked": [] + }, + "schema": 1647867559284, + "key_format": "{guid}:{version}", + "stash_time": 1647974107196, + "id": "be326ebf-52dc-424c-80ce-6d0101bb368f", + "last_modified": 1647974296987 + }, { "stash": { "blocked": [ diff --git a/services/settings/dumps/security-state/intermediates.json b/services/settings/dumps/security-state/intermediates.json index 0ec1d30c829ca..0be477f934166 100644 --- a/services/settings/dumps/security-state/intermediates.json +++ b/services/settings/dumps/security-state/intermediates.json @@ -1,5 +1,221 @@ { "data": [ + { + "schema": 1648111717634, + "derHash": "+RIKcdUGl7mZKnNXoKmg3cS/w1mPy08BZClkgk088nY=", + "subject": "CN=GlobalSign Atlas E46 EV QWAC CA 2023Q1,O=GlobalSign nv-sa,C=BE", + "subjectDN": "MFkxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMS8wLQYDVQQDEyZHbG9iYWxTaWduIEF0bGFzIEU0NiBFViBRV0FDIENBIDIwMjNRMQ==", + "whitelist": false, + "attachment": { + "hash": "55b021920e8c5ede7d6276ecd04c19991d898f6e51bf0b3fa08bf1ba9c248d76", + "size": 1158, + "filename": "1LpfjVSH8hoztBgfd_gZFjiC7v6eaAkVkgVTeL6pRpE=.pem", + "location": "security-state-staging/intermediates/09ea17e8-1bcd-4681-ae0a-939f779f73f5.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "1LpfjVSH8hoztBgfd/gZFjiC7v6eaAkVkgVTeL6pRpE=", + "crlite_enrolled": false, + "id": "d3ec162b-c1f0-4f2e-9614-fb27671a17d5", + "last_modified": 1648112256044 + }, + { + "schema": 1648111716671, + "derHash": "QwsXKm9xRrFqdbzFv6HWDGHe6qKrrGG0OU5KaykcSMw=", + "subject": "CN=GlobalSign Atlas E46 EV QWAC CA 2023Q3,O=GlobalSign nv-sa,C=BE", + "subjectDN": "MFkxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMS8wLQYDVQQDEyZHbG9iYWxTaWduIEF0bGFzIEU0NiBFViBRV0FDIENBIDIwMjNRMw==", + "whitelist": false, + "attachment": { + "hash": "40b0a9828f0b77973e246b7191d21a16f9d6c06c204f416a697608d3d700bba6", + "size": 1158, + "filename": "optwe1ocGkg7DXck7jODG5z_v8Zt72fvYBoDzURXOiY=.pem", + "location": "security-state-staging/intermediates/b3076cf4-85f5-4d34-9510-ccbf6447dd9b.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "optwe1ocGkg7DXck7jODG5z/v8Zt72fvYBoDzURXOiY=", + "crlite_enrolled": false, + "id": "8997acb0-7a65-451b-a771-31209f4b4920", + "last_modified": 1648112256036 + }, + { + "schema": 1648111715739, + "derHash": "p9z9PQk3fDm6On9jDgUuxZPpcm0dpXIp5ZnRWtbcyns=", + "subject": "CN=GlobalSign Atlas R46 EV QWAC CA 2023Q1,O=GlobalSign nv-sa,C=BE", + "subjectDN": "MFkxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMS8wLQYDVQQDEyZHbG9iYWxTaWduIEF0bGFzIFI0NiBFViBRV0FDIENBIDIwMjNRMQ==", + "whitelist": false, + "attachment": { + "hash": "fc8007f8fd12fae7c462817756a3e12831260d0dde7d99df37fcee4450ed101a", + "size": 2304, + "filename": "c6w0LUIRbkLD8fbDDHL4ho_7XkZ8zf-WWqAOlcGpo0M=.pem", + "location": "security-state-staging/intermediates/26ee5bc1-166e-4810-a513-c2d03f359dcd.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "c6w0LUIRbkLD8fbDDHL4ho/7XkZ8zf+WWqAOlcGpo0M=", + "crlite_enrolled": false, + "id": "828f577c-a1ed-4ffa-823c-6216c3661d68", + "last_modified": 1648112256027 + }, + { + "schema": 1648111714755, + "derHash": "tR2FoI+ssG+X/fWFY3SQAwM+533Vg5hiBEmRl8qOcHc=", + "subject": "CN=GlobalSign Atlas R46 EV QWAC CA 2023Q4,O=GlobalSign nv-sa,C=BE", + "subjectDN": "MFkxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMS8wLQYDVQQDEyZHbG9iYWxTaWduIEF0bGFzIFI0NiBFViBRV0FDIENBIDIwMjNRNA==", + "whitelist": false, + "attachment": { + "hash": "b70bccb91e1382127d552db2218d3a4b5e694b6e46ae394de9c13a65ed772ebb", + "size": 2304, + "filename": "tZABsMMctDxN2dVCN6e8jDISb-XBcMxhQzt38VfbuDA=.pem", + "location": "security-state-staging/intermediates/198954ce-3ffd-4df5-a2d7-24ae0c2dbb7a.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "tZABsMMctDxN2dVCN6e8jDISb+XBcMxhQzt38VfbuDA=", + "crlite_enrolled": false, + "id": "d0055faf-7e7a-4a03-84ca-236e7e150355", + "last_modified": 1648112256018 + }, + { + "schema": 1648111713814, + "derHash": "9MXzlWN5STgw3nRW4KVdb7wbjqCLdWSI/wBbbDlKacc=", + "subject": "CN=GlobalSign Atlas E46 EV QWAC CA 2023Q2,O=GlobalSign nv-sa,C=BE", + "subjectDN": "MFkxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMS8wLQYDVQQDEyZHbG9iYWxTaWduIEF0bGFzIEU0NiBFViBRV0FDIENBIDIwMjNRMg==", + "whitelist": false, + "attachment": { + "hash": "12544f05eaffecc66cfb2fd647c6958cb03982233cd8545c013c9e090e9f5dd2", + "size": 1158, + "filename": "EBZTs8K9zMMECCBtTU0HgF-x0sx96tVwP0f33u8CVo0=.pem", + "location": "security-state-staging/intermediates/88ba5f96-66e2-4cd3-bc6e-d3081fefa6ae.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "EBZTs8K9zMMECCBtTU0HgF+x0sx96tVwP0f33u8CVo0=", + "crlite_enrolled": false, + "id": "7a907fba-b773-47d5-8980-b6cd09c503c8", + "last_modified": 1648112256010 + }, + { + "schema": 1648111712861, + "derHash": "LaUid2Ytwcd54kOfr1j4X4fbpz4PFvGw6zEKSRnPw7o=", + "subject": "CN=GlobalSign Atlas E46 EV QWAC CA 2023Q4,O=GlobalSign nv-sa,C=BE", + "subjectDN": "MFkxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMS8wLQYDVQQDEyZHbG9iYWxTaWduIEF0bGFzIEU0NiBFViBRV0FDIENBIDIwMjNRNA==", + "whitelist": false, + "attachment": { + "hash": "a12414bc2af80f20737582694f4b964c09b82a8a591161834841e526e2b81b1a", + "size": 1158, + "filename": "DfmbgsrIxe8_N5Um3tZ6V_47ptPmpy9zNMbCxXcTx4A=.pem", + "location": "security-state-staging/intermediates/4cd1861b-a0c2-4b30-b872-3a0486efe22e.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "DfmbgsrIxe8/N5Um3tZ6V/47ptPmpy9zNMbCxXcTx4A=", + "crlite_enrolled": false, + "id": "128d47d0-7ee8-4a5b-a937-07239a7df9b7", + "last_modified": 1648112256001 + }, + { + "schema": 1648111711870, + "derHash": "pAyR5GbWLNsytxOeh0jw61qBf2u4qfmZp6m/QwbW1dU=", + "subject": "CN=GlobalSign Atlas R46 EV QWAC CA 2023Q2,O=GlobalSign nv-sa,C=BE", + "subjectDN": "MFkxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMS8wLQYDVQQDEyZHbG9iYWxTaWduIEF0bGFzIFI0NiBFViBRV0FDIENBIDIwMjNRMg==", + "whitelist": false, + "attachment": { + "hash": "89bfa9e3815fb5f762d3f1a7dda4de7cab2aba8f41b814e8507ab9ca1852bed0", + "size": 2304, + "filename": "3ZySFXFHb5Plo7dM_NSw8nKNUlgm3wVrp1r970Tmy9I=.pem", + "location": "security-state-staging/intermediates/1120dfd8-15c7-44a1-86a4-3c4e97f1ab63.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "3ZySFXFHb5Plo7dM/NSw8nKNUlgm3wVrp1r970Tmy9I=", + "crlite_enrolled": false, + "id": "672ee5db-ce74-426e-90b7-b7dc55c91fc6", + "last_modified": 1648112255993 + }, + { + "schema": 1648111710874, + "derHash": "KchA0GKshi200gko0q79g7NaRr1FM5lf8u/T4+6M/9k=", + "subject": "CN=GlobalSign Atlas R46 EV QWAC CA 2023Q3,O=GlobalSign nv-sa,C=BE", + "subjectDN": "MFkxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMS8wLQYDVQQDEyZHbG9iYWxTaWduIEF0bGFzIFI0NiBFViBRV0FDIENBIDIwMjNRMw==", + "whitelist": false, + "attachment": { + "hash": "76651c35cbddf6690564ab5eca531b747c955d30a7cfaa53c117394757cb101a", + "size": 2304, + "filename": "RQ8YAl2HjeVi53YGXKYDqOxAqWE8GxAl626WJwuAffU=.pem", + "location": "security-state-staging/intermediates/5748ec6c-c33e-4b62-9fc6-b745dc8e5611.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "RQ8YAl2HjeVi53YGXKYDqOxAqWE8GxAl626WJwuAffU=", + "crlite_enrolled": false, + "id": "eb1340fa-a150-40a9-af2e-a3bdd28002a1", + "last_modified": 1648112255984 + }, + { + "schema": 1648025322112, + "derHash": "qXyhN1uRlT5TalVHawrERMcIapUeSQo6PRNjChn0DNQ=", + "subject": "CN=TWCA InfoSec User CA,OU=User CA,O=TAIWAN-CA Inc.,C=TW", + "subjectDN": "MFcxCzAJBgNVBAYTAlRXMRcwFQYDVQQKEw5UQUlXQU4tQ0EgSW5jLjEQMA4GA1UECxMHVXNlciBDQTEdMBsGA1UEAxMUVFdDQSBJbmZvU2VjIFVzZXIgQ0E=", + "whitelist": false, + "attachment": { + "hash": "6aaaa07d5c201417999a0e22e73d6ede06b3ae7309353301a6d321d172316983", + "size": 1703, + "filename": "bqhl3DAHcc4Kg-bxpYCIoIh4Tjx38mrpuN4vD6gDaHY=.pem", + "location": "security-state-staging/intermediates/dbc7f86a-a8bd-4852-9d23-1d43fa46ee74.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "bqhl3DAHcc4Kg+bxpYCIoIh4Tjx38mrpuN4vD6gDaHY=", + "crlite_enrolled": false, + "id": "ffdd983c-ad21-42e0-bd71-4c89196fb73c", + "last_modified": 1648025848804 + }, + { + "schema": 1648025321155, + "derHash": "B0hA46Z9zSYAtrAE4Rh6yAvf6JbK9JPflMw9mjymiBQ=", + "subject": "CN=TWCA InfoSec User CA,OU=User CA,O=TAIWAN-CA Inc.,C=TW", + "subjectDN": "MFcxCzAJBgNVBAYTAlRXMRcwFQYDVQQKEw5UQUlXQU4tQ0EgSW5jLjEQMA4GA1UECxMHVXNlciBDQTEdMBsGA1UEAxMUVFdDQSBJbmZvU2VjIFVzZXIgQ0E=", + "whitelist": false, + "attachment": { + "hash": "45844bd66bf712d05a01885a5ed8fe191938dc90ceb1c6bb05a732c72ec77002", + "size": 1703, + "filename": "ffKwXiiyZfl8ltFLZ9k5urWtoCKNBNklL8cqiHHZUUQ=.pem", + "location": "security-state-staging/intermediates/54742694-a874-4df8-9c81-e88d2f2221f4.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "ffKwXiiyZfl8ltFLZ9k5urWtoCKNBNklL8cqiHHZUUQ=", + "crlite_enrolled": false, + "id": "73d165e8-c4b1-4300-a6eb-607ee522dabe", + "last_modified": 1648025848795 + }, + { + "schema": 1648025320193, + "derHash": "mxby9oDXxL1qZ/YJNA2mQWq/nkPxMmsBuYgZInHQtfI=", + "subject": "CN=TWCA Secure SSL Certification Authority,OU=Secure SSL Sub-CA,O=TAIWAN-CA,C=TW", + "subjectDN": "MG8xCzAJBgNVBAYTAlRXMRIwEAYDVQQKEwlUQUlXQU4tQ0ExGjAYBgNVBAsTEVNlY3VyZSBTU0wgU3ViLUNBMTAwLgYDVQQDEydUV0NBIFNlY3VyZSBTU0wgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHk=", + "whitelist": false, + "attachment": { + "hash": "acd717a163c1e31ec674bb2953f2f16be424838b5d36e703984df5d77c80d023", + "size": 2032, + "filename": "8hqbhsMMFPaPA8t81pxqFer9-neHBcQvO7-TAKjWkb0=.pem", + "location": "security-state-staging/intermediates/b5f4faa4-0521-4c2b-939b-4bef5f921421.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "8hqbhsMMFPaPA8t81pxqFer9+neHBcQvO7+TAKjWkb0=", + "crlite_enrolled": false, + "id": "163c4d13-0624-40c4-83d7-7b9bbea0f129", + "last_modified": 1648025848786 + }, + { + "schema": 1648025319180, + "derHash": "SWlaXw9+9u32mBk9me1Iuq3iDqRXQDwRzq1JLEWGZdo=", + "subject": "CN=TWCA Global EVSSL Certification Authority,OU=Global EVSSL Sub-CA,O=TAIWAN-CA,C=TW", + "subjectDN": "MHMxCzAJBgNVBAYTAlRXMRIwEAYDVQQKEwlUQUlXQU4tQ0ExHDAaBgNVBAsTE0dsb2JhbCBFVlNTTCBTdWItQ0ExMjAwBgNVBAMTKVRXQ0EgR2xvYmFsIEVWU1NMIENlcnRpZmljYXRpb24gQXV0aG9yaXR5", + "whitelist": false, + "attachment": { + "hash": "4f777697d0c427439f9282b53a652b4a868074c5e1ae55a6dfe51dc32d19b817", + "size": 1955, + "filename": "3sXbPfqhHfn3hza4ob3X6iuMjfN9qdgOhBAC5GOp-TY=.pem", + "location": "security-state-staging/intermediates/1b6005ce-3d05-4336-b84f-46f273145539.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "3sXbPfqhHfn3hza4ob3X6iuMjfN9qdgOhBAC5GOp+TY=", + "crlite_enrolled": false, + "id": "c44d3056-f6b6-415c-8f13-43d0b71fb7b5", + "last_modified": 1648025848777 + }, { "schema": 1647788245578, "derHash": "8Hu73gdvm0DFfMS+/t6Xyh9Tua4UfwNdKEy/U/NDL7g=", @@ -7560,24 +7776,6 @@ "id": "3ae9678b-4310-42e4-8c4b-a2bd36359c71", "last_modified": 1643540241702 }, - { - "schema": 1643539739872, - "derHash": "XLnp3jKxh+QLoU/fIA/aYse0+/iNZPd84C3W6+a8wbA=", - "subject": "CN=Hongkong Post e-Cert CA 1 - 15,O=Hongkong Post,L=Hong Kong,ST=Hong Kong,C=HK", - "subjectDN": "MHYxCzAJBgNVBAYTAkhLMRIwEAYDVQQIEwlIb25nIEtvbmcxEjAQBgNVBAcTCUhvbmcgS29uZzEWMBQGA1UEChMNSG9uZ2tvbmcgUG9zdDEnMCUGA1UEAxMeSG9uZ2tvbmcgUG9zdCBlLUNlcnQgQ0EgMSAtIDE1", - "whitelist": false, - "attachment": { - "hash": "b1dec54f97f654e9b417aea0e0d23a22852001ddaf0a4b9b7a4c8d05cb468de6", - "size": 1743, - "filename": "nJWwmV0E5pEw1Pt8yzqltuQOo94m9iy9I53BzzbPaqE=.pem", - "location": "security-state-staging/intermediates/75266247-0a7b-4385-ae5c-7bde1cbc59fe.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "nJWwmV0E5pEw1Pt8yzqltuQOo94m9iy9I53BzzbPaqE=", - "crlite_enrolled": true, - "id": "143884ed-af2d-4415-8a20-84ab1314e2dc", - "last_modified": 1643540241691 - }, { "schema": 1643539725512, "derHash": "kK8bYaCCZipjnKpoxqP7Qeu6N2DDUaSh6J+22srUhvw=", @@ -18180,24 +18378,6 @@ "id": "c6d61ecf-df03-455e-b621-1a69e4c44ab9", "last_modified": 1576536532463 }, - { - "schema": 1576536111049, - "derHash": "F2rr8pcr1vRxee3j3mOEixVDtFrilUvqRRhbFSU3ucQ=", - "subject": "CN=Hongkong Post Root CA 3,O=Hongkong Post,L=Hong Kong,ST=Hong Kong,C=HK", - "subjectDN": "MG8xCzAJBgNVBAYTAkhLMRIwEAYDVQQIEwlIb25nIEtvbmcxEjAQBgNVBAcTCUhvbmcgS29uZzEWMBQGA1UEChMNSG9uZ2tvbmcgUG9zdDEgMB4GA1UEAxMXSG9uZ2tvbmcgUG9zdCBSb290IENBIDM=", - "whitelist": false, - "attachment": { - "hash": "b4ba7c31c249eb874c39b6a3e78147e6623a6ccbab1429cce2313067069229b7", - "size": 2020, - "filename": "JUHlO6WzsHrL5wl6xKA-BAwRz3ptSmfLIT1Vi1AWegY=.pem", - "location": "security-state-staging/intermediates/15934ce0-b66f-41d1-9cc3-4f83f0c22828.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "JUHlO6WzsHrL5wl6xKA+BAwRz3ptSmfLIT1Vi1AWegY=", - "crlite_enrolled": false, - "id": "78e6c5d3-d8b9-4d7e-b67b-b08391bf0d23", - "last_modified": 1576536532457 - }, { "schema": 1576536110684, "derHash": "BuXewxyR19M0NSAdLiIRbCBxk6h04KQmUyovaVMMhrU=", @@ -19188,24 +19368,6 @@ "id": "0792354e-832d-44b5-86f7-9d8759ed1b08", "last_modified": 1562108544257 }, - { - "schema": 1562108539744, - "derHash": "qXyhN1uRlT5TalVHawrERMcIapUeSQo6PRNjChn0DNQ=", - "subject": "CN=TWCA InfoSec User CA,OU=User CA,O=TAIWAN-CA Inc.,C=TW", - "subjectDN": "MFcxCzAJBgNVBAYTAlRXMRcwFQYDVQQKEw5UQUlXQU4tQ0EgSW5jLjEQMA4GA1UECxMHVXNlciBDQTEdMBsGA1UEAxMUVFdDQSBJbmZvU2VjIFVzZXIgQ0E=", - "whitelist": false, - "attachment": { - "hash": "6aaaa07d5c201417999a0e22e73d6ede06b3ae7309353301a6d321d172316983", - "size": 1703, - "filename": "bqhl3DAHcc4Kg-bxpYCIoIh4Tjx38mrpuN4vD6gDaHY=.pem", - "location": "security-state-staging/intermediates/a7eca8e3-d4e8-42fd-97a7-7b7589b511a1.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "bqhl3DAHcc4Kg+bxpYCIoIh4Tjx38mrpuN4vD6gDaHY=", - "crlite_enrolled": false, - "id": "53671fd7-9e3a-4f0c-a8fb-99fc788cacba", - "last_modified": 1562108540486 - }, { "schema": 1562108522832, "derHash": "ztQGeH82ZG2JfkaLe4tdyuEDDDp1rxybEFUUuV7G6nA=", @@ -19386,24 +19548,6 @@ "id": "2bf88053-7706-4881-a7fb-ac030ad0b530", "last_modified": 1562108486759 }, - { - "schema": 1562108479933, - "derHash": "wY1Tv5hk3Qm8vKz9Zy4lZtTIH2iJ42313UJcBCEdB2M=", - "subject": "CN=Hongkong Post e-Cert EV SSL CA 3 - 17,O=Hongkong Post,L=Hong Kong,ST=Hong Kong,C=HK", - "subjectDN": "MH0xCzAJBgNVBAYTAkhLMRIwEAYDVQQIEwlIb25nIEtvbmcxEjAQBgNVBAcTCUhvbmcgS29uZzEWMBQGA1UEChMNSG9uZ2tvbmcgUG9zdDEuMCwGA1UEAxMlSG9uZ2tvbmcgUG9zdCBlLUNlcnQgRVYgU1NMIENBIDMgLSAxNw==", - "whitelist": false, - "attachment": { - "hash": "e4408c6b03e1deb0777ad20ea8b3466779565bcb2d92a17de6ac350bdaa5de18", - "size": 2097, - "filename": "shxxZc44F1hF3pjKzr0Oaoq-CwRFBKIr0_noGHUYkjA=.pem", - "location": "security-state-staging/intermediates/5092f509-515e-460e-b9cb-d9cdaff53b24.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "shxxZc44F1hF3pjKzr0Oaoq+CwRFBKIr0/noGHUYkjA=", - "crlite_enrolled": true, - "id": "8a76611a-1aeb-45ed-90ff-d235f7264a64", - "last_modified": 1562108480674 - }, { "schema": 1562108477627, "derHash": "ci1Qh02kVJbQKZYnQJd3YDqHNBpflDuInDLnuSgKj3E=", @@ -20520,24 +20664,6 @@ "id": "3082ff87-55fc-4380-b33c-8f226a13dcec", "last_modified": 1562025550741 }, - { - "schema": 1562025546244, - "derHash": "FEIqG9WpHtunOXuGmJIjabavaYT/h6z2E52qkZ55WhQ=", - "subject": "CN=Hongkong Post e-Cert CA 1 - 14,O=Hongkong Post,C=HK", - "subjectDN": "ME4xCzAJBgNVBAYTAkhLMRYwFAYDVQQKEw1Ib25na29uZyBQb3N0MScwJQYDVQQDEx5Ib25na29uZyBQb3N0IGUtQ2VydCBDQSAxIC0gMTQ=", - "whitelist": false, - "attachment": { - "hash": "5a4d38e1effb5367e3fd8c4536f7e3be9e065be0cb93778e4484d32658a3c99c", - "size": 1626, - "filename": "vSKE_tMDVyGX2f0WYoCAXCvfnFi2nosboVhJtpmvc10=.pem", - "location": "security-state-staging/intermediates/44f50bf9-a77b-4072-997d-ecb9e4196036.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "vSKE/tMDVyGX2f0WYoCAXCvfnFi2nosboVhJtpmvc10=", - "crlite_enrolled": false, - "id": "05017875-8b94-4416-a852-fb1978415050", - "last_modified": 1562025546971 - }, { "schema": 1562025532067, "derHash": "9ujsmwB3XMNnEDaToAFW/6WrhE5kB7HShTsIQfRRlG8=", @@ -21438,24 +21564,6 @@ "id": "497678fd-cecb-41ae-8247-6870a5a994e1", "last_modified": 1562025266548 }, - { - "schema": 1562025264327, - "derHash": "aezbwxR/WB39y1Itne+yYLJnhK1JVcdOalJSLMxMRAg=", - "subject": "CN=Hongkong Post e-Cert SSL CA 3 - 17,O=Hongkong Post,L=Hong Kong,ST=Hong Kong,C=HK", - "subjectDN": "MHoxCzAJBgNVBAYTAkhLMRIwEAYDVQQIEwlIb25nIEtvbmcxEjAQBgNVBAcTCUhvbmcgS29uZzEWMBQGA1UEChMNSG9uZ2tvbmcgUG9zdDErMCkGA1UEAxMiSG9uZ2tvbmcgUG9zdCBlLUNlcnQgU1NMIENBIDMgLSAxNw==", - "whitelist": false, - "attachment": { - "hash": "d819d0da20d45c8f93a0efb0d37fd86e274107134845bf5480d9b3697bb0711d", - "size": 2093, - "filename": "SUe0dPoWC5QKoJyXReRB3haevgxOd9ZVd5sn7N65_DY=.pem", - "location": "security-state-staging/intermediates/b1839acb-c26b-4d29-aa46-65f25e6250c5.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "SUe0dPoWC5QKoJyXReRB3haevgxOd9ZVd5sn7N65/DY=", - "crlite_enrolled": true, - "id": "4d1c3055-4469-4d11-a7a0-e646d9c6bd59", - "last_modified": 1562025265062 - }, { "schema": 1562025251569, "derHash": "CP1BixGIU0hP0bBm8ZIqgPVx2P/3Jo1Ziwht8YtYCtg=", @@ -21600,24 +21708,6 @@ "id": "ac25e523-d7a1-4700-87a8-f528654cc35b", "last_modified": 1562025203402 }, - { - "schema": 1562025198927, - "derHash": "SWlaXw9+9u32mBk9me1Iuq3iDqRXQDwRzq1JLEWGZdo=", - "subject": "CN=TWCA Global EVSSL Certification Authority,OU=Global EVSSL Sub-CA,O=TAIWAN-CA,C=TW", - "subjectDN": "MHMxCzAJBgNVBAYTAlRXMRIwEAYDVQQKEwlUQUlXQU4tQ0ExHDAaBgNVBAsTE0dsb2JhbCBFVlNTTCBTdWItQ0ExMjAwBgNVBAMTKVRXQ0EgR2xvYmFsIEVWU1NMIENlcnRpZmljYXRpb24gQXV0aG9yaXR5", - "whitelist": false, - "attachment": { - "hash": "4f777697d0c427439f9282b53a652b4a868074c5e1ae55a6dfe51dc32d19b817", - "size": 1955, - "filename": "3sXbPfqhHfn3hza4ob3X6iuMjfN9qdgOhBAC5GOp-TY=.pem", - "location": "security-state-staging/intermediates/d4e10b9c-0b97-413b-97b1-5b93a2c878a0.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "3sXbPfqhHfn3hza4ob3X6iuMjfN9qdgOhBAC5GOp+TY=", - "crlite_enrolled": true, - "id": "b7f1ffd4-4c9e-4762-a0b9-1a840835047b", - "last_modified": 1562025199670 - }, { "schema": 1562025193661, "derHash": "rtXdmlM5aF37Ap9tiaFDNallEsPKzFKymUr4trN/pNI=", @@ -22050,24 +22140,6 @@ "id": "2a3b5d82-65bb-4191-8f82-c390f1255cee", "last_modified": 1562025065952 }, - { - "schema": 1562025059950, - "derHash": "mxby9oDXxL1qZ/YJNA2mQWq/nkPxMmsBuYgZInHQtfI=", - "subject": "CN=TWCA Secure SSL Certification Authority,OU=Secure SSL Sub-CA,O=TAIWAN-CA,C=TW", - "subjectDN": "MG8xCzAJBgNVBAYTAlRXMRIwEAYDVQQKEwlUQUlXQU4tQ0ExGjAYBgNVBAsTEVNlY3VyZSBTU0wgU3ViLUNBMTAwLgYDVQQDEydUV0NBIFNlY3VyZSBTU0wgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHk=", - "whitelist": false, - "attachment": { - "hash": "acd717a163c1e31ec674bb2953f2f16be424838b5d36e703984df5d77c80d023", - "size": 2032, - "filename": "8hqbhsMMFPaPA8t81pxqFer9-neHBcQvO7-TAKjWkb0=.pem", - "location": "security-state-staging/intermediates/264eee83-19f9-4406-ab9f-ae5fc55e9a70.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "8hqbhsMMFPaPA8t81pxqFer9+neHBcQvO7+TAKjWkb0=", - "crlite_enrolled": true, - "id": "2535f8ba-07ba-4b54-85a8-742db433036d", - "last_modified": 1562025060710 - }, { "schema": 1562025041146, "derHash": "ayMo5//1mLKt+Qt/PqQrRfpgbXjisRe31g6Z6CjPdWU=", @@ -23742,24 +23814,6 @@ "id": "7eeef585-e240-41af-81bb-b177c89b7b32", "last_modified": 1559867437775 }, - { - "schema": 1559867432168, - "derHash": "EYj4MclJpi6c1PYONvclRPCvkk3gf52pkuJuRMmW7uA=", - "subject": "CN=DigiCert High Assurance EV CA-2,OU=www.digicert.com,O=DigiCert Inc,C=US", - "subjectDN": "MGkxCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5jb20xKDAmBgNVBAMTH0RpZ2lDZXJ0IEhpZ2ggQXNzdXJhbmNlIEVWIENBLTI=", - "whitelist": false, - "attachment": { - "hash": "b145b565a9904eaa02b6a72abb75193f832000fd38aeafaa780db87365ff2c14", - "size": 2259, - "filename": "xIR53dzZj47wArExuiNyNGwPlWUfxINMgw3ePpMqhtM=.pem", - "location": "security-state-staging/intermediates/3743430c-e300-4654-9602-bfdefe2354b7.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "xIR53dzZj47wArExuiNyNGwPlWUfxINMgw3ePpMqhtM=", - "crlite_enrolled": false, - "id": "78f96e89-32b4-40fe-af94-7cb1e85e9957", - "last_modified": 1559867432960 - }, { "schema": 1559867302256, "derHash": "BPehwRJgflk5KP7HhsxgIb1uvZUAHxxpO4xLOE6xn2o=", @@ -23778,24 +23832,6 @@ "id": "2e0e37b3-09ed-4d09-9512-e4f61413080c", "last_modified": 1559867303051 }, - { - "schema": 1559867193847, - "derHash": "B0hA46Z9zSYAtrAE4Rh6yAvf6JbK9JPflMw9mjymiBQ=", - "subject": "CN=TWCA InfoSec User CA,OU=User CA,O=TAIWAN-CA Inc.,C=TW", - "subjectDN": "MFcxCzAJBgNVBAYTAlRXMRcwFQYDVQQKEw5UQUlXQU4tQ0EgSW5jLjEQMA4GA1UECxMHVXNlciBDQTEdMBsGA1UEAxMUVFdDQSBJbmZvU2VjIFVzZXIgQ0E=", - "whitelist": false, - "attachment": { - "hash": "45844bd66bf712d05a01885a5ed8fe191938dc90ceb1c6bb05a732c72ec77002", - "size": 1703, - "filename": "ffKwXiiyZfl8ltFLZ9k5urWtoCKNBNklL8cqiHHZUUQ=.pem", - "location": "security-state-staging/intermediates/c5276bf0-c900-4b43-8dd3-e46484423040.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "ffKwXiiyZfl8ltFLZ9k5urWtoCKNBNklL8cqiHHZUUQ=", - "crlite_enrolled": false, - "id": "c4144e37-5fca-4438-94df-2524de197266", - "last_modified": 1559867194628 - }, { "schema": 1559867189046, "derHash": "FVSRh0kDFPUXdkHwvrMmNKoSMOss8sKK2cc5FPsYq6A=",
This is an automated email from the git hooks/post-receive script.
richard pushed a commit to branch tor-browser-91.8.0esr-11.0-1 in repository tor-browser.
commit eac6580f5edd8a156e49f7882b85c4bef9cf88ec Author: Andrew Osmond aosmond@mozilla.com AuthorDate: Fri Mar 18 15:22:46 2022 +0000
Bug 1758975 - Ensure GIF color tables are opaque by default. r=tnikkel a=RyanVM
Differential Revision: https://phabricator.services.mozilla.com/D141176 --- image/decoders/nsGIFDecoder2.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/image/decoders/nsGIFDecoder2.cpp b/image/decoders/nsGIFDecoder2.cpp index c75cc397327b0..c273105a7df86 100644 --- a/image/decoders/nsGIFDecoder2.cpp +++ b/image/decoders/nsGIFDecoder2.cpp @@ -91,8 +91,10 @@ nsGIFDecoder2::nsGIFDecoder2(RasterImage* aImage) mGIFOpen(false), mSawTransparency(false), mSwizzleFn(nullptr) { - // Clear out the structure, excluding the arrays. + // Clear out the structure, excluding the arrays. Ensure that the global + // colormap is initialized as opaque. memset(&mGIFStruct, 0, sizeof(mGIFStruct)); + memset(mGIFStruct.global_colormap, 0xFF, sizeof(mGIFStruct.global_colormap));
// Each color table will need to be unpacked. mSwizzleFn = SwizzleRow(SurfaceFormat::R8G8B8, SurfaceFormat::OS_RGBA); @@ -854,6 +856,8 @@ LexerTransitionnsGIFDecoder2::State nsGIFDecoder2::FinishImageDescriptor( mGIFStruct.local_colormap_buffer_size = mColormapSize; mGIFStruct.local_colormap = static_cast<uint32_t*>(moz_xmalloc(mColormapSize)); + // Ensure the local colormap is initialized as opaque. + memset(mGIFStruct.local_colormap, 0xFF, mColormapSize); } else { mColormapSize = mGIFStruct.local_colormap_buffer_size; }
This is an automated email from the git hooks/post-receive script.
richard pushed a commit to branch tor-browser-91.8.0esr-11.0-1 in repository tor-browser.
commit 423c2d6b03593c30969141143140433dc59c0a77 Author: Shane Caraveo scaraveo@mozilla.com AuthorDate: Fri Mar 18 19:43:43 2022 +0000
Bug 1757760 retain correct search default setting after addon update r=rpl a=RyanVM
Differential Revision: https://phabricator.services.mozilla.com/D141294 --- .../parent/ext-chrome-settings-overrides.js | 11 +- .../test_ext_chrome_settings_overrides_update.js | 185 ++++++++++++++++++++- 2 files changed, 190 insertions(+), 6 deletions(-)
diff --git a/browser/components/extensions/parent/ext-chrome-settings-overrides.js b/browser/components/extensions/parent/ext-chrome-settings-overrides.js index 259e443c86a6f..ef2b5f040cc03 100644 --- a/browser/components/extensions/parent/ext-chrome-settings-overrides.js +++ b/browser/components/extensions/parent/ext-chrome-settings-overrides.js @@ -339,7 +339,9 @@ this.chrome_settings_overrides = class extends ExtensionAPI { extension.startupReason ); } - if (disable && item?.enabled) { + // Ensure the item is disabled. If addSetting was called above, + // Item may be null, and enabled may be undefined. + if (disable && item?.enabled !== false) { item = await ExtensionSettingsStore.disable( extension.id, DEFAULT_SEARCH_STORE_TYPE, @@ -367,7 +369,10 @@ this.chrome_settings_overrides = class extends ExtensionAPI { // This is a hack because we don't have the browser of // the actual install. This means the popup might show // in a different window. Will be addressed in a followup bug. - browser: windowTracker.topWindow.gBrowser.selectedBrowser, + // As well, we still notify if no topWindow exists to support + // testing from xpcshell. + browser: windowTracker.topWindow?.gBrowser.selectedBrowser, + id: extension.id, name: extension.name, icon: extension.iconURL, currentEngine: defaultEngine.name, @@ -476,7 +481,7 @@ this.chrome_settings_overrides = class extends ExtensionAPI { Services.search.defaultEngine = Services.search.getEngineByName( engineName ); - } else { + } else if (extension.startupReason == "ADDON_ENABLE") { // This extension has precedence, but is not in control. Ask the user. await this.promptDefaultSearch(engineName); } diff --git a/browser/components/extensions/test/xpcshell/test_ext_chrome_settings_overrides_update.js b/browser/components/extensions/test/xpcshell/test_ext_chrome_settings_overrides_update.js index 56af1f2642593..bbbcf0ea098e1 100644 --- a/browser/components/extensions/test/xpcshell/test_ext_chrome_settings_overrides_update.js +++ b/browser/components/extensions/test/xpcshell/test_ext_chrome_settings_overrides_update.js @@ -6,7 +6,9 @@ const { AddonTestUtils } = ChromeUtils.import( "resource://testing-common/AddonTestUtils.jsm" ); XPCOMUtils.defineLazyModuleGetters(this, { + AddonManager: "resource://gre/modules/AddonManager.jsm", HomePage: "resource:///modules/HomePage.jsm", + PromiseUtils: "resource://gre/modules/PromiseUtils.jsm", RemoteSettings: "resource://services-settings/remote-settings.js", sinon: "resource://testing-common/Sinon.jsm", }); @@ -24,6 +26,29 @@ AddonTestUtils.createAppInfo( // search service needs it. Services.prefs.clearUserPref("services.settings.default_bucket");
+// Similar to TestUtils.topicObserved, but returns a deferred promise that +// can be resolved +function topicObservable(topic, checkFn) { + let deferred = PromiseUtils.defer(); + function observer(subject, topic, data) { + try { + if (checkFn && !checkFn(subject, data)) { + return; + } + deferred.resolve([subject, data]); + } catch (ex) { + deferred.reject(ex); + } + } + deferred.promise.finally(() => { + Services.obs.removeObserver(observer, topic); + checkFn = null; + }); + Services.obs.addObserver(observer, topic); + + return deferred; +} + async function setupRemoteSettings() { const settings = await RemoteSettings("hijack-blocklists"); sinon.stub(settings, "get").returns([ @@ -50,7 +75,7 @@ add_task(async function test_overrides_update_removal() { /* This tests the scenario where the manifest key for homepage and/or * search_provider are removed between updates and therefore the * settings are expected to revert. It also tests that an extension - * can make a builtin extension the default extension without user + * can make a builtin extension the default search without user * interaction. */
const EXTENSION_ID = "test_overrides_update@tests.mozilla.org"; @@ -82,7 +107,20 @@ add_task(async function test_overrides_update_removal() { ok(defaultEngineName !== "DuckDuckGo", "Default engine is not DuckDuckGo.");
let prefPromise = promisePrefChanged(HOMEPAGE_URI); - await extension.startup(); + + // When an addon is installed that overrides an app-provided engine (builtin) + // that is the default, we do not prompt for default. + let deferredPrompt = topicObservable( + "webextension-defaultsearch-prompt", + (subject, message) => { + if (subject.wrappedJSObject.id == extension.id) { + ok(false, "default override should not prompt"); + } + } + ); + + await Promise.race([extension.startup(), deferredPrompt.promise]); + deferredPrompt.resolve(); await AddonTestUtils.waitForSearchProviderStartup(extension); await prefPromise;
@@ -197,7 +235,21 @@ add_task(async function test_overrides_update_adding() { };
let prefPromise = promisePrefChanged(HOMEPAGE_URI); - await extension.upgrade(extensionInfo); + + let deferredUpgradePrompt = topicObservable( + "webextension-defaultsearch-prompt", + (subject, message) => { + if (subject.wrappedJSObject.id == extension.id) { + ok(false, "should not prompt on update"); + } + } + ); + + await Promise.race([ + extension.upgrade(extensionInfo), + deferredUpgradePrompt.promise, + ]); + deferredUpgradePrompt.resolve(); await AddonTestUtils.waitForSearchProviderStartup(extension); await prefPromise;
@@ -287,3 +339,130 @@ add_task(async function test_overrides_update_homepage_change() {
await extension.unload(); }); + +add_task(async function test_default_search_prompts() { + /* This tests the scenario where an addon did not gain + * default search during install, and later upgrades. + * The addon should not gain default in updates. + * If the addon is disabled, it should prompt again when + * enabled. + */ + + const EXTENSION_ID = "test_default_update@tests.mozilla.org"; + + let extensionInfo = { + useAddonManager: "permanent", + manifest: { + version: "1.0", + applications: { + gecko: { + id: EXTENSION_ID, + }, + }, + chrome_settings_overrides: { + search_provider: { + name: "Example", + search_url: "https://example.com/?q=%7BsearchTerms%7D", + is_default: true, + }, + }, + }, + }; + + let extension = ExtensionTestUtils.loadExtension(extensionInfo); + + // Mock a response from the default search prompt where we + // say no to setting this as the default when installing. + let prompted = TestUtils.topicObserved( + "webextension-defaultsearch-prompt", + (subject, message) => { + if (subject.wrappedJSObject.id == extension.id) { + return subject.wrappedJSObject.respond(false); + } + } + ); + + let defaultEngineName = (await Services.search.getDefault()).name; + ok(defaultEngineName !== "Example", "Search is not Example."); + + await extension.startup(); + await prompted; + + equal( + extension.version, + "1.0", + "The installed addon has the expected version." + ); + equal( + (await Services.search.getDefault()).name, + defaultEngineName, + "Default engine is the default after startup." + ); + + extensionInfo.manifest = { + version: "2.0", + applications: { + gecko: { + id: EXTENSION_ID, + }, + }, + chrome_settings_overrides: { + search_provider: { + name: "Example", + search_url: "https://example.com/?q=%7BsearchTerms%7D", + is_default: true, + }, + }, + }; + + let deferredUpgradePrompt = topicObservable( + "webextension-defaultsearch-prompt", + (subject, message) => { + if (subject.wrappedJSObject.id == extension.id) { + ok(false, "should not prompt on update"); + } + } + ); + + await Promise.race([ + extension.upgrade(extensionInfo), + deferredUpgradePrompt.promise, + ]); + deferredUpgradePrompt.resolve(); + + await AddonTestUtils.waitForSearchProviderStartup(extension); + + equal( + extension.version, + "2.0", + "The updated addon has the expected version." + ); + // An upgraded extension does not become the default engine. + equal( + (await Services.search.getDefault()).name, + defaultEngineName, + "Default engine is still the default after startup." + ); + + let addon = await AddonManager.getAddonByID(EXTENSION_ID); + await addon.disable(); + + prompted = TestUtils.topicObserved( + "webextension-defaultsearch-prompt", + (subject, message) => { + if (subject.wrappedJSObject.id == extension.id) { + return subject.wrappedJSObject.respond(false); + } + } + ); + await Promise.all([addon.enable(), prompted]); + + // we still said no. + equal( + (await Services.search.getDefault()).name, + defaultEngineName, + "Default engine is the default after startup." + ); + + await extension.unload(); +});
This is an automated email from the git hooks/post-receive script.
richard pushed a commit to branch tor-browser-91.8.0esr-11.0-1 in repository tor-browser.
commit f2150f3c1b49b3e6e00245312e1e8762be58579e Author: Emilio Cobos Álvarez emilio@crisal.io AuthorDate: Wed Mar 23 15:31:02 2022 +0000
Bug 1758357 - Fix PuppetWidget::SetCursor to avoid sending cursor updates to the parent process over and over. r=mstange, a=RyanVM
I accidentally regressed this in bug 1705877, so we'd always force-update the cursor :(
Differential Revision: https://phabricator.services.mozilla.com/D141863 --- widget/PuppetWidget.cpp | 1 + 1 file changed, 1 insertion(+)
diff --git a/widget/PuppetWidget.cpp b/widget/PuppetWidget.cpp index 4886d047ffa7b..c36262392d7bc 100644 --- a/widget/PuppetWidget.cpp +++ b/widget/PuppetWidget.cpp @@ -968,6 +968,7 @@ void PuppetWidget::SetCursor(const Cursor& aCursor) { return; } mCursor = aCursor; + mUpdateCursor = false; }
void PuppetWidget::SetChild(PuppetWidget* aChild) {
This is an automated email from the git hooks/post-receive script.
richard pushed a commit to branch tor-browser-91.8.0esr-11.0-1 in repository tor-browser.
commit c9933ca9561f6c645343864fa6b90258bb6ab4ad Author: Kelsey Gilbert kelsey.gilbert@mozilla.com AuthorDate: Wed Mar 23 18:02:46 2022 +0000
Bug 1744525 - Prevent too-high vert-count draws on Mesa. r=lsalzman a=RyanVM
Differential Revision: https://phabricator.services.mozilla.com/D141883 --- dom/canvas/WebGLContextDraw.cpp | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-)
diff --git a/dom/canvas/WebGLContextDraw.cpp b/dom/canvas/WebGLContextDraw.cpp index d5f7b7ca2b26b..459f7722b39db 100644 --- a/dom/canvas/WebGLContextDraw.cpp +++ b/dom/canvas/WebGLContextDraw.cpp @@ -976,7 +976,17 @@ WebGLVertexAttrib0Status WebGLContext::WhatDoesVertexAttrib0Need() const { : WebGLVertexAttrib0Status::EmulatedInitializedArray; }
-bool WebGLContext::DoFakeVertexAttrib0(const uint64_t vertexCount) { +bool WebGLContext::DoFakeVertexAttrib0(const uint64_t totalVertCount) { + if (gl->WorkAroundDriverBugs() && gl->IsMesa()) { + // Padded/strided to vec4, so 4x4bytes. + const auto effectiveVertAttribBytes = + CheckedInt<int32_t>(totalVertCount) * 4 * 4; + if (!effectiveVertAttribBytes.isValid()) { + ErrorOutOfMemory("`offset + count` too large for Mesa."); + return false; + } + } + const auto whatDoesAttrib0Need = WhatDoesVertexAttrib0Need(); if (MOZ_LIKELY(whatDoesAttrib0Need == WebGLVertexAttrib0Status::Default)) return true; @@ -1019,14 +1029,14 @@ bool WebGLContext::DoFakeVertexAttrib0(const uint64_t vertexCount) { ////
const auto bytesPerVert = sizeof(mFakeVertexAttrib0Data); - const auto checked_dataSize = CheckedUint32(vertexCount) * bytesPerVert; + const auto checked_dataSize = CheckedUint32(totalVertCount) * bytesPerVert; if (!checked_dataSize.isValid()) { ErrorOutOfMemory( "Integer overflow trying to construct a fake vertex attrib 0" " array for a draw-operation with %" PRIu64 " vertices. Try" " reducing the number of vertices.", - vertexCount); + totalVertCount); return false; } const auto dataSize = checked_dataSize.value();
This is an automated email from the git hooks/post-receive script.
richard pushed a commit to branch tor-browser-91.8.0esr-11.0-1 in repository tor-browser.
commit caa9137aca07befabf82c7fcd631300b8787b1db Author: Jeff Gilbert jgilbert@mozilla.com AuthorDate: Thu Mar 24 10:17:51 2022 -0400
Bug 1744525 - Add missing IsMesa definition. a=bustage
This was originally added by bug 1657189 for 93+. --- gfx/gl/GLContext.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/gfx/gl/GLContext.h b/gfx/gl/GLContext.h index d8da2ccc7ee3f..9f4a93205c3a1 100644 --- a/gfx/gl/GLContext.h +++ b/gfx/gl/GLContext.h @@ -280,8 +280,8 @@ class GLContext : public GenericAtomicRefCounted, public SupportsWeakPtr { }
GLVendor Vendor() const { return mVendor; } - GLRenderer Renderer() const { return mRenderer; } + bool IsMesa() const { return mIsMesa; }
bool IsContextLost() const { return mContextLost; }
@@ -335,6 +335,7 @@ class GLContext : public GenericAtomicRefCounted, public SupportsWeakPtr {
GLVendor mVendor = GLVendor::Other; GLRenderer mRenderer = GLRenderer::Other; + bool mIsMesa = false;
// ----------------------------------------------------------------------------- // Extensions management
This is an automated email from the git hooks/post-receive script.
richard pushed a commit to branch tor-browser-91.8.0esr-11.0-1 in repository tor-browser.
commit 48bcc68a7c173591461f4b55453340341fba5f32 Author: Emilio Cobos Álvarez emilio@crisal.io AuthorDate: Mon Mar 14 23:18:22 2022 +0000
Bug 1759494 - Remove some dead code introduced for PDFium. r=dholbert a=RyanVM
IsSyncPagePrinting() only had one implementation which unconditionally returned true.
So, any code that was conditioned on !IsSyncPagePrinting() is necessarily dead/unreachable.
These are also crashing due to a null deref in mPrintTarget which might happen if print is aborted.
Differential Revision: https://phabricator.services.mozilla.com/D140988 --- gfx/src/nsDeviceContext.cpp | 16 ---------------- gfx/src/nsDeviceContext.h | 4 ---- gfx/thebes/PrintTarget.cpp | 7 ------- gfx/thebes/PrintTarget.h | 15 --------------- layout/printing/ipc/RemotePrintJobParent.cpp | 19 +------------------ layout/printing/nsPrintJob.cpp | 15 --------------- 6 files changed, 1 insertion(+), 75 deletions(-)
diff --git a/gfx/src/nsDeviceContext.cpp b/gfx/src/nsDeviceContext.cpp index 0d9e741d46f08..168af3ee125cf 100644 --- a/gfx/src/nsDeviceContext.cpp +++ b/gfx/src/nsDeviceContext.cpp @@ -705,19 +705,3 @@ DesktopToLayoutDeviceScale nsDeviceContext::GetDesktopToDeviceScale() {
return DesktopToLayoutDeviceScale(1.0); } - -bool nsDeviceContext::IsSyncPagePrinting() const { - MOZ_ASSERT(mPrintTarget); - return mPrintTarget->IsSyncPagePrinting(); -} - -void nsDeviceContext::RegisterPageDoneCallback( - PrintTarget::PageDoneCallback&& aCallback) { - MOZ_ASSERT(mPrintTarget && aCallback && !IsSyncPagePrinting()); - mPrintTarget->RegisterPageDoneCallback(std::move(aCallback)); -} -void nsDeviceContext::UnregisterPageDoneCallback() { - if (mPrintTarget) { - mPrintTarget->UnregisterPageDoneCallback(); - } -} diff --git a/gfx/src/nsDeviceContext.h b/gfx/src/nsDeviceContext.h index e538537b6b013..745b778d74580 100644 --- a/gfx/src/nsDeviceContext.h +++ b/gfx/src/nsDeviceContext.h @@ -263,10 +263,6 @@ class nsDeviceContext final {
mozilla::DesktopToLayoutDeviceScale GetDesktopToDeviceScale();
- bool IsSyncPagePrinting() const; - void RegisterPageDoneCallback(PrintTarget::PageDoneCallback&& aCallback); - void UnregisterPageDoneCallback(); - private: // Private destructor, to discourage deletion outside of Release(): ~nsDeviceContext(); diff --git a/gfx/thebes/PrintTarget.cpp b/gfx/thebes/PrintTarget.cpp index b5908ae920cf9..4dd540a643516 100644 --- a/gfx/thebes/PrintTarget.cpp +++ b/gfx/thebes/PrintTarget.cpp @@ -188,11 +188,4 @@ void PrintTarget::Finish() { cairo_surface_finish(mCairoSurface); }
-void PrintTarget::RegisterPageDoneCallback(PageDoneCallback&& aCallback) { - MOZ_ASSERT(aCallback && !IsSyncPagePrinting()); - mPageDoneCallback = std::move(aCallback); -} - -void PrintTarget::UnregisterPageDoneCallback() { mPageDoneCallback = nullptr; } - } // namespace mozilla::gfx diff --git a/gfx/thebes/PrintTarget.h b/gfx/thebes/PrintTarget.h index c7b3c532e8bbc..71fda3e350841 100644 --- a/gfx/thebes/PrintTarget.h +++ b/gfx/thebes/PrintTarget.h @@ -28,8 +28,6 @@ class DrawEventRecorder; */ class PrintTarget { public: - typedef std::function<void(nsresult)> PageDoneCallback; - NS_INLINE_DECL_REFCOUNTING(PrintTarget);
/// Must be matched 1:1 by an EndPrinting/AbortPrinting call. @@ -130,17 +128,6 @@ class PrintTarget { */ virtual already_AddRefed<DrawTarget> GetReferenceDrawTarget();
- /** - * If IsSyncPagePrinting returns true, then a user can assume the content of - * a page was already printed after EndPage(). - * If IsSyncPagePrinting returns false, then a user should register a - * callback function using RegisterPageDoneCallback to receive page print - * done notifications. - */ - virtual bool IsSyncPagePrinting() const { return true; } - void RegisterPageDoneCallback(PageDoneCallback&& aCallback); - void UnregisterPageDoneCallback(); - static void AdjustPrintJobNameForIPP(const nsAString& aJobName, nsCString& aAdjustedJobName); static void AdjustPrintJobNameForIPP(const nsAString& aJobName, @@ -164,8 +151,6 @@ class PrintTarget { #ifdef DEBUG bool mHasActivePage; #endif - - PageDoneCallback mPageDoneCallback; };
} // namespace gfx diff --git a/layout/printing/ipc/RemotePrintJobParent.cpp b/layout/printing/ipc/RemotePrintJobParent.cpp index b8a736fe29be6..115075ccd3536 100644 --- a/layout/printing/ipc/RemotePrintJobParent.cpp +++ b/layout/printing/ipc/RemotePrintJobParent.cpp @@ -87,11 +87,6 @@ nsresult RemotePrintJobParent::InitializePrintDevice( return rv; }
- if (!mPrintDeviceContext->IsSyncPagePrinting()) { - mPrintDeviceContext->RegisterPageDoneCallback( - [self = RefPtr{this}](nsresult aResult) { self->PageDone(aResult); }); - } - mIsDoingPrinting = true;
return NS_OK; @@ -147,9 +142,7 @@ void RemotePrintJobParent::FinishProcessingPage(
mCurrentPageStream.Close();
- if (mPrintDeviceContext->IsSyncPagePrinting()) { - PageDone(rv); - } + PageDone(rv); }
nsresult RemotePrintJobParent::PrintPage( @@ -200,11 +193,6 @@ mozilla::ipc::IPCResult RemotePrintJobParent::RecvFinalizePrint() {
// Too late to abort the child just log. NS_WARNING_ASSERTION(NS_SUCCEEDED(rv), "EndDocument failed"); - - // Since RecvFinalizePrint is called after all page printed, there should - // be no more page-done callbacks after that, in theory. Unregistering - // page-done callback is not must have, but we still do this for safety. - mPrintDeviceContext->UnregisterPageDoneCallback(); }
mIsDoingPrinting = false; @@ -217,7 +205,6 @@ mozilla::ipc::IPCResult RemotePrintJobParent::RecvAbortPrint( const nsresult& aRv) { if (mPrintDeviceContext) { Unused << mPrintDeviceContext->AbortDocument(); - mPrintDeviceContext->UnregisterPageDoneCallback(); }
mIsDoingPrinting = false; @@ -278,10 +265,6 @@ RemotePrintJobParent::~RemotePrintJobParent() { }
void RemotePrintJobParent::ActorDestroy(ActorDestroyReason aWhy) { - if (mPrintDeviceContext) { - mPrintDeviceContext->UnregisterPageDoneCallback(); - } - mIsDoingPrinting = false;
// If progress dialog is opened, notify closing it. diff --git a/layout/printing/nsPrintJob.cpp b/layout/printing/nsPrintJob.cpp index ecbf3d9f6d846..606b90520dde1 100644 --- a/layout/printing/nsPrintJob.cpp +++ b/layout/printing/nsPrintJob.cpp @@ -778,12 +778,6 @@ nsresult nsPrintJob::DoCommonPrint(bool aIsPrintPreview, printData->mPrintDC = new nsDeviceContext(); MOZ_TRY(printData->mPrintDC->InitForPrinting(devspec));
- if (XRE_IsParentProcess() && !printData->mPrintDC->IsSyncPagePrinting()) { - RefPtr<nsPrintJob> self(this); - printData->mPrintDC->RegisterPageDoneCallback( - [self](nsresult aResult) { self->PageDone(aResult); }); - } - if (!StaticPrefs::print_tab_modal_enabled() && mIsCreatingPrintPreview) { // In legacy print-preview mode, override any UI that wants to PrintPreview // any selection or page range. The legacy print-preview intends to view @@ -2350,10 +2344,6 @@ bool nsPrintJob::PrintSheet(nsPrintObject* aPO, bool& aInRange) { return true; }
- if (XRE_IsParentProcess() && !printData->mPrintDC->IsSyncPagePrinting()) { - mPagePrintTimer->WaitForRemotePrint(); - } - // Print the sheet // if a print job was cancelled externally, an EndPage or BeginPage may // fail and the failure is passed back here. @@ -2486,11 +2476,6 @@ bool nsPrintJob::DonePrintingSheets(nsPrintObject* aPO, nsresult aResult) { } }
- if (XRE_IsParentProcess() && printData->mPrintDC && - !printData->mPrintDC->IsSyncPagePrinting()) { - printData->mPrintDC->UnregisterPageDoneCallback(); - } - if (NS_SUCCEEDED(aResult)) { FirePrintCompletionEvent(); // XXX mPrt may be cleared or replaced with new instance here.
This is an automated email from the git hooks/post-receive script.
richard pushed a commit to branch tor-browser-91.8.0esr-11.0-1 in repository tor-browser.
commit 3d3529185d91914df35a763e629f9b3d6909d313 Author: Ryan VanderMeulen ryanvm@gmail.com AuthorDate: Thu Mar 24 10:34:55 2022 -0400
Backed out changeset 8b95a4976dc0 (bug 1744525) --- gfx/gl/GLContext.h | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/gfx/gl/GLContext.h b/gfx/gl/GLContext.h index 9f4a93205c3a1..d8da2ccc7ee3f 100644 --- a/gfx/gl/GLContext.h +++ b/gfx/gl/GLContext.h @@ -280,8 +280,8 @@ class GLContext : public GenericAtomicRefCounted, public SupportsWeakPtr { }
GLVendor Vendor() const { return mVendor; } + GLRenderer Renderer() const { return mRenderer; } - bool IsMesa() const { return mIsMesa; }
bool IsContextLost() const { return mContextLost; }
@@ -335,7 +335,6 @@ class GLContext : public GenericAtomicRefCounted, public SupportsWeakPtr {
GLVendor mVendor = GLVendor::Other; GLRenderer mRenderer = GLRenderer::Other; - bool mIsMesa = false;
// ----------------------------------------------------------------------------- // Extensions management
This is an automated email from the git hooks/post-receive script.
richard pushed a commit to branch tor-browser-91.8.0esr-11.0-1 in repository tor-browser.
commit b2a224bbf181bfdc3af87c5d2291d6f4d2df3da2 Author: Jeff Gilbert jgilbert@mozilla.com AuthorDate: Thu Mar 24 10:34:57 2022 -0400
Bug 1744525 - Add missing IsMesa definition. a=bustage
This was originally added by bug 1657189 for 93+. --- gfx/gl/GLContext.cpp | 11 +++++++++-- gfx/gl/GLContext.h | 3 ++- 2 files changed, 11 insertions(+), 3 deletions(-)
diff --git a/gfx/gl/GLContext.cpp b/gfx/gl/GLContext.cpp index b086b6c2bb502..b5000b5f0c560 100644 --- a/gfx/gl/GLContext.cpp +++ b/gfx/gl/GLContext.cpp @@ -666,11 +666,19 @@ bool GLContext::InitImpl() { } }
+ { + const auto versionStr = (const char*)fGetString(LOCAL_GL_VERSION); + if (strstr(versionStr, "Mesa")) { + mIsMesa = true; + } + } + if (ShouldSpew()) { printf_stderr("GL_VENDOR: %s\n", glVendorString); printf_stderr("mVendor: %s\n", vendorMatchStrings[size_t(mVendor)]); printf_stderr("GL_RENDERER: %s\n", glRendererString); printf_stderr("mRenderer: %s\n", rendererMatchStrings[size_t(mRenderer)]); + printf_stderr("mIsMesa: %i\n", int(mIsMesa)); }
//////////////// @@ -732,8 +740,7 @@ bool GLContext::InitImpl() { MarkUnsupported(GLFeature::framebuffer_multisample); }
- const auto versionStr = (const char*)fGetString(LOCAL_GL_VERSION); - if (strstr(versionStr, "Mesa")) { + if (IsMesa()) { // DrawElementsInstanced hangs the driver. MarkUnsupported(GLFeature::robust_buffer_access_behavior); } diff --git a/gfx/gl/GLContext.h b/gfx/gl/GLContext.h index d8da2ccc7ee3f..9f4a93205c3a1 100644 --- a/gfx/gl/GLContext.h +++ b/gfx/gl/GLContext.h @@ -280,8 +280,8 @@ class GLContext : public GenericAtomicRefCounted, public SupportsWeakPtr { }
GLVendor Vendor() const { return mVendor; } - GLRenderer Renderer() const { return mRenderer; } + bool IsMesa() const { return mIsMesa; }
bool IsContextLost() const { return mContextLost; }
@@ -335,6 +335,7 @@ class GLContext : public GenericAtomicRefCounted, public SupportsWeakPtr {
GLVendor mVendor = GLVendor::Other; GLRenderer mRenderer = GLRenderer::Other; + bool mIsMesa = false;
// ----------------------------------------------------------------------------- // Extensions management
This is an automated email from the git hooks/post-receive script.
richard pushed a commit to branch tor-browser-91.8.0esr-11.0-1 in repository tor-browser.
commit 3fd4b7bf7b6681f702537c64e2e1d041c707bd4b Author: Luca Greco lgreco@mozilla.com AuthorDate: Mon Oct 11 11:06:47 2021 +0000
Bug 1706594 - Add nsICancelable out param to nsBaseChannel::BeginAsyncRead virtual method. r=nika,valentin a=RyanVM
This patch introduces:
- a second nsICancelable out param in nsBaseChannel::BeginAsyncRead, which is meant to be non-null when the subclass is unable to set the nsIRequest out param right away (e.g because there is some async work needed before the subclass is able to get an nsIRequest instance). The nsICancelable does only allow the channel to cancel the underlying request (and stream pump), but it doesn't allow the channel to be suspended and resumed, but that was already the case for the subclasses that were already not returning an nsIRequest instance (e.g. like the ExtensionProtocolHandler was doing when it is asynchrously retriving a stream from the parent process).
- require NotNull<nsCOMPtr<...>> in the SimpleChannel's BeginAsyncRead callback signature, to make harder to overlook the requirement of returning an nsIRequest or nsICancelable.
- a diagnostic assertion (from SimpleChannel's BeginAsyncRead method) to more visible fail if we still end up with neither an nsIRequest or nsICancelable result as SimpleChannel callback result.
- changes to ExtensionProtocolHandler, PageThumbProtocolHandler and nsAnnoProtocolHandler to adapt them to the new nsBaseChannel::BeginAsyncRead signature.
Differential Revision: https://phabricator.services.mozilla.com/D125545 --- netwerk/base/SimpleChannel.cpp | 25 ++++- netwerk/base/SimpleChannel.h | 8 +- netwerk/base/nsBaseChannel.cpp | 11 ++- netwerk/base/nsBaseChannel.h | 21 ++++- netwerk/protocol/res/ExtensionProtocolHandler.cpp | 102 +++++++++++++++------ netwerk/protocol/res/PageThumbProtocolHandler.cpp | 65 +++++++++---- .../components/places/nsAnnoProtocolHandler.cpp | 94 ++++++++++++++++--- 7 files changed, 262 insertions(+), 64 deletions(-)
diff --git a/netwerk/base/SimpleChannel.cpp b/netwerk/base/SimpleChannel.cpp index c390418cb753a..adbd78e18f334 100644 --- a/netwerk/base/SimpleChannel.cpp +++ b/netwerk/base/SimpleChannel.cpp @@ -43,15 +43,32 @@ nsresult SimpleChannel::OpenContentStream(bool async, }
nsresult SimpleChannel::BeginAsyncRead(nsIStreamListener* listener, - nsIRequest** request) { + nsIRequest** request, + nsICancelable** cancelableRequest) { NS_ENSURE_TRUE(mCallbacks, NS_ERROR_UNEXPECTED);
- nsCOMPtr<nsIRequest> req; - MOZ_TRY_VAR(req, mCallbacks->StartAsyncRead(listener, this)); + RequestOrReason res = mCallbacks->StartAsyncRead(listener, this); + + if (res.isErr()) { + return res.propagateErr(); + }
mCallbacks = nullptr;
- req.forget(request); + RequestOrCancelable value = res.unwrap(); + + if (value.is<NotNullRequest>()) { + nsCOMPtr<nsIRequest> req = value.as<NotNullRequest>().get(); + req.forget(request); + } else if (value.is<NotNullCancelable>()) { + nsCOMPtr<nsICancelable> cancelable = value.as<NotNullCancelable>().get(); + cancelable.forget(cancelableRequest); + } else { + MOZ_ASSERT_UNREACHABLE( + "StartAsyncRead didn't return a NotNull nsIRequest or nsICancelable."); + return NS_ERROR_UNEXPECTED; + } + return NS_OK; }
diff --git a/netwerk/base/SimpleChannel.h b/netwerk/base/SimpleChannel.h index 891ed56dc0432..d469adf65d530 100644 --- a/netwerk/base/SimpleChannel.h +++ b/netwerk/base/SimpleChannel.h @@ -25,7 +25,10 @@ class nsIURI; namespace mozilla {
using InputStreamOrReason = Result<nsCOMPtr<nsIInputStream>, nsresult>; -using RequestOrReason = Result<nsCOMPtr<nsIRequest>, nsresult>; +using NotNullRequest = NotNull<nsCOMPtr<nsIRequest>>; +using NotNullCancelable = NotNull<nsCOMPtr<nsICancelable>>; +using RequestOrCancelable = Variant<NotNullRequest, NotNullCancelable>; +using RequestOrReason = Result<RequestOrCancelable, nsresult>;
namespace net {
@@ -78,7 +81,8 @@ class SimpleChannel : public nsBaseChannel { nsIChannel** channel) override;
virtual nsresult BeginAsyncRead(nsIStreamListener* listener, - nsIRequest** request) override; + nsIRequest** request, + nsICancelable** cancelableRequest) override;
private: UniquePtr<SimpleChannelCallbacks> mCallbacks; diff --git a/netwerk/base/nsBaseChannel.cpp b/netwerk/base/nsBaseChannel.cpp index b37298be77326..5453311f2f094 100644 --- a/netwerk/base/nsBaseChannel.cpp +++ b/netwerk/base/nsBaseChannel.cpp @@ -203,8 +203,11 @@ nsresult nsBaseChannel::PushStreamConverter(const char* fromType, nsresult nsBaseChannel::BeginPumpingData() { nsresult rv;
- rv = BeginAsyncRead(this, getter_AddRefs(mRequest)); + rv = BeginAsyncRead(this, getter_AddRefs(mRequest), + getter_AddRefs(mCancelableAsyncRequest)); if (NS_SUCCEEDED(rv)) { + MOZ_ASSERT(mRequest || mCancelableAsyncRequest, + "should have got a request or cancelable"); mPumpingData = true; return NS_OK; } @@ -381,6 +384,10 @@ nsBaseChannel::Cancel(nsresult status) { mCanceled = true; mStatus = status;
+ if (mCancelableAsyncRequest) { + mCancelableAsyncRequest->Cancel(status); + } + if (mRequest) { mRequest->Cancel(status); } @@ -796,6 +803,7 @@ static void CallUnknownTypeSniffer(void* aClosure, const uint8_t* aData, NS_IMETHODIMP nsBaseChannel::OnStartRequest(nsIRequest* request) { MOZ_ASSERT_IF(mRequest, request == mRequest); + MOZ_ASSERT_IF(mCancelableAsyncRequest, !mRequest);
nsAutoCString scheme; mURI->GetScheme(scheme); @@ -832,6 +840,7 @@ nsBaseChannel::OnStopRequest(nsIRequest* request, nsresult status) { // Cause Pending to return false. mPump = nullptr; mRequest = nullptr; + mCancelableAsyncRequest = nullptr; mPumpingData = false;
if (mListener) { // null in case of redirect diff --git a/netwerk/base/nsBaseChannel.h b/netwerk/base/nsBaseChannel.h index cc500ff57f3ea..2e9945f6f73a5 100644 --- a/netwerk/base/nsBaseChannel.h +++ b/netwerk/base/nsBaseChannel.h @@ -30,6 +30,7 @@ #include "nsThreadUtils.h"
class nsIInputStream; +class nsICancelable;
//----------------------------------------------------------------------------- // nsBaseChannel is designed to be subclassed. The subclass is responsible for @@ -100,10 +101,23 @@ class nsBaseChannel // // On success, the callee must begin pumping data to the stream listener, // and at some point call OnStartRequest followed by OnStopRequest. - // Additionally, it may provide a request object which may be used to - // suspend, resume, and cancel the underlying request. + // + // Additionally, when a successful nsresult is returned, then the subclass + // should be setting through its two out params either: + // - a request object, which may be used to suspend, resume, and cancel + // the underlying request. + // - or a cancelable object (e.g. when a request can't be returned right away + // due to some async work needed to retrieve it). which may be used to + // cancel the underlying request (e.g. because the channel has been + // canceled) + // + // Not returning a request or cancelable leads to potentially leaking the + // an underling stream pump (which would keep to be pumping data even after + // the channel has been canceled and nothing is going to handle the data + // available, e.g. see Bug 1706594). virtual nsresult BeginAsyncRead(nsIStreamListener* listener, - nsIRequest** request) { + nsIRequest** request, + nsICancelable** cancelableRequest) { return NS_ERROR_NOT_IMPLEMENTED; }
@@ -271,6 +285,7 @@ class nsBaseChannel
RefPtr<nsInputStreamPump> mPump; RefPtr<nsIRequest> mRequest; + nsCOMPtr<nsICancelable> mCancelableAsyncRequest; bool mPumpingData{false}; nsCOMPtr<nsIProgressEventSink> mProgressSink; nsCOMPtr<nsIURI> mOriginalURI; diff --git a/netwerk/protocol/res/ExtensionProtocolHandler.cpp b/netwerk/protocol/res/ExtensionProtocolHandler.cpp index 959e430d9c9ae..7dcb806ced6ac 100644 --- a/netwerk/protocol/res/ExtensionProtocolHandler.cpp +++ b/netwerk/protocol/res/ExtensionProtocolHandler.cpp @@ -25,6 +25,7 @@ #include "nsContentUtils.h" #include "nsServiceManagerUtils.h" #include "nsDirectoryServiceDefs.h" +#include "nsICancelable.h" #include "nsIFile.h" #include "nsIFileChannel.h" #include "nsIFileStreams.h" @@ -98,7 +99,10 @@ StaticRefPtr<ExtensionProtocolHandler> ExtensionProtocolHandler::sSingleton; * stream or file descriptor from the parent for a remote moz-extension load * from the child. */ -class ExtensionStreamGetter : public RefCounted<ExtensionStreamGetter> { +class ExtensionStreamGetter final : public nsICancelable { + NS_DECL_ISUPPORTS + NS_DECL_NSICANCELABLE + public: // To use when getting a remote input stream for a resource // in an unpacked extension. @@ -128,8 +132,6 @@ class ExtensionStreamGetter : public RefCounted<ExtensionStreamGetter> { SetupEventTarget(); }
- ~ExtensionStreamGetter() = default; - void SetupEventTarget() { mMainThreadEventTarget = nsContentUtils::GetEventTargetByLoadInfo( mLoadInfo, TaskCategory::Other); @@ -139,8 +141,7 @@ class ExtensionStreamGetter : public RefCounted<ExtensionStreamGetter> { }
// Get an input stream or file descriptor from the parent asynchronously. - Result<Ok, nsresult> GetAsync(nsIStreamListener* aListener, - nsIChannel* aChannel); + RequestOrReason GetAsync(nsIStreamListener* aListener, nsIChannel* aChannel);
// Handle an input stream being returned from the parent void OnStream(already_AddRefed<nsIInputStream> aStream); @@ -151,19 +152,24 @@ class ExtensionStreamGetter : public RefCounted<ExtensionStreamGetter> { static void CancelRequest(nsIStreamListener* aListener, nsIChannel* aChannel, nsresult aResult);
- MOZ_DECLARE_REFCOUNTED_TYPENAME(ExtensionStreamGetter) - private: + ~ExtensionStreamGetter() = default; + nsCOMPtr<nsIURI> mURI; nsCOMPtr<nsILoadInfo> mLoadInfo; nsCOMPtr<nsIJARChannel> mJarChannel; + nsCOMPtr<nsIInputStreamPump> mPump; nsCOMPtr<nsIFile> mJarFile; nsCOMPtr<nsIStreamListener> mListener; nsCOMPtr<nsIChannel> mChannel; nsCOMPtr<nsISerialEventTarget> mMainThreadEventTarget; bool mIsJarChannel; + bool mCanceled{false}; + nsresult mStatus{NS_OK}; };
+NS_IMPL_ISUPPORTS(ExtensionStreamGetter, nsICancelable) + class ExtensionJARFileOpener final : public nsISupports { public: ExtensionJARFileOpener(nsIFile* aFile, @@ -228,14 +234,16 @@ NS_IMPL_ISUPPORTS(ExtensionJARFileOpener, nsISupports) #define DEFAULT_THREAD_TIMEOUT_MS 30000
// Request an FD or input stream from the parent. -Result<Ok, nsresult> ExtensionStreamGetter::GetAsync( - nsIStreamListener* aListener, nsIChannel* aChannel) { +RequestOrReason ExtensionStreamGetter::GetAsync(nsIStreamListener* aListener, + nsIChannel* aChannel) { MOZ_ASSERT(IsNeckoChild()); MOZ_ASSERT(mMainThreadEventTarget);
mListener = aListener; mChannel = aChannel;
+ nsCOMPtr<nsICancelable> cancelableRequest(this); + RefPtr<ExtensionStreamGetter> self = this; if (mIsJarChannel) { // Request an FD for this moz-extension URI @@ -245,7 +253,7 @@ Result<Ok, nsresult> ExtensionStreamGetter::GetAsync( [self](const mozilla::ipc::ResponseRejectReason) { self->OnFD(FileDescriptor()); }); - return Ok(); + return RequestOrCancelable(WrapNotNull(cancelableRequest)); }
// Request an input stream for this moz-extension URI @@ -257,7 +265,29 @@ Result<Ok, nsresult> ExtensionStreamGetter::GetAsync( [self](const mozilla::ipc::ResponseRejectReason) { self->OnStream(nullptr); }); - return Ok(); + return RequestOrCancelable(WrapNotNull(cancelableRequest)); +} + +// Called to cancel the ongoing async request. +NS_IMETHODIMP +ExtensionStreamGetter::Cancel(nsresult aStatus) { + if (mCanceled) { + return NS_OK; + } + + mCanceled = true; + mStatus = aStatus; + + if (mPump) { + mPump->Cancel(aStatus); + mPump = nullptr; + } + + if (mIsJarChannel && mJarChannel) { + mJarChannel->Cancel(aStatus); + } + + return NS_OK; }
// static @@ -275,20 +305,26 @@ void ExtensionStreamGetter::CancelRequest(nsIStreamListener* aListener, // Handle an input stream sent from the parent. void ExtensionStreamGetter::OnStream(already_AddRefed<nsIInputStream> aStream) { MOZ_ASSERT(IsNeckoChild()); + MOZ_ASSERT(mChannel); MOZ_ASSERT(mListener); MOZ_ASSERT(mMainThreadEventTarget);
nsCOMPtr<nsIInputStream> stream = std::move(aStream); + nsCOMPtr<nsIChannel> channel = std::move(mChannel);
// We must keep an owning reference to the listener // until we pass it on to AsyncRead. nsCOMPtr<nsIStreamListener> listener = std::move(mListener);
- MOZ_ASSERT(mChannel); + if (mCanceled) { + // The channel that has created this stream getter has been canceled. + CancelRequest(listener, channel, mStatus); + return; + }
if (!stream) { // The parent didn't send us back a stream. - CancelRequest(listener, mChannel, NS_ERROR_FILE_ACCESS_DENIED); + CancelRequest(listener, channel, NS_ERROR_FILE_ACCESS_DENIED); return; }
@@ -296,36 +332,48 @@ void ExtensionStreamGetter::OnStream(already_AddRefed<nsIInputStream> aStream) { nsresult rv = NS_NewInputStreamPump(getter_AddRefs(pump), stream.forget(), 0, 0, false, mMainThreadEventTarget); if (NS_FAILED(rv)) { - CancelRequest(listener, mChannel, rv); + CancelRequest(listener, channel, rv); return; }
rv = pump->AsyncRead(listener); if (NS_FAILED(rv)) { - CancelRequest(listener, mChannel, rv); + CancelRequest(listener, channel, rv); + return; } + + mPump = pump; }
// Handle an FD sent from the parent. void ExtensionStreamGetter::OnFD(const FileDescriptor& aFD) { MOZ_ASSERT(IsNeckoChild()); - MOZ_ASSERT(mListener); MOZ_ASSERT(mChannel); + MOZ_ASSERT(mListener);
- if (!aFD.IsValid()) { - OnStream(nullptr); - return; - } + nsCOMPtr<nsIChannel> channel = std::move(mChannel);
// We must keep an owning reference to the listener // until we pass it on to AsyncOpen. nsCOMPtr<nsIStreamListener> listener = std::move(mListener);
+ if (mCanceled) { + // The channel that has created this stream getter has been canceled. + CancelRequest(listener, channel, mStatus); + return; + } + + if (!aFD.IsValid()) { + // The parent didn't send us back a valid file descriptor. + CancelRequest(listener, channel, NS_ERROR_FILE_ACCESS_DENIED); + return; + } + RefPtr<FileDescriptorFile> fdFile = new FileDescriptorFile(aFD, mJarFile); mJarChannel->SetJarFile(fdFile); nsresult rv = mJarChannel->AsyncOpen(listener); if (NS_FAILED(rv)) { - CancelRequest(listener, mChannel, rv); + CancelRequest(listener, channel, rv); } }
@@ -529,7 +577,8 @@ nsresult ExtensionProtocolHandler::SubstituteChannel(nsIURI* aURI, } else { MOZ_TRY(convert(listener, channel, origChannel)); } - return RequestOrReason(origChannel); + nsCOMPtr<nsIRequest> request(origChannel); + return RequestOrCancelable(WrapNotNull(request)); }); } else if (readyPromise) { size_t matchIdx; @@ -551,7 +600,8 @@ nsresult ExtensionProtocolHandler::SubstituteChannel(nsIURI* aURI, return aChannel->AsyncOpen(aListener); });
- return RequestOrReason(origChannel); + nsCOMPtr<nsIRequest> request(origChannel); + return RequestOrCancelable(WrapNotNull(request)); }); } else { return NS_OK; @@ -864,8 +914,7 @@ void ExtensionProtocolHandler::NewSimpleChannel( aURI, aLoadinfo, aStreamGetter, [](nsIStreamListener* listener, nsIChannel* simpleChannel, ExtensionStreamGetter* getter) -> RequestOrReason { - MOZ_TRY(getter->GetAsync(listener, simpleChannel)); - return RequestOrReason(nullptr); + return getter->GetAsync(listener, simpleChannel); });
SetContentType(aURI, channel); @@ -888,7 +937,8 @@ void ExtensionProtocolHandler::NewSimpleChannel(nsIURI* aURI, simpleChannel->Cancel(NS_BINDING_ABORTED); return Err(rv); } - return RequestOrReason(origChannel); + nsCOMPtr<nsIRequest> request(origChannel); + return RequestOrCancelable(WrapNotNull(request)); });
SetContentType(aURI, channel); diff --git a/netwerk/protocol/res/PageThumbProtocolHandler.cpp b/netwerk/protocol/res/PageThumbProtocolHandler.cpp index 02ee4e67cf2e0..e71b737fd1c43 100644 --- a/netwerk/protocol/res/PageThumbProtocolHandler.cpp +++ b/netwerk/protocol/res/PageThumbProtocolHandler.cpp @@ -49,7 +49,10 @@ StaticRefPtr<PageThumbProtocolHandler> PageThumbProtocolHandler::sSingleton; * Helper class used with SimpleChannel to asynchronously obtain an input * stream from the parent for a remote moz-page-thumb load from the child. */ -class PageThumbStreamGetter : public RefCounted<PageThumbStreamGetter> { +class PageThumbStreamGetter final : public nsICancelable { + NS_DECL_ISUPPORTS + NS_DECL_NSICANCELABLE + public: PageThumbStreamGetter(nsIURI* aURI, nsILoadInfo* aLoadInfo) : mURI(aURI), mLoadInfo(aLoadInfo) { @@ -59,8 +62,6 @@ class PageThumbStreamGetter : public RefCounted<PageThumbStreamGetter> { SetupEventTarget(); }
- ~PageThumbStreamGetter() = default; - void SetupEventTarget() { mMainThreadEventTarget = nsContentUtils::GetEventTargetByLoadInfo( mLoadInfo, TaskCategory::Other); @@ -70,8 +71,7 @@ class PageThumbStreamGetter : public RefCounted<PageThumbStreamGetter> { }
// Get an input stream from the parent asynchronously. - Result<Ok, nsresult> GetAsync(nsIStreamListener* aListener, - nsIChannel* aChannel); + RequestOrReason GetAsync(nsIStreamListener* aListener, nsIChannel* aChannel);
// Handle an input stream being returned from the parent void OnStream(already_AddRefed<nsIInputStream> aStream); @@ -79,25 +79,32 @@ class PageThumbStreamGetter : public RefCounted<PageThumbStreamGetter> { static void CancelRequest(nsIStreamListener* aListener, nsIChannel* aChannel, nsresult aResult);
- MOZ_DECLARE_REFCOUNTED_TYPENAME(PageThumbStreamGetter) - private: + ~PageThumbStreamGetter() = default; + nsCOMPtr<nsIURI> mURI; nsCOMPtr<nsILoadInfo> mLoadInfo; nsCOMPtr<nsIStreamListener> mListener; nsCOMPtr<nsIChannel> mChannel; nsCOMPtr<nsISerialEventTarget> mMainThreadEventTarget; + nsCOMPtr<nsIInputStreamPump> mPump; + bool mCanceled{false}; + nsresult mStatus{NS_OK}; };
+NS_IMPL_ISUPPORTS(PageThumbStreamGetter, nsICancelable) + // Request an input stream from the parent. -Result<Ok, nsresult> PageThumbStreamGetter::GetAsync( - nsIStreamListener* aListener, nsIChannel* aChannel) { +RequestOrReason PageThumbStreamGetter::GetAsync(nsIStreamListener* aListener, + nsIChannel* aChannel) { MOZ_ASSERT(IsNeckoChild()); MOZ_ASSERT(mMainThreadEventTarget);
mListener = aListener; mChannel = aChannel;
+ nsCOMPtr<nsICancelable> cancelableRequest(this); + RefPtr<PageThumbStreamGetter> self = this;
// Request an input stream for this moz-page-thumb URI. @@ -109,7 +116,25 @@ Result<Ok, nsresult> PageThumbStreamGetter::GetAsync( [self](const mozilla::ipc::ResponseRejectReason) { self->OnStream(nullptr); }); - return Ok(); + return RequestOrCancelable(WrapNotNull(cancelableRequest)); +} + +// Called to cancel the ongoing async request. +NS_IMETHODIMP +PageThumbStreamGetter::Cancel(nsresult aStatus) { + if (mCanceled) { + return NS_OK; + } + + mCanceled = true; + mStatus = aStatus; + + if (mPump) { + mPump->Cancel(aStatus); + mPump = nullptr; + } + + return NS_OK; }
// static @@ -127,20 +152,26 @@ void PageThumbStreamGetter::CancelRequest(nsIStreamListener* aListener, // Handle an input stream sent from the parent. void PageThumbStreamGetter::OnStream(already_AddRefed<nsIInputStream> aStream) { MOZ_ASSERT(IsNeckoChild()); + MOZ_ASSERT(mChannel); MOZ_ASSERT(mListener); MOZ_ASSERT(mMainThreadEventTarget);
nsCOMPtr<nsIInputStream> stream = std::move(aStream); + nsCOMPtr<nsIChannel> channel = std::move(mChannel);
// We must keep an owning reference to the listener until we pass it on // to AsyncRead. nsCOMPtr<nsIStreamListener> listener = mListener.forget();
- MOZ_ASSERT(mChannel); + if (mCanceled) { + // The channel that has created this stream getter has been canceled. + CancelRequest(listener, channel, mStatus); + return; + }
if (!stream) { // The parent didn't send us back a stream. - CancelRequest(listener, mChannel, NS_ERROR_FILE_ACCESS_DENIED); + CancelRequest(listener, channel, NS_ERROR_FILE_ACCESS_DENIED); return; }
@@ -148,14 +179,17 @@ void PageThumbStreamGetter::OnStream(already_AddRefed<nsIInputStream> aStream) { nsresult rv = NS_NewInputStreamPump(getter_AddRefs(pump), stream.forget(), 0, 0, false, mMainThreadEventTarget); if (NS_FAILED(rv)) { - CancelRequest(listener, mChannel, rv); + CancelRequest(listener, channel, rv); return; }
rv = pump->AsyncRead(listener); if (NS_FAILED(rv)) { - CancelRequest(listener, mChannel, rv); + CancelRequest(listener, channel, rv); + return; } + + mPump = pump; }
NS_IMPL_QUERY_INTERFACE(PageThumbProtocolHandler, @@ -454,8 +488,7 @@ void PageThumbProtocolHandler::NewSimpleChannel( aURI, aLoadinfo, aStreamGetter, [](nsIStreamListener* listener, nsIChannel* simpleChannel, PageThumbStreamGetter* getter) -> RequestOrReason { - MOZ_TRY(getter->GetAsync(listener, simpleChannel)); - return RequestOrReason(nullptr); + return getter->GetAsync(listener, simpleChannel); });
SetContentType(aURI, channel); diff --git a/toolkit/components/places/nsAnnoProtocolHandler.cpp b/toolkit/components/places/nsAnnoProtocolHandler.cpp index 445f59b99d39a..65bbb344c5b5a 100644 --- a/toolkit/components/places/nsAnnoProtocolHandler.cpp +++ b/toolkit/components/places/nsAnnoProtocolHandler.cpp @@ -15,6 +15,7 @@
#include "nsAnnoProtocolHandler.h" #include "nsFaviconService.h" +#include "nsICancelable.h" #include "nsIChannel.h" #include "nsIInputStream.h" #include "nsISupportsUtils.h" @@ -72,7 +73,10 @@ namespace { * just fallback to the default favicon. If anything happens at that point, the * world must be against us, so we can do nothing. */ -class faviconAsyncLoader : public AsyncStatementCallback { +class faviconAsyncLoader : public AsyncStatementCallback, public nsICancelable { + NS_DECL_NSICANCELABLE + NS_DECL_ISUPPORTS_INHERITED + public: faviconAsyncLoader(nsIChannel* aChannel, nsIStreamListener* aListener, uint16_t aPreferredSize) @@ -120,13 +124,35 @@ class faviconAsyncLoader : public AsyncStatementCallback { return NS_OK; }
+ static void CancelRequest(nsIStreamListener* aListener, nsIChannel* aChannel, + nsresult aResult) { + MOZ_ASSERT(aListener); + MOZ_ASSERT(aChannel); + + aListener->OnStartRequest(aChannel); + aListener->OnStopRequest(aChannel, aResult); + aChannel->Cancel(NS_BINDING_ABORTED); + } + NS_IMETHOD HandleCompletion(uint16_t aReason) override { MOZ_DIAGNOSTIC_ASSERT(mListener); + MOZ_ASSERT(mChannel); NS_ENSURE_TRUE(mListener, NS_ERROR_UNEXPECTED); + NS_ENSURE_TRUE(mChannel, NS_ERROR_UNEXPECTED);
- nsresult rv; // Ensure we'll break possible cycles with the listener. - auto cleanup = MakeScopeExit([&]() { mListener = nullptr; }); + auto cleanup = MakeScopeExit([&]() { + mListener = nullptr; + mChannel = nullptr; + }); + + if (mCanceled) { + // The channel that has created this faviconAsyncLoader has been canceled. + CancelRequest(mListener, mChannel, mStatus); + return NS_OK; + } + + nsresult rv;
nsCOMPtr<nsILoadInfo> loadInfo = mChannel->LoadInfo(); nsCOMPtr<nsIEventTarget> target = @@ -141,7 +167,14 @@ class faviconAsyncLoader : public AsyncStatementCallback { target); MOZ_ASSERT(NS_SUCCEEDED(rv)); if (NS_SUCCEEDED(rv)) { - return pump->AsyncRead(mListener); + rv = pump->AsyncRead(mListener); + if (NS_FAILED(rv)) { + CancelRequest(mListener, mChannel, rv); + return rv; + } + + mPump = pump; + return NS_OK; } } } @@ -150,14 +183,20 @@ class faviconAsyncLoader : public AsyncStatementCallback { // we should pass the loadInfo of the original channel along // to the new channel. Note that mChannel can not be null, // constructor checks that. - nsCOMPtr<nsIChannel> newChannel; - rv = GetDefaultIcon(mChannel, getter_AddRefs(newChannel)); + rv = GetDefaultIcon(mChannel, getter_AddRefs(mDefaultIconChannel)); if (NS_FAILED(rv)) { - mListener->OnStartRequest(mChannel); - mListener->OnStopRequest(mChannel, rv); + CancelRequest(mListener, mChannel, rv); return rv; } - return newChannel->AsyncOpen(mListener); + + rv = mDefaultIconChannel->AsyncOpen(mListener); + if (NS_FAILED(rv)) { + mDefaultIconChannel = nullptr; + CancelRequest(mListener, mChannel, rv); + return rv; + } + + return NS_OK; }
protected: @@ -165,11 +204,40 @@ class faviconAsyncLoader : public AsyncStatementCallback {
private: nsCOMPtr<nsIChannel> mChannel; + nsCOMPtr<nsIChannel> mDefaultIconChannel; nsCOMPtr<nsIStreamListener> mListener; + nsCOMPtr<nsIInputStreamPump> mPump; nsCString mData; uint16_t mPreferredSize; + bool mCanceled{false}; + nsresult mStatus{NS_OK}; };
+NS_IMPL_ISUPPORTS_INHERITED(faviconAsyncLoader, AsyncStatementCallback, + nsICancelable) + +NS_IMETHODIMP +faviconAsyncLoader::Cancel(nsresult aStatus) { + if (mCanceled) { + return NS_OK; + } + + mCanceled = true; + mStatus = aStatus; + + if (mPump) { + mPump->Cancel(aStatus); + mPump = nullptr; + } + + if (mDefaultIconChannel) { + mDefaultIconChannel->Cancel(aStatus); + mDefaultIconChannel = nullptr; + } + + return NS_OK; +} + } // namespace
//////////////////////////////////////////////////////////////////////////////// @@ -266,7 +334,7 @@ nsresult nsAnnoProtocolHandler::NewFaviconChannel(nsIURI* aURI, nsCOMPtr<nsIChannel> channel = NS_NewSimpleChannel( aURI, aLoadInfo, aAnnotationURI, [](nsIStreamListener* listener, nsIChannel* channel, - nsIURI* annotationURI) { + nsIURI* annotationURI) -> RequestOrReason { auto fallback = [&]() -> RequestOrReason { nsCOMPtr<nsIChannel> chan; nsresult rv = GetDefaultIcon(channel, getter_AddRefs(chan)); @@ -275,7 +343,8 @@ nsresult nsAnnoProtocolHandler::NewFaviconChannel(nsIURI* aURI, rv = chan->AsyncOpen(listener); NS_ENSURE_SUCCESS(rv, Err(rv));
- return RequestOrReason(std::move(chan)); + nsCOMPtr<nsIRequest> request(chan); + return RequestOrCancelable(WrapNotNull(request)); };
// Now we go ahead and get our data asynchronously for the favicon. @@ -298,7 +367,8 @@ nsresult nsAnnoProtocolHandler::NewFaviconChannel(nsIURI* aURI, rv = faviconService->GetFaviconDataAsync(faviconSpec, callback); if (NS_FAILED(rv)) return fallback();
- return RequestOrReason(nullptr); + nsCOMPtr<nsICancelable> cancelable = do_QueryInterface(callback); + return RequestOrCancelable(WrapNotNull(cancelable)); }); NS_ENSURE_TRUE(channel, NS_ERROR_OUT_OF_MEMORY);
This is an automated email from the git hooks/post-receive script.
richard pushed a commit to branch tor-browser-91.8.0esr-11.0-1 in repository tor-browser.
commit 612808528c94bfbcd9bce56b0ed56f55c9b43693 Author: Luca Greco lgreco@mozilla.com AuthorDate: Wed Oct 27 16:36:34 2021 +0000
Bug 1735899 - Make sure RemoteLazyInputStream::Close calls mInputStreamCallback OnInputStreamReady method. r=nika, a=RyanVM
RemoteLazyInputStream::Close was not setting mInputStreamCallback to a nullptr without using it in the InputStreamCallbackRunnable::Execute, which would be calling OnInputStreamReady on the mInputStreamCallback.
This does also match the details we gathered while investigating the bug (which was triggered exactly by a remote lazy stream getter that did never got to call OnInputStreamReady by the time we were closing the channel).
Differential Revision: https://phabricator.services.mozilla.com/D129374 --- dom/file/ipc/RemoteLazyInputStream.cpp | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-)
diff --git a/dom/file/ipc/RemoteLazyInputStream.cpp b/dom/file/ipc/RemoteLazyInputStream.cpp index 10e2e41633ad7..d49cee228e457 100644 --- a/dom/file/ipc/RemoteLazyInputStream.cpp +++ b/dom/file/ipc/RemoteLazyInputStream.cpp @@ -281,6 +281,10 @@ NS_IMETHODIMP RemoteLazyInputStream::Close() { nsCOMPtr<nsIAsyncInputStream> asyncRemoteStream; nsCOMPtr<nsIInputStream> remoteStream; + + nsCOMPtr<nsIInputStreamCallback> inputStreamCallback; + nsCOMPtr<nsIEventTarget> inputStreamCallbackEventTarget; + { MutexAutoLock lock(mMutex);
@@ -292,15 +296,22 @@ RemoteLazyInputStream::Close() { asyncRemoteStream.swap(mAsyncRemoteStream); remoteStream.swap(mRemoteStream);
- mInputStreamCallback = nullptr; - mInputStreamCallbackEventTarget = nullptr; - + // TODO(Bug 1737783): Notify to the mFileMetadataCallback that this + // lazy input stream has been closed. mFileMetadataCallback = nullptr; mFileMetadataCallbackEventTarget = nullptr;
+ inputStreamCallback = std::move(mInputStreamCallback); + inputStreamCallbackEventTarget = std::move(mInputStreamCallbackEventTarget); + mState = eClosed; }
+ if (inputStreamCallback) { + InputStreamCallbackRunnable::Execute(inputStreamCallback, + inputStreamCallbackEventTarget, this); + } + if (asyncRemoteStream) { asyncRemoteStream->CloseWithStatus(NS_BASE_STREAM_CLOSED); }
This is an automated email from the git hooks/post-receive script.
richard pushed a commit to branch tor-browser-91.8.0esr-11.0-1 in repository tor-browser.
commit 0f2b9259d75d088357f46d2f2f41516f0967cc85 Author: Luca Greco lgreco@mozilla.com AuthorDate: Tue Dec 14 19:15:15 2021 +0000
Bug 1735899 - Cover the browserAction popup preload with a smoketest. r=mixedpuppy, a=RyanVM
This patch includes a new test file to cover a scenario similar to the one fixed in Bug 1735899, and possibly some other similar ones that may slip through unnoticed.
This test triggers the issue consistently on a build where the fix is not included and pass consistently in build including the fix, but even if it doesn't include any arbitrary timeouts to trigger the issue there is still a chance that the test may start to fail intermittently for some other reasons.
Keeping it as a separate test file will make it easier to disable it as a temporary measure if turns out to be necessary.
Differential Revision: https://phabricator.services.mozilla.com/D132267 --- .../components/extensions/test/browser/browser.ini | 2 + ...er_ext_browserAction_popup_preload_smoketest.js | 198 +++++++++++++++++++++ 2 files changed, 200 insertions(+)
diff --git a/browser/components/extensions/test/browser/browser.ini b/browser/components/extensions/test/browser/browser.ini index 9ff104a32a022..1ad1e3ef6c05d 100644 --- a/browser/components/extensions/test/browser/browser.ini +++ b/browser/components/extensions/test/browser/browser.ini @@ -69,6 +69,8 @@ skip-if = debug && os == 'linux' && bits == 32# Bug 1313372 [browser_ext_browserAction_popup_port.js] [browser_ext_browserAction_popup_preload.js] skip-if = (os == 'win' && !debug) || (verify && debug && (os == 'mac')) # bug 1352668 +[browser_ext_browserAction_popup_preload_smoketest.js] +skip-if = debug # Bug 1746047 [browser_ext_browserAction_popup_resize.js] [browser_ext_browserAction_popup_resize_bottom.js] skip-if = debug # Bug 1522164 diff --git a/browser/components/extensions/test/browser/browser_ext_browserAction_popup_preload_smoketest.js b/browser/components/extensions/test/browser/browser_ext_browserAction_popup_preload_smoketest.js new file mode 100644 index 0000000000000..22d5c1a047e21 --- /dev/null +++ b/browser/components/extensions/test/browser/browser_ext_browserAction_popup_preload_smoketest.js @@ -0,0 +1,198 @@ +/* -*- Mode: indent-tabs-mode: nil; js-indent-level: 2 -*- */ +/* vim: set sts=2 sw=2 et tw=80: */ +/* eslint-disable mozilla/no-arbitrary-setTimeout */ +"use strict"; + +// This test does create and cancel the preloaded popup +// multiple times and in some cases it takes longer than +// the default timeouts allows. +requestLongerTimeout(4); + +const { AddonTestUtils } = ChromeUtils.import( + "resource://testing-common/AddonTestUtils.jsm" +); + +async function installTestAddon(addonId, unpacked = false) { + let xpi = AddonTestUtils.createTempWebExtensionFile({ + manifest: { + browser_specific_settings: { gecko: { id: addonId } }, + browser_action: { + default_popup: "popup.html", + }, + }, + files: { + "popup.html": `<!DOCTYPE html> + <html> + <head> + <meta charset="utf-8"> + <link rel="stylesheet" href="popup.css"> + </head> + <body> + </body> + </html> + `, + "popup.css": `@import "imported.css";`, + "imported.css": ` + /* Increasing the imported.css file size to increase the + * chances to trigger the stylesheet preload issue that + * has been fixed by Bug 1735899 consistently and with + * a smaller number of preloaded popup cancelled. + * + * ${new Array(600000).fill("x").join("\n")} + */ + body { width: 300px; height: 300px; background: red; } + `, + }, + }); + + if (unpacked) { + // This temporary directory is going to be removed from the + // cleanup function, but also make it unique as we do for the + // other temporary files (e.g. like getTemporaryFile as defined + // in XPInstall.jsm). + const random = Math.round(Math.random() * 36 ** 3).toString(36); + const tmpDirName = `mochitest_unpacked_addons_${random}`; + let tmpExtPath = FileUtils.getDir("TmpD", [tmpDirName], true); + registerCleanupFunction(() => { + tmpExtPath.remove(true); + }); + + // Unpacking the xpi file into the tempoary directory. + const extDir = await AddonTestUtils.manuallyInstall( + xpi, + tmpExtPath, + null, + /* unpacked */ true + ); + + // Install temporarily as unpacked. + return AddonManager.installTemporaryAddon(extDir); + } + + // Install temporarily as packed. + return AddonManager.installTemporaryAddon(xpi); +} + +async function waitForExtensionAndBrowserAction(addonId) { + const { + Management: { + global: { browserActionFor }, + }, + } = ChromeUtils.import("resource://gre/modules/Extension.jsm"); + + // trigger a number of preloads + let extension; + let browserAction; + await TestUtils.waitForCondition(() => { + extension = WebExtensionPolicy.getByID(addonId)?.extension; + browserAction = extension && browserActionFor(extension); + return browserAction; + }, "got the extension and browserAction"); + + let widget = getBrowserActionWidget(extension).forWindow(window); + + return { extension, browserAction, widget }; +} + +async function testCancelPreloadedPopup({ browserAction, widget }) { + // Trigger the preloaded popup. + EventUtils.synthesizeMouseAtCenter( + widget.node, + { type: "mouseover", button: 0 }, + window + ); + await TestUtils.waitForCondition( + () => browserAction.pendingPopup, + "Wait for the preloaded popup" + ); + // Cancel the preloaded popup. + EventUtils.synthesizeMouseAtCenter( + widget.node, + { type: "mouseout", button: 0 }, + window + ); + EventUtils.synthesizeMouseAtCenter( + window.gURLBar.textbox, + { type: "mouseover" }, + window + ); + await TestUtils.waitForCondition( + () => !browserAction.pendingPopup, + "Wait for the preloaded popup to be cancelled" + ); +} + +async function testPopupLoadCompleted({ extension, browserAction, widget }) { + const promiseViewShowing = BrowserTestUtils.waitForEvent( + document, + "ViewShowing", + false, + ev => ev.target.id === browserAction.viewId + ); + EventUtils.synthesizeMouseAtCenter( + widget.node, + { type: "mousedown", button: 0 }, + window + ); + EventUtils.synthesizeMouseAtCenter( + widget.node, + { type: "mouseup", button: 0 }, + window + ); + + info("Await the browserAction popup to be shown"); + await promiseViewShowing; + + info("Await the browserAction popup to be fully loaded"); + const browser = await awaitExtensionPanel( + extension, + window, + /* awaitLoad */ true + ); + + await TestUtils.waitForCondition(async () => { + const docReadyState = await SpecialPowers.spawn(browser, [], () => { + return this.content.document.readyState; + }); + + return docReadyState === "complete"; + }, "Wait the popup document to get to readyState complete"); + + ok(true, "Popup document was fully loaded"); +} + +// This test is covering a scenario similar to the one fixed in Bug 1735899, +// and possibly some other similar ones that may slip through unnoticed. +add_task(async function testCancelPopupPreloadRaceOnUnpackedAddon() { + const ID = "preloaded-popup@test"; + const addon = await installTestAddon(ID, /* unpacked */ true); + const { + extension, + browserAction, + widget, + } = await waitForExtensionAndBrowserAction(ID); + info("Preload popup and cancel it multiple times"); + for (let i = 0; i < 200; i++) { + await testCancelPreloadedPopup({ browserAction, widget }); + } + await testPopupLoadCompleted({ extension, browserAction, widget }); + await addon.uninstall(); +}); + +// This test is covering a scenario similar to the one fixed in Bug 1735899, +// and possibly some other similar ones that may slip through unnoticed. +add_task(async function testCancelPopupPreloadRaceOnPackedAddon() { + const ID = "preloaded-popup@test"; + const addon = await installTestAddon(ID, /* unpacked */ false); + const { + extension, + browserAction, + widget, + } = await waitForExtensionAndBrowserAction(ID); + info("Preload popup and cancel it multiple times"); + for (let i = 0; i < 200; i++) { + await testCancelPreloadedPopup({ browserAction, widget }); + } + await testPopupLoadCompleted({ extension, browserAction, widget }); + await addon.uninstall(); +});
This is an automated email from the git hooks/post-receive script.
richard pushed a commit to branch tor-browser-91.8.0esr-11.0-1 in repository tor-browser.
commit 3b7ec4026f7744f83e9acd4ff6dd668b2d7ae5a7 Author: Miko Mynttinen mikokm@gmail.com AuthorDate: Tue Mar 22 18:40:51 2022 +0000
Bug 1735265 - Part 1: Set clip on background items for table cols and colgroups, when the table cell has captured clip. r=mstange, a=RyanVM
Differential Revision: https://phabricator.services.mozilla.com/D129681 --- layout/tables/nsTableCellFrame.cpp | 19 +++++++++++++++++++ layout/tables/nsTableFrame.cpp | 3 +++ layout/tables/nsTableFrame.h | 9 +++++++++ 3 files changed, 31 insertions(+)
diff --git a/layout/tables/nsTableCellFrame.cpp b/layout/tables/nsTableCellFrame.cpp index 6c7423b3cc95f..163de5ac03a2b 100644 --- a/layout/tables/nsTableCellFrame.cpp +++ b/layout/tables/nsTableCellFrame.cpp @@ -510,6 +510,25 @@ void nsTableCellFrame::BuildDisplayList(nsDisplayListBuilder* aBuilder,
bgRect += backgrounds->TableToReferenceFrame();
+ DisplayListClipState::AutoSaveRestore clipState(aBuilder); + nsDisplayListBuilder::AutoCurrentActiveScrolledRootSetter asrSetter( + aBuilder); + if (IsStackingContext()) { + // The col/colgroup items we create below will be inserted directly into the + // BorderBackgrounds list of the table frame. That means that they'll be moved + // *outside* of any wrapper items from this table cell, and will not participate in + // this table cell's opacity / transform / filter / mask effects. + // If this cell is a stacking context, then we may have one or more of those + // wrapper items, and one of them may have captured a clip. In order to ensure + // correct clipping and scrolling of the col/colgroup items, restore the clip and ASR + // that we observed when we entered the table frame. + // If this cell is a stacking context but doesn't have any clip capturing wrapper items, + // then we'll double-apply the clip. That's ok. + clipState.SetClipChainForContainingBlockDescendants( + backgrounds->GetTableClipChain()); + asrSetter.SetCurrentActiveScrolledRoot(backgrounds->GetTableASR()); + } + // Create backgrounds items as needed for the column and column // group that this cell occupies. nsTableColFrame* col = backgrounds->GetColForIndex(ColIndex()); diff --git a/layout/tables/nsTableFrame.cpp b/layout/tables/nsTableFrame.cpp index ad7d079833c04..c86a73f23bf90 100644 --- a/layout/tables/nsTableFrame.cpp +++ b/layout/tables/nsTableFrame.cpp @@ -1179,6 +1179,9 @@ nsDisplayTableBackgroundSet::nsDisplayTableBackgroundSet( mBuilder->FindReferenceFrameFor(aTable, &mToReferenceFrame); MOZ_ASSERT(nsLayoutUtils::FindNearestCommonAncestorFrame(reference, aTable)); mDirtyRect = mBuilder->GetDirtyRect(); + mCombinedTableClipChain = + mBuilder->ClipState().GetCurrentCombinedClipChain(aBuilder); + mTableASR = mBuilder->CurrentActiveScrolledRoot(); }
// A display item that draws all collapsed borders for a table. diff --git a/layout/tables/nsTableFrame.h b/layout/tables/nsTableFrame.h index dd59611dcb177..2e08fa67a9458 100644 --- a/layout/tables/nsTableFrame.h +++ b/layout/tables/nsTableFrame.h @@ -94,6 +94,12 @@ class nsDisplayTableBackgroundSet {
const nsRect& GetDirtyRect() { return mDirtyRect; }
+ const mozilla::DisplayItemClipChain* GetTableClipChain() { + return mCombinedTableClipChain; + } + + const mozilla::ActiveScrolledRoot* GetTableASR() { return mTableASR; } + private: // This class is only used on stack, so we don't have to worry about leaking // it. Don't let us be heap-allocated! @@ -109,6 +115,9 @@ class nsDisplayTableBackgroundSet { nsTArray<nsTableColFrame*> mColumns; nsPoint mToReferenceFrame; nsRect mDirtyRect; + + const mozilla::DisplayItemClipChain* mCombinedTableClipChain; + const mozilla::ActiveScrolledRoot* mTableASR; };
/* ========================================================================== */
This is an automated email from the git hooks/post-receive script.
richard pushed a commit to branch tor-browser-91.8.0esr-11.0-1 in repository tor-browser.
commit d874ec490dbe8ba2214cc34e356c6e65ea981d13 Author: Miko Mynttinen mikokm@gmail.com AuthorDate: Tue Mar 22 18:40:52 2022 +0000
Bug 1735265 - Part 2: Add test. r=mstange, a=RyanVM
Differential Revision: https://phabricator.services.mozilla.com/D129682 --- layout/reftests/bugs/1735265-1-ref.html | 36 +++++++++++++++++++++++++++++ layout/reftests/bugs/1735265-1.html | 40 +++++++++++++++++++++++++++++++++ layout/reftests/bugs/reftest.list | 1 + 3 files changed, 77 insertions(+)
diff --git a/layout/reftests/bugs/1735265-1-ref.html b/layout/reftests/bugs/1735265-1-ref.html new file mode 100644 index 0000000000000..9a7b488c331c5 --- /dev/null +++ b/layout/reftests/bugs/1735265-1-ref.html @@ -0,0 +1,36 @@ +<html> + +<head> + <meta charset="utf-8"> + <title>Test for bug 1735265</title> + <style> + table { + width: 500px; + } + + th { + background-color: green; + } + + div { + width: 300px; + overflow: hidden; + } + </style> +</head> + +<body> + <div> + <table> + <colgroup></colgroup> + <tr> + <th style="filter: hue-rotate(0);">foo</th> + </tr> + <tr> + <th style="will-change: transform;">bar</th> + </tr> + </table> + </div> +</body> + +</html> diff --git a/layout/reftests/bugs/1735265-1.html b/layout/reftests/bugs/1735265-1.html new file mode 100644 index 0000000000000..9d4fe5046d290 --- /dev/null +++ b/layout/reftests/bugs/1735265-1.html @@ -0,0 +1,40 @@ +<html> + +<head> + <meta charset="utf-8"> + <title>Test for bug 1735265</title> + <style> + table { + width: 500px; + } + + th { + background-color: green; + } + + colgroup { + background-color: red; + } + + div { + width: 300px; + overflow: hidden; + } + </style> +</head> + +<body> + <div> + <table> + <colgroup></colgroup> + <tr> + <th style="filter: hue-rotate(0);">foo</th> + </tr> + <tr> + <th style="will-change: transform;">bar</th> + </tr> + </table> + </div> +</body> + +</html> diff --git a/layout/reftests/bugs/reftest.list b/layout/reftests/bugs/reftest.list index a10da3a36904d..470027f91dd9c 100644 --- a/layout/reftests/bugs/reftest.list +++ b/layout/reftests/bugs/reftest.list @@ -2104,3 +2104,4 @@ fuzzy(0-2,0-96600) == 1648282-1b.html 1648282-1-ref.html == 1686729-1.html 1686729-1-ref.html != chrome://reftest/content/bugs/1688004.xhtml about:blank == 1726663-1.html 1726663-1-ref.html +== 1735265-1.html 1735265-1-ref.html
This is an automated email from the git hooks/post-receive script.
richard pushed a commit to branch tor-browser-91.8.0esr-11.0-1 in repository tor-browser.
commit 9ba0f90a39b26a77ef6d09dbaafe50258d67a829 Author: ffxbld ffxbld@mozilla.com AuthorDate: Mon Mar 28 10:54:33 2022 +0000
No Bug, mozilla-esr91 repo-update HSTS HPKP remote-settings tld-suffixes - a=repo-update r=RyanVM
Differential Revision: https://phabricator.services.mozilla.com/D142196 --- netwerk/dns/effective_tld_names.dat | 21 +- security/manager/ssl/StaticHPKPins.h | 2 +- security/manager/ssl/nsSTSPreloadList.inc | 259 +++------ services/settings/dumps/main/search-config.json | 634 --------------------- .../dumps/security-state/intermediates.json | 18 + services/settings/dumps/security-state/onecrl.json | 225 ++++++++ 6 files changed, 335 insertions(+), 824 deletions(-)
diff --git a/netwerk/dns/effective_tld_names.dat b/netwerk/dns/effective_tld_names.dat index 9eb7a5e8762de..c235f2754f45e 100644 --- a/netwerk/dns/effective_tld_names.dat +++ b/netwerk/dns/effective_tld_names.dat @@ -7131,7 +7131,7 @@ org.zw
// newGTLDs
-// List of new gTLDs imported from https://www.icann.org/resources/registries/gtlds/v2/gtlds.json on 2022-03-22T15:14:59Z +// List of new gTLDs imported from https://www.icann.org/resources/registries/gtlds/v2/gtlds.json on 2022-03-27T15:13:38Z // This list is auto-generated, don't edit it manually. // aaa : 2015-02-26 American Automobile Association, Inc. aaa @@ -8468,7 +8468,7 @@ hermes // hgtv : 2015-07-02 Lifestyle Domain Holdings, Inc. hgtv
-// hiphop : 2014-03-06 Dot Hip Hop LLC +// hiphop : 2014-03-06 Dot Hip Hop, LLC hiphop
// hisamitsu : 2015-07-16 Hisamitsu Pharmaceutical Co.,Inc. @@ -9995,7 +9995,7 @@ toray // toshiba : 2014-04-10 TOSHIBA Corporation toshiba
-// total : 2015-08-06 Total SA +// total : 2015-08-06 TOTAL SE total
// tours : 2015-01-22 Binky Moon, LLC @@ -10633,6 +10633,12 @@ hlx3.page // Submitted by Przemyslaw Plewa it-admin@domena.pl beep.pl
+// Airkit : https://www.airkit.com/ +// Submitted by Grant Cooksey security@airkit.com +airkitapps.com +airkitapps-au.com +airkitapps.eu + // Aiven: https://aiven.io/ // Submitted by Etienne Stalmans security@aiven.io aivencloud.com @@ -11663,6 +11669,11 @@ en-root.fr mytuleap.com tuleap-partners.com
+// Encoretivity AB: https://encore.dev +// Submitted by André Eriksson andre@encore.dev +encr.app +encoreapi.com + // ECG Robotics, Inc: https://ecgrobotics.org // Submitted by frc1533@ecgrobotics.org onred.one @@ -12657,6 +12668,10 @@ ip.linodeusercontent.com // Submitted by Victor Velchev admin@liquidnetlimited.com we.bs
+// Localcert : https://localcert.dev +// Submitted by Lann Martin security@localcert.dev +*.user.localcert.dev + // localzone.xyz // Submitted by Kenny Niehage hello@yahe.sh localzone.xyz diff --git a/security/manager/ssl/StaticHPKPins.h b/security/manager/ssl/StaticHPKPins.h index 8cbbeceb54c61..b84437b374247 100644 --- a/security/manager/ssl/StaticHPKPins.h +++ b/security/manager/ssl/StaticHPKPins.h @@ -1149,4 +1149,4 @@ static const TransportSecurityPreload kPublicKeyPinningPreloadList[] = {
static const int32_t kUnknownId = -1;
-static const PRTime kPreloadPKPinsExpirationTime = INT64_C(1656586371320000); +static const PRTime kPreloadPKPinsExpirationTime = INT64_C(1656931854455000); diff --git a/security/manager/ssl/nsSTSPreloadList.inc b/security/manager/ssl/nsSTSPreloadList.inc index 2043d9e1fb92e..8262c577cc6ae 100644 --- a/security/manager/ssl/nsSTSPreloadList.inc +++ b/security/manager/ssl/nsSTSPreloadList.inc @@ -8,7 +8,7 @@ /*****************************************************************************/
#include <stdint.h> -const PRTime gPreloadListExpirationTime = INT64_C(1659005563465000); +const PRTime gPreloadListExpirationTime = INT64_C(1659351047098000); %% 0--1.de, 1 0-1.party, 1 @@ -434,7 +434,6 @@ const PRTime gPreloadListExpirationTime = INT64_C(1659005563465000); 10101.io, 1 101010.pl, 1 1014.xyz, 1 -101android.ru, 1 101gen.com, 1 101st-airborne.tk, 1 101st.tk, 1 @@ -1429,7 +1428,6 @@ const PRTime gPreloadListExpirationTime = INT64_C(1659005563465000); 1e9.nl, 1 1eanda.com, 1 1er-secours.ch, 0 -1europlan.nl, 1 1f123.net, 1 1fastcourse.com, 1 1fax.com, 1 @@ -2152,6 +2150,7 @@ const PRTime gPreloadListExpirationTime = INT64_C(1659005563465000); 33-couvreur.fr, 1 33-elagage.fr, 1 33-km.ru, 1 +33138app.com, 1 33138vip.com, 1 33168365.com, 1 33321365.com, 0 @@ -2338,7 +2337,6 @@ const PRTime gPreloadListExpirationTime = INT64_C(1659005563465000); 360videoshare.com, 1 360vrs.com, 1 361116.com, 1 -3615jacky.fr, 1 363331.com, 1 364553.com, 1 365.asia, 1 @@ -2505,6 +2503,7 @@ const PRTime gPreloadListExpirationTime = INT64_C(1659005563465000); 375ks.com, 1 377625.com, 1 377632.com, 1 +3778vip.com, 0 377ks.com, 1 377zzz.com, 1 37879.com, 0 @@ -2876,7 +2875,6 @@ const PRTime gPreloadListExpirationTime = INT64_C(1659005563465000); 426773.com, 1 427552.com, 1 428northampton.com, 1 -42ch.com, 1 42day.info, 1 42entrepreneurs.fr, 0 42l.fr, 1 @@ -3521,7 +3519,6 @@ const PRTime gPreloadListExpirationTime = INT64_C(1659005563465000); 595380.com, 1 595422.com, 1 596422.com, 1 -59759z.com, 0 5981168.com, 1 5981611.com, 1 5981622.com, 1 @@ -4504,7 +4501,6 @@ const PRTime gPreloadListExpirationTime = INT64_C(1659005563465000); 798sss.com, 1 799ks.com, 1 799z6.com, 1 -79ch.com, 1 7akawyna.tk, 1 7azarfazar.com, 1 7bet86.com, 1 @@ -6530,7 +6526,6 @@ acinq.co, 1 ackadia.com, 1 ackermann.ch, 1 acklandstainless.com.au, 1 -acl.gov, 1 aclasskids.ru, 1 aclfurniture.com, 1 aclipt.com, 1 @@ -6614,7 +6609,6 @@ actfleetforum.com, 1 actforrights.com, 1 actgruppe.de, 0 actheater.com, 1 -acticia.com, 1 acticu.com, 1 actiefgeld.nl, 0 actieplaza.tk, 1 @@ -6984,6 +6978,7 @@ adminova.tk, 1 adminresurs.tk, 1 adminrezo.fr, 1 adminton.eu, 1 +admirable.pro, 0 admiralshipsupplier.com, 0 admody.com, 1 admongo.gov, 1 @@ -6991,7 +6986,6 @@ admxj.com, 1 adn-recrutement.fr, 1 adnanotoyedekparca.com, 1 adnexa.it, 1 -adnmb1.com, 1 adnolesh.com, 1 adnotam.ch, 1 adnseguros.es, 1 @@ -7258,6 +7252,7 @@ advokaty.gq, 1 advst.uk, 1 advtran.com, 0 adware.pl, 0 +adwokatkosterka.pl, 1 adwokatzdunek.pl, 1 adws.io, 1 adxperience.com, 1 @@ -7505,6 +7500,7 @@ africankingsclothing.com, 1 africankitchen.gallery, 1 africanmangoforum.ga, 1 africanmangoforum.gq, 1 +africansafaris.co.nz, 1 africantourer.com, 1 africaone-publishing.com, 1 africaricecenter.org, 1 @@ -7700,7 +7696,6 @@ agences-cegee.fr, 1 agencesaintpierre.fr, 1 agencetourismemali.ml, 1 agencia.cat, 1 -agencia.pro, 1 agenciacanina.tk, 1 agenciacorujadesign.com.br, 1 agenciaempleo.tk, 1 @@ -7974,7 +7969,6 @@ ahealthyjourney.ca, 1 ahegaoroulette.com, 1 ahelos.tk, 1 ahenkerp.com, 1 -ahero4all.org, 1 ahg-offices.fr, 1 ahhcomfortshoes.com, 1 ahidta.gov, 1 @@ -9163,7 +9157,6 @@ alkogol.ga, 1 alkopedia.tk, 1 alkor.tk, 1 alkozeroks-wiki.ru, 1 -alkusin.net, 1 all-blogs.tk, 1 all-bronza.ru, 1 all-connect.net, 0 @@ -9780,6 +9773,7 @@ alwaysmine.fi, 1 alwaysonssl.com, 1 alxclub.tk, 1 alxlegal.com, 1 +alxpresentes.com.br, 1 alxu.ca, 1 alykkelife.com, 1 alyoung.com, 1 @@ -10566,6 +10560,7 @@ andyblu.me, 1 andybrett.com, 1 andyc.cc, 1 andycatteceur.tk, 1 +andyclark.io, 0 andycraftz.eu, 1 andycrockett.io, 1 andymoore.info, 0 @@ -10754,7 +10749,6 @@ anime.my, 0 anime1.me, 1 anime1.moe, 1 anime1.pw, 1 -anime1.top, 1 animeai.com, 1 animebase.me, 1 animebits.moe, 1 @@ -11220,6 +11214,7 @@ anvilcargotrailers.com, 1 anvilmetal.tk, 1 anvilsales.tk, 1 anvilsecure.com, 1 +anvimpex.com, 1 anvish.in, 1 anwalt.us, 1 anwarverdict.ml, 1 @@ -11271,7 +11266,6 @@ ao6.me, 1 ao6.works, 1 aoadatacommunity.us, 1 aoaprograms.net, 1 -aobeauty.com.au, 1 aobogo.com, 1 aocai.com, 1 aod-tech.com, 1 @@ -11345,7 +11339,6 @@ apcw.org, 1 apdfawl.com, 0 apdx.com, 1 apeasternpower.com, 1 -apeelectrics.com, 1 apef.ch, 0 apefrog.tk, 1 apeiri.de, 1 @@ -12049,7 +12042,6 @@ aridhia.com, 1 aridhia.io, 1 ariege-pyrenees.net, 1 arielasher.cf, 1 -ariellefrioza.com, 1 arielpereira.tk, 1 ariens.com, 1 ariensco.com, 1 @@ -12740,7 +12732,7 @@ askhow.co.il, 1 askindia.tk, 1 askizzy.org.au, 1 askkaren.gov, 1 -asklawyersforjustice.com, 1 +asklawyersforjustice.com, 0 askmagicconch.com, 0 askme-events.vip, 0 askme-fast.tk, 1 @@ -12799,7 +12791,6 @@ asphaltsolutionsnc.com, 1 asphy.me, 1 asphyxia.su, 1 aspiechattr.me, 1 -aspiescentral.com, 1 aspiradorasbaratas.net, 1 aspirantum.com, 1 aspiraplasticsurgery.com, 1 @@ -12970,7 +12961,6 @@ astutikhonda.com, 1 astutr.co, 1 astyork.com, 1 astypic.fr, 1 -asua.ca, 1 asuamaytinh.com, 1 asuclassfinder.com, 1 asucrews.com, 1 @@ -13008,6 +12998,7 @@ atafu-village.tk, 1 atahualpa.com, 1 atakac.com, 1 atalarmedya.com, 0 +atallo.es, 1 atanas.ch, 1 atarinew.tk, 1 atary.tk, 1 @@ -14078,7 +14069,6 @@ avrilhouse.tk, 1 avrilshine.tk, 1 avrora-nov.ru, 1 avroramine.tk, 1 -avspace.asia, 1 avspot.net, 1 avtecmedia.com, 0 avtek.pl, 1 @@ -14255,7 +14245,6 @@ aymerick-dupouey.fr, 1 aymericlagier.com, 1 aymhome.top, 1 ayon-games.tk, 1 -ayothemes.com, 1 ayresalpine.com, 1 ayresanaheim.com, 1 ayresapline.com, 1 @@ -16036,7 +16025,6 @@ beautyandthebeast.tk, 1 beautyanna.ga, 1 beautyanna.gq, 1 beautyarticles.tk, 1 -beautybh.com, 1 beautybism.com, 1 beautybox.ro, 1 beautyby.tv, 1 @@ -16438,7 +16426,6 @@ benefitz.ml, 1 benekill.tk, 1 benepiscinas.com.br, 1 benepla.com, 1 -beneri.se, 1 benetcasablancas.tk, 1 benevisim.com, 1 benevita.bio, 1 @@ -17394,6 +17381,7 @@ bexit-security.nl, 1 bexit.nl, 1 bexithosting.nl, 1 bexleycastles.co.uk, 1 +bexx-engineering.co.uk, 0 bey.io, 1 beybiz.com, 1 beybladesource.tk, 1 @@ -18046,7 +18034,7 @@ bionovanaturalpools.com, 1 biopreferred.gov, 1 biopsychiatry.com, 1 bioresonanz-ibiza.com, 1 -biorev.com, 1 +biorev.com, 0 biosafe.ch, 0 biosalts.it, 1 biosbits.org, 1 @@ -18821,6 +18809,7 @@ block-this.com, 1 block65.com, 1 blockchain.com, 1 blockchain.info, 1 +blockchain.poker, 1 blockchainaiintegra.com, 1 blockchainbulteni.com.tr, 1 blockchaindaigakko.jp, 1 @@ -19836,7 +19825,6 @@ bowling.com, 1 bowmanwilliams.com, 0 bowmar.gov, 1 bowntycdn.net, 1 -bowtie.com.hk, 1 box2.cz, 1 boxbuttecountyne.gov, 1 boxcritters.wiki, 1 @@ -19861,7 +19849,6 @@ boxturtlesaspets.com, 1 boxview.com, 1 boxwcard.com, 1 boyard.tk, 1 -boycewire.com, 1 boydstree.com, 1 boyfriendhusband.men, 1 boyhost.cn, 1 @@ -20063,7 +20050,6 @@ branefive.com, 1 branemusic.com, 1 braniebananie.nl, 1 brank.as, 1 -branno.org, 1 branobratoz.tk, 1 bransive.com.au, 1 bransonwestmo.gov, 1 @@ -20868,7 +20854,6 @@ budgetlob.gov, 1 budgetlovers.nl, 1 budgetrf.tk, 1 budgetwebsites.com.au, 1 -budgiesballoons.com, 1 budilnik.ml, 1 budntod.com, 1 budofjoy.com, 1 @@ -22520,6 +22505,7 @@ cantik.co, 1 cantonmi.gov, 1 cantor.cloud, 1 cantosdisidentes.tk, 1 +cantrack.com, 1 cantstopart.com, 1 canttboardpachmarhi.org, 1 canukseeds.com, 1 @@ -22556,7 +22542,7 @@ capehipandknee.co.za, 1 capekeen.com, 1 capellan.pe, 1 capellen.tk, 1 -capeprivacy.com, 1 +capeprivacy.com, 0 caph.info, 1 caphane.com, 1 caphapupolas.ga, 1 @@ -22829,7 +22815,6 @@ carinthia.eu, 1 cariocabelos.com.br, 1 carisenda.com, 1 carium.com, 1 -carkeysanantonio.com, 1 carkeysystem.com, 1 carl-blum-haus.tk, 1 carl-topham.com, 1 @@ -22925,7 +22910,6 @@ caroli.name, 1 caroli.net, 1 carolicious.tk, 1 carolina.cz, 1 -carolinaclimatecontrolsc.com, 1 carolinalamujerdehoy.com.gt, 1 carolinaoliveira.tk, 1 carolinasaddictionfellows.com, 1 @@ -23339,6 +23323,7 @@ castaneda.tk, 1 castella.tk, 1 castellet.tk, 1 castelletto.tk, 1 +castelnuovo.xyz, 1 casteloinformatica.com.br, 1 castelsardo.tk, 1 casthull.co.uk, 1 @@ -23409,7 +23394,6 @@ catbox.moe, 1 catbull.com, 1 catcat.cc, 1 catchall.tw, 1 -catchcrabs.com, 1 catchers.cc, 1 catchhimandkeephim.com, 1 catchief.com, 1 @@ -24031,6 +24015,7 @@ cervek.me, 1 cervenyjezek.eu, 1 cervera.com.br, 1 ces-ltd.co.uk, 0 +cesantias.co, 0 cesar-hector.tk, 1 cesarloaiciga.com, 1 cesarparedespacora.com, 1 @@ -24137,7 +24122,6 @@ chaacker.tk, 1 chabad360.me, 1 chabadmyanmar.com, 1 chabaudparfum.com, 1 -chabert-provence.fr, 1 chabik.com, 1 chaboisseau.net, 1 chacoonline.com.py, 1 @@ -24423,6 +24407,7 @@ chatsworthelectrical.com, 1 chattahoocheefl.gov, 1 chattergallery.com, 1 chatticketsers.ga, 1 +chattingorcheating.com, 1 chattomania.it, 1 chatu.io, 1 chatu.me, 1 @@ -24779,7 +24764,6 @@ chimm.cc, 1 chimpanzee.cf, 1 chimpanzee.net, 1 chimpmatic.com, 1 -china-line.org, 1 china-midas.net, 1 china-online-news.tk, 1 chinablows.com, 1 @@ -25019,7 +25003,6 @@ christianconcepts.ga, 1 christianconcepts.gq, 1 christiandiscourse.net, 1 christianfaq.org, 1 -christianforums.com, 1 christiangaro.com, 1 christiangaro.email, 1 christiangaro.info, 1 @@ -25156,7 +25139,6 @@ chrystofer.com, 1 chrystus.pl, 1 chsamuel.net, 1 chsh.moe, 0 -chshealthcare.co.uk, 1 chshouyu.com, 1 chsrealtyadvisorssw.com, 1 chsterz.de, 1 @@ -25254,7 +25236,6 @@ ciclista.roma.it, 1 ciclodekrebs.com, 1 ciclodelcarbono.com, 1 ciclohidrologico.com, 1 -cidadedossonhos.org, 1 cidbot.com, 1 cidcca.com, 1 cidersus.com.ec, 1 @@ -25423,7 +25404,7 @@ cisa.gov, 1 cisamexico.com, 1 ciscoasanetflow.com, 1 ciscocyberthreatdefense.com, 1 -ciscodude.net, 1 +ciscodude.net, 0 ciscom.tk, 1 cisconetflowleader.com, 1 cisconetflowpartners.com, 1 @@ -25970,6 +25951,7 @@ clik.ga, 1 cliksource.com, 1 climaencusco.com, 1 climatechange2021.org, 1 +climatecrafters.com, 1 climateinteractive.org, 1 climatgate.tk, 1 climaticequipment.tk, 1 @@ -26366,7 +26348,6 @@ cncollege.tk, 1 cncr.ga, 1 cncrans.ch, 0 cncs.gob.do, 1 -cncs.gov.pt, 1 cnet-hosting.com, 1 cnetw.xyz, 1 cnexchange.com, 1 @@ -26914,6 +26895,7 @@ columbushydroxide.com, 1 columbushydroxide.net, 1 columbushydroxide.org, 1 columbusks.gov, 1 +columbuswines.com, 1 colwichks.gov, 1 colyakoomusic.com, 1 com-news.io, 1 @@ -27210,7 +27192,7 @@ computertech-ut.com, 1 computerthings.net, 1 computertips.tk, 1 computerwerk.org, 1 -computerz.solutions, 1 +computerz.solutions, 0 computingaustralia.group, 1 computingsociety.co.uk, 1 computop.com, 1 @@ -28043,7 +28025,6 @@ couchscreen.de, 1 cougar-bordeaux.fr, 1 cougar.dating, 1 cougarlyon.fr, 1 -coughlan.de, 1 could.jp, 1 couleursorgue.tk, 1 coumoul.fr, 1 @@ -28053,7 +28034,6 @@ counsellingtime.co.uk, 1 counsellingtime.com, 1 counstellor.com, 0 count.sh, 0 -countdowntrader.com, 1 counterenlol.com, 1 counterespionage.com, 1 countermats.net, 1 @@ -28952,7 +28932,6 @@ cshub.nl, 1 csid.ro, 1 csilies.de, 1 csimarket.com, 1 -csinfo.us, 1 csinterstargeneve.ch, 0 csirt.ee, 1 csitarz.com, 1 @@ -29822,7 +29801,6 @@ dag-hebergement.fr, 1 dag-konsult.com, 1 dag-ogni.tk, 1 daganzo.tk, 1 -dagbestedingwarrie.nl, 1 dagensannonser.se, 1 dagestan.cf, 1 dagestanci.tk, 1 @@ -31228,7 +31206,6 @@ degeberg.com, 1 degeberg.dk, 1 degeeks.xyz, 1 degen-elektrotechnik.de, 1 -degeneracy.xyz, 1 degenerativediscdiseaseexplained.com, 1 degentseflikkenzoekenu.be, 1 degeo.cf, 1 @@ -34237,7 +34214,6 @@ dostalsecurity.com, 1 dostat.de, 1 dostav.tk, 1 dostavkakurierom.ru, 1 -dostlar.fr, 1 dosug.gq, 1 dosug.so, 1 dosugru.gq, 1 @@ -34258,7 +34234,6 @@ dot.sb, 1 dot42.no, 1 dota2free.tk, 1 dota2huds.com, 1 -dotacni-parazit.cz, 1 dotadotaman.tk, 1 dotbox.org, 1 dotcircle.co, 1 @@ -35380,7 +35355,6 @@ dvorek-karlin.cz, 1 dvorekkarlin.cz, 1 dvorupotocnych.sk, 1 dvotx.org, 1 -dvprogram.us, 1 dvwc.org, 1 dvx.cloud, 1 dw-loewe.de, 0 @@ -35544,7 +35518,7 @@ dzu.fund, 1 dzu.life, 1 dzus.tk, 1 dzworld.com, 1 -dzyabchenko.com, 1 +dzyabchenko.com, 0 dzyszla.pl, 1 dzytdl.com, 1 dzz.by, 0 @@ -36287,7 +36261,6 @@ ebjork.se, 1 ebki-nsn.gov, 1 eblan.gq, 1 eblog.cf, 1 -eblog.ink, 1 ebola-hosting.cz, 1 ebolacharts.ga, 1 ebolavirus.tk, 1 @@ -38565,7 +38538,6 @@ epicpages.com, 1 epicridesbahamas.com, 1 epicsecure.de, 1 epicserver.ru, 1 -epicsoft.de, 1 epicteam.tk, 1 epicteller.com, 1 epicvideofactory.com, 1 @@ -39008,7 +38980,6 @@ escortlistings.eu, 1 escortlistings.fr, 1 escortlistings.ph, 1 escortlistingsuk.co.uk, 1 -escorts.works, 1 escortsontop.co.uk, 1 escortz.gq, 1 escoteiros.tk, 1 @@ -39554,7 +39525,6 @@ europeancupinline.eu, 1 europeanpreppers.com, 1 europeanstudies-chemnitz.de, 1 europeantransportmanagement.com, 1 -europeanwineresource.com, 1 europeluxuryweddings.com, 1 europeonline.tk, 1 europeos.es, 1 @@ -39776,7 +39746,6 @@ eviadc.com, 1 eviction.cf, 1 evidecor.com.br, 1 evidence-based.review, 1 -evidencebased.net, 1 evidenceusa.com.br, 1 evidenciamidiasdigitais.com.br, 1 evidencija.ba, 1 @@ -39814,7 +39783,6 @@ evlear.com, 1 evlilikilan.com, 1 evlqa1sp1tzb05zo-reoo0vhj9a1t5pousfudnkg.com, 0 evntage.com, 1 -evo-ai.com, 1 evobox.store, 1 evoco.vc, 1 evodation.com, 1 @@ -42328,9 +42296,11 @@ firstclassleisure.co.uk, 1 firstclassnuisance.tk, 1 firstclinic.tk, 1 firstcoastteaco.com, 1 +firstcolonyengraving.com, 1 firstcontact.cf, 1 firstderm.com, 1 firstdorsal.eu, 1 +firstdry.com.br, 1 firstechpayments.com, 1 firstfinca.de, 1 firstgov.gov, 1 @@ -42427,7 +42397,7 @@ fitflaop.ga, 1 fitfocusau.com.au, 1 fitkram.cz, 1 fitmeat.at, 1 -fitmybike.eu, 1 +fitmybike.eu, 0 fitness-challenge.co.uk, 1 fitness-world.ga, 1 fitness.gov, 1 @@ -42526,7 +42496,6 @@ flabutelov.tk, 1 flacandmp3.ml, 1 flacon.tk, 1 fladby.org, 1 -flaemig42.de, 0 flaeskeklubben.dk, 1 flaeskeklubben.eu, 0 flagburningworld.com, 1 @@ -43120,7 +43089,6 @@ foljeton.dk, 1 folk.as, 1 folkdance.tk, 1 folkfests.org, 1 -folkofolk.se, 1 folkperu.tk, 1 folkrace.tk, 1 folktalerecords.tk, 1 @@ -43611,6 +43579,7 @@ forum-batteries.com, 1 forum-egypte.tk, 1 forum-expert.tk, 1 forum-gilee.cf, 1 +forum-kinozal-tv.appspot.com, 1 forum-kinozal.appspot.com, 1 forum-mercury.tk, 1 forum-noginska.tk, 1 @@ -43699,6 +43668,7 @@ fotoflits.net, 1 fotofon.tk, 1 fotografechristha.nl, 1 fotografiadellalucerossa.com, 1 +fotografiamakro.pl, 1 fotografies.tk, 1 fotografija.tk, 1 fotografoivanalmeida.com.br, 1 @@ -43756,7 +43726,6 @@ fourbrothers.tk, 1 fourcask.com, 1 fourchetteverte.ch, 1 fourcornerscb.com, 1 -fourdesignstudio.com, 1 fourfivecbd.co.za, 1 fourfourcrew.com, 1 fourfri.es, 1 @@ -44550,6 +44519,7 @@ fromthemonks.com, 1 fromthesoutherncross.com, 1 fromtinythings.com, 0 fromwithin.tk, 1 +fronhadeseda.com.br, 1 frontbaydevices.tk, 1 fronteers.nl, 0 fronteimoveis.com.br, 1 @@ -45144,6 +45114,7 @@ fxtrade-lab.com, 1 fxwebstudio.com.au, 0 fydjbsd.cn, 1 fyfywka.com, 1 +fyksen.me, 0 fyllehack.se, 1 fylm.ai, 1 fyn.nl, 1 @@ -45922,7 +45893,7 @@ gbl.selfip.net, 0 gbmwolverine.com, 1 gboys.net, 0 gbs-uk.com, 0 -gbsapri.it, 1 +gbsapri.it, 0 gbsvelasco.com, 1 gbusercontent.com, 1 gc-hartberg.tk, 1 @@ -46837,7 +46808,9 @@ ghini.com, 1 ghiro.tk, 1 ghislainphu.fr, 1 ghllc.com, 1 +ghobcars.com, 1 ghobot.ai, 1 +ghobusers.com, 1 ghostbusters.tk, 1 ghostbustersuk.tk, 1 ghostcir.com, 1 @@ -47945,6 +47918,7 @@ gopronto.io, 1 goprozone.com, 1 gopuntaisla.com, 1 gopwhip.gov, 1 +goquiq.com, 1 goquiqstatus.com, 1 gorakhpurclassifieds.tk, 1 goranrango.ch, 1 @@ -47959,7 +47933,6 @@ gordon-reid.com, 1 gordonbeeming.xyz, 1 gordonhamilton.com, 1 gordvorets.tk, 1 -gordyf.com, 1 gordyforty.com, 1 gorepriest.tk, 1 gorf.club, 1 @@ -47975,7 +47948,6 @@ gorki.tk, 1 gorky.media, 1 gorlani.com, 1 gorlani.net, 1 -gorn.ch, 1 gorod74.ru, 0 gorodabakan.cf, 1 gorodabakan.ga, 1 @@ -48151,7 +48123,6 @@ gplans.us, 1 gplclubbd.com, 1 gplintegratedit.com, 1 gpltimes.club, 1 -gplverse.com, 1 gplvilla.com, 1 gpm.ltd, 1 gpodev.gov, 1 @@ -49077,7 +49048,6 @@ guestnetscript.tk, 1 guestofhonor.tk, 1 gueules-cassees.asso.fr, 1 guevener.de, 1 -gueze-sas.fr, 1 gufen.ga, 1 gufen.gq, 1 guffr.it, 1 @@ -49141,7 +49111,6 @@ guinaliu.tk, 1 guineapig101.com, 0 guineapigmustach.es, 1 guinguetteclovis.com, 1 -guisador.com, 1 guise.tk, 1 guitar-strings-online.tk, 1 guitar.bible, 1 @@ -49262,7 +49231,6 @@ guts.me, 1 guts.moe, 1 gutscasino.ml, 1 gutschein-spezialist.de, 1 -gutscheinemagic.de, 1 gutscheineplus.de, 1 gutscheingeiz.de, 1 gutshaus-marketing.de, 1 @@ -50858,6 +50826,7 @@ heartsintrueharmony.com, 1 heartsucker.com, 0 hearttruth.gov, 1 heartview.com.br, 1 +heartwoodart.com, 1 heartwoodrefuge.org, 1 hearty.blog, 1 hearty.edu.pl, 1 @@ -51440,7 +51409,6 @@ hexo.ink, 0 hexo.io, 0 hexobind.com, 1 hexony.com, 1 -hexr.org, 1 hexsafe.io, 1 hexstream.net, 1 hexstream.xyz, 1 @@ -51482,7 +51450,6 @@ hfzlaw.com, 0 hg.gg, 1 hg.python.org, 1 hg0086.la, 0 -hg170.cc, 1 hg661.cc, 1 hg71839.com, 1 hg881.com, 1 @@ -51612,9 +51579,7 @@ higheducation.ml, 1 highenergy.ro, 1 highenergy.tk, 1 higherpress.org, 1 -highfive.jp, 1 highftp.tk, 1 -highgatejoinery.co.uk, 0 highgravityconsulting.com, 1 highheeltamia.com, 1 highintegrity.tk, 1 @@ -51675,7 +51640,6 @@ hilarious.ga, 1 hilaryhutler.com, 1 hilde.link, 1 hildebrand.group, 1 -hilden.ws, 1 hiledge.com, 1 hilfe-bei-krebs-vechta.de, 1 hilinecreators.tk, 1 @@ -51716,6 +51680,7 @@ himiku.com, 1 himlamcorp.vn, 1 himpler.com, 0 hin10.com, 1 +hinaryazan.com, 1 hinata-hidetoshi.com, 1 hindibaba.tk, 1 hindigalaxy.com, 1 @@ -52863,7 +52828,6 @@ hotelsinncoventry.com, 1 hotelsolinebrela.com, 1 hotelsonline.tk, 1 hotelsrit.tk, 1 -hotelv.ru, 0 hotelvalena.com, 1 hotelvisegrad.hu, 1 hotelzapse-aurora.tk, 1 @@ -53946,7 +53910,6 @@ icanseeyou.tk, 1 icap.my, 1 icarlos.net, 1 icas-nsn.gov, 1 -icasnetwork.com, 0 icasture.top, 1 icbemp.gov, 0 icc.kharkov.ua, 1 @@ -53986,6 +53949,7 @@ icesemulator.com, 1 iceshadow.tk, 1 icetiger.eu, 1 icetravellers.com, 0 +icetwister.com, 1 icewoman.net, 1 icewood-bois.com, 1 ich-finde-wikipedia-toll.tk, 1 @@ -54035,6 +53999,7 @@ icon-art.nl, 1 icon-programming.tk, 1 iconintegration.com.au, 1 iconoarte.tk, 1 +iconomi.net, 1 icons4free.tk, 1 iconworld.ml, 1 iconx.ml, 1 @@ -54323,7 +54288,6 @@ igamingnews.com, 1 igamingpocketdirectory.com, 1 igamingsuppliers.com, 1 iganesh.com, 1 -igap.pt, 0 igarage.nl, 0 igdn.de, 1 igeh-immo.at, 1 @@ -54422,7 +54386,6 @@ ihkk.net, 1 ihls.world, 0 ihmphila.org, 1 ihoey.com, 1 -ihollaback.org, 1 ihorizon.jp, 1 ihorvorotnov.com, 1 ihost.md, 1 @@ -54782,7 +54745,6 @@ imexmed.com.gt, 1 imfacademy.com, 1 imforza.com, 1 img.mg, 1 -img.ovh, 1 imgaa.com, 1 imgbb.com, 1 imgbu.com, 1 @@ -54871,7 +54833,6 @@ immunoboost.be, 1 imobile3.com, 1 imobiliare.tk, 1 imobilien.tk, 1 -imoe.ac.cn, 0 imokuri123.com, 1 imolights.com, 1 imolights.net, 1 @@ -54972,7 +54933,6 @@ imprezzor.com, 1 imprimante-3d-store.fr, 1 improfestival.ee, 1 improklinikken.dk, 1 -improv.ee, 1 improvebusinessonline.info, 1 improved-madness.de, 1 improvenerg.com, 1 @@ -55007,7 +54967,6 @@ imyz.tw, 1 in-bachelor.de, 1 in-books.tk, 1 in-crypto.tk, 1 -in-depthgame.reviews, 1 in-depthoutdoors.com, 1 in-flames.com, 1 in-love.tk, 1 @@ -55117,7 +55076,6 @@ indialocaltours.com, 1 indiamistress.tk, 1 indian-elephant.com, 1 indianaberry.com, 1 -indianaffairs.gov, 0 indianafoundationpros.com, 1 indianahealth.tk, 1 indianamoldremediation.com, 1 @@ -55368,7 +55326,6 @@ infocus.company, 1 infocusvr.net, 1 infodesigners.eu, 1 infodesk.at, 1 -infodiscus.com, 0 infoduv.fr, 1 infofamouspeople.com, 1 infofp.tk, 1 @@ -55380,7 +55337,7 @@ infographicsmania.com, 1 infogress.tk, 1 infogrfx.com, 1 infogroups.ml, 1 -infogym.com, 0 +infogym.com, 1 infohas.ma, 1 infohunter.education, 1 infoiinfo.tk, 1 @@ -56265,7 +56222,6 @@ invariant.cn, 1 invariant.me, 1 invasion.com, 1 invasivespeciesinfo.gov, 1 -invasmani.com, 1 invata-ma.ro, 1 invenio.software, 1 inventaire.ch, 0 @@ -56441,7 +56397,6 @@ iowawx.com, 1 iowxy.com, 1 iox.is, 1 ip-addr.es, 1 -ip-address.me, 1 ip-audio.org, 1 ip-hahn.de, 0 ip-life.net, 1 @@ -56531,7 +56486,6 @@ iprim.ru, 1 iproducemusic.com, 1 iproductrepair.com, 1 ips-consult.nl, 1 -ips-ihre-pflege-sachsen.de, 0 ips-sachsen.de, 1 ipschool.spb.ru, 1 ipsecurelink.com, 1 @@ -56611,14 +56565,13 @@ irayo.net, 1 irbe.ch, 1 irbisweb.com, 1 irc-results.com, 1 -ircica.org, 0 +ircica.org, 1 ircmett.de, 1 ircoholik.ml, 1 ircsapiklari.tk, 1 irdll.com, 1 ireaco.com, 1 iready.ro, 1 -ireef.tv, 1 iregister.al, 1 ireiguam.org, 1 ireland.gq, 1 @@ -56673,7 +56626,7 @@ irismq.fr, 1 irisws-development.co.uk, 1 irisws-staging.co.uk, 1 irisws-testing.co.uk, 1 -iritual.ru, 0 +iritual.ru, 1 irkutsk-studygood.ga, 1 irkutsk38.tk, 1 irland-firma.com, 1 @@ -56823,7 +56776,7 @@ isinolsun.com, 1 isinthe.uk, 1 isis.cloud, 1 isiso.com.tr, 1 -isistomie.com, 1 +isistomie.com, 0 isitchristmas.com, 1 isitcoffeetime.com, 1 isitdoneyet.gov, 1 @@ -56892,7 +56845,6 @@ islightdown.today, 1 islikimas.lt, 1 islykaithecutest.cf, 1 islykaithecutest.ml, 1 -ismangadexupyet.com, 1 ismat.com, 1 ismena.bg, 1 isminc.com, 1 @@ -57078,7 +57030,6 @@ italianluxuryinter.ga, 1 italianluxuryinter.gq, 1 italiano-bello.com, 1 italianracingteam.tk, 1 -italianshoemanufacturers.com, 1 italiansrent.com, 1 italiansrit.tk, 1 italiaserie.org, 1 @@ -57155,6 +57106,7 @@ ithakama.cz, 1 ithenrik.com, 1 ithinc.net, 1 ithjalpforetag.se, 1 +ithot.ro, 1 itidying.com, 1 itikon.com, 1 itilo.de, 1 @@ -57229,7 +57181,6 @@ itsanicedoor.co.uk, 1 itsatrap.nl, 0 itsaw.de, 1 itsayardlife.com, 1 -itsblue.de, 1 itsburning.nl, 1 itsch-itsche.com, 1 itsdcdn.com, 1 @@ -57277,7 +57228,6 @@ itvia.eu, 1 itvia.net, 1 itvia.org, 1 itvirtual.tk, 1 -itvpatagonia.com, 1 itweak.tk, 1 itwebentwicklung.de, 1 itwell.cz, 1 @@ -57458,7 +57408,7 @@ j-sheekey.co.uk, 1 j00228.com, 1 j0bs.org, 1 j0e.com, 1 -j0hn.net, 1 +j0hn.net, 0 j0hndball.com, 1 j0m.de, 1 j0s.eu, 1 @@ -57669,7 +57619,6 @@ jaguarlandrover-occasions.be, 1 jahanaisamu.com, 1 jahit.tk, 1 jahner.xyz, 1 -jahofmann.de, 0 jahubar.tk, 1 jaialdi.tk, 1 jaiho-zeetoz1server.ga, 1 @@ -57724,7 +57673,6 @@ jakubarbet.eu, 1 jakubboucek.cz, 1 jakubklimek.com, 1 jakubsindelar.cz, 1 -jakubtopic.cz, 1 jakubvrba.cz, 1 jala.co.jp, 1 jalebiyat.tk, 1 @@ -57944,7 +57892,7 @@ jarsater.com, 0 jas-ac.com, 1 jas-team.net, 1 jasalokal.id, 1 -jasawebbisnis.com, 1 +jasawebbisnis.com, 0 jaschaa.de, 1 jaseng.ga, 1 jashinchan.cn, 1 @@ -57958,7 +57906,6 @@ jasminlive.cam, 1 jasmyn.tk, 1 jasnowidzkajowi.pl, 1 jason-isaacs.tk, 1 -jasonadam.de, 0 jasonamorrow.com, 1 jasonchampagne.fr, 1 jasoncoopermd.com, 1 @@ -58058,7 +58005,7 @@ jaypandit.me, 1 jaypark.gq, 1 jaysaw.me, 1 jayschulman.com, 1 -jayshao.com, 1 +jayshao.com, 0 jayspage.tk, 1 jaytx.com, 1 jayveel.nl, 1 @@ -58088,7 +58035,6 @@ jbc88.cc, 1 jbdesignfoundations.com, 1 jbdillon.com, 1 jbeta.is, 1 -jbfp.dk, 1 jblackweb.com, 1 jblan.org, 1 jbliss.net, 1 @@ -58102,7 +58048,6 @@ jbsinternational.com, 1 jbsoftware.ca, 1 jbt-stl.com, 1 jcadg.com, 1 -jcai.dk, 1 jcaicedo.com, 1 jcaicedo.tk, 1 jcb.com, 1 @@ -58121,7 +58066,6 @@ jci.chat, 1 jci.coach, 1 jci.community, 1 jci.contact, 1 -jci.deals, 1 jci.direct, 1 jci.domains, 1 jci.education, 1 @@ -59299,7 +59243,6 @@ journaliste.tk, 1 journeedesfilles.gc.ca, 1 journeyfriday.rocks, 1 journeying.ca, 1 -journeylens.in, 1 journeyofmymothersson.com, 1 journeytoascension.com, 1 journeytofi.com, 1 @@ -59350,7 +59293,6 @@ jpdineroasi.com, 1 jpeg.io, 1 jpegshare.net, 1 jperformance.nl, 1 -jpgangbang.com, 1 jphost.ml, 1 jpilan.com, 1 jpinfo.tk, 1 @@ -59373,7 +59315,6 @@ jpshop.ru, 1 jpsinflatables.co.uk, 1 jpslconsulting.ca, 1 jpst.it, 1 -jpvermogensregie.com, 1 jqlin.com, 1 jqlsql.com, 1 jquery.wtf, 1 @@ -59757,7 +59698,6 @@ justgayvideo.com, 1 justice-rains-from-above.tk, 1 justice.gov, 1 justiceforjameela.org, 1 -justicemirror.com, 1 justin-p.me, 1 justin-tech.com, 1 justin3d.nl, 1 @@ -59906,23 +59846,17 @@ k805.net, 0 k80608.com, 1 k8082.com, 1 k811.com, 0 -k8111.com, 1 -k81111.com, 1 k811111.com, 0 k81365.com, 1 k8158.com, 0 k82.org, 1 k821.net, 0 -k82222.com, 1 k82222.net, 0 k82365.com, 1 k8268.com, 1 -k8268.net, 1 k83333.com, 0 -k8368.com, 1 k846.com, 1 k85.app, 1 -k851.com, 1 k86.app, 1 k865.net, 0 k86666.com, 0 @@ -60243,7 +60177,7 @@ kalmykia.tk, 1 kalnet.tech, 1 kalohan.tk, 1 kaloix.de, 1 -kalolina.farm, 1 +kalolina.farm, 0 kalombo.ru, 1 kalompaturi.com, 1 kalpavriksh.org, 1 @@ -60569,7 +60503,7 @@ kartonki.tk, 1 kartonmodellbau.org, 1 kartpay.com, 1 kartpower.tk, 1 -karula.org, 1 +karula.org, 0 karupp-did.net, 1 karussell.com.tr, 1 kas.ie, 1 @@ -61555,7 +61489,6 @@ kinderopvangthuis.nl, 1 kinderosteopathie-osteopathie.de, 1 kinderpneumologie.ch, 1 kindertagespflege-rasselbande-halle.de, 1 -kindertherapie-wesel.de, 1 kinderzorg.tk, 1 kindesfreude.ch, 1 kindfotografie.nl, 1 @@ -61961,7 +61894,6 @@ klaxon.ml, 1 kle.cz, 1 klea.tk, 1 kleaning.by, 1 -kleankonshiens.com, 1 klebetape.de, 1 kleebauerhof.com, 1 kleemans.nl, 1 @@ -62372,7 +62304,6 @@ koluke.co, 1 koluke.com, 1 kolyapetrov.tk, 1 kom.pe, 1 -komall.net, 1 komarex.pl, 1 komarh.tk, 1 komehyo.co.jp, 1 @@ -62766,7 +62697,6 @@ krapiva.tk, 1 krasa.tk, 1 krasavchik.by, 1 krasheninin.tech, 1 -krashlab.com.ua, 1 krasivye-foto.ru, 1 kraski.tk, 1 krasnaya-nit.ga, 1 @@ -62843,7 +62773,6 @@ krenstetter.at, 1 kreolis.net, 1 kresimir-blazevic.tk, 1 kreslorotang.com.ua, 1 -krestanskydarek.cz, 1 kretaforum.dk, 1 kretschmann.consulting, 1 kreuzbergflieger.de, 1 @@ -63622,7 +63551,6 @@ laboiteare.fr, 0 laboiteasous.com, 1 laboni.design, 1 labor-augsburg-mvz.de, 1 -laboratoire-mediflor.fr, 1 laboratoriodemarketingb3.com, 1 laboratoriomolina.tk, 1 laborbluesers.ga, 1 @@ -65315,7 +65243,6 @@ lemonparty.co, 1 lemonpool.com.tr, 1 lemonrockbiketours.com, 1 lemonrotools.com, 1 -lemuslimpost.com, 1 lena-klein.de, 1 lena-klein.eu, 1 lena-nitro.org, 1 @@ -65631,7 +65558,6 @@ leuenhagen.com, 1 leukert.org, 1 leukos-laser.com, 1 leulu.com, 1 -leumi-how-to.co.il, 1 leusemiamusic.tk, 1 leuthardtfamily.com, 1 leuvensefilmclub.tk, 1 @@ -65882,7 +65808,6 @@ librervac.org, 1 libresoft.ml, 1 libressobooks.sk, 1 libretech.de, 1 -libricks.fr, 1 librisulibri.it, 1 libroautomotriz.com, 1 librofilia.com, 1 @@ -66038,7 +65963,6 @@ lifeseatsers.ga, 1 lifeseatsest.ga, 1 lifeset.pp.ua, 1 lifesettlements.com, 1 -lifesharing.gr, 1 lifeskills-education.co.uk, 0 lifeslice.online, 1 lifeslonglist.com, 1 @@ -67556,7 +67480,6 @@ lordschimney.com, 1 lordsesshoumaru.tk, 1 lordshaokahn.tk, 1 lordskate.tk, 1 -lordtracking.com, 1 lordusa.com, 1 lordusers.com, 1 lore.azurewebsites.net, 1 @@ -68358,7 +68281,6 @@ lvcshu.com, 1 lvee.org, 1 lvfc.co, 1 lvftw.com, 1 -lvguitars.com, 1 lvmoo.com, 1 lvna.capital, 1 lvnacapital.com, 1 @@ -68656,7 +68578,6 @@ maddin.ga, 1 maddistonevangelical.co.uk, 1 maddreefer.com, 1 made-dwell.com, 1 -made-in-auto.com, 1 made-in-earth.co.jp, 1 made-to-usb.com, 1 made.md, 1 @@ -69338,6 +69259,7 @@ mamodsteam.tk, 1 mamohe.de, 1 mamoni.co, 1 mamontov.tk, 1 +mamoris-net.jp, 1 mamospienas.lt, 1 mamot.fr, 1 mamradost.sk, 1 @@ -70091,6 +70013,7 @@ martincornelissen.tk, 1 martindales.ltd.uk, 1 martindano.com, 1 martindoe.pl, 1 +martine.nu, 1 martinebot.com, 1 martinelias.cz, 1 martineric.tk, 1 @@ -70333,7 +70256,7 @@ maszdobro.pl, 1 mat-berenbostel.de, 1 mat-ras.com, 1 mat.com.vn, 1 -mat.tt, 0 +mat.tt, 1 mat99.dk, 1 mata-i-nautisme.fr, 1 matafonov.tk, 1 @@ -71029,7 +70952,6 @@ meanevo.com, 1 meaningfulaction.org, 1 meanit.ie, 1 meany.xyz, 1 -meap.xyz, 1 meapbot.com, 1 meapbot.net, 1 meapbot.org, 1 @@ -71733,6 +71655,7 @@ mehrgarh.tk, 1 mehrleben.at, 1 mehrnevesht.com, 1 mehrwert.de, 1 +meia.ir, 1 meideas108.com, 1 meidev.co, 1 meier-stracke.de, 1 @@ -71909,7 +71832,6 @@ memepasmal.org, 1 memetrash.co.uk, 1 memind.net, 1 memiux.com, 1 -memo-linux.com, 1 memo.ee, 1 memoire-resistance-ariege.fr, 1 memoirmedie.dk, 1 @@ -72133,7 +72055,6 @@ merryxmas2015.tk, 1 merson.org, 1 merson.tv, 1 mertak.cz, 1 -mertarauh.com, 1 mertcangokgoz.com, 1 meruri.com, 1 mervart.co.uk, 1 @@ -72633,6 +72554,7 @@ micredito-ok.com, 1 micro-credit.tk, 1 microbiologist.tk, 1 microbiota-insect-vectors.group, 1 +microbiote-insectes-vecteurs.group, 1 microbird.club, 1 microblading.pe, 1 microcert.cn, 1 @@ -73411,6 +73333,7 @@ mit-uns.org, 1 mit.gg, 0 mita-beutel.tk, 1 mita.me, 1 +mitarbeiter-pc.de, 1 mitarbeiterbefragungen.com, 1 mitarbeitermotivation-anleitungen.de, 1 mitchell.id, 1 @@ -73846,7 +73769,6 @@ mobizat.com, 1 mobizma.com, 1 moblkar.com, 1 mobmp4.info, 1 -mobobe.com, 1 mobolight.ml, 1 mobot.sg, 1 mobsitin.tk, 1 @@ -75768,7 +75690,6 @@ mybuddycare.com, 1 mybuddytheplumber.com, 1 mybuildingcertifier.com.au, 1 mycaelis.fr, 1 -mycakeangel.co.za, 1 mycam.gq, 1 mycamshowhub.com, 1 mycamshowhub.to, 1 @@ -76565,7 +76486,6 @@ nadomna-rabota.tk, 1 nadoske.info, 1 nadsandgams.com, 1 naduvilathu.tk, 1 -nadyaolcer.fr, 1 naehkurshamburg.de, 1 naemnuk.tk, 1 nafod.net, 1 @@ -77896,7 +77816,6 @@ neveraquemola.ml, 1 neverendingrejection.tk, 1 nevergirl.tk, 1 nevergreen.io, 1 -neverguess.ca, 1 neverhood-tv.tk, 1 nevermore.fi, 1 neverwasinparis.com, 1 @@ -79378,7 +79297,6 @@ notificami.com, 1 notifyed.com, 1 notigatos.es, 1 notilus.fr, 1 -notilus.it, 1 notime.tk, 1 notinglife.com, 1 notisec.hu, 1 @@ -79470,7 +79388,6 @@ novichok.ml, 1 novickoe.ml, 1 novilaw.com, 1 novilidery.com, 1 -novinivo.com, 1 novinkihd.tk, 1 novobi.com, 1 novobudowa.pl, 1 @@ -79919,6 +79836,7 @@ nydig.com, 0 nydnxs.com, 0 nyecountynv.gov, 1 nyerjachioval.hu, 1 +nyerjakekszekkel.hu, 1 nyerjazoreoval.hu, 1 nyerjenaheraval.hu, 1 nyfurnitureoutlets.com, 1 @@ -81708,7 +81626,6 @@ orchideenettoyage.com, 1 orchidhouse.sk, 0 orchidlive.com, 1 orchids.ua, 1 -orchidsforum.com, 1 orcomsilver.tk, 1 orcsnet.com, 1 orcz.cz, 1 @@ -82172,6 +82089,7 @@ outbound.tk, 1 outbreak.games, 1 outdoorfurniture.ie, 1 outdoorgearlab.com, 1 +outdoorhaber.com, 1 outdoorimagingportal.com, 1 outdoorlearningmap.com, 1 outdoorlightingagoura.com, 1 @@ -83016,7 +82934,6 @@ paradigmshift.com.pk, 1 paradiscapacitados.site, 1 paradise-engineer.com, 1 paradise-engineering.com, 1 -paradise-engineers.com, 1 paradise-travel.net, 1 paradise-world.ml, 1 paradiselost.com, 0 @@ -85384,7 +85301,6 @@ pirateproxy.id, 1 pirateproxy.ltda, 1 pirateproxy.name, 1 pirateproxy.onl, 1 -pirateproxy.sh, 1 pirateproxy.tube, 1 pirateproxy.tv, 1 pirateproxy.uno, 1 @@ -86727,7 +86643,6 @@ portalexpressservices.com, 1 portalm.tk, 1 portalmundo.xyz, 1 portalpandalandia.tk, 1 -portalveneza.com.br, 1 portalz.xyz, 1 portamiinpista.it, 0 portatilea.com, 1 @@ -86817,6 +86732,7 @@ postal.dk, 1 postal3.es, 1 postandfly.com, 1 postat.com, 1 +postawnasiebie.pl, 1 postback.io, 0 postblue.info, 1 postbox.life, 1 @@ -88644,6 +88560,7 @@ puntacananetwork.com, 1 puntacanavapor.com, 1 puntaprop.com, 1 puntcunts.com, 1 +punte-juwelier.nl, 0 puntocroce.tk, 1 puntoestadodemexico.com, 1 puntogommevenegono.it, 1 @@ -89324,7 +89241,6 @@ quetiapine.life, 1 quetico.tk, 1 queup.net, 1 quevisiongrafica.com, 1 -quezmedia.com, 1 quezoncity.ml, 1 quhyu.xyz, 1 quible.tk, 1 @@ -89400,7 +89316,7 @@ quintobarrio.tk, 1 quiq-cdn.com, 1 quiq-uri.com, 1 quiq-url.com, 1 -quiq.com, 0 +quiq.com, 1 quiq.im, 1 quiq.sh, 1 quiq.us, 1 @@ -89974,7 +89890,6 @@ raitza.de, 1 rajaealhoceima.tk, 1 rajafashion.tk, 1 rajasatour.id, 1 -rajasthanwellnessclinic.com, 1 rajeen.tk, 1 rajeshkochhar.com, 1 rajivdeepinsights.com, 1 @@ -90129,7 +90044,6 @@ rankingide.tk, 1 rankingofe.com.pl, 1 rankingubezpieczeniowy.pl, 1 rankingubezpieczennazycie.pl, 1 -ranklocalsearch.com, 1 rankpower.com, 1 ranksite.cf, 1 ranksite.ga, 1 @@ -90240,7 +90154,6 @@ rathgeb.org, 1 rathorian.fr, 1 ratinq.co, 1 ratiocinat.ga, 1 -rationalbi.com, 1 rationalcreation.com, 1 rationalism.com, 1 rationalops.com, 1 @@ -90286,7 +90199,6 @@ ravihotel.com, 0 ravijuhend.ee, 1 ravik.tk, 1 ravimiamet.ee, 1 -ravindran.me, 1 raviparekh.co.uk, 1 ravis.org, 1 ravkr.duckdns.org, 1 @@ -90830,6 +90742,7 @@ reddyai.com, 1 rede-reim.de, 1 rede-t.com, 1 redearsliderturtles.com, 1 +redecsirt.pt, 1 redeemingbeautyminerals.com, 1 redefineyounow.com, 1 redelectrical.co.uk, 0 @@ -94827,6 +94740,7 @@ satellite-shop.tk, 1 satellite-top.com, 1 satellites.hopto.me, 1 satellitetelevision.tk, 1 +satellitetv-deal.com, 1 satellitetv.tk, 1 satena.com, 1 satheeshsbennet.tk, 1 @@ -94854,7 +94768,7 @@ sattaresult.in, 1 sattaresult.net, 1 saturdayenterprises.ga, 1 saturne.tk, 1 -saturuang.id, 1 +saturuang.id, 0 satyamshivamsundaram.in, 1 sauber.dk, 1 saubooks.tk, 1 @@ -95677,7 +95591,6 @@ sea-airinternational.tk, 1 sea-godzilla.com, 1 sea-man.org, 1 sea.zapto.org, 1 -seabehind.me, 1 seabooty.com, 1 seabrooklocksmith.com, 1 seachef.it, 1 @@ -95786,7 +95699,6 @@ sebastianjaworecki.tk, 1 sebastiantroncoso.tk, 1 sebastianungureanu.com, 1 sebastiaperis.com, 1 -sebastien-meric.com, 1 sebasveeke.nl, 1 sebba.tk, 1 sebeobrana.ml, 1 @@ -96403,7 +96315,6 @@ seoified.com, 1 seojaguar.tk, 1 seokaos.com, 0 seokatka.tk, 1 -seolabuitest.azurewebsites.net, 1 seolib.org, 1 seoline.cf, 1 seolister.cf, 1 @@ -96898,7 +96809,6 @@ sh4y.cn, 1 sh4y.com, 1 sh68.cc, 0 sha.bi, 1 -sha2017.org, 1 sha512.online, 1 shaadithailand.com, 1 shabashka.ml, 1 @@ -97060,6 +96970,7 @@ sharefox.nl, 1 sharegate.tk, 1 sharekey.com, 0 sharelinks.tk, 1 +sharelovenotsecrets.com, 1 sharemania.tk, 1 sharemessage.net, 1 sharenergy.com.br, 1 @@ -97752,7 +97663,6 @@ showslivki.tk, 1 showslot.com, 1 showsonar.com, 1 shoyuf.top, 1 -shpargalka.work, 1 shpil.by, 1 shpilevsky.name, 1 shpiliak.com, 1 @@ -98508,7 +98418,6 @@ sinuelovirtual.com.br, 1 sinusbot.online, 1 sinusitis-bronchitis.ch, 1 sinusitisexplained.com, 1 -sinvid.co, 1 sinvideovault.com, 1 sioeckes.hu, 1 siogyumolcs.hu, 1 @@ -99506,6 +99415,7 @@ smusg.com, 0 smutek.net, 1 smvcm.com, 1 smx.net.br, 1 +smxconventioncenter.com, 1 smyleo.com, 1 smys.uk, 1 sn0int.com, 1 @@ -100260,7 +100170,7 @@ sopronforras.tk, 1 sopsop.tk, 1 soquee.net, 1 sorabi.jp, 1 -soraharu.com, 1 +soraharu.com, 0 soraiaschneider.com.br, 1 sorakumo.jp, 1 sorbire.com, 1 @@ -101202,7 +101112,6 @@ sqmin.tk, 1 sqprod.co, 1 sqr-training.com, 1 sqreemtech.com, 1 -sqroot.eu, 1 sqsd.xyz, 1 sqshq.de, 1 squad.fr, 1 @@ -102141,14 +102050,12 @@ steviate.de, 1 stevie-ray.me, 1 stewards.tk, 1 stewart.tk, 1 -stewartswines.com, 1 stewonet.nl, 1 stewpolley.com, 1 steyaert.be, 0 stfrancisnaugatuck.org, 1 stfw.info, 1 stg-0-con.com, 1 -stgabrielavondalepa.org, 1 stgabrielstowepa.org, 1 stgen.com, 1 stgeorgegolfing.com, 1 @@ -102757,7 +102664,6 @@ strydom.me.uk, 1 stsen.de, 1 stsolarenerji.com, 1 ststanislaus.com, 1 -stt.wiki, 1 sttammanyurology.com, 1 stthomasbrigantine.org, 1 sttl-topographie.com, 1 @@ -103173,7 +103079,6 @@ sulkmen.tk, 1 sullivancountypa.gov, 1 sulman4paf.tk, 1 sulphurspringsar.gov, 1 -sultangroup.ru, 1 sultans.tk, 1 sulytics-tool.com, 1 sum1.tk, 1 @@ -103357,6 +103262,7 @@ sunsunjewelry.com, 1 sunsunjewelry.net, 1 sunsunjewelry.org, 1 suntzuparadirectivos.com, 1 +sunwahpanama.com, 1 sunwei-proxy.tk, 1 sunwolf.studio, 1 sunyanzi.cf, 1 @@ -103740,6 +103646,7 @@ svetandroida.cz, 1 svetapublic.com, 1 svetila.com, 1 svetlanamamedova.tk, 1 +svetlilo.com, 1 svetlograd.tk, 1 svetoch.ga, 1 svetoch.tk, 1 @@ -103844,7 +103751,6 @@ sweethearts.tk, 1 sweethomesnohomishrenovations.com, 1 sweethorses.tk, 1 sweetintrigue.tk, 1 -sweetlabelbakeshop.com, 1 sweetlegs.jp, 1 sweetlycakes.com, 0 sweetologist.co, 1 @@ -104403,7 +104309,7 @@ tadalafilindia.gq, 1 taddiestales.com, 1 tadinfos.fr, 1 tadiranbatteries.de, 0 -tadj-mahalat.com, 1 +tadj-mahalat.com, 0 tadjiki.tk, 1 tadjikistan.tk, 1 tadluedtke.com, 1 @@ -105583,7 +105489,6 @@ teemulintula.fi, 1 teen-club.tk, 1 teen-porno-video.ru, 1 teengamer.tk, 1 -teenkid.ru, 1 teenmissions.org, 1 teenmoviesgallery.ga, 1 teenpussypornvid.com, 1 @@ -107658,7 +107563,6 @@ thvideo.tv, 1 thw-bernburg.de, 1 thw-jugend-muenchen-west.de, 1 thwebdesigns.com, 1 -thwiki.cc, 1 thxandbye.de, 1 thycotic.ru, 1 thynx.io, 1 @@ -108106,7 +108010,6 @@ tirandoalplato.tk, 1 tiraspol.tk, 1 tircentrale.net, 0 tirebichon.eu, 1 -tires4car.com, 1 tirgul-vertiujeni.tk, 1 tirinfo.com, 1 tirion.network, 0 @@ -109131,7 +109034,7 @@ toughcodes.com, 1 toughvps.com, 1 touhidur.tk, 1 touhidur.xyz, 1 -touhou.ac.cn, 1 +touhou.ac.cn, 0 touhou.cc, 1 touhou.fm, 1 touhou.tw, 1 @@ -110718,7 +110621,6 @@ turtles.ga, 1 turtunis.ml, 1 turul.tk, 1 turunculevye.com, 1 -turysochi.com, 1 tus-kikishinkyo.jp, 1 tusar.ga, 1 tusatonline.com, 1 @@ -110954,7 +110856,6 @@ twotube.ie, 1 twowayradiodays.com, 1 twtr.email, 1 twtremind.com, 1 -twun.io, 1 twwd.de, 1 tx299.com, 1 tx577.com, 1 @@ -111361,7 +111262,6 @@ uinvest.ml, 1 uinvest.tk, 1 uiop.link, 1 uiterwijk.org, 1 -uitgeverij-deviant.nl, 1 uitingent.be, 1 uitliefde.shop, 1 uitvaartvrouwenfriesland.nl, 1 @@ -111653,7 +111553,6 @@ unfabulous.tk, 1 unfallrechtler.de, 1 unfamousrecords.tk, 1 unfathomable.blue, 1 -unfc.nl, 1 unferno.tech, 1 unfettered.net, 0 unfixed-soul.tk, 1 @@ -111978,7 +111877,6 @@ unworthy.ml, 1 unx.dk, 1 unxicdellum.cat, 1 uoe.com, 1 -uofucop.com, 1 uopeople.review, 1 up-obmen.ml, 1 up-stage.jp, 1 @@ -112161,7 +112059,6 @@ urbanon.cz, 1 urbanpiraten.tk, 1 urbanpromisetrenton.org, 1 urbansoundwave.tk, 1 -urbansparrow.in, 1 urbanstylestaging.com, 1 urbansurvival.com, 1 urbantecno.com, 0 @@ -113389,7 +113286,6 @@ vergraal.tk, 1 verhaltenstherapie-weiden.de, 1 verhaslaw.com, 1 verhovs.ky, 0 -veri2.com, 0 verifalia.com, 1 verified.eu, 1 verifiedjoseph.com, 1 @@ -113580,7 +113476,6 @@ vgatest.nl, 1 vgbf.tk, 1 vgchat.us, 1 vgcheat.com, 1 -vgeek.guru, 1 vgerak.com, 1 vglist.co, 1 vgolos.zt.ua, 1 @@ -113591,7 +113486,6 @@ vgropp.de, 1 vgywm.com, 1 vhasurvey.org, 1 vhelio.org, 1 -vhltec.com, 1 vhproductions.tk, 1 vhummel.nl, 1 vhumo.com, 1 @@ -113992,6 +113886,7 @@ vim.cx, 1 vim.ge, 1 vima.ch, 0 vimar.com, 1 +vimeo.com, 1 vimeosucks.nyc, 1 vimium.com, 1 vimka.gq, 1 @@ -114515,7 +114410,6 @@ vlaggen-landen.nl, 1 vlajo.org, 1 vlakem.net, 1 vlance.gq, 1 -vlaser.es, 1 vlasov.ml, 1 vlasova-sova.ml, 1 vlcentre.org, 1 @@ -115045,7 +114939,6 @@ vtc-bordeaux-gironde.fr, 1 vtipe-vylez.cz, 0 vtivision.com, 1 vtklan.tk, 1 -vtoray.tk, 1 vtoroy-kanal.ga, 1 vttnordisere.fr, 1 vtuber-schedule.info, 1 @@ -115085,7 +114978,6 @@ vuoto.fi, 1 vutrox.com, 1 vutruso.com, 1 vutumusic.com, 1 -vuvanhon.com, 1 vux.li, 1 vuzi.fr, 1 vv1234.cn, 1 @@ -116750,7 +116642,6 @@ wetpussylipsex.com, 1 wetravel.company, 1 wetrepublic.com, 1 wettbuero.com, 1 -wette.de, 1 wetter.de, 1 wetthost.com, 1 wetumpkaal.gov, 1 @@ -118284,6 +118175,7 @@ wouterslop.nl, 1 woutervdb.com, 1 woutfeys.be, 1 woutiscoding.be, 1 +wovietv.com, 1 wow-dsg.ch, 1 wow-foederation.de, 1 wow-screenshots.net, 1 @@ -118796,7 +118688,6 @@ x59988.com, 1 x6.nl, 1 x64architecture.com, 1 x6729.co, 1 -x69.biz, 1 x6957.co, 1 x7008.com, 0 x7713.com, 1 @@ -119015,7 +118906,6 @@ xd.gov, 1 xdawn.cn, 1 xdb.be, 0 xdcs.me, 1 -xdeftor.com, 1 xdesigns.biz, 1 xdos.io, 1 xdtag.com, 1 @@ -119465,7 +119355,6 @@ xn--98jm6m.jp, 1 xn--9wy4jw3llnh.com, 1 xn--9wy84dkz4a.love, 1 xn--9xa.fun, 1 -xn--agncia-4ua.cat, 1 xn--alcaiz-zwa.tk, 1 xn--allgu-biker-o8a.de, 1 xn--anyd-7na.at, 1 @@ -119854,6 +119743,7 @@ xsolla.com, 1 xss.sk, 1 xssi.uk, 1 xsstime.nl, 1 +xsteam.eu, 1 xstreamable.com, 1 xsuper.net, 1 xsv.cn, 1 @@ -120262,7 +120152,6 @@ yan.lt, 1 yan.net.cn, 1 yanaduday.com, 1 yananikitina.site, 1 -yanbao.xyz, 1 yande.re, 1 yandong.tk, 1 yangcs.net, 0 @@ -120565,7 +120454,6 @@ yhanthydech.com, 0 yhaupenthal.org, 1 yhe.me, 1 yhenke.de, 0 -yhfou.com, 1 yhhvi.cf, 1 yhn.sh, 1 yhndnzj.com, 1 @@ -121656,7 +121544,6 @@ zapaska.tk, 1 zapier.com, 1 zaplano.tk, 1 zapmaster14.com, 1 -zapmystore.com, 1 zappbuildapps.com, 0 zappingarahal.tk, 1 zappingcuraduria.tk, 1 diff --git a/services/settings/dumps/main/search-config.json b/services/settings/dumps/main/search-config.json index b820ac0fcd01e..1ba0c74149d13 100644 --- a/services/settings/dumps/main/search-config.json +++ b/services/settings/dumps/main/search-config.json @@ -1704,26 +1704,6 @@ "id": "1960ccff-4aab-48cd-9bf5-0eb2adde76f9", "last_modified": 1613587855073 }, - { - "schema": 1613395973788, - "appliesTo": [ - { - "included": { - "locales": { - "matches": [ - "pl", - "szl" - ] - } - } - } - ], - "webExtension": { - "id": "pwn-pl@search.mozilla.org" - }, - "id": "2ca17e29-ed08-4218-99f6-0615c8bc5c67", - "last_modified": 1613587855070 - }, { "schema": 1613395970632, "appliesTo": [ @@ -2373,64 +2353,6 @@ "id": "8551c432-c68d-4934-836e-98513ae4b4a5", "last_modified": 1586375636481 }, - { - "schema": 1586273291150, - "appliesTo": [ - { - "included": { - "locales": { - "matches": [ - "ja-JP-macos", - "ja" - ] - } - } - } - ], - "webExtension": { - "id": "oshiete-goo@search.mozilla.org" - }, - "id": "daa695d9-3f38-494b-81f1-1f601bbe5163", - "last_modified": 1586375636478 - }, - { - "schema": 1582890770937, - "appliesTo": [ - { - "included": { - "locales": { - "matches": [ - "sv-SE" - ] - } - } - } - ], - "webExtension": { - "id": "allaannonser-sv-SE@search.mozilla.org" - }, - "id": "69a82554-c9b4-4c84-98c7-80f86fa7174a", - "last_modified": 1583937832369 - }, - { - "schema": 1582890772625, - "appliesTo": [ - { - "included": { - "locales": { - "matches": [ - "sk" - ] - } - } - } - ], - "webExtension": { - "id": "atlas-sk@search.mozilla.org" - }, - "id": "6cebcf52-2cfa-4da2-ae4d-2c845ebdbc0b", - "last_modified": 1583937832365 - }, { "schema": 1582890773480, "appliesTo": [ @@ -2450,44 +2372,6 @@ "id": "c1a6845f-015e-4e67-bc64-6e39a843643f", "last_modified": 1583937832363 }, - { - "schema": 1582890774347, - "appliesTo": [ - { - "included": { - "locales": { - "matches": [ - "sk" - ] - } - } - } - ], - "webExtension": { - "id": "azet-sk@search.mozilla.org" - }, - "id": "3c632ae9-f758-43b5-9d06-b9c1b6bc7105", - "last_modified": 1583937832361 - }, - { - "schema": 1582890775198, - "appliesTo": [ - { - "included": { - "locales": { - "matches": [ - "gd" - ] - } - } - } - ], - "webExtension": { - "id": "bbc-alba@search.mozilla.org" - }, - "id": "4ab14cdb-35ea-42dc-8500-110eb3088b89", - "last_modified": 1583937832358 - }, { "schema": 1582890776067, "appliesTo": [ @@ -2508,44 +2392,6 @@ "id": "64ce88a6-fd55-48d1-85a9-724c753f5721", "last_modified": 1583937832356 }, - { - "schema": 1582890776913, - "appliesTo": [ - { - "included": { - "locales": { - "matches": [ - "fy-NL" - ] - } - }, - "webExtension": { - "locales": [ - "fy-NL" - ] - } - }, - { - "included": { - "locales": { - "matches": [ - "nl" - ] - } - }, - "webExtension": { - "locales": [ - "nl" - ] - } - } - ], - "webExtension": { - "id": "bolcom@search.mozilla.org" - }, - "id": "3d0ab163-0808-4be0-b479-0900dcdc8e35", - "last_modified": 1583937832354 - }, { "schema": 1582890777775, "appliesTo": [ @@ -2565,25 +2411,6 @@ "id": "d908d622-0387-4d36-8098-1a9e32c0c697", "last_modified": 1583937832352 }, - { - "schema": 1582890778608, - "appliesTo": [ - { - "included": { - "locales": { - "matches": [ - "en-GB" - ] - } - } - } - ], - "webExtension": { - "id": "chambers-en-GB@search.mozilla.org" - }, - "id": "270000f0-8527-4f98-aa17-879820209f68", - "last_modified": 1583937832350 - }, { "schema": 1582890779439, "appliesTo": [ @@ -2622,47 +2449,6 @@ "id": "0cdc44be-173a-4ca8-96e3-43e3000da75d", "last_modified": 1583937832346 }, - { - "schema": 1582890781123, - "appliesTo": [ - { - "included": { - "locales": { - "matches": [ - "ca", - "ca-valencia" - ] - } - } - } - ], - "webExtension": { - "id": "diec2@search.mozilla.org" - }, - "id": "055103b9-1f4a-43d0-9b99-5b8d7209b022", - "last_modified": 1583937832343 - }, - { - "schema": 1582890781968, - "appliesTo": [ - { - "included": { - "locales": { - "matches": [ - "es-AR", - "es-CL", - "es-ES" - ] - } - } - } - ], - "webExtension": { - "id": "drae@search.mozilla.org" - }, - "id": "3d27c51f-83d4-43be-af84-4d7a51c5a8e4", - "last_modified": 1583937832341 - }, { "schema": 1582890782823, "appliesTo": [ @@ -2682,25 +2468,6 @@ "id": "1fc1b257-3e6b-4cfb-a323-64c1429bcf51", "last_modified": 1583937832339 }, - { - "schema": 1582890783661, - "appliesTo": [ - { - "included": { - "locales": { - "matches": [ - "et" - ] - } - } - } - ], - "webExtension": { - "id": "eki-ee@search.mozilla.org" - }, - "id": "63b74323-1d14-4989-921f-7cc32bfee072", - "last_modified": 1583937832336 - }, { "schema": 1582890784534, "appliesTo": [ @@ -2739,44 +2506,6 @@ "id": "6491a2b8-c487-4798-a817-a0fd08b40ee2", "last_modified": 1583937832332 }, - { - "schema": 1582890786256, - "appliesTo": [ - { - "included": { - "locales": { - "matches": [ - "kk" - ] - } - } - } - ], - "webExtension": { - "id": "flip@search.mozilla.org" - }, - "id": "d045762c-52ac-4c16-8ca3-072aecea83da", - "last_modified": 1583937832330 - }, - { - "schema": 1582890787108, - "appliesTo": [ - { - "included": { - "locales": { - "matches": [ - "br" - ] - } - } - } - ], - "webExtension": { - "id": "freelang@search.mozilla.org" - }, - "id": "ed6a0f8c-e496-4d9c-936c-b906892e3d23", - "last_modified": 1583937832327 - }, { "schema": 1582890787961, "appliesTo": [ @@ -2797,63 +2526,6 @@ "id": "f458e78b-9128-4027-b344-538f5661c148", "last_modified": 1583937832325 }, - { - "schema": 1582890788795, - "appliesTo": [ - { - "included": { - "locales": { - "matches": [ - "cs" - ] - } - } - } - ], - "webExtension": { - "id": "heureka-cz@search.mozilla.org" - }, - "id": "b9a718b5-fc78-40b8-b1c3-2e15d2009f5c", - "last_modified": 1583937832323 - }, - { - "schema": 1582890789635, - "appliesTo": [ - { - "included": { - "locales": { - "matches": [ - "uk" - ] - } - } - } - ], - "webExtension": { - "id": "hotline-ua@search.mozilla.org" - }, - "id": "da2ec2d3-6c5c-4191-b428-351fbea8aeba", - "last_modified": 1583937832321 - }, - { - "schema": 1582890790469, - "appliesTo": [ - { - "included": { - "locales": { - "matches": [ - "kn" - ] - } - } - } - ], - "webExtension": { - "id": "kannadastore@search.mozilla.org" - }, - "id": "ae1cfae5-0516-41c0-99af-fd3d92a77aa8", - "last_modified": 1583937832318 - }, { "schema": 1582890791315, "appliesTo": [ @@ -2876,25 +2548,6 @@ "id": "03d60939-2c92-45b0-874f-11c8e6d0c2b9", "last_modified": 1583937832316 }, - { - "schema": 1582890792162, - "appliesTo": [ - { - "included": { - "locales": { - "matches": [ - "hy-AM" - ] - } - } - } - ], - "webExtension": { - "id": "list-am@search.mozilla.org" - }, - "id": "206db966-db1f-492d-9ab0-71b3e12b434e", - "last_modified": 1583937832313 - }, { "schema": 1582890793008, "appliesTo": [ @@ -2933,44 +2586,6 @@ "id": "9a404348-0998-42c4-9d87-45ef47672c95", "last_modified": 1583937832306 }, - { - "schema": 1582890795553, - "appliesTo": [ - { - "included": { - "locales": { - "matches": [ - "fy-NL" - ] - } - }, - "webExtension": { - "locales": [ - "fy-NL" - ] - } - }, - { - "included": { - "locales": { - "matches": [ - "nl" - ] - } - }, - "webExtension": { - "locales": [ - "nl" - ] - } - } - ], - "webExtension": { - "id": "marktplaats@search.mozilla.org" - }, - "id": "7823cbee-e13e-4de6-8cf1-86e9234f06ae", - "last_modified": 1583937832304 - }, { "schema": 1582890796393, "appliesTo": [ @@ -3042,44 +2657,6 @@ "id": "53bf6974-0e60-4551-994f-2d5176a5d1c6", "last_modified": 1583937832300 }, - { - "schema": 1582890798070, - "appliesTo": [ - { - "included": { - "locales": { - "matches": [ - "he" - ] - } - } - } - ], - "webExtension": { - "id": "morfix-dic@search.mozilla.org" - }, - "id": "3d05b67d-ef69-4abf-82ab-c943a7e3eff3", - "last_modified": 1583937832298 - }, - { - "schema": 1582890798901, - "appliesTo": [ - { - "included": { - "locales": { - "matches": [ - "sl" - ] - } - } - } - ], - "webExtension": { - "id": "najdi-si@search.mozilla.org" - }, - "id": "dd8dcdda-7da8-46db-823b-d33fb1da63f8", - "last_modified": 1583937832295 - }, { "schema": 1582890799757, "appliesTo": [ @@ -3099,25 +2676,6 @@ "id": "4135dc8f-f0bf-475b-b39f-74c4256572af", "last_modified": 1583937832292 }, - { - "schema": 1582890800610, - "appliesTo": [ - { - "included": { - "locales": { - "matches": [ - "et" - ] - } - } - } - ], - "webExtension": { - "id": "neti-ee@search.mozilla.org" - }, - "id": "2260d56e-d47c-435e-9cb8-9c7c67e8df7c", - "last_modified": 1583937832289 - }, { "schema": 1582890801444, "appliesTo": [ @@ -3137,82 +2695,6 @@ "id": "fa42b23a-30c5-46f3-8997-4a84029b5349", "last_modified": 1583937832287 }, - { - "schema": 1582890802297, - "appliesTo": [ - { - "included": { - "locales": { - "matches": [ - "bs" - ] - } - } - } - ], - "webExtension": { - "id": "olx@search.mozilla.org" - }, - "id": "af72d7ef-4255-4362-b328-703aea68ee7e", - "last_modified": 1583937832283 - }, - { - "schema": 1582890803993, - "appliesTo": [ - { - "included": { - "locales": { - "matches": [ - "et" - ] - } - } - } - ], - "webExtension": { - "id": "osta-ee@search.mozilla.org" - }, - "id": "af16e0da-1bcf-4769-b9bb-e43a94bfac75", - "last_modified": 1583937832276 - }, - { - "schema": 1582890804842, - "appliesTo": [ - { - "included": { - "locales": { - "matches": [ - "ru" - ] - } - } - } - ], - "webExtension": { - "id": "ozonru@search.mozilla.org" - }, - "id": "f62fc00c-2e87-4e95-aa11-0db075cd5741", - "last_modified": 1583937832272 - }, - { - "schema": 1582890805689, - "appliesTo": [ - { - "included": { - "locales": { - "matches": [ - "cy" - ] - } - } - } - ], - "webExtension": { - "id": "palasprint@search.mozilla.org" - }, - "id": "656d9e4e-74d5-4eee-bee3-519b4d9bfd37", - "last_modified": 1583937832269 - }, { "schema": 1582890806533, "appliesTo": [ @@ -3232,25 +2714,6 @@ "id": "acc27094-9f0a-49af-868b-8b6ecbbda976", "last_modified": 1583937832267 }, - { - "schema": 1582890807390, - "appliesTo": [ - { - "included": { - "locales": { - "matches": [ - "sr" - ] - } - } - } - ], - "webExtension": { - "id": "pogodak@search.mozilla.org" - }, - "id": "3bb87247-c36b-4606-a0d6-92b14eaeba86", - "last_modified": 1583937832264 - }, { "schema": 1582890808245, "appliesTo": [ @@ -3270,25 +2733,6 @@ "id": "a3f1a5b6-cd8d-41b3-bb2b-de6bb1943a3d", "last_modified": 1583937832261 }, - { - "schema": 1582890809085, - "appliesTo": [ - { - "included": { - "locales": { - "matches": [ - "ru" - ] - } - } - } - ], - "webExtension": { - "id": "priceru@search.mozilla.org" - }, - "id": "de771801-5bca-436c-be56-f882897c46f2", - "last_modified": 1583937832259 - }, { "schema": 1582890809928, "appliesTo": [ @@ -3308,26 +2752,6 @@ "id": "8a7de784-efa5-428f-9193-a0d3368b80d4", "last_modified": 1583937832257 }, - { - "schema": 1582890812485, - "appliesTo": [ - { - "included": { - "locales": { - "matches": [ - "nb-NO", - "nn-NO" - ] - } - } - } - ], - "webExtension": { - "id": "qxl-NO@search.mozilla.org" - }, - "id": "e54d56d1-defb-4e34-b85e-9814cb7797c2", - "last_modified": 1583937832249 - }, { "schema": 1582890814195, "appliesTo": [ @@ -3367,45 +2791,6 @@ "id": "e7dcde21-5b5e-4406-b602-0611130fd3a6", "last_modified": 1583937832242 }, - { - "schema": 1582890816739, - "appliesTo": [ - { - "included": { - "locales": { - "matches": [ - "ltg", - "lv" - ] - } - } - } - ], - "webExtension": { - "id": "sslv@search.mozilla.org" - }, - "id": "74f2f615-8d17-4133-82c1-18d03643c383", - "last_modified": 1583937832237 - }, - { - "schema": 1582890817589, - "appliesTo": [ - { - "included": { - "locales": { - "matches": [ - "ga-IE" - ] - } - } - } - ], - "webExtension": { - "id": "tearma@search.mozilla.org" - }, - "id": "518293ee-4bf0-4514-9b73-c6fb646a8a18", - "last_modified": 1583937832235 - }, { "schema": 1582890819290, "appliesTo": [ @@ -3521,25 +2906,6 @@ }, "id": "43559b11-05dc-4750-b131-afdbd9d25905", "last_modified": 1583937832210 - }, - { - "schema": 1582890824418, - "appliesTo": [ - { - "included": { - "locales": { - "matches": [ - "sk" - ] - } - } - } - ], - "webExtension": { - "id": "zoznam-sk@search.mozilla.org" - }, - "id": "e332f9dd-d1c5-4cc9-8534-3fd9938b970c", - "last_modified": 1583937832207 } ] } diff --git a/services/settings/dumps/security-state/intermediates.json b/services/settings/dumps/security-state/intermediates.json index 0be477f934166..541269a59f404 100644 --- a/services/settings/dumps/security-state/intermediates.json +++ b/services/settings/dumps/security-state/intermediates.json @@ -1,5 +1,23 @@ { "data": [ + { + "schema": 1648176526823, + "derHash": "wGjXdnhCVXcrvGrp9wpTakEK1oilDd6vv2a8xSVHlvY=", + "subject": "CN=AC Firmaprofesional - Secure Web 2022,OU=Security Services,O=Firmaprofesional S.A.,C=ES", + "subjectDN": "MIGTMQswCQYDVQQGEwJFUzEeMBwGA1UECgwVRmlybWFwcm9mZXNpb25hbCBTLkEuMRgwFgYDVQRhDA9WQVRFUy1BNjI2MzQwNjgxGjAYBgNVBAsMEVNlY3VyaXR5IFNlcnZpY2VzMS4wLAYDVQQDDCVBQyBGaXJtYXByb2Zlc2lvbmFsIC0gU2VjdXJlIFdlYiAyMDIy", + "whitelist": false, + "attachment": { + "hash": "5dd2eb36f234589fb384beb746dd8d2cec537d6c518a137014dc35d6fec9cf18", + "size": 2304, + "filename": "AzLO0BInI3V3PWBUXkW0rLPDpBwERRuBl6yYvAtDJ3M=.pem", + "location": "security-state-staging/intermediates/ef3746fc-8994-492e-8ecb-f23ad21be72b.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "AzLO0BInI3V3PWBUXkW0rLPDpBwERRuBl6yYvAtDJ3M=", + "crlite_enrolled": false, + "id": "fb1dc569-0bb6-4432-bd65-32a8206361a7", + "last_modified": 1648177065480 + }, { "schema": 1648111717634, "derHash": "+RIKcdUGl7mZKnNXoKmg3cS/w1mPy08BZClkgk088nY=", diff --git a/services/settings/dumps/security-state/onecrl.json b/services/settings/dumps/security-state/onecrl.json index b6486e6732cad..21fec8cc262c5 100644 --- a/services/settings/dumps/security-state/onecrl.json +++ b/services/settings/dumps/security-state/onecrl.json @@ -1,5 +1,230 @@ { "data": [ + { + "schema": 1647880608051, + "details": { + "bug": "https://bugzilla.mozilla.org/show_bug.cgi?id=1761053", + "who": "", + "why": "", + "name": "", + "created": "" + }, + "enabled": false, + "issuerName": "MIGlMQswCQYDVQQGEwJFUzFDMEEGA1UEBww6TWFkcmlkIChzZWUgY3VycmVudCBhZGRyZXNzIGF0IHd3dy5jYW1lcmZpcm1hLmNvbS9hZGRyZXNzKTEbMBkGA1UECgwSQUMgQ2FtZXJmaXJtYSBTLkEuMRIwEAYDVQQFEwlBODI3NDMyODcxIDAeBgNVBAMMF0dMT0JBTCBDT1JQT1JBVEUgU0VSVkVS", + "serialNumber": "cvJ358Jb7tncxn4=", + "id": "eceb6ef3-59c8-4099-ba60-031815ad1b1e", + "last_modified": 1648145180742 + }, + { + "schema": 1648054860859, + "details": { + "bug": "https://bugzilla.mozilla.org/show_bug.cgi?id=1761053", + "who": "", + "why": "", + "name": "", + "created": "" + }, + "enabled": false, + "issuerName": "MIGlMQswCQYDVQQGEwJFUzFDMEEGA1UEBww6TWFkcmlkIChzZWUgY3VycmVudCBhZGRyZXNzIGF0IHd3dy5jYW1lcmZpcm1hLmNvbS9hZGRyZXNzKTEbMBkGA1UECgwSQUMgQ2FtZXJmaXJtYSBTLkEuMRIwEAYDVQQFEwlBODI3NDMyODcxIDAeBgNVBAMMF0dMT0JBTCBDT1JQT1JBVEUgU0VSVkVS", + "serialNumber": "B9mxhOTwQxA=", + "id": "c0618ef6-a6d2-448a-9c1c-cb2c2b7e4c86", + "last_modified": 1648145180736 + }, + { + "schema": 1648054860946, + "details": { + "bug": "https://bugzilla.mozilla.org/show_bug.cgi?id=1761053", + "who": "", + "why": "", + "name": "", + "created": "" + }, + "enabled": false, + "issuerName": "MEwxIDAeBgNVBAsTF0dsb2JhbFNpZ24gUm9vdCBDQSAtIFIzMRMwEQYDVQQKEwpHbG9iYWxTaWduMRMwEQYDVQQDEwpHbG9iYWxTaWdu", + "serialNumber": "evszTxhTzfGyltzw89K2fA==", + "id": "7372a1f0-cb36-4ecc-845f-4fe230d3b415", + "last_modified": 1648145180730 + }, + { + "schema": 1648054861039, + "details": { + "bug": "https://bugzilla.mozilla.org/show_bug.cgi?id=1761053", + "who": "", + "why": "", + "name": "", + "created": "" + }, + "enabled": false, + "issuerName": "MGIxCzAJBgNVBAYTAkNOMTIwMAYDVQQKDClHVUFORyBET05HIENFUlRJRklDQVRFIEFVVEhPUklUWSBDTy4sTFRELjEfMB0GA1UEAwwWR0RDQSBUcnVzdEFVVEggUjUgUk9PVA==", + "serialNumber": "F7Ot0kCjuSA=", + "id": "5034c97f-832c-4d83-acae-05666e29f506", + "last_modified": 1648145180723 + }, + { + "schema": 1648054861121, + "details": { + "bug": "https://bugzilla.mozilla.org/show_bug.cgi?id=1761053", + "who": "", + "why": "", + "name": "", + "created": "" + }, + "enabled": false, + "issuerName": "MGMxCzAJBgNVBAYTAk5MMR4wHAYDVQQKDBVTdGFhdCBkZXIgTmVkZXJsYW5kZW4xNDAyBgNVBAMMK1N0YWF0IGRlciBOZWRlcmxhbmRlbiBEb21laW4gU2VydmVyIENBIDIwMjA=", + "serialNumber": "E6jLybNc4Vs6mOwPv4ezOA4Gtq8=", + "id": "ae2dba14-429b-4f98-abfa-0b38e64af09e", + "last_modified": 1648145180717 + }, + { + "schema": 1648054861200, + "details": { + "bug": "https://bugzilla.mozilla.org/show_bug.cgi?id=1761053", + "who": "", + "why": "", + "name": "", + "created": "" + }, + "enabled": false, + "issuerName": "MIGCMQswCQYDVQQGEwJERTErMCkGA1UECgwiVC1TeXN0ZW1zIEVudGVycHJpc2UgU2VydmljZXMgR21iSDEfMB0GA1UECwwWVC1TeXN0ZW1zIFRydXN0IENlbnRlcjElMCMGA1UEAwwcVC1UZWxlU2VjIEdsb2JhbFJvb3QgQ2xhc3MgMg==", + "serialNumber": "AvpjwbwFBQphBhtsnYT+lw==", + "id": "fce3b423-5ff6-4591-80c2-1dbb5d0e91d4", + "last_modified": 1648145180711 + }, + { + "schema": 1648054861284, + "details": { + "bug": "https://bugzilla.mozilla.org/show_bug.cgi?id=1761053", + "who": "", + "why": "", + "name": "", + "created": "" + }, + "enabled": false, + "issuerName": "MIG+MQswCQYDVQQGEwJVUzEWMBQGA1UEChMNRW50cnVzdCwgSW5jLjEoMCYGA1UECxMfU2VlIHd3dy5lbnRydXN0Lm5ldC9sZWdhbC10ZXJtczE5MDcGA1UECxMwKGMpIDIwMDkgRW50cnVzdCwgSW5jLiAtIGZvciBhdXRob3JpemVkIHVzZSBvbmx5MTIwMAYDVQQDEylFbnRydXN0IFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHMg==", + "serialNumber": "7IommwnrTp0AAAAAUdOUIw==", + "id": "d5b211d1-3823-455f-b899-943fa7a22325", + "last_modified": 1648145180705 + }, + { + "schema": 1648054861383, + "details": { + "bug": "https://bugzilla.mozilla.org/show_bug.cgi?id=1761053", + "who": "", + "why": "", + "name": "", + "created": "" + }, + "enabled": false, + "issuerName": "MEYxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMRwwGgYDVQQDExNHbG9iYWxTaWduIFJvb3QgRTQ2", + "serialNumber": "eAMYKYIz6v1CqTryiwPINw==", + "id": "8c971048-148f-432f-bddd-17f6b4bba709", + "last_modified": 1648145180697 + }, + { + "schema": 1648054861470, + "details": { + "bug": "https://bugzilla.mozilla.org/show_bug.cgi?id=1761053", + "who": "", + "why": "", + "name": "", + "created": "" + }, + "enabled": false, + "issuerName": "MEYxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMRwwGgYDVQQDExNHbG9iYWxTaWduIFJvb3QgRTQ2", + "serialNumber": "eEqpJ4UK3c1w4qeeJgI8xg==", + "id": "80873811-39fc-4aac-884f-ff2c22fbac97", + "last_modified": 1648145180689 + }, + { + "schema": 1648054861550, + "details": { + "bug": "https://bugzilla.mozilla.org/show_bug.cgi?id=1761053", + "who": "", + "why": "", + "name": "", + "created": "" + }, + "enabled": false, + "issuerName": "MGIxCzAJBgNVBAYTAkNOMTIwMAYDVQQKDClHVUFORyBET05HIENFUlRJRklDQVRFIEFVVEhPUklUWSBDTy4sTFRELjEfMB0GA1UEAwwWR0RDQSBUcnVzdEFVVEggUjUgUk9PVA==", + "serialNumber": "Ib1iJz+4Aag=", + "id": "fc17ff5d-3da1-473f-bbac-f4375ac730ab", + "last_modified": 1648145180681 + }, + { + "schema": 1648054861633, + "details": { + "bug": "https://bugzilla.mozilla.org/show_bug.cgi?id=1761053", + "who": "", + "why": "", + "name": "", + "created": "" + }, + "enabled": false, + "issuerName": "MGIxCzAJBgNVBAYTAkNOMTIwMAYDVQQKDClHVUFORyBET05HIENFUlRJRklDQVRFIEFVVEhPUklUWSBDTy4sTFRELjEfMB0GA1UEAwwWR0RDQSBUcnVzdEFVVEggUjUgUk9PVA==", + "serialNumber": "Jofc/+DvJno=", + "id": "dfc610e9-d8a4-4b00-9353-aba552831786", + "last_modified": 1648145180675 + }, + { + "schema": 1648054861715, + "details": { + "bug": "https://bugzilla.mozilla.org/show_bug.cgi?id=1761053", + "who": "", + "why": "", + "name": "", + "created": "" + }, + "enabled": false, + "issuerName": "MFAxJDAiBgNVBAsTG0dsb2JhbFNpZ24gRUNDIFJvb3QgQ0EgLSBSNTETMBEGA1UEChMKR2xvYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFsU2lnbg==", + "serialNumber": "eAMapQq7bryFyqrojWQvYA==", + "id": "9d18c8d0-3918-4c6b-8085-eb12e55adc23", + "last_modified": 1648145180669 + }, + { + "schema": 1648054861822, + "details": { + "bug": "https://bugzilla.mozilla.org/show_bug.cgi?id=1761053", + "who": "", + "why": "", + "name": "", + "created": "" + }, + "enabled": false, + "issuerName": "MGIxCzAJBgNVBAYTAkNOMTIwMAYDVQQKDClHVUFORyBET05HIENFUlRJRklDQVRFIEFVVEhPUklUWSBDTy4sTFRELjEfMB0GA1UEAwwWR0RDQSBUcnVzdEFVVEggUjUgUk9PVA==", + "serialNumber": "Y1SwpvX/WSo=", + "id": "a117dc41-ef7f-4cbf-97e8-978b9e653b54", + "last_modified": 1648145180663 + }, + { + "schema": 1648054861899, + "details": { + "bug": "https://bugzilla.mozilla.org/show_bug.cgi?id=1761053", + "who": "", + "why": "", + "name": "", + "created": "" + }, + "enabled": false, + "issuerName": "MIG+MQswCQYDVQQGEwJVUzEWMBQGA1UEChMNRW50cnVzdCwgSW5jLjEoMCYGA1UECxMfU2VlIHd3dy5lbnRydXN0Lm5ldC9sZWdhbC10ZXJtczE5MDcGA1UECxMwKGMpIDIwMDkgRW50cnVzdCwgSW5jLiAtIGZvciBhdXRob3JpemVkIHVzZSBvbmx5MTIwMAYDVQQDEylFbnRydXN0IFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHMg==", + "serialNumber": "HWoKeJCECRm+uJ7rxJqiiA==", + "id": "8ca0cf31-3b80-4751-a021-08f346882481", + "last_modified": 1648145180657 + }, + { + "schema": 1648054861985, + "details": { + "bug": "https://bugzilla.mozilla.org/show_bug.cgi?id=1761053", + "who": "", + "why": "", + "name": "", + "created": "" + }, + "enabled": false, + "issuerName": "MIG+MQswCQYDVQQGEwJVUzEWMBQGA1UEChMNRW50cnVzdCwgSW5jLjEoMCYGA1UECxMfU2VlIHd3dy5lbnRydXN0Lm5ldC9sZWdhbC10ZXJtczE5MDcGA1UECxMwKGMpIDIwMDkgRW50cnVzdCwgSW5jLiAtIGZvciBhdXRob3JpemVkIHVzZSBvbmx5MTIwMAYDVQQDEylFbnRydXN0IFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHMg==", + "serialNumber": "MlFBKQ8jIyZrnSHB976ldQ==", + "id": "145d4c51-f1f0-4570-a1f2-93d69f26a48e", + "last_modified": 1648145180650 + }, { "schema": 1636216607840, "details": {
This is an automated email from the git hooks/post-receive script.
richard pushed a commit to branch tor-browser-91.8.0esr-11.0-1 in repository tor-browser.
commit 6e69482b8f03763e0cb4c97ecdd00cfbf883cf79 Author: John Schanck jschanck@mozilla.com AuthorDate: Mon Mar 28 17:23:11 2022 +0000
Bug 1760872 - land NSS NSS_3_68_3_RTM UPGRADE_NSS_RELEASE, r=djackson a=RyanVM
2022-03-23 John M. Schanck jschanck@mozilla.com
* lib/dev/dev.h, lib/dev/devslot.c, lib/dev/devt.h, lib/dev/devtoken.c, lib/pk11wrap/dev3hack.c: Bug 1756271 - Remove token member from NSSSlot struct. r=rrelyea
[e3da860d9d1c] [NSS_3_68_3_RTM] <NSS_3_68_3_BRANCH>
2022-02-24 John M. Schanck jschanck@mozilla.com
* lib/pki/trustdomain.c: Bug 1755555 - Hold tokensLock through nssToken_GetSlot calls in nssTrustDomain_GetActiveSlots. r=rrelyea
[1931b2b09b55] <NSS_3_68_3_BRANCH>
2022-02-23 John M. Schanck jschanck@mozilla.com
* lib/certdb/crl.c, lib/certdb/stanpcertdb.c, lib/dev/devtoken.c, lib/dev/devutil.c, lib/pk11wrap/pk11auth.c, lib/pk11wrap/pk11cert.c, lib/pk11wrap/pk11nobj.c, lib/pk11wrap/pk11slot.c, lib/pk11wrap/pk11util.c, lib/pk11wrap/secmodti.h, lib/pki/pki3hack.c, lib/pki/trustdomain.c: Bug 1370866 - Check return value of PK11Slot_GetNSSToken. r=djackson
[ba0086e6737d] <NSS_3_68_3_BRANCH>
2022-03-25 John M. Schanck jschanck@mozilla.com
* lib/nss/nss.h, lib/softoken/softkver.h, lib/util/nssutil.h: Set version numbers to 3.68.3 final [c7b7c2f03ef2] <NSS_3_68_3_BRANCH>
2021-12-15 Benjamin Beurdouche bbeurdouche@mozilla.com
* .hgtags: Added tag NSS_3_68_2_RTM for changeset 78d2f4a3339f [c55cf4a0cb0e] <NSS_3_68_2_BRANCH>
Differential Revision: https://phabricator.services.mozilla.com/D142237 --- security/nss/TAG-INFO | 2 +- security/nss/coreconf/coreconf.dep | 1 - security/nss/lib/certdb/crl.c | 2 + security/nss/lib/certdb/stanpcertdb.c | 6 +++ security/nss/lib/dev/dev.h | 5 --- security/nss/lib/dev/devslot.c | 73 ++++++++++++++++++---------------- security/nss/lib/dev/devt.h | 1 - security/nss/lib/dev/devtoken.c | 20 ++-------- security/nss/lib/dev/devutil.c | 18 +++------ security/nss/lib/nss/nss.h | 4 +- security/nss/lib/pk11wrap/dev3hack.c | 19 --------- security/nss/lib/pk11wrap/pk11auth.c | 9 ++++- security/nss/lib/pk11wrap/pk11cert.c | 74 ++++++++++++++++++++++++----------- security/nss/lib/pk11wrap/pk11nobj.c | 24 +++++++++--- security/nss/lib/pk11wrap/pk11slot.c | 73 ++++++++++++++++++++++++++-------- security/nss/lib/pk11wrap/pk11util.c | 27 ++++++++++--- security/nss/lib/pk11wrap/secmodti.h | 1 + security/nss/lib/pki/pki3hack.c | 23 +++++++++-- security/nss/lib/pki/trustdomain.c | 28 +++++++------ security/nss/lib/softoken/softkver.h | 4 +- security/nss/lib/util/nssutil.h | 4 +- 21 files changed, 256 insertions(+), 162 deletions(-)
diff --git a/security/nss/TAG-INFO b/security/nss/TAG-INFO index 9e1cc8ce68cc9..3c0affe5d52d1 100644 --- a/security/nss/TAG-INFO +++ b/security/nss/TAG-INFO @@ -1 +1 @@ -NSS_3_68_2_RTM \ No newline at end of file +NSS_3_68_3_RTM \ No newline at end of file diff --git a/security/nss/coreconf/coreconf.dep b/security/nss/coreconf/coreconf.dep index 590d1bfaeee3f..5182f75552c81 100644 --- a/security/nss/coreconf/coreconf.dep +++ b/security/nss/coreconf/coreconf.dep @@ -10,4 +10,3 @@ */
#error "Do not include this header file." - diff --git a/security/nss/lib/certdb/crl.c b/security/nss/lib/certdb/crl.c index cc5c71f20c843..d110841241630 100644 --- a/security/nss/lib/certdb/crl.c +++ b/security/nss/lib/certdb/crl.c @@ -1391,6 +1391,7 @@ TokenCRLStillExists(CERTSignedCrl* crl) arena = NSSArena_Create(); PORT_Assert(arena); if (!arena) { + (void)nssToken_Destroy(instance.token); return PR_FALSE; }
@@ -1412,6 +1413,7 @@ TokenCRLStillExists(CERTSignedCrl* crl) xstatus = PR_FALSE; } NSSArena_Destroy(arena); + (void)nssToken_Destroy(instance.token); return xstatus; }
diff --git a/security/nss/lib/certdb/stanpcertdb.c b/security/nss/lib/certdb/stanpcertdb.c index 8e1cf279ab23c..e255df10531e3 100644 --- a/security/nss/lib/certdb/stanpcertdb.c +++ b/security/nss/lib/certdb/stanpcertdb.c @@ -299,9 +299,15 @@ __CERT_AddTempCertToPerm(CERTCertificate *cert, char *nickname, /* Import the perm instance onto the internal token */ slot = PK11_GetInternalKeySlot(); internal = PK11Slot_GetNSSToken(slot); + if (!internal) { + PK11_FreeSlot(slot); + PORT_SetError(SEC_ERROR_NO_TOKEN); + return SECFailure; + } permInstance = nssToken_ImportCertificate( internal, NULL, NSSCertificateType_PKIX, &c->id, stanNick, &c->encoding, &c->issuer, &c->subject, &c->serial, cert->emailAddr, PR_TRUE); + (void)nssToken_Destroy(internal); nss_ZFreeIf(stanNick); stanNick = NULL; PK11_FreeSlot(slot); diff --git a/security/nss/lib/dev/dev.h b/security/nss/lib/dev/dev.h index 26ac8957e9102..6430511442796 100644 --- a/security/nss/lib/dev/dev.h +++ b/security/nss/lib/dev/dev.h @@ -146,7 +146,6 @@ nssModule_GetCertOrder( * nssSlot_Destroy * nssSlot_AddRef * nssSlot_GetName - * nssSlot_GetTokenName * nssSlot_IsTokenPresent * nssSlot_IsPermanent * nssSlot_IsFriendly @@ -176,10 +175,6 @@ NSS_EXTERN NSSUTF8 * nssSlot_GetName( NSSSlot *slot);
-NSS_EXTERN NSSUTF8 * -nssSlot_GetTokenName( - NSSSlot *slot); - NSS_EXTERN NSSModule * nssSlot_GetModule( NSSSlot *slot); diff --git a/security/nss/lib/dev/devslot.c b/security/nss/lib/dev/devslot.c index 5021408bf06f2..ccd90ac9729d6 100644 --- a/security/nss/lib/dev/devslot.c +++ b/security/nss/lib/dev/devslot.c @@ -12,7 +12,9 @@ #include "ckhelper.h" #endif /* CKHELPER_H */
-#include "pk11pub.h" +#include "pkim.h" +#include "dev3hack.h" +#include "pk11func.h"
/* measured in seconds */ #define NSSSLOT_TOKEN_DELAY_TIME 1 @@ -79,13 +81,6 @@ nssSlot_GetName( return slot->base.name; }
-NSS_IMPLEMENT NSSUTF8 * -nssSlot_GetTokenName( - NSSSlot *slot) -{ - return nssToken_GetName(slot->token); -} - NSS_IMPLEMENT void nssSlot_ResetDelay( NSSSlot *slot) @@ -123,11 +118,13 @@ nssSlot_IsTokenPresent( { CK_RV ckrv; PRStatus nssrv; + NSSToken *nssToken = NULL; /* XXX */ nssSession *session; CK_SLOT_INFO slotInfo; void *epv; PRBool isPresent = PR_FALSE; + PRBool doUpdateCachedCerts = PR_FALSE;
/* permanent slots are always present unless they're disabled */ if (nssSlot_IsPermanent(slot)) { @@ -169,23 +166,24 @@ nssSlot_IsTokenPresent(
PZ_Unlock(slot->isPresentLock);
+ nssToken = PK11Slot_GetNSSToken(slot->pk11slot); + if (!nssToken) { + isPresent = PR_FALSE; + goto done; + } + nssSlot_EnterMonitor(slot); ckrv = CKAPI(epv)->C_GetSlotInfo(slot->slotID, &slotInfo); nssSlot_ExitMonitor(slot); if (ckrv != CKR_OK) { - slot->token->base.name[0] = 0; /* XXX */ + nssToken->base.name[0] = 0; /* XXX */ isPresent = PR_FALSE; goto done; } slot->ckFlags = slotInfo.flags; /* check for the presence of the token */ if ((slot->ckFlags & CKF_TOKEN_PRESENT) == 0) { - if (!slot->token) { - /* token was never present */ - isPresent = PR_FALSE; - goto done; - } - session = nssToken_GetDefaultSession(slot->token); + session = nssToken_GetDefaultSession(nssToken); if (session) { nssSession_EnterMonitor(session); /* token is not present */ @@ -197,21 +195,21 @@ nssSlot_IsTokenPresent( } nssSession_ExitMonitor(session); } - if (slot->token->base.name[0] != 0) { + if (nssToken->base.name[0] != 0) { /* notify the high-level cache that the token is removed */ - slot->token->base.name[0] = 0; /* XXX */ - nssToken_NotifyCertsNotVisible(slot->token); + nssToken->base.name[0] = 0; /* XXX */ + nssToken_NotifyCertsNotVisible(nssToken); } - slot->token->base.name[0] = 0; /* XXX */ + nssToken->base.name[0] = 0; /* XXX */ /* clear the token cache */ - nssToken_Remove(slot->token); + nssToken_Remove(nssToken); isPresent = PR_FALSE; goto done; } /* token is present, use the session info to determine if the card * has been removed and reinserted. */ - session = nssToken_GetDefaultSession(slot->token); + session = nssToken_GetDefaultSession(nssToken); if (session) { PRBool tokenRemoved; nssSession_EnterMonitor(session); @@ -237,17 +235,31 @@ nssSlot_IsTokenPresent( * a token it doesn't recognize. invalidate all the old * information we had on this token, if we can't refresh, clear * the present flag */ - nssToken_NotifyCertsNotVisible(slot->token); - nssToken_Remove(slot->token); - /* token has been removed, need to refresh with new session */ - nssrv = nssSlot_Refresh(slot); - isPresent = PR_TRUE; + nssToken_NotifyCertsNotVisible(nssToken); + nssToken_Remove(nssToken); + if (nssToken->base.name[0] == 0) { + doUpdateCachedCerts = PR_TRUE; + } + if (PK11_InitToken(slot->pk11slot, PR_FALSE) != SECSuccess) { + isPresent = PR_FALSE; + goto done; + } + if (doUpdateCachedCerts) { + nssTrustDomain_UpdateCachedTokenCerts(nssToken->trustDomain, + nssToken); + } + nssrv = nssToken_Refresh(nssToken); if (nssrv != PR_SUCCESS) { - slot->token->base.name[0] = 0; /* XXX */ + nssToken->base.name[0] = 0; /* XXX */ slot->ckFlags &= ~CKF_TOKEN_PRESENT; isPresent = PR_FALSE; + goto done; } + isPresent = PR_TRUE; done: + if (nssToken) { + (void)nssToken_Destroy(nssToken); + } /* Once we've set up the condition variable, * Before returning, it's necessary to: * 1) Set the lastTokenPingTime so that any other threads waiting on this @@ -283,12 +295,7 @@ nssSlot_GetToken( NSSToken *rvToken = NULL;
if (nssSlot_IsTokenPresent(slot)) { - /* Even if a token should be present, check `slot->token` too as it - * might be gone already. This would happen mostly on shutdown. */ - nssSlot_EnterMonitor(slot); - if (slot->token) - rvToken = nssToken_AddRef(slot->token); - nssSlot_ExitMonitor(slot); + rvToken = PK11Slot_GetNSSToken(slot->pk11slot); }
return rvToken; diff --git a/security/nss/lib/dev/devt.h b/security/nss/lib/dev/devt.h index 06a57ad05b19b..19af26f08177e 100644 --- a/security/nss/lib/dev/devt.h +++ b/security/nss/lib/dev/devt.h @@ -81,7 +81,6 @@ typedef enum { struct NSSSlotStr { struct nssDeviceBaseStr base; NSSModule *module; /* Parent */ - NSSToken *token; /* Peer */ CK_SLOT_ID slotID; CK_FLAGS ckFlags; /* from CK_SLOT_INFO.flags */ struct nssSlotAuthInfoStr authInfo; diff --git a/security/nss/lib/dev/devtoken.c b/security/nss/lib/dev/devtoken.c index fedc44b4b51f3..5e65dfdb1b555 100644 --- a/security/nss/lib/dev/devtoken.c +++ b/security/nss/lib/dev/devtoken.c @@ -32,13 +32,6 @@ nssToken_Destroy( PK11_FreeSlot(tok->pk11slot); PZ_DestroyLock(tok->base.lock); nssTokenObjectCache_Destroy(tok->cache); - - /* We're going away, let the nssSlot know in case it's held - * alive by someone else. Usually we should hold the last ref. */ - nssSlot_EnterMonitor(tok->slot); - tok->slot->token = NULL; - nssSlot_ExitMonitor(tok->slot); - (void)nssSlot_Destroy(tok->slot); return nssArena_Destroy(tok->base.arena); } @@ -53,13 +46,6 @@ nssToken_Remove( nssTokenObjectCache_Clear(tok->cache); }
-NSS_IMPLEMENT void -NSSToken_Destroy( - NSSToken *tok) -{ - (void)nssToken_Destroy(tok); -} - NSS_IMPLEMENT NSSToken * nssToken_AddRef( NSSToken *tok) @@ -996,8 +982,9 @@ sha1_hash(NSSItem *input, NSSItem *output) NSSToken *token = PK11Slot_GetNSSToken(internal); ap = NSSAlgorithmAndParameters_CreateSHA1Digest(NULL); (void)nssToken_Digest(token, NULL, ap, input, output, NULL); - PK11_FreeSlot(token->pk11slot); nss_ZFreeIf(ap); + (void)nssToken_Destroy(token); + PK11_FreeSlot(internal); }
static void @@ -1008,8 +995,9 @@ md5_hash(NSSItem *input, NSSItem *output) NSSToken *token = PK11Slot_GetNSSToken(internal); ap = NSSAlgorithmAndParameters_CreateMD5Digest(NULL); (void)nssToken_Digest(token, NULL, ap, input, output, NULL); - PK11_FreeSlot(token->pk11slot); nss_ZFreeIf(ap); + (void)nssToken_Destroy(token); + PK11_FreeSlot(internal); }
static CK_TRUST diff --git a/security/nss/lib/dev/devutil.c b/security/nss/lib/dev/devutil.c index 7c30a0da2cb81..302a6b56270bf 100644 --- a/security/nss/lib/dev/devutil.c +++ b/security/nss/lib/dev/devutil.c @@ -56,7 +56,7 @@ nssCryptokiObject_Destroy( nssCryptokiObject *object) { if (object) { - nssToken_Destroy(object->token); + (void)nssToken_Destroy(object->token); nss_ZFreeIf(object->label); nss_ZFreeIf(object); } @@ -150,19 +150,12 @@ nssTokenArray_Destroy( if (tokens) { NSSToken **tokenp; for (tokenp = tokens; *tokenp; tokenp++) { - nssToken_Destroy(*tokenp); + (void)nssToken_Destroy(*tokenp); } nss_ZFreeIf(tokens); } }
-NSS_IMPLEMENT void -NSSTokenArray_Destroy( - NSSToken **tokens) -{ - nssTokenArray_Destroy(tokens); -} - NSS_IMPLEMENT void nssCryptokiObjectArray_Destroy( nssCryptokiObject **objects) @@ -365,7 +358,7 @@ create_object( /* The cache is tied to the token, and therefore the objects * in it should not hold references to the token. */ - nssToken_Destroy(object->token); + (void)nssToken_Destroy(object->token); rvCachedObject->object = object; rvCachedObject->attributes = nss_ZNEWARRAY(arena, CK_ATTRIBUTE, numTypes); if (!rvCachedObject->attributes) { @@ -568,7 +561,7 @@ get_token_objects_for_cache( &numObjects, &status); if (status != PR_SUCCESS) { - nss_ZFreeIf(objects); + nssCryptokiObjectArray_Destroy(objects); return status; } for (i = 0; i < numObjects; i++) { @@ -584,7 +577,8 @@ get_token_objects_for_cache( } else { PRUint32 j; for (j = 0; j < i; j++) { - /* sigh */ + /* Any token references that were removed in successful loop iterations + * need to be restored before we call nssCryptokiObjectArray_Destroy */ nssToken_AddRef(cache->objects[objectType][j]->object->token); nssArena_Destroy(cache->objects[objectType][j]->arena); } diff --git a/security/nss/lib/nss/nss.h b/security/nss/lib/nss/nss.h index c87fa1ec9725e..d0c1a1f19a28e 100644 --- a/security/nss/lib/nss/nss.h +++ b/security/nss/lib/nss/nss.h @@ -22,10 +22,10 @@ * The format of the version string should be * "<major version>.<minor version>[.<patch level>[.<build number>]][ <ECC>][ <Beta>]" */ -#define NSS_VERSION "3.68.2" _NSS_CUSTOMIZED +#define NSS_VERSION "3.68.3" _NSS_CUSTOMIZED #define NSS_VMAJOR 3 #define NSS_VMINOR 68 -#define NSS_VPATCH 2 +#define NSS_VPATCH 3 #define NSS_VBUILD 0 #define NSS_BETA PR_FALSE
diff --git a/security/nss/lib/pk11wrap/dev3hack.c b/security/nss/lib/pk11wrap/dev3hack.c index 4877f945053a0..2d41a34d85282 100644 --- a/security/nss/lib/pk11wrap/dev3hack.c +++ b/security/nss/lib/pk11wrap/dev3hack.c @@ -179,7 +179,6 @@ nssToken_CreateFromPK11SlotInfo(NSSTrustDomain *td, PK11SlotInfo *nss3slot) if (!rvToken->slot) { goto loser; } - rvToken->slot->token = rvToken; if (rvToken->defaultSession) rvToken->defaultSession->slot = rvToken->slot; return rvToken; @@ -227,24 +226,6 @@ nssToken_Refresh(NSSToken *token) return token->defaultSession ? PR_SUCCESS : PR_FAILURE; }
-NSS_IMPLEMENT PRStatus -nssSlot_Refresh(NSSSlot *slot) -{ - PK11SlotInfo *nss3slot = slot->pk11slot; - PRBool doit = PR_FALSE; - if (slot->token && slot->token->base.name[0] == 0) { - doit = PR_TRUE; - } - if (PK11_InitToken(nss3slot, PR_FALSE) != SECSuccess) { - return PR_FAILURE; - } - if (doit) { - nssTrustDomain_UpdateCachedTokenCerts(slot->token->trustDomain, - slot->token); - } - return nssToken_Refresh(slot->token); -} - NSS_IMPLEMENT PRStatus nssToken_GetTrustOrder(NSSToken *tok) { diff --git a/security/nss/lib/pk11wrap/pk11auth.c b/security/nss/lib/pk11wrap/pk11auth.c index c633e53f7bc8c..42e64e1c9a575 100644 --- a/security/nss/lib/pk11wrap/pk11auth.c +++ b/security/nss/lib/pk11wrap/pk11auth.c @@ -4,6 +4,8 @@ /* * This file deals with PKCS #11 passwords and authentication. */ +#include "dev.h" +#include "dev3hack.h" #include "seccomon.h" #include "secmod.h" #include "secmodi.h" @@ -637,8 +639,11 @@ PK11_DoPassword(PK11SlotInfo *slot, CK_SESSION_HANDLE session, } if (rv == SECSuccess) { if (!contextSpecific && !PK11_IsFriendly(slot)) { - nssTrustDomain_UpdateCachedTokenCerts(slot->nssToken->trustDomain, - slot->nssToken); + NSSToken *token = PK11Slot_GetNSSToken(slot); + if (token) { + nssTrustDomain_UpdateCachedTokenCerts(token->trustDomain, token); + (void)nssToken_Destroy(token); + } } } else if (!attempt) PORT_SetError(SEC_ERROR_BAD_PASSWORD); diff --git a/security/nss/lib/pk11wrap/pk11cert.c b/security/nss/lib/pk11wrap/pk11cert.c index 9c745d7b824df..84d8300357a4f 100644 --- a/security/nss/lib/pk11wrap/pk11cert.c +++ b/security/nss/lib/pk11wrap/pk11cert.c @@ -242,16 +242,17 @@ pk11_fastCert(PK11SlotInfo *slot, CK_OBJECT_HANDLE certID, NSSCertificate *c; nssCryptokiObject *co = NULL; nssPKIObject *pkio; - NSSToken *token; NSSTrustDomain *td = STAN_GetDefaultTrustDomain();
/* Get the cryptoki object from the handle */ - token = PK11Slot_GetNSSToken(slot); - if (token && token->defaultSession) { - co = nssCryptokiObject_Create(token, token->defaultSession, certID); - } else { + NSSToken *token = PK11Slot_GetNSSToken(slot); + if (!token || !token->defaultSession) { + (void)nssToken_Destroy(token); /* null token is ok */ PORT_SetError(SEC_ERROR_NO_TOKEN); + return NULL; } + co = nssCryptokiObject_Create(token, token->defaultSession, certID); + (void)nssToken_Destroy(token); if (!co) { return NULL; } @@ -754,7 +755,7 @@ find_certs_from_uri(const char *uriString, void *wincx) nssPKIObjectCollection_AddInstances(collection, instances, 0); nss_ZFreeIf(instances); } - nssToken_Destroy(*tok); + (void)nssToken_Destroy(*tok); } nss_ZFreeIf(tokens); nssList_Destroy(certList); @@ -863,9 +864,7 @@ find_certs_from_nickname(const char *nickname, void *wincx) } else { slot = PK11_GetInternalKeySlot(); token = PK11Slot_GetNSSToken(slot); - if (token) { - nssToken_AddRef(token); - } else { + if (!token) { PORT_SetError(SEC_ERROR_NO_TOKEN); } } @@ -929,7 +928,7 @@ find_certs_from_nickname(const char *nickname, void *wincx) } loser: if (token) { - nssToken_Destroy(token); + (void)nssToken_Destroy(token); } if (slot) { PK11_FreeSlot(slot); @@ -1129,15 +1128,15 @@ PK11_ImportCert(PK11SlotInfo *slot, CERTCertificate *cert, PRStatus status; NSSCertificate *c; nssCryptokiObject *keyobj, *certobj; - NSSToken *token = PK11Slot_GetNSSToken(slot); - SECItem *keyID = pk11_mkcertKeyID(cert); + NSSToken *token = NULL; char *emailAddr = NULL; nssCertificateStoreTrace lockTrace = { NULL, NULL, PR_FALSE, PR_FALSE }; nssCertificateStoreTrace unlockTrace = { NULL, NULL, PR_FALSE, PR_FALSE }; - + SECItem *keyID = pk11_mkcertKeyID(cert); if (keyID == NULL) { goto loser; /* error code should be set already */ } + token = PK11Slot_GetNSSToken(slot); if (!token) { PORT_SetError(SEC_ERROR_NO_TOKEN); goto loser; @@ -1230,8 +1229,12 @@ PK11_ImportCert(PK11SlotInfo *slot, CERTCertificate *cert, (void)STAN_ForceCERTCertificateUpdate(c); nssCertificate_Destroy(c); SECITEM_FreeItem(keyID, PR_TRUE); + (void)nssToken_Destroy(token); return SECSuccess; loser: + if (token) { + (void)nssToken_Destroy(token); + } CERT_MapStanError(); SECITEM_FreeItem(keyID, PR_TRUE); if (PORT_GetError() != SEC_ERROR_TOKEN_NOT_LOGGED_IN) { @@ -1466,7 +1469,7 @@ PK11_FindCertByIssuerAndSNOnToken(PK11SlotInfo *slot, NSSCertificate *cert = NULL; NSSDER issuer, serial; NSSTrustDomain *td = STAN_GetDefaultTrustDomain(); - NSSToken *token = slot->nssToken; + NSSToken *token = NULL; nssSession *session; nssCryptokiObject *instance = NULL; nssPKIObject *object = NULL; @@ -1481,12 +1484,18 @@ PK11_FindCertByIssuerAndSNOnToken(PK11SlotInfo *slot, return NULL; }
- /* Paranoia */ - if (token == NULL) { + token = PK11Slot_GetNSSToken(slot); + if (!token) { PORT_SetError(SEC_ERROR_NO_TOKEN); return NULL; }
+ session = nssToken_GetDefaultSession(token); /* non-owning */ + if (!session) { + (void)nssToken_Destroy(token); + return NULL; + } + /* PKCS#11 needs to use DER-encoded serial numbers. Create a * CERTIssuerAndSN that actually has the encoded value and pass that * to PKCS#11 (and the crypto context). @@ -1495,20 +1504,17 @@ PK11_FindCertByIssuerAndSNOnToken(PK11SlotInfo *slot, &issuerSN->serialNumber, SEC_ASN1_GET(SEC_IntegerTemplate)); if (!derSerial) { + (void)nssToken_Destroy(token); return NULL; }
NSSITEM_FROM_SECITEM(&issuer, &issuerSN->derIssuer); NSSITEM_FROM_SECITEM(&serial, derSerial);
- session = nssToken_GetDefaultSession(token); - if (!session) { - goto loser; - } - instance = nssToken_FindCertificateByIssuerAndSerialNumber(token, session, &issuer, &serial, nssTokenSearchType_TokenForced, &status);
+ (void)nssToken_Destroy(token); SECITEM_FreeItem(derSerial, PR_TRUE);
if (!instance) { @@ -2177,16 +2183,22 @@ PK11_TraverseCertsForSubjectInSlot(CERTCertificate *cert, PK11SlotInfo *slot, td = STAN_GetDefaultTrustDomain(); NSSITEM_FROM_SECITEM(&subject, &cert->derSubject); token = PK11Slot_GetNSSToken(slot); + if (!token) { + return SECSuccess; + } if (!nssToken_IsPresent(token)) { + (void)nssToken_Destroy(token); return SECSuccess; } collection = nssCertificateCollection_Create(td, NULL); if (!collection) { + (void)nssToken_Destroy(token); return SECFailure; } subjectList = nssList_Create(NULL, PR_FALSE); if (!subjectList) { nssPKIObjectCollection_Destroy(collection); + (void)nssToken_Destroy(token); return SECFailure; } (void)nssTrustDomain_GetCertsForSubjectFromCache(td, &subject, @@ -2201,6 +2213,7 @@ PK11_TraverseCertsForSubjectInSlot(CERTCertificate *cert, PK11SlotInfo *slot, certs = nssPKIObjectCollection_GetCertificates(collection, NULL, 0, NULL); nssPKIObjectCollection_Destroy(collection); + (void)nssToken_Destroy(token); if (certs) { CERTCertificate *oldie; NSSCertificate **cp; @@ -2234,7 +2247,8 @@ PK11_TraverseCertsForNicknameInSlot(SECItem *nickname, PK11SlotInfo *slot, nssList *nameList = NULL; nssTokenSearchType tokenOnly = nssTokenSearchType_TokenOnly; token = PK11Slot_GetNSSToken(slot); - if (!nssToken_IsPresent(token)) { + if (!token || !nssToken_IsPresent(token)) { + (void)nssToken_Destroy(token); return SECSuccess; } if (nickname->data[nickname->len - 1] != '\0') { @@ -2264,6 +2278,7 @@ PK11_TraverseCertsForNicknameInSlot(SECItem *nickname, PK11SlotInfo *slot, certs = nssPKIObjectCollection_GetCertificates(collection, NULL, 0, NULL); nssPKIObjectCollection_Destroy(collection); + (void)nssToken_Destroy(token); if (certs) { CERTCertificate *oldie; NSSCertificate **cp; @@ -2283,6 +2298,7 @@ PK11_TraverseCertsForNicknameInSlot(SECItem *nickname, PK11SlotInfo *slot, nss_ZFreeIf(nick); return (nssrv == PR_SUCCESS) ? SECSuccess : SECFailure; loser: + (void)nssToken_Destroy(token); if (created) { nss_ZFreeIf(nick); } @@ -2308,16 +2324,22 @@ PK11_TraverseCertsInSlot(PK11SlotInfo *slot, NSSCertificate **certs; nssTokenSearchType tokenOnly = nssTokenSearchType_TokenOnly; tok = PK11Slot_GetNSSToken(slot); + if (!tok) { + return SECSuccess; + } if (!nssToken_IsPresent(tok)) { + (void)nssToken_Destroy(tok); return SECSuccess; } collection = nssCertificateCollection_Create(td, NULL); if (!collection) { + (void)nssToken_Destroy(tok); return SECFailure; } certList = nssList_Create(NULL, PR_FALSE); if (!certList) { nssPKIObjectCollection_Destroy(collection); + (void)nssToken_Destroy(tok); return SECFailure; } (void)nssTrustDomain_GetCertsFromCache(td, certList); @@ -2330,6 +2352,7 @@ PK11_TraverseCertsInSlot(PK11SlotInfo *slot, certs = nssPKIObjectCollection_GetCertificates(collection, NULL, 0, NULL); nssPKIObjectCollection_Destroy(collection); + (void)nssToken_Destroy(tok); if (certs) { CERTCertificate *oldie; NSSCertificate **cp; @@ -2369,7 +2392,6 @@ PK11_FindCertFromDERCertItem(PK11SlotInfo *slot, const SECItem *inDerCert, SECStatus rv; CERTCertificate *cert = NULL;
- tok = PK11Slot_GetNSSToken(slot); NSSITEM_FROM_SECITEM(&derCert, inDerCert); rv = pk11_AuthenticateUnfriendly(slot, PR_TRUE, wincx); if (rv != SECSuccess) { @@ -2377,8 +2399,14 @@ PK11_FindCertFromDERCertItem(PK11SlotInfo *slot, const SECItem *inDerCert, return NULL; }
+ tok = PK11Slot_GetNSSToken(slot); + if (!tok) { + PK11_FreeSlot(slot); + return NULL; + } co = nssToken_FindCertificateByEncodedCertificate(tok, NULL, &derCert, nssTokenSearchType_TokenOnly, NULL); + (void)nssToken_Destroy(tok);
if (co) { cert = PK11_MakeCertFromHandle(slot, co->handle, NULL); diff --git a/security/nss/lib/pk11wrap/pk11nobj.c b/security/nss/lib/pk11wrap/pk11nobj.c index 80bc009f78907..586ed80e32aa3 100644 --- a/security/nss/lib/pk11wrap/pk11nobj.c +++ b/security/nss/lib/pk11wrap/pk11nobj.c @@ -413,12 +413,17 @@ PK11_FindCrlByName(PK11SlotInfo **slot, CK_OBJECT_HANDLE *crlHandle, nssPKIObjectCollection *collection; nssTokenSearchType tokenOnly = nssTokenSearchType_TokenOnly; NSSToken *token = PK11Slot_GetNSSToken(*slot); + if (!token) { + goto loser; + } collection = nssCRLCollection_Create(td, NULL); if (!collection) { + (void)nssToken_Destroy(token); goto loser; } instances = nssToken_FindCRLsBySubject(token, NULL, &subject, tokenOnly, 0, NULL); + (void)nssToken_Destroy(token); nssPKIObjectCollection_AddInstances(collection, instances, 0); nss_ZFreeIf(instances); crls = nssPKIObjectCollection_GetCRLs(collection, NULL, 0, NULL); @@ -482,16 +487,21 @@ PK11_PutCrl(PK11SlotInfo *slot, SECItem *crl, SECItem *name, char *url, int type) { NSSItem derCRL, derSubject; - NSSToken *token = PK11Slot_GetNSSToken(slot); + NSSToken *token; nssCryptokiObject *object; PRBool isKRL = (type == SEC_CRL_TYPE) ? PR_FALSE : PR_TRUE; CK_OBJECT_HANDLE rvH;
NSSITEM_FROM_SECITEM(&derSubject, name); NSSITEM_FROM_SECITEM(&derCRL, crl); - + token = PK11Slot_GetNSSToken(slot); + if (!token) { + PORT_SetError(SEC_ERROR_NO_TOKEN); + return CK_INVALID_HANDLE; + } object = nssToken_ImportCRL(token, NULL, &derSubject, &derCRL, isKRL, url, PR_TRUE); + (void)nssToken_Destroy(token);
if (object) { rvH = object->handle; @@ -510,8 +520,8 @@ SECStatus SEC_DeletePermCRL(CERTSignedCrl *crl) { PRStatus status; - NSSToken *token; nssCryptokiObject *object; + NSSToken *token; PK11SlotInfo *slot = crl->slot;
if (slot == NULL) { @@ -520,13 +530,17 @@ SEC_DeletePermCRL(CERTSignedCrl *crl) PORT_SetError(SEC_ERROR_CRL_INVALID); return SECFailure; } - token = PK11Slot_GetNSSToken(slot);
+ token = PK11Slot_GetNSSToken(slot); + if (!token) { + return SECFailure; + } object = nss_ZNEW(NULL, nssCryptokiObject); if (!object) { + (void)nssToken_Destroy(token); return SECFailure; } - object->token = nssToken_AddRef(token); + object->token = token; /* object takes ownership */ object->handle = crl->pkcs11ID; object->isTokenObject = PR_TRUE;
diff --git a/security/nss/lib/pk11wrap/pk11slot.c b/security/nss/lib/pk11wrap/pk11slot.c index c320019f9397d..99be9528f0b34 100644 --- a/security/nss/lib/pk11wrap/pk11slot.c +++ b/security/nss/lib/pk11wrap/pk11slot.c @@ -362,19 +362,24 @@ PK11_NewSlotInfo(SECMODModule *mod) PK11SlotInfo *slot;
slot = (PK11SlotInfo *)PORT_Alloc(sizeof(PK11SlotInfo)); - if (slot == NULL) + if (slot == NULL) { return slot; - - slot->sessionLock = mod->isThreadSafe ? PZ_NewLock(nssILockSession) : mod->refLock; - if (slot->sessionLock == NULL) { - PORT_Free(slot); - return NULL; } slot->freeListLock = PZ_NewLock(nssILockFreelist); if (slot->freeListLock == NULL) { - if (mod->isThreadSafe) { - PZ_DestroyLock(slot->sessionLock); - } + PORT_Free(slot); + return NULL; + } + slot->nssTokenLock = PZ_NewLock(nssILockOther); + if (slot->nssTokenLock == NULL) { + PZ_DestroyLock(slot->freeListLock); + PORT_Free(slot); + return NULL; + } + slot->sessionLock = mod->isThreadSafe ? PZ_NewLock(nssILockSession) : mod->refLock; + if (slot->sessionLock == NULL) { + PZ_DestroyLock(slot->nssTokenLock); + PZ_DestroyLock(slot->freeListLock); PORT_Free(slot); return NULL; } @@ -462,6 +467,10 @@ PK11_DestroySlot(PK11SlotInfo *slot) PZ_DestroyLock(slot->freeListLock); slot->freeListLock = NULL; } + if (slot->nssTokenLock) { + PZ_DestroyLock(slot->nssTokenLock); + slot->nssTokenLock = NULL; + }
/* finally Tell our parent module that we've gone away so it can unload */ if (slot->module) { @@ -1260,6 +1269,7 @@ PK11_InitToken(PK11SlotInfo *slot, PRBool loadCerts) CK_RV crv; SECStatus rv; PRStatus status; + NSSToken *nssToken;
/* set the slot flags to the current token values */ if (!slot->isThreadSafe) @@ -1297,7 +1307,9 @@ PK11_InitToken(PK11SlotInfo *slot, PRBool loadCerts) slot->maxPassword = slot->tokenInfo.ulMaxPinLen; PORT_Memcpy(slot->serial, slot->tokenInfo.serialNumber, sizeof(slot->serial));
- nssToken_UpdateName(slot->nssToken); + nssToken = PK11Slot_GetNSSToken(slot); + nssToken_UpdateName(nssToken); /* null token is OK */ + (void)nssToken_Destroy(nssToken);
slot->defRWSession = (PRBool)((!slot->readOnly) && (slot->tokenInfo.ulMaxSessionCount == 1)); @@ -1365,7 +1377,9 @@ PK11_InitToken(PK11SlotInfo *slot, PRBool loadCerts) PK11_ExitSlotMonitor(slot); }
- status = nssToken_Refresh(slot->nssToken); + nssToken = PK11Slot_GetNSSToken(slot); + status = nssToken_Refresh(nssToken); /* null token is OK */ + (void)nssToken_Destroy(nssToken); if (status != PR_SUCCESS) return SECFailure;
@@ -1598,8 +1612,11 @@ pk11_IsPresentCertLoad(PK11SlotInfo *slot, PRBool loadCerts) return PR_TRUE; }
- if (slot->nssToken) { - return nssToken_IsPresent(slot->nssToken); + NSSToken *nssToken = PK11Slot_GetNSSToken(slot); + if (nssToken) { + PRBool present = nssToken_IsPresent(nssToken); + (void)nssToken_Destroy(nssToken); + return present; }
/* removable slots have a flag that says they are present */ @@ -2649,20 +2666,44 @@ PK11_ResetToken(PK11SlotInfo *slot, char *sso_pwd) PORT_SetError(PK11_MapError(crv)); return SECFailure; } - nssTrustDomain_UpdateCachedTokenCerts(slot->nssToken->trustDomain, - slot->nssToken); + NSSToken *token = PK11Slot_GetNSSToken(slot); + if (token) { + nssTrustDomain_UpdateCachedTokenCerts(token->trustDomain, token); + (void)nssToken_Destroy(token); + } return SECSuccess; } + void PK11Slot_SetNSSToken(PK11SlotInfo *sl, NSSToken *nsst) { + NSSToken *old; + if (nsst) { + nsst = nssToken_AddRef(nsst); + } + + PZ_Lock(sl->nssTokenLock); + old = sl->nssToken; sl->nssToken = nsst; + PZ_Unlock(sl->nssTokenLock); + + if (old) { + (void)nssToken_Destroy(old); + } }
NSSToken * PK11Slot_GetNSSToken(PK11SlotInfo *sl) { - return sl->nssToken; + NSSToken *rv = NULL; + + PZ_Lock(sl->nssTokenLock); + if (sl->nssToken) { + rv = nssToken_AddRef(sl->nssToken); + } + PZ_Unlock(sl->nssTokenLock); + + return rv; }
PRBool diff --git a/security/nss/lib/pk11wrap/pk11util.c b/security/nss/lib/pk11wrap/pk11util.c index 08c793bf32fa6..0862ee28918d9 100644 --- a/security/nss/lib/pk11wrap/pk11util.c +++ b/security/nss/lib/pk11wrap/pk11util.c @@ -13,6 +13,7 @@ #include "pki3hack.h" #include "secerr.h" #include "dev.h" +#include "dev3hack.h" #include "utilpars.h" #include "pkcs11uri.h"
@@ -1266,8 +1267,14 @@ SECMOD_WaitForAnyTokenEvent(SECMODModule *mod, unsigned long flags, } /* if we are in the delay period for the "isPresent" call, reset * the delay since we know things have probably changed... */ - if (slot && slot->nssToken && slot->nssToken->slot) { - nssSlot_ResetDelay(slot->nssToken->slot); + if (slot) { + NSSToken *nssToken = PK11Slot_GetNSSToken(slot); + if (nssToken) { + if (nssToken->slot) { + nssSlot_ResetDelay(nssToken->slot); + } + (void)nssToken_Destroy(nssToken); + } } return slot;
@@ -1500,8 +1507,12 @@ SECMOD_OpenNewSlot(SECMODModule *mod, const char *moduleSpec) if (slot) { /* if we are in the delay period for the "isPresent" call, reset * the delay since we know things have probably changed... */ - if (slot->nssToken && slot->nssToken->slot) { - nssSlot_ResetDelay(slot->nssToken->slot); + NSSToken *nssToken = PK11Slot_GetNSSToken(slot); + if (nssToken) { + if (nssToken->slot) { + nssSlot_ResetDelay(nssToken->slot); + } + (void)nssToken_Destroy(nssToken); } /* force the slot info structures to properly reset */ (void)PK11_IsPresent(slot); @@ -1631,8 +1642,12 @@ SECMOD_CloseUserDB(PK11SlotInfo *slot) PR_smprintf_free(sendSpec); /* if we are in the delay period for the "isPresent" call, reset * the delay since we know things have probably changed... */ - if (slot->nssToken && slot->nssToken->slot) { - nssSlot_ResetDelay(slot->nssToken->slot); + NSSToken *nssToken = PK11Slot_GetNSSToken(slot); + if (nssToken) { + if (nssToken->slot) { + nssSlot_ResetDelay(nssToken->slot); + } + (void)nssToken_Destroy(nssToken); /* force the slot info structures to properly reset */ (void)PK11_IsPresent(slot); } diff --git a/security/nss/lib/pk11wrap/secmodti.h b/security/nss/lib/pk11wrap/secmodti.h index 04c63a8690fd6..5dca1e46cda14 100644 --- a/security/nss/lib/pk11wrap/secmodti.h +++ b/security/nss/lib/pk11wrap/secmodti.h @@ -107,6 +107,7 @@ struct PK11SlotInfoStr { unsigned int lastState; /* for Stan */ NSSToken *nssToken; + PZLock *nssTokenLock; /* the tokeninfo struct */ CK_TOKEN_INFO tokenInfo; /* fast mechanism lookup */ diff --git a/security/nss/lib/pki/pki3hack.c b/security/nss/lib/pki/pki3hack.c index 7fe9113e4a610..5556cd17695f8 100644 --- a/security/nss/lib/pki/pki3hack.c +++ b/security/nss/lib/pki/pki3hack.c @@ -72,12 +72,16 @@ STAN_InitTokenForSlotInfo(NSSTrustDomain *td, PK11SlotInfo *slot) } } token = nssToken_CreateFromPK11SlotInfo(td, slot); - PK11Slot_SetNSSToken(slot, token); - /* Don't add nonexistent token to TD's token list */ if (token) { + /* PK11Slot_SetNSSToken increments the refcount on |token| to 2 */ + PK11Slot_SetNSSToken(slot, token); + + /* we give our reference to |td->tokenList| */ NSSRWLock_LockWrite(td->tokensLock); nssList_Add(td->tokenList, token); NSSRWLock_UnlockWrite(td->tokensLock); + } else { + PK11Slot_SetNSSToken(slot, NULL); } return PR_SUCCESS; } @@ -188,7 +192,8 @@ STAN_RemoveModuleFromDefaultTrustDomain( nssList_Remove(td->tokenList, token); NSSRWLock_UnlockWrite(td->tokensLock); PK11Slot_SetNSSToken(module->slots[i], NULL); - nssToken_Destroy(token); + (void)nssToken_Destroy(token); /* for the |td->tokenList| reference */ + (void)nssToken_Destroy(token); /* for our PK11Slot_GetNSSToken reference */ } } NSSRWLock_LockWrite(td->tokensLock); @@ -1076,7 +1081,11 @@ STAN_GetNSSCertificate(CERTCertificate *cc) nssArena_Destroy(arena); return NULL; } - instance->token = nssToken_AddRef(PK11Slot_GetNSSToken(cc->slot)); + instance->token = PK11Slot_GetNSSToken(cc->slot); + if (!instance->token) { + nssArena_Destroy(arena); + return NULL; + } instance->handle = cc->pkcs11ID; instance->isTokenObject = PR_TRUE; if (cc->nickname) { @@ -1269,6 +1278,10 @@ STAN_ChangeCertTrust(CERTCertificate *cc, CERTCertTrust *trust) NSSASCII7 *email = c->email; tok = PK11Slot_GetNSSToken(slot); PK11_FreeSlot(slot); + if (!tok) { + nssrv = PR_FAILURE; + goto done; + }
newInstance = nssToken_ImportCertificate(tok, NULL, NSSCertificateType_PKIX, @@ -1283,6 +1296,7 @@ STAN_ChangeCertTrust(CERTCertificate *cc, CERTCertTrust *trust) nss_ZFreeIf(nickname); nickname = NULL; if (!newInstance) { + (void)nssToken_Destroy(tok); nssrv = PR_FAILURE; goto done; } @@ -1294,6 +1308,7 @@ STAN_ChangeCertTrust(CERTCertificate *cc, CERTCertTrust *trust) nssTrust->codeSigning, nssTrust->emailProtection, nssTrust->stepUpApproved, PR_TRUE); + (void)nssToken_Destroy(tok); } if (newInstance) { nssCryptokiObject_Destroy(newInstance); diff --git a/security/nss/lib/pki/trustdomain.c b/security/nss/lib/pki/trustdomain.c index 151b888750d07..c8f9f1d5b988c 100644 --- a/security/nss/lib/pki/trustdomain.c +++ b/security/nss/lib/pki/trustdomain.c @@ -11,6 +11,7 @@ #endif /* PKIM_H */
#include "cert.h" +#include "dev3hack.h" #include "pki3hack.h" #include "pk11pub.h" #include "nssrwlk.h" @@ -61,11 +62,14 @@ static void token_destructor(void *t) { NSSToken *tok = (NSSToken *)t; - /* The token holds the first/last reference to the slot. - * When the token is actually destroyed (ref count == 0), - * the slot will also be destroyed. - */ - nssToken_Destroy(tok); + /* Remove the token list's reference to the token */ + (void)nssToken_Destroy(tok); + + /* Signal that the slot should not give out any more references to the + * token. The token might still have a positive refcount after this call. + * The token has a reference to the slot, so the slot will not be destroyed + * until after the token's refcount drops to 0. */ + PK11Slot_SetNSSToken(tok->pk11slot, NULL); }
NSS_IMPLEMENT PRStatus @@ -127,7 +131,6 @@ nssTrustDomain_GetActiveSlots( return NULL; } nssList_GetArray(td->tokenList, (void **)tokens, count); - NSSRWLock_UnlockRead(td->tokensLock); count = 0; for (tp = tokens; *tp; tp++) { NSSSlot *slot = nssToken_GetSlot(*tp); @@ -137,6 +140,7 @@ nssTrustDomain_GetActiveSlots( nssSlot_Destroy(slot); } } + NSSRWLock_UnlockRead(td->tokensLock); nss_ZFreeIf(tokens); if (!count) { nss_ZFreeIf(slots); @@ -469,7 +473,7 @@ nssTrustDomain_FindCertificatesByNickname( numRemaining, &status); } - nssToken_Destroy(token); + (void)nssToken_Destroy(token); if (status != PR_SUCCESS) { errors++; continue; @@ -618,7 +622,7 @@ nssTrustDomain_FindCertificatesBySubject( numRemaining, &status); } - nssToken_Destroy(token); + (void)nssToken_Destroy(token); if (status != PR_SUCCESS) { errors++; continue; @@ -779,7 +783,7 @@ nssTrustDomain_FindCertificateByIssuerAndSerialNumber( tokenOnly, &status); } - nssToken_Destroy(token); + (void)nssToken_Destroy(token); if (status != PR_SUCCESS) { continue; } @@ -1022,7 +1026,7 @@ NSSTrustDomain_TraverseCertificates( collector, collection); } - nssToken_Destroy(token); + (void)nssToken_Destroy(token); } }
@@ -1076,7 +1080,7 @@ nssTrustDomain_FindTrustForCertificate( nssCryptokiObject_Destroy(to); } } - nssToken_Destroy(token); + (void)nssToken_Destroy(token); } } if (pkio) { @@ -1126,7 +1130,7 @@ nssTrustDomain_FindCRLsBySubject( instances = nssToken_FindCRLsBySubject(token, session, subject, tokenOnly, 0, &status); } - nssToken_Destroy(token); + (void)nssToken_Destroy(token); if (status == PR_SUCCESS) { /* add the found CRL's to the collection */ status = nssPKIObjectCollection_AddInstances(collection, diff --git a/security/nss/lib/softoken/softkver.h b/security/nss/lib/softoken/softkver.h index f3506b6e461fd..929b9809e7b4c 100644 --- a/security/nss/lib/softoken/softkver.h +++ b/security/nss/lib/softoken/softkver.h @@ -17,10 +17,10 @@ * The format of the version string should be * "<major version>.<minor version>[.<patch level>[.<build number>]][ <ECC>][ <Beta>]" */ -#define SOFTOKEN_VERSION "3.68.2" SOFTOKEN_ECC_STRING +#define SOFTOKEN_VERSION "3.68.3" SOFTOKEN_ECC_STRING #define SOFTOKEN_VMAJOR 3 #define SOFTOKEN_VMINOR 68 -#define SOFTOKEN_VPATCH 2 +#define SOFTOKEN_VPATCH 3 #define SOFTOKEN_VBUILD 0 #define SOFTOKEN_BETA PR_FALSE
diff --git a/security/nss/lib/util/nssutil.h b/security/nss/lib/util/nssutil.h index 28e0f1e8b4025..8548404b4755d 100644 --- a/security/nss/lib/util/nssutil.h +++ b/security/nss/lib/util/nssutil.h @@ -19,10 +19,10 @@ * The format of the version string should be * "<major version>.<minor version>[.<patch level>[.<build number>]][ <Beta>]" */ -#define NSSUTIL_VERSION "3.68.2" +#define NSSUTIL_VERSION "3.68.3" #define NSSUTIL_VMAJOR 3 #define NSSUTIL_VMINOR 68 -#define NSSUTIL_VPATCH 2 +#define NSSUTIL_VPATCH 3 #define NSSUTIL_VBUILD 0 #define NSSUTIL_BETA PR_FALSE
This is an automated email from the git hooks/post-receive script.
richard pushed a commit to branch tor-browser-91.8.0esr-11.0-1 in repository tor-browser.
commit 0ab16a8812f0543c614ce2ca67360df962bc931b Author: Mark Adler madler@alumni.caltech.edu AuthorDate: Mon Mar 28 17:44:49 2022 +0000
Bug 1761799 - Fix a bug that can crash deflate on some input when using Z_FIXED. r=tjr a=dmeehan
This bug was reported by Danilo Ramos of Eideticom, Inc. It has lain in wait 13 years before being found! The bug was introduced in zlib 1.2.2.2, with the addition of the Z_FIXED option. That option forces the use of fixed Huffman codes. For rare inputs with a large number of distant matches, the pending buffer into which the compressed data is written can overwrite the distance symbol table which it overlays. That results in corrupted output due to invalid distances, and can result in out-of-bound accesses, crashing the application.
The fix here combines the distance buffer and literal/length buffers into a single symbol buffer. Now three bytes of pending buffer space are opened up for each literal or length/distance pair consumed, instead of the previous two bytes. This assures that the pending buffer cannot overwrite the symbol table, since the maximum fixed code compressed length/distance is 31 bits, and since there are four bytes of pending space for every three bytes of symbol space.
Differential Revision: https://phabricator.services.mozilla.com/D142231 --- modules/zlib/src/ChangeLog.moz | 4 +++ modules/zlib/src/deflate.c | 74 ++++++++++++++++++++++++++++++------------ modules/zlib/src/deflate.h | 25 +++++++------- modules/zlib/src/trees.c | 50 ++++++++-------------------- 4 files changed, 83 insertions(+), 70 deletions(-)
diff --git a/modules/zlib/src/ChangeLog.moz b/modules/zlib/src/ChangeLog.moz index b6e01e3f5d3bb..3376de172aac7 100644 --- a/modules/zlib/src/ChangeLog.moz +++ b/modules/zlib/src/ChangeLog.moz @@ -71,3 +71,7 @@ Mozilla.org changes: - 28 May 2021 Add <unistd.h> because of the error: implicit declaration of function {lseek, read, write} is invalid in C99. See bug #1701197 + +- 28 March 2022 + Backport upstream fix for CVE-2018-25032 + See bug #1761799 diff --git a/modules/zlib/src/deflate.c b/modules/zlib/src/deflate.c index 1ec761448de92..48dfcb139b89d 100644 --- a/modules/zlib/src/deflate.c +++ b/modules/zlib/src/deflate.c @@ -252,11 +252,6 @@ int ZEXPORT deflateInit2_(strm, level, method, windowBits, memLevel, strategy, int wrap = 1; static const char my_version[] = ZLIB_VERSION;
- ushf *overlay; - /* We overlay pending_buf and d_buf+l_buf. This works since the average - * output size for (length,distance) codes is <= 24 bits. - */ - if (version == Z_NULL || version[0] != my_version[0] || stream_size != sizeof(z_stream)) { return Z_VERSION_ERROR; @@ -326,9 +321,47 @@ int ZEXPORT deflateInit2_(strm, level, method, windowBits, memLevel, strategy,
s->lit_bufsize = 1 << (memLevel + 6); /* 16K elements by default */
- overlay = (ushf *) ZALLOC(strm, s->lit_bufsize, sizeof(ush)+2); - s->pending_buf = (uchf *) overlay; - s->pending_buf_size = (ulg)s->lit_bufsize * (sizeof(ush)+2L); + /* We overlay pending_buf and sym_buf. This works since the average size + * for length/distance pairs over any compressed block is assured to be 31 + * bits or less. + * + * Analysis: The longest fixed codes are a length code of 8 bits plus 5 + * extra bits, for lengths 131 to 257. The longest fixed distance codes are + * 5 bits plus 13 extra bits, for distances 16385 to 32768. The longest + * possible fixed-codes length/distance pair is then 31 bits total. + * + * sym_buf starts one-fourth of the way into pending_buf. So there are + * three bytes in sym_buf for every four bytes in pending_buf. Each symbol + * in sym_buf is three bytes -- two for the distance and one for the + * literal/length. As each symbol is consumed, the pointer to the next + * sym_buf value to read moves forward three bytes. From that symbol, up to + * 31 bits are written to pending_buf. The closest the written pending_buf + * bits gets to the next sym_buf symbol to read is just before the last + * code is written. At that time, 31*(n-2) bits have been written, just + * after 24*(n-2) bits have been consumed from sym_buf. sym_buf starts at + * 8*n bits into pending_buf. (Note that the symbol buffer fills when n-1 + * symbols are written.) The closest the writing gets to what is unread is + * then n+14 bits. Here n is lit_bufsize, which is 16384 by default, and + * can range from 128 to 32768. + * + * Therefore, at a minimum, there are 142 bits of space between what is + * written and what is read in the overlain buffers, so the symbols cannot + * be overwritten by the compressed data. That space is actually 139 bits, + * due to the three-bit fixed-code block header. + * + * That covers the case where either Z_FIXED is specified, forcing fixed + * codes, or when the use of fixed codes is chosen, because that choice + * results in a smaller compressed block than dynamic codes. That latter + * condition then assures that the above analysis also covers all dynamic + * blocks. A dynamic-code block will only be chosen to be emitted if it has + * fewer bits than a fixed-code block would for the same set of symbols. + * Therefore its average symbol length is assured to be less than 31. So + * the compressed data for a dynamic block also cannot overwrite the + * symbols from which it is being constructed. + */ + + s->pending_buf = (uchf *) ZALLOC(strm, s->lit_bufsize, 4); + s->pending_buf_size = (ulg)s->lit_bufsize * 4;
if (s->window == Z_NULL || s->prev == Z_NULL || s->head == Z_NULL || s->pending_buf == Z_NULL) { @@ -337,8 +370,12 @@ int ZEXPORT deflateInit2_(strm, level, method, windowBits, memLevel, strategy, deflateEnd (strm); return Z_MEM_ERROR; } - s->d_buf = overlay + s->lit_bufsize/sizeof(ush); - s->l_buf = s->pending_buf + (1+sizeof(ush))*s->lit_bufsize; + s->sym_buf = s->pending_buf + s->lit_bufsize; + s->sym_end = (s->lit_bufsize - 1) * 3; + /* We avoid equality with lit_bufsize*3 because of wraparound at 64K + * on 16 bit machines and because stored blocks are restricted to + * 64K-1 bytes. + */
s->level = level; s->strategy = strategy; @@ -549,7 +586,7 @@ int ZEXPORT deflatePrime (strm, bits, value)
if (deflateStateCheck(strm)) return Z_STREAM_ERROR; s = strm->state; - if ((Bytef *)(s->d_buf) < s->pending_out + ((Buf_size + 7) >> 3)) + if (s->sym_buf < s->pending_out + ((Buf_size + 7) >> 3)) return Z_BUF_ERROR; do { put = Buf_size - s->bi_valid; @@ -1108,7 +1145,6 @@ int ZEXPORT deflateCopy (dest, source) #else deflate_state *ds; deflate_state *ss; - ushf *overlay;
if (deflateStateCheck(source) || dest == Z_NULL) { @@ -1128,8 +1164,7 @@ int ZEXPORT deflateCopy (dest, source) ds->window = (Bytef *) ZALLOC(dest, ds->w_size, 2*sizeof(Byte)); ds->prev = (Posf *) ZALLOC(dest, ds->w_size, sizeof(Pos)); ds->head = (Posf *) ZALLOC(dest, ds->hash_size, sizeof(Pos)); - overlay = (ushf *) ZALLOC(dest, ds->lit_bufsize, sizeof(ush)+2); - ds->pending_buf = (uchf *) overlay; + ds->pending_buf = (uchf *) ZALLOC(dest, ds->lit_bufsize, 4);
if (ds->window == Z_NULL || ds->prev == Z_NULL || ds->head == Z_NULL || ds->pending_buf == Z_NULL) { @@ -1143,8 +1178,7 @@ int ZEXPORT deflateCopy (dest, source) zmemcpy(ds->pending_buf, ss->pending_buf, (uInt)ds->pending_buf_size);
ds->pending_out = ds->pending_buf + (ss->pending_out - ss->pending_buf); - ds->d_buf = overlay + ds->lit_bufsize/sizeof(ush); - ds->l_buf = ds->pending_buf + (1+sizeof(ush))*ds->lit_bufsize; + ds->sym_buf = ds->pending_buf + ds->lit_bufsize;
ds->l_desc.dyn_tree = ds->dyn_ltree; ds->d_desc.dyn_tree = ds->dyn_dtree; @@ -1912,7 +1946,7 @@ local block_state deflate_fast(s, flush) FLUSH_BLOCK(s, 1); return finish_done; } - if (s->last_lit) + if (s->sym_next) FLUSH_BLOCK(s, 0); return block_done; } @@ -2043,7 +2077,7 @@ local block_state deflate_slow(s, flush) FLUSH_BLOCK(s, 1); return finish_done; } - if (s->last_lit) + if (s->sym_next) FLUSH_BLOCK(s, 0); return block_done; } @@ -2118,7 +2152,7 @@ local block_state deflate_rle(s, flush) FLUSH_BLOCK(s, 1); return finish_done; } - if (s->last_lit) + if (s->sym_next) FLUSH_BLOCK(s, 0); return block_done; } @@ -2157,7 +2191,7 @@ local block_state deflate_huff(s, flush) FLUSH_BLOCK(s, 1); return finish_done; } - if (s->last_lit) + if (s->sym_next) FLUSH_BLOCK(s, 0); return block_done; } diff --git a/modules/zlib/src/deflate.h b/modules/zlib/src/deflate.h index 23ecdd312bc06..d4cf1a98be4db 100644 --- a/modules/zlib/src/deflate.h +++ b/modules/zlib/src/deflate.h @@ -217,7 +217,7 @@ typedef struct internal_state { /* Depth of each subtree used as tie breaker for trees of equal frequency */
- uchf *l_buf; /* buffer for literals or lengths */ + uchf *sym_buf; /* buffer for distances and literals/lengths */
uInt lit_bufsize; /* Size of match buffer for literals/lengths. There are 4 reasons for @@ -239,13 +239,8 @@ typedef struct internal_state { * - I can't count above 4 */
- uInt last_lit; /* running index in l_buf */ - - ushf *d_buf; - /* Buffer for distances. To simplify the code, d_buf and l_buf have - * the same number of elements. To use different lengths, an extra flag - * array would be necessary. - */ + uInt sym_next; /* running index in sym_buf */ + uInt sym_end; /* symbol table full when sym_next reaches this */
ulg opt_len; /* bit length of current block with optimal trees */ ulg static_len; /* bit length of current block with static trees */ @@ -325,20 +320,22 @@ void ZLIB_INTERNAL _tr_stored_block OF((deflate_state *s, charf *buf,
# define _tr_tally_lit(s, c, flush) \ { uch cc = (c); \ - s->d_buf[s->last_lit] = 0; \ - s->l_buf[s->last_lit++] = cc; \ + s->sym_buf[s->sym_next++] = 0; \ + s->sym_buf[s->sym_next++] = 0; \ + s->sym_buf[s->sym_next++] = cc; \ s->dyn_ltree[cc].Freq++; \ - flush = (s->last_lit == s->lit_bufsize-1); \ + flush = (s->sym_next == s->sym_end); \ } # define _tr_tally_dist(s, distance, length, flush) \ { uch len = (uch)(length); \ ush dist = (ush)(distance); \ - s->d_buf[s->last_lit] = dist; \ - s->l_buf[s->last_lit++] = len; \ + s->sym_buf[s->sym_next++] = dist; \ + s->sym_buf[s->sym_next++] = dist >> 8; \ + s->sym_buf[s->sym_next++] = len; \ dist--; \ s->dyn_ltree[_length_code[len]+LITERALS+1].Freq++; \ s->dyn_dtree[d_code(dist)].Freq++; \ - flush = (s->last_lit == s->lit_bufsize-1); \ + flush = (s->sym_next == s->sym_end); \ } #else # define _tr_tally_lit(s, c, flush) flush = _tr_tally(s, 0, c) diff --git a/modules/zlib/src/trees.c b/modules/zlib/src/trees.c index 50cf4b4571cfe..5f89d056ef969 100644 --- a/modules/zlib/src/trees.c +++ b/modules/zlib/src/trees.c @@ -416,7 +416,7 @@ local void init_block(s)
s->dyn_ltree[END_BLOCK].Freq = 1; s->opt_len = s->static_len = 0L; - s->last_lit = s->matches = 0; + s->sym_next = s->matches = 0; }
#define SMALLEST 1 @@ -947,7 +947,7 @@ void ZLIB_INTERNAL _tr_flush_block(s, buf, stored_len, last)
Tracev((stderr, "\nopt %lu(%lu) stat %lu(%lu) stored %lu lit %u ", opt_lenb, s->opt_len, static_lenb, s->static_len, stored_len, - s->last_lit)); + s->sym_next / 3));
if (static_lenb <= opt_lenb) opt_lenb = static_lenb;
@@ -1016,8 +1016,9 @@ int ZLIB_INTERNAL _tr_tally (s, dist, lc) unsigned dist; /* distance of matched string */ unsigned lc; /* match length-MIN_MATCH or unmatched char (if dist==0) */ { - s->d_buf[s->last_lit] = (ush)dist; - s->l_buf[s->last_lit++] = (uch)lc; + s->sym_buf[s->sym_next++] = dist; + s->sym_buf[s->sym_next++] = dist >> 8; + s->sym_buf[s->sym_next++] = lc; if (dist == 0) { /* lc is the unmatched char */ s->dyn_ltree[lc].Freq++; @@ -1032,30 +1033,7 @@ int ZLIB_INTERNAL _tr_tally (s, dist, lc) s->dyn_ltree[_length_code[lc]+LITERALS+1].Freq++; s->dyn_dtree[d_code(dist)].Freq++; } - -#ifdef TRUNCATE_BLOCK - /* Try to guess if it is profitable to stop the current block here */ - if ((s->last_lit & 0x1fff) == 0 && s->level > 2) { - /* Compute an upper bound for the compressed length */ - ulg out_length = (ulg)s->last_lit*8L; - ulg in_length = (ulg)((long)s->strstart - s->block_start); - int dcode; - for (dcode = 0; dcode < D_CODES; dcode++) { - out_length += (ulg)s->dyn_dtree[dcode].Freq * - (5L+extra_dbits[dcode]); - } - out_length >>= 3; - Tracev((stderr,"\nlast_lit %u, in %ld, out ~%ld(%ld%%) ", - s->last_lit, in_length, out_length, - 100L - out_length*100L/in_length)); - if (s->matches < s->last_lit/2 && out_length < in_length/2) return 1; - } -#endif - return (s->last_lit == s->lit_bufsize-1); - /* We avoid equality with lit_bufsize because of wraparound at 64K - * on 16 bit machines and because stored blocks are restricted to - * 64K-1 bytes. - */ + return (s->sym_next == s->sym_end); }
/* =========================================================================== @@ -1068,13 +1046,14 @@ local void compress_block(s, ltree, dtree) { unsigned dist; /* distance of matched string */ int lc; /* match length or unmatched char (if dist == 0) */ - unsigned lx = 0; /* running index in l_buf */ + unsigned sx = 0; /* running index in sym_buf */ unsigned code; /* the code to send */ int extra; /* number of extra bits to send */
- if (s->last_lit != 0) do { - dist = s->d_buf[lx]; - lc = s->l_buf[lx++]; + if (s->sym_next != 0) do { + dist = s->sym_buf[sx++] & 0xff; + dist += (unsigned)(s->sym_buf[sx++] & 0xff) << 8; + lc = s->sym_buf[sx++]; if (dist == 0) { send_code(s, lc, ltree); /* send a literal byte */ Tracecv(isgraph(lc), (stderr," '%c' ", lc)); @@ -1099,11 +1078,10 @@ local void compress_block(s, ltree, dtree) } } /* literal or match pair ? */
- /* Check that the overlay between pending_buf and d_buf+l_buf is ok: */ - Assert((uInt)(s->pending) < s->lit_bufsize + 2*lx, - "pendingBuf overflow"); + /* Check that the overlay between pending_buf and sym_buf is ok: */ + Assert(s->pending < s->lit_bufsize + sx, "pendingBuf overflow");
- } while (lx < s->last_lit); + } while (sx < s->sym_next);
send_code(s, END_BLOCK, ltree); }
This is an automated email from the git hooks/post-receive script.
richard pushed a commit to branch tor-browser-91.8.0esr-11.0-1 in repository tor-browser.
commit 0388bb28d3b04bdb2e97707a378ea0b997b90587 Author: Julien Cristau jcristau@mozilla.com AuthorDate: Wed Mar 30 14:54:03 2022 +0200
Bug 1762128 - bump the cache name for decision images to stop interfering with other trees. r=releng-reviewers,ahal a=release
hg 4.8 (e.g. from the v3.0.1 decision image) seems to choke on cached repos created with 5.8 (from v4.0.0).
Differential Revision: https://phabricator.services.mozilla.com/D142455 --- .taskcluster.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.taskcluster.yml b/.taskcluster.yml index f9a6c01e3c8c3..0dcf23dae753c 100644 --- a/.taskcluster.yml +++ b/.taskcluster.yml @@ -214,7 +214,7 @@ tasks: ACTION_CALLBACK: '${action.cb_name}'
cache: - "${trustDomain}-level-${repository.level}-checkouts-sparse-v2": /builds/worker/checkouts + "${trustDomain}-level-${repository.level}-checkouts-sparse-v3": /builds/worker/checkouts
features: taskclusterProxy: true
This is an automated email from the git hooks/post-receive script.
richard pushed a commit to branch tor-browser-91.8.0esr-11.0-1 in repository tor-browser.
commit 43294d46724d11d946514d5db322fbeb2acf696c Author: donal meehan dmeehan@mozilla.com AuthorDate: Wed Mar 30 10:00:19 2022 -0400
Backed out changeset 8c09f2e41217 (bug 1762128) issue in the build pipeline only affects central not esr --- .taskcluster.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.taskcluster.yml b/.taskcluster.yml index 0dcf23dae753c..f9a6c01e3c8c3 100644 --- a/.taskcluster.yml +++ b/.taskcluster.yml @@ -214,7 +214,7 @@ tasks: ACTION_CALLBACK: '${action.cb_name}'
cache: - "${trustDomain}-level-${repository.level}-checkouts-sparse-v3": /builds/worker/checkouts + "${trustDomain}-level-${repository.level}-checkouts-sparse-v2": /builds/worker/checkouts
features: taskclusterProxy: true
This is an automated email from the git hooks/post-receive script.
richard pushed a commit to branch tor-browser-91.8.0esr-11.0-1 in repository tor-browser.
commit a981804052f46924027b7d91896844ca5df9aafc Author: Kershaw Chang kershaw@mozilla.com AuthorDate: Wed Mar 30 13:13:01 2022 +0000
Bug 1761026 - Add a null check for FetchDriver::mResponse, r=necko-reviewers,dragana a=dmeehan
This patch adds a null check to avoid crashing when `mResponse` is null.
Differential Revision: https://phabricator.services.mozilla.com/D141911 --- dom/fetch/FetchDriver.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/dom/fetch/FetchDriver.cpp b/dom/fetch/FetchDriver.cpp index 8eac7c1e688eb..4da3e0faa2f0b 100644 --- a/dom/fetch/FetchDriver.cpp +++ b/dom/fetch/FetchDriver.cpp @@ -1295,10 +1295,14 @@ FetchDriver::OnDataAvailable(nsIRequest* aRequest, nsIInputStream* aInputStream, } }
+ if (!mResponse) { + MOZ_ASSERT(false); + return NS_ERROR_UNEXPECTED; + } + // Needs to be initialized to 0 because in some cases nsStringInputStream may // not write to aRead. uint32_t aRead = 0; - MOZ_ASSERT(mResponse); MOZ_ASSERT(mPipeOutputStream);
// From "Main Fetch" step 19: SRI-part2.
tor-commits@lists.torproject.org