Commit graph

16422 commits

Author SHA1 Message Date
Vern Paxson
ae687f1cf7 baseline updates 2024-05-10 18:49:58 -07:00
Vern Paxson
f4a84e75d6 it's always the little things 2024-05-10 16:00:10 -07:00
Vern Paxson
4b18cee059 speeding up record constructors 2024-05-10 15:24:12 -07:00
Vern Paxson
c0045c4643 hook for skipping chains + optimize common case of all-assignments-managed 2024-05-10 10:56:03 -07:00
Vern Paxson
9d886f61cc lint nits 2024-05-10 07:45:02 -07:00
Vern Paxson
e75c706488 ZAM implementation, pre-debugging 2024-05-09 17:55:45 -07:00
Vern Paxson
3a0b9325cc move prototype scaffolding into regular member functions 2024-05-09 15:54:09 -07:00
Vern Paxson
694095c56f AST code working 2024-05-09 15:11:32 -07:00
Vern Paxson
1961e1243f new AST classes for operating on multiple record fields 2024-05-09 14:45:03 -07:00
Vern Paxson
8fcf2f5d0e initial framework in place to find chains 2024-05-09 13:45:04 -07:00
Tim Wojtulewicz
404c756286 Merge remote-tracking branch 'origin/topic/timw/const-rulematcher'
* origin/topic/timw/const-rulematcher:
  Constify classes in RuleMatcher, fixes c++20 build failure
2024-05-02 10:21:55 -07:00
Tim Wojtulewicz
38dae684bd Constify classes in RuleMatcher, fixes c++20 build failure 2024-05-01 16:59:54 -07:00
Tim Wojtulewicz
d7e30d9ee2 Merge remote-tracking branch 'origin/topic/johanna/gh-3700'
* origin/topic/johanna/gh-3700:
  Fix cid propagation into files.log
2024-04-29 09:09:41 -07:00
Tim Wojtulewicz
522bce8d58 Merge remote-tracking branch 'origin/topic/vern/script-opt.May24'
* origin/topic/vern/script-opt.May24:
  factored BTest constants into globals to prevent premature ZAM optimization when testing
  addressed minor issues flagged by Coverity
2024-04-29 09:08:28 -07:00
Tim Wojtulewicz
19702b06e7 Merge remote-tracking branch 'origin/topic/timw/val-avoid-type-casting'
* origin/topic/timw/val-avoid-type-casting:
  Avoid calling typecasts in Val when we have direct access to the underlying value object
2024-04-29 09:06:39 -07:00
Johanna Amann
2217eab38a Fix cid propagation into files.log
Changes to the connection id were not propagated to files.log in all
cases.

Fixes GH-3700
2024-04-29 14:13:19 +01:00
Johanna Amann
07c84fddbc Update broker submodule
[nomail]
2024-04-29 13:56:58 +01:00
Vern Paxson
033cf2d8dd factored BTest constants into globals to prevent premature ZAM optimization when testing 2024-04-27 19:40:39 -07:00
Vern Paxson
cf456f943f addressed minor issues flagged by Coverity 2024-04-27 19:40:03 -07:00
zeek-bot
bbcb90741d Update doc submodule [nomail] [skip ci] 2024-04-27 00:11:19 +00:00
Tim Wojtulewicz
ad6d70d4e6 Merge remote-tracking branch 'pbcullen/topic/pbcullen/shadow-file-handling'
* pbcullen/topic/pbcullen/shadow-file-handling:
  reformat changes
  Gracefully handle empty/missing shadow file
2024-04-26 12:29:28 -07:00
Christian Kreibich
7fdbb73511 Merge branch 'topic/christian/3671-fix-icmp-caplen-violations'
* topic/christian/3671-fix-icmp-caplen-violations:
  Factor in caplens in ICMPAnalyzer::DeliverPacket length calculations
2024-04-26 11:18:34 -07:00
Tim Wojtulewicz
12b1030c1b Update binpac submodule [nomail] 2024-04-26 09:12:38 -07:00
Tim Wojtulewicz
b77f504287 Update gen-zam submodule [nomail] 2024-04-26 09:09:19 -07:00
zeek-bot
9a158b3c9c Update doc submodule [nomail] [skip ci] 2024-04-26 00:31:08 +00:00
Christian Kreibich
581971e160 Factor in caplens in ICMPAnalyzer::DeliverPacket length calculations
Relying only on the IP-header-provided length could violate buffer boundaries in
the endpoints' rule matching. This change mirrors what we do in UDP and TCP.

Resolves #3671
2024-04-25 16:22:52 -07:00
Tim Wojtulewicz
d745fbbca2 Avoid calling typecasts in Val when we have direct access to the underlying value object 2024-04-25 10:33:41 -07:00
Tim Wojtulewicz
c7a21c18c8 Merge remote-tracking branch 'origin/topic/vern/ZAM-perf.Apr24'
* origin/topic/vern/ZAM-perf.Apr24: (27 commits)
  BTest updates for changes due to use of ZAM BiF replacements
  rewrite of ZAM optimization of BiFs and script functions/idioms
  flag base script as being known to ZAM optimization
  ZAM optimization for constructing records w/ fields initialized to network_time
  factor some functionality used by BiFs to make accessible to ZAM instructions
  factor script optimization Expr AST nodes out of main AST header
  new internal AST node for expression idioms with corresponding ZAM built-ins
  streamlining of expressions only used for script optimization
  reordering of expressions to match main usage vs. script-optimization extras
  support for conditional expressions transforming into interal has-elements expr
  make same_expr() functionality accessible as a utility
  unify functionality across EqExpr and RelExpr classes
  introduce notions of script functions/BiFs that are (1) foldable, (2) replaceable
  optimization of scripting idioms - min/max, has-elements
  hooks for ZAM optimization of calls to particular functions
  shift ZAM maintenance monitoring of new BiFs to a BTest so it automatically runs
  make externally available the expression used for initializating a record field
  record field initialization optimization: do coercions at compile-time if applicable
  $ZAM_PROFILE_ALL set tells ZAM to profile function bodies even if not executed
  performance speed-up for SMB base scripts
  ...
2024-04-25 09:16:13 -07:00
Vern Paxson
8e25181e1e BTest updates for changes due to use of ZAM BiF replacements 2024-04-25 09:15:13 -07:00
Vern Paxson
9cddf16800 rewrite of ZAM optimization of BiFs and script functions/idioms 2024-04-25 09:15:13 -07:00
Vern Paxson
263093af78 flag base script as being known to ZAM optimization 2024-04-25 09:15:13 -07:00
Vern Paxson
ef4386ea13 ZAM optimization for constructing records w/ fields initialized to network_time 2024-04-25 09:15:13 -07:00
Vern Paxson
68aa8221e1 factor some functionality used by BiFs to make accessible to ZAM instructions 2024-04-25 09:15:13 -07:00
Vern Paxson
7c8c83efc4 factor script optimization Expr AST nodes out of main AST header 2024-04-25 09:15:13 -07:00
Vern Paxson
01fd30dda9 new internal AST node for expression idioms with corresponding ZAM built-ins 2024-04-25 09:15:13 -07:00
Vern Paxson
16b2946fef streamlining of expressions only used for script optimization 2024-04-25 09:15:13 -07:00
Vern Paxson
f557b40d14 reordering of expressions to match main usage vs. script-optimization extras 2024-04-25 09:15:13 -07:00
Vern Paxson
52f506b7ae support for conditional expressions transforming into interal has-elements expr 2024-04-25 09:15:12 -07:00
Vern Paxson
86d3c932b7 make same_expr() functionality accessible as a utility 2024-04-25 09:15:12 -07:00
Vern Paxson
d15d4a6e08 unify functionality across EqExpr and RelExpr classes 2024-04-25 09:15:12 -07:00
Vern Paxson
1b838ca91d introduce notions of script functions/BiFs that are (1) foldable, (2) replaceable 2024-04-25 09:15:12 -07:00
Vern Paxson
5445e8c7ff optimization of scripting idioms - min/max, has-elements 2024-04-25 09:15:12 -07:00
Vern Paxson
e38053ee3c hooks for ZAM optimization of calls to particular functions 2024-04-25 09:15:12 -07:00
Vern Paxson
4b39e1f5f5 shift ZAM maintenance monitoring of new BiFs to a BTest so it automatically runs 2024-04-25 09:15:12 -07:00
Vern Paxson
9fe7d8581f make externally available the expression used for initializating a record field 2024-04-25 09:15:12 -07:00
Vern Paxson
88ef6cb5b6 record field initialization optimization: do coercions at compile-time if applicable 2024-04-25 09:15:12 -07:00
Vern Paxson
b3dacce3e1 $ZAM_PROFILE_ALL set tells ZAM to profile function bodies even if not executed 2024-04-25 09:15:12 -07:00
Vern Paxson
c11c2830b1 performance speed-up for SMB base scripts 2024-04-25 09:15:12 -07:00
Vern Paxson
39c3a0ec0b fix for ZAM optimization pruning of unnecessary instructions 2024-04-25 09:15:12 -07:00
Vern Paxson
6c696f7c55 bug fix for ZAM code generation 2024-04-25 09:15:12 -07:00