From 84a09debe37683015d523e14613f3cffec93ea57 Mon Sep 17 00:00:00 2001 From: Christian Kreibich Date: Mon, 23 May 2022 13:32:50 -0700 Subject: [PATCH] Add base/misc/installation.zeek, with Zeek installation directories This makes several of the installation's main directories available to the script layer. --- scripts/CMakeLists.txt | 8 ++++++ scripts/base/init-default.zeek | 1 + scripts/base/misc/installation.zeek.in | 25 +++++++++++++++++++ .../canonified_loaded_scripts.log | 1 + testing/btest/Baseline/plugins.hooks/output | 6 +++++ 5 files changed, 41 insertions(+) create mode 100644 scripts/base/misc/installation.zeek.in diff --git a/scripts/CMakeLists.txt b/scripts/CMakeLists.txt index 96b2c897c1..168eba704b 100644 --- a/scripts/CMakeLists.txt +++ b/scripts/CMakeLists.txt @@ -12,3 +12,11 @@ InstallPackageConfigFile( ${CMAKE_CURRENT_SOURCE_DIR}/site/local.zeek ${ZEEK_SCRIPT_INSTALL_PATH}/site local.zeek) + +# Substitute values in templated script files, and install them. +configure_file( + ${CMAKE_CURRENT_SOURCE_DIR}/base/misc/installation.zeek.in + ${CMAKE_CURRENT_BINARY_DIR}/base/misc/installation.zeek @ONLY) + +install(FILES ${CMAKE_CURRENT_BINARY_DIR}/base/misc/installation.zeek + DESTINATION ${ZEEK_SCRIPT_INSTALL_PATH}/base/misc) diff --git a/scripts/base/init-default.zeek b/scripts/base/init-default.zeek index b7d1b01b99..32274faca6 100644 --- a/scripts/base/init-default.zeek +++ b/scripts/base/init-default.zeek @@ -81,4 +81,5 @@ @load base/misc/find-checksum-offloading @load base/misc/find-filtered-trace +@load base/misc/installation @load base/misc/version diff --git a/scripts/base/misc/installation.zeek.in b/scripts/base/misc/installation.zeek.in new file mode 100644 index 0000000000..84536deb95 --- /dev/null +++ b/scripts/base/misc/installation.zeek.in @@ -0,0 +1,25 @@ +##! This module collects properties of the Zeek installation. +##! +##! Directories are absolute and guaranteed to exist. Not all are necessarily in +##! operational use -- this depends on how you're running Zeek (as a standalone +##! process or clusterized, via zeekctl or the Management framework, etc). +##! +##! For details about Zeek's version, see the :zeek:see:`Version` module. +module Installation; + +export { + ## Zeek installation root directory. + const root_dir = "@ZEEK_ROOT_DIR@"; + + ## The installation's configuration directory. + const etc_dir = "@ZEEK_ETC_INSTALL_DIR@"; + + ## The installation's log directory. + const log_dir = "@ZEEK_LOG_DIR@"; + + ## The installation's spool directory. + const spool_dir = "@ZEEK_SPOOL_DIR@"; + + ## The installation's variable-state directory. + const state_dir = "@ZEEK_STATE_DIR@"; +} diff --git a/testing/btest/Baseline/coverage.default-load-baseline/canonified_loaded_scripts.log b/testing/btest/Baseline/coverage.default-load-baseline/canonified_loaded_scripts.log index 1a5ff60c6b..ecf792fbc6 100644 --- a/testing/btest/Baseline/coverage.default-load-baseline/canonified_loaded_scripts.log +++ b/testing/btest/Baseline/coverage.default-load-baseline/canonified_loaded_scripts.log @@ -444,6 +444,7 @@ scripts/base/init-default.zeek scripts/base/files/extract/main.zeek scripts/base/misc/find-checksum-offloading.zeek scripts/base/misc/find-filtered-trace.zeek + build/scripts/base/misc/installation.zeek scripts/base/misc/version.zeek build/scripts/builtin-plugins/__preload__.zeek build/scripts/builtin-plugins/Zeek_Spicy/__preload__.zeek diff --git a/testing/btest/Baseline/plugins.hooks/output b/testing/btest/Baseline/plugins.hooks/output index 7e8ed9f6ea..ba2ea70ddb 100644 --- a/testing/btest/Baseline/plugins.hooks/output +++ b/testing/btest/Baseline/plugins.hooks/output @@ -995,6 +995,7 @@ 0.000000 MetaHookPost LoadFile(0, base<...>/imap, <...>/imap) -> -1 0.000000 MetaHookPost LoadFile(0, base<...>/input, <...>/input) -> -1 0.000000 MetaHookPost LoadFile(0, base<...>/input.bif, <...>/input.bif.zeek) -> -1 +0.000000 MetaHookPost LoadFile(0, base<...>/installation, <...>/installation.zeek) -> -1 0.000000 MetaHookPost LoadFile(0, base<...>/intel, <...>/intel) -> -1 0.000000 MetaHookPost LoadFile(0, base<...>/ip, <...>/ip) -> -1 0.000000 MetaHookPost LoadFile(0, base<...>/iptunnel, <...>/iptunnel) -> -1 @@ -1379,6 +1380,7 @@ 0.000000 MetaHookPost LoadFileExtended(0, base<...>/imap, <...>/imap) -> (-1, ) 0.000000 MetaHookPost LoadFileExtended(0, base<...>/input, <...>/input) -> (-1, ) 0.000000 MetaHookPost LoadFileExtended(0, base<...>/input.bif, <...>/input.bif.zeek) -> (-1, ) +0.000000 MetaHookPost LoadFileExtended(0, base<...>/installation, <...>/installation.zeek) -> (-1, ) 0.000000 MetaHookPost LoadFileExtended(0, base<...>/intel, <...>/intel) -> (-1, ) 0.000000 MetaHookPost LoadFileExtended(0, base<...>/ip, <...>/ip) -> (-1, ) 0.000000 MetaHookPost LoadFileExtended(0, base<...>/iptunnel, <...>/iptunnel) -> (-1, ) @@ -2473,6 +2475,7 @@ 0.000000 MetaHookPre LoadFile(0, base<...>/imap, <...>/imap) 0.000000 MetaHookPre LoadFile(0, base<...>/input, <...>/input) 0.000000 MetaHookPre LoadFile(0, base<...>/input.bif, <...>/input.bif.zeek) +0.000000 MetaHookPre LoadFile(0, base<...>/installation, <...>/installation.zeek) 0.000000 MetaHookPre LoadFile(0, base<...>/intel, <...>/intel) 0.000000 MetaHookPre LoadFile(0, base<...>/ip, <...>/ip) 0.000000 MetaHookPre LoadFile(0, base<...>/iptunnel, <...>/iptunnel) @@ -2857,6 +2860,7 @@ 0.000000 MetaHookPre LoadFileExtended(0, base<...>/imap, <...>/imap) 0.000000 MetaHookPre LoadFileExtended(0, base<...>/input, <...>/input) 0.000000 MetaHookPre LoadFileExtended(0, base<...>/input.bif, <...>/input.bif.zeek) +0.000000 MetaHookPre LoadFileExtended(0, base<...>/installation, <...>/installation.zeek) 0.000000 MetaHookPre LoadFileExtended(0, base<...>/intel, <...>/intel) 0.000000 MetaHookPre LoadFileExtended(0, base<...>/ip, <...>/ip) 0.000000 MetaHookPre LoadFileExtended(0, base<...>/iptunnel, <...>/iptunnel) @@ -3962,6 +3966,7 @@ 0.000000 | HookLoadFile base<...>/imap <...>/imap 0.000000 | HookLoadFile base<...>/input <...>/input 0.000000 | HookLoadFile base<...>/input.bif <...>/input.bif.zeek +0.000000 | HookLoadFile base<...>/installation <...>/installation.zeek 0.000000 | HookLoadFile base<...>/intel <...>/intel 0.000000 | HookLoadFile base<...>/ip <...>/ip 0.000000 | HookLoadFile base<...>/iptunnel <...>/iptunnel @@ -4346,6 +4351,7 @@ 0.000000 | HookLoadFileExtended base<...>/imap <...>/imap 0.000000 | HookLoadFileExtended base<...>/input <...>/input 0.000000 | HookLoadFileExtended base<...>/input.bif <...>/input.bif.zeek +0.000000 | HookLoadFileExtended base<...>/installation <...>/installation.zeek 0.000000 | HookLoadFileExtended base<...>/intel <...>/intel 0.000000 | HookLoadFileExtended base<...>/ip <...>/ip 0.000000 | HookLoadFileExtended base<...>/iptunnel <...>/iptunnel