Use randomly generated IDs for candidate pairs in ICE event logs.
We used to use an integer-valued hash as the candidate pair ID in ICE event logs, and the preimage of this hash contains address information. Bug: None Change-Id: Ib24aa89164600c62e0b0a7d771af379ace80a0e3 Reviewed-on: https://webrtc-review.googlesource.com/91920 Reviewed-by: Steve Anton <steveanton@webrtc.org> Reviewed-by: Qingsi Wang <qingsi@webrtc.org> Commit-Queue: Qingsi Wang <qingsi@webrtc.org> Cr-Commit-Position: refs/heads/master@{#24168}
This commit is contained in:
@ -2349,8 +2349,7 @@ void P2PTransportChannel::LogCandidatePairConfig(
|
||||
if (conn == nullptr) {
|
||||
return;
|
||||
}
|
||||
auto candidate_pair_id = conn->hash();
|
||||
ice_event_log_.LogCandidatePairConfig(type, candidate_pair_id,
|
||||
ice_event_log_.LogCandidatePairConfig(type, conn->id(),
|
||||
conn->ToLogDescription());
|
||||
}
|
||||
|
||||
|
@ -1043,7 +1043,8 @@ class ConnectionRequest : public StunRequest {
|
||||
Connection::Connection(Port* port,
|
||||
size_t index,
|
||||
const Candidate& remote_candidate)
|
||||
: port_(port),
|
||||
: id_(rtc::CreateRandomId()),
|
||||
port_(port),
|
||||
local_candidate_index_(index),
|
||||
remote_candidate_(remote_candidate),
|
||||
recv_rate_tracker_(100, 10u),
|
||||
@ -1068,7 +1069,6 @@ Connection::Connection(Port* port,
|
||||
// TODO(mallinath) - Start connections from STATE_FROZEN.
|
||||
// Wire up to send stun packets
|
||||
requests_.SignalSendPacket.connect(this, &Connection::OnSendStunPacket);
|
||||
hash_ = static_cast<uint32_t>(std::hash<std::string>{}(ToString()));
|
||||
RTC_LOG(LS_INFO) << ToString() << ": Connection created";
|
||||
}
|
||||
|
||||
@ -1619,14 +1619,14 @@ void Connection::LogCandidatePairConfig(
|
||||
if (ice_event_log_ == nullptr) {
|
||||
return;
|
||||
}
|
||||
ice_event_log_->LogCandidatePairConfig(type, hash(), ToLogDescription());
|
||||
ice_event_log_->LogCandidatePairConfig(type, id(), ToLogDescription());
|
||||
}
|
||||
|
||||
void Connection::LogCandidatePairEvent(webrtc::IceCandidatePairEventType type) {
|
||||
if (ice_event_log_ == nullptr) {
|
||||
return;
|
||||
}
|
||||
ice_event_log_->LogCandidatePairEvent(type, hash());
|
||||
ice_event_log_->LogCandidatePairEvent(type, id());
|
||||
}
|
||||
|
||||
void Connection::OnConnectionRequestResponse(ConnectionRequest* request,
|
||||
|
@ -508,6 +508,9 @@ class Connection : public CandidatePairInterface,
|
||||
|
||||
~Connection() override;
|
||||
|
||||
// A unique ID assigned when the connection is created.
|
||||
uint32_t id() { return id_; }
|
||||
|
||||
// The local port where this connection sends and receives packets.
|
||||
Port* port() { return port_; }
|
||||
const Port* port() const { return port_; }
|
||||
@ -660,8 +663,6 @@ class Connection : public CandidatePairInterface,
|
||||
std::string ToSensitiveString() const;
|
||||
// Structured description of this candidate pair.
|
||||
const webrtc::IceCandidatePairDescription& ToLogDescription();
|
||||
// Integer typed hash value of this candidate pair.
|
||||
uint32_t hash() { return hash_; }
|
||||
void set_ice_event_log(webrtc::IceEventLog* ice_event_log) {
|
||||
ice_event_log_ = ice_event_log;
|
||||
}
|
||||
@ -745,6 +746,7 @@ class Connection : public CandidatePairInterface,
|
||||
|
||||
void OnMessage(rtc::Message* pmsg) override;
|
||||
|
||||
uint32_t id_;
|
||||
Port* port_;
|
||||
size_t local_candidate_index_;
|
||||
Candidate remote_candidate_;
|
||||
@ -814,7 +816,6 @@ class Connection : public CandidatePairInterface,
|
||||
int num_pings_sent_ = 0;
|
||||
|
||||
absl::optional<webrtc::IceCandidatePairDescription> log_description_;
|
||||
uint32_t hash_;
|
||||
webrtc::IceEventLog* ice_event_log_ = nullptr;
|
||||
|
||||
friend class Port;
|
||||
|
Reference in New Issue
Block a user