Mixes for Privacy and Anonymity in the Internet
Classes | Defines | Typedefs | Enumerations | Functions | Variables
typedefs.hpp File Reference

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...

Defines

#define MIX_PAYLOAD_HTTP   0
#define MIX_PAYLOAD_SOCKS   1
#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_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.
#define AUTH_GOT_ACCOUNTCERT   0x1
 user has sent an account certificate
#define AUTH_ACCOUNT_OK   0x2
 format and signature of all received certificates was OK
#define AUTH_WAITING_FOR_FIRST_SETTLED_CC   0x4
 First CC from client has not been settled yet.
#define AUTH_SENT_CC_REQUEST   0x20
 we have sent one or two CC requests
#define AUTH_DATABASE   0x40
 A database error occured (internal or in the BI)
#define AUTH_BLOCKED   0x80
 Account has been blocked temporarly.
#define AUTH_SENT_ACCOUNT_REQUEST   0x100
 we have sent one request for an accountcertificate
#define AUTH_HARD_LIMIT_REACHED   0x200
#define AUTH_FAKE   0x400
 the user tried to fake something
#define AUTH_CHALLENGE_SENT   0x800
 we have sent a challenge and not yet received the response
#define AUTH_ACCOUNT_EMPTY   0x1000
 the account is empty
#define AUTH_FATAL_ERROR   0x2000
 a fatal error occured earlier
#define AUTH_OUTDATED_CC   0x4000
#define AUTH_INVALID_ACCOUNT   0x8000
 Account does not exist.
#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, SSL_TCP,
  SSL_UNIX, HTTP_TCP
}
enum  TargetType { TARGET_UNKNOWN, TARGET_MIX, TARGET_HTTP_PROXY, TARGET_SOCKS_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 Documentation

#define AUTH_ACCOUNT_EMPTY   0x1000
#define AUTH_ACCOUNT_OK   0x2
#define AUTH_BLOCKED   0x80
#define AUTH_CHALLENGE_SENT   0x800

we have sent a challenge and not yet received the response

Referenced by CAAccountingInstance::handleAccountCertificate_internal(), and CAAccountingInstance::handleChallengeResponse_internal().

#define AUTH_DATABASE   0x40

A database error occured (internal or in the BI)

Referenced by CAAccountingInstance::handleCostConfirmation_internal(), and CAAccountingInstance::handleJapPacket_internal().

#define AUTH_DELETE_ENTRY   0x80000
#define AUTH_FAKE   0x400
#define AUTH_FATAL_ERROR   0x2000
#define AUTH_GOT_ACCOUNTCERT   0x1
#define AUTH_HARD_LIMIT_REACHED   0x200
#define AUTH_INVALID_ACCOUNT   0x8000
#define AUTH_LOGIN_FAILED   0x200000
#define AUTH_LOGIN_NOT_FINISHED   0x100000
#define AUTH_LOGIN_SKIP_SETTLEMENT   0x400000
#define AUTH_MULTIPLE_LOGIN   0x20000
#define AUTH_NEW   0x0

These flags are used to represent the state of the payment.

new user, not yet authenticated

#define AUTH_OUTDATED_CC   0x4000
#define AUTH_SENT_ACCOUNT_REQUEST   0x100

we have sent one request for an accountcertificate

Referenced by CAAccountingInstance::initTableEntry().

#define AUTH_SENT_CC_REQUEST   0x20
#define AUTH_SETTLED_ONCE   0x80000
#define AUTH_TIMEOUT_STARTED   0x10000
#define AUTH_UNKNOWN   0x40000
#define CHANNEL_CLOSE   0x01
#define CHANNEL_DATA   0x00
#define CHANNEL_DUMMY   0x10
#define CHANNEL_OPEN   0x08
#define CHANNEL_SIG_CRIME   0x0
#define CHANNEL_SIG_CRIME_ID_MASK   0x0
#define CHANNEL_TIMESTAMPS_DOWN   0x90
#define CHANNEL_TIMESTAMPS_UP   0x60
#define CONNECTION_ERROR_FLAG   0x01

Referenced by CALastMixA::loop().

#define DATA_SIZE   992
#define DO_PACKED   __attribute__ ((__packed__))
#define GCM_MAC_SIZE   16

Referenced by CALastMixA::loop().

#define INTEGRITY_ERROR_FLAG   0x4000

Referenced by CALastMixA::loop().

#define MIX_PAYLOAD_HTTP   0

Referenced by CALocalProxy::loop().

#define MIX_PAYLOAD_SOCKS   1
#define MIXPACKET_SIZE   998
#define NEW_FLOW_CONTROL_FLAG   0x8000
#define PAYLOAD_HEADER_SIZE   3

Referenced by CALastMixA::loop().

#define PAYLOAD_LEN_MASK   0x03FF;
#define PAYLOAD_SIZE   989

Typedef Documentation

typedef UINT32 HCHANNEL
typedef struct t_queue_entry tQueueEntry

Enumeration Type Documentation

Enumerator:
UNKNOWN_NETWORKTYPE 
RAW_TCP 
RAW_UNIX 
SSL_TCP 
SSL_UNIX 
HTTP_TCP 
enum TargetType
Enumerator:
TARGET_UNKNOWN 
TARGET_MIX 
TARGET_HTTP_PROXY 
TARGET_SOCKS_PROXY 

Function Documentation

struct t_MixPacketPayload __attribute__ ( (__packed__)  )

Variable Documentation

union { ... }

Referenced by CAAccountingDBInterface::__storeAccountStatus(), CAAccountingDBInterface::__storeCostConfirmation(), CAAccountingDBInterface::__storePrepaidAmount(), CACmdLnOptions::addVisibleAddresses(), bytes2hex(), CAThread::CAThread(), CAMix::checkCompatibility(), CASocket::connect(), CASymCipher::crypt1(), CASymCipher::crypt2(), CABase64::decode(), decryptXMLElement(), CABase64::encode(), CACertStore::encode(), encodeXMLEncryptedKey(), fm_loopSendToMix(), CAHttpClient::getContent(), getDOMElementAttribute(), CASocketAddrUnix::getPath(), CASignature::getSignKey(), CAMultiSignature::getSKI(), CAAccountingInstance::handleAccountCertificate_internal(), CAFirstMix::initMixParameters(), lm_loopSendToMix(), CALastMixA::loop(), CAFirstMixB::loop(), CALocalProxy::loop(), main(), mm_loopSendToMixAfter(), mm_loopSendToMixBefore(), parseS64(), parseU64(), CAAccountingInstance::prepareCCRequest(), CAReplayCtrlChannelMsgProc::proccessGotTimestamp(), CAMiddleMix::processKeyExchange(), CALastMix::processKeyExchange(), CAFirstMix::processKeyExchange(), CACmdLnOptions::readXmlConfiguration(), CAMuxSocket::receive(), CACmdLnOptions::saveToFile(), CAInfoService::sendCascadeHelo(), CAHttpClient::sendGetRequest(), CAInfoService::sendMixHelo(), CAHttpClient::sendPostRequest(), CAInfoService::sendStatus(), CAFirstMixA::sendToUsers(), CACmdLnOptions::setLogDir(), CACmdLnOptions::setPrevMix(), CACertificate::setSubjectKeyIdentifier(), CACmdLnOptions::setTermsAndConditionsTemplates(), CAXMLCostConfirmation::setValues(), CAXMLErrorMessage::setValues(), CASignature::setVerifyKey(), showHelpIntro(), CAMultiSignature::signXML(), and singleOptionUsage().