|
Mixes for Privacy and Anonymity in the Internet
|
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 |
| CAMuxSocket | m_muxOut |
| UINT32 | m_chainlen |
| UINT32 | m_MixCascadeProtocolVersion |
| CAASymCipher * | m_arRSA |
| CASymCipher * | m_pSymCipher |
| UINT32 | m_nFlowControlDownstreamSendMe |
| bool | m_bWithNewFlowControl |
| bool | m_bWithEnhancedChannelEncryption |
| UINT32 | m_SymChannelEncryptedKeySize |
| UINT32 | m_SymChannelKeySize |
| bool | m_bWithFirstMixSymmetric |
References m_arRSA, and m_pSymCipher.
References clean().
| SINT32 CALocalProxy::clean | ( | ) | [private] |
References CASocket::close(), CAMuxSocket::close(), E_SUCCESS, m_arRSA, m_muxOut, m_pSymCipher, m_socketIn, and m_socketSOCKSIn.
Referenced by start(), and ~CALocalProxy().
| SINT32 CALocalProxy::init | ( | ) | [private] |
References CAMuxSocket::connect(), CASocket::create(), E_SUCCESS, E_UNKNOWN, FLOW_CONTROL_SENDME_SOFT_LIMIT, CAListenerInterface::getAddr(), CAMuxSocket::getCASocket(), CACmdLnOptions::getListenerInterface(), CACmdLnOptions::getMixHost(), CALibProxytest::getOptions(), CASocketAddrINet::getPort(), CASocketAddrINet::isAnyIP(), CASocket::listen(), m_bWithEnhancedChannelEncryption, m_bWithFirstMixSymmetric, m_bWithNewFlowControl, m_muxOut, m_nFlowControlDownstreamSendMe, m_socketIn, MIXPACKET_SIZE, CAMsg::printMsg(), processKeyExchange(), CAClientSocket::receiveFully(), CASocketAddrINet::setAddr(), CASocket::setRecvBuff(), CASocket::setReuseAddr(), and CASocket::setSendBuff().
Referenced by start().
| SINT32 CALocalProxy::initOnce | ( | ) | [private] |
References bCapturePackets, bReplayPackets, E_SUCCESS, E_UNKNOWN, CALibProxytest::getOptions(), CAMsg::printMsg(), SIGUSR1_handler(), and SIGUSR2_handler().
Referenced by start().
| SINT32 CALocalProxy::loop | ( | ) | [private] |
References CASocket::accept(), CASocketGroup::add(), CASocketList::add(), CASocketList::addSendMeCounter(), bCapturePackets, bReplayPackets, t_MixPacket::channel, CHANNEL_CLOSE, CHANNEL_DATA, CHANNEL_OPEN, CASocket::close(), CASymCipher::crypt1(), CASymCipher::crypt2(), connlist::currentSendMeCounter, t_MixPacketPayload::data, t_MixPacket::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, CASymCipher::isKeyValid(), CASocketGroup::isSignaled(), t_MixPacketPayload::len, len, m_arRSA, m_bWithEnhancedChannelEncryption, m_bWithFirstMixSymmetric, m_bWithNewFlowControl, m_chainlen, m_muxOut, m_nFlowControlDownstreamSendMe, 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, CASocket::receive(), CAMuxSocket::receive(), CASocketList::remove(), CASocketGroup::remove(), REPLAY_COUNT, RSA_SIZE, CASocketGroup::select(), CASocket::send(), CAMuxSocket::send(), CASymCipher::setIV2(), CASymCipher::setKeys(), SOCKET_ERROR, sSleep(), t_MixPacketPayload::type, and connlist::upstreamBytes.
Referenced by start().
| SINT32 CALocalProxy::processKeyExchange | ( | UINT8 * | buff, |
| UINT32 | size | ||
| ) | [private] |
References E_SUCCESS, E_UNKNOWN, CABase64::encode(), CAASymCipher::encrypt(), encryptXMLElement(), equals(), CAMuxSocket::getCASocket(), getDOMChildByName(), getDOMElementAttribute(), getDOMElementValue(), getRandom(), m_arRSA, m_bWithEnhancedChannelEncryption, m_bWithFirstMixSymmetric, m_bWithNewFlowControl, m_chainlen, m_MixCascadeProtocolVersion, m_muxOut, m_nFlowControlDownstreamSendMe, m_pSymCipher, m_SymChannelEncryptedKeySize, m_SymChannelKeySize, MIX_CASCADE_PROTOCOL_VERSION_0_1_0, MIX_CASCADE_PROTOCOL_VERSION_0_2, MIX_CASCADE_PROTOCOL_VERSION_0_3, MIX_CASCADE_PROTOCOL_VERSION_0_4, MIXPACKET_SIZE, parseDOMDocument(), CAMsg::printMsg(), CAClientSocket::receiveFully(), CASocket::send(), CAMuxSocket::send(), CAMuxSocket::setCrypt(), CASymCipher::setIVs(), CASymCipher::setKey(), CAMuxSocket::setReceiveKey(), and CAMuxSocket::setSendKey().
Referenced by init().
References clean(), E_SUCCESS, E_UNKNOWN, init(), initOnce(), loop(), CAMsg::printMsg(), and sSleep().
Referenced by main().
bool CALocalProxy::bCapturePackets [static] |
Referenced by initOnce(), loop(), and SIGUSR1_handler().
bool CALocalProxy::bReplayPackets [static] |
Referenced by initOnce(), loop(), and SIGUSR2_handler().
int CALocalProxy::iCapturedPackets [static] |
Referenced by loop(), and SIGUSR1_handler().
CAASymCipher* CALocalProxy::m_arRSA [private] |
Referenced by CALocalProxy(), clean(), loop(), and processKeyExchange().
bool CALocalProxy::m_bWithEnhancedChannelEncryption [private] |
Referenced by init(), loop(), and processKeyExchange().
bool CALocalProxy::m_bWithFirstMixSymmetric [private] |
Referenced by init(), loop(), and processKeyExchange().
bool CALocalProxy::m_bWithNewFlowControl [private] |
Referenced by init(), loop(), and processKeyExchange().
UINT32 CALocalProxy::m_chainlen [private] |
Referenced by loop(), and processKeyExchange().
Referenced by processKeyExchange().
CAMuxSocket CALocalProxy::m_muxOut [private] |
Referenced by clean(), init(), loop(), and processKeyExchange().
Referenced by init(), loop(), and processKeyExchange().
CASymCipher* CALocalProxy::m_pSymCipher [private] |
Referenced by CALocalProxy(), clean(), loop(), and processKeyExchange().
CASocket CALocalProxy::m_socketIn [private] |
CASocket CALocalProxy::m_socketSOCKSIn [private] |
Referenced by loop(), and processKeyExchange().
UINT32 CALocalProxy::m_SymChannelKeySize [private] |
Referenced by loop(), and processKeyExchange().
1.7.6.1