Index: content/renderer/p2p/ipc_socket_factory.cc |
diff --git a/content/renderer/p2p/ipc_socket_factory.cc b/content/renderer/p2p/ipc_socket_factory.cc |
index 62428ad0c2dbc1bad3fefd3ab2323dede34b03aa..9f04b7e89198f715739b136c41960f15372e4a07 100644 |
--- a/content/renderer/p2p/ipc_socket_factory.cc |
+++ b/content/renderer/p2p/ipc_socket_factory.cc |
@@ -235,18 +235,24 @@ bool IpcPacketSocket::Init(P2PSocketType type, |
} |
net::IPEndPoint remote_endpoint; |
- if (!remote_address.IsNil() && !jingle_glue::SocketAddressToIPEndPoint( |
- remote_address, &remote_endpoint) && !IsTcpClientSocket(type_)) { |
+ if (!remote_address.IsNil() && |
Sergey Ulanov
2014/08/14 20:47:24
I suggest formatting this code as follows to make
jiayl
2014/08/14 22:31:47
That isn't the same logic.
1. The DCHECK is not t
jiayl
2014/08/15 00:05:33
I would rather just fix the hostname issue instead
Sergey Ulanov
2014/08/15 00:37:06
What are the cases when it's not true? remote_addr
Sergey Ulanov
2014/08/15 00:37:06
I don't think it changes logic if you take into ac
jiayl
2014/08/15 16:23:11
OK. That makes sense. done.
On 2014/08/15 00:37:0
|
+ (remote_address.IsUnresolvedIP() || |
+ !jingle_glue::SocketAddressToIPEndPoint(remote_address, |
+ &remote_endpoint)) && |
+ !IsTcpClientSocket(type_)) { |
// Non TCP sockets must have a resolved remote address. |
return false; |
} |
+ if (remote_address.IsUnresolvedIP()) { |
+ remote_endpoint = |
+ net::IPEndPoint(net::IPAddressNumber(), remote_address.port()); |
+ } |
+ |
// We need to send both resolved and unresolved address in Init. Unresolved |
// address will be used in case of TLS for certificate hostname matching. |
// Certificate will be tied to domain name not to IP address. |
- std::string remote_hostname = remote_address.hostname() + ":" + |
- remote_address.PortAsString(); |
- P2PHostAndIPEndPoint remote_info(remote_hostname, remote_endpoint); |
+ P2PHostAndIPEndPoint remote_info(remote_address.hostname(), remote_endpoint); |
client->Init(type, local_endpoint, remote_info, this); |