Chromium Code Reviews| Index: webrtc/base/firewallsocketserver.cc | 
| diff --git a/webrtc/base/firewallsocketserver.cc b/webrtc/base/firewallsocketserver.cc | 
| index d6d03df3ada87ff4edf16b89b0363387bb84ca28..92ac88f97db97cff276b41b6a9239b4ab971826c 100644 | 
| --- a/webrtc/base/firewallsocketserver.cc | 
| +++ b/webrtc/base/firewallsocketserver.cc | 
| @@ -41,13 +41,13 @@ class FirewallSocket : public AsyncSocketAdapter { | 
| return SendTo(pv, cb, GetRemoteAddress()); | 
| } | 
| int SendTo(const void* pv, size_t cb, const SocketAddress& addr) override { | 
| - if (type_ == SOCK_DGRAM) { | 
| - if (!server_->Check(FP_UDP, GetLocalAddress(), addr)) { | 
| - LOG(LS_VERBOSE) << "FirewallSocket outbound UDP packet from " | 
| - << GetLocalAddress().ToSensitiveString() << " to " | 
| - << addr.ToSensitiveString() << " dropped"; | 
| - return static_cast<int>(cb); | 
| - } | 
| + RTC_DCHECK(type_ == SOCK_DGRAM || type_ == SOCK_STREAM); | 
| + FirewallProtocol protocol = (type_ == SOCK_DGRAM) ? FP_UDP : FP_TCP; | 
| 
 
honghaiz3
2016/10/03 21:28:33
This is needed so that TCP traffic can be filtered
 
 | 
| + if (!server_->Check(protocol, GetLocalAddress(), addr)) { | 
| + LOG(LS_VERBOSE) << "FirewallSocket outbound packet with type " << type_ | 
| + << " from " << GetLocalAddress().ToSensitiveString() | 
| + << " to " << addr.ToSensitiveString() << " dropped"; | 
| + return static_cast<int>(cb); | 
| } | 
| return AsyncSocketAdapter::SendTo(pv, cb, addr); | 
| } |