mirror of
https://github.com/zeek/zeek.git
synced 2025-10-06 00:28:21 +00:00
First step for a DTLS analyzer.
This commit mostly does a lot of refactoring of the current SSL analyzer, which is split into several parts. The handshake protocol is completely taken out of the SSL analyzer and was refactored into its own analyzer (called tls-handshake-analyzer). This will also (finally) make it possible to deal with TLS record fragmentation. Apart from that, the parts of the SSL analyzer that are common to DTLS were split into their own pac files. Both the SSL analyzer and the (very basic, mostly nonfunctional) DTLS analyzer use their own pac files and those shared pac files. All SSL tests still pass after refactoring so I hope I did not break anything too badly. At the moment, we have two different modules in one directory and I guess the way I am doing this might be an abuse of the system. It seems to work though...
This commit is contained in:
parent
cb5902d1ad
commit
038fbf9b9e
24 changed files with 1487 additions and 1162 deletions
|
@ -4,7 +4,10 @@
|
|||
#include "events.bif.h"
|
||||
|
||||
#include "analyzer/protocol/tcp/TCP.h"
|
||||
#include "ssl_pac.h"
|
||||
|
||||
namespace binpac { namespace SSL { class SSL_Conn; } }
|
||||
|
||||
namespace binpac { namespace TLSHandshake { class Handshake_Conn; } }
|
||||
|
||||
namespace analyzer { namespace ssl {
|
||||
|
||||
|
@ -18,6 +21,8 @@ public:
|
|||
virtual void DeliverStream(int len, const u_char* data, bool orig);
|
||||
virtual void Undelivered(uint64 seq, int len, bool orig);
|
||||
|
||||
void SendHandshake(uint8 msg_type, uint32 length, const u_char* begin, const u_char* end, bool orig);
|
||||
|
||||
// Overriden from tcp::TCP_ApplicationAnalyzer.
|
||||
virtual void EndpointEOF(bool is_orig);
|
||||
|
||||
|
@ -26,6 +31,7 @@ public:
|
|||
|
||||
protected:
|
||||
binpac::SSL::SSL_Conn* interp;
|
||||
binpac::TLSHandshake::Handshake_Conn* handshake_interp;
|
||||
bool had_gap;
|
||||
|
||||
};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue