Annotating each test individually lets us avoid introducing new failing tests
while we go through the backlog of failing tests.
Depends on D129162
Differential Revision: https://phabricator.services.mozilla.com/D129163
CLOSED TREE
Backed out changeset 511af4b42efc (bug 1734132)
Backed out changeset 9516eb1214d8 (bug 1734132)
Backed out changeset 513d740d6477 (bug 1734132)
Annotating each test individually lets us avoid introducing new failing tests
while we go through the backlog of failing tests.
Depends on D129162
Differential Revision: https://phabricator.services.mozilla.com/D129163
Normally DNS resolutions are AF_UNSPEC - meaning that both A and AAAA
responses are acceptable.
However, some consumers of the DNS API will query A or AAAA separately
(like the WebRTC code), and use the responses independently.
In that case, we want to ensure that for a host that only has a A record,
we don't fallback to Do53 for the AAAA request and leak the hostname to
the system resolver.
To achieve this we change the logic as such:
If the response from DoH was NXDOMAIN we then query the other family.
If the other response was OK, that means we should not fallback to Do53.
If the other family response was also NXDOMAIN, the host is probably not
available to the public internet and falling back is probably fine.
Differential Revision: https://phabricator.services.mozilla.com/D130047
Because trr_test_setup() sets `network.dns.native-is-localhost` to true and
the test expects `donotexist.example.com` to fail to resolve, the test
seems to always fail.
We need to clear the pref after calling trr_test_setup.
Differential Revision: https://phabricator.services.mozilla.com/D130046
The order in which we send A/AAAA requests is unspecified.
This test assumed the A request is always first. If we change that logic,
then the variable ends up != 0 on the second request, so we don't get the
proper response anymore.
This patch changes the server handler so it returns the proper response
after decoding the request packet.
Differential Revision: https://phabricator.services.mozilla.com/D130043
It's nicer to destructure the response using
`let {inRecord, inStatus} = await new TRRDNSListener(...)`
instead of
`let [,inRecord,inStatus] = await new TRRDNSListener(...)`
Differential Revision: https://phabricator.services.mozilla.com/D130042
This patch introduces ipcclientcerts, a PKCS#11 module that the socket process
can load to get access to client certificates and keys managed by the parent
process. This enables client certificate authentication to work with the socket
process (particularly for keys stored outside of NSS, as with osclientcerts or
third-party PKCS#11 modules).
Differential Revision: https://phabricator.services.mozilla.com/D122392
Revert some of the fix for 1722758 so that only the URL ref component is re-encoded for NSURL compatibility. Other URL fields need additional work to be addressed in a follow up.
Update the set of characters re-encoded to be as minimal as possible and include missing characters.
Add tests to ensure encoding works as expected, not just that it is accepted by NSURL.
Differential Revision: https://phabricator.services.mozilla.com/D130445
According to https://datatracker.ietf.org/doc/html/rfc7540#section-4.2
The size of a frame payload is limited by the maximum size that a
receiver advertises in the SETTINGS_MAX_FRAME_SIZE setting. This
setting can have any value between 2^14 (16,384) and 2^24-1
(16,777,215) octets, inclusive.
Our previous clamping to 0x3fff prevented us from writing more than
16K bytes at a time for HTTP/2.
See bug 1596576 comment 61 and bug 1596576 comment 54.
This patch doesn't change the default value of the pref, it just allows
us to experiment with a larger chunk size.
Differential Revision: https://phabricator.services.mozilla.com/D130856
netwerk/dns/mdns/libmdns/MDNSResponderReply.cpp:41:14: error: use of undeclared identifier 'OnSocketThread'
MOZ_ASSERT(OnSocketThread(), "not on socket thread");
netwerk/dns/mdns/libmdns/nsDNSServiceDiscovery.cpp:30:16: error: use of undeclared identifier 'NS_IsMainThread'
MOZ_ASSERT(NS_IsMainThread());
Differential Revision: https://phabricator.services.mozilla.com/D130718
Normally DNS resolutions are AF_UNSPEC - meaning that both A and AAAA
responses are acceptable.
However, some consumers of the DNS API will query A or AAAA separately
(like the WebRTC code), and use the responses independently.
In that case, we want to ensure that for a host that only has a A record,
we don't fallback to Do53 for the AAAA request and leak the hostname to
the system resolver.
To achieve this we change the logic as such:
If the response from DoH was NXDOMAIN we then query the other family.
If the other response was OK, that means we should not fallback to Do53.
If the other family response was also NXDOMAIN, the host is probably not
available to the public internet and falling back is probably fine.
Differential Revision: https://phabricator.services.mozilla.com/D130047
Because trr_test_setup() sets `network.dns.native-is-localhost` to true and
the test expects `donotexist.example.com` to fail to resolve, the test
seems to always fail.
We need to clear the pref after calling trr_test_setup.
Differential Revision: https://phabricator.services.mozilla.com/D130046
The order in which we send A/AAAA requests is unspecified.
This test assumed the A request is always first. If we change that logic,
then the variable ends up != 0 on the second request, so we don't get the
proper response anymore.
This patch changes the server handler so it returns the proper response
after decoding the request packet.
Differential Revision: https://phabricator.services.mozilla.com/D130043
It's nicer to destructure the response using
`let {inRecord, inStatus} = await new TRRDNSListener(...)`
instead of
`let [,inRecord,inStatus] = await new TRRDNSListener(...)`
Differential Revision: https://phabricator.services.mozilla.com/D130042
`profiler_thread_is_being_profiled` is used a lot for markers, so it makes sense to have a specialized version, which is a bit shorter, and lives in ProfilerMarkers.h.
Differential Revision: https://phabricator.services.mozilla.com/D130009
Given that we use the partitioned Principal in the third-party context
and the loading principal won't have it, we should ignore the
partitionKey when doing the verfication.
Differential Revision: https://phabricator.services.mozilla.com/D127841
This change fixes the following -Wunused-but-set-parameter warning:
netwerk/test/fuzz/FuzzingStreamListener.cpp:18:49: warning: parameter 'aOffset' set but not used [-Wunused-but-set-parameter]
Differential Revision: https://phabricator.services.mozilla.com/D129350
This patch:
1. adds two 'highValueHasSavedLogin' and 'highValueIsLoggedIn' permission
2. moves 'AddHighValuePermission' from HttpBaseChannel to ProcessIsolation
to support more high-value permission type.
Differential Revision: https://phabricator.services.mozilla.com/D127101
`profiler_thread_is_being_profiled` is used a lot for markers, so it makes sense to have a specialized version, which is a bit shorter, and lives in ProfilerMarkers.h.
Differential Revision: https://phabricator.services.mozilla.com/D130009
This patch:
1. adds two 'highValueHasSavedLogin' and 'highValueIsLoggedIn' permission
2. moves 'AddHighValuePermission' from HttpBaseChannel to ProcessIsolation
to support more high-value permission type.
Differential Revision: https://phabricator.services.mozilla.com/D127101
A call to InitCommandLine was added in Bug 1727180 where gArgc and gArgv are
not defined.
The same bug also re-enabled some tests that appeared to pass (but really they
were just silently crashing), this patch fixes that too.
Differential Revision: https://phabricator.services.mozilla.com/D130223
This is needed in order to provide precision reduction on timestamps from
libwebrtc. Similarly useful for providing a clock adapter so libwebrtc can use
our clock.
Differential Revision: https://phabricator.services.mozilla.com/D125715
This is needed in order to provide precision reduction on timestamps from
libwebrtc. Similarly useful for providing a clock adapter so libwebrtc can use
our clock.
Differential Revision: https://phabricator.services.mozilla.com/D125715
This patch:
1. adds two 'highValueHasSavedLogin' and 'highValueIsLoggedIn' permission
2. moves 'AddHighValuePermission' from HttpBaseChannel to ProcessIsolation
to support more high-value permission type.
Differential Revision: https://phabricator.services.mozilla.com/D127101
Currently, soft reload uses the `VALIDATE_ALWAYS` flag to not only
force revalidate the top level document, but also subresources.
This causes content to be refetched from the web even if there
are caches that are still valid and can be used.
Chrome already has such behaviour to not revalidate all resources.
Differential Revision: https://phabricator.services.mozilla.com/D122270
Make the following functions private because they are only used in nsHttpResponseHead.cpp for compiler optimization-
GetDateValue,GetAgeValue,GetMaxAgeValue,GetExpiresValue.
GetLastModifiedValue cannot be made private since it is being used in CachePushChecker.cpp and ParseDateHeader is already private.
Differential Revision: https://phabricator.services.mozilla.com/D129664
Currently `AsyncOpenTime` is generated when DocumentChannel is
created, rather than being set in the `AsyncOpen` function. This is
mysterious and the reason for doing it this way is unclear.
I noticed a discrepancy while comparing the test result for
`nav2_test_redirect_server.html`. When I run it locally, the
value of `redirectStart` was 0.05 for me in Firefox and 1.5 in Chrome,
which turned out AsyncOpenTime was being used, and it didn't look like
it was set to the correct value.
I think we should use `TimeStamp::Now()` instead which appeals to be
more accurate.
Differential Revision: https://phabricator.services.mozilla.com/D129549
CLOSED TREE
Backed out changeset 309190b4a49d (bug 1732792)
Backed out changeset 600e6dfd7436 (bug 1732792)
Backed out changeset 834441a08cc0 (bug 1733481)
It seems that the serialization generated by inet_ntop_internal via
getnameinfo is sometimes wrong, returning `?` instead of serializing the
IP we pass in.
It's also inefficient to keep passing the serialization to and from rust
code - instead it's much easier to just pass a pointer to the NetAddr
union and build a proper SocketAddr instance on the rust side from
from the bytes instead of parsing the serialization
Differential Revision: https://phabricator.services.mozilla.com/D129489
It seems that the serialization generated by inet_ntop_internal via
getnameinfo is sometimes wrong, returning `?` instead of serializing the
IP we pass in.
It's also inefficient to keep passing the serialization to and from rust
code - instead it's much easier to just pass a pointer to the NetAddr
union and build a proper SocketAddr instance on the rust side from
from the bytes instead of parsing the serialization
Differential Revision: https://phabricator.services.mozilla.com/D129489