Mixe for Privacy and Anonymity in the Internet
Classes | Macros | 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...
 

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__
 

Macro Definition Documentation

◆ AUTH_ACCOUNT_EMPTY

#define AUTH_ACCOUNT_EMPTY   0x1000

the account is empty

Definition at line 262 of file typedefs.hpp.

◆ AUTH_ACCOUNT_OK

#define AUTH_ACCOUNT_OK   0x2

format and signature of all received certificates was OK

Definition at line 236 of file typedefs.hpp.

◆ AUTH_BLOCKED

#define AUTH_BLOCKED   0x80

Account has been blocked temporarly.

Definition at line 248 of file typedefs.hpp.

◆ AUTH_CHALLENGE_SENT

#define AUTH_CHALLENGE_SENT   0x800

we have sent a challenge and not yet received the response

Definition at line 259 of file typedefs.hpp.

◆ AUTH_DATABASE

#define AUTH_DATABASE   0x40

A database error occured (internal or in the BI)

Definition at line 245 of file typedefs.hpp.

◆ AUTH_DELETE_ENTRY

#define AUTH_DELETE_ENTRY   0x80000

Definition at line 286 of file typedefs.hpp.

◆ AUTH_FAKE

#define AUTH_FAKE   0x400

the user tried to fake something

Definition at line 256 of file typedefs.hpp.

◆ AUTH_FATAL_ERROR

#define AUTH_FATAL_ERROR   0x2000

a fatal error occured earlier

Definition at line 265 of file typedefs.hpp.

◆ AUTH_GOT_ACCOUNTCERT

#define AUTH_GOT_ACCOUNTCERT   0x1

user has sent an account certificate

Definition at line 233 of file typedefs.hpp.

◆ AUTH_HARD_LIMIT_REACHED

#define AUTH_HARD_LIMIT_REACHED   0x200

Definition at line 253 of file typedefs.hpp.

◆ AUTH_INVALID_ACCOUNT

#define AUTH_INVALID_ACCOUNT   0x8000

Account does not exist.

Definition at line 270 of file typedefs.hpp.

◆ AUTH_LOGIN_FAILED

#define AUTH_LOGIN_FAILED   0x200000

Definition at line 289 of file typedefs.hpp.

◆ AUTH_LOGIN_NOT_FINISHED

#define AUTH_LOGIN_NOT_FINISHED   0x100000

Definition at line 288 of file typedefs.hpp.

◆ AUTH_LOGIN_SKIP_SETTLEMENT

#define AUTH_LOGIN_SKIP_SETTLEMENT   0x400000

Definition at line 290 of file typedefs.hpp.

◆ AUTH_MULTIPLE_LOGIN

#define AUTH_MULTIPLE_LOGIN   0x20000

Definition at line 275 of file typedefs.hpp.

◆ AUTH_NEW

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

◆ AUTH_OUTDATED_CC

#define AUTH_OUTDATED_CC   0x4000

Definition at line 267 of file typedefs.hpp.

◆ AUTH_SENT_ACCOUNT_REQUEST

#define AUTH_SENT_ACCOUNT_REQUEST   0x100

we have sent one request for an accountcertificate

Definition at line 251 of file typedefs.hpp.

◆ AUTH_SENT_CC_REQUEST

#define AUTH_SENT_CC_REQUEST   0x20

we have sent one or two CC requests

Definition at line 242 of file typedefs.hpp.

◆ AUTH_SETTLED_ONCE

#define AUTH_SETTLED_ONCE   0x80000

Definition at line 280 of file typedefs.hpp.

◆ AUTH_TIMEOUT_STARTED

#define AUTH_TIMEOUT_STARTED   0x10000

Definition at line 273 of file typedefs.hpp.

◆ AUTH_UNKNOWN

#define AUTH_UNKNOWN   0x40000

Definition at line 277 of file typedefs.hpp.

◆ AUTH_WAITING_FOR_FIRST_SETTLED_CC

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

◆ CHANNEL_ALLOWED_FLAGS

Definition at line 60 of file typedefs.hpp.

◆ CHANNEL_CLOSE

#define CHANNEL_CLOSE   0x01

Definition at line 47 of file typedefs.hpp.

◆ CHANNEL_DATA

#define CHANNEL_DATA   0x00

Definition at line 42 of file typedefs.hpp.

◆ CHANNEL_DEBUG

#define CHANNEL_DEBUG   0x20

Definition at line 51 of file typedefs.hpp.

◆ CHANNEL_DUMMY

#define CHANNEL_DUMMY   0x10

Definition at line 50 of file typedefs.hpp.

◆ CHANNEL_OPEN

#define CHANNEL_OPEN   0x08

Definition at line 43 of file typedefs.hpp.

◆ CHANNEL_SIG_CRIME

#define CHANNEL_SIG_CRIME   0x0

Definition at line 58 of file typedefs.hpp.

◆ CHANNEL_SIG_CRIME_ID_MASK

#define CHANNEL_SIG_CRIME_ID_MASK   0x0

Definition at line 59 of file typedefs.hpp.

◆ CHANNEL_TIMESTAMPS_DOWN

#define CHANNEL_TIMESTAMPS_DOWN   0x90

Definition at line 46 of file typedefs.hpp.

◆ CHANNEL_TIMESTAMPS_UP

#define CHANNEL_TIMESTAMPS_UP   0x60

Definition at line 45 of file typedefs.hpp.

◆ CONNECTION_ERROR_FLAG

#define CONNECTION_ERROR_FLAG   0x01

Definition at line 67 of file typedefs.hpp.

◆ DATA_SIZE

#define DATA_SIZE   992

Definition at line 69 of file typedefs.hpp.

◆ DO_PACKED

#define DO_PACKED   __attribute__ ((__packed__))

Definition at line 84 of file typedefs.hpp.

◆ GCM_MAC_SIZE

#define GCM_MAC_SIZE   16

Definition at line 78 of file typedefs.hpp.

◆ INTEGRITY_ERROR_FLAG

#define INTEGRITY_ERROR_FLAG   0x4000

Definition at line 65 of file typedefs.hpp.

◆ MIX_PAYLOAD_HTTP

#define MIX_PAYLOAD_HTTP   0

Definition at line 35 of file typedefs.hpp.

◆ MIX_PAYLOAD_SOCKS

#define MIX_PAYLOAD_SOCKS   1

Definition at line 36 of file typedefs.hpp.

◆ MIX_PAYLOAD_VPN

#define MIX_PAYLOAD_VPN   2

Definition at line 37 of file typedefs.hpp.

◆ MIXPACKET_SIZE

#define MIXPACKET_SIZE   998

Definition at line 40 of file typedefs.hpp.

◆ NEW_FLOW_CONTROL_FLAG

#define NEW_FLOW_CONTROL_FLAG   0x8000

Definition at line 63 of file typedefs.hpp.

◆ PAYLOAD_HEADER_SIZE

#define PAYLOAD_HEADER_SIZE   3

Definition at line 76 of file typedefs.hpp.

◆ PAYLOAD_LEN_MASK

#define PAYLOAD_LEN_MASK   0x03FF;

Definition at line 79 of file typedefs.hpp.

◆ PAYLOAD_SIZE

#define PAYLOAD_SIZE   989

Definition at line 73 of file typedefs.hpp.

Typedef Documentation

◆ HCHANNEL

typedef UINT32 HCHANNEL

Definition at line 34 of file typedefs.hpp.

◆ MIXPACKET

Definition at line 127 of file typedefs.hpp.

◆ tAiAccountingInfo

Definition at line 192 of file typedefs.hpp.

◆ tMixParameters

Definition at line 192 of file typedefs.hpp.

◆ tPoolEntry

Definition at line 192 of file typedefs.hpp.

◆ tQueueEntry

typedef struct t_queue_entry tQueueEntry

Definition at line 127 of file typedefs.hpp.

◆ tReplayTimestamp

Definition at line 192 of file typedefs.hpp.

Enumeration Type Documentation

◆ NetworkType

Enumerator
UNKNOWN_NETWORKTYPE 
RAW_TCP 
RAW_UNIX 
RAW_UDP 
SSL_TCP 
SSL_UNIX 
HTTP_TCP 

Definition at line 30 of file typedefs.hpp.

@ RAW_TCP
Definition: typedefs.hpp:30
@ RAW_UDP
Definition: typedefs.hpp:30
@ SSL_TCP
Definition: typedefs.hpp:30
@ RAW_UNIX
Definition: typedefs.hpp:30
@ SSL_UNIX
Definition: typedefs.hpp:30
@ UNKNOWN_NETWORKTYPE
Definition: typedefs.hpp:30
@ HTTP_TCP
Definition: typedefs.hpp:30

◆ TargetType

enum TargetType
Enumerator
TARGET_UNKNOWN 
TARGET_MIX 
TARGET_HTTP_PROXY 
TARGET_SOCKS_PROXY 
TARGET_VPN_PROXY 

Definition at line 32 of file typedefs.hpp.

@ TARGET_VPN_PROXY
Definition: typedefs.hpp:32
@ TARGET_UNKNOWN
Definition: typedefs.hpp:32
@ TARGET_SOCKS_PROXY
Definition: typedefs.hpp:32
@ TARGET_HTTP_PROXY
Definition: typedefs.hpp:32
@ TARGET_MIX
Definition: typedefs.hpp:32

Function Documentation

◆ __attribute__()

struct t_MixPacketPayload __attribute__ ( (__packed__)  )

Variable Documentation

◆ 

union { ... }

◆ __attribute__

struct t_downstream_chain_cell __attribute__

◆ channel

HCHANNEL channel

◆ data

UINT8 data

Definition at line 2 of file typedefs.hpp.

Referenced by CASocketGroupEpoll::isSignaled(), and CAHttpClient::sendPostRequest().

◆ flags

UINT16 flags

◆ len

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

◆ payload

struct t_MixPacketPayload payload

Definition at line 4 of file typedefs.hpp.

◆ type

UINT8 type