Chromium Code Reviews| 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); |