PTLib  Version 2.10.4
PSocksProtocol Class Reference

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

List of all members.

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.

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

virtual PSocksProtocol::~PSocksProtocol ( ) [inline, virtual]

Member Function Documentation

virtual PBoolean PSocksProtocol::ReceiveSocksResponse ( PTCPSocket socket,
PIPSocket::Address addr,
WORD &  port 
) [protected, virtual]

Reimplemented in PSocks4Socket.

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

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 
) [protected, pure 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

WORD PSocksProtocol::localPort [protected]
WORD PSocksProtocol::remotePort [protected]
WORD PSocksProtocol::serverPort [protected]

The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines