| Index: jingle/glue/proxy_resolving_client_socket.cc
|
| diff --git a/jingle/glue/proxy_resolving_client_socket.cc b/jingle/glue/proxy_resolving_client_socket.cc
|
| index 91eb5ae7d98927ee7e2b41a1dd1d2ea631af263d..0b35559d5509cf0975f53565e09f32b385294950 100644
|
| --- a/jingle/glue/proxy_resolving_client_socket.cc
|
| +++ b/jingle/glue/proxy_resolving_client_socket.cc
|
| @@ -346,10 +346,22 @@ bool ProxyResolvingClientSocket::IsConnectedAndIdle() const {
|
|
|
| int ProxyResolvingClientSocket::GetPeerAddress(
|
| net::IPEndPoint* address) const {
|
| - if (transport_.get() && transport_->socket())
|
| + if (!transport_.get() || !transport_->socket()) {
|
| + NOTREACHED();
|
| + return net::ERR_SOCKET_NOT_CONNECTED;
|
| + }
|
| + if (proxy_info_.is_direct())
|
| return transport_->socket()->GetPeerAddress(address);
|
| - NOTREACHED();
|
| - return net::ERR_SOCKET_NOT_CONNECTED;
|
| +
|
| + net::IPAddressNumber ip_number;
|
| + if (net::ParseIPLiteralToNumber(dest_host_port_pair_.host(), &ip_number)) {
|
| + *address = net::IPEndPoint(ip_number, dest_host_port_pair_.port());
|
| + } else {
|
| + *address =
|
| + net::IPEndPoint(net::IPAddressNumber(), dest_host_port_pair_.port());
|
| + }
|
| +
|
| + return net::OK;
|
| }
|
|
|
| int ProxyResolvingClientSocket::GetLocalAddress(
|
|
|