]> git.ipfire.org Git - thirdparty/suricata.git/commitdiff
suricata: add sd_notify support
authorRichard McConnell <Richard_McConnell@rapid7.com>
Tue, 4 Oct 2022 16:15:21 +0000 (17:15 +0100)
committerVictor Julien <vjulien@oisf.net>
Thu, 27 Oct 2022 07:54:18 +0000 (09:54 +0200)
Upon all threads reaching a running state the system generates
a notification for systems running and configured for systemd

Implements feature 5384
(https://redmine.openinfosecfoundation.org/issues/5384)

configure.ac

index b3deb941564acb102e7315786728956bad8bd045..d50d565212ac2854a06565cd606f1f7d855b1a67 100644 (file)
         AC_MSG_RESULT(no)
     fi
 
+  #systemd
+    AC_ARG_WITH(systemd_includes,
+            [  --with-systemd-includes=DIR  systemd include directory],
+            [with_systemd_includes="$withval"],[with_systemd_includes=no])
+    AC_ARG_WITH(systemd_libraries,
+            [  --with-systemd-libraries=DIR    systemd library directory],
+            [with_systemd_libraries="$withval"],[with_systemd_libraries="no"])
+
+    AC_CHECK_HEADER(systemd/sd-daemon.h, SYSTEMD="yes",SYSTEMD="no")
+    if test "$SYSTEMD" = "yes"; then
+        if test "$with_systemd_libraries" != "no"; then
+            LDFLAGS="${LDFLAGS} -L${with_systemd_libraries}"
+        fi
+
+        if test "$with_systemd_includes" != "no"; then
+            CPPFLAGS="${CPPFLAGS} -I${with_systems_includes}"
+        fi
+
+        # To prevent duping the lib link we reset LIBS after this check. Setting action-if-found to NULL doesn't seem to work
+        # see: http://blog.flameeyes.eu/2008/04/29/i-consider-ac_check_lib-harmful
+        SYSTEMD=""
+        TMPLIBS="${LIBS}"
+        AC_CHECK_LIB(systemd,sd_notify,,SYSTEMD="no")
+
+        if test "$SYSTEMD" != "no"; then
+            LIBS="${TMPLIBS} -lsystemd"
+        fi
+    fi
+  
   # libhs
     enable_hyperscan="no"