mirror of
https://github.com/zeek/zeek.git
synced 2025-10-12 19:48:20 +00:00
Deprecate OpaqueVal/HashVal ctors that take OpaqueType*
Replaced with ones that take IntrusivePtr
This commit is contained in:
parent
8fc89491bf
commit
4a2221b878
9 changed files with 62 additions and 61 deletions
|
@ -37,9 +37,11 @@ OpaqueMgr* OpaqueMgr::mgr()
|
||||||
return &mgr;
|
return &mgr;
|
||||||
}
|
}
|
||||||
|
|
||||||
OpaqueVal::OpaqueVal(OpaqueType* t) : Val(IntrusivePtr{NewRef{}, t})
|
OpaqueVal::OpaqueVal(OpaqueType* t) : OpaqueVal({NewRef{}, t})
|
||||||
{
|
{}
|
||||||
}
|
|
||||||
|
OpaqueVal::OpaqueVal(IntrusivePtr<OpaqueType> t) : Val(std::move(t))
|
||||||
|
{}
|
||||||
|
|
||||||
OpaqueVal::~OpaqueVal()
|
OpaqueVal::~OpaqueVal()
|
||||||
{
|
{
|
||||||
|
@ -204,11 +206,14 @@ IntrusivePtr<StringVal> HashVal::DoGet()
|
||||||
return val_mgr->EmptyString();
|
return val_mgr->EmptyString();
|
||||||
}
|
}
|
||||||
|
|
||||||
HashVal::HashVal(OpaqueType* t) : OpaqueVal(t)
|
HashVal::HashVal(IntrusivePtr<OpaqueType> t) : OpaqueVal(std::move(t))
|
||||||
{
|
{
|
||||||
valid = false;
|
valid = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
HashVal::HashVal(OpaqueType* t) : HashVal({NewRef{}, t})
|
||||||
|
{}
|
||||||
|
|
||||||
MD5Val::MD5Val() : HashVal(md5_type)
|
MD5Val::MD5Val() : HashVal(md5_type)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
@ -700,14 +705,6 @@ BloomFilterVal::BloomFilterVal()
|
||||||
bloom_filter = nullptr;
|
bloom_filter = nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
BloomFilterVal::BloomFilterVal(OpaqueType* t)
|
|
||||||
: OpaqueVal(t)
|
|
||||||
{
|
|
||||||
type = nullptr;
|
|
||||||
hash = nullptr;
|
|
||||||
bloom_filter = nullptr;
|
|
||||||
}
|
|
||||||
|
|
||||||
BloomFilterVal::BloomFilterVal(probabilistic::BloomFilter* bf)
|
BloomFilterVal::BloomFilterVal(probabilistic::BloomFilter* bf)
|
||||||
: OpaqueVal(bloomfilter_type)
|
: OpaqueVal(bloomfilter_type)
|
||||||
{
|
{
|
||||||
|
|
|
@ -87,7 +87,9 @@ private:
|
||||||
*/
|
*/
|
||||||
class OpaqueVal : public Val {
|
class OpaqueVal : public Val {
|
||||||
public:
|
public:
|
||||||
|
[[deprecated("Remove in v4.1. Construct from IntrusivePtr instead.")]]
|
||||||
explicit OpaqueVal(OpaqueType* t);
|
explicit OpaqueVal(OpaqueType* t);
|
||||||
|
explicit OpaqueVal(IntrusivePtr<OpaqueType> t);
|
||||||
~OpaqueVal() override;
|
~OpaqueVal() override;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -183,7 +185,10 @@ protected:
|
||||||
static void digest_one(EVP_MD_CTX* h, const IntrusivePtr<Val>& v);
|
static void digest_one(EVP_MD_CTX* h, const IntrusivePtr<Val>& v);
|
||||||
|
|
||||||
HashVal() { valid = false; }
|
HashVal() { valid = false; }
|
||||||
|
|
||||||
|
[[deprecated("Remove in v4.1. Construct from IntrusivePtr instead.")]]
|
||||||
explicit HashVal(OpaqueType* t);
|
explicit HashVal(OpaqueType* t);
|
||||||
|
explicit HashVal(IntrusivePtr<OpaqueType> t);
|
||||||
|
|
||||||
virtual bool DoInit();
|
virtual bool DoInit();
|
||||||
virtual bool DoFeed(const void* data, size_t size);
|
virtual bool DoFeed(const void* data, size_t size);
|
||||||
|
@ -314,7 +319,6 @@ public:
|
||||||
protected:
|
protected:
|
||||||
friend class Val;
|
friend class Val;
|
||||||
BloomFilterVal();
|
BloomFilterVal();
|
||||||
explicit BloomFilterVal(OpaqueType* t);
|
|
||||||
|
|
||||||
DECLARE_OPAQUE_VALUE(BloomFilterVal)
|
DECLARE_OPAQUE_VALUE(BloomFilterVal)
|
||||||
private:
|
private:
|
||||||
|
|
20
src/Type.h
20
src/Type.h
|
@ -769,16 +769,16 @@ protected:
|
||||||
IntrusivePtr<BroType> yield_type;
|
IntrusivePtr<BroType> yield_type;
|
||||||
};
|
};
|
||||||
|
|
||||||
extern OpaqueType* md5_type;
|
extern IntrusivePtr<OpaqueType> md5_type;
|
||||||
extern OpaqueType* sha1_type;
|
extern IntrusivePtr<OpaqueType> sha1_type;
|
||||||
extern OpaqueType* sha256_type;
|
extern IntrusivePtr<OpaqueType> sha256_type;
|
||||||
extern OpaqueType* entropy_type;
|
extern IntrusivePtr<OpaqueType> entropy_type;
|
||||||
extern OpaqueType* cardinality_type;
|
extern IntrusivePtr<OpaqueType> cardinality_type;
|
||||||
extern OpaqueType* topk_type;
|
extern IntrusivePtr<OpaqueType> topk_type;
|
||||||
extern OpaqueType* bloomfilter_type;
|
extern IntrusivePtr<OpaqueType> bloomfilter_type;
|
||||||
extern OpaqueType* x509_opaque_type;
|
extern IntrusivePtr<OpaqueType> x509_opaque_type;
|
||||||
extern OpaqueType* ocsp_resp_opaque_type;
|
extern IntrusivePtr<OpaqueType> ocsp_resp_opaque_type;
|
||||||
extern OpaqueType* paraglob_type;
|
extern IntrusivePtr<OpaqueType> paraglob_type;
|
||||||
|
|
||||||
// Returns the basic (non-parameterized) type with the given type.
|
// Returns the basic (non-parameterized) type with the given type.
|
||||||
const IntrusivePtr<BroType>& base_type(TypeTag tag);
|
const IntrusivePtr<BroType>& base_type(TypeTag tag);
|
||||||
|
|
|
@ -17,11 +17,11 @@
|
||||||
|
|
||||||
using namespace std;
|
using namespace std;
|
||||||
|
|
||||||
OpaqueType* bro_broker::opaque_of_data_type;
|
IntrusivePtr<OpaqueType> bro_broker::opaque_of_data_type;
|
||||||
OpaqueType* bro_broker::opaque_of_set_iterator;
|
IntrusivePtr<OpaqueType> bro_broker::opaque_of_set_iterator;
|
||||||
OpaqueType* bro_broker::opaque_of_table_iterator;
|
IntrusivePtr<OpaqueType> bro_broker::opaque_of_table_iterator;
|
||||||
OpaqueType* bro_broker::opaque_of_vector_iterator;
|
IntrusivePtr<OpaqueType> bro_broker::opaque_of_vector_iterator;
|
||||||
OpaqueType* bro_broker::opaque_of_record_iterator;
|
IntrusivePtr<OpaqueType> bro_broker::opaque_of_record_iterator;
|
||||||
|
|
||||||
BroType* bro_broker::DataVal::script_data_type = nullptr;
|
BroType* bro_broker::DataVal::script_data_type = nullptr;
|
||||||
|
|
||||||
|
|
|
@ -12,11 +12,11 @@ class ODesc;
|
||||||
|
|
||||||
namespace bro_broker {
|
namespace bro_broker {
|
||||||
|
|
||||||
extern OpaqueType* opaque_of_data_type;
|
extern IntrusivePtr<OpaqueType> opaque_of_data_type;
|
||||||
extern OpaqueType* opaque_of_set_iterator;
|
extern IntrusivePtr<OpaqueType> opaque_of_set_iterator;
|
||||||
extern OpaqueType* opaque_of_table_iterator;
|
extern IntrusivePtr<OpaqueType> opaque_of_table_iterator;
|
||||||
extern OpaqueType* opaque_of_vector_iterator;
|
extern IntrusivePtr<OpaqueType> opaque_of_vector_iterator;
|
||||||
extern OpaqueType* opaque_of_record_iterator;
|
extern IntrusivePtr<OpaqueType> opaque_of_record_iterator;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Convert a broker port protocol to a bro port protocol.
|
* Convert a broker port protocol to a bro port protocol.
|
||||||
|
|
|
@ -151,12 +151,12 @@ void Manager::InitPostScript()
|
||||||
log_id_type = zeek::id::find_type("Log::ID")->AsEnumType();
|
log_id_type = zeek::id::find_type("Log::ID")->AsEnumType();
|
||||||
writer_id_type = zeek::id::find_type("Log::Writer")->AsEnumType();
|
writer_id_type = zeek::id::find_type("Log::Writer")->AsEnumType();
|
||||||
|
|
||||||
opaque_of_data_type = new OpaqueType("Broker::Data");
|
opaque_of_data_type = make_intrusive<OpaqueType>("Broker::Data");
|
||||||
opaque_of_set_iterator = new OpaqueType("Broker::SetIterator");
|
opaque_of_set_iterator = make_intrusive<OpaqueType>("Broker::SetIterator");
|
||||||
opaque_of_table_iterator = new OpaqueType("Broker::TableIterator");
|
opaque_of_table_iterator = make_intrusive<OpaqueType>("Broker::TableIterator");
|
||||||
opaque_of_vector_iterator = new OpaqueType("Broker::VectorIterator");
|
opaque_of_vector_iterator = make_intrusive<OpaqueType>("Broker::VectorIterator");
|
||||||
opaque_of_record_iterator = new OpaqueType("Broker::RecordIterator");
|
opaque_of_record_iterator = make_intrusive<OpaqueType>("Broker::RecordIterator");
|
||||||
opaque_of_store_handle = new OpaqueType("Broker::Store");
|
opaque_of_store_handle = make_intrusive<OpaqueType>("Broker::Store");
|
||||||
vector_of_data_type = make_intrusive<VectorType>(zeek::id::find_type("Broker::Data"));
|
vector_of_data_type = make_intrusive<VectorType>(zeek::id::find_type("Broker::Data"));
|
||||||
|
|
||||||
// Register as a "dont-count" source first, we may change that later.
|
// Register as a "dont-count" source first, we may change that later.
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
|
|
||||||
namespace bro_broker {
|
namespace bro_broker {
|
||||||
|
|
||||||
OpaqueType* opaque_of_store_handle;
|
IntrusivePtr<OpaqueType> opaque_of_store_handle;
|
||||||
|
|
||||||
EnumVal* query_status(bool success)
|
EnumVal* query_status(bool success)
|
||||||
{
|
{
|
||||||
|
|
|
@ -11,7 +11,7 @@
|
||||||
|
|
||||||
namespace bro_broker {
|
namespace bro_broker {
|
||||||
|
|
||||||
extern OpaqueType* opaque_of_store_handle;
|
extern IntrusivePtr<OpaqueType> opaque_of_store_handle;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create a Broker::QueryStatus value.
|
* Create a Broker::QueryStatus value.
|
||||||
|
|
|
@ -113,16 +113,16 @@ vector<string> params;
|
||||||
set<string> requested_plugins;
|
set<string> requested_plugins;
|
||||||
const char* proc_status_file = nullptr;
|
const char* proc_status_file = nullptr;
|
||||||
|
|
||||||
OpaqueType* md5_type = nullptr;
|
IntrusivePtr<OpaqueType> md5_type;
|
||||||
OpaqueType* sha1_type = nullptr;
|
IntrusivePtr<OpaqueType> sha1_type;
|
||||||
OpaqueType* sha256_type = nullptr;
|
IntrusivePtr<OpaqueType> sha256_type;
|
||||||
OpaqueType* entropy_type = nullptr;
|
IntrusivePtr<OpaqueType> entropy_type;
|
||||||
OpaqueType* cardinality_type = nullptr;
|
IntrusivePtr<OpaqueType> cardinality_type;
|
||||||
OpaqueType* topk_type = nullptr;
|
IntrusivePtr<OpaqueType> topk_type;
|
||||||
OpaqueType* bloomfilter_type = nullptr;
|
IntrusivePtr<OpaqueType> bloomfilter_type;
|
||||||
OpaqueType* x509_opaque_type = nullptr;
|
IntrusivePtr<OpaqueType> x509_opaque_type;
|
||||||
OpaqueType* ocsp_resp_opaque_type = nullptr;
|
IntrusivePtr<OpaqueType> ocsp_resp_opaque_type;
|
||||||
OpaqueType* paraglob_type = nullptr;
|
IntrusivePtr<OpaqueType> paraglob_type;
|
||||||
|
|
||||||
// Keep copy of command line
|
// Keep copy of command line
|
||||||
int bro_argc;
|
int bro_argc;
|
||||||
|
@ -592,16 +592,16 @@ zeek::detail::SetupResult zeek::detail::setup(int argc, char** argv,
|
||||||
|
|
||||||
init_event_handlers();
|
init_event_handlers();
|
||||||
|
|
||||||
md5_type = new OpaqueType("md5");
|
md5_type = make_intrusive<OpaqueType>("md5");
|
||||||
sha1_type = new OpaqueType("sha1");
|
sha1_type = make_intrusive<OpaqueType>("sha1");
|
||||||
sha256_type = new OpaqueType("sha256");
|
sha256_type = make_intrusive<OpaqueType>("sha256");
|
||||||
entropy_type = new OpaqueType("entropy");
|
entropy_type = make_intrusive<OpaqueType>("entropy");
|
||||||
cardinality_type = new OpaqueType("cardinality");
|
cardinality_type = make_intrusive<OpaqueType>("cardinality");
|
||||||
topk_type = new OpaqueType("topk");
|
topk_type = make_intrusive<OpaqueType>("topk");
|
||||||
bloomfilter_type = new OpaqueType("bloomfilter");
|
bloomfilter_type = make_intrusive<OpaqueType>("bloomfilter");
|
||||||
x509_opaque_type = new OpaqueType("x509");
|
x509_opaque_type = make_intrusive<OpaqueType>("x509");
|
||||||
ocsp_resp_opaque_type = new OpaqueType("ocsp_resp");
|
ocsp_resp_opaque_type = make_intrusive<OpaqueType>("ocsp_resp");
|
||||||
paraglob_type = new OpaqueType("paraglob");
|
paraglob_type = make_intrusive<OpaqueType>("paraglob");
|
||||||
|
|
||||||
// The leak-checker tends to produce some false
|
// The leak-checker tends to produce some false
|
||||||
// positives (memory which had already been
|
// positives (memory which had already been
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue