###############################################################################
# #
# IPFire.org - A linux based firewall #
-# Copyright (C) 2015 Michael Tremer & Christian Schmidt #
+# Copyright (C) 2007-2022 IPFire Team <info@ipfire.org> #
# #
# This program is free software: you can redistribute it and/or modify #
# it under the terms of the GNU General Public License as published by #
include Config
-VER = 4.0.5
+VER = 6.0.9
THISAPP = suricata-$(VER)
DL_FILE = $(THISAPP).tar.gz
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = ea0cb823d6a86568152f75ade6de442f
+$(DL_FILE)_BLAKE2 = 966657eeff216894f6357989f0317b7c5eed82602ca2381269446cbe4c015be449f5598726b2f58924f20aca30c4e130ecafe642ea4ce39f1671f46093292551
install : $(TARGET)
download :$(patsubst %,$(DIR_DL)/%,$(objects))
-md5 : $(subst %,%_MD5,$(objects))
+b2 : $(subst %,%_BLAKE2,$(objects))
###############################################################################
-# Downloading, checking, md5sum
+# Downloading, checking, b2sum
###############################################################################
$(patsubst %,$(DIR_CHK)/%,$(objects)) :
$(patsubst %,$(DIR_DL)/%,$(objects)) :
@$(LOAD)
-$(subst %,%_MD5,$(objects)) :
- @$(MD5)
+$(subst %,%_BLAKE2,$(objects)) :
+ @$(B2SUM)
###############################################################################
# Installation Details
$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
@$(PREBUILD)
@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
- cd $(DIR_APP) && ./configure \
+ cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/suricata/suricata-disable-sid-2210059.patch
+ cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/suricata/suricata-5.0.8-fix-level1-cache-line-size-detection.patch
+ cd $(DIR_APP) && LDFLAGS="$(LDFLAGS)" ./configure \
--prefix=/usr \
--sysconfdir=/etc \
--localstatedir=/var \
--disable-gccmarch-native \
--enable-non-bundled-htp \
--enable-nfqueue \
- --disable-static
+ --disable-static \
+ --disable-python \
+ --with-libjansson-libraries=/usr/lib \
+ --with-libjansson-includes=/usr/include \
+ --disable-suricata-update \
+ --enable-rust
+
cd $(DIR_APP) && make $(MAKETUNING)
cd $(DIR_APP) && make install
cd $(DIR_APP) && make install-conf
- mv /etc/suricata/suricata.yaml /etc/suricata/suricata-example.yaml
+
+ # Remove default suricata config file.
+ rm -rvf /etc/suricata/suricata.yaml
+
+ # Install IPFire related config file.
install -m 0644 $(DIR_SRC)/config/suricata/suricata.yaml /etc/suricata
- -mkdir -p /etc/suricata/rules
- mv /etc/suricata/*.config /etc/suricata/rules/
+
+ # Create emtpy rules directory.
+ -mkdir -p /var/lib/suricata
+
+ # Create empty cache directory.
+ -mkdir -p /var/cache/suricata
+
+ # Move config files for references, threshold and classification
+ # to the rules directory.
+ rm -rfv /etc/suricata/*.config
+
+ # Set correct ownership for the classifiction config file.
+ # (File has to be writeable for the nobody user)
+ chown nobody:nobody /usr/share/suricata/classification.config
+
+ # Create empty threshold config file.
+ touch /usr/share/suricata/threshold.config
+
+ # Set correct ownership for the threshold.config file.
+ chown nobody:nobody /usr/share/suricata/threshold.config
+
+ # Set correct ownership for /var/lib/suricata and the
+ # contained files
+ chown -R nobody:nobody /var/lib/suricata
+
+ # Set correct ownership for the cache directory.
+ chown nobody:nobody /var/cache/suricata
+
+ # Create logging directory.
-mkdir -p /var/log/suricata
+
+ # Set correct ownership for /var/log/suricata.
+ chown suricata:suricata /var/log/suricata
+
+ # Install converter script needed for Core Update 167
+ install -m 0755 $(DIR_SRC)/config/suricata/convert-ids-backend-files /usr/sbin/convert-ids-backend-files
+
@rm -rf $(DIR_APP)
@$(POSTBUILD)