|
Mixe for Privacy and Anonymity in the Internet
|
Go to the source code of this file.
Classes | |
| struct | t_MixPacketPayload |
| struct | t_MixPacket |
| struct | t_queue_entry |
| struct | t_replay_timestamp |
| the Replaytimestamp type More... | |
| struct | t_mix_parameters |
| struct | t_accountinginfo |
| Structure that holds all per-user payment information Included in CAFirstMixChannelList (struct fmHashTableEntry) More... | |
Macros | |
| #define | MIX_PAYLOAD_HTTP 0 |
| #define | MIX_PAYLOAD_SOCKS 1 |
| #define | MIX_PAYLOAD_VPN 2 |
| #define | MIXPACKET_SIZE 998 |
| #define | CHANNEL_DATA 0x00 |
| #define | CHANNEL_OPEN 0x08 |
| #define | CHANNEL_TIMESTAMPS_UP 0x60 |
| #define | CHANNEL_TIMESTAMPS_DOWN 0x90 |
| #define | CHANNEL_CLOSE 0x01 |
| #define | CHANNEL_DUMMY 0x10 |
| #define | CHANNEL_DEBUG 0x20 |
| #define | CHANNEL_SIG_CRIME 0x0 |
| #define | CHANNEL_SIG_CRIME_ID_MASK 0x0 |
| #define | CHANNEL_ALLOWED_FLAGS (CHANNEL_OPEN|CHANNEL_CLOSE|CHANNEL_TIMESTAMPS_UP|CHANNEL_TIMESTAMPS_DOWN) |
| #define | NEW_FLOW_CONTROL_FLAG 0x8000 |
| #define | INTEGRITY_ERROR_FLAG 0x4000 |
| #define | CONNECTION_ERROR_FLAG 0x01 |
| #define | DATA_SIZE 992 |
| #define | PAYLOAD_SIZE 989 |
| #define | PAYLOAD_HEADER_SIZE 3 |
| #define | GCM_MAC_SIZE 16 |
| #define | PAYLOAD_LEN_MASK 0x03FF; |
| #define | DO_PACKED __attribute__ ((__packed__)) |
| #define | AUTH_NEW 0x0 |
| These flags are used to represent the state of the payment. More... | |
| #define | AUTH_GOT_ACCOUNTCERT 0x1 |
| user has sent an account certificate More... | |
| #define | AUTH_ACCOUNT_OK 0x2 |
| format and signature of all received certificates was OK More... | |
| #define | AUTH_WAITING_FOR_FIRST_SETTLED_CC 0x4 |
| First CC from client has not been settled yet. More... | |
| #define | AUTH_SENT_CC_REQUEST 0x20 |
| we have sent one or two CC requests More... | |
| #define | AUTH_DATABASE 0x40 |
| A database error occured (internal or in the BI) More... | |
| #define | AUTH_BLOCKED 0x80 |
| Account has been blocked temporarly. More... | |
| #define | AUTH_SENT_ACCOUNT_REQUEST 0x100 |
| we have sent one request for an accountcertificate More... | |
| #define | AUTH_HARD_LIMIT_REACHED 0x200 |
| #define | AUTH_FAKE 0x400 |
| the user tried to fake something More... | |
| #define | AUTH_CHALLENGE_SENT 0x800 |
| we have sent a challenge and not yet received the response More... | |
| #define | AUTH_ACCOUNT_EMPTY 0x1000 |
| the account is empty More... | |
| #define | AUTH_FATAL_ERROR 0x2000 |
| a fatal error occured earlier More... | |
| #define | AUTH_OUTDATED_CC 0x4000 |
| #define | AUTH_INVALID_ACCOUNT 0x8000 |
| Account does not exist. More... | |
| #define | AUTH_TIMEOUT_STARTED 0x10000 |
| #define | AUTH_MULTIPLE_LOGIN 0x20000 |
| #define | AUTH_UNKNOWN 0x40000 |
| #define | AUTH_SETTLED_ONCE 0x80000 |
| #define | AUTH_DELETE_ENTRY 0x80000 |
| #define | AUTH_LOGIN_NOT_FINISHED 0x100000 |
| #define | AUTH_LOGIN_FAILED 0x200000 |
| #define | AUTH_LOGIN_SKIP_SETTLEMENT 0x400000 |
Typedefs | |
| typedef UINT32 | HCHANNEL |
| typedef t_MixPacket | MIXPACKET |
| typedef struct t_queue_entry | tQueueEntry |
| typedef tQueueEntry | tPoolEntry |
| typedef struct t_replay_timestamp | tReplayTimestamp |
| typedef struct t_mix_parameters | tMixParameters |
| typedef struct t_accountinginfo | tAiAccountingInfo |
Enumerations | |
| enum | NetworkType { UNKNOWN_NETWORKTYPE , RAW_TCP , RAW_UNIX , RAW_UDP , SSL_TCP , SSL_UNIX , HTTP_TCP } |
| enum | TargetType { TARGET_UNKNOWN , TARGET_MIX , TARGET_HTTP_PROXY , TARGET_SOCKS_PROXY , TARGET_VPN_PROXY } |
Functions | |
| struct t_MixPacketPayload | __attribute__ ((__packed__)) |
Variables | |
| UINT16 | len |
| UINT8 | type |
| UINT8 | data [PAYLOAD_SIZE] |
| HCHANNEL | channel |
| UINT16 | flags |
| union { | |
| UINT8 data [DATA_SIZE] | |
| struct t_MixPacketPayload payload | |
| }; | |
| struct t_queue_entry | __attribute__ |
| #define AUTH_ACCOUNT_EMPTY 0x1000 |
the account is empty
Definition at line 262 of file typedefs.hpp.
| #define AUTH_ACCOUNT_OK 0x2 |
format and signature of all received certificates was OK
Definition at line 236 of file typedefs.hpp.
| #define AUTH_BLOCKED 0x80 |
Account has been blocked temporarly.
Definition at line 248 of file typedefs.hpp.
| #define AUTH_CHALLENGE_SENT 0x800 |
we have sent a challenge and not yet received the response
Definition at line 259 of file typedefs.hpp.
| #define AUTH_DATABASE 0x40 |
A database error occured (internal or in the BI)
Definition at line 245 of file typedefs.hpp.
| #define AUTH_DELETE_ENTRY 0x80000 |
Definition at line 286 of file typedefs.hpp.
| #define AUTH_FAKE 0x400 |
the user tried to fake something
Definition at line 256 of file typedefs.hpp.
| #define AUTH_FATAL_ERROR 0x2000 |
a fatal error occured earlier
Definition at line 265 of file typedefs.hpp.
| #define AUTH_GOT_ACCOUNTCERT 0x1 |
user has sent an account certificate
Definition at line 233 of file typedefs.hpp.
| #define AUTH_HARD_LIMIT_REACHED 0x200 |
Definition at line 253 of file typedefs.hpp.
| #define AUTH_INVALID_ACCOUNT 0x8000 |
Account does not exist.
Definition at line 270 of file typedefs.hpp.
| #define AUTH_LOGIN_FAILED 0x200000 |
Definition at line 289 of file typedefs.hpp.
| #define AUTH_LOGIN_NOT_FINISHED 0x100000 |
Definition at line 288 of file typedefs.hpp.
| #define AUTH_LOGIN_SKIP_SETTLEMENT 0x400000 |
Definition at line 290 of file typedefs.hpp.
| #define AUTH_MULTIPLE_LOGIN 0x20000 |
Definition at line 275 of file typedefs.hpp.
| #define AUTH_NEW 0x0 |
These flags are used to represent the state of the payment.
new user, not yet authenticated
Definition at line 230 of file typedefs.hpp.
| #define AUTH_OUTDATED_CC 0x4000 |
Definition at line 267 of file typedefs.hpp.
| #define AUTH_SENT_ACCOUNT_REQUEST 0x100 |
we have sent one request for an accountcertificate
Definition at line 251 of file typedefs.hpp.
| #define AUTH_SENT_CC_REQUEST 0x20 |
we have sent one or two CC requests
Definition at line 242 of file typedefs.hpp.
| #define AUTH_SETTLED_ONCE 0x80000 |
Definition at line 280 of file typedefs.hpp.
| #define AUTH_TIMEOUT_STARTED 0x10000 |
Definition at line 273 of file typedefs.hpp.
| #define AUTH_UNKNOWN 0x40000 |
Definition at line 277 of file typedefs.hpp.
| #define AUTH_WAITING_FOR_FIRST_SETTLED_CC 0x4 |
First CC from client has not been settled yet.
Definition at line 239 of file typedefs.hpp.
| #define CHANNEL_ALLOWED_FLAGS (CHANNEL_OPEN|CHANNEL_CLOSE|CHANNEL_TIMESTAMPS_UP|CHANNEL_TIMESTAMPS_DOWN) |
Definition at line 60 of file typedefs.hpp.
| #define CHANNEL_CLOSE 0x01 |
Definition at line 47 of file typedefs.hpp.
| #define CHANNEL_DATA 0x00 |
Definition at line 42 of file typedefs.hpp.
| #define CHANNEL_DEBUG 0x20 |
Definition at line 51 of file typedefs.hpp.
| #define CHANNEL_DUMMY 0x10 |
Definition at line 50 of file typedefs.hpp.
| #define CHANNEL_OPEN 0x08 |
Definition at line 43 of file typedefs.hpp.
| #define CHANNEL_SIG_CRIME 0x0 |
Definition at line 58 of file typedefs.hpp.
| #define CHANNEL_SIG_CRIME_ID_MASK 0x0 |
Definition at line 59 of file typedefs.hpp.
| #define CHANNEL_TIMESTAMPS_DOWN 0x90 |
Definition at line 46 of file typedefs.hpp.
| #define CHANNEL_TIMESTAMPS_UP 0x60 |
Definition at line 45 of file typedefs.hpp.
| #define CONNECTION_ERROR_FLAG 0x01 |
Definition at line 67 of file typedefs.hpp.
| #define DATA_SIZE 992 |
Definition at line 69 of file typedefs.hpp.
| #define DO_PACKED __attribute__ ((__packed__)) |
Definition at line 84 of file typedefs.hpp.
| #define GCM_MAC_SIZE 16 |
Definition at line 78 of file typedefs.hpp.
| #define INTEGRITY_ERROR_FLAG 0x4000 |
Definition at line 65 of file typedefs.hpp.
| #define MIX_PAYLOAD_HTTP 0 |
Definition at line 35 of file typedefs.hpp.
| #define MIX_PAYLOAD_SOCKS 1 |
Definition at line 36 of file typedefs.hpp.
| #define MIX_PAYLOAD_VPN 2 |
Definition at line 37 of file typedefs.hpp.
| #define MIXPACKET_SIZE 998 |
Definition at line 40 of file typedefs.hpp.
| #define NEW_FLOW_CONTROL_FLAG 0x8000 |
Definition at line 63 of file typedefs.hpp.
| #define PAYLOAD_HEADER_SIZE 3 |
Definition at line 76 of file typedefs.hpp.
| #define PAYLOAD_LEN_MASK 0x03FF; |
Definition at line 79 of file typedefs.hpp.
| #define PAYLOAD_SIZE 989 |
Definition at line 73 of file typedefs.hpp.
Definition at line 34 of file typedefs.hpp.
| typedef t_MixPacket MIXPACKET |
Definition at line 127 of file typedefs.hpp.
| typedef struct t_accountinginfo tAiAccountingInfo |
Definition at line 192 of file typedefs.hpp.
| typedef struct t_mix_parameters tMixParameters |
Definition at line 192 of file typedefs.hpp.
| typedef tQueueEntry tPoolEntry |
Definition at line 192 of file typedefs.hpp.
| typedef struct t_queue_entry tQueueEntry |
Definition at line 127 of file typedefs.hpp.
| typedef struct t_replay_timestamp tReplayTimestamp |
Definition at line 192 of file typedefs.hpp.
| enum NetworkType |
| Enumerator | |
|---|---|
| UNKNOWN_NETWORKTYPE | |
| RAW_TCP | |
| RAW_UNIX | |
| RAW_UDP | |
| SSL_TCP | |
| SSL_UNIX | |
| HTTP_TCP | |
Definition at line 30 of file typedefs.hpp.
| enum TargetType |
| Enumerator | |
|---|---|
| TARGET_UNKNOWN | |
| TARGET_MIX | |
| TARGET_HTTP_PROXY | |
| TARGET_SOCKS_PROXY | |
| TARGET_VPN_PROXY | |
Definition at line 32 of file typedefs.hpp.
| struct t_MixPacketPayload __attribute__ | ( | (__packed__) | ) |
| union { ... } |
| struct t_downstream_chain_cell __attribute__ |
| HCHANNEL channel |
Definition at line 0 of file typedefs.hpp.
Referenced by CAFirstMixChannelToQueueList::add(), CAFirstMixChannelToQueueList::get(), CAFirstMixChannelToQueueList::removeChannel(), and CALastMixChannelList::removeChannel().
| UINT8 data |
Definition at line 2 of file typedefs.hpp.
Referenced by CASocketGroupEpoll::isSignaled(), and CAHttpClient::sendPostRequest().
| UINT16 flags |
Definition at line 1 of file typedefs.hpp.
Referenced by CAMix::checkCompatibility(), CASocket::getNonBlocking(), CAFirstMixA::notifyAllUserChannels(), poptBadOption(), poptGetContext(), readPasswd(), and CASocket::setNonBlocking().
| UINT16 len |
Definition at line 0 of file typedefs.hpp.
Referenced by CAAccountingDBInterface::__storeAccountStatus(), CAAccountingDBInterface::__storeCostConfirmation(), CAAccountingDBInterface::__storePrepaidAmount(), CACmdLnOptions::addVisibleAddresses(), CACmdLnOptions::buildDefaultConfig(), bytes2hex(), CAThread::CAThread(), CAMix::checkCompatibility(), CASocket::connect(), CASymCipherCTR::crypt1(), CASymCipherNull::crypt1(), CASymCipherOFB::crypt1(), CASymCipherCTR::crypt2(), CASymCipherNull::crypt2(), CASymCipherOFB::crypt2(), CABase64::decode(), CASymCipher::decryptCBCwithPKCS7(), CAASymCipher::decryptOAEP(), decryptXMLElement(), CABase64::encode(), CACertStore::encode(), encodeXMLEncryptedKey(), CASymCipher::encryptCBCwithPKCS7(), CAASymCipher::encryptOAEP(), CAASymCipher::encryptPKCS1(), CACmdLnOptions::getAiID(), CACmdLnOptions::getCascadeName(), CAHttpClient::getContent(), CACmdLnOptions::getCredential(), CACmdLnOptions::getDatabaseHost(), CACmdLnOptions::getDatabaseName(), CACmdLnOptions::getDatabasePassword(), CACmdLnOptions::getDatabaseUsername(), getDOMElementAttribute(), CACmdLnOptions::getEncryptedLogDir(), CASocketAddrINet::getHostName(), CASocketAddrINet::getIPAsStr(), CASocketAddrINet::getLocalHostName(), CACmdLnOptions::getLogDir(), CACmdLnOptions::getMixHost(), CACmdLnOptions::getMixId(), CASocketAddrUnix::getPath(), CACmdLnOptions::getPidFile(), CAASymCipher::getPublicKeyAsXML(), getRandom(), CASignature::getSignKey(), CAMultiSignature::getSKI(), CACmdLnOptions::getSOCKSHost(), CAInfoService::getStatusXMLAsString(), CACmdLnOptions::getUser(), CASignature::getVerifyKeyHash(), CACmdLnOptions::getVisibleAddress(), CAAccountingInstance::handleAccountCertificate_internal(), CAFirstMix::initMixParameters(), CALocalProxy::loop(), CALastMixA::loop(), CAFirstMixB::loop(), main(), parseDOMDocument(), parseS64(), CASignature::parseSignKeyXML(), parseU64(), CASocket::peek(), CAAccountingInstance::prepareCCRequest(), CAReplayCtrlChannelMsgProc::proccessGotTimestamp(), CALastMix::processKeyExchange(), CAMiddleMix::processKeyExchange(), CALocalProxy::processKeyExchange(), CACmdLnOptions::processXmlConfiguration(), readPasswd(), CACmdLnOptions::readXmlConfiguration(), CAMuxSocket::receive(), CASocket::receive(), CATLSClientSocket::receive(), CADatagramSocket::receive(), CAClientSocket::receiveFully(), CAMuxSocket::receiveFully(), CASocket::receiveFullyT(), CACmdLnOptions::saveToFile(), CASocket::send(), CATLSClientSocket::send(), CADatagramSocket::send(), CAInfoService::sendCascadeHelo(), CASocket::sendFully(), CATLSClientSocket::sendFully(), CASocket::sendFullyTimeOut(), CAHttpClient::sendGetRequest(), CAInfoService::sendMixHelo(), CAHttpClient::sendPostRequest(), CAInfoService::sendStatus(), CASocket::sendTimeOut(), CAFirstMixA::sendToUsers(), CACmdLnOptions::setAccountingDatabase(), CACmdLnOptions::setLogDir(), CACmdLnOptions::setPrevMix(), CAASymCipher::setPublicKeyAsXML(), CASignature::setSignKey(), CACertificate::setSubjectKeyIdentifier(), CACmdLnOptions::setTermsAndConditionsTemplates(), CAXMLErrorMessage::setValues(), CASignature::setVerifyKey(), and CAMultiSignature::signXML().
| struct t_MixPacketPayload payload |
Definition at line 4 of file typedefs.hpp.
| UINT8 type |
Definition at line 1 of file typedefs.hpp.
Referenced by CADatagramSocket::create(), CASocket::create(), CACertStore::decode(), CACertificate::decode(), CACertStore::encode(), CACertificate::encode(), CAListenerInterface::getInstance(), CASocket::listen(), CAMsg::openLog(), CALibProxytest::openssl_locking_callback(), CAMsg::printMsg(), CASignature::setSignKey(), and CACmdLnOptions::setTargetInterfaces().