diff options
author | Eldar Rello <elrello@microsoft.com> | 2020-05-14 11:59:33 +0300 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2020-05-15 11:30:20 +0000 |
commit | fa8019c3c33a1e75b7dfc8aa8d8ad6e07c2d80a8 (patch) | |
tree | ee042cdd715d232e20595ba475dac438a8532090 /p2p/base | |
parent | f9c6b68057c0f0db67d751729fa77cd23546f8f5 (diff) | |
download | webrtc-fa8019c3c33a1e75b7dfc8aa8d8ad6e07c2d80a8.tar.gz |
Clear address:port in icecandidateerror for tcp servers with private IP
Bug: chromium:1072401
Change-Id: I6af81a2b2b22b5f8d7edb8fb7f66f69b866db1c6
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/174753
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Commit-Queue: Eldar Rello <elrello@microsoft.com>
Cr-Commit-Position: refs/heads/master@{#31275}
Diffstat (limited to 'p2p/base')
-rw-r--r-- | p2p/base/turn_port.cc | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/p2p/base/turn_port.cc b/p2p/base/turn_port.cc index 2e8024dcb6..4d39f207b4 100644 --- a/p2p/base/turn_port.cc +++ b/p2p/base/turn_port.cc @@ -367,7 +367,7 @@ void TurnPort::PrepareAddress() { << server_address_.address.ToSensitiveString(); if (!CreateTurnClientSocket()) { RTC_LOG(LS_ERROR) << "Failed to create TURN client socket"; - OnAllocateError(STUN_ERROR_GLOBAL_FAILURE, + OnAllocateError(SERVER_NOT_REACHABLE_ERROR, "Failed to create TURN client socket."); return; } @@ -883,12 +883,17 @@ void TurnPort::OnAllocateError(int error_code, const std::string& reason) { // port initialization. This way it will not be blocking other port // creation. thread()->Post(RTC_FROM_HERE, this, MSG_ALLOCATE_ERROR); + std::string address = GetLocalAddress().HostAsSensitiveURIString(); + int port = GetLocalAddress().port(); + if (server_address_.proto == PROTO_TCP && + server_address_.address.IsPrivateIP()) { + address.clear(); + port = 0; + } SignalCandidateError( - this, - IceCandidateErrorEvent(GetLocalAddress().HostAsSensitiveURIString(), - GetLocalAddress().port(), - ReconstructedServerUrl(true /* use_hostname */), - error_code, reason)); + this, IceCandidateErrorEvent( + address, port, ReconstructedServerUrl(true /* use_hostname */), + error_code, reason)); } void TurnPort::OnRefreshError() { |