Commit Graph

992 Commits

Author SHA1 Message Date
Dan Minor
eae489fda9 Bug 1554976 - Use StunAddrs to set interface for mdns_service; r=mjf
The Rust get_if_addrs library previously used does not build on Android with
our build system. Since we're already using nICEr to determine the local
interface addresses, rather than fix the Rust library, we can use those
addresses to set the interface on which mdns_service listens.

Differential Revision: https://phabricator.services.mozilla.com/D42760

--HG--
extra : moz-landing-system : lando
2019-08-28 19:51:18 +00:00
Dan Minor
2511d2ab0c Bug 1554976 - Make mDNS service a singleton; r=mjf
The current code causes one mDNS service to be created for each PeerConnection.
Due to Bug 1569311, the services persist until shutdown, which can lead to a
lot of mDNS threads running on sites which use WebRTC for fingerprinting. This
change makes it so we start at most one mDNS service.

I've filed Bug 1569955 to look at shutting down the mDNS service after the
last hostname is unregistered. As an alternative, if we fix Bug 1569311, we
could also use refcounting and stop the mDNS service after the last
StunAddrsRequestParent is freed.

Differential Revision: https://phabricator.services.mozilla.com/D42151

--HG--
extra : moz-landing-system : lando
2019-08-28 19:50:51 +00:00
Dan Minor
51353ec9f7 Bug 1554976 - Use mdns_service to generate UUIDs; r=mjf
With the move to the socket process, the UUID service is no longer available
in nricectx. This adds a pair of helper functions to mdns_service to generate
UUIDs and uses them to generate hostnames inside nricectx.

Differential Revision: https://phabricator.services.mozilla.com/D42150

--HG--
extra : moz-landing-system : lando
2019-08-28 19:50:44 +00:00
Dan Minor
6c6b65f876 Bug 1554976 - Add plumbing to enable/disable host address obfuscation; r=mjf
This only enables mDNS on OS X for now. Some versions of Windows lack mDNS
support, there are some oddities with resolving IPv6 addresses on Linux, and
Android has not yet been tested. All of these will be addressed in follow on
bugs.

Differential Revision: https://phabricator.services.mozilla.com/D38496

--HG--
extra : moz-landing-system : lando
2019-08-28 19:50:06 +00:00
Dan Minor
6c39c9271f Bug 1554976 - Generate mDNS addresses in nricectx; r=mjf
Differential Revision: https://phabricator.services.mozilla.com/D38493

--HG--
extra : moz-landing-system : lando
2019-08-28 19:49:24 +00:00
Dan Minor
6285d788cc Bug 1554976 - Add methods to register/unregister mDNS hostnames to StunAddrsRequestParent; r=mjf
Differential Revision: https://phabricator.services.mozilla.com/D38492

--HG--
extra : moz-landing-system : lando
2019-08-28 19:49:12 +00:00
Dan Minor
04580ed952 Bug 1554976 - Add rust mdns library to mtransport; r=ng,dragana
This adds a mdns_service to mtransport to handle responding to mDNS queries.
All hostnames will be generated from UUIDs, so the responder assumes that it
is the only responder for a hostname which is registered with it. Because of
this, the responder does not first make a DNS query itself to see if any other
responder is handling a hostname, and does not wait a random amount of time
before replying, both of which are required by the specification to avoid
collisions with other responders.

Differential Revision: https://phabricator.services.mozilla.com/D38489

--HG--
extra : moz-landing-system : lando
2019-08-28 19:48:50 +00:00
Gurzau Raul
a6c5c5e3ac Backed out 14 changesets (bug 1554976) for Windows build bustages on a CLOSED TREE.
Backed out changeset a9b209d9d880 (bug 1554976)
Backed out changeset 27b4dddf9597 (bug 1554976)
Backed out changeset 3e16c10bb966 (bug 1554976)
Backed out changeset 6a404fca61dc (bug 1554976)
Backed out changeset 77c4e76c8130 (bug 1554976)
Backed out changeset 24f146b86cc4 (bug 1554976)
Backed out changeset b49b4326dcfd (bug 1554976)
Backed out changeset e2c837d1e0a0 (bug 1554976)
Backed out changeset 24728144c263 (bug 1554976)
Backed out changeset a099e69241a0 (bug 1554976)
Backed out changeset 0e34595c2680 (bug 1554976)
Backed out changeset a506bb40047e (bug 1554976)
Backed out changeset 513026415092 (bug 1554976)
Backed out changeset e0fc6a1d4332 (bug 1554976)
2019-08-28 18:10:11 +03:00
Dan Minor
a81f8d6f24 Bug 1554976 - Use StunAddrs to set interface for mdns_service; r=mjf
The Rust get_if_addrs library previously used does not build on Android with
our build system. Since we're already using nICEr to determine the local
interface addresses, rather than fix the Rust library, we can use those
addresses to set the interface on which mdns_service listens.

Differential Revision: https://phabricator.services.mozilla.com/D42760

--HG--
extra : moz-landing-system : lando
2019-08-28 13:12:26 +00:00
Dan Minor
c3d8942d0f Bug 1554976 - Make mDNS service a singleton; r=mjf
The current code causes one mDNS service to be created for each PeerConnection.
Due to Bug 1569311, the services persist until shutdown, which can lead to a
lot of mDNS threads running on sites which use WebRTC for fingerprinting. This
change makes it so we start at most one mDNS service.

I've filed Bug 1569955 to look at shutting down the mDNS service after the
last hostname is unregistered. As an alternative, if we fix Bug 1569311, we
could also use refcounting and stop the mDNS service after the last
StunAddrsRequestParent is freed.

Differential Revision: https://phabricator.services.mozilla.com/D42151

--HG--
extra : moz-landing-system : lando
2019-08-28 13:12:01 +00:00
Dan Minor
d54770d4a5 Bug 1554976 - Use mdns_service to generate UUIDs; r=mjf
With the move to the socket process, the UUID service is no longer available
in nricectx. This adds a pair of helper functions to mdns_service to generate
UUIDs and uses them to generate hostnames inside nricectx.

Differential Revision: https://phabricator.services.mozilla.com/D42150

--HG--
extra : moz-landing-system : lando
2019-08-28 13:11:49 +00:00
Dan Minor
2da923ff0b Bug 1554976 - Add plumbing to enable/disable host address obfuscation; r=mjf
This only enables mDNS on OS X for now. Some versions of Windows lack mDNS
support, there are some oddities with resolving IPv6 addresses on Linux, and
Android has not yet been tested. All of these will be addressed in follow on
bugs.

Differential Revision: https://phabricator.services.mozilla.com/D38496

--HG--
extra : moz-landing-system : lando
2019-08-28 13:11:33 +00:00
Dan Minor
9fa62a0a55 Bug 1554976 - Generate mDNS addresses in nricectx; r=mjf
Differential Revision: https://phabricator.services.mozilla.com/D38493

--HG--
extra : moz-landing-system : lando
2019-08-28 13:11:14 +00:00
Dan Minor
6803a86c10 Bug 1554976 - Add methods to register/unregister mDNS hostnames to StunAddrsRequestParent; r=mjf
Differential Revision: https://phabricator.services.mozilla.com/D38492

--HG--
extra : moz-landing-system : lando
2019-08-28 13:11:11 +00:00
Dan Minor
a17af56ba5 Bug 1554976 - Add rust mdns library to mtransport; r=ng,dragana
This adds a mdns_service to mtransport to handle responding to mDNS queries.
All hostnames will be generated from UUIDs, so the responder assumes that it
is the only responder for a hostname which is registered with it. Because of
this, the responder does not first make a DNS query itself to see if any other
responder is handling a hostname, and does not wait a random amount of time
before replying, both of which are required by the specification to avoid
collisions with other responders.

Differential Revision: https://phabricator.services.mozilla.com/D38489

--HG--
extra : moz-landing-system : lando
2019-08-28 13:09:59 +00:00
Kershaw Chang
5018d39958 Bug 1571987 - Forward proxy check request to parent process r=dragana,bwc
Differential Revision: https://phabricator.services.mozilla.com/D41004

--HG--
extra : moz-landing-system : lando
2019-08-24 05:37:00 +00:00
Sylvestre Ledru
d264b841c9 Bug 1576502 - Fix some wording issues r=mhoye
Differential Revision: https://phabricator.services.mozilla.com/D43363

--HG--
extra : moz-landing-system : lando
2019-08-27 15:38:58 +00:00
Tijl Coosemans
9c3421dfef Bug 1575876 - Drop header unused on FreeBSD that breaks with new libc++. r=bwc
--HG--
extra : histedit_source : ef16b712dcd62120d01b902a5f734a8163c907a3
2019-08-24 01:38:05 +03:00
Ryan Alderete
4b595ec1a8 Bug 1570158 - Add proxy information to candidates table in about:webrtc r=bwc,baku
This adds a field to about:webrtc which indicates whether an associated
candidate is behind a proxy or not.

Differential Revision: https://phabricator.services.mozilla.com/D39974

--HG--
extra : moz-landing-system : lando
2019-08-21 10:04:45 +00:00
Ryan Alderete
dccf61abe4 Bug 1574512 - Fix error handling in nr_ice_set_target_for_default_local_address_lookup() r=bwc
If the remote IP address and port number are unable to be converted to a
transport address, the context was incorrectly left with a pointer to zeroed
out memory, which causes nr_ice_get_default_local_address() to abort.  Freeing
the address and setting the pointer to null on failure should allow the
fallback to be used to retrieve the default local address.

Differential Revision: https://phabricator.services.mozilla.com/D42661

--HG--
extra : moz-landing-system : lando
2019-08-20 15:46:59 +00:00
Sylvestre Ledru
645f2d5773 Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan
# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D41559

--HG--
extra : moz-landing-system : lando
2019-08-13 07:15:25 +00:00
Ryan Alderete
41872c8747 Bug 1452713 - Update webRTCIPHandlingPolicy to match Chrome r=bwc,mixedpuppy
Previously, the network.webRTCIPHandlingPolicy "disable_non_proxied_udp" only
enabled the use of WebRTC if a proxy was configured and the WebRTC service
supported TURN TCP.

This aims to match Chrome's behavior by forcing the use of a proxy if one is
configured, otherwise falling back to mode 3 (no host candidates and default
route only).

Also, remove some dead code left over from the old way of routing TURN
communications through an HTTP proxy.

Differential Revision: https://phabricator.services.mozilla.com/D37892

--HG--
extra : moz-landing-system : lando
2019-08-02 21:33:46 +00:00
Dan Minor
97c5db53eb Bug 1561923 - Remove expired WebRTC telemetry; r=drno,bwc
Differential Revision: https://phabricator.services.mozilla.com/D37757

--HG--
extra : moz-landing-system : lando
2019-07-31 19:57:55 +00:00
Andrea Marchesini
cef26c06c6 Bug 1567892 - PeerConnectionMedia should use nsIProtocolProxyService on the parent process - PProxyConfigLookup IPC protocol, r=bwc,kershaw,jld
Differential Revision: https://phabricator.services.mozilla.com/D39010

--HG--
extra : moz-landing-system : lando
2019-07-29 12:27:59 +00:00
Ryan Alderete
992406dcb2 Bug 1506219 - Use a known remote for applications loaded from file:// URIs r=bwc
Fall back to using Google's DNS server to determine the associated local
addresses for web applications that are not loaded over the network.  This
includes the loopback address, which is frequently used in the unit tests.

Provide a separate function for setting the target for the default local
address lookup.

Differential Revision: https://phabricator.services.mozilla.com/D37331

--HG--
extra : moz-landing-system : lando
2019-07-24 21:58:33 +00:00
Ryan Alderete
cd13ca2e02 Bug 1506219 - Update default route according to latest IETF draft r=bwc
draft-ietf-rtcweb-ip-handling specifies that the default route is the route
used to reach the origin rather than the one used to reach the internet, so
update the IP routing to reflect this.  This addresses issues in which the
wrong IP address is used on machines with multiple network interfaces.

Differential Revision: https://phabricator.services.mozilla.com/D36831

--HG--
extra : moz-landing-system : lando
2019-07-24 19:50:46 +00:00
Andreea Pavel
14071390d5 Backed out 2 changesets (bug 1567892) for build bustages on a CLOSED TREE
Backed out changeset edcdfaa8a2b1 (bug 1567892)
Backed out changeset 3aef1ee02e9b (bug 1567892)
2019-07-25 08:26:29 +03:00
Andrea Marchesini
00f3ae963f Bug 1567892 - PeerConnectionMedia should use nsIProtocolProxyService on the parent process - part 2 - PProxyConfigLookup IPC protocol, r=bwc,kershaw
Differential Revision: https://phabricator.services.mozilla.com/D39010

--HG--
extra : moz-landing-system : lando
2019-07-25 04:51:00 +00:00
Ciure Andrei
24c0d0e47d Backed out 2 changesets (bug 1506219) for causing test_presentation_datachannel_sessiontransport.html to perma fail CLOSED TREE
Backed out changeset 7e39db6e12a5 (bug 1506219)
Backed out changeset ab31fbc14a00 (bug 1506219)
2019-07-22 23:54:45 +03:00
Kershaw Chang
e2c104ab0a Bug 1566033 - Modernize ExportDEREncryptedPrivateKeyInfo and ImportDEREncryptedPrivateKeyInfo r=keeler,bwc
Differential Revision: https://phabricator.services.mozilla.com/D38374

--HG--
extra : moz-landing-system : lando
2019-07-22 17:56:48 +00:00
Ryan Alderete
14e5b45ecc Bug 1506219 - Use a known remote for applications loaded from file:// URIs r=bwc
Fall back to using Google's DNS server to determine the associated local
addresses for web applications that are not loaded over the network.  This
includes the loopback address, which is frequently used in the unit tests.

Provide a separate function for setting the target for the default local
address lookup.

Differential Revision: https://phabricator.services.mozilla.com/D37331

--HG--
extra : moz-landing-system : lando
2019-07-22 15:42:06 +00:00
Ryan Alderete
35bd2662ca Bug 1506219 - Update default route according to latest IETF draft r=bwc
draft-ietf-rtcweb-ip-handling specifies that the default route is the route
used to reach the origin rather than the one used to reach the internet, so
update the IP routing to reflect this.  This addresses issues in which the
wrong IP address is used on machines with multiple network interfaces.

Differential Revision: https://phabricator.services.mozilla.com/D36831

--HG--
extra : moz-landing-system : lando
2019-07-22 15:43:12 +00:00
Barret Rennie
cafb5a8bb7 Bug 1289211 - Rename InfallibleTArray to nsTArray in media/ r=bwc
Differential Revision: https://phabricator.services.mozilla.com/D36964

--HG--
extra : moz-landing-system : lando
2019-07-10 05:58:24 +00:00
Byron Campen [:bwc]
ff7e1aeb02 Bug 1558887: Reduce this STUN response delay a little, since on some platforms it seems to be too long. r=mjf
Differential Revision: https://phabricator.services.mozilla.com/D37474

--HG--
extra : moz-landing-system : lando
2019-07-10 02:07:19 +00:00
Byron Campen [:bwc]
af27bbdf9f Bug 1513464: Unset the grace period timer when we start ICE, and when ICE completes. r=mjf
Differential Revision: https://phabricator.services.mozilla.com/D37322

--HG--
extra : moz-landing-system : lando
2019-07-08 22:15:00 +00:00
Byron Campen [:bwc]
38430c2de2 Bug 1283943: Add some logging to help diagnose. r=mjf
Differential Revision: https://phabricator.services.mozilla.com/D37127

--HG--
extra : moz-landing-system : lando
2019-07-08 16:23:26 +00:00
Byron Campen [:bwc]
935a645aef Bug 1558886: Don't expect exactly one ready stream once ICE is connected. r=mjf
Differential Revision: https://phabricator.services.mozilla.com/D36501

--HG--
extra : moz-landing-system : lando
2019-07-08 16:13:45 +00:00
Byron Campen [:bwc]
d65a769702 Bug 1560562: Check whether we should log before building the log string. r=mjf
Differential Revision: https://phabricator.services.mozilla.com/D35543

--HG--
extra : moz-landing-system : lando
2019-06-21 21:09:22 +00:00
Sylvestre Ledru
f1fbd2ff00 Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan
# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D33456

--HG--
extra : moz-landing-system : lando
2019-06-08 08:26:37 +00:00
Dan Minor
3dc6d32216 Bug 1548841 - Do not pair local relay candidates to remote mDNS candidates; r=bwc
This can lead to leaking remote mDNS addresses to TURN servers.
See: https://tools.ietf.org/html/draft-ietf-rtcweb-mdns-ice-candidates-03#section-3.3.2

Differential Revision: https://phabricator.services.mozilla.com/D30936

--HG--
extra : moz-landing-system : lando
2019-05-15 17:38:44 +00:00
Dan Minor
2477747488 Bug 1548841 - Obfuscate mDNS ICE candidate addresses; r=bwc
This adds a mdns_addr field to nICEr ICE candidates to track the mDNS address
associated with a candidate, if any. This is used to hide the real address
when generating ICE stats. This potentially could be handled at the
MediaTransportHandler level, but we need to know if a candidate is mDNS to
prevent pairing it with relay candidates, which is part of the next commit.

This adds a unit tests to check that the mDNS addresses are handled properly.
As part of doing this, TestBogusCandidate was fixed. As written, it was never
parsing the bogus candidate because it was in the wrong ICE state.

Differential Revision: https://phabricator.services.mozilla.com/D30935

--HG--
extra : moz-landing-system : lando
2019-05-15 22:55:55 +00:00
Byron Campen [:bwc]
bdf8e19a56 Bug 1551740: Don't gather on obsolete streams. r=mjf
Differential Revision: https://phabricator.services.mozilla.com/D31269

--HG--
extra : moz-landing-system : lando
2019-05-17 00:48:54 +00:00
Boris Zbarsky
e26cc00e3e Bug 1550364 part 6. Stop using [array] in nsIUDPSocketInternal. r=baku
Differential Revision: https://phabricator.services.mozilla.com/D30449

--HG--
extra : moz-landing-system : lando
2019-05-09 06:55:07 +00:00
Boris Zbarsky
941d39f649 Bug 1550364 part 4. Move various methods from nsIUDPSocketChild to dom::UDPSocketChild, and simplify their signatures where possible. r=baku
Differential Revision: https://phabricator.services.mozilla.com/D30447

--HG--
extra : moz-landing-system : lando
2019-05-09 06:55:06 +00:00
Boris Zbarsky
86aa098b68 Bug 1550364 part 2. Use dom::UDPSocketChild, not nsIUDPSocketChild, in C++ code. r=baku
Differential Revision: https://phabricator.services.mozilla.com/D30445

--HG--
extra : moz-landing-system : lando
2019-05-09 06:55:05 +00:00
Valentin Gosu
975c55c679 Bug 1525640 - Pass TRR status from sockettransport to channel r=dragana
Differential Revision: https://phabricator.services.mozilla.com/D26882

--HG--
extra : moz-landing-system : lando
2019-05-06 16:47:14 +00:00
Bogdan Tara
8244fce3c8 Backed out 3 changesets (bug 1525640) for frequent wpt failures CLOSED TREE
Backed out changeset d9a454afe9bf (bug 1525640)
Backed out changeset 19aa991328cb (bug 1525640)
Backed out changeset 4294abed890f (bug 1525640)
2019-05-03 00:16:20 +03:00
Valentin Gosu
50b2b648b6 Bug 1525640 - Add nsIHttpChannelInternal.isResolvedByTRR r=dragana
Differential Revision: https://phabricator.services.mozilla.com/D26884

--HG--
extra : moz-landing-system : lando
2019-05-02 12:53:45 +00:00
Sylvestre Ledru
e226046cb8 Bug 1547143 - Format the tree: Be prescriptive with the pointer style (left) r=Ehsan
# ignore-this-changeset

Depends on D28954

Differential Revision: https://phabricator.services.mozilla.com/D28956

--HG--
extra : moz-landing-system : lando
2019-05-01 08:47:10 +00:00
Byron Campen [:bwc]
668700caf4 Bug 1546562: Teach TransportLayerDtls and TransportLayerSrtp to cope when TransportLayerIce fails, and then recovers. r=mjf
Differential Revision: https://phabricator.services.mozilla.com/D28840

--HG--
extra : moz-landing-system : lando
2019-04-26 14:49:12 +00:00