cirrus: Add smoke testing for builtin plugins

This adds two example plugins within testing/builtin-plugins/Files:

* protocol-plugin copied over from testing/btest/plugins/protocol-plugin

* py-lib-plugin that embeds Python to have a dependency on an external
  shared library which was already available in CI and fun to use, too.

Closes #2837
This commit is contained in:
Arne Welzel 2023-03-06 14:35:25 +01:00
parent 42c1fc3e7d
commit 1912ba7002
31 changed files with 435 additions and 0 deletions

View file

@ -0,0 +1,35 @@
#pragma once
#include "analyzer/protocol/pia/PIA.h"
#include "analyzer/protocol/tcp/TCP.h"
namespace binpac
{
namespace Foo
{
class Foo_Conn;
}
}
namespace btest::plugin::Demo_Foo
{
class Foo : public zeek::analyzer::tcp::TCP_ApplicationAnalyzer
{
public:
Foo(zeek::Connection* conn);
~Foo();
virtual void Done();
virtual void DeliverStream(int len, const u_char* data, bool orig);
virtual void Undelivered(uint64_t seq, int len, bool orig);
virtual void EndpointEOF(bool is_orig);
static zeek::analyzer::Analyzer* Instantiate(zeek::Connection* conn) { return new Foo(conn); }
protected:
binpac::Foo::Foo_Conn* interp;
};
}