From 81f50f092822ffd27c4cff2ac38f8fbe4b0f0f6f Mon Sep 17 00:00:00 2001
From: Youenn Fablet
Date: Wed, 31 Oct 2018 11:38:25 +0100
Subject: [PATCH 1/5] Add a note controlling exposure of remote candidate
addresses
---
webrtc-stats.html | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/webrtc-stats.html b/webrtc-stats.html
index df8180ed..f3e85477 100644
--- a/webrtc-stats.html
+++ b/webrtc-stats.html
@@ -2989,6 +2989,17 @@
addresses, and fully qualified domain names (FQDNs). See
[[!RFC5245]] section 15.1 for details.
+
+ A user agent should make sure to limit exposure of remote candidate addresses to
+ the ones already known to the web application, in particular peer reflexive remote
+ candidate addresses. If a user agent cannot tell whether a remote candidate
+ address is known to the web application, it MUST NOT surface this address value in
+ any RTCICECandidateStats dictionary. Once a RTCPeerConnection instance is notified
+ by the web application of an address using
addIceCandidate
+ the user agent can surface the 'address' member in any remote RTCIceCandidateStats
+ dictionary of the corresponding RTCPeerConnection.
+
port
of type long
From a4a483d03ea7169f674e920a988a9ba8aae4c2a5 Mon Sep 17 00:00:00 2001
From: Youenn Fablet
Date: Mon, 5 Nov 2018 16:32:30 +0700
Subject: [PATCH 2/5] Move from a note to a regular paragraph. Make it clear
that the 'address' member is not set
---
webrtc-stats.html | 11 ++++++-----
1 file changed, 6 insertions(+), 5 deletions(-)
diff --git a/webrtc-stats.html b/webrtc-stats.html
index f3e85477..4307f808 100644
--- a/webrtc-stats.html
+++ b/webrtc-stats.html
@@ -2989,17 +2989,18 @@
addresses, and fully qualified domain names (FQDNs). See
[[!RFC5245]] section 15.1 for details.
-
+
A user agent should make sure to limit exposure of remote candidate addresses to
the ones already known to the web application, in particular peer reflexive remote
candidate addresses. If a user agent cannot tell whether a remote candidate
- address is known to the web application, it MUST NOT surface this address value in
- any RTCICECandidateStats dictionary. Once a RTCPeerConnection instance is notified
- by the web application of an address using addIceCandidate
the user agent can surface the 'address' member in any remote RTCIceCandidateStats
dictionary of the corresponding RTCPeerConnection.
-
+
port
of type long
From c7c0366e51556c9f1a29bc046c9dd98be6bde206 Mon Sep 17 00:00:00 2001
From: Youenn Fablet
Date: Mon, 5 Nov 2018 16:36:56 +0700
Subject: [PATCH 3/5] Improve wording for exposing once learning address is
available
---
webrtc-stats.html | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/webrtc-stats.html b/webrtc-stats.html
index 4307f808..3fe7efa8 100644
--- a/webrtc-stats.html
+++ b/webrtc-stats.html
@@ -2995,11 +2995,12 @@
candidate addresses. If a user agent cannot tell whether a remote candidate
address is known to the web application, it MUST leave the 'address' member as
undefined in the corresponding RTCICECandidateStats dictionary. Once a
- RTCPeerConnection instance is notified by the web application of an address using
+ RTCPeerConnection instance learns on an address by the web application using
addIceCandidate
- the user agent can surface the 'address' member in any remote RTCIceCandidateStats
- dictionary of the corresponding RTCPeerConnection.
+ the user agent can expose the 'address' member value in any remote RTCIceCandidateStats
+ dictionary of the corresponding RTCPeerConnection that matches the newly learnt
+ address.
From 0632f8954e082b1f8096cbbe429088013cf8716e Mon Sep 17 00:00:00 2001
From: Youenn Fablet
Date: Fri, 30 Nov 2018 09:24:16 -0800
Subject: [PATCH 4/5] Mandating RTCPeerConnection scoped visibility
---
webrtc-stats.html | 22 +++++++++++-----------
1 file changed, 11 insertions(+), 11 deletions(-)
diff --git a/webrtc-stats.html b/webrtc-stats.html
index 3fe7efa8..0224dc6b 100644
--- a/webrtc-stats.html
+++ b/webrtc-stats.html
@@ -2990,17 +2990,17 @@
[[!RFC5245]] section 15.1 for details.
- A user agent should make sure to limit exposure of remote candidate addresses to
- the ones already known to the web application, in particular peer reflexive remote
- candidate addresses. If a user agent cannot tell whether a remote candidate
- address is known to the web application, it MUST leave the 'address' member as
- undefined in the corresponding RTCICECandidateStats dictionary. Once a
- RTCPeerConnection instance learns on an address by the web application using
- addIceCandidate
- the user agent can expose the 'address' member value in any remote RTCIceCandidateStats
- dictionary of the corresponding RTCPeerConnection that matches the newly learnt
- address.
+ The user agent should make sure that only remote candidate addresses that the web
+ application has configured on the corresponding RTCPeerConnection are exposed;
+ This is especially important for peer reflexive remote candidates.
+
+ By default, the user agent MUST leave the 'address' member as undefined in the
+ RTCICECandidateStats dictionary of any remote candidate. Once a RTCPeerConnection
+ instance learns on an address by the web application using addIceCandidate,
+ the user agent can expose the 'address' member value in any remote
+ RTCIceCandidateStats dictionary of the corresponding RTCPeerConnection that
+ matches the newly learnt address.
From 7cd9f7172b91f89842e6cbf5d3524534c46d7db0 Mon Sep 17 00:00:00 2001
From: Youenn Fablet
Date: Thu, 6 Dec 2018 08:10:02 -0800
Subject: [PATCH 5/5] Hiding address using null instead of undefined
---
webrtc-stats.html | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/webrtc-stats.html b/webrtc-stats.html
index 0224dc6b..57f3d835 100644
--- a/webrtc-stats.html
+++ b/webrtc-stats.html
@@ -2936,7 +2936,7 @@
dictionary RTCIceCandidateStats : RTCStats {
DOMString transportId;
RTCNetworkType networkType;
- DOMString address;
+ DOMString? address;
long port;
DOMString protocol;
RTCIceCandidateType candidateType;
@@ -2994,7 +2994,7 @@
application has configured on the corresponding RTCPeerConnection are exposed;
This is especially important for peer reflexive remote candidates.
- By default, the user agent MUST leave the 'address' member as undefined in the
+ By default, the user agent MUST leave the 'address' member as null in the
RTCICECandidateStats dictionary of any remote candidate. Once a RTCPeerConnection
instance learns on an address by the web application using addIceCandidate,