30 #if !defined ONLY_LOCAL_PROXY || defined INCLUDE_LAST_MIX
42 #include "SquidLogHelper/SquidLogHelper.hpp"
50 #ifdef REPLAY_DETECTION
59 #ifdef REPLAY_DETECTION
83 #ifdef LOG_PACKET_STATS
84 m_pLogPacketStats=NULL;
88 const char* request_line_regexp=
"[\n\r]*([^ ]+)[ ]+([^ ]+)";
89 m_pregexpRequestLine=
new tre_regex_t;
90 tre_regcomp(m_pregexpRequestLine,request_line_regexp,REG_EXTENDED );
92 const char* uri_regexp=
"[^:]+[:][/][/]([^:/]+)";
93 m_pregexpDomainOfURI=
new tre_regex_t;
94 tre_regcomp(m_pregexpDomainOfURI,uri_regexp,REG_EXTENDED );
95 m_pSquidLogHelper = NULL;
109 tre_regfree(m_pregexpRequestLine);
110 delete m_pregexpRequestLine;
111 tre_regfree(m_pregexpDomainOfURI);
112 delete m_pregexpDomainOfURI;
134 virtual void reconfigureMix();
146 bool checkCrime(
const UINT8* payLoad,
UINT32 payLen,
bool bURLCheck);
147 UINT8 *parseDomainFromPayload(
const UINT8 *payloadData,
UINT32 payloadDataLength);
155 #ifdef LOG_PACKET_TIMES
156 CALogPacketStats* m_pLogPacketStats;
170 tre_regex_t* m_pregexpRequestLine;
171 tre_regex_t* m_pregexpDomainOfURI;
172 tre_regex_t* m_pCrimeRegExpsURL;
173 UINT32 m_nCrimeRegExpsURL;
174 tre_regex_t* m_pCrimeRegExpsPayload;
175 UINT32 m_nCrimeRegExpsPayload;
176 CASquidLogHelper* m_pSquidLogHelper;
178 void externalCrimeNotifier(
UINT8 lastMixToProxyConnectionSrcIP[4],
179 UINT16 lastMixToProxyConnectionSrcPort,
180 UINT8 lastMixToProxyConnectionDstIP[4],
181 UINT16 lastMixToProxyConnectionDstPort,
UINT8* pstrExternalLogEntry);
THREAD_RETURN lm_loopReadFromMix(void *pParam)
THREAD_RETURN lm_loopSendToMix(void *param)
How to end this thread: 0.
THREAD_RETURN lm_loopLog(void *)
This class stores Addresses off different Cache-Proxies.
volatile UINT32 m_logDownloadedPackets
CAQueue * m_pQueueSendToMix
volatile UINT64 m_logDownloadedBytes
SINT32 initMixCascadeInfo(DOMElement *)
This will initialize the XML Cascade Info struct XMLFirstMixToInfoService that is sent to the InfoSer...
SINT32 setTargets()
Reads the configured proxies from options.
friend THREAD_RETURN lm_loopReadFromMix(void *pParam)
volatile UINT64 m_logUploadedBytes
virtual SINT32 processKeyExchange()
Processes the startup communication with the preceeding mix.
CACacheLoadBalancing * m_pVPNLB
CALastMixChannelList * m_pChannelList
virtual SINT32 initOnce()
friend THREAD_RETURN lm_loopSendToMix(void *param)
How to end this thread: 0.
CAQueue * m_pQueueReadFromMix
CAThread * m_pthreadReadFromMix
CAThread * m_pthreadSendToMix
CACacheLoadBalancing * m_pCacheLB
friend THREAD_RETURN lm_loopLog(void *)
volatile UINT32 m_logUploadedPackets
CACacheLoadBalancing * m_pSocksLB
CAInfoService * m_pInfoService
CAMultiSignature * m_pMultiSignature
This class (interface) adds the functionality used by last and middle mixes to detecte replays.
This is a simple FIFO-Queue.