| Index: webrtc/p2p/base/port.cc
|
| diff --git a/webrtc/p2p/base/port.cc b/webrtc/p2p/base/port.cc
|
| index 9dd5c83fed77a53d38fea670fb92d6dc7c141012..7993cc02bc082819340ca1e80b974dd91716f995 100644
|
| --- a/webrtc/p2p/base/port.cc
|
| +++ b/webrtc/p2p/base/port.cc
|
| @@ -120,12 +120,12 @@ const char TCPTYPE_SIMOPEN_STR[] = "so";
|
| // then the foundation will be different. Two candidate pairs with
|
| // the same foundation pairs are likely to have similar network
|
| // characteristics. Foundations are used in the frozen algorithm.
|
| -static std::string ComputeFoundation(
|
| - const std::string& type,
|
| - const std::string& protocol,
|
| - const rtc::SocketAddress& base_address) {
|
| +static std::string ComputeFoundation(const std::string& type,
|
| + const std::string& protocol,
|
| + const std::string& relay_protocol,
|
| + const rtc::SocketAddress& base_address) {
|
| std::ostringstream ost;
|
| - ost << type << base_address.ipaddr().ToString() << protocol;
|
| + ost << type << base_address.ipaddr().ToString() << protocol << relay_protocol;
|
| return rtc::ToString<uint32_t>(rtc::ComputeCrc32(ost.str()));
|
| }
|
|
|
| @@ -252,7 +252,8 @@ void Port::AddAddress(const rtc::SocketAddress& address,
|
| c.set_network_type(network_->type());
|
| c.set_generation(generation_);
|
| c.set_related_address(related_address);
|
| - c.set_foundation(ComputeFoundation(type, protocol, base_address));
|
| + c.set_foundation(
|
| + ComputeFoundation(type, protocol, relay_protocol, base_address));
|
| candidates_.push_back(c);
|
| SignalCandidateReady(this, c);
|
|
|
| @@ -1389,9 +1390,9 @@ void Connection::MaybeAddPrflxCandidate(ConnectionRequest* request,
|
| new_local_candidate.set_network_name(local_candidate().network_name());
|
| new_local_candidate.set_network_type(local_candidate().network_type());
|
| new_local_candidate.set_related_address(local_candidate().address());
|
| - new_local_candidate.set_foundation(
|
| - ComputeFoundation(PRFLX_PORT_TYPE, local_candidate().protocol(),
|
| - local_candidate().address()));
|
| + new_local_candidate.set_foundation(ComputeFoundation(
|
| + PRFLX_PORT_TYPE, local_candidate().protocol(),
|
| + local_candidate().relay_protocol(), local_candidate().address()));
|
|
|
| // Change the local candidate of this Connection to the new prflx candidate.
|
| local_candidate_index_ = port_->AddPrflxCandidate(new_local_candidate);
|
|
|