closes #645: M171156 M1700895 M1665836 +TLDs TZs HSTS

This commit is contained in:
Cameron Kaiser 2021-07-10 19:00:40 -07:00
parent 80ab2a7137
commit 7e26521144
11 changed files with 6676 additions and 1797 deletions

View File

@ -1 +1 @@
45.41.1
45.41.2

View File

@ -1 +1 @@
Feature Parity Release 32 (SPR 1)
Feature Parity Release 32 (SPR 2)

View File

@ -10,4 +10,4 @@
# hardcoded milestones in the tree from these two files.
#--------------------------------------------------------
45.41.1
45.41.2

View File

@ -708,7 +708,7 @@ metaZones:table(nofallback){
001{"Asia/Yerevan"}
}
Yukon{
001{"America/Yakutat"}
001{"America/Whitehorse"}
}
}
metazoneInfo{
@ -1132,11 +1132,6 @@ metaZones:table(nofallback){
"1970-01-01 00:00",
"1983-10-30 11:00",
}
{
"Yukon",
"1983-10-30 11:00",
"1983-11-30 09:00",
}
{
"Alaska",
"1983-11-30 09:00",
@ -1552,18 +1547,13 @@ metaZones:table(nofallback){
}
}
"America:Dawson"{
{
"Yukon",
"1970-01-01 00:00",
"1973-10-28 09:00",
}
{
"America_Pacific",
"1973-10-28 09:00",
"2020-11-01 07:00",
}
{
"America_Mountain",
"Yukon",
"2020-11-01 07:00",
"9999-12-31 23:59",
}
@ -1894,21 +1884,11 @@ metaZones:table(nofallback){
"1970-01-01 00:00",
"1980-04-27 10:00",
}
{
"Yukon",
"1980-04-27 10:00",
"1980-10-26 10:00",
}
{
"America_Pacific",
"1980-10-26 10:00",
"1983-10-30 09:00",
}
{
"Yukon",
"1983-10-30 09:00",
"1983-11-30 09:00",
}
{
"Alaska",
"1983-11-30 09:00",
@ -2169,11 +2149,6 @@ metaZones:table(nofallback){
"1970-01-01 00:00",
"1983-10-30 12:00",
}
{
"Yukon",
"1983-10-30 12:00",
"1983-11-30 09:00",
}
{
"Alaska",
"1983-11-30 09:00",
@ -2447,11 +2422,6 @@ metaZones:table(nofallback){
"1970-01-01 00:00",
"1983-10-30 09:00",
}
{
"Yukon",
"1983-10-30 09:00",
"1983-11-30 09:00",
}
{
"Alaska",
"1983-11-30 09:00",
@ -2542,7 +2512,7 @@ metaZones:table(nofallback){
"2020-11-01 07:00",
}
{
"America_Mountain",
"Yukon",
"2020-11-01 07:00",
"9999-12-31 23:59",
}
@ -2553,11 +2523,6 @@ metaZones:table(nofallback){
}
}
"America:Yakutat"{
{
"Yukon",
"1970-01-01 00:00",
"1983-11-30 09:00",
}
{
"Alaska",
"1983-11-30 09:00",

View File

@ -610,13 +610,16 @@ windowsZones:table(nofallback){
MW{"Africa/Blantyre"}
MZ{"Africa/Maputo"}
RW{"Africa/Kigali"}
SS{"Africa/Juba"}
SZ{"Africa/Mbabane"}
ZA{"Africa/Johannesburg"}
ZM{"Africa/Lusaka"}
ZW{"Africa/Harare"}
ZZ{"Etc/GMT-2"}
}
"South Sudan Standard Time"{
001{"Africa/Juba"}
SS{"Africa/Juba"}
}
"Sri Lanka Standard Time"{
001{"Asia/Colombo"}
LK{"Asia/Colombo"}

View File

@ -3289,8 +3289,11 @@ nsCSSFrameConstructor::ConstructTextFrame(const FrameConstructionData* aData,
// Add the newly constructed frame to the flow
aFrameItems.AddChild(newFrame);
if (!aState.mCreatingExtraFrames)
if (!aState.mCreatingExtraFrames ||
(aContent->IsInNativeAnonymousSubtree() &&
!aContent->GetPrimaryFrame())) {
aContent->SetPrimaryFrame(newFrame);
}
}
/* static */

View File

@ -3075,6 +3075,44 @@ nsStandardURL::Read(nsIObjectInputStream *stream)
mExtension.Merge(mSpec, ';', old_param);
}
// "bool nsStandardURL::IsValid()" from bug 1700895
auto checkSegment = [&](const nsStandardURL::URLSegment& aSeg) {
// Bad value
if (NS_WARN_IF(aSeg.mLen < -1)) {
return false;
}
if (aSeg.mLen == -1) {
return true;
}
// Points out of string
if (NS_WARN_IF(aSeg.mPos + aSeg.mLen > mSpec.Length())) {
return false;
}
// Overflow
if (NS_WARN_IF(aSeg.mPos + aSeg.mLen < aSeg.mPos)) {
return false;
}
return true;
};
bool allSegmentsValid = checkSegment(mScheme) && checkSegment(mAuthority) &&
checkSegment(mUsername) && checkSegment(mPassword) &&
checkSegment(mHost) && checkSegment(mPath) &&
checkSegment(mFilepath) && checkSegment(mDirectory) &&
checkSegment(mBasename) && checkSegment(mExtension) &&
checkSegment(mQuery) && checkSegment(mRef);
if (!allSegmentsValid) {
NS_WARNING("bogus URL");
return NS_ERROR_MALFORMED_URI;
}
if (mScheme.mPos != 0) {
return NS_ERROR_MALFORMED_URI;
}
return NS_OK;
}
@ -3261,6 +3299,44 @@ nsStandardURL::Deserialize(const URIParams& aParams)
mSupportsFileURL = params.supportsFileURL();
mHostEncoding = params.hostEncoding();
// "bool nsStandardURL::IsValid()" from bug 1700895
auto checkSegment = [&](const nsStandardURL::URLSegment& aSeg) {
// Bad value
if (NS_WARN_IF(aSeg.mLen < -1)) {
return false;
}
if (aSeg.mLen == -1) {
return true;
}
// Points out of string
if (NS_WARN_IF(aSeg.mPos + aSeg.mLen > mSpec.Length())) {
return false;
}
// Overflow
if (NS_WARN_IF(aSeg.mPos + aSeg.mLen < aSeg.mPos)) {
return false;
}
return true;
};
bool allSegmentsValid = checkSegment(mScheme) && checkSegment(mAuthority) &&
checkSegment(mUsername) && checkSegment(mPassword) &&
checkSegment(mHost) && checkSegment(mPath) &&
checkSegment(mFilepath) && checkSegment(mDirectory) &&
checkSegment(mBasename) && checkSegment(mExtension) &&
checkSegment(mQuery) && checkSegment(mRef);
if (!allSegmentsValid) {
NS_WARNING("bogus URL");
return false;
}
if (mScheme.mPos != 0) {
return false;
}
// mSpecEncoding and mHostA are just caches that can be recovered as needed.
return true;
}

View File

@ -10,6 +10,7 @@
#include "nsPrintfCString.h"
#include "nsThreadUtils.h"
#include "mozilla/IOInterposer.h"
#include "mozilla/unused.h"
namespace mozilla {
namespace net {
@ -49,12 +50,21 @@ CacheIOThread::~CacheIOThread()
nsresult CacheIOThread::Init()
{
// Increase the reference count while spawning a new thread.
// If PR_CreateThread succeeds, we will forget this reference and the thread
// will be responsible to release it when it completes.
RefPtr<CacheIOThread> self = this;
mThread = PR_CreateThread(PR_USER_THREAD, ThreadFunc, this,
PR_PRIORITY_NORMAL, PR_GLOBAL_THREAD,
PR_JOINABLE_THREAD, 128 * 1024);
if (!mThread)
return NS_ERROR_FAILURE;
// IMPORTANT: The thread now owns this reference, so it's important that we
// leak it here, otherwise we'll end up with a bad refcount.
// See the dont_AddRef in ThreadFunc().
Unused << self.forget().take();
return NS_OK;
}
@ -169,7 +179,9 @@ void CacheIOThread::ThreadFunc(void* aClosure)
{
PR_SetCurrentThreadName("Cache2 I/O");
mozilla::IOInterposer::RegisterCurrentThread();
CacheIOThread* thread = static_cast<CacheIOThread*>(aClosure);
// We hold on to this reference for the duration of the thread.
RefPtr<CacheIOThread> thread =
dont_AddRef(static_cast<CacheIOThread*>(aClosure));
thread->ThreadFunc();
mozilla::IOInterposer::UnregisterCurrentThread();
}

View File

@ -734,7 +734,6 @@ gouv.ci
// cl : https://www.nic.cl
// Confirmed by .CL registry <hsalgado@nic.cl>
cl
aprendemas.cl
co.cl
gob.cl
gov.cl
@ -7126,7 +7125,7 @@ org.zw
// newGTLDs
// List of new gTLDs imported from https://www.icann.org/resources/registries/gtlds/v2/gtlds.json on 2021-05-11T15:13:51Z
// List of new gTLDs imported from https://www.icann.org/resources/registries/gtlds/v2/gtlds.json on 2021-06-26T15:13:33Z
// This list is auto-generated, don't edit it manually.
// aaa : 2015-02-26 American Automobile Association, Inc.
aaa
@ -7545,7 +7544,7 @@ bridgestone
// broadway : 2014-12-22 Celebrate Broadway, Inc.
broadway
// broker : 2014-12-11 Dotbroker Registry Limited
// broker : 2014-12-11 Dog Beach, LLC
broker
// brother : 2015-01-29 Brother Industries, Ltd.
@ -8226,7 +8225,7 @@ football
// ford : 2014-11-13 Ford Motor Company
ford
// forex : 2014-12-11 Dotforex Registry Limited
// forex : 2014-12-11 Dog Beach, LLC
forex
// forsale : 2014-05-22 Dog Beach, LLC
@ -8964,7 +8963,7 @@ market
// marketing : 2013-11-07 Binky Moon, LLC
marketing
// markets : 2014-12-11 Dotmarkets Registry Limited
// markets : 2014-12-11 Dog Beach, LLC
markets
// marriott : 2014-10-09 Marriott Worldwide Corporation
@ -10041,7 +10040,7 @@ toys
// trade : 2014-01-23 Elite Registry Limited
trade
// trading : 2014-12-11 Dottrading Registry Limited
// trading : 2014-12-11 Dog Beach, LLC
trading
// training : 2013-11-07 Binky Moon, LLC
@ -10800,6 +10799,10 @@ apigee.io
appspacehosted.com
appspaceusercontent.com
// Appudo UG (haftungsbeschränkt) : https://www.appudo.com
// Submitted by Alexander Hochbaum <admin@appudo.com>
appudo.net
// Aptible : https://www.aptible.com/
// Submitted by Thomas Orozco <thomas@aptible.com>
on-aptible.com
@ -10829,6 +10832,10 @@ myasustor.com
// Submitted by Andreas Weise <a.weise@avm.de>
myfritz.net
// AVStack Pte. Ltd. : https://avstack.io
// Submitted by Jasper Hugo <jasper@avstack.io>
onavstack.net
// AW AdvisorWebsites.com Software Inc : https://advisorwebsites.com
// Submitted by James Kennedy <domains@advisorwebsites.com>
*.awdev.ca
@ -10869,6 +10876,10 @@ blackbaudcdn.net
// Submitted by Luke Bratch <luke@bratch.co.uk>
of.je
// Blue Bite, LLC : https://bluebite.com
// Submitted by Joshua Weiss <admin.engineering@bluebite.com>
bluebite.io
// Boomla : https://boomla.com
// Submitted by Tibor Halter <thalter@boomla.com>
boomla.net
@ -10890,6 +10901,10 @@ square7.de
bplaced.net
square7.net
// Brendly : https://brendly.rs
// Submitted by Dusan Radovanovic <dusan.radovanovic@brendly.rs>
shop.brendly.rs
// BrowserSafetyMark
// Submitted by Dave Tharp <browsersafetymark.io@quicinc.com>
browsersafetymark.io
@ -11133,11 +11148,6 @@ cupcake.is
// Submitted by Marvin Wiesner <Marvin@curv-labs.de>
curv.dev
// Curvegrid Inc. : https://www.curvegrid.com/
// Submitted by Pierre Rousset <security@curvegrid.com>
multibaas.app
multibaas.com
// Customer OCI - Oracle Dyn https://cloud.oracle.com/home https://dyn.com/dns/
// Submitted by Gregory Drake <support@dyn.com>
// Note: This is intended to also include customer-oci.com due to wildcards implicitly including the current label
@ -11196,6 +11206,10 @@ builtwithdark.com
// Submitted by Richard Li <secalert@datawire.io>
edgestack.me
// DDNS5 : https://ddns5.com
// Submitted by Cameron Elliott <cameron@cameronelliott.com>
ddns5.com
// Debian : https://www.debian.org/
// Submitted by Peter Palfrader / Debian Sysadmin Team <dsa-publicsuffixlist@debian.org>
debian.net
@ -11874,6 +11888,10 @@ id.forgerock.io
framer.app
framercanvas.com
// Frusky MEDIA&PR : https://www.frusky.de
// Submitted by Victor Pupynin <hallo@frusky.de>
*.frusky.de
// RavPage : https://www.ravpage.co.il
// Submitted by Roni Horowitz <roni@responder.co.il>
ravpage.co.il
@ -11941,7 +11959,6 @@ gsj.bz
// GitHub, Inc.
// Submitted by Patrick Toomey <security@github.com>
githubusercontent.com
github.dev
githubpreview.dev
github.io
@ -12351,6 +12368,10 @@ myjino.ru
*.spectrum.myjino.ru
*.vps.myjino.ru
// Jotelulu S.L. : https://jotelulu.com
// Submitted by Daniel Fariña <ingenieria@jotelulu.com>
jotelulu.cloud
// Joyent : https://www.joyent.com/
// Submitted by Brian Bennett <brian.bennett@joyent.com>
*.triton.zone
@ -12530,6 +12551,11 @@ mcdir.ru
mcpre.ru
vps.mcdir.ru
// Mediatech : https://mediatech.by
// Submitted by Evgeniy Kozhuhovskiy <ugenk@mediatech.by>
mediatech.by
mediatech.dev
// Medicom Health : https://medicomhealth.com
// Submitted by Michael Olson <molson@medicomhealth.com>
hra.health
@ -13018,6 +13044,13 @@ dyn53.io
// Submitted by Zulfais <pc@co.bn>
co.bn
// Postman, Inc : https://postman.com
// Submitted by Rahul Dhawan <security@postman.com>
postman-echo.com
pstmn.io
mock.pstmn.io
httpbin.org
// prgmr.com : https://prgmr.com/
// Submitted by Sarah Newman <owner@prgmr.com>
xen.prgmr.com
@ -13148,6 +13181,10 @@ hzc.io
wellbeingzone.eu
wellbeingzone.co.uk
// Rico Developments Limited : https://adimo.co
// Submitted by Colin Brown <hello@adimo.co>
adimo.co.uk
// Rochester Institute of Technology : http://www.rit.edu/
// Submitted by Jennifer Herting <jchits@rit.edu>
git-pages.rit.edu
@ -13208,6 +13245,10 @@ seidat.net
// Submitted by Felix Mönckemeyer <f.moenckemeyer@senseering.de>
senseering.net
// Sendmsg: https://www.sendmsg.co.il
// Submitted by Assaf Stern <domains@comstar.co.il>
minisite.ms
// Service Magnet : https://myservicemagnet.com
// Submitted by Dave Sanders <dave@myservicemagnet.com>
magnet.page
@ -13281,6 +13322,10 @@ srht.site
// Submitted by Adrien Gillon <adrien+public-suffix-list@stackhero.io>
stackhero-network.com
// Staclar : https://staclar.com
// Submitted by Matthias Merkel <matthias.merkel@staclar.com>
novecore.site
// staticland : https://static.land
// Submitted by Seth Vincent <sethvincent@gmail.com>
static.land

View File

@ -1167,4 +1167,4 @@ static const TransportSecurityPreload kPublicKeyPinningPreloadList[] = {
static const int32_t kUnknownId = -1;
static const PRTime kPreloadPKPinsExpirationTime = INT64_C(1630319942957000);
static const PRTime kPreloadPKPinsExpirationTime = INT64_C(1633949043602000);

File diff suppressed because it is too large Load Diff