Mixes for Privacy and Anonymity in the Internet
Public Member Functions | Static Public Attributes | Private Member Functions | Private Attributes | List of all members
CALocalProxy Class Reference

Public Member Functions

 CALocalProxy ()
 
 ~CALocalProxy ()
 
SINT32 start ()
 

Static Public Attributes

static bool bCapturePackets
 
static bool bReplayPackets
 
static int iCapturedPackets
 

Private Member Functions

SINT32 loop ()
 
SINT32 init ()
 
SINT32 initOnce ()
 
SINT32 clean ()
 
SINT32 processKeyExchange (UINT8 *buff, UINT32 size)
 

Private Attributes

CASocket m_socketIn
 
CASocket m_socketSOCKSIn
 
CAMuxSocketm_pmuxOut
 
UINT32 m_chainlen
 
UINT32 m_MixCascadeProtocolVersion
 
CAASymCipherm_arRSA
 
SYMCHANNELCIPHER_ALGORITHMm_arSymCipherAlgorithms
 
CASymChannelCipherm_pSymCipher
 
UINT32 m_nFlowControlDownstreamSendMe
 
bool m_bWithNewFlowControl
 
bool m_bWithEnhancedChannelEncryption
 
UINT32 m_SymChannelEncryptedKeySize
 
UINT32 m_SymChannelKeySize
 
bool m_bWithFirstMixSymmetric
 

Constructor & Destructor Documentation

◆ CALocalProxy()

CALocalProxy::CALocalProxy ( )

◆ ~CALocalProxy()

CALocalProxy::~CALocalProxy ( )

References clean().

Member Function Documentation

◆ clean()

SINT32 CALocalProxy::clean ( )
private

◆ init()

SINT32 CALocalProxy::init ( )
private

◆ initOnce()

SINT32 CALocalProxy::initOnce ( )
private

◆ loop()

SINT32 CALocalProxy::loop ( )
private

References CASocket::accept(), CASocketGroupEpoll::add(), CASocketList::add(), CASocketList::addSendMeCounter(), bCapturePackets, bReplayPackets, t_MixPacket::channel, CHANNEL_CLOSE, CHANNEL_DATA, CHANNEL_OPEN, CASocket::close(), CASymChannelCipherFactory::createCipher(), CASymChannelCipher::crypt1(), CASymChannelCipher::crypt2(), connlist::currentSendMeCounter, t_MixPacket::data, t_MixPacketPayload::data, DATA_SIZE, E_SUCCESS, E_UNKNOWN, CAASymCipher::encrypt(), CAASymCipher::encryptOAEP(), t_MixPacket::flags, CASocketList::get(), CASocketList::getFirst(), CASocket::getLocalPort(), CASocketList::getNext(), CALibProxytest::getOptions(), getRandom(), CACmdLnOptions::getSOCKSServerPort(), iCapturedPackets, CASymChannelCipher::isKeyValid(), CASocketGroupEpoll::isSignaled(), len, t_MixPacketPayload::len, m_arRSA, m_arSymCipherAlgorithms, m_bWithEnhancedChannelEncryption, m_bWithFirstMixSymmetric, m_bWithNewFlowControl, m_chainlen, m_nFlowControlDownstreamSendMe, m_pmuxOut, m_pSymCipher, m_socketIn, m_socketSOCKSIn, m_SymChannelEncryptedKeySize, m_SymChannelKeySize, MIX_PAYLOAD_HTTP, MIX_PAYLOAD_SOCKS, MIXPACKET_SIZE, NEW_FLOW_CONTROL_FLAG, connlist::next, connlist::outChannel, t_MixPacket::payload, PAYLOAD_LEN_MASK, PAYLOAD_SIZE, connlist::pCiphers, CAMsg::printMsg(), connlist::pSocket, CAMuxSocket::receive(), CASocket::receive(), CASocketGroupEpoll::remove(), CASocketList::remove(), REPLAY_COUNT, RSA_SIZE, CASocketGroupEpoll::select(), CASocket::send(), CAMuxSocket::send(), CASymChannelCipher::setIV2(), CASymChannelCipher::setKeys(), SOCKET_ERROR, sSleep(), t_MixPacketPayload::type, and connlist::upstreamBytes.

Referenced by start().

◆ processKeyExchange()

SINT32 CALocalProxy::processKeyExchange ( UINT8 buff,
UINT32  size 
)
private

◆ start()

SINT32 CALocalProxy::start ( )

Member Data Documentation

◆ bCapturePackets

bool CALocalProxy::bCapturePackets
static

Referenced by initOnce(), loop(), and SIGUSR1_handler().

◆ bReplayPackets

bool CALocalProxy::bReplayPackets
static

Referenced by initOnce(), loop(), and SIGUSR2_handler().

◆ iCapturedPackets

int CALocalProxy::iCapturedPackets
static

Referenced by loop(), and SIGUSR1_handler().

◆ m_arRSA

CAASymCipher* CALocalProxy::m_arRSA
private

◆ m_arSymCipherAlgorithms

SYMCHANNELCIPHER_ALGORITHM* CALocalProxy::m_arSymCipherAlgorithms
private

Referenced by loop(), and processKeyExchange().

◆ m_bWithEnhancedChannelEncryption

bool CALocalProxy::m_bWithEnhancedChannelEncryption
private

Referenced by init(), loop(), and processKeyExchange().

◆ m_bWithFirstMixSymmetric

bool CALocalProxy::m_bWithFirstMixSymmetric
private

Referenced by init(), loop(), and processKeyExchange().

◆ m_bWithNewFlowControl

bool CALocalProxy::m_bWithNewFlowControl
private

Referenced by init(), loop(), and processKeyExchange().

◆ m_chainlen

UINT32 CALocalProxy::m_chainlen
private

◆ m_MixCascadeProtocolVersion

UINT32 CALocalProxy::m_MixCascadeProtocolVersion
private

Referenced by processKeyExchange().

◆ m_nFlowControlDownstreamSendMe

UINT32 CALocalProxy::m_nFlowControlDownstreamSendMe
private

Referenced by init(), loop(), and processKeyExchange().

◆ m_pmuxOut

CAMuxSocket* CALocalProxy::m_pmuxOut
private

◆ m_pSymCipher

CASymChannelCipher* CALocalProxy::m_pSymCipher
private

◆ m_socketIn

CASocket CALocalProxy::m_socketIn
private

Referenced by clean(), init(), and loop().

◆ m_socketSOCKSIn

CASocket CALocalProxy::m_socketSOCKSIn
private

Referenced by clean(), init(), and loop().

◆ m_SymChannelEncryptedKeySize

UINT32 CALocalProxy::m_SymChannelEncryptedKeySize
private

Referenced by loop(), and processKeyExchange().

◆ m_SymChannelKeySize

UINT32 CALocalProxy::m_SymChannelKeySize
private

Referenced by loop(), and processKeyExchange().