2019-12-18 Franziskus Kiefer <franziskuskiefer@gmail.com>
* automation/saw/chacha20.saw, automation/taskcluster/docker-
builds/Dockerfile, automation/taskcluster/docker-
hacl/B6C8F98282B944E3B0D5C2530FC3042E345AD05D.asc,
automation/taskcluster/docker-hacl/Dockerfile,
automation/taskcluster/docker-hacl/bin/checkout.sh,
automation/taskcluster/docker-hacl/license.txt,
automation/taskcluster/docker-hacl/setup-user.sh,
automation/taskcluster/docker-hacl/setup.sh,
automation/taskcluster/graph/src/extend.js,
automation/taskcluster/scripts/run_hacl.sh,
gtests/pk11_gtest/pk11_chacha20poly1305_unittest.cc,
lib/freebl/Makefile, lib/freebl/blapii.h, lib/freebl/blinit.c,
lib/freebl/chacha20poly1305.c, lib/freebl/det_rng.c,
lib/freebl/ecl/curve25519_64.c, lib/freebl/freebl.gyp,
lib/freebl/freebl_base.gypi, nss-tool/hw-support.c:
Bug 1574643 - NSS changes for haclv2 r=jcj,kjacobs
This patch contains the changes in NSS, necessary to pick up HACL*v2
in D55413. It has a couple of TODOs:
* The chacha20 saw verification fails for some reason; it's disabled
pending Bug 1604130.
* The hacl task on CI requires Bug 1593647 to get fixed.
Depends on D55413.
[ac51d2490f9c] [tip]
* lib/freebl/verified/FStar.c, lib/freebl/verified/FStar.h,
lib/freebl/verified/Hacl_Chacha20.c,
lib/freebl/verified/Hacl_Chacha20.h,
lib/freebl/verified/Hacl_Chacha20Poly1305_128.c,
lib/freebl/verified/Hacl_Chacha20Poly1305_128.h,
lib/freebl/verified/Hacl_Chacha20Poly1305_32.c,
lib/freebl/verified/Hacl_Chacha20Poly1305_32.h,
lib/freebl/verified/Hacl_Chacha20_Vec128.c,
lib/freebl/verified/Hacl_Chacha20_Vec128.h,
lib/freebl/verified/Hacl_Curve25519.c,
lib/freebl/verified/Hacl_Curve25519.h,
lib/freebl/verified/Hacl_Curve25519_51.c,
lib/freebl/verified/Hacl_Curve25519_51.h,
lib/freebl/verified/Hacl_Kremlib.h,
lib/freebl/verified/Hacl_Poly1305_128.c,
lib/freebl/verified/Hacl_Poly1305_128.h,
lib/freebl/verified/Hacl_Poly1305_32.c,
lib/freebl/verified/Hacl_Poly1305_32.h,
lib/freebl/verified/Hacl_Poly1305_64.c,
lib/freebl/verified/Hacl_Poly1305_64.h,
lib/freebl/verified/kremlib.h, lib/freebl/verified/kremlib_base.h,
lib/freebl/verified/kremlin/include/kremlin/internal/callconv.h,
lib/freebl/verified/kremlin/include/kremlin/internal/compat.h,
lib/freebl/verified/kremlin/include/kremlin/internal/target.h,
lib/freebl/verified/kremlin/include/kremlin/internal/types.h,
lib/freebl/verified/kremlin/include/kremlin/lowstar_endianness.h,
lib/freebl/verified/kremlin/kremlib/dist/minimal/FStar_UInt128.h, li
b/freebl/verified/kremlin/kremlib/dist/minimal/FStar_UInt128_Verifie
d.h, lib/freebl/verified/kremlin/kremlib/dist/minimal/FStar_UInt_8_1
6_32_64.h, lib/freebl/verified/kremlin/kremlib/dist/minimal/LowStar_
Endianness.h, lib/freebl/verified/kremlin/kremlib/dist/minimal/fstar
_uint128_gcc64.h, lib/freebl/verified/kremlin/kremlib/dist/minimal/f
star_uint128_msvc.h, lib/freebl/verified/libintvector.h,
lib/freebl/verified/specs/Spec.CTR.fst,
lib/freebl/verified/specs/Spec.Chacha20.fst,
lib/freebl/verified/specs/Spec.Curve25519.fst,
lib/freebl/verified/specs/Spec.Poly1305.fst,
lib/freebl/verified/vec128.h:
Bug 1574643 - haclv2 code r=kjacobs
This updates the in-tree version of our existing HACL* code to v2,
replacing what we have already. Once this landed NSS can pick up
more (faster) code from HACL*.
[c351b2f60b40]
Differential Revision: https://phabricator.services.mozilla.com/D57821
--HG--
extra : moz-landing-system : lando
When we open a new window from a content process, we create a nested event
loop to wait for it to be initialized by the parent. The problem with this is
that the OpenWindow code which calls the window provider expects the window to
be in-process and uninitialized, so that it can load its own initial URI into
it, and correctly fulfil the spec-codified contract of window.open(). If
another caller initiates a load in the new window during the nested event
loop, those invariants are broken, and any manner of undefined behavior can
occur.
This patch adds a new flag to the BrowsingContext, marking it as uninitialized
until the end of the nested event loop, and blocking any attempts to load a
new URI into it in the meantime.
Differential Revision: https://phabricator.services.mozilla.com/D57667
--HG--
extra : moz-landing-system : lando
This doesn't solve all problems with potential reentrancy during window.open
nested event loops, but it does improve the situation somewhat. Since any
window in the same BrowsingContextGroup can target any window in the same
group, we need to suspend all windows in the group, not just the root of the
new window's parent. We also need to make sure we suspend all in-process
windows, even if we have out-of-process frames somewhere in the parent chain.
This patch takes care of suspending timeouts and input event handling in all
of these cases. It doesn't block all potential paths for running code in the
suspended windows, though, so the next patch explicitly prevents the
problematic reentrancy.
Differential Revision: https://phabricator.services.mozilla.com/D57666
--HG--
extra : moz-landing-system : lando
Perusing the changelog, the differences since last version bump are mostly
centered around ironing Python 3 issues. Nothing that should be backwards
incompatible, but larger changes than a dot release might warrant. So bumping
the minor version.
Differential Revision: https://phabricator.services.mozilla.com/D57854
--HG--
extra : moz-landing-system : lando
This is fallout from landing Bug 1586370, we have Bug 1605134 already on file
as a followup, so we'll disable the test for now and fix as part of that bug.
Depends on D57829
Differential Revision: https://phabricator.services.mozilla.com/D57845
--HG--
extra : moz-landing-system : lando
It turns out we can send messages over PHttpBackgroundChannel before OnStartRequest, in the case where we have content process serviceworkers generating a synthetic response.
This triggers diversion without sending OnStartRequest. We can remove this code again when we remove diversion.
Differential Revision: https://phabricator.services.mozilla.com/D57383
--HG--
extra : moz-landing-system : lando
This stops the originating docshell from showing as loading while a download is in progress, and prevents it from cancelling the download if it tries to navigate again.
Differential Revision: https://phabricator.services.mozilla.com/D57673
--HG--
extra : moz-landing-system : lando
Changes:
Several tests in `screen-orientation` subsuite are flaky when run on ubuntu1804 with either `webrender` or `asan`. Mark them with expectation of ["OK", "ERROR"] to compensate.
Differential Revision: https://phabricator.services.mozilla.com/D57651
--HG--
extra : moz-landing-system : lando
Also drops the bug645970 naming as we don't really need to reference that bug number any more.
Differential Revision: https://phabricator.services.mozilla.com/D57680
--HG--
rename : toolkit/components/search/tests/xpcshell/data/search-extensions/bug645970/manifest.json => toolkit/components/search/tests/xpcshell/simple-engines/basic/manifest.json
rename : toolkit/components/search/tests/xpcshell/data/search-extensions/engines.json => toolkit/components/search/tests/xpcshell/simple-engines/engines.json
rename : toolkit/components/search/tests/xpcshell/data/search-extensions/hidden/manifest.json => toolkit/components/search/tests/xpcshell/simple-engines/hidden/manifest.json
rename : toolkit/components/search/tests/xpcshell/data/search-extensions/list.json => toolkit/components/search/tests/xpcshell/simple-engines/list.json
extra : moz-landing-system : lando
Changes:
Mark this particular failure with permissive fuzzy-if to be investigated at a later time. In the meantime this will permit both ubuntu16/18 to pass the tests.
Differential Revision: https://phabricator.services.mozilla.com/D57753
--HG--
extra : moz-landing-system : lando
Changes:
This test is a permafail on ubuntu1804 across all build types and is one of the remaining tests in mochitest-e10s to be greened up.
Mark it with a `fail-if` in case in the future this test begins passing again.
Differential Revision: https://phabricator.services.mozilla.com/D57697
--HG--
extra : moz-landing-system : lando
Changes:
Marking the test with a permissive `fuzzy-if` to accommodate both ubuntu1804 and ubuntu1604; fuzzy value will be tightened once migration is complete.
Differential Revision: https://phabricator.services.mozilla.com/D57728
--HG--
extra : moz-landing-system : lando
Changes:
Follow-up to D54671 - `asan` and `debug` produce a slightly different outcome than regular builds, and thus must also be annotated.
Precedence exists in the form of ubuntu1604 `asan`/`debug` being marked with the same outcomes.
Differential Revision: https://phabricator.services.mozilla.com/D57688
--HG--
extra : moz-landing-system : lando
If the test only fails today with fission with the old RDM, then it makes no
sense to fix that now. Better wait for the new RDM to be enabled as it will
probably change how this test runs.
Differential Revision: https://phabricator.services.mozilla.com/D57798
--HG--
extra : moz-landing-system : lando
- make the fork server use the same sandbox level as content processes to make preloading work correctly.
- pass |canChroot| through env instead of hard coding.
Differential Revision: https://phabricator.services.mozilla.com/D57221
--HG--
extra : moz-landing-system : lando
A fix for Bug 1588975 replaced the call to `LaunchWithIProcess` in
`nsMIMEInfoWin::LaunchWithFile` with the call to `ShellExecuteWithIFile` to use
`mozilla::ShellExecuteByExplorer`. This caused a regression that if a filepath
contains whitespaces, we pass it to a target application without quoting it
while the old codepath `ShellExecuteWithIFile` quoted a path accordingly in
`assembleCmdLine`.
A proposed fix is to quote a path in the same way as `assembleCmdLine` does.
This patch also moves `assembleCmdLine` to an exported header so that we can add
a unittest to cover both of `assembleCmdLine` and a new function
`assembleSingleArgument. It would be better to refactor these functions in the
future because many lines are duplicated.
Differential Revision: https://phabricator.services.mozilla.com/D56646
--HG--
extra : moz-landing-system : lando
Intermediate preloading telemetry is overwhelmingly "failedToObserve", which at
the moment is a catch-all indicating that something in
updatePreloadedIntermediates failed. We need to figure out why, so this patch
re-purposes the categories "emptyAttachment", "failedToFetch", and
"unexpectedLength", which are currently not used, to indicate failures in
specific sub-operations in that function.
Differential Revision: https://phabricator.services.mozilla.com/D57676
--HG--
extra : moz-landing-system : lando
- Convert to a StunAddrRequestState enum so there is now a pending state,
rather than just done/not done. This is to make sure we don't have
multiple stun addrs requests in flight at the same time.
- Reset the stun addrs in PeerConnectionMedia from PeerConnectionImpl when
PeerConnectionImpl::SetSignalingState_m detects ICE restart in an offer.
- GatherIfReady will now request new stun addrs if none are available.
Differential Revision: https://phabricator.services.mozilla.com/D55883
--HG--
extra : moz-landing-system : lando
This undoes the mistaken move of this directory into third_party that happened
as part of bug 1346025.
The .flake8 changes are required because lldbutils used to be excluded from
linting by virtue of being inside third_party, but would otherwise be subject
to it after this move. Fixing the existing lint errors will happen in:
- https://bugzilla.mozilla.org/show_bug.cgi?id=1605144
- https://bugzilla.mozilla.org/show_bug.cgi?id=1605145
Differential Revision: https://phabricator.services.mozilla.com/D57141
--HG--
rename : third_party/python/lldbutils/README.txt => python/lldbutils/README.txt
rename : third_party/python/lldbutils/lldbutils/__init__.py => python/lldbutils/lldbutils/__init__.py
rename : third_party/python/lldbutils/lldbutils/content.py => python/lldbutils/lldbutils/content.py
rename : third_party/python/lldbutils/lldbutils/general.py => python/lldbutils/lldbutils/general.py
rename : third_party/python/lldbutils/lldbutils/gfx.py => python/lldbutils/lldbutils/gfx.py
rename : third_party/python/lldbutils/lldbutils/layout.py => python/lldbutils/lldbutils/layout.py
rename : third_party/python/lldbutils/lldbutils/utils.py => python/lldbutils/lldbutils/utils.py
extra : moz-landing-system : lando