PTLib Version 2.12.9

- Main Page
- Related Pages
- Namespaces
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
PSocksProtocol Class Referenceabstract

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

`#include <socks.h>`

Inheritance diagram for PSocksProtocol:
[legend]
Collaboration diagram for PSocksProtocol:
[legend]

## 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 | ( |  | ) |
| inline virtual

## Member Function Documentation

PBoolean PSocksProtocol::ConnectSocksServer | ( | PTCPSocket & | thisSocket | ) |
| protected

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

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:

- socks.h