mirror of
https://github.com/zeek/zeek.git
synced 2025-10-11 02:58:20 +00:00
Finish implementation of copy method.
All types (besides EntropyVal) now support a native copy operation, which uses primitives of the underlying datatypes to perform a quick copy, without serialization. EntropyVal is the one exception - since that type is rather complex (many members) and will probably not be copied a lot, if at all, it makes sense to just use the serialization function. This will have to be slightly re-written in the near-term-future to use the new serialization function for that opaque type. This change also introduces a new x509_from_der bif, which allows to parse a der into an opaque of x509. This change removes the d2i_X509_ wrapper function; this was a remnant when d2i_X509 took non-const arguments. We directly use d2i_X509 at several places assuming const-ness, so there does not seem to ba a reason to keep the wrapper. This change also exposed a problem in the File cache - cases in which an object was brought back into the cache, and writing occurred in the file_open event were never correctly handeled as far as I can tell.
This commit is contained in:
parent
2efbe76920
commit
74bb7716f6
22 changed files with 280 additions and 33 deletions
|
@ -183,6 +183,13 @@ void TopkVal::Merge(const TopkVal* value, bool doPrune)
|
|||
}
|
||||
}
|
||||
|
||||
Val* TopkVal::DoClone(CloneState* state)
|
||||
{
|
||||
auto clone = new TopkVal(size);
|
||||
clone->Merge(this);
|
||||
return clone;
|
||||
}
|
||||
|
||||
bool TopkVal::DoSerialize(SerialInfo* info) const
|
||||
{
|
||||
DO_SERIALIZE(SER_TOPK_VAL, OpaqueVal);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue