diff options
author | arindam@chromium.org <arindam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-07-08 18:23:41 +0000 |
---|---|---|
committer | arindam@chromium.org <arindam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-07-08 18:23:41 +0000 |
commit | 773591e2317185be6998fe2aabc48183f9cfd886 (patch) | |
tree | 94f006fe355ece4522cb781f151cf83653755548 /net/socket | |
parent | 60e60c4355df7efbd77e69751cbd66806966b88a (diff) | |
download | chromium_src-773591e2317185be6998fe2aabc48183f9cfd886.zip chromium_src-773591e2317185be6998fe2aabc48183f9cfd886.tar.gz chromium_src-773591e2317185be6998fe2aabc48183f9cfd886.tar.bz2 |
Correctly implementing GetPeerName() to point to TCPClientSocket::GetPeerName(). This is used by the SSL layer in Linux to resolve Peer Names, which caused a trap to be generated ( http://crbug/16166 )
BUG=16166
TEST=fix of the above BUG
Review URL: http://codereview.chromium.org/149242
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@20170 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/socket')
-rw-r--r-- | net/socket/socks_client_socket.cc | 11 | ||||
-rw-r--r-- | net/socket/socks_client_socket.h | 3 |
2 files changed, 5 insertions, 9 deletions
diff --git a/net/socket/socks_client_socket.cc b/net/socket/socks_client_socket.cc index bbd9e80..3575729 100644 --- a/net/socket/socks_client_socket.cc +++ b/net/socket/socks_client_socket.cc @@ -8,7 +8,7 @@ #include "build/build_config.h" #if defined(OS_WIN) #include <ws2tcpip.h> -#else +#elif defined(OS_POSIX) #include <netdb.h> #endif #include "base/compiler_specific.h" @@ -375,12 +375,9 @@ int SOCKSClientSocket::DoHandshakeReadComplete(int result) { } #if defined(OS_LINUX) -// Identical to posix system call getpeername(). -// Needed by ssl_client_socket_nss. -int SOCKSClientSocket::GetPeerName(struct sockaddr *name, socklen_t *namelen) { - // Default implementation just permits some unit tests to link. - NOTREACHED(); - return ERR_UNEXPECTED; +int SOCKSClientSocket::GetPeerName(struct sockaddr* name, + socklen_t* namelen) { + return transport_->GetPeerName(name, namelen); } #endif diff --git a/net/socket/socks_client_socket.h b/net/socket/socks_client_socket.h index 575f263..1b0cd79 100644 --- a/net/socket/socks_client_socket.h +++ b/net/socket/socks_client_socket.h @@ -48,9 +48,8 @@ class SOCKSClientSocket : public ClientSocket { virtual int Write(IOBuffer* buf, int buf_len, CompletionCallback* callback); #if defined(OS_LINUX) - // Identical to posix system call getpeername(). // Needed by ssl_client_socket_nss. - virtual int GetPeerName(struct sockaddr *name, socklen_t *namelen); + virtual int GetPeerName(struct sockaddr* name, socklen_t* namelen); #endif private: |