Redesign subdir-libs and plugin scaffolding

This commit is contained in:
Dominik Charousset 2023-01-22 15:13:17 +01:00
parent ca43ada578
commit 9aeed5284d
109 changed files with 1664 additions and 1292 deletions

View file

@ -9,8 +9,10 @@ endif()
project(Zeek C CXX) project(Zeek C CXX)
option(ZEEK_STANDALONE "Is Zeek compiled stand-alone or embedded in a parent project." ON) option(ZEEK_STANDALONE "Build Zeek as stand-alone binary?" ON)
option(ENABLE_ZEEK_UNIT_TESTS "Should the doctest unit tests be built?" ON) option(ENABLE_ZEEK_UNIT_TESTS "Build the C++ (doctest) unit tests?" ON)
set(CMAKE_EXPORT_COMPILE_COMMANDS ON
CACHE INTERNAL "Write JSON compile commands database")
list(APPEND CMAKE_MODULE_PATH ${CMAKE_BINARY_DIR}) list(APPEND CMAKE_MODULE_PATH ${CMAKE_BINARY_DIR})
list(APPEND CMAKE_PREFIX_PATH ${CMAKE_BINARY_DIR}) list(APPEND CMAKE_PREFIX_PATH ${CMAKE_BINARY_DIR})
@ -114,6 +116,255 @@ include(cmake/CommonCMakeConfig.cmake)
include(cmake/FindClangTidy.cmake) include(cmake/FindClangTidy.cmake)
include(cmake/CheckCompilerArch.cmake) include(cmake/CheckCompilerArch.cmake)
########################################################################
## Main targets and utilities.
# Variable for referring back to Zeek's top-level source dir. Used for plugins
# to tell them where to find the Zeek headers.
set(ZEEK_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}")
# Tell dynamic plugins where to find scripts such as
# zeek-plugin-create-package.sh. Needed by ZeekPluginConfig.cmake.in.
set(ZEEK_PLUGIN_SCRIPTS_PATH "${PROJECT_SOURCE_DIR}/cmake")
# Our C++17 base target for propagating compiler and linker flags.
# Note: for now, we only use it for passing library dependencies around.
add_library(zeek_internal INTERFACE)
add_library(Zeek::Internal ALIAS zeek_internal)
set_target_properties(zeek_internal PROPERTIES EXPORT_NAME Internal)
install(TARGETS zeek_internal EXPORT ZeekTargets)
target_compile_features(zeek_internal INTERFACE cxx_std_17)
# Target for bundling the creation of auto-generated files.
add_custom_target(zeek_autogen_files)
# Define our main targets and place the output files under src (for historic
# reasons and backwards compatibility).
if (ZEEK_STANDALONE)
add_executable(zeek_exe)
target_link_libraries(zeek_exe PRIVATE $<BUILD_INTERFACE:zeek_internal>)
add_dependencies(zeek_exe zeek_autogen_files)
set_target_properties(zeek_exe PROPERTIES RUNTIME_OUTPUT_NAME zeek)
if (NOT CMAKE_RUNTIME_OUTPUT_DIRECTORY)
set_target_properties(zeek_exe PROPERTIES RUNTIME_OUTPUT_DIRECTORY src)
endif()
install(TARGETS zeek_exe RUNTIME DESTINATION bin)
# Export symbols from zeek executable for use by plugins
set_target_properties(zeek_exe PROPERTIES ENABLE_EXPORTS ON)
if ( MSVC )
set(WINDOWS_EXPORT_ALL_SYMBOLS ON)
endif ()
# Tell zeek_target_link_libraries to add library dependencies as PRIVATE.
set(zeek_exe_access PRIVATE)
# Also build the static library when asked for via Conan.
if (CONAN_EXPORTED)
add_library(zeek_lib STATIC)
endif ()
else ()
add_library(zeek_lib STATIC)
endif()
if (TARGET zeek_lib)
target_link_libraries(zeek_lib PRIVATE $<BUILD_INTERFACE:zeek_internal>)
add_dependencies(zeek_lib zeek_autogen_files)
set_target_properties(zeek_lib PROPERTIES RUNTIME_OUTPUT_NAME libzeek)
if (NOT CMAKE_LIBRARY_OUTPUT_DIRECTORY)
set_target_properties(zeek_lie PROPERTIES LIBRARY_OUTPUT_DIRECTORY src)
endif()
install(TARGETS zeek_lib LIBRARY DESTINATION lib)
# Tell zeek_target_link_libraries to add library dependencies as PRIVATE.
set(zeek_lib_access PRIVATE)
endif()
# When building our fuzzers, we also need one extra top-level target that
# bundles all of our object libraries and other dependencies.
if ( ZEEK_ENABLE_FUZZERS )
add_library(zeek_fuzzer_shared SHARED)
target_link_libraries(zeek_fuzzer_shared PUBLIC $<BUILD_INTERFACE:zeek_internal>)
# Tell zeek_target_link_libraries to add library dependencies as PUBLIC.
set(zeek_fuzzer_shared_access PUBLIC)
endif ()
# Convenience function for adding library dependencies to the main target(s).
function(zeek_target_link_libraries lib_target)
foreach (name zeek_exe zeek_lib zeek_fuzzer_shared)
if (TARGET ${name})
target_link_libraries(${name} ${${name}_access} ${lib_target})
endif ()
endforeach()
endfunction()
function(zeek_include_directories)
foreach (name zeek_exe zeek_lib zeek_fuzzer_shared)
if (TARGET ${name})
target_include_directories(${name} ${${name}_access} ${ARGN})
endif ()
endforeach ()
endfunction ()
# Convenience function for adding a dependency to the main target(s).
function(zeek_add_dependencies dep)
foreach (name zeek_exe zeek_lib zeek_fuzzer_shared)
if (TARGET ${name})
add_dependencies(${name} ${dep})
endif ()
endforeach()
endfunction()
# Interface library for propagating extra flags and include paths to dynamically
# loaded plugins.
add_library(zeek_dynamic_plugin_base INTERFACE)
target_link_libraries(zeek_dynamic_plugin_base
INTERFACE
$<BUILD_INTERFACE:zeek_internal>)
target_include_directories(zeek_dynamic_plugin_base
INTERFACE
$<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}>
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/src>)
add_library(Zeek::DynamicPluginBase ALIAS zeek_dynamic_plugin_base)
set_target_properties(
zeek_dynamic_plugin_base PROPERTIES
EXPORT_NAME DynamicPluginBase)
install(TARGETS zeek_dynamic_plugin_base EXPORT ZeekTargets)
# Tell dynamic plugins where to find scripts such as
# zeek-plugin-create-package.sh.
set(ZEEK_PLUGIN_SCRIPTS_PATH "${PROJECT_SOURCE_DIR}/cmake")
# On macOS, we need to tell the linker that the modules are allowed to have
# undefined symbols.
if (CMAKE_SYSTEM_NAME MATCHES "Darwin")
target_link_options(
zeek_dynamic_plugin_base
INTERFACE
-undefined
dynamic_lookup
-Wl,-bind_at_load)
endif ()
function(add_zeek_dynamic_plugin_build_interface_include_directories)
foreach ( path ${ARGV} )
target_include_directories(
zeek_dynamic_plugin_base
INTERFACE
$<BUILD_INTERFACE:${path}>
)
endforeach ()
endfunction()
add_zeek_dynamic_plugin_build_interface_include_directories(
${PROJECT_SOURCE_DIR}/src/include
${PROJECT_SOURCE_DIR}/auxil/binpac/lib
${PROJECT_SOURCE_DIR}/auxil/broker/include
${PROJECT_SOURCE_DIR}/auxil/paraglob/include
${PROJECT_SOURCE_DIR}/auxil/rapidjson/include
${CMAKE_BINARY_DIR}/src
${CMAKE_BINARY_DIR}/src/include
${CMAKE_BINARY_DIR}/auxil/binpac/lib
${CMAKE_BINARY_DIR}/auxil/broker/include
)
# Convenience function for adding an OBJECT library that feeds directly into the
# main target(s).
#
# Usage:
# zeek_add_subdir_library(
# <name>
# SOURCES ...
# [INCLUDE_DIRS ...]
# [DEPENDENCIES ...]
# [INTERNAL_DEPENDENCIES ...]
# [BIFS ...]
# )
function(zeek_add_subdir_library name)
# Parse arguments.
set(fn_varargs INCLUDE_DIRS DEPENDENCIES INTERNAL_DEPENDENCIES SOURCES BIFS)
cmake_parse_arguments(FN_ARGS "" "" "${fn_varargs}" ${ARGN})
if (NOT FN_ARGS_SOURCES)
message(FATAL_ERROR "zeek_add_subdir_library called without any SOURCES")
endif()
# Create target and add the sources.
set(target_name "zeek_${name}_obj")
add_library(${target_name} OBJECT ${FN_ARGS_SOURCES})
add_dependencies(${target_name} zeek_autogen_files)
target_link_libraries(${target_name} PRIVATE $<BUILD_INTERFACE:zeek_internal>)
add_clang_tidy_files(${FN_ARGS_SOURCES})
# Take care of compiling BIFs.
if (FN_ARGS_BIFS)
foreach ( bif ${FN_ARGS_BIFS} )
# Generate the target and add the extra dependency.
bif_target(${bif})
endforeach ()
endif()
# Optionally add include directories and extra dependencies.
if ( FN_ARGS_INCLUDE_DIRS )
target_include_directories(
${target_name}
BEFORE
PRIVATE
${FN_ARGS_INCLUDE_DIRS})
endif ()
if ( FN_ARGS_DEPENDENCIES )
target_link_libraries(${target_name} PRIVATE ${FN_ARGS_DEPENDENCIES})
endif ()
if ( FN_ARGS_INTERNAL_DEPENDENCIES )
add_dependencies(${target_name} ${FN_ARGS_INTERNAL_DEPENDENCIES})
endif ()
# Feed into the main Zeek target(s).
zeek_target_link_libraries(${target_name})
endfunction()
########################################################################
## Utility function for forcing CMake to re-run if files change on disk.
function(zeek_watch_files)
set_property(
DIRECTORY
APPEND
PROPERTY CMAKE_CONFIGURE_DEPENDS ${ARGN}
)
endfunction()
########################################################################
## Create empty __load__.zeek stubs (override pre-existing ones).
function(zeek_create_load_script_stubs)
set(file_comment "# Warning, this is an autogenerated file!\n")
foreach ( fpath ${ARGN} )
file(WRITE "${CMAKE_BINARY_DIR}/${fpath}" "${file_comment}")
zeek_watch_files("${CMAKE_BINARY_DIR}/${fpath}")
endforeach ()
endfunction ()
# Note: these files are filled from BifCl.cmake via `file(APPEND ...)`
zeek_create_load_script_stubs(
scripts/builtin-plugins/__load__.zeek
scripts/base/bif/plugins/__load__.zeek
scripts/base/bif/__load__.zeek
)
########################################################################
## Create empty __all__*.cc stubs (override pre-existing ones).
function(zeek_create_bif_autogen_stubs)
set(file_comment "// Warning, this is an autogenerated file!\n")
foreach ( fpath ${ARGN} )
file(WRITE "${CMAKE_BINARY_DIR}/${fpath}" "${file_comment}")
zeek_watch_files("${CMAKE_BINARY_DIR}/${fpath}")
endforeach ()
endfunction ()
# Note: these files are filled from BifCl.cmake via `file(APPEND ...)`.
zeek_create_bif_autogen_stubs(
src/__all__.bif.cc
src/__all__.bif.init.cc
src/__all__.bif.register.cc
)
######################################################################## ########################################################################
## Project/Build Configuration ## Project/Build Configuration
@ -247,8 +498,9 @@ set(VERSION_C_IDENT "${VERSION}_plugin_${API_VERSION}")
string(REGEX REPLACE "-[0-9]*$" "_git" VERSION_C_IDENT "${VERSION_C_IDENT}") string(REGEX REPLACE "-[0-9]*$" "_git" VERSION_C_IDENT "${VERSION_C_IDENT}")
string(REGEX REPLACE "[^a-zA-Z0-9_\$]" "_" VERSION_C_IDENT "${VERSION_C_IDENT}") string(REGEX REPLACE "[^a-zA-Z0-9_\$]" "_" VERSION_C_IDENT "${VERSION_C_IDENT}")
if(${ENABLE_DEBUG}) if(ENABLE_DEBUG)
set(VERSION_C_IDENT "${VERSION_C_IDENT}_debug") set(VERSION_C_IDENT "${VERSION_C_IDENT}_debug")
target_compile_definitions(zeek_internal INTERFACE DEBUG)
endif() endif()
if ( NOT BINARY_PACKAGING_MODE ) if ( NOT BINARY_PACKAGING_MODE )
@ -425,6 +677,22 @@ if ( NOT MSVC )
endif () endif ()
FindRequiredPackage(ZLIB) FindRequiredPackage(ZLIB)
# Forward user-defined hint for OpenSSL to the plugins. Use a cache variable to
# make sure this variable survives CMake re-runs.
# Note: This variable is picked up in ZeekPluginConfig.cmake.in.
if (OPENSSL_ROOT_DIR)
set(ZeekOpenSSLHint "${OPENSSL_ROOT_DIR}" CACHE INTERNAL "" FORCE)
elseif (DEFINED ENV{OPENSSL_ROOT_DIR})
set(ZeekOpenSSLHint "$ENV{OPENSSL_ROOT_DIR}" CACHE INTERNAL "" FORCE)
endif ()
# Forward PKG_CONFIG_PATH to the plugins. Use a cache variable to make sure this
# variable survives CMake re-runs.
# Note: This variable is picked up in ZeekPluginConfig.cmake.in.
if (DEFINED ENV{PKG_CONFIG_PATH})
set(ZeekPkgConfigPath "$ENV{PKG_CONFIG_PATH}" CACHE INTERNAL "" FORCE)
endif ()
# Installation directory for the distribution's Python modules. An # Installation directory for the distribution's Python modules. An
# override via configure's --python-dir wins, specifying a directory # override via configure's --python-dir wins, specifying a directory
# explicitly. Next is --python-prefix, which includes a versioned # explicitly. Next is --python-prefix, which includes a versioned
@ -457,11 +725,28 @@ if (EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/auxil/binpac/CMakeLists.txt)
add_subdirectory(auxil/binpac) add_subdirectory(auxil/binpac)
set(ENABLE_STATIC_ONLY ${ENABLE_STATIC_ONLY_SAVED}) set(ENABLE_STATIC_ONLY ${ENABLE_STATIC_ONLY_SAVED})
# FIXME: avoid hard-coding a path for multi-config generator support.
# See the TODO in ZeekPluginConfig.cmake.in.
set(BINPAC_EXE_PATH "${CMAKE_BINARY_DIR}/auxil/binpac/src/binpac${CMAKE_EXECUTABLE_SUFFIX}")
endif () endif ()
FindRequiredPackage(BinPAC) FindRequiredPackage(BinPAC)
# Add an alias (used by our plugin setup).
add_executable(Zeek::BinPAC ALIAS binpac)
if ( NOT BIFCL_EXE_PATH ) if ( NOT BIFCL_EXE_PATH )
add_subdirectory(auxil/bifcl) add_subdirectory(auxil/bifcl)
add_executable(Zeek::BifCl ALIAS bifcl)
# FIXME: avoid hard-coding a path for multi-config generator support.
# See the TODO in ZeekPluginConfig.cmake.in.
set(BIFCL_EXE_PATH "${CMAKE_BINARY_DIR}/auxil/bifcl/bifcl${CMAKE_EXECUTABLE_SUFFIX}")
set(_bifcl_exe_path "included")
else ( )
add_executable(Zeek::BifCl IMPORTED)
set_property(TARGET Zeek::BifCl PROPERTY
IMPORTED_LOCATION "${BIFCL_EXE_PATH}")
set(_bifcl_exe_path "BIFCL_EXE_PATH")
endif () endif ()
if ( NOT GEN_ZAM_EXE_PATH ) if ( NOT GEN_ZAM_EXE_PATH )
@ -513,14 +798,13 @@ if ( MSVC )
endif () endif ()
set(zeekdeps ${zeekdeps} paraglob) set(zeekdeps ${zeekdeps} paraglob)
# Note: Broker gets some special attention in ZeekConfig.cmake.in.
if ( Broker_ROOT ) if ( Broker_ROOT )
find_package(Broker REQUIRED PATHS "${Broker_ROOT}") find_package(Broker REQUIRED CONFIG)
set(zeekdeps ${zeekdeps} ${BROKER_LIBRARY}) list(APPEND zeekdeps ${BROKER_LIBRARY})
set(broker_includes ${BROKER_INCLUDE_DIR})
elseif ( BROKER_ROOT_DIR )
find_package(Broker REQUIRED PATHS "${BROKER_ROOT_DIR}")
set(zeekdeps ${zeekdeps} ${BROKER_LIBRARY})
set(broker_includes ${BROKER_INCLUDE_DIR}) set(broker_includes ${BROKER_INCLUDE_DIR})
set(ZEEK_HAS_EXTERNAL_BROKER ON)
set(ZEEK_HAS_STATIC_BROKER OFF)
else () else ()
if ( ZEEK_SANITIZERS ) if ( ZEEK_SANITIZERS )
set(BROKER_SANITIZERS ${ZEEK_SANITIZERS}) set(BROKER_SANITIZERS ${ZEEK_SANITIZERS})
@ -539,11 +823,26 @@ else ()
set(ENABLE_STATIC_ONLY ${ENABLE_STATIC_ONLY_SAVED}) set(ENABLE_STATIC_ONLY ${ENABLE_STATIC_ONLY_SAVED})
if ( BUILD_STATIC_BROKER ) if ( BUILD_STATIC_BROKER )
set(zeekdeps ${zeekdeps} broker_static) list(APPEND zeekdeps broker_static)
else() else()
set(zeekdeps ${zeekdeps} broker) list(APPEND zeekdeps broker)
endif() endif()
set(broker_includes ${CMAKE_CURRENT_SOURCE_DIR}/auxil/broker/include ${CMAKE_CURRENT_BINARY_DIR}/auxil/broker/include)
set(
broker_includes
${CMAKE_CURRENT_SOURCE_DIR}/auxil/broker/include
${CMAKE_CURRENT_BINARY_DIR}/auxil/broker/include)
if (BUILD_STATIC_BROKER)
set(ZEEK_HAS_STATIC_BROKER ON)
else ()
set(ZEEK_HAS_STATIC_BROKER OFF)
endif ()
set(ZEEK_HAS_EXTERNAL_BROKER OFF)
# Tell plugins where to find the Broker CMake package in the source tree.
# This variable is picked up in ZeekPluginConfig.cmake.in.
set(ZEEK_PLUGIN_BROKER_PATH "${CMAKE_CURRENT_BINARY_DIR}/auxil/broker")
endif () endif ()
if ( NOT DISABLE_SPICY ) if ( NOT DISABLE_SPICY )
@ -909,7 +1208,7 @@ CheckOptionalBuildSources(auxil/zeek-client ZeekClient INSTALL_ZEEK_CLIENT)
if ( NOT DISABLE_SPICY ) if ( NOT DISABLE_SPICY )
# The `zeek` binary implicitly depends on the driver object file built # The `zeek` binary implicitly depends on the driver object file built
# as part of `spicy`; make that dependency explicit. # as part of `spicy`; make that dependency explicit.
add_dependencies(zeek spicyz) zeek_add_dependencies(spicyz)
if ( NOT SPICY_ROOT_DIR ) if ( NOT SPICY_ROOT_DIR )
# Make sure we build targets of spicy-plugin after the `spicy` target. # Make sure we build targets of spicy-plugin after the `spicy` target.
@ -957,6 +1256,41 @@ if ("${PROJECT_SOURCE_DIR}" STREQUAL "${CMAKE_SOURCE_DIR}")
ConfigurePackaging(${VERSION}) ConfigurePackaging(${VERSION})
endif () endif ()
# Refers back to the "distribution prefix". This is the source tree when
# referring to Zeek from the build directory and the "share" directory under the
# install preifx otherwise.
set(ZEEK_DIST_PREFIX
$<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}>
$<INSTALL_INTERFACE:${CMAKE_INSTALL_DATAROOTDIR}/foo/bar>)
# Generate extra config file for the dynamic plugins.
configure_file(src/ZeekPluginConfig.cmake.in ZeekPluginConfig.cmake @ONLY)
# Write the CMake package and version files.
configure_package_config_file(
"${CMAKE_CURRENT_SOURCE_DIR}/src/ZeekConfig.cmake.in"
"${CMAKE_CURRENT_BINARY_DIR}/ZeekConfig.cmake"
INSTALL_DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/Zeek")
write_basic_package_version_file(
"${CMAKE_CURRENT_BINARY_DIR}/ZeekConfigVersion.cmake"
VERSION ${ZEEK_VERSION_NUMBER}
COMPATIBILITY ExactVersion)
# Write the CMake targets file.
export(EXPORT ZeekTargets FILE ZeekTargets.cmake NAMESPACE Zeek::)
# TODO: Check whether installing these does not break any of our packages.
# install(
# FILES
# "${CMAKE_CURRENT_BINARY_DIR}/ZeekConfig.cmake"
# "${CMAKE_CURRENT_BINARY_DIR}/ZeekConfigVersion.cmake"
# DESTINATION
# "${CMAKE_INSTALL_LIBDIR}/cmake/Zeek")
# install(
# EXPORT ZeekTargets
# DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/Zeek"
# NAMESPACE Zeek::)
######################################################################## ########################################################################
## Build Summary ## Build Summary
@ -970,11 +1304,6 @@ else ()
set(_install_btest_tools_msg "no pcaps") set(_install_btest_tools_msg "no pcaps")
endif () endif ()
set(_bifcl_exe_path "included")
if ( BIFCL_EXE_PATH )
set(_bifcl_exe_path ${BIFCL_EXE_PATH})
endif ()
set(_binpac_exe_path "included") set(_binpac_exe_path "included")
if ( BINPAC_EXE_PATH ) if ( BINPAC_EXE_PATH )
set(_binpac_exe_path ${BINPAC_EXE_PATH}) set(_binpac_exe_path ${BINPAC_EXE_PATH})

@ -1 +1 @@
Subproject commit a2dd0b3d210401bc0873ed8e80a591d88cf3fba1 Subproject commit 4fc4c31592c4823d675314bc981931de9e246057

@ -1 +1 @@
Subproject commit 6bf782aa51d31cc9e08a36073e107c5f869d91f7 Subproject commit a618f2ce0831c311f9bcff5d020b85fc44345221

2
cmake

@ -1 +1 @@
Subproject commit 23d5b121a1492feb15455d6ecaf3940a237beb26 Subproject commit f258c75659cec6e5dbd91ea18e21bc5dfad284a2

View file

@ -20,16 +20,6 @@ execute_process(COMMAND "${CMAKE_COMMAND}" -E create_symlink
".." ".."
"${CMAKE_CURRENT_BINARY_DIR}/include/zeek") "${CMAKE_CURRENT_BINARY_DIR}/include/zeek")
# This collects generated bif and pac files from subdirectories.
set(bro_ALL_GENERATED_OUTPUTS CACHE INTERNAL "automatically generated files" FORCE)
# This collects bif inputs that we'll load automatically.
set(bro_AUTO_BIFS CACHE INTERNAL "BIFs for automatic inclusion" FORCE)
set(bro_REGISTER_BIFS CACHE INTERNAL "BIFs for automatic registering" FORCE)
set(bro_BASE_BIF_SCRIPTS CACHE INTERNAL "Zeek script stubs for BIFs in base distribution of Zeek" FORCE)
set(bro_PLUGIN_BIF_SCRIPTS CACHE INTERNAL "Zeek script stubs for BIFs in Zeek plugins" FORCE)
# Poor man's JSON escaping as this is rendered into a C string. # Poor man's JSON escaping as this is rendered into a C string.
string(REPLACE "\"" "\\\"" ZEEK_BUILD_INFO_ESCAPED "${ZEEK_BUILD_INFO}") string(REPLACE "\"" "\\\"" ZEEK_BUILD_INFO_ESCAPED "${ZEEK_BUILD_INFO}")
string(REPLACE "\n" "\\n" ZEEK_BUILD_INFO_ESCAPED "${ZEEK_BUILD_INFO_ESCAPED}") string(REPLACE "\n" "\\n" ZEEK_BUILD_INFO_ESCAPED "${ZEEK_BUILD_INFO_ESCAPED}")
@ -66,16 +56,6 @@ else()
set(SIGN_COMPARE_FLAG "-Wno-sign-compare") set(SIGN_COMPARE_FLAG "-Wno-sign-compare")
endif() endif()
# BIF parser/scanner
bison_target(BIFParser builtin-func.y
${CMAKE_CURRENT_BINARY_DIR}/bif_parse.cc
HEADER ${CMAKE_CURRENT_BINARY_DIR}/bif_parse.h
#VERBOSE ${CMAKE_CURRENT_BINARY_DIR}/bif_parse.output
COMPILE_FLAGS "${BISON_FLAGS}")
flex_target(BIFScanner builtin-func.l ${CMAKE_CURRENT_BINARY_DIR}/bif_lex.cc)
add_flex_bison_dependency(BIFScanner BIFParser)
set_property(SOURCE bif_lex.cc APPEND_STRING PROPERTY COMPILE_FLAGS "${SIGN_COMPARE_FLAG}")
# Rule parser/scanner # Rule parser/scanner
bison_target(RuleParser rule-parse.y bison_target(RuleParser rule-parse.y
${CMAKE_CURRENT_BINARY_DIR}/rup.cc ${CMAKE_CURRENT_BINARY_DIR}/rup.cc
@ -119,6 +99,21 @@ flex_target(Scanner scan.l ${CMAKE_CURRENT_BINARY_DIR}/scan.cc
COMPILE_FLAGS "-Pzeek") COMPILE_FLAGS "-Pzeek")
set_property(SOURCE scan.cc APPEND_STRING PROPERTY COMPILE_FLAGS "${SIGN_COMPARE_FLAG}") set_property(SOURCE scan.cc APPEND_STRING PROPERTY COMPILE_FLAGS "${SIGN_COMPARE_FLAG}")
# Add a dependency for the generated files to zeek_autogen_files.
add_custom_target(
zeek_bison_outputs
DEPENDS
${CMAKE_CURRENT_BINARY_DIR}/parse.cc
${CMAKE_CURRENT_BINARY_DIR}/re-parse.cc
${CMAKE_CURRENT_BINARY_DIR}/re-parse.h
${CMAKE_CURRENT_BINARY_DIR}/re-scan.cc
${CMAKE_CURRENT_BINARY_DIR}/rule-parse.cc
${CMAKE_CURRENT_BINARY_DIR}/rule-parse.h
${CMAKE_CURRENT_BINARY_DIR}/rule-scan.cc
${CMAKE_CURRENT_BINARY_DIR}/scan.cc
)
add_dependencies(zeek_autogen_files zeek_bison_outputs)
######################################################################## ########################################################################
## bifcl-dependent targets ## bifcl-dependent targets
@ -164,6 +159,8 @@ set(BINPAC_AUXSRC
${CMAKE_CURRENT_SOURCE_DIR}/binpac_zeek.h ${CMAKE_CURRENT_SOURCE_DIR}/binpac_zeek.h
) )
set(BINPAC_OUTPUTS "")
binpac_target(binpac-lib.pac) binpac_target(binpac-lib.pac)
list(APPEND BINPAC_OUTPUTS "${BINPAC_OUTPUT_CC}") list(APPEND BINPAC_OUTPUTS "${BINPAC_OUTPUT_CC}")
@ -185,12 +182,6 @@ gen_zam_target(${GEN_ZAM_SRC})
option(USE_SQLITE "Should Zeek use SQLite?" ON) option(USE_SQLITE "Should Zeek use SQLite?" ON)
set(bro_SUBDIR_LIBS CACHE INTERNAL "subdir libraries" FORCE)
set(bro_SUBDIR_DEPS CACHE INTERNAL "subdir dependencies" FORCE)
set(bro_PLUGIN_LIBS CACHE INTERNAL "plugin libraries" FORCE)
set(bro_PLUGIN_DEPS CACHE INTERNAL "plugin dependencies" FORCE)
set(bro_PLUGIN_LINK_LIBS CACHE INTERNAL "plugin link libraries" FORCE)
add_subdirectory(analyzer) add_subdirectory(analyzer)
add_subdirectory(packet_analysis) add_subdirectory(packet_analysis)
add_subdirectory(broker) add_subdirectory(broker)
@ -276,6 +267,14 @@ add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/DebugCmdConstants.h
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
) )
add_custom_target(
zeek_debugcmd_gen
DEPENDS
${CMAKE_CURRENT_BINARY_DIR}/DebugCmdConstants.h
${CMAKE_CURRENT_BINARY_DIR}/DebugCmdInfoConstants.cc
)
add_dependencies(zeek_autogen_files zeek_debugcmd_gen)
set(_gen_zeek_script_cpp ${CMAKE_CURRENT_BINARY_DIR}/../CPP-gen.cc) set(_gen_zeek_script_cpp ${CMAKE_CURRENT_BINARY_DIR}/../CPP-gen.cc)
add_custom_command(OUTPUT ${_gen_zeek_script_cpp} add_custom_command(OUTPUT ${_gen_zeek_script_cpp}
COMMAND ${CMAKE_COMMAND} -E touch ${_gen_zeek_script_cpp}) COMMAND ${CMAKE_COMMAND} -E touch ${_gen_zeek_script_cpp})
@ -453,16 +452,18 @@ set(THIRD_PARTY_SRCS
) )
# Highwayhash. Highwayhash is a bit special since it has architecture dependent code... # Highwayhash. Highwayhash is a bit special since it has architecture dependent code...
set(hhash_dir ${PROJECT_SOURCE_DIR}/auxil/highwayhash/highwayhash)
set(HH_SRCS zeek_add_subdir_library(
../auxil/highwayhash/highwayhash/sip_hash.cc hhash
../auxil/highwayhash/highwayhash/sip_tree_hash.cc SOURCES
../auxil/highwayhash/highwayhash/scalar_sip_tree_hash.cc ${hhash_dir}/sip_hash.cc
../auxil/highwayhash/highwayhash/arch_specific.cc ${hhash_dir}/sip_tree_hash.cc
../auxil/highwayhash/highwayhash/instruction_sets.cc ${hhash_dir}/scalar_sip_tree_hash.cc
../auxil/highwayhash/highwayhash/nanobenchmark.cc ${hhash_dir}/arch_specific.cc
../auxil/highwayhash/highwayhash/os_specific.cc ${hhash_dir}/instruction_sets.cc
../auxil/highwayhash/highwayhash/hh_portable.cc ${hhash_dir}/nanobenchmark.cc
${hhash_dir}/os_specific.cc
${hhash_dir}/hh_portable.cc
) )
if (${COMPILER_ARCHITECTURE} STREQUAL "arm") if (${COMPILER_ARCHITECTURE} STREQUAL "arm")
@ -475,22 +476,28 @@ if (${COMPILER_ARCHITECTURE} STREQUAL "arm")
" test_arm_neon) " test_arm_neon)
if (test_arm_neon) if (test_arm_neon)
list(APPEND HH_SRCS ../auxil/highwayhash/highwayhash/hh_neon.cc) target_sources(zeek_hhash_obj PRIVATE ${hhash_dir}/hh_neon.cc)
endif () endif ()
set_source_files_properties(${HH_SRCS} PROPERTIES COMPILE_FLAGS target_compile_options(
-mfloat-abi=hard -march=armv7-a -mfpu=neon) zeek_hhash_obj
PRIVATE
-mfloat-abi=hard
-march=armv7-a
-mfpu=neon
)
elseif (${COMPILER_ARCHITECTURE} STREQUAL "aarch64") elseif (${COMPILER_ARCHITECTURE} STREQUAL "aarch64")
list(APPEND HH_SRCS target_sources(zeek_hhash_obj PRIVATE ${hhash_dir}/hh_neon.cc)
../auxil/highwayhash/highwayhash/hh_neon.cc
)
elseif (${COMPILER_ARCHITECTURE} STREQUAL "power") elseif (${COMPILER_ARCHITECTURE} STREQUAL "power")
set_source_files_properties(../auxil/highwayhash/highwayhash/hh_vsx.cc PROPERTIES COMPILE_FLAGS target_sources(zeek_hhash_obj PRIVATE ${hhash_dir}/hh_vsx.cc)
set_source_files_properties(${hhash_dir}/hh_vsx.cc PROPERTIES COMPILE_FLAGS
-mvsx) -mvsx)
list(APPEND HH_SRCS
../auxil/highwayhash/highwayhash/hh_vsx.cc
)
elseif(${COMPILER_ARCHITECTURE} STREQUAL "x86_64") elseif(${COMPILER_ARCHITECTURE} STREQUAL "x86_64")
target_sources(
zeek_hhash_obj
PRIVATE
${hhash_dir}/hh_avx2.cc
${hhash_dir}/hh_sse41.cc)
if (MSVC) if (MSVC)
set(_avx_flag /arch:AVX2) set(_avx_flag /arch:AVX2)
# Using an undocumentd compiler flag: https://stackoverflow.com/questions/64053597/how-do-i-enable-sse4-1-and-sse3-but-not-avx-in-msvc/69328426#69328426 # Using an undocumentd compiler flag: https://stackoverflow.com/questions/64053597/how-do-i-enable-sse4-1-and-sse3-but-not-avx-in-msvc/69328426#69328426
@ -500,15 +507,10 @@ elseif(${COMPILER_ARCHITECTURE} STREQUAL "x86_64")
set(_sse_flag -msse4.1) set(_sse_flag -msse4.1)
endif() endif()
set_source_files_properties(../auxil/highwayhash/highwayhash/hh_avx2.cc PROPERTIES COMPILE_FLAGS set_source_files_properties(${hhash_dir}/hh_avx2.cc PROPERTIES COMPILE_FLAGS
${_avx_flag}) ${_avx_flag})
set_source_files_properties(../auxil/highwayhash/highwayhash/hh_sse41.cc PROPERTIES COMPILE_FLAGS set_source_files_properties(${hhash_dir}/hh_sse41.cc PROPERTIES COMPILE_FLAGS
${_sse_flag}) ${_sse_flag})
list(APPEND HH_SRCS
../auxil/highwayhash/highwayhash/hh_avx2.cc
../auxil/highwayhash/highwayhash/hh_sse41.cc
)
endif () endif ()
set(zeek_SRCS set(zeek_SRCS
@ -538,86 +540,53 @@ set(zeek_SRCS
collect_headers(zeek_HEADERS ${zeek_SRCS}) collect_headers(zeek_HEADERS ${zeek_SRCS})
add_library(zeek_objs OBJECT ${zeek_SRCS}) add_library(zeek_objs OBJECT ${zeek_SRCS})
target_link_libraries(zeek_objs PRIVATE $<BUILD_INTERFACE:zeek_internal>)
add_dependencies(zeek_objs zeek_autogen_files)
add_clang_tidy_files(${zeek_SRCS})
zeek_target_link_libraries(zeek_objs)
if (ZEEK_STANDALONE) if (TARGET zeek_exe)
add_executable(zeek main.cc target_sources(zeek_exe PRIVATE main.cc ${zeek_HEADERS})
$<TARGET_OBJECTS:zeek_objs>
${zeek_HEADERS}
${bro_SUBDIR_LIBS}
${bro_PLUGIN_LIBS}
)
# npcap/winpcap need to be loaded in delayed mode so that we can set the load path # npcap/winpcap need to be loaded in delayed mode so that we can set the load path
# correctly at runtime. See https://npcap.com/guide/npcap-devguide.html#npcap-feature-native # correctly at runtime. See https://npcap.com/guide/npcap-devguide.html#npcap-feature-native
# for why this is necessary. # for why this is necessary.
if ( MSVC AND HAVE_WPCAP ) if ( MSVC AND HAVE_WPCAP )
set(zeekdeps ${zeekdeps} delayimp.lib) set(zeekdeps ${zeekdeps} delayimp.lib)
set_target_properties(zeek PROPERTIES LINK_FLAGS "/DELAYLOAD:wpcap.dll") set_target_properties(zeek_exe PROPERTIES LINK_FLAGS "/DELAYLOAD:wpcap.dll")
endif() endif()
target_link_libraries(zeek ${bro_PLUGIN_LINK_LIBS} ${zeekdeps} ${CMAKE_THREAD_LIBS_INIT} ${CMAKE_DL_LIBS}) target_link_libraries(zeek_exe PRIVATE ${zeekdeps} ${CMAKE_THREAD_LIBS_INIT} ${CMAKE_DL_LIBS})
# Export symbols from zeek executable for use by plugins # Export symbols from zeek executable for use by plugins
set_target_properties(zeek PROPERTIES ENABLE_EXPORTS TRUE) set_target_properties(zeek_exe PROPERTIES ENABLE_EXPORTS TRUE)
if ( MSVC ) if ( MSVC )
set(WINDOWS_EXPORT_ALL_SYMBOLS ON) set(WINDOWS_EXPORT_ALL_SYMBOLS ON)
endif () endif ()
install(TARGETS zeek RUNTIME DESTINATION bin)
set(BRO_EXE zeek
CACHE STRING "Zeek executable binary" FORCE)
set(BRO_EXE_PATH ${CMAKE_CURRENT_BINARY_DIR}/zeek
CACHE STRING "Path to Zeek executable binary" FORCE)
endif() endif()
if (NOT ZEEK_STANDALONE OR CONAN_EXPORTED) if (TARGET zeek_lib)
add_library(libzeek STATIC $<TARGET_OBJECTS:zeek_objs> target_sources(zeek_lib PRIVATE ${zeek_HEADERS})
${zeek_HEADERS}
${bro_SUBDIR_LIBS}
${bro_PLUGIN_LIBS})
target_link_libraries(libzeek PUBLIC ${zeekdeps} target_link_libraries(
zeek_lib
PUBLIC
${zeekdeps}
${CMAKE_THREAD_LIBS_INIT} ${CMAKE_THREAD_LIBS_INIT}
${CMAKE_DL_LIBS} ${CMAKE_DL_LIBS})
${bro_SUBDIR_LIBS} endif()
${bro_PLUGIN_LIBS})
target_include_directories(libzeek PUBLIC zeek_include_directories(
${CMAKE_SOURCE_DIR}/zeek/src
${CMAKE_SOURCE_DIR}/zeek/src/include
${CMAKE_BINARY_DIR} ${CMAKE_BINARY_DIR}
${CMAKE_BINARY_DIR}/zeek/src ${CMAKE_BINARY_DIR}/zeek/src
${CMAKE_BINARY_DIR}/zeek/src/include) ${CMAKE_BINARY_DIR}/zeek/src/include
${CMAKE_CURRENT_BINARY_DIR}
install(TARGETS libzeek LIBRARY DESTINATION lib) ${CMAKE_CURRENT_SOURCE_DIR}/include
endif() ${CMAKE_SOURCE_DIR}/zeek/src
${CMAKE_SOURCE_DIR}/zeek/src/include
# Target to create all the autogenerated files. )
add_custom_target(generate_outputs_stage1)
add_dependencies(generate_outputs_stage1 ${bro_ALL_GENERATED_OUTPUTS})
# Target to create the joint includes files that pull in the bif code.
bro_bif_create_includes(generate_outputs_stage2a ${CMAKE_CURRENT_BINARY_DIR} "${bro_AUTO_BIFS}")
bro_bif_create_register(generate_outputs_stage2b ${CMAKE_CURRENT_BINARY_DIR} "${bro_REGISTER_BIFS}")
add_dependencies(generate_outputs_stage2a generate_outputs_stage1)
add_dependencies(generate_outputs_stage2b generate_outputs_stage1)
# Global target to trigger creation of autogenerated code.
add_custom_target(generate_outputs)
add_dependencies(generate_outputs generate_outputs_stage2a generate_outputs_stage2b)
# Build __load__.zeek files for standard *.bif.zeek.
bro_bif_create_loader(bif_loader "${bro_BASE_BIF_SCRIPTS}")
add_dependencies(bif_loader ${bro_PLUGIN_DEPS} ${bro_SUBDIR_DEPS})
add_dependencies(zeek_objs bif_loader)
# Build __load__.zeek files for plugins/*.bif.zeek.
bro_bif_create_loader(bif_loader_plugins "${bro_PLUGIN_BIF_SCRIPTS}")
add_dependencies(bif_loader_plugins ${bro_PLUGIN_DEPS} ${bro_SUBDIR_DEPS})
add_dependencies(zeek_objs bif_loader_plugins)
# Install *.bif.zeek. # Install *.bif.zeek.
install(DIRECTORY ${PROJECT_BINARY_DIR}/scripts/base/bif DESTINATION ${ZEEK_SCRIPT_INSTALL_PATH}/base) install(DIRECTORY ${PROJECT_BINARY_DIR}/scripts/base/bif DESTINATION ${ZEEK_SCRIPT_INSTALL_PATH}/base)

34
src/ZeekConfig.cmake.in Normal file
View file

@ -0,0 +1,34 @@
@PACKAGE_INIT@
include(CMakeFindDependencyMacro)
# Note: ZeekPluginConfig only exists on the build interface to pull in
# additional variables and dependencies for building dynamic plugins.
if ( EXISTS "${CMAKE_CURRENT_LIST_DIR}/ZeekPluginConfig.cmake" )
include("${CMAKE_CURRENT_LIST_DIR}/ZeekPluginConfig.cmake")
endif ()
set(CMAKE_THREAD_PREFER_PTHREAD ON)
set(THREADS_PREFER_PTHREAD_FLAG ON)
find_dependency(Threads REQUIRED)
find_dependency(OpenSSL REQUIRED)
# In our MSVC build, we have these extra dependencies from Conan.
if ( MSVC )
find_dependency(libpcap)
find_dependency(ZLIB)
find_dependency(c-ares)
endif ()
if ( NOT "@ZEEK_HAS_STATIC_BROKER@" )
# Always force using the package config file since users might still have
# a legacy FindBroker.cmake in their system.
find_dependency(Broker REQUIRED CONFIG)
endif ()
foreach ( dep @ZEEK_INSTALL_DEPENDENCIES@ )
find_dependency(${dep} REQUIRED)
endforeach ( )
include("${CMAKE_CURRENT_LIST_DIR}/ZeekTargets.cmake")

View file

@ -0,0 +1,57 @@
# Note: this config is used for builtin dynamic plugins outside of the source
# tree of Zeek. Plugins refer back to the Zeek source tree since they need
# access to some parts of Zeek that we don't install.
# Pull in some path magic that Zeek uses as well.
include(MacDependencyPaths)
# For finding zeek-plugin-create-package.sh and zeek-plugin-install-package.sh.
set(ZEEK_PLUGIN_SCRIPTS_PATH "@ZEEK_PLUGIN_SCRIPTS_PATH@")
# For finding Zeek sources.
set(ZEEK_SOURCE_DIR "@ZEEK_SOURCE_DIR@")
# Provide a hint to ZeekConfig.cmake where to find Broker from the build tree.
# Note: the straightforward way would be setting `Broker_ROOT` instead, but
# plugins may still use CMake < 3.12.
if (NOT "@ZEEK_HAS_EXTERNAL_BROKER@")
set(Broker_DIR "@ZEEK_PLUGIN_BROKER_PATH@" CACHE
PATH "Directory for finding Broker's package file" FORCE)
endif ()
# Provide hint to the plugins where to find standard packages by passing along
# user-defined values.
set(ZeekOpenSSLHint "@ZeekOpenSSLHint@")
if (ZeekOpenSSLHint AND NOT OPENSSL_ROOT_DIR)
set(OPENSSL_ROOT_DIR "${ZeekOpenSSLHint}" CACHE
PATH "Directory hint for finding OpenSSL" FORCE)
endif ()
# Force PKG_CONFIG_PATH environment variable to reflect what we've used when
# building Zeek.
set(ZeekPkgConfigPath "@ZeekPkgConfigPath@")
if (ZeekPkgConfigPath)
set(ENV{PKG_CONFIG_PATH} "${ZeekPkgConfigPath}")
endif ()
# For having a binpac target available. Guarded to shield against including this
# file multiple times.
if (NOT TARGET Zeek::BinPAC)
add_executable(Zeek::BinPAC IMPORTED)
set_property(TARGET Zeek::BinPAC PROPERTY
IMPORTED_LOCATION "@BINPAC_EXE_PATH@")
endif ()
# For having a bifcl target available. Guarded to shield against including this
# file multiple times.
if (NOT TARGET Zeek::BifCl)
add_executable(Zeek::BifCl IMPORTED)
set_property(TARGET Zeek::BifCl PROPERTY
IMPORTED_LOCATION "@BIFCL_EXE_PATH@")
endif ()
# TODO: using BIFCL_EXE_PATH and BINPAC_EXE_PATH does not play well with
# multi-configuration generators. We currently hard-code these paths in
# the main CMakeLists.txt instead of dynamically fetching the right thing.
# A better solution would be either using find_program here or
# `file(GENERATE ...)` from the main CMake file.

View file

@ -1,20 +1,14 @@
zeek_add_subdir_library(
include(ZeekSubdir) analyzer
INTERNAL_DEPENDENCIES ${BIF_BUILD_TARGET}
include_directories(BEFORE INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}
${CMAKE_CURRENT_SOURCE_DIR} SOURCES
${CMAKE_CURRENT_BINARY_DIR}
)
add_subdirectory(protocol)
set(analyzer_SRCS
Analyzer.cc Analyzer.cc
Manager.cc
Component.cc Component.cc
Manager.cc
) )
# Treat BIFs as builtin (alternative mode).
bif_target(analyzer.bif) bif_target(analyzer.bif)
bro_add_subdir_library(analyzer ${analyzer_SRCS}) add_subdirectory(protocol)
add_dependencies(bro_analyzer generate_outputs)

View file

@ -1,3 +1,5 @@
include(ZeekPlugin)
add_subdirectory(bittorrent) add_subdirectory(bittorrent)
add_subdirectory(conn-size) add_subdirectory(conn-size)
add_subdirectory(dce-rpc) add_subdirectory(dce-rpc)

View file

@ -1,10 +1,14 @@
zeek_add_plugin(
include(ZeekPlugin) Zeek
BitTorrent
include_directories(BEFORE ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}) SOURCES
BitTorrent.cc
zeek_plugin_begin(Zeek BitTorrent) BitTorrentTracker.cc
zeek_plugin_cc(BitTorrent.cc BitTorrentTracker.cc Plugin.cc) Plugin.cc
zeek_plugin_bif(events.bif) BIFS
zeek_plugin_pac(bittorrent.pac bittorrent-analyzer.pac bittorrent-protocol.pac) events.bif
zeek_plugin_end() PAC
bittorrent.pac
bittorrent-analyzer.pac
bittorrent-protocol.pac
)

View file

@ -1,10 +1,10 @@
zeek_add_plugin(
include(ZeekPlugin) Zeek
ConnSize
include_directories(BEFORE ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}) SOURCES
ConnSize.cc
zeek_plugin_begin(Zeek ConnSize) Plugin.cc
zeek_plugin_cc(ConnSize.cc Plugin.cc) BIFS
zeek_plugin_bif(events.bif) events.bif
zeek_plugin_bif(functions.bif) functions.bif
zeek_plugin_end() )

View file

@ -1,12 +1,14 @@
zeek_add_plugin(
include(ZeekPlugin) Zeek
DCE_RPC
include_directories(BEFORE ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}) SOURCES
DCE_RPC.cc
zeek_plugin_begin(Zeek DCE_RPC) Plugin.cc
zeek_plugin_cc(DCE_RPC.cc Plugin.cc) BIFS
zeek_plugin_bif(consts.bif types.bif events.bif) consts.bif
zeek_plugin_pac( types.bif
events.bif
PAC
dce_rpc.pac dce_rpc.pac
dce_rpc-protocol.pac dce_rpc-protocol.pac
dce_rpc-analyzer.pac dce_rpc-analyzer.pac
@ -14,5 +16,3 @@ zeek_plugin_pac(
endpoint-atsvc.pac endpoint-atsvc.pac
endpoint-epmapper.pac endpoint-epmapper.pac
) )
zeek_plugin_end()

View file

@ -1,11 +1,15 @@
zeek_add_plugin(
include(ZeekPlugin) Zeek
DHCP
include_directories(BEFORE ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}) SOURCES
DHCP.cc
zeek_plugin_begin(Zeek DHCP) Plugin.cc
zeek_plugin_cc(DHCP.cc Plugin.cc) BIFS
zeek_plugin_bif(events.bif) events.bif
zeek_plugin_bif(types.bif) types.bif
zeek_plugin_pac(dhcp.pac dhcp-protocol.pac dhcp-analyzer.pac dhcp-options.pac) PAC
zeek_plugin_end() dhcp.pac
dhcp-protocol.pac
dhcp-analyzer.pac
dhcp-options.pac
)

View file

@ -1,10 +1,14 @@
zeek_add_plugin(
include(ZeekPlugin) Zeek
DNP3
include_directories(BEFORE ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}) SOURCES
DNP3.cc
zeek_plugin_begin(Zeek DNP3) Plugin.cc
zeek_plugin_cc(DNP3.cc Plugin.cc) BIFS
zeek_plugin_bif(events.bif) events.bif
zeek_plugin_pac(dnp3.pac dnp3-analyzer.pac dnp3-protocol.pac dnp3-objects.pac) PAC
zeek_plugin_end() dnp3.pac
dnp3-analyzer.pac
dnp3-protocol.pac
dnp3-objects.pac
)

View file

@ -1,9 +1,9 @@
zeek_add_plugin(
include(ZeekPlugin) Zeek
DNS
include_directories(BEFORE ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}) SOURCES
DNS.cc
zeek_plugin_begin(Zeek DNS) Plugin.cc
zeek_plugin_cc(DNS.cc Plugin.cc) BIFS
zeek_plugin_bif(events.bif) events.bif
zeek_plugin_end() )

View file

@ -1,9 +1,9 @@
zeek_add_plugin(
include(ZeekPlugin) Zeek
File
include_directories(BEFORE ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}) SOURCES
File.cc
zeek_plugin_begin(Zeek File) Plugin.cc
zeek_plugin_cc(File.cc Plugin.cc) BIFS
zeek_plugin_bif(events.bif) events.bif
zeek_plugin_end() )

View file

@ -1,9 +1,9 @@
zeek_add_plugin(
include(ZeekPlugin) Zeek
Finger
include_directories(BEFORE ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}) SOURCES
Finger.cc
zeek_plugin_begin(Zeek Finger) Plugin.cc
zeek_plugin_cc(Finger.cc Plugin.cc) BIFS
zeek_plugin_bif(events.bif) events.bif
zeek_plugin_end() )

View file

@ -1,10 +1,10 @@
zeek_add_plugin(
include(ZeekPlugin) Zeek
FTP
include_directories(BEFORE ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}) SOURCES
FTP.cc
zeek_plugin_begin(Zeek FTP) Plugin.cc
zeek_plugin_cc(FTP.cc Plugin.cc) BIFS
zeek_plugin_bif(events.bif) events.bif
zeek_plugin_bif(functions.bif) functions.bif
zeek_plugin_end() )

View file

@ -1,9 +1,9 @@
zeek_add_plugin(
include(ZeekPlugin) Zeek
Gnutella
include_directories(BEFORE ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}) SOURCES
Gnutella.cc
zeek_plugin_begin(Zeek Gnutella) Plugin.cc
zeek_plugin_cc(Gnutella.cc Plugin.cc) BIFS
zeek_plugin_bif(events.bif) events.bif
zeek_plugin_end() )

View file

@ -1,16 +1,14 @@
zeek_add_plugin(
include(ZeekPlugin) Zeek
GSSAPI
include_directories(BEFORE ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}) SOURCES
GSSAPI.cc
zeek_plugin_begin(Zeek GSSAPI) Plugin.cc
zeek_plugin_cc(GSSAPI.cc Plugin.cc) BIFS
zeek_plugin_bif(events.bif) events.bif
zeek_plugin_pac( PAC
gssapi.pac gssapi.pac
gssapi-protocol.pac gssapi-protocol.pac
gssapi-analyzer.pac gssapi-analyzer.pac
../asn1/asn1.pac ${PROJECT_SOURCE_DIR}/src/analyzer/protocol/asn1/asn1.pac
) )
zeek_plugin_end()

View file

@ -1,10 +1,10 @@
zeek_add_plugin(
include(ZeekPlugin) Zeek
HTTP
include_directories(BEFORE ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}) SOURCES
HTTP.cc
zeek_plugin_begin(Zeek HTTP) Plugin.cc
zeek_plugin_cc(HTTP.cc Plugin.cc) BIFS
zeek_plugin_bif(events.bif) events.bif
zeek_plugin_bif(functions.bif) functions.bif
zeek_plugin_end() )

View file

@ -1,9 +1,9 @@
zeek_add_plugin(
include(ZeekPlugin) Zeek
Ident
include_directories(BEFORE ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}) SOURCES
Ident.cc
zeek_plugin_begin(Zeek Ident) Plugin.cc
zeek_plugin_cc(Ident.cc Plugin.cc) BIFS
zeek_plugin_bif(events.bif) events.bif
zeek_plugin_end() )

View file

@ -1,12 +1,13 @@
zeek_add_plugin(
include(ZeekPlugin) Zeek
IMAP
include_directories(BEFORE ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}) SOURCES
Plugin.cc
zeek_plugin_begin(Zeek IMAP) IMAP.cc
zeek_plugin_cc(Plugin.cc) BIFS
zeek_plugin_cc(IMAP.cc) events.bif
zeek_plugin_bif(events.bif) PAC
zeek_plugin_pac(imap.pac imap-analyzer.pac imap-protocol.pac) imap.pac
zeek_plugin_end() imap-analyzer.pac
imap-protocol.pac
)

View file

@ -1,9 +1,9 @@
zeek_add_plugin(
include(ZeekPlugin) Zeek
IRC
include_directories(BEFORE ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}) SOURCES
IRC.cc
zeek_plugin_begin(Zeek IRC) Plugin.cc
zeek_plugin_cc(IRC.cc Plugin.cc) BIFS
zeek_plugin_bif(events.bif) events.bif
zeek_plugin_end() )

View file

@ -1,26 +1,29 @@
include(ZeekPlugin) zeek_add_plugin(
Zeek
include_directories(BEFORE ${CMAKE_CURRENT_SOURCE_DIR} KRB
${CMAKE_CURRENT_BINARY_DIR}) SOURCES
Plugin.cc
zeek_plugin_begin(Zeek KRB) KRB.cc
zeek_plugin_cc(Plugin.cc) KRB_TCP.cc
zeek_plugin_cc(KRB.cc) BIFS
zeek_plugin_cc(KRB_TCP.cc) types.bif
zeek_plugin_bif(types.bif) events.bif
zeek_plugin_bif(events.bif) PAC
zeek_plugin_pac(krb.pac krb-protocol.pac krb-analyzer.pac krb.pac
krb-protocol.pac
krb-analyzer.pac
krb-asn1.pac krb-asn1.pac
krb-defs.pac krb-defs.pac
krb-types.pac krb-types.pac
krb-padata.pac krb-padata.pac
../asn1/asn1.pac ${PROJECT_SOURCE_DIR}/src/analyzer/protocol/asn1/asn1.pac
) PAC
zeek_plugin_pac(krb_TCP.pac krb-protocol.pac krb-analyzer.pac krb_TCP.pac
krb-protocol.pac
krb-analyzer.pac
krb-asn1.pac krb-asn1.pac
krb-defs.pac krb-defs.pac
krb-types.pac krb-types.pac
krb-padata.pac krb-padata.pac
../asn1/asn1.pac ${PROJECT_SOURCE_DIR}/src/analyzer/protocol/asn1/asn1.pac
) )
zeek_plugin_end()

View file

@ -1,10 +1,14 @@
zeek_add_plugin(
include(ZeekPlugin) Zeek
Login
include_directories(BEFORE ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}) SOURCES
Login.cc
zeek_plugin_begin(Zeek Login) RSH.cc
zeek_plugin_cc(Login.cc RSH.cc Telnet.cc Rlogin.cc NVT.cc Plugin.cc) Telnet.cc
zeek_plugin_bif(events.bif) Rlogin.cc
zeek_plugin_bif(functions.bif) NVT.cc
zeek_plugin_end() Plugin.cc
BIFS
events.bif
functions.bif
)

View file

@ -1,15 +1,14 @@
# This is not an actual analyzer, but used by others. We still maintain it here
# along with the other analyzers because conceptually it's also parsing a
# protocol just like them. The current structure is merely a left-over from when
# this code was written.
# This is not an actual analyzer, but used by others. We still zeek_add_plugin(
# maintain it here along with the other analyzers because conceptually Zeek
# it's also parsing a protocol just like them. The current structure MIME
# is merely a left-over from when this code was written. SOURCES
MIME.cc
include(ZeekPlugin) Plugin.cc
BIFS
include_directories(BEFORE ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}) events.bif
)
zeek_plugin_begin(Zeek MIME)
zeek_plugin_cc(MIME.cc Plugin.cc)
zeek_plugin_bif(events.bif)
zeek_plugin_end()

View file

@ -1,10 +1,13 @@
zeek_add_plugin(
include(ZeekPlugin) Zeek
Modbus
include_directories(BEFORE ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}) SOURCES
Modbus.cc
zeek_plugin_begin(Zeek Modbus) Plugin.cc
zeek_plugin_cc(Modbus.cc Plugin.cc) BIFS
zeek_plugin_bif(events.bif) events.bif
zeek_plugin_pac(modbus.pac modbus-analyzer.pac modbus-protocol.pac) PAC
zeek_plugin_end() modbus.pac
modbus-analyzer.pac
modbus-protocol.pac
)

View file

@ -1,12 +1,14 @@
zeek_add_plugin(
include(ZeekPlugin) Zeek
MQTT
include_directories(BEFORE ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}) SOURCES
MQTT.cc
zeek_plugin_begin(Zeek MQTT) Plugin.cc
zeek_plugin_cc(MQTT.cc Plugin.cc) BIFS
zeek_plugin_bif(types.bif events.bif) types.bif
zeek_plugin_pac(mqtt.pac events.bif
PAC
mqtt.pac
mqtt-protocol.pac mqtt-protocol.pac
commands/connect.pac commands/connect.pac
commands/connack.pac commands/connack.pac
@ -23,4 +25,3 @@ zeek_plugin_pac(mqtt.pac
commands/pingreq.pac commands/pingreq.pac
commands/pingresp.pac commands/pingresp.pac
) )
zeek_plugin_end()

View file

@ -1,10 +1,13 @@
zeek_add_plugin(
include(ZeekPlugin) Zeek
MySQL
include_directories(BEFORE ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}) SOURCES
MySQL.cc
zeek_plugin_begin(Zeek MySQL) Plugin.cc
zeek_plugin_cc(MySQL.cc Plugin.cc) BIFS
zeek_plugin_bif(events.bif) events.bif
zeek_plugin_pac(mysql.pac mysql-analyzer.pac mysql-protocol.pac) PAC
zeek_plugin_end() mysql.pac
mysql-analyzer.pac
mysql-protocol.pac
)

View file

@ -1,10 +1,12 @@
zeek_add_plugin(
include(ZeekPlugin) Zeek
NCP
include_directories(BEFORE ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}) SOURCES
NCP.cc
zeek_plugin_begin(Zeek NCP) Plugin.cc
zeek_plugin_cc(NCP.cc Plugin.cc) BIFS
zeek_plugin_bif(events.bif consts.bif) events.bif
zeek_plugin_pac(ncp.pac) consts.bif
zeek_plugin_end() PAC
ncp.pac
)

View file

@ -1,13 +1,10 @@
zeek_add_plugin(
include(ZeekPlugin) Zeek
NetBIOS
include_directories(BEFORE ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}) SOURCES
include_directories(AFTER ${CMAKE_CURRENT_BINARY_DIR}/../dce-rpc) NetbiosSSN.cc
include_directories(AFTER ${CMAKE_CURRENT_BINARY_DIR}/../smb) Plugin.cc
BIFS
zeek_plugin_begin(Zeek NetBIOS) events.bif
zeek_plugin_cc(NetbiosSSN.cc Plugin.cc) functions.bif
zeek_plugin_bif(events.bif) )
zeek_plugin_bif(functions.bif)
zeek_plugin_end()

View file

@ -1,15 +1,14 @@
zeek_add_plugin(
include(ZeekPlugin) Zeek
NTLM
include_directories(BEFORE ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}) SOURCES
NTLM.cc
zeek_plugin_begin(Zeek NTLM) Plugin.cc
zeek_plugin_cc(NTLM.cc Plugin.cc) BIFS
zeek_plugin_bif(types.bif events.bif) types.bif
zeek_plugin_pac( events.bif
PAC
ntlm.pac ntlm.pac
ntlm-protocol.pac ntlm-protocol.pac
ntlm-analyzer.pac ntlm-analyzer.pac
) )
zeek_plugin_end()

View file

@ -1,10 +1,15 @@
zeek_add_plugin(
include(ZeekPlugin) Zeek
NTP
include_directories(BEFORE ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}) SOURCES
NTP.cc
zeek_plugin_begin(Zeek NTP) Plugin.cc
zeek_plugin_cc(NTP.cc Plugin.cc) BIFS
zeek_plugin_bif(types.bif events.bif) types.bif
zeek_plugin_pac(ntp.pac ntp-analyzer.pac ntp-mode7.pac ntp-protocol.pac) events.bif
zeek_plugin_end() PAC
ntp.pac
ntp-analyzer.pac
ntp-mode7.pac
ntp-protocol.pac
)

View file

@ -1,8 +1,7 @@
zeek_add_plugin(
include(ZeekPlugin) Zeek
PIA
include_directories(BEFORE ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}) SOURCES
PIA.cc
zeek_plugin_begin(Zeek PIA) Plugin.cc
zeek_plugin_cc(PIA.cc Plugin.cc) )
zeek_plugin_end()

View file

@ -1,9 +1,9 @@
zeek_add_plugin(
include(ZeekPlugin) Zeek
POP3
include_directories(BEFORE ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}) SOURCES
POP3.cc
zeek_plugin_begin(Zeek POP3) Plugin.cc
zeek_plugin_cc(POP3.cc Plugin.cc) BIFS
zeek_plugin_bif(events.bif) events.bif
zeek_plugin_end() )

View file

@ -1,10 +1,13 @@
zeek_add_plugin(
include(ZeekPlugin) Zeek
RADIUS
include_directories(BEFORE ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}) SOURCES
RADIUS.cc
zeek_plugin_begin(Zeek RADIUS) Plugin.cc
zeek_plugin_cc(RADIUS.cc Plugin.cc) BIFS
zeek_plugin_bif(events.bif) events.bif
zeek_plugin_pac(radius.pac radius-analyzer.pac radius-protocol.pac) PAC
zeek_plugin_end() radius.pac
radius-analyzer.pac
radius-protocol.pac
)

View file

@ -1,11 +1,20 @@
include(ZeekPlugin) zeek_add_plugin(
Zeek
include_directories(BEFORE ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}) RDP
SOURCES
zeek_plugin_begin(Zeek RDP) RDPEUDP.cc
zeek_plugin_cc(RDPEUDP.cc RDP.cc Plugin.cc) RDP.cc
zeek_plugin_bif(events.bif) Plugin.cc
zeek_plugin_bif(types.bif) BIFS
zeek_plugin_pac(rdp.pac rdp-analyzer.pac rdp-protocol.pac ../asn1/asn1.pac) events.bif
zeek_plugin_pac(rdpeudp.pac rdpeudp-analyzer.pac rdpeudp-protocol.pac) types.bif
zeek_plugin_end() PAC
rdp.pac
rdp-analyzer.pac
rdp-protocol.pac
${PROJECT_SOURCE_DIR}/src/analyzer/protocol/asn1/asn1.pac
PAC
rdpeudp.pac
rdpeudp-analyzer.pac
rdpeudp-protocol.pac
)

View file

@ -1,9 +1,13 @@
include(ZeekPlugin) zeek_add_plugin(
Zeek
include_directories(BEFORE ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}) RFB
SOURCES
zeek_plugin_begin(Zeek RFB) RFB.cc
zeek_plugin_cc(RFB.cc Plugin.cc) Plugin.cc
zeek_plugin_bif(events.bif) BIFS
zeek_plugin_pac(rfb.pac rfb-analyzer.pac rfb-protocol.pac) events.bif
zeek_plugin_end() PAC
rfb.pac
rfb-analyzer.pac
rfb-protocol.pac
)

View file

@ -1,9 +1,13 @@
zeek_add_plugin(
include(ZeekPlugin) Zeek
RPC
include_directories(BEFORE ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}) SOURCES
RPC.cc
zeek_plugin_begin(Zeek RPC) NFS.cc
zeek_plugin_cc(RPC.cc NFS.cc MOUNT.cc Portmap.cc XDR.cc Plugin.cc) MOUNT.cc
zeek_plugin_bif(events.bif) Portmap.cc
zeek_plugin_end() XDR.cc
Plugin.cc
BIFS
events.bif
)

View file

@ -1,14 +1,18 @@
zeek_add_plugin(
include(ZeekPlugin) Zeek
SIP
include_directories(BEFORE ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}) SOURCES
Plugin.cc
zeek_plugin_begin(Zeek SIP) SIP.cc
zeek_plugin_cc(Plugin.cc) SIP_TCP.cc
zeek_plugin_cc(SIP.cc) BIFS
zeek_plugin_cc(SIP_TCP.cc) events.bif
zeek_plugin_bif(events.bif) PAC
zeek_plugin_pac(sip.pac sip-analyzer.pac sip-protocol.pac) sip.pac
zeek_plugin_pac(sip_TCP.pac sip-protocol.pac sip-analyzer.pac) sip-analyzer.pac
zeek_plugin_end() sip-protocol.pac
PAC
sip_TCP.pac
sip-protocol.pac
sip-analyzer.pac
)

View file

@ -1,11 +1,11 @@
include(ZeekPlugin) zeek_add_plugin(
Zeek
include_directories(BEFORE ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}) SMB
include_directories(AFTER ${CMAKE_CURRENT_BINARY_DIR}/../dce-rpc) SOURCES
SMB.cc
zeek_plugin_begin(Zeek SMB) Plugin.cc
zeek_plugin_cc(SMB.cc Plugin.cc) BIFS
zeek_plugin_bif( # SMB 1.
smb1_com_check_directory.bif smb1_com_check_directory.bif
smb1_com_close.bif smb1_com_close.bif
smb1_com_create_directory.bif smb1_com_create_directory.bif
@ -25,7 +25,7 @@ zeek_plugin_bif(
smb1_com_tree_disconnect.bif smb1_com_tree_disconnect.bif
smb1_com_write_andx.bif smb1_com_write_andx.bif
smb1_events.bif smb1_events.bif
# SMB 2.
smb2_com_close.bif smb2_com_close.bif
smb2_com_create.bif smb2_com_create.bif
smb2_com_negotiate.bif smb2_com_negotiate.bif
@ -37,12 +37,12 @@ zeek_plugin_bif(
smb2_com_write.bif smb2_com_write.bif
smb2_com_transform_header.bif smb2_com_transform_header.bif
smb2_events.bif smb2_events.bif
# Common boilerplate.
events.bif events.bif
consts.bif consts.bif
types.bif
types.bif) PAC
zeek_plugin_pac( # Common boilerplate.
smb.pac smb.pac
smb-common.pac smb-common.pac
smb-strings.pac smb-strings.pac
@ -50,7 +50,7 @@ zeek_plugin_pac(
smb-pipe.pac smb-pipe.pac
smb-gssapi.pac smb-gssapi.pac
smb-mailslot.pac smb-mailslot.pac
# SMB 1.
smb1-protocol.pac smb1-protocol.pac
smb1-com-check-directory.pac smb1-com-check-directory.pac
smb1-com-close.pac smb1-com-close.pac
@ -72,7 +72,7 @@ zeek_plugin_pac(
smb1-com-tree-connect-andx.pac smb1-com-tree-connect-andx.pac
smb1-com-tree-disconnect.pac smb1-com-tree-disconnect.pac
smb1-com-write-andx.pac smb1-com-write-andx.pac
# SMB 2.
smb2-protocol.pac smb2-protocol.pac
smb2-com-close.pac smb2-com-close.pac
smb2-com-create.pac smb2-com-create.pac
@ -87,4 +87,3 @@ zeek_plugin_pac(
smb2-com-write.pac smb2-com-write.pac
smb2-com-transform-header.pac smb2-com-transform-header.pac
) )
zeek_plugin_end()

View file

@ -1,10 +1,10 @@
zeek_add_plugin(
include(ZeekPlugin) Zeek
SMTP
include_directories(BEFORE ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}) SOURCES
SMTP.cc
zeek_plugin_begin(Zeek SMTP) Plugin.cc
zeek_plugin_cc(SMTP.cc Plugin.cc) BIFS
zeek_plugin_bif(events.bif) events.bif
zeek_plugin_bif(functions.bif) functions.bif
zeek_plugin_end() )

View file

@ -1,11 +1,15 @@
include(ZeekPlugin) zeek_add_plugin(
Zeek
include_directories(BEFORE ${CMAKE_CURRENT_SOURCE_DIR} SNMP
${CMAKE_CURRENT_BINARY_DIR}) SOURCES
SNMP.cc
zeek_plugin_begin(Zeek SNMP) Plugin.cc
zeek_plugin_cc(SNMP.cc Plugin.cc) BIFS
zeek_plugin_bif(types.bif) types.bif
zeek_plugin_bif(events.bif) events.bif
zeek_plugin_pac(snmp.pac snmp-protocol.pac snmp-analyzer.pac ../asn1/asn1.pac) PAC
zeek_plugin_end() snmp.pac
snmp-protocol.pac
snmp-analyzer.pac
${PROJECT_SOURCE_DIR}/src/analyzer/protocol/asn1/asn1.pac
)

View file

@ -1,10 +1,13 @@
zeek_add_plugin(
include(ZeekPlugin) Zeek
SOCKS
include_directories(BEFORE ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}) SOURCES
SOCKS.cc
zeek_plugin_begin(Zeek SOCKS) Plugin.cc
zeek_plugin_cc(SOCKS.cc Plugin.cc) BIFS
zeek_plugin_bif(events.bif) events.bif
zeek_plugin_pac(socks.pac socks-protocol.pac socks-analyzer.pac) PAC
zeek_plugin_end() socks.pac
socks-protocol.pac
socks-analyzer.pac
)

View file

@ -1,11 +1,15 @@
zeek_add_plugin(
include(ZeekPlugin) Zeek
SSH
include_directories(BEFORE ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}) SOURCES
SSH.cc
zeek_plugin_begin(Zeek SSH) Plugin.cc
zeek_plugin_cc(SSH.cc Plugin.cc) BIFS
zeek_plugin_bif(types.bif) types.bif
zeek_plugin_bif(events.bif) events.bif
zeek_plugin_pac(ssh.pac ssh-analyzer.pac ssh-protocol.pac consts.pac) PAC
zeek_plugin_end() ssh.pac
ssh-analyzer.pac
ssh-protocol.pac
consts.pac
)

View file

@ -1,20 +1,35 @@
zeek_add_plugin(
include(ZeekPlugin) Zeek
SSL
include_directories(BEFORE ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}) SOURCES
SSL.cc
zeek_plugin_begin(Zeek SSL) DTLS.cc
zeek_plugin_cc(SSL.cc DTLS.cc Plugin.cc) Plugin.cc
zeek_plugin_bif(types.bif) BIFS
zeek_plugin_bif(events.bif) types.bif
zeek_plugin_bif(functions.bif) events.bif
zeek_plugin_bif(consts.bif) functions.bif
zeek_plugin_pac(tls-handshake.pac tls-handshake-protocol.pac tls-handshake-analyzer.pac ssl-defs.pac consts.bif
PAC
tls-handshake.pac
tls-handshake-protocol.pac
tls-handshake-analyzer.pac
ssl-defs.pac
proc-certificate.pac proc-certificate.pac
tls-handshake-signed_certificate_timestamp.pac tls-handshake-signed_certificate_timestamp.pac
) PAC
zeek_plugin_pac(ssl.pac ssl-dtls-analyzer.pac ssl-analyzer.pac ssl-dtls-protocol.pac ssl-protocol.pac ssl-defs.pac ssl.pac
ssl-dtls-analyzer.pac
ssl-analyzer.pac
ssl-dtls-protocol.pac
ssl-protocol.pac
ssl-defs.pac
proc-certificate.pac proc-certificate.pac
PAC
dtls.pac
ssl-dtls-analyzer.pac
dtls-analyzer.pac
ssl-dtls-protocol.pac
dtls-protocol.pac
ssl-defs.pac
) )
zeek_plugin_pac(dtls.pac ssl-dtls-analyzer.pac dtls-analyzer.pac ssl-dtls-protocol.pac dtls-protocol.pac ssl-defs.pac)
zeek_plugin_end()

View file

@ -1,10 +1,13 @@
zeek_add_plugin(
include(ZeekPlugin) Zeek
Syslog
include_directories(BEFORE ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}) SOURCES
Syslog.cc
zeek_plugin_begin(Zeek Syslog) Plugin.cc
zeek_plugin_cc(Syslog.cc Plugin.cc) BIFS
zeek_plugin_bif(events.bif) events.bif
zeek_plugin_pac(syslog.pac syslog-analyzer.pac syslog-protocol.pac) PAC
zeek_plugin_end() syslog.pac
syslog-analyzer.pac
syslog-protocol.pac
)

View file

@ -1,11 +1,14 @@
zeek_add_plugin(
include(ZeekPlugin) Zeek
TCP
include_directories(BEFORE ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}) SOURCES
TCP.cc
zeek_plugin_begin(Zeek TCP) TCP_Endpoint.cc
zeek_plugin_cc(TCP.cc TCP_Endpoint.cc TCP_Reassembler.cc ContentLine.cc Plugin.cc) TCP_Reassembler.cc
zeek_plugin_bif(events.bif) ContentLine.cc
zeek_plugin_bif(types.bif) Plugin.cc
zeek_plugin_bif(functions.bif) BIFS
zeek_plugin_end() events.bif
types.bif
functions.bif
)

View file

@ -1,12 +1,13 @@
zeek_add_plugin(
include(ZeekPlugin) Zeek
XMPP
include_directories(BEFORE ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}) SOURCES
Plugin.cc
zeek_plugin_begin(Zeek XMPP) XMPP.cc
zeek_plugin_cc(Plugin.cc) BIFS
zeek_plugin_cc(XMPP.cc) events.bif
zeek_plugin_bif(events.bif) PAC
zeek_plugin_pac(xmpp.pac xmpp-analyzer.pac xmpp-protocol.pac) xmpp.pac
zeek_plugin_end() xmpp-analyzer.pac
xmpp-protocol.pac
)

View file

@ -1,8 +1,7 @@
zeek_add_plugin(
include(ZeekPlugin) Zeek
ZIP
include_directories(BEFORE ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}) SOURCES
ZIP.cc
zeek_plugin_begin(Zeek ZIP) Plugin.cc
zeek_plugin_cc(ZIP.cc Plugin.cc) )
zeek_plugin_end()

View file

@ -1,20 +1,13 @@
include(ZeekSubdir) zeek_add_subdir_library(
comm
include_directories(BEFORE INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}
${CMAKE_CURRENT_SOURCE_DIR} SOURCES
${CMAKE_CURRENT_BINARY_DIR}
)
set(comm_SRCS
Data.cc Data.cc
Manager.cc Manager.cc
Store.cc Store.cc
BIFS
comm.bif
data.bif
messaging.bif
store.bif
) )
bif_target(comm.bif)
bif_target(data.bif)
bif_target(messaging.bif)
bif_target(store.bif)
bro_add_subdir_library(brokercomm ${comm_SRCS})
add_dependencies(bro_brokercomm generate_outputs)

View file

@ -1,13 +1,7 @@
include(ZeekSubdir) zeek_add_subdir_library(
file_analysis
include_directories(BEFORE INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}
${CMAKE_CURRENT_SOURCE_DIR} SOURCES
${CMAKE_CURRENT_BINARY_DIR}
)
add_subdirectory(analyzer)
set(file_analysis_SRCS
Manager.cc Manager.cc
File.cc File.cc
FileTimer.cc FileTimer.cc
@ -15,9 +9,8 @@ set(file_analysis_SRCS
Analyzer.cc Analyzer.cc
AnalyzerSet.cc AnalyzerSet.cc
Component.cc Component.cc
BIFS
file_analysis.bif
) )
bif_target(file_analysis.bif) add_subdirectory(analyzer)
bro_add_subdir_library(file_analysis ${file_analysis_SRCS})
add_dependencies(bro_file_analysis generate_outputs)

View file

@ -1,8 +1,9 @@
include(ZeekPlugin) zeek_add_plugin(
Zeek
include_directories(BEFORE ${CMAKE_CURRENT_SOURCE_DIR} FileDataEvent
${CMAKE_CURRENT_BINARY_DIR}) SOURCES
DataEvent.cc
zeek_plugin_begin(Zeek FileDataEvent) Plugin.cc
zeek_plugin_cc(DataEvent.cc Plugin.cc) INCLUDE_DIRS
zeek_plugin_end() "${CMAKE_CURRENT_SOURCE_DIR}"
)

View file

@ -1,9 +1,9 @@
include(ZeekPlugin) zeek_add_plugin(
Zeek
include_directories(BEFORE ${CMAKE_CURRENT_SOURCE_DIR} FileEntropy
${CMAKE_CURRENT_BINARY_DIR}) SOURCES
Entropy.cc
zeek_plugin_begin(Zeek FileEntropy) Plugin.cc
zeek_plugin_cc(Entropy.cc Plugin.cc) BIFS
zeek_plugin_bif(events.bif) events.bif
zeek_plugin_end() )

View file

@ -1,10 +1,10 @@
include(ZeekPlugin) zeek_add_plugin(
Zeek
include_directories(BEFORE ${CMAKE_CURRENT_SOURCE_DIR} FileExtract
${CMAKE_CURRENT_BINARY_DIR}) SOURCES
Extract.cc
zeek_plugin_begin(Zeek FileExtract) Plugin.cc
zeek_plugin_cc(Extract.cc Plugin.cc) BIFS
zeek_plugin_bif(events.bif) events.bif
zeek_plugin_bif(functions.bif) functions.bif
zeek_plugin_end() )

View file

@ -1,9 +1,9 @@
include(ZeekPlugin) zeek_add_plugin(
Zeek
include_directories(BEFORE ${CMAKE_CURRENT_SOURCE_DIR} FileHash
${CMAKE_CURRENT_BINARY_DIR}) SOURCES
Hash.cc
zeek_plugin_begin(Zeek FileHash) Plugin.cc
zeek_plugin_cc(Hash.cc Plugin.cc) BIFS
zeek_plugin_bif(events.bif) events.bif
zeek_plugin_end() )

View file

@ -1,12 +1,12 @@
include(ZeekPlugin) zeek_add_plugin(
Zeek
include_directories(BEFORE ${CMAKE_CURRENT_SOURCE_DIR} PE
${CMAKE_CURRENT_BINARY_DIR}) SOURCES
PE.cc
zeek_plugin_begin(Zeek PE) Plugin.cc
zeek_plugin_cc(PE.cc Plugin.cc) BIFS
zeek_plugin_bif(events.bif) events.bif
zeek_plugin_pac( PAC
pe.pac pe.pac
pe-analyzer.pac pe-analyzer.pac
pe-file-headers.pac pe-file-headers.pac
@ -14,4 +14,3 @@ zeek_plugin_pac(
pe-file.pac pe-file.pac
pe-file-types.pac pe-file-types.pac
) )
zeek_plugin_end()

View file

@ -1,11 +1,17 @@
zeek_add_plugin(
include(ZeekPlugin) Zeek
X509
include_directories(BEFORE ${CMAKE_CURRENT_SOURCE_DIR} SOURCES
${CMAKE_CURRENT_BINARY_DIR}) X509Common.cc
X509.cc
zeek_plugin_begin(Zeek X509) OCSP.cc
zeek_plugin_cc(X509Common.cc X509.cc OCSP.cc Plugin.cc) Plugin.cc
zeek_plugin_bif(events.bif types.bif functions.bif ocsp_events.bif) BIFS
zeek_plugin_pac(x509-extension.pac x509-signed_certificate_timestamp.pac) events.bif
zeek_plugin_end() types.bif
functions.bif
ocsp_events.bif
PAC
x509-extension.pac
x509-signed_certificate_timestamp.pac
)

View file

@ -64,12 +64,7 @@ include_directories(BEFORE ${CMAKE_CURRENT_SOURCE_DIR})
add_library(zeek_fuzzer_standalone OBJECT standalone-driver.cc) add_library(zeek_fuzzer_standalone OBJECT standalone-driver.cc)
add_library(zeek_fuzzer_shared SHARED target_sources(zeek_fuzzer_shared PRIVATE FuzzBuffer.cc)
$<TARGET_OBJECTS:zeek_objs>
${bro_SUBDIR_LIBS}
${bro_PLUGIN_LIBS}
FuzzBuffer.cc
)
set(zeek_fuzzer_shared_deps) set(zeek_fuzzer_shared_deps)
@ -83,8 +78,7 @@ foreach(_dep ${zeekdeps} )
endif () endif ()
endforeach () endforeach ()
target_link_libraries(zeek_fuzzer_shared target_link_libraries(zeek_fuzzer_shared PUBLIC
${bro_PLUGIN_LINK_LIBS}
${zeek_fuzzer_shared_deps} ${zeek_fuzzer_shared_deps}
${CMAKE_THREAD_LIBS_INIT} ${CMAKE_DL_LIBS}) ${CMAKE_THREAD_LIBS_INIT} ${CMAKE_DL_LIBS})

View file

@ -1,21 +1,12 @@
zeek_add_subdir_library(
include(ZeekSubdir) input
SOURCES
include_directories(BEFORE
${CMAKE_CURRENT_SOURCE_DIR}
${CMAKE_CURRENT_BINARY_DIR}
)
add_subdirectory(readers)
set(input_SRCS
Component.cc Component.cc
Manager.cc Manager.cc
ReaderBackend.cc ReaderBackend.cc
ReaderFrontend.cc ReaderFrontend.cc
BIFS
input.bif
) )
bif_target(input.bif) add_subdirectory(readers)
bro_add_subdir_library(input ${input_SRCS})
add_dependencies(bro_input generate_outputs)

View file

@ -1,9 +1,9 @@
zeek_add_plugin(
include(ZeekPlugin) Zeek
AsciiReader
include_directories(BEFORE ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}) SOURCES
Ascii.cc
zeek_plugin_begin(Zeek AsciiReader) Plugin.cc
zeek_plugin_cc(Ascii.cc Plugin.cc) BIFS
zeek_plugin_bif(ascii.bif) ascii.bif
zeek_plugin_end() )

View file

@ -1,9 +1,9 @@
zeek_add_plugin(
include(ZeekPlugin) Zeek
BenchmarkReader
include_directories(BEFORE ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}) SOURCES
Benchmark.cc
zeek_plugin_begin(Zeek BenchmarkReader) Plugin.cc
zeek_plugin_cc(Benchmark.cc Plugin.cc) BIFS
zeek_plugin_bif(benchmark.bif) benchmark.bif
zeek_plugin_end() )

View file

@ -1,9 +1,9 @@
zeek_add_plugin(
include(ZeekPlugin) Zeek
BinaryReader
include_directories(BEFORE ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}) SOURCES
Binary.cc
zeek_plugin_begin(Zeek BinaryReader) Plugin.cc
zeek_plugin_cc(Binary.cc Plugin.cc) BIFS
zeek_plugin_bif(binary.bif) binary.bif
zeek_plugin_end() )

View file

@ -1,9 +1,9 @@
zeek_add_plugin(
include(ZeekPlugin) Zeek
ConfigReader
include_directories(BEFORE ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}) SOURCES
Config.cc
zeek_plugin_begin(Zeek ConfigReader) Plugin.cc
zeek_plugin_cc(Config.cc Plugin.cc) BIFS
zeek_plugin_bif(config.bif) config.bif
zeek_plugin_end() )

View file

@ -1,9 +1,9 @@
zeek_add_plugin(
include(ZeekPlugin) Zeek
RawReader
include_directories(BEFORE ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}) SOURCES
Raw.cc
zeek_plugin_begin(Zeek RawReader) Plugin.cc
zeek_plugin_cc(Raw.cc Plugin.cc) BIFS
zeek_plugin_bif(raw.bif) raw.bif
zeek_plugin_end() )

View file

@ -1,9 +1,9 @@
zeek_add_plugin(
include(ZeekPlugin) Zeek
SQLiteReader
include_directories(BEFORE ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}) SOURCES
SQLite.cc
zeek_plugin_begin(Zeek SQLiteReader) Plugin.cc
zeek_plugin_cc(SQLite.cc Plugin.cc) BIFS
zeek_plugin_bif(sqlite.bif) sqlite.bif
zeek_plugin_end() )

View file

@ -1,14 +1,6 @@
zeek_add_subdir_library(
include(ZeekSubdir) iosource
SOURCES
include_directories(BEFORE
${CMAKE_CURRENT_SOURCE_DIR}
${CMAKE_CURRENT_BINARY_DIR}
)
add_subdirectory(pcap)
set(iosource_SRCS
BPF_Program.cc BPF_Program.cc
Component.cc Component.cc
Manager.cc Manager.cc
@ -17,5 +9,4 @@ set(iosource_SRCS
PktSrc.cc PktSrc.cc
) )
bro_add_subdir_library(iosource ${iosource_SRCS}) add_subdirectory(pcap)
add_dependencies(bro_iosource generate_outputs)

View file

@ -1,9 +1,11 @@
zeek_add_plugin(
Zeek
Pcap
SOURCES
Source.cc
Dumper.cc
Plugin.cc
)
include(ZeekPlugin) # Treat BIFs as builtin (alternative mode).
include_directories(BEFORE ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR})
zeek_plugin_begin(Zeek Pcap)
zeek_plugin_cc(Source.cc Dumper.cc Plugin.cc)
bif_target(pcap.bif) bif_target(pcap.bif)
zeek_plugin_end()

View file

@ -10,6 +10,7 @@ const non_fd_timeout: interval;
#include "zeek/iosource/BPF_Program.h" #include "zeek/iosource/BPF_Program.h"
#include "zeek/iosource/Manager.h" #include "zeek/iosource/Manager.h"
#include "zeek/iosource/PktSrc.h"
%%} %%}
## Precompiles a PCAP filter and binds it to a given identifier. ## Precompiles a PCAP filter and binds it to a given identifier.

View file

@ -1,23 +1,12 @@
zeek_add_subdir_library(
include(ZeekSubdir) logging
SOURCES
include_directories(BEFORE
${CMAKE_CURRENT_SOURCE_DIR}
${CMAKE_CURRENT_BINARY_DIR}
)
include_directories(BEFORE ${CAF_INCLUDE_DIRS})
add_subdirectory(writers)
set(logging_SRCS
Component.cc Component.cc
Manager.cc Manager.cc
WriterBackend.cc WriterBackend.cc
WriterFrontend.cc WriterFrontend.cc
BIFS
logging.bif
) )
bif_target(logging.bif) add_subdirectory(writers)
bro_add_subdir_library(logging ${logging_SRCS})
add_dependencies(bro_logging generate_outputs)

View file

@ -1,9 +1,9 @@
zeek_add_plugin(
include(ZeekPlugin) Zeek
AsciiWriter
include_directories(BEFORE ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}) SOURCES
Ascii.cc
zeek_plugin_begin(Zeek AsciiWriter) Plugin.cc
zeek_plugin_cc(Ascii.cc Plugin.cc) BIFS
zeek_plugin_bif(ascii.bif) ascii.bif
zeek_plugin_end() )

View file

@ -1,9 +1,9 @@
zeek_add_plugin(
include(ZeekPlugin) Zeek
NoneWriter
include_directories(BEFORE ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}) SOURCES
None.cc
zeek_plugin_begin(Zeek NoneWriter) Plugin.cc
zeek_plugin_cc(None.cc Plugin.cc) BIFS
zeek_plugin_bif(none.bif) none.bif
zeek_plugin_end() )

View file

@ -1,9 +1,9 @@
zeek_add_plugin(
include(ZeekPlugin) Zeek
SQLiteWriter
include_directories(BEFORE ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}) SOURCES
SQLite.cc
zeek_plugin_begin(Zeek SQLiteWriter) Plugin.cc
zeek_plugin_cc(SQLite.cc Plugin.cc) BIFS
zeek_plugin_bif(sqlite.bif) sqlite.bif
zeek_plugin_end() )

View file

@ -1,19 +1,11 @@
zeek_add_subdir_library(
include(ZeekSubdir) packet_analysis
INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}
include_directories(BEFORE SOURCES
${CMAKE_CURRENT_SOURCE_DIR}
${CMAKE_CURRENT_BINARY_DIR}
)
add_subdirectory(protocol)
set(packet_analysis_SRCS
Analyzer.cc Analyzer.cc
Dispatcher.cc Dispatcher.cc
Manager.cc Manager.cc
Component.cc Component.cc
) )
bro_add_subdir_library(packet_analysis ${packet_analysis_SRCS}) add_subdirectory(protocol)
add_dependencies(bro_packet_analysis generate_outputs)

View file

@ -1,9 +1,9 @@
zeek_add_plugin(
include(ZeekPlugin) Zeek
ARP
include_directories(BEFORE ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}) SOURCES
ARP.cc
zeek_plugin_begin(Zeek ARP) Plugin.cc
zeek_plugin_cc(ARP.cc Plugin.cc) BIFS
zeek_plugin_bif(events.bif) events.bif
zeek_plugin_end() )

View file

@ -1,5 +1,7 @@
include(ZeekPlugin) zeek_add_plugin(
Zeek
zeek_plugin_begin(Zeek AYIYA) AYIYA
zeek_plugin_cc(AYIYA.cc Plugin.cc) SOURCES
zeek_plugin_end() AYIYA.cc
Plugin.cc
)

View file

@ -1,8 +1,7 @@
zeek_add_plugin(
include(ZeekPlugin) PacketAnalyzer
Ethernet
include_directories(BEFORE ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}) SOURCES
Ethernet.cc
zeek_plugin_begin(PacketAnalyzer Ethernet) Plugin.cc
zeek_plugin_cc(Ethernet.cc Plugin.cc) )
zeek_plugin_end()

View file

@ -1,8 +1,7 @@
zeek_add_plugin(
include(ZeekPlugin) PacketAnalyzer
FDDI
include_directories(BEFORE ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}) SOURCES
FDDI.cc
zeek_plugin_begin(PacketAnalyzer FDDI) Plugin.cc
zeek_plugin_cc(FDDI.cc Plugin.cc) )
zeek_plugin_end()

View file

@ -1,6 +1,9 @@
include(ZeekPlugin) zeek_add_plugin(
Zeek
zeek_plugin_begin(Zeek Geneve) Geneve
zeek_plugin_cc(Geneve.cc Plugin.cc) SOURCES
zeek_plugin_bif(events.bif) Geneve.cc
zeek_plugin_end() Plugin.cc
BIFS
events.bif
)

View file

@ -1,8 +1,7 @@
zeek_add_plugin(
include(ZeekPlugin) PacketAnalyzer
GRE
include_directories(BEFORE ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}) SOURCES
GRE.cc
zeek_plugin_begin(PacketAnalyzer GRE) Plugin.cc
zeek_plugin_cc(GRE.cc Plugin.cc) )
zeek_plugin_end()

View file

@ -1,11 +1,14 @@
zeek_add_plugin(
include(ZeekPlugin) Zeek
GTPv1
include_directories(BEFORE ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}) SOURCES
GTPv1.cc
zeek_plugin_begin(Zeek GTPv1) Plugin.cc
zeek_plugin_cc(GTPv1.cc Plugin.cc) BIFS
zeek_plugin_bif(events.bif) events.bif
zeek_plugin_bif(functions.bif) functions.bif
zeek_plugin_pac(gtpv1.pac gtpv1-protocol.pac gtpv1-analyzer.pac) PAC
zeek_plugin_end() gtpv1.pac
gtpv1-protocol.pac
gtpv1-analyzer.pac
)

View file

@ -1,9 +1,10 @@
zeek_add_plugin(
include(ZeekPlugin) Zeek
ICMP
include_directories(BEFORE ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}) SOURCES
ICMP.cc
zeek_plugin_begin(Zeek ICMP) ICMPSessionAdapter.cc
zeek_plugin_cc(ICMP.cc ICMPSessionAdapter.cc Plugin.cc) Plugin.cc
zeek_plugin_bif(events.bif) BIFS
zeek_plugin_end() events.bif
)

View file

@ -1,8 +1,7 @@
zeek_add_plugin(
include(ZeekPlugin) PacketAnalyzer
IEEE802_11
include_directories(BEFORE ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}) SOURCES
IEEE802_11.cc
zeek_plugin_begin(PacketAnalyzer IEEE802_11) Plugin.cc
zeek_plugin_cc(IEEE802_11.cc Plugin.cc) )
zeek_plugin_end()

View file

@ -1,8 +1,7 @@
zeek_add_plugin(
include(ZeekPlugin) PacketAnalyzer
IEEE802_11_Radio
include_directories(BEFORE ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}) SOURCES
IEEE802_11_Radio.cc
zeek_plugin_begin(PacketAnalyzer IEEE802_11_Radio) Plugin.cc
zeek_plugin_cc(IEEE802_11_Radio.cc Plugin.cc) )
zeek_plugin_end()

View file

@ -1,8 +1,9 @@
zeek_add_plugin(
include(ZeekPlugin) PacketAnalyzer
IP
include_directories(BEFORE ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}) SOURCES
IP.cc
zeek_plugin_begin(PacketAnalyzer IP) IPBasedAnalyzer.cc
zeek_plugin_cc(IP.cc IPBasedAnalyzer.cc SessionAdapter.cc Plugin.cc) SessionAdapter.cc
zeek_plugin_end() Plugin.cc
)

View file

@ -1,8 +1,7 @@
zeek_add_plugin(
include(ZeekPlugin) PacketAnalyzer
IPTunnel
include_directories(BEFORE ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}) SOURCES
IPTunnel.cc
zeek_plugin_begin(PacketAnalyzer IPTunnel) Plugin.cc
zeek_plugin_cc(IPTunnel.cc Plugin.cc) )
zeek_plugin_end()

View file

@ -1,8 +1,7 @@
zeek_add_plugin(
include(ZeekPlugin) PacketAnalyzer
LinuxSLL
include_directories(BEFORE ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}) SOURCES
LinuxSLL.cc
zeek_plugin_begin(PacketAnalyzer LinuxSLL) Plugin.cc
zeek_plugin_cc(LinuxSLL.cc Plugin.cc) )
zeek_plugin_end()

View file

@ -1,8 +1,7 @@
zeek_add_plugin(
include(ZeekPlugin) PacketAnalyzer
LinuxSLL2
include_directories(BEFORE ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}) SOURCES
LinuxSLL2.cc
zeek_plugin_begin(PacketAnalyzer LinuxSLL2) Plugin.cc
zeek_plugin_cc(LinuxSLL2.cc Plugin.cc) )
zeek_plugin_end()

View file

@ -1,8 +1,7 @@
zeek_add_plugin(
include(ZeekPlugin) PacketAnalyzer
MPLS
include_directories(BEFORE ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}) SOURCES
MPLS.cc
zeek_plugin_begin(PacketAnalyzer MPLS) Plugin.cc
zeek_plugin_cc(MPLS.cc Plugin.cc) )
zeek_plugin_end()

View file

@ -1,8 +1,7 @@
zeek_add_plugin(
include(ZeekPlugin) PacketAnalyzer
NFLog
include_directories(BEFORE ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}) SOURCES
NFLog.cc
zeek_plugin_begin(PacketAnalyzer NFLog) Plugin.cc
zeek_plugin_cc(NFLog.cc Plugin.cc) )
zeek_plugin_end()

View file

@ -1,7 +1,7 @@
include(ZeekPlugin) zeek_add_plugin(
PacketAnalyzer
include_directories(BEFORE ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}) Null
SOURCES
zeek_plugin_begin(PacketAnalyzer Null) Null.cc
zeek_plugin_cc(Null.cc Plugin.cc) Plugin.cc
zeek_plugin_end() )

View file

@ -1,8 +1,7 @@
zeek_add_plugin(
include(ZeekPlugin) PacketAnalyzer
PPPSerial
include_directories(BEFORE ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}) SOURCES
PPPSerial.cc
zeek_plugin_begin(PacketAnalyzer PPPSerial) Plugin.cc
zeek_plugin_cc(PPPSerial.cc Plugin.cc) )
zeek_plugin_end()

View file

@ -1,8 +1,7 @@
zeek_add_plugin(
include(ZeekPlugin) PacketAnalyzer
PPPoE
include_directories(BEFORE ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}) SOURCES
PPPoE.cc
zeek_plugin_begin(PacketAnalyzer PPPoE) Plugin.cc
zeek_plugin_cc(PPPoE.cc Plugin.cc) )
zeek_plugin_end()

View file

@ -1,8 +1,7 @@
zeek_add_plugin(
include(ZeekPlugin) PacketAnalyzer
Root
include_directories(BEFORE ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}) SOURCES
Root.cc
zeek_plugin_begin(PacketAnalyzer Root) Plugin.cc
zeek_plugin_cc(Root.cc Plugin.cc) )
zeek_plugin_end()

View file

@ -1,8 +1,7 @@
zeek_add_plugin(
include(ZeekPlugin) PacketAnalyzer
Skip
include_directories(BEFORE ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}) SOURCES
Skip.cc
zeek_plugin_begin(PacketAnalyzer Skip) Plugin.cc
zeek_plugin_cc(Skip.cc Plugin.cc) )
zeek_plugin_end()

View file

@ -1,8 +1,9 @@
zeek_add_plugin(
include(ZeekPlugin) PacketAnalyzer
TCP_PKT
include_directories(BEFORE ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}) SOURCES
TCP.cc
zeek_plugin_begin(PacketAnalyzer TCP_PKT) TCPSessionAdapter.cc
zeek_plugin_cc(TCP.cc TCPSessionAdapter.cc Plugin.cc Stats.cc) Plugin.cc
zeek_plugin_end() Stats.cc
)

View file

@ -1,7 +1,10 @@
include(ZeekPlugin) zeek_add_plugin(
Zeek
zeek_plugin_begin(Zeek Teredo) Teredo
zeek_plugin_cc(Teredo.cc Plugin.cc) SOURCES
zeek_plugin_bif(events.bif) Teredo.cc
zeek_plugin_bif(functions.bif) Plugin.cc
zeek_plugin_end() BIFS
events.bif
functions.bif
)

View file

@ -1,9 +1,10 @@
zeek_add_plugin(
include(ZeekPlugin) Zeek
UDP
include_directories(BEFORE ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}) SOURCES
UDP.cc
zeek_plugin_begin(Zeek UDP) UDPSessionAdapter.cc
zeek_plugin_cc(UDP.cc UDPSessionAdapter.cc Plugin.cc) Plugin.cc
zeek_plugin_bif(events.bif) BIFS
zeek_plugin_end() events.bif
)

View file

@ -1,8 +1,7 @@
zeek_add_plugin(
include(ZeekPlugin) PacketAnalyzer
VLAN
include_directories(BEFORE ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}) SOURCES
VLAN.cc
zeek_plugin_begin(PacketAnalyzer VLAN) Plugin.cc
zeek_plugin_cc(VLAN.cc Plugin.cc) )
zeek_plugin_end()

Some files were not shown because too many files have changed in this diff Show more