Commit graph

6667 commits

Author SHA1 Message Date
Jon Siwek
e82824b638 Fix various broken links in script documentation 2021-01-28 17:46:58 -08:00
Christian Kreibich
4ce3bf3cd2 Remove deprecated log filter predicates for 4.1
Update the logging framework tests: since hooks operate
by name, they cannot be anonymous. I'm also dropping the &optional
attribute from the status field, since here know that the values are
actually defined, and access to an optional status field should
normally be guarded by the existence test operator.

Also includes baseline update for plugins.hooks, which picks up the
fact that the pred record field is now gone.
2021-01-27 10:52:40 -07:00
Tim Wojtulewicz
5f09793ce1 Remove Plugin::HookCallFunction and fix tests related to it 2021-01-27 10:52:40 -07:00
Tim Wojtulewicz
725e759560 Remove support for .bro script extension and BRO_ environment variables 2021-01-27 10:52:40 -07:00
Tim Wojtulewicz
44ad614094 Remove deprecated ICMP events 2021-01-27 10:52:40 -07:00
Tim Wojtulewicz
7292b52f66 Remove some deprected methods/events from bif files 2021-01-27 10:52:40 -07:00
Tim Wojtulewicz
b819c9d18c Remove TYPE_COUNTER
This causes some test changes because of the use of Type::Describe in the fnv1a32
BIF method called by hash_hrw::get_site. Since the enum values change with removal
of TYPE_COUNTER, the output from Type::Describe changes slightly.
2021-01-27 10:52:40 -07:00
Tim Wojtulewicz
0618be792f Remove all of the random single-file deprecations
These are the changes that don't require a ton of changes to other files outside
of the original removal.
2021-01-27 10:52:40 -07:00
Tim Wojtulewicz
7e9d89db0a Remove all fully-deprecated files 2021-01-27 10:52:40 -07:00
Vern Paxson
f6a119254f fix for analyzing non-reduced ASTs 2021-01-23 12:29:04 -08:00
Vern Paxson
2f0d02c878 driver class for generating RDs across an AST, and logic to invoke it 2021-01-23 10:54:43 -08:00
Vern Paxson
baab336d2e class for managing "reaching definitions" for each AST node 2021-01-23 10:52:33 -08:00
Vern Paxson
2883f4ebee class for tracking the "reach" of variable/field definitions 2021-01-23 10:51:04 -08:00
Vern Paxson
d2d681c2a5 class for referring to definitions of variables or record fields 2021-01-23 10:48:14 -08:00
Vern Paxson
9b549e4034 additional converters and accessors for Expr subclasses 2021-01-23 10:48:14 -08:00
Vern Paxson
64eb229880 class encapsulating location of variable/field definition 2021-01-23 10:47:46 -08:00
Vern Paxson
3e154410ea minor simplification that's also needed for traversal correctness 2021-01-23 10:34:22 -08:00
Vern Paxson
c380a2a61a accessors and converters for Stmt subclasses 2021-01-23 10:33:30 -08:00
Vern Paxson
ca33a15626 &is_set attribute to suppress -u possibly-used-but-not-set warnings 2021-01-23 10:30:41 -08:00
Vern Paxson
28bb39b548 helper predicate for identifying type tags associated with aggregates 2021-01-23 10:27:49 -08:00
Vern Paxson
732633ebb4 option handling for new -u/-uu flag for reporting usage issues 2021-01-23 10:25:06 -08:00
Jon Siwek
7f3f5a868f Merge remote-tracking branch 'origin/topic/jsiwek/gh-1296-fix-list-type-checks'
* origin/topic/jsiwek/gh-1296-fix-list-type-checks:
  GH-1296: fix type-checks related to list-type equality
2021-01-21 14:00:07 -08:00
Jon Siwek
042a1ca9d6 Merge remote-tracking branch 'origin/topic/jsiwek/coverity-1443771'
* origin/topic/jsiwek/coverity-1443771:
  Guard against nullptr deref after AST-reduction consistency checks
2021-01-21 13:53:53 -08:00
Johanna Amann
079d4164c0 Merge remote-tracking branch 'origin/topic/christian/fix-config-segfault'
* origin/topic/christian/fix-config-segfault:
  Btest tweak for improved type rendering in config framework errors and set types
  More precise type information in a config framework error message
  Explicitly don't support sets with multiple index types in input/config frameworks
2021-01-21 11:30:36 +00:00
Jon Siwek
12f9ba5f37 Guard against nullptr deref after AST-reduction consistency checks
Addresses Coverity issue 1443771
2021-01-19 11:22:52 -08:00
Tim Wojtulewicz
5bc9c818ad Merge remote-tracking branch 'origin/topic/jsiwek/superfluous-nullptr-checks'
* origin/topic/jsiwek/superfluous-nullptr-checks:
  Remove superfluous nullptr checks in Val/RecordVal methods
2021-01-18 19:14:56 -07:00
Jon Siwek
bd0c1bcde7 Merge remote-tracking branch 'origin/topic/timw/dict-iterators'
* origin/topic/timw/dict-iterators:
  Implement standard-library-compatible iterators for Dictionary
2021-01-14 19:31:17 -08:00
Jon Siwek
0d6394e008 Remove superfluous nullptr checks in Val/RecordVal methods 2021-01-14 16:07:36 -08:00
Jon Siwek
16942f3859 Merge remote-tracking branch 'origin/topic/vern/script-xform'
* origin/topic/vern/script-xform: (30 commits)
  Adjust some Reducer ref-counting and IntrusivePtr usage
  Fix reference counting in ListExpr inline/reduce methods
  Simplify WhileStmt::CondPredStmt()
  Use std::move() in Case::UpdateBody()
  Switch some Stmt transform/reduce logic to use IntrusivePtr
  Switch some Expr transform/reduce logic to use IntrusivePtr
  Adjust how some Expr::SetOpX() calls use std::move()
  Add missing header-includes to Reduce.h
  Add std::move() for args to an assign_to_index call
  Adjust memory management for &default argument expression type-check
  Use string for TempVar::name
  Switch AnalyOpt::only_func to optional<string>
  Fix a signed/unsigned comparison warning
  simplified some vestigial complexity I noticed when flipping through diffs
  canonicalization for an error message in one of the alternative test baselines
  baseline differences for "xform" alternative: changes generally reflect exposure of transformed code, or error propagation stopping earlier due to error now occurring in an assignment (to a temporary)
  new testing alternative for script transformation (= xform)
  bug in correctly inspecting test output file
  split bifs.string_utils into a non-error test and an only-errors test, to help control for differing error propagation
  logic for driving the script optimization process
  ...
2021-01-14 15:15:22 -08:00
Tim Wojtulewicz
892124378c Implement standard-library-compatible iterators for Dictionary 2021-01-14 13:49:40 -07:00
Tim Wojtulewicz
99e719318b Use static_cast instead of dynamic_cast for Val conversions 2021-01-14 11:58:59 -07:00
Tim Wojtulewicz
4962986df1 Remove GET_FIELD_AS macro, replace with template methods 2021-01-14 11:58:59 -07:00
Tim Wojtulewicz
a94fcad957 Add templated As() method to Val, use in various places we were using dynamic_cast 2021-01-14 11:58:59 -07:00
Tim Wojtulewicz
a7b5915b1a Move ValImpl classes into detail namespace 2021-01-14 11:58:59 -07:00
Tim Wojtulewicz
42f2691251 Some review cleanup in Val.cc 2021-01-14 11:58:59 -07:00
Vern Paxson
e652aff277 Changes addressing pending issues per PR discussion 2021-01-14 11:58:59 -07:00
Vern Paxson
7f92a573d2 Remove BroValUnion by hoisting underlying Val subclass values into subclasses 2021-01-14 11:58:59 -07:00
Jon Siwek
b4cf393475 Adjust some Reducer ref-counting and IntrusivePtr usage 2021-01-14 00:24:12 -08:00
Jon Siwek
7ce4351ed0 Fix reference counting in ListExpr inline/reduce methods 2021-01-13 23:01:44 -08:00
Jon Siwek
fffeea472a Simplify WhileStmt::CondPredStmt() 2021-01-13 22:59:15 -08:00
Jon Siwek
817315d68e Use std::move() in Case::UpdateBody() 2021-01-13 22:58:39 -08:00
Jon Siwek
177b723a60 Switch some Stmt transform/reduce logic to use IntrusivePtr 2021-01-13 22:57:48 -08:00
Jon Siwek
b799665c1a Switch some Expr transform/reduce logic to use IntrusivePtr 2021-01-13 20:27:41 -08:00
Jon Siwek
d88a899804 Adjust how some Expr::SetOpX() calls use std::move() 2021-01-13 16:40:59 -08:00
Jon Siwek
f9e0b14d38 Add missing header-includes to Reduce.h 2021-01-13 16:39:59 -08:00
Jon Siwek
2c8106295d Add std::move() for args to an assign_to_index call 2021-01-13 15:25:25 -08:00
Jon Siwek
d4ae5c5fbc Adjust memory management for &default argument expression type-check
Mainly, there was an extra Ref().  In theory, the front-insertion was
also not efficient.
2021-01-13 15:23:40 -08:00
Jon Siwek
fe8db7f150 Use string for TempVar::name
Nothing of consequence; just encapsulation of memory management
2021-01-13 13:49:32 -08:00
Jon Siwek
81fa7f7e3d Switch AnalyOpt::only_func to optional<string>
Nothing of consequence; may help express meaning and memory management.
2021-01-13 13:19:46 -08:00
Jon Siwek
48da8b7d66 Fix a signed/unsigned comparison warning 2021-01-13 12:31:19 -08:00