Commit graph

11634 commits

Author SHA1 Message Date
Jon Siwek
de1e3d7d6d Deprecate VectorVal::Assign methods taking raw Val*
And adapt usages to pass in to alternate method taking IntrusivePtr
2020-05-21 15:31:04 -07:00
Jon Siwek
2cbf36721c Merge remote-tracking branch 'origin/master' into topic/jsiwek/gh-893-intrusive-ptr-migration 2020-05-21 14:44:55 -07:00
Tim Wojtulewicz
94ef9f4542 Merge remote-tracking branch 'origin/topic/jsiwek/gh-983-broker-opaque-missing-type'
* origin/topic/jsiwek/gh-983-broker-opaque-missing-type:
  GH-983: Fix opaque Broker types lacking a Type after (de)serialization
2020-05-21 13:05:57 -07:00
Tim Wojtulewicz
9283b1c2b2 Merge remote-tracking branch 'origin/topic/johanna/threading-allow-SendEvent-from-stuff-that-is-not-an-input-reader-because-it-turns-out-that-it-is-actually-kind-of-convenient-to-call-this-from-other-things-like-for-example-from-logging-writers'
* origin/topic/johanna/threading-allow-SendEvent-from-stuff-that-is-not-an-input-reader-because-it-turns-out-that-it-is-actually-kind-of-convenient-to-call-this-from-other-things-like-for-example-from-logging-writers:
  Make SendEvent callable from all threads
2020-05-21 13:04:44 -07:00
Jon Siwek
d8327ee526 GH-983: Fix opaque Broker types lacking a Type after (de)serialization 2020-05-21 12:36:15 -07:00
Johanna Amann
031f0cac05 Merge remote-tracking branch 'origin/master' into topic/johanna/table-changes 2020-05-21 12:16:41 -07:00
Jon Siwek
05f829c727 Merge remote-tracking branch 'origin/topic/jazoff/fuzz-size-limit-speedup'
- Factored check into more descriptive function: ExceedsChunkLimit()

* origin/topic/jazoff/fuzz-size-limit-speedup:
  Speed up ChunkCount validity check
2020-05-21 11:43:34 -07:00
Justin Azoff
6aa6eea7bc Speed up ChunkCount validity check
When counting chunks for the purpose of a Valid check, only count up to
chunk_count_limit + 1 chunks.  This speeds up the skipping of the 70,000
chunk test file considerably.

Before:
    Processed 1 inputs in 0.025517s

After:
    Processed 1 inputs in 0.000620s
2020-05-21 12:55:00 -04:00
Jon Siwek
fbc7725278 Change EventHandler to store IntrusivePtr<Func>
Also deprecates the LocalHandler() and SetLocalHandler() methods,
replaced with GetFunc() and SetFunc().
2020-05-21 01:06:05 -07:00
Jon Siwek
3b6f60a810 Add Val::AsFuncPtr() convenience method
Since it's not trivial to store IntrusivePtr in BroValUnion and also
not satisfying to store IntrusivePtr*.
2020-05-21 00:50:48 -07:00
Jon Siwek
5af962e11f Deprecate StringVal::Substitute(), replace with Replace() 2020-05-20 23:38:01 -07:00
Jon Siwek
adb9d2881c Switch a TableVal::CallChangeFunc param to IntrusivePtr 2020-05-20 23:17:25 -07:00
Jon Siwek
9798c4b763 Fix ambiguous ODesc::Add() call 2020-05-20 22:58:44 -07:00
Jon Siwek
61b44a9c63 Minor TableVal::Assign() ref-counting optimization 2020-05-20 22:23:31 -07:00
Jon Siwek
3f92df51b7 Improve TableVal HashKey management
* Deprecated ComputeHash() methods and replaced with MakeHashKey()
  which returns std::unique_ptr<HashKey>

* Deprecated RecoverIndex() and replaced with RecreateIndex()
  which takes HashKey& and returns IntrusivePtr.

* Updated the new TableVal Assign()/Remove() methods to take either
  std::unique_ptr<HashKey> or HashKey& as appropriate for clarity of
  ownership expectations.
2020-05-20 22:16:47 -07:00
Jon Siwek
8a6a92c348 Add back in a deprecated TableVal ctor taking raw pointers 2020-05-20 20:42:18 -07:00
Jon Siwek
ad224419ad Deprecate TableVal::Attrs(), replace with GetAttrs() 2020-05-20 20:35:08 -07:00
Jon Siwek
dc03f0bb83 Deprecate TableVal::Delete(), replace with Remove() 2020-05-20 20:29:49 -07:00
Jon Siwek
087a0f3636 Switch Func::Call(val_list*) back to returning Val*
And renamed the method returning IntrusivePtr to operator().
This corrects the deprecation process for Func::Call(val_list*).
2020-05-20 18:41:59 -07:00
Jon Siwek
85a0ddd62d Deprecate TableVal::Lookup(), replace with Find()/FindOrDefault() 2020-05-20 18:00:50 -07:00
Jon Siwek
b85cfc6fe4 Deprecate TableVal IsSubsetOf and EqualTo taking Val*, use Val& 2020-05-20 16:00:43 -07:00
Jon Siwek
e01d2c1b37 Deprecate ComputeHash(Val*) methods, replace with ComputeHash(Val&) 2020-05-20 15:47:19 -07:00
Jon Siwek
e5f66cd2e6 Deprecate TableVal::Intersect(), replace with Intersection() 2020-05-20 15:13:55 -07:00
Jon Siwek
7e89c8f0df Deprecate TableVal::Assign methods with Val*, add IntrusivePtr overloads 2020-05-20 12:46:51 -07:00
Jon Siwek
7d98d816d8 Disable output of Reporter messages to stderr in fuzz targets 2020-05-20 11:20:59 -07:00
Jon Siwek
6d0599c537 Improve standalone fuzz driver timing output 2020-05-20 10:57:18 -07:00
Jon Siwek
ce6459ed6f Merge remote-tracking branch 'origin/topic/jazoff/fuzz-size-limits'
- I rolled the fuzz chunk limit check into FuzzBuffer::Valid()

* origin/topic/jazoff/fuzz-size-limits:
  Skip fuzz inputs that have more than 64 chunks
2020-05-20 10:56:17 -07:00
Justin Azoff
1e4374bd27 Skip fuzz inputs that have more than 64 chunks 2020-05-20 10:02:40 -04:00
Jon Siwek
5bf2ed02d7 Deprecate RecordVal::Lookup(const char*, bool)
Replace with GetField(const char*) and GetFieldOrDefault(const char*).
2020-05-19 21:09:40 -07:00
Jon Siwek
2b4d80c849 Deprecate RecordVal::LookupWithDefault() replace with GetFieldOrDefault()
(The former was previously changed during this release cycle to return
Intrusive pointer, but this just changes it back to return Val* and
deprecates it).
2020-05-19 20:11:06 -07:00
Jon Siwek
f729247778 Deprecate RecordVal::Lookup(int), replace with GetField(int) 2020-05-19 18:19:58 -07:00
Jon Siwek
377779bb2a Change BroValUnion to use IntrusivePtr for record field storage
This also changes the AsRecord() and AsNonConstRecord() accessors
to return std::vector<IntrusivePtr<Val>>* instead of val_list*
2020-05-19 17:15:13 -07:00
Jon Siwek
9583873936 Switch ASN1 Val conversion functions to return IntrusivePtr 2020-05-19 15:52:41 -07:00
Jon Siwek
f3d160d034 Deprecate RecordVal::Assign(int, Val*)
And adapt all usages to the existing overload taking IntrusivePtr.
2020-05-19 15:44:15 -07:00
Jon Siwek
fda8b98ac7 Update submodule(s)
[nomail]
2020-05-19 11:36:03 -07:00
Jon Siwek
c372d53d77 Merge remote-tracking branch 'origin/topic/neverlord/caf-0.18'
* origin/topic/neverlord/caf-0.18:
  Upgrade to latest Broker changes for CAF 0.18
2020-05-19 10:50:58 -07:00
Dominik Charousset
d7927622e9 Upgrade to latest Broker changes for CAF 0.18 2020-05-19 10:24:13 +02:00
Jon Siwek
d7ca63c1be Switch RPC analyzers to use IntrusivePtr 2020-05-18 23:53:10 -07:00
Jon Siwek
cda4738407 Switch RecordVal::CoerceTo() to use IntrusivePtr 2020-05-18 17:52:54 -07:00
Jon Siwek
fcaade6e31 Deprecate TableEntryVal::Value(), replace with GetVal() 2020-05-18 17:09:27 -07:00
Johanna Amann
e7f25aa2ff Merge remote-tracking branch 'origin/master' into topic/johanna/table-changes
Includes code-changes needed to make this compile again.
2020-05-18 16:12:21 -07:00
Jon Siwek
5742810293 Switch OpaqueVal::SerializeType() to IntrusivePtr 2020-05-18 16:10:10 -07:00
Jon Siwek
377c8a4762 Switch BlommFilterVal/CardinalityVal to use IntrusivePtr<BroType> 2020-05-18 16:07:26 -07:00
Jon Siwek
aa9d9c904f Switch some TopkVal methods to use IntrusivePtr 2020-05-18 15:55:30 -07:00
Jon Siwek
d35e5520f8 Switch TopkVal to store IntrusivePtr<BroType> 2020-05-18 15:37:00 -07:00
Jon Siwek
43f513ca44 Switch OpaqueVal::UnserializeType() to return IntrusivePtr 2020-05-18 15:25:46 -07:00
Tim Wojtulewicz
aafced6b19 Include pcap.h instead of pcap/dlt.h in packet-fuzzer 2020-05-18 14:58:52 -07:00
Johanna Amann
034304b9d5 Make SendEvent callable from all threads
This commit refactors the SendEvent call and moves it from the Input
ReaderBackend to to MsgThread. This allows all other types of threads
to access this functionality.

This necessitated a few more changes. Most importantly, one of the
ValueToVal methods was moved over to SerialTypes. Whereit arguably
belongs - there was nothing that was input-framework specific in
that method - and the functionality could come in useful in a number
of cases.
2020-05-18 14:38:10 -07:00
Jon Siwek
2bac702a72 Merge remote-tracking branch 'origin/topic/jazoff/packet-fuzzer'
* origin/topic/jazoff/packet-fuzzer:
  Update src/fuzzers/packet-fuzzer.cc
  Update src/fuzzers/packet-fuzzer.cc
  add initial packet corpus
  add packet fuzzer
2020-05-18 10:48:22 -07:00
Jon Siwek
c325757c32 Merge remote-tracking branch 'origin/topic/jsiwek/fix-macos-fuzz-target-build'
* origin/topic/jsiwek/fix-macos-fuzz-target-build:
  Fix building fuzz targets on macOS
2020-05-18 10:47:09 -07:00