This commit is contained in:
TriForceX
2019-09-25 20:51:37 -03:00
commit 6203ff3e7c
11215 changed files with 428258 additions and 0 deletions

View File

@@ -0,0 +1,29 @@
From 2660123b0c16d7f6a49747711be676c4119561c9 Mon Sep 17 00:00:00 2001
From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Date: Wed, 24 Apr 2019 20:35:20 +0200
Subject: [PATCH] configure.ac: fix static build with pcap
pcap can depends on nl-3 so use pkg-config to find these dependencies
otherwise all AC_CHECK_LIB calls will fail when building statically
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
[Upstream status: not sent yet]
---
configure.ac | 1 +
1 file changed, 1 insertion(+)
diff --git a/configure.ac b/configure.ac
index ee59c9d8e..5ec341231 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1331,6 +1331,7 @@
AC_CHECK_HEADERS([pcap.h pcap/pcap.h pcap/bpf.h])
LIBPCAP=""
+ PKG_CHECK_MODULES([PCAP],libpcap,[CPPFLAGS="${CPPFLAGS} ${PCAP_CFLAGS}" LIBS="${LIBS} ${PCAP_LIBS}"],[])
AC_CHECK_LIB(${PCAP_LIB_NAME}, pcap_open_live,, LIBPCAP="no")
if test "$LIBPCAP" = "no"; then
echo
--
2.20.1

View File

@@ -0,0 +1,28 @@
From b37554e0bc3cf383e6547c5c6a69c6f6849c09e3 Mon Sep 17 00:00:00 2001
From: Eric Leblond <eric@regit.org>
Date: Wed, 17 Jul 2019 12:35:12 +0200
Subject: [PATCH] af-packet: fix build on recent Linux kernels
Downloaded from upstream commit
https://github.com/OISF/suricata/commit/b37554e0bc3cf383e6547c5c6a69c6f6849c09e3
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
---
src/source-af-packet.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/src/source-af-packet.c b/src/source-af-packet.c
index 2c65ccbcf5..e117d36e5c 100644
--- a/src/source-af-packet.c
+++ b/src/source-af-packet.c
@@ -65,6 +65,10 @@
#include <sys/ioctl.h>
#endif
+#if HAVE_LINUX_SOCKIOS_H
+#include <linux/sockios.h>
+#endif
+
#ifdef HAVE_PACKET_EBPF
#include "util-ebpf.h"
#include <bpf/libbpf.h>

View File

@@ -0,0 +1,22 @@
config BR2_PACKAGE_SURICATA
bool "suricata"
depends on BR2_USE_MMU # fork()
depends on BR2_USE_WCHAR
depends on BR2_TOOLCHAIN_HAS_THREADS
select BR2_PACKAGE_LIBHTP
select BR2_PACKAGE_LIBPCAP
select BR2_PACKAGE_LIBYAML
select BR2_PACKAGE_PCRE
help
Suricata is a free and open source, mature, fast and robust
network threat detection engine.
The Suricata engine is capable of real time intrusion
detection (IDS), inline intrusion prevention (IPS), network
security monitoring (NSM) and offline pcap processing.
https://suricata-ids.org
comment "suricata needs a toolchain w/ wchar, threads"
depends on BR2_USE_MMU
depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS

View File

@@ -0,0 +1,64 @@
#!/bin/sh
DAEMON=suricata
PIDFILE=/var/run/$DAEMON.pid
SURICATA_ARGS="-c /etc/suricata/suricata.yaml -i eth0"
SURICATA_RELOAD=0
[ -r "/etc/default/$DAEMON" ] && . "/etc/default/$DAEMON"
start() {
printf 'Starting %s: ' "$DAEMON"
mkdir -p /var/log/suricata
start-stop-daemon -b -m -S -q -p "$PIDFILE" -x "/usr/bin/$DAEMON" \
-- $SURICATA_ARGS
status=$?
if [ "$status" -eq 0 ]; then
echo "OK"
else
echo "FAIL"
fi
return "$status"
}
stop() {
printf 'Stopping %s: ' "$DAEMON"
start-stop-daemon -K -q -p "$PIDFILE"
status=$?
if [ "$status" -eq 0 ]; then
rm -f "$PIDFILE"
echo "OK"
else
echo "FAIL"
fi
return "$status"
}
restart() {
stop
sleep 1
start
}
# SIGUSR2 makes suricata reload rules
reload() {
printf 'Reloading %s: ' "$DAEMON"
start-stop-daemon -K -s "$SURICATA_RELOAD" -q -p "$PIDFILE"
status=$?
if [ "$status" -eq 0 ]; then
echo "OK"
else
echo "FAIL"
fi
return "$status"
}
case "$1" in
start|stop|restart|reload)
"$1";;
*)
echo "Usage: $0 {start|stop|restart|reload}"
exit 1
esac

View File

@@ -0,0 +1,6 @@
# Locally computed:
sha256 6cda6c80b753ce36483c6be535358b971f3890b9aa27a58c2d2f7e89dd6c6aa0 suricata-4.1.3.tar.gz
# Hash for license files:
sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING
sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE

View File

@@ -0,0 +1,128 @@
################################################################################
#
# suricata
#
################################################################################
SURICATA_VERSION = 4.1.3
SURICATA_SITE = https://www.openinfosecfoundation.org/download
SURICATA_LICENSE = GPL-2.0
SURICATA_LICENSE_FILES = COPYING LICENSE
# We're patching configure.ac
SURICATA_AUTORECONF = YES
SURICATA_DEPENDENCIES = \
host-pkgconf \
$(if $(BR2_PACKAGE_JANSSON),jansson) \
$(if $(BR2_PACKAGE_LIBCAP_NG),libcap-ng) \
$(if $(BR2_PACKAGE_LIBEVENT),libevent) \
libhtp \
$(if $(BR2_PACKAGE_LIBNFNETLINK),libnfnetlink) \
libpcap \
libyaml \
$(if $(BR2_PACKAGE_LZ4),lz4) \
$(if $(BR2_PACKAGE_LZMA),lzma) \
pcre
SURICATA_CONF_OPTS = \
--disable-gccprotect \
--disable-pie \
--disable-rust \
--disable-suricata-update \
--enable-non-bundled-htp
# install: install binaries
# install-conf: install initial configuration files
# install-full: install binaries, configuration and rules (rules will be
# download through wget/curl)
SURICATA_INSTALL_TARGET_OPTS = DESTDIR=$(TARGET_DIR) install install-conf
ifeq ($(BR2_PACKAGE_FILE),y)
SURICATA_DEPENDENCIES += file
SURICATA_CONF_OPTS += --enable-libmagic
else
SURICATA_CONF_OPTS += --disable-libmagic
endif
ifeq ($(BR2_PACKAGE_GEOIP),y)
SURICATA_DEPENDENCIES += geoip
SURICATA_CONF_OPTS += --enable-geoip
else
SURICATA_CONF_OPTS += --disable-geoip
endif
ifeq ($(BR2_PACKAGE_HIREDIS),y)
SURICATA_DEPENDENCIES += hiredis
SURICATA_CONF_OPTS += --enable-hiredis
else
SURICATA_CONF_OPTS += --disable-hiredis
endif
ifeq ($(BR2_PACKAGE_LIBNET),y)
SURICATA_DEPENDENCIES += libnet
SURICATA_CONF_OPTS += --with-libnet-includes=$(STAGING_DIR)/usr/include
endif
ifeq ($(BR2_PACKAGE_LIBNETFILTER_LOG),y)
SURICATA_DEPENDENCIES += libnetfilter_log
SURICATA_CONF_OPTS += --enable-nflog
else
SURICATA_CONF_OPTS += --disable-nflog
endif
ifeq ($(BR2_PACKAGE_LIBNETFILTER_QUEUE),y)
SURICATA_DEPENDENCIES += libnetfilter_queue
SURICATA_CONF_OPTS += --enable-nfqueue
else
SURICATA_CONF_OPTS += --disable-nfqueue
endif
ifeq ($(BR2_PACKAGE_LIBNSPR),y)
SURICATA_DEPENDENCIES += libnspr
SURICATA_CONF_OPTS += --enable-nspr
else
SURICATA_CONF_OPTS += --disable-nspr
endif
ifeq ($(BR2_PACKAGE_LIBNSS),y)
SURICATA_DEPENDENCIES += libnss
SURICATA_CONF_OPTS += --enable-nss
else
SURICATA_CONF_OPTS += --disable-nss
endif
ifeq ($(BR2_PACKAGE_LUA),y)
SURICATA_CONF_OPTS += --enable-lua
SURICATA_DEPENDENCIES += lua
else
SURICATA_CONF_OPTS += --disable-lua
endif
ifeq ($(BR2_PACKAGE_LUAJIT),y)
SURICATA_CONF_OPTS += --enable-luajit
SURICATA_DEPENDENCIES += luajit
else
SURICATA_CONF_OPTS += --disable-luajit
endif
ifeq ($(BR2_PACKAGE_PYTHON)$(BR2_PACKAGE_PYTHON3),y)
SURICATA_CONF_OPTS += --enable-python
SURICATA_DEPENDENCIES += $(if $(BR2_PACKAGE_PYTHON),python,python3)
else
SURICATA_CONF_OPTS += --disable-python
endif
define SURICATA_INSTALL_INIT_SYSV
$(INSTALL) -D -m 0755 package/suricata/S99suricata \
$(TARGET_DIR)/etc/init.d/S99suricata
endef
define SURICATA_INSTALL_INIT_SYSTEMD
$(INSTALL) -D -m 644 package/suricata/suricata.service \
$(TARGET_DIR)/usr/lib/systemd/system/suricata.service
mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
ln -sf ../../../../usr/lib/systemd/system/suricata.service \
$(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/suricata.service
endef
$(eval $(autotools-package))

View File

@@ -0,0 +1,14 @@
[Unit]
Description=Suricata Intrusion Detection Service
After=network.target
[Service]
EnvironmentFile=-/etc/default/suricata
ExecStartPre=/bin/rm -f /var/run/suricata.pid
ExecStartPre=/usr/bin/mkdir -p /var/log/suricata
ExecStart=/usr/bin/suricata -c /etc/suricata/suricata.yaml -i eth0 --pidfile /var/run/suricata.pid
ExecReload=/bin/kill -USR2 $MAINPID
Restart=always
[Install]
WantedBy=multi-user.target