Branch data Line data Source code
1 : : // $Id:$
2 : :
3 : : #ifndef ssl_binpac_h
4 : : #define ssl_binpac_h
5 : :
6 : : #include "TCP.h"
7 : :
8 : : #include "ssl_pac.h"
9 : : #include "ssl-record-layer_pac.h"
10 : :
11 : : class SSL_Analyzer_binpac : public TCP_ApplicationAnalyzer {
12 : : public:
13 : : SSL_Analyzer_binpac(Connection* conn);
14 : : virtual ~SSL_Analyzer_binpac();
15 : :
16 : : virtual void Done();
17 : : virtual void DeliverStream(int len, const u_char* data, bool orig);
18 : : virtual void Undelivered(int seq, int len, bool orig);
19 : : virtual void EndpointEOF(TCP_Reassembler* endp);
20 : :
21 : 0 : static Analyzer* InstantiateAnalyzer(Connection* conn)
22 : 0 : { return new SSL_Analyzer_binpac(conn); }
23 : :
24 : 1 : static bool Available()
25 : : {
26 : : return FLAGS_use_binpac &&
27 : : (ssl_certificate_seen || ssl_certificate ||
28 : : ssl_conn_attempt || ssl_conn_server_reply ||
29 : : ssl_conn_established || ssl_conn_reused ||
30 [ - + ][ # # ]: 1 : ssl_conn_alert);
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
31 : : }
32 : :
33 : : static bool warnings_generated;
34 : : static void warn_(const char* msg);
35 : : static void generate_warnings();
36 : :
37 : : protected:
38 : : binpac::SSLRecordLayer::SSLRecordLayerAnalyzer* records;
39 : : binpac::SSL::SSLAnalyzer* ssl;
40 : : };
41 : :
42 : : #endif
|