PTLib  Version 2.14.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
PSocksProtocol Class Referenceabstract

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

#include <socks.h>

Inheritance diagram for PSocksProtocol:
Collaboration diagram for PSocksProtocol:

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: