Commit graph

15378 commits

Author SHA1 Message Date
Robin Sommer
3a9320dab3
Merge remote-tracking branch 'origin/topic/awelzel/2528-cluster-layout-content-warning'
* origin/topic/awelzel/2528-cluster-layout-content-warning:
  cluster: Add warning about cluster-layout.zeek content
2022-11-07 11:28:57 +01:00
Robin Sommer
2a36441b8e
Merge remote-tracking branch 'origin/topic/awelzel/2483-builtin-plugin-includes'
* origin/topic/awelzel/2483-builtin-plugin-includes:
  zeek-setup: Load builtin-plugins/__preload__.zeek before initializing bifs
  cmake: Introduce bro_PLUGIN_LINK_LIBS and add to link command.
  cmake: Do not use include_directories() for included plugins
  cmake: Bump submodule
2022-11-07 11:25:03 +01:00
Dominik Charousset
c4d5e3cda7 Configure script: drop --with-caf, add -D option 2022-11-05 09:00:13 +01:00
zeek-bot
c71d2878c9 Update doc submodule [nomail] [skip ci] 2022-11-05 00:44:30 +00:00
Tim Wojtulewicz
2975468060 Merge remote-tracking branch 'origin/topic/awelzel/2540-fuzzer-zeekpath-builtin-plugins'
* origin/topic/awelzel/2540-fuzzer-zeekpath-builtin-plugins:
  fuzzer-setup: Update ZEEKPATH to align with DEFAULT_ZEEKPATH
2022-11-04 09:16:08 -07:00
Arne Welzel
15502f8e18 fuzzer-setup: Update ZEEKPATH to align with DEFAULT_ZEEKPATH
The util-config.h file uses @DEFAULT_ZEEKPATH@ which includes the
builtin-plugins directory. Do the same change for the fuzzers so
that scripts from builtin plugins can be found.

Fixes #2540
2022-11-04 15:22:50 +01:00
Tim Wojtulewicz
254877879c Update cmake submodule to remove STATIC_KQUEUE variable 2022-11-03 13:50:44 -07:00
Tim Wojtulewicz
c853555bf4 Update docs submodule [nomail] [skip ci] 2022-11-03 10:42:43 -07:00
Tim Wojtulewicz
1a81e0d3a3 Merge branch 'topic/timw/lgtm-fixes'
* topic/timw/lgtm-fixes:
  Add a missing deletion in ZAM code
  Add a couple of mising assignment operators to match copy constructors
  Fix a bunch of variable shadowing issues from LGTM
2022-11-03 09:22:21 -07:00
Tim Wojtulewicz
c3ed97c04c Add a missing deletion in ZAM code 2022-11-03 09:21:18 -07:00
Tim Wojtulewicz
859588d710 Add a couple of mising assignment operators to match copy constructors 2022-11-03 09:21:18 -07:00
Tim Wojtulewicz
a61352c5dd Merge remote-tracking branch 'origin/topic/timw/display-cmake'
* origin/topic/timw/display-cmake:
  Add configure --display-cmake argument
2022-11-03 08:58:09 -07:00
Tim Wojtulewicz
68450eac47 Merge remote-tracking branch 'origin/topic/timw/update-dns-types'
* origin/topic/timw/update-dns-types:
  Update external test hashes
  Update DNS type strings to match correct mappings
2022-11-03 08:57:19 -07:00
Tim Wojtulewicz
3fafe5c19f Merge remote-tracking branch 'origin/topic/johanna/ubuntu2210ci'
* origin/topic/johanna/ubuntu2210ci:
  Add Ubuntu 22.10 to ci
2022-11-03 08:56:43 -07:00
Arne Welzel
28336709b8 cluster: Add warning about cluster-layout.zeek content
Relates to #2528, #991.
2022-11-03 14:02:43 +01:00
Johanna Amann
36484eaf34 Add Ubuntu 22.10 to ci 2022-11-03 10:08:12 +00:00
Tim Wojtulewicz
d65c75e2ad Merge remote-tracking branch 'jsoref/spelling-scripts'
* jsoref/spelling-scripts:
  Spelling fixes: scripts
2022-11-02 16:56:27 -07:00
Tim Wojtulewicz
66e818e69b Update external test hashes 2022-11-02 16:38:24 -07:00
Tim Wojtulewicz
e8dbfc1cb0 Fix a bunch of variable shadowing issues from LGTM 2022-11-02 15:54:51 -07:00
Josh Soref
21e0d777b3 Spelling fixes: scripts
* accessing
* across
* adding
* additional
* addresses
* afterwards
* analyzer
* ancillary
* answer
* associated
* attempts
* because
* belonging
* buffer
* cleanup
* committed
* connects
* database
* destination
* destroy
* distinguished
* encoded
* entries
* entry
* hopefully
* image
* include
* incorrect
* information
* initial
* initiate
* interval
* into
* java
* negotiation
* nodes
* nonexistent
* ntlm
* occasional
* omitted
* otherwise
* ourselves
* paragraphs
* particular
* perform
* received
* receiver
* referring
* release
* repetitions
* request
* responded
* retrieval
* running
* search
* separate
* separator
* should
* synchronization
* target
* that
* the
* threshold
* timeout
* transaction
* transferred
* transmission
* triggered
* vetoes
* virtual

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2022-11-02 17:36:39 -04:00
Tim Wojtulewicz
c9610ec45b Update DNS type strings to match correct mappings 2022-11-02 14:22:46 -07:00
Tim Wojtulewicz
04ba6033c6 Add configure --display-cmake argument 2022-11-02 12:29:47 -07:00
Arne Welzel
d34167b2c4 zeek-setup: Load builtin-plugins/__preload__.zeek before initializing bifs
Prevent errors as follows with the bro-http2 plugin.

    error in /mitrecnd_HTTP2.events.bif.zeek, line 95: identifier not defined: http2_stream_stat
    error in /mitrecnd_HTTP2.events.bif.zeek, line 363: identifier not defined: http2_settings
    internal error in /mitrecnd_HTTP2.events.bif.zeek, line 460: Failed to find type named: http2_settings_unrecognized_table
2022-11-02 12:21:44 +01:00
Arne Welzel
1fecdfd815 cmake: Introduce bro_PLUGIN_LINK_LIBS and add to link command.
When using --include-plugins with plugins that depend other libraries
using zeek_plugin_link_library(), these libraries were stashed into
bro_SUBDIR_LIBS that is used in add_executable(). However, that does not
work for shared libraries.

Explicitly track library dependencies in bro_PLUGIN_LINK_LIBS now and
use target_link_libraries() with Zeek (there's a change in cmake to
make zeek_plugin_link_library() populate bro_PLUGIN_LINK_LIBS instead).

Currently, zeekdeps needs to come after bro_PLUGIN_LINK_LIBS due to how
spicy-plugin (and other external plugins) fiddle with zeekdeps in order
to stash dependencies into the PARENT_SCOPE.

bro_PLUGIN_LINK_LIBS will continue to work with static libraries.

The failure occurred when attempting to include bro-http2 [1].

Fixes #2483

[1] https://github.com/MITRECND/bro-http2
2022-11-02 12:21:44 +01:00
Arne Welzel
4414c9a49f cmake: Do not use include_directories() for included plugins
There's a cmake repo change that does the include_directories() in
zeek_plugin_begin() unconditionally instead.
2022-11-02 12:21:44 +01:00
Arne Welzel
79e9384218 cmake: Bump submodule 2022-11-02 12:21:44 +01:00
Robin Sommer
f8eb2d9241
Merge remote-tracking branch 'origin/topic/awelzel/2440-break-next-usage-validation'
* origin/topic/awelzel/2440-break-next-usage-validation:
  parse.y: Traverse AST post parsing to detect break/next usage issues
2022-11-02 10:59:29 +01:00
Tim Wojtulewicz
bc0284aefa Merge remote-tracking branch 'origin/topic/awelzel/2446-runtime-error-for-variadic-functions'
* origin/topic/awelzel/2446-runtime-error-for-variadic-functions:
  Func: Do not crash on va_args confusion for script funcs
2022-11-01 07:47:50 -07:00
Arne Welzel
4314467e44 Func: Do not crash on va_args confusion for script funcs
Script and BIF functions with a single any parameter are excluded from
type checking regarding arguments. This makes it possible to call a
ScriptFunc with more arguments than it actually has parameters and frame
space for, causing heap-buffer-overflows.

This change runtime checks expected parameters and provided arguments
and short-circuits execution as well as logging runtime expression errors.

Fixes #2446
2022-11-01 08:55:14 +01:00
Tim Wojtulewicz
6dec7d6027 Merge remote-tracking branch 'origin/topic/awelzel/record-fields-not-just-enum'
* origin/topic/awelzel/record-fields-not-just-enum:
  bifs/record_fields: Include actual enum name in type_name
2022-10-31 15:18:11 -07:00
Tim Wojtulewicz
352705d316 Merge remote-tracking branch 'origin/topic/awelzel/no-reassembly-for-known-ports'
* origin/topic/awelzel/no-reassembly-for-known-ports:
  IPBasedAnalyzer/TCPSessionAdapter: Fix TCP reassembly decision for known port analyzers
2022-10-31 14:57:39 -07:00
Tim Wojtulewicz
e2a384848e Update cmake submodule [nomail] [skip ci] 2022-10-31 11:38:29 -07:00
Tim Wojtulewicz
b6826a43e4 Updating submodule(s) [nomail] 2022-10-29 19:14:05 -07:00
zeek-bot
9a2a086f98 Update doc submodule [nomail] [skip ci] 2022-10-30 00:42:24 +00:00
Christian Kreibich
95151e1da9 Merge remote-tracking branch 'origin/topic/awelzel/2425-cat-sep-fully-varargs'
* origin/topic/awelzel/2425-cat-sep-fully-varargs:
  cat_sep: Make fully vararg and do explicit runtime type checks
2022-10-28 16:55:29 -07:00
Tim Wojtulewicz
05ef4a36f1 Update cmake submodule [nomail] 2022-10-28 15:51:31 -07:00
Tim Wojtulewicz
28c3cd086a Merge remote-tracking branch 'origin/topic/bbannier/spicy-bumps'
* origin/topic/bbannier/spicy-bumps:
  Update Spicy to the latest development snapshot.
  Bump spicy-plugin to v1.4.0.
2022-10-28 15:45:08 -07:00
Arne Welzel
850aaaa5a8 parse.y: Traverse AST post parsing to detect break/next usage issues
Seemed easiest to do it via the traversal infrastructure as we do not
otherwise track enough context/scope when instantiating break or next
statements.

Might be worth moving this out of src/parse.y, but didn't exactly know
where. Or maybe we wait until there's more such trivial validations
popping up

Fixes #2440
2022-10-28 12:53:37 +02:00
Benjamin Bannier
976f5cb2d9 Update Spicy to the latest development snapshot. 2022-10-28 11:56:28 +02:00
Benjamin Bannier
ddac7201df Bump spicy-plugin to v1.4.0.
spicy-plugin-1.4.0 changes behavior, so it is not backwards-compatible
with the spicy-plugin-1.3 series. This patch should not be backported to
LTS release branches.
2022-10-28 11:56:26 +02:00
Tim Wojtulewicz
2ed42ef771 Merge remote-tracking branch 'origin/topic/bbannier/bump-spicy-plugin'
* origin/topic/bbannier/bump-spicy-plugin:
  Bump spicy-plugin to v1.3.21.
2022-10-27 17:11:21 -07:00
Tim Wojtulewicz
3891a113dd Merge remote-tracking branch 'origin/topic/timw/btest-egrep-obsolete'
* origin/topic/timw/btest-egrep-obsolete:
  egrep reported as obsolete by opensuse-tumbleweed builds
2022-10-27 17:10:17 -07:00
Tim Wojtulewicz
d442ea1bb9 egrep reported as obsolete by opensuse-tumbleweed builds 2022-10-27 11:48:43 -07:00
Tim Wojtulewicz
a96b7e6563 Updating submodule(s) [nomail] 2022-10-27 08:48:00 -07:00
Arne Welzel
a5f04b6270 cat_sep: Make fully vararg and do explicit runtime type checks
Using positional and vararg arguments for BIFs, it's not possible to do
proper runtime type checking on them as discussed in #2425. The bifcl produced
code unconditionally attempts to convert the positional arguments to StringVals,
but nothing ever type checks them. Instead of improving the vararg support in
Zeek script and bifcl, align cat_sep() with fmt() in making it fully vararg
and do implement type checks by hand.

With this change, passing wrong types for the separator and default argument
isn't a fatal error anymore and the error messages are also more descriptive.

It's a bit of a crutch working around varargs limitations.

Fixes #2425
2022-10-27 13:06:06 +02:00
Christian Kreibich
096ff41966 Update doc submodule [nomail] [skip ci] 2022-10-26 17:32:39 -07:00
Christian Kreibich
3237ad0ba2 Merge remote-tracking branch 'origin/topic/awelzel/builtin-af-packet'
* origin/topic/awelzel/builtin-af-packet:
  Include in Jan's AF_PACKET plugin as builtin plugin
2022-10-26 16:48:37 -07:00
Arne Welzel
699949cd40 bifs/record_fields: Include actual enum name in type_name
One more from @stevesmoot. The record_fields() BIF produced "enum" as
type_name for fields of type enum.

Extend container_type_name() to append the actual name of the enum.

This is changing the format and may break consumers, but those are
likely in a category that are happy to adapt. Not having the actual
enum name available wasn't very helpful.

We could alternatively render only the actual type_name without the
prefixed "enum", but that isn't how it's done for record types currently
and it would make it more difficult to decide which subsequent BIFs to
use for further introspection, like enum_names().
2022-10-26 20:21:20 +02:00
Benjamin Bannier
08bfcff702 Bump spicy-plugin to v1.3.21. 2022-10-26 16:17:02 +02:00
Robin Sommer
bf4bbd0b81
Update doc submodule. 2022-10-26 11:38:57 +02:00