Branch data Line data Source code
1 : : // $Id:$
2 : :
3 : : #include "HTTP-binpac.h"
4 : : #include "TCP_Reassembler.h"
5 : :
6 : 0 : HTTP_Analyzer_binpac::HTTP_Analyzer_binpac(Connection *c)
7 : 0 : : TCP_ApplicationAnalyzer(AnalyzerTag::HTTP_BINPAC, c)
8 : : {
9 : 0 : interp = new binpac::HTTP::HTTP_Conn(this);
10 : 0 : }
11 : :
12 : 0 : HTTP_Analyzer_binpac::~HTTP_Analyzer_binpac()
13 : : {
14 [ # # ][ # # ]: 0 : delete interp;
[ # # ]
15 [ # # ][ # # ]: 0 : }
[ # # ]
16 : :
17 : 0 : void HTTP_Analyzer_binpac::Done()
18 : : {
19 : 0 : TCP_ApplicationAnalyzer::Done();
20 : :
21 : 0 : interp->FlowEOF(true);
22 : 0 : interp->FlowEOF(false);
23 : 0 : }
24 : :
25 : 0 : void HTTP_Analyzer_binpac::EndpointEOF(TCP_Reassembler* endp)
26 : : {
27 : 0 : TCP_ApplicationAnalyzer::EndpointEOF(endp);
28 : 0 : interp->FlowEOF(endp->IsOrig());
29 : 0 : }
30 : :
31 : 0 : void HTTP_Analyzer_binpac::DeliverStream(int len, const u_char* data, bool orig)
32 : : {
33 : 0 : TCP_ApplicationAnalyzer::DeliverStream(len, data, orig);
34 : :
35 [ # # ]: 0 : assert(TCP());
36 : :
37 [ # # ]: 0 : if ( TCP()->IsPartial() )
38 : : // punt on partial.
39 : 0 : return;
40 : :
41 : 0 : interp->NewData(orig, data, data + len);
42 : : }
43 : :
44 : 0 : void HTTP_Analyzer_binpac::Undelivered(int seq, int len, bool orig)
45 : : {
46 : 0 : TCP_ApplicationAnalyzer::Undelivered(seq, len, orig);
47 : 0 : interp->NewGap(orig, len);
48 [ + - ][ + - ]: 6 : }
|