Mixe for Privacy and Anonymity in the Internet
Classes | Defines | Typedefs | Enumerations | Functions | Variables
typedefs.hpp File Reference
This graph shows which files directly or indirectly include this file:

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

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

format and signature of all received certificates was OK

Definition at line 234 of file typedefs.hpp.

Referenced by CAAccountingInstance::cleanupTableEntry(), CAAccountingInstance::handleChallengeResponse_internal(), and CAAccountingInstance::handleCostConfirmation_internal().

#define AUTH_BLOCKED   0x80
#define AUTH_CHALLENGE_SENT   0x800

we have sent a challenge and not yet received the response

Definition at line 257 of file typedefs.hpp.

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

#define AUTH_DATABASE   0x40

A database error occured (internal or in the BI)

Definition at line 243 of file typedefs.hpp.

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

#define AUTH_DELETE_ENTRY   0x80000
#define AUTH_FAKE   0x400
#define AUTH_FATAL_ERROR   0x2000

a fatal error occured earlier

Definition at line 263 of file typedefs.hpp.

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

#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

Definition at line 228 of file typedefs.hpp.

#define AUTH_OUTDATED_CC   0x4000
#define AUTH_SENT_ACCOUNT_REQUEST   0x100

we have sent one request for an accountcertificate

Definition at line 249 of file typedefs.hpp.

Referenced by CAAccountingInstance::initTableEntry().

#define AUTH_SENT_CC_REQUEST   0x20
#define AUTH_SETTLED_ONCE   0x80000
#define AUTH_TIMEOUT_STARTED   0x10000
#define AUTH_UNKNOWN   0x40000

Definition at line 58 of file typedefs.hpp.

Referenced by mm_loopReadFromMixAfter(), and mm_loopReadFromMixBefore().

#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

Definition at line 57 of file typedefs.hpp.

#define CHANNEL_TIMESTAMPS_DOWN   0x90

Definition at line 45 of file typedefs.hpp.

#define CHANNEL_TIMESTAMPS_UP   0x60

Definition at line 44 of file typedefs.hpp.

#define CONNECTION_ERROR_FLAG   0x01

Definition at line 65 of file typedefs.hpp.

Referenced by CALastMixA::loop().

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

Definition at line 82 of file typedefs.hpp.

#define GCM_MAC_SIZE   16

Definition at line 76 of file typedefs.hpp.

Referenced by CALastMixA::loop().

#define INTEGRITY_ERROR_FLAG   0x4000

Definition at line 63 of file typedefs.hpp.

Referenced by CALastMixA::loop().

#define MIX_PAYLOAD_HTTP   0

Definition at line 35 of file typedefs.hpp.

Referenced by CALocalProxy::loop().

#define MIX_PAYLOAD_SOCKS   1

Definition at line 36 of file typedefs.hpp.

Referenced by CALastMixA::loop(), CALastMixB::loop(), and CALocalProxy::loop().

#define MIXPACKET_SIZE   998
#define NEW_FLOW_CONTROL_FLAG   0x8000

Definition at line 61 of file typedefs.hpp.

Referenced by CALastMixA::loop(), and CALocalProxy::loop().

#define PAYLOAD_HEADER_SIZE   3

Definition at line 74 of file typedefs.hpp.

Referenced by CALastMixA::loop().

#define PAYLOAD_LEN_MASK   0x03FF;

Definition at line 77 of file typedefs.hpp.

Referenced by CALastMixA::loop(), and CALocalProxy::loop().

#define PAYLOAD_SIZE   989

Definition at line 71 of file typedefs.hpp.

Referenced by CALastMixA::loop(), and CALocalProxy::loop().


Typedef Documentation

typedef UINT32 HCHANNEL

Definition at line 34 of file typedefs.hpp.

Definition at line 125 of file typedefs.hpp.

Definition at line 351 of file typedefs.hpp.

Definition at line 219 of file typedefs.hpp.

Definition at line 190 of file typedefs.hpp.

typedef struct t_queue_entry tQueueEntry

Definition at line 186 of file typedefs.hpp.

Definition at line 209 of file typedefs.hpp.


Enumeration Type Documentation

Enumerator:
UNKNOWN_NETWORKTYPE 
RAW_TCP 
RAW_UNIX 
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 

Definition at line 32 of file typedefs.hpp.


Function Documentation

struct t_MixPacketPayload __attribute__ ( (__packed__)  )

Variable Documentation

union { ... }

Definition at line 123 of file typedefs.hpp.

Definition at line 115 of file typedefs.hpp.

Definition at line 113 of file typedefs.hpp.

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(), and CAMultiSignature::signXML().

Definition at line 128 of file typedefs.hpp.