Really connect to the same server in FTP network transaction.

Also create necessary infrastructure to know the address
a client socket is connected to.

TEST=Covered by net_unittests.
BUG=35670

Review URL: http://codereview.chromium.org/598071

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@39559 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/net/socket/tcp_client_socket_libevent.cc b/net/socket/tcp_client_socket_libevent.cc
index 2c1c73d..3743495 100644
--- a/net/socket/tcp_client_socket_libevent.cc
+++ b/net/socket/tcp_client_socket_libevent.cc
@@ -468,9 +468,12 @@
   }
 }
 
-int TCPClientSocketLibevent::GetPeerName(struct sockaddr* name,
-                                         socklen_t* namelen) {
-  return ::getpeername(socket_, name, namelen);
+int TCPClientSocketLibevent::GetPeerAddress(AddressList* address) const {
+  DCHECK(address);
+  if (!current_ai_)
+    return ERR_UNEXPECTED;
+  address->Copy(current_ai_, false);
+  return OK;
 }
 
 }  // namespace net