mirror of
https://github.com/zeek/zeek.git
synced 2025-10-08 01:28:20 +00:00

There's now a new directory "src/protocols/", and the plan is for each protocol analyzer to eventually have its own subdirectory in there that contains everything it defines (C++/pac/bif). The infrastructure to make that happen is in place, and two analyzers have been converted to the new model, HTTP and SSL; there's no further HTTP/SSL-specific code anywhere else in the core anymore (I believe :-) Further changes: - -N lists available plugins, -NN lists more details on what these plugins provide (analyzers, bif elements). (The latter does not work for analyzers that haven't been converted yet). - *.bif.bro files now go into scripts/base/bif/; and scripts/base/bif/plugins/ for bif files provided by plugins. - I've factored out the bifcl/binpac CMake magic from src/CMakeLists.txt to cmake/{BifCl,Binpac} - There's a new cmake/BroPlugin that contains magic to allow plugins to have a simple CMakeLists.txt. The hope is that eventually the same CMakeLists.txt can be used for compiling a plugin either statically or dynamically. - bifcl has a new option -c that changes the code it generates so that it can be used with a plugin. TODOs: - "make install" is probably broken. - Broxygen is probably broken for plugin-defined events. - event groups are broken (do we want to keep them?)
28 lines
678 B
C++
28 lines
678 B
C++
#ifndef http_binpac_h
|
|
#define http_binpac_h
|
|
|
|
#include "TCP.h"
|
|
|
|
#include "http_pac.h"
|
|
|
|
class HTTP_Analyzer_binpac : public TCP_ApplicationAnalyzer {
|
|
public:
|
|
HTTP_Analyzer_binpac(Connection* conn);
|
|
virtual ~HTTP_Analyzer_binpac();
|
|
|
|
virtual void Done();
|
|
virtual void DeliverStream(int len, const u_char* data, bool orig);
|
|
virtual void Undelivered(int seq, int len, bool orig);
|
|
virtual void EndpointEOF(bool is_orig);
|
|
|
|
static analyzer::Analyzer* InstantiateAnalyzer(Connection* conn)
|
|
{ return new HTTP_Analyzer_binpac(conn); }
|
|
|
|
static bool Available()
|
|
{ return (http_request || http_reply) && FLAGS_use_binpac; }
|
|
|
|
protected:
|
|
binpac::HTTP::HTTP_Conn* interp;
|
|
};
|
|
|
|
#endif
|