PTLib  Version 2.10.11
PSocksProtocol Class Referenceabstract

Base class for implementing the SOCKS protocol for use with PSocksSocket and PSocksUDPSocket. More...

#include <socks.h>

Inheritance diagram for PSocksProtocol:
PSocksSocket PSocksUDPSocket PSocks4Socket PSocks5Socket

Public Types

enum  { DefaultServerPort = 1080 }
 

Public Member Functions

 PSocksProtocol (WORD port)
 
virtual ~PSocksProtocol ()
 
PBoolean SetServer (const PString &hostname, const char *service="socks 1080")
 
PBoolean SetServer (const PString &hostname, WORD port)
 
void SetAuthentication (const PString &username, const PString &password)
 Set the username and password for the SOCKS server authentication. More...
 

Protected Member Functions

PBoolean ConnectSocksServer (PTCPSocket &thisSocket)
 
virtual void SetErrorCodes (PChannel::Errors errCode, int osErr)=0
 
virtual PBoolean SendSocksCommand (PTCPSocket &socket, BYTE command, const char *hostname, PIPSocket::Address addr)
 
virtual PBoolean ReceiveSocksResponse (PTCPSocket &socket, PIPSocket::Address &addr, WORD &port)
 

Protected Attributes

PString serverHost
 
WORD serverPort
 
PString authenticationUsername
 
PString authenticationPassword
 
PIPSocket::Address remoteAddress
 
WORD remotePort
 
PIPSocket::Address localAddress
 
WORD localPort
 

Detailed Description

Base class for implementing the SOCKS protocol for use with PSocksSocket and PSocksUDPSocket.

Member Enumeration Documentation

anonymous enum
Enumerator
DefaultServerPort 

Constructor & Destructor Documentation

PSocksProtocol::PSocksProtocol ( WORD  port)
virtual PSocksProtocol::~PSocksProtocol ( )
inlinevirtual

Member Function Documentation

PBoolean PSocksProtocol::ConnectSocksServer ( PTCPSocket thisSocket)
protected
virtual PBoolean PSocksProtocol::ReceiveSocksResponse ( PTCPSocket socket,
PIPSocket::Address addr,
WORD &  port 
)
protectedvirtual

Reimplemented in PSocks4Socket.

virtual PBoolean PSocksProtocol::SendSocksCommand ( PTCPSocket socket,
BYTE  command,
const char *  hostname,
PIPSocket::Address  addr 
)
protectedvirtual

Reimplemented in PSocks4Socket.

void PSocksProtocol::SetAuthentication ( const PString username,
const PString password 
)

Set the username and password for the SOCKS server authentication.

This is for the cleartext authentication only, GSSAPI, Kerberos etc is not yet supported.

virtual void PSocksProtocol::SetErrorCodes ( PChannel::Errors  errCode,
int  osErr 
)
protectedpure virtual

Implemented in PSocksUDPSocket, and PSocksSocket.

PBoolean PSocksProtocol::SetServer ( const PString hostname,
const char *  service = "socks 1080" 
)
PBoolean PSocksProtocol::SetServer ( const PString hostname,
WORD  port 
)

Member Data Documentation

PString PSocksProtocol::authenticationPassword
protected
PString PSocksProtocol::authenticationUsername
protected
PIPSocket::Address PSocksProtocol::localAddress
protected
WORD PSocksProtocol::localPort
protected
PIPSocket::Address PSocksProtocol::remoteAddress
protected
WORD PSocksProtocol::remotePort
protected
PString PSocksProtocol::serverHost
protected
WORD PSocksProtocol::serverPort
protected

The documentation for this class was generated from the following file: