Commit graph

19478 commits

Author SHA1 Message Date
Tim Wojtulewicz
692c6a2f10 Switch Zeek Spicy builds to Ubuntu 24 2025-08-28 15:37:16 -07:00
Tim Wojtulewicz
273abf3d08 Merge remote-tracking branch 'origin/topic/timw/tools-clang-tidy'
* origin/topic/timw/tools-clang-tidy:
  gen-zam: Move source files up a directory
  bifcl: Fix clang-tidy warnings
  bifcl: Run clang-format on c++ code embedded in builtin-func.{l,y}
  binpac: Fix a large number of clang-tidy warnings
  binpac: Replace delete_list macro uses
  binpac: Run clang-format on c++ code embedded in pac_parse.{ll,yy}
2025-08-28 15:20:32 -07:00
Tim Wojtulewicz
2acfa27c2a Merge remote-tracking branch 'origin/topic/timw/link-prometheus-via-broker-instead-of-directly'
* origin/topic/timw/link-prometheus-via-broker-instead-of-directly:
  Link Prometheus symbols via Broker instead of directly
2025-08-28 13:06:44 -07:00
Tim Wojtulewicz
cf8f3547f4 Link Prometheus symbols via Broker instead of directly 2025-08-28 13:05:40 -07:00
Tim Wojtulewicz
7499234d42 gen-zam: Move source files up a directory 2025-08-28 12:14:09 -07:00
Tim Wojtulewicz
d3ac12da68 bifcl: Fix clang-tidy warnings 2025-08-28 12:14:09 -07:00
Tim Wojtulewicz
22d82edc74 bifcl: Run clang-format on c++ code embedded in builtin-func.{l,y} 2025-08-28 12:14:09 -07:00
Tim Wojtulewicz
31b65f70da binpac: Fix a large number of clang-tidy warnings 2025-08-28 12:14:09 -07:00
Tim Wojtulewicz
4dc546f8c8 binpac: Replace delete_list macro uses 2025-08-28 12:14:09 -07:00
Tim Wojtulewicz
64b3265eb8 binpac: Run clang-format on c++ code embedded in pac_parse.{ll,yy} 2025-08-28 12:14:09 -07:00
zeek-bot
ea0ffd3ec1 Update doc submodule [nomail] [skip ci] 2025-08-28 00:16:01 +00:00
Arne Welzel
4f84192c3a Merge remote-tracking branch 'origin/topic/timw/ci-restore-ubuntu22-build'
* origin/topic/timw/ci-restore-ubuntu22-build:
  CI: Restore build steps for ubuntu22 task
2025-08-27 09:28:13 +02:00
Arne Welzel
702518e288 Merge remote-tracking branch 'origin/topic/timw/ruff-check-pre-commit-alias'
* origin/topic/timw/ruff-check-pre-commit-alias:
  Fix ruff check legacy alias for pre-commit
2025-08-27 09:27:41 +02:00
Tim Wojtulewicz
bb1001fb01 CI: Restore build steps for ubuntu22 task
This got accidentally deleted during the reorganization of the CI tasks
2025-08-26 17:30:36 -07:00
Tim Wojtulewicz
cfa73bd512 Merge remote-tracking branch 'origin/topic/timw/reduce-ci-load'
* origin/topic/timw/reduce-ci-load:
  CI: Rework layout of when each task runs
2025-08-26 14:40:05 -07:00
Tim Wojtulewicz
a0bdab5cf6 CI: Rework layout of when each task runs 2025-08-26 12:53:16 -07:00
Tim Wojtulewicz
39cd0332cd Fix ruff check legacy alias for pre-commit 2025-08-26 12:47:03 -07:00
Tim Wojtulewicz
d7db612b0f Merge remote-tracking branch 'origin/topic/bbannier/issue-3266'
* origin/topic/bbannier/issue-3266:
  Fix installation of symlink with `DESTDIR`
2025-08-26 08:59:34 -07:00
Tim Wojtulewicz
9e9c193f2a Update zeekctl submodule for docs fixes [nomail] [skip ci] 2025-08-26 08:59:11 -07:00
Tim Wojtulewicz
84c3619ef6 Merge remote-tracking branch 'origin/topic/awelzel/zeekctl-88-add-metrics-addr-and-document'
* origin/topic/awelzel/zeekctl-88-add-metrics-addr-and-document:
  Bump zeekctl
2025-08-25 12:29:44 -07:00
Arne Welzel
33f5825d38 Bump zeekctl 2025-08-25 15:14:27 +02:00
Arne Welzel
3e89e6b328 Merge remote-tracking branch 'origin/topic/awelzel/cluster-event-metadata-fixes-for-8.0'
* origin/topic/awelzel/cluster-event-metadata-fixes-for-8.0:
  cluster/Backend: Fallback to current network time when current event has not timestamp
  cluster/serializer/broker: Do not send empty metadata vectors around
2025-08-22 10:13:30 +02:00
Christian Kreibich
2929f1eb17 Merge branch 'topic/christian/news-typos'
* topic/christian/news-typos:
  Minor fixes to a few NEWS entries.
2025-08-21 17:10:17 -07:00
Christian Kreibich
ade7b0a9a2 Minor fixes to a few NEWS entries. 2025-08-21 15:16:41 -07:00
Arne Welzel
ce7ba36b3c Merge remote-tracking branch 'origin/topic/awelzel/bye-twitter'
* origin/topic/awelzel/bye-twitter:
  README.md: Add Mastodon and Bluesky links
  README: Drop "Follow us on Twitter"
2025-08-21 17:06:29 +02:00
Arne Welzel
ab960026d8 README.md: Add Mastodon and Bluesky links 2025-08-21 16:58:27 +02:00
Arne Welzel
836f4f4310 README: Drop "Follow us on Twitter" 2025-08-21 16:44:15 +02:00
Benjamin Bannier
15604811cb Fix installation of symlink with DESTDIR
We install test data which we also make available under an alternative
path for backwards compatibility. The installation of this symlink did
not take `DESTDIR` installs like used by Zeek's packaging into account
which caused installations from packages to behave different from
installs from source.

This patch fixes the symlink to respect a possible `DESTDIR`.

Closes #3266.
2025-08-21 10:56:28 +02:00
zeek-bot
3947b402a0 Update doc submodule [nomail] [skip ci] 2025-08-21 00:26:50 +00:00
Arne Welzel
9a7678f15a cluster/Backend: Fallback to current network time when current event has not timestamp
When a WebSocket client sends an event to Zeek without explicit network
timestamp metadata, Zeek would use -1.0 as a timestamp for any events
published while handling this event. Instead, it seems far more sensible
to use the current network time in that scenario.
2025-08-20 19:56:50 +02:00
Arne Welzel
01fe022e07 cluster/serializer/broker: Do not send empty metadata vectors around
Event when there's no metadata attached to an event, we'd still use the
constructor passing an empty metadata vector, resulting in an on-the-wire
representation with an empty trailing vector.

Particularly visible when just snooping events via websocat. There also
seems to be some bug with the timestamp -1 handling.
2025-08-20 19:55:38 +02:00
Tim Wojtulewicz
c9c5959d49 Merge remote-tracking branch 'origin/topic/timw/move-submodules-to-main-repo-take-2'
* origin/topic/timw/move-submodules-to-main-repo-take-2: (343 commits)
  Add NEWS entries for submodule moves
  Remove configure --with-gen-zam argument and the CMake summaries
  af_packet: Remove submodule, adapt CMake/code for Zeek build
  af_packet: pre-commit fixes
  af_packet: Fix initialization
  af_packet: Ensure all of the member fields get initialized
  af_packet: Require CMake 3.15 to match Zeek's requirement
  af_packet: Note that Zeek ships with a built-in version.
  af_packet: Use cstdint instead of stdint.h
  af_packet: Use override for overriding parent methods
  af_packet: Use 'pragma once' instead of include guards
  af_packet: AF_Packet: Fix wrong vlan when PCP or DEI bits are set in tp_vlan_tci
  af_packet: AF_Packet: Check interface for upness
  af_packet: AF_Packet: Use negative socket_fd for error indication
  af_packet: AF_Packet: Remove usages of inline
  af_packet: Add guarded zeek/zeek-version.h include.
  af_packet: RX_Ring: Add include for string
  af_packet: Increase version number.
  af_packet: Add info if TP_STATUS_CSUM_VALID is not defined.
  af_packet: Define TP_STATUS_CSUM_VALID when not defined
  ...
2025-08-20 08:53:55 -07:00
Tim Wojtulewicz
469bd8d562 Add NEWS entries for submodule moves 2025-08-20 08:52:26 -07:00
Tim Wojtulewicz
95ea468db1 Remove configure --with-gen-zam argument and the CMake summaries 2025-08-20 08:52:26 -07:00
Tim Wojtulewicz
6002f63a37 af_packet: Remove submodule, adapt CMake/code for Zeek build 2025-08-20 08:52:26 -07:00
Tim Wojtulewicz
62e27ee6f7 af_packet: pre-commit fixes 2025-08-20 08:52:26 -07:00
Tim Wojtulewicz
709f876947 af_packet: Fix initialization 2025-08-20 08:52:26 -07:00
Tim Wojtulewicz
f92bffcfd9 af_packet: Ensure all of the member fields get initialized 2025-08-20 08:52:26 -07:00
Tim Wojtulewicz
1f7c2f42bc af_packet: Require CMake 3.15 to match Zeek's requirement 2025-08-20 08:52:26 -07:00
Jan Grashoefer
a4cd5dd452 af_packet: Note that Zeek ships with a built-in version.
Closes #64.
2025-08-20 08:52:26 -07:00
Tim Wojtulewicz
c55fad5094 af_packet: Use cstdint instead of stdint.h 2025-08-20 08:52:26 -07:00
Tim Wojtulewicz
ba15e3e3b2 af_packet: Use override for overriding parent methods 2025-08-20 08:52:26 -07:00
Tim Wojtulewicz
69cae88bb0 af_packet: Use 'pragma once' instead of include guards 2025-08-20 08:52:26 -07:00
Arne Welzel
aefa52821c af_packet: AF_Packet: Fix wrong vlan when PCP or DEI bits are set in tp_vlan_tci
A user reported vlan ids > 4095 being logged by Zeek [1]. For populating
packet->vlan, mask away Priority Code Point (PCP) and Drop Eligible
Indicator (DEI) bits from the tp_vlan_tci field, else we're not setting
the correct value on the packet.

Fixes #60

[1] https://community.zeek.org/t/zeek-reporting-vlan-ids-above-4095-bug-found/7000
2025-08-20 08:52:26 -07:00
Arne Welzel
c3a13304cb af_packet: AF_Packet: Check interface for upness
When using af_packet with an interface that was not up, the following
non-informative error was reported:

    $ /opt/zeek-5.2/bin/zeek -i af_packet::replay
    fatal error: problem with interface af_packet::replay (Invalid argument)

With this change, the error now includes information about the
interface being down:

    $ ZEEK_PLUGIN_PATH=$(pwd)/build zeek -Ci af_packet::replay
    fatal error: problem with interface af_packet::replay (interface is down)

Fixes #51
2025-08-20 08:52:26 -07:00
Arne Welzel
df4beb6054 af_packet: AF_Packet: Use negative socket_fd for error indication
Technically, socket() can return 0, so shouldn't use it as an
indication of a non existent / closed socket.

I'm not 100% sure about the Close() contract here: If something
goes haywire with a packet source Zeek calls FatalError without
calling Close() nor properly destructing the PktSrc. Oh yikes.
2025-08-20 08:52:26 -07:00
Arne Welzel
17d60e4ab9 af_packet: AF_Packet: Remove usages of inline
...not sure why they are marked inline.
2025-08-20 08:52:26 -07:00
Arne Welzel
d9d7b76c5d af_packet: Add guarded zeek/zeek-version.h include.
With zeek/zeek#2802, zeek-config.h will not provide ZEEK_VERSION_NUMBER
when a plugin is compiled as a builtin/static plugin into Zeek. This is
done to avoid tree-wide ccache busting when just the version changes.
2025-08-20 08:52:26 -07:00
Arne Welzel
67d3b0697f af_packet: RX_Ring: Add include for string
When compiling with clang and libc++ like done when using Google's
hongfuzz in the oss-fuzz setup, the following errors are produced:

    Step #3 - "compile-honggfuzz-address-x86_64": /src/zeek/auxil/zeek-af_packet-plugin/src/RX_Ring.cc:19:9: error: no matching conversion for functional-style cast from 'const char[15]' to 'RX_RingException'
    Step #3 - "compile-honggfuzz-address-x86_64":                 throw RX_RingException("invalid socket");
    Step #3 - "compile-honggfuzz-address-x86_64":                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    Step #3 - "compile-honggfuzz-address-x86_64": /src/zeek/auxil/zeek-af_packet-plugin/src/RX_Ring.h:14:7: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'const char[15]' to 'const RX_RingException' for 1st argument
    Step #3 - "compile-honggfuzz-address-x86_64": class RX_RingException : public std::runtime_error {
    Step #3 - "compile-honggfuzz-address-x86_64":       ^
    Step #3 - "compile-honggfuzz-address-x86_64": /src/zeek/auxil/zeek-af_packet-plugin/src/RX_Ring.h:14:7: note: candidate constructor (the implicit move constructor) not viable: no known conversion from 'const char[15]' to 'RX_RingException' for 1st argument
    Step #3 - "compile-honggfuzz-address-x86_64": /src/zeek/auxil/zeek-af_packet-plugin/src/RX_Ring.h:16:2: note: candidate constructor not viable: no known conversion from 'const char[15]' to 'const std::string' (aka 'const basic_string<char, char_traits<char>, allocator<char>>') for 1st argument
    Step #3 - "compile-honggfuzz-address-x86_64":         RX_RingException(const std::string& what_arg) : std::runtime_error(what_arg) {}
    Step #3 - "compile-honggfuzz-address-x86_64":

The problem can be reproduced outside of hongfuzz by compiling this
plugin with with clang/libc++:

    export CXX=clang++-14
    export CXXFLAGS=-stdlib=libc++
    ./configure
    make

Include <string> in RX_Ring.h to ensure the required const char * to
std::string conversion are available to any users of RX_RingException.
2025-08-20 08:52:26 -07:00
Jan Grashoefer
165d60236c af_packet: Increase version number. 2025-08-20 08:52:26 -07:00