diff --git a/CMakeLists.txt b/CMakeLists.txt index e136e93..cd73384 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -12,6 +12,7 @@ option(WITH_HARDENING "Enable hardening options" ON) option(WITH_PCRE "Build pcre-compatible filter" ON) option(WITH_REDIS "Build redis source/backend" OFF) option(WITH_MCAST "Build mcast source/backend" OFF) +option(WITH_IPSET "Build native ipset backend" OFF) if (NOT DEFINED CMAKE_INSTALL_PREFIX) set(CMAKE_INSTALL_PREFIX "/usr") @@ -54,6 +55,7 @@ message(STATUS "- WITH_HARDENING : ${WITH_HARDENING}") message(STATUS "- WITH_PCRE : ${WITH_PCRE}") message(STATUS "- WITH_REDIS : ${WITH_REDIS}") message(STATUS "- WITH_MCAST : ${WITH_MCAST}") +message(STATUS "- WITH_IPSET : ${WITH_IPSET}") message(STATUS "Components:") add_subdirectory(src) diff --git a/src/backends/CMakeLists.txt b/src/backends/CMakeLists.txt index 133a529..a6724ea 100644 --- a/src/backends/CMakeLists.txt +++ b/src/backends/CMakeLists.txt @@ -17,6 +17,13 @@ if (WITH_REDIS AND REDIS_FOUND) list(APPEND BACKENDS "f2b_backend_redis") endif () +find_library(IPSET_FOUND "ipset") +if (WITH_IPSET AND IPSET_FOUND) + add_library("f2b_backend_ipset" MODULE "ipset.c" "../strlcpy.c") + target_link_libraries("f2b_backend_ipset" "ipset") + list(APPEND BACKENDS "f2b_backend_ipset") +endif () + message(STATUS "- Backends : ${BACKENDS}") install(TARGETS ${BACKENDS}