suricata: Use device ppp0 if PPPoE dialin is used.
authorStefan Schantl <stefan.schantl@ipfire.org>
Tue, 23 Apr 2019 19:27:53 +0000 (21:27 +0200)
committerArne Fitzenreiter <arne_f@ipfire.org>
Tue, 23 Apr 2019 20:05:05 +0000 (22:05 +0200)
Fixes #12058.

Signed-off-by: Stefan Schantl <stefan.schantl@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
src/initscripts/system/suricata

index 1654875..ecd6930 100644 (file)
@@ -18,6 +18,7 @@
 PATH=/usr/local/sbin:/usr/local/bin:/bin:/usr/bin:/sbin:/usr/sbin; export PATH
 
 eval $(/usr/local/bin/readhash /var/ipfire/suricata/settings)
+eval $(/usr/local/bin/readhash /var/ipfire/ethernet/settings)
 
 # Name of the firewall chain.
 FW_CHAIN="IPS"
@@ -65,9 +66,18 @@ function generate_fw_rules {
 
                # Check if the IDS is enabled for this network zone.
                if [ "${!enable_ids_zone}" == "on" ]; then
-                       # Generate name of the network interface.
-                       network_device=$zone
-                       network_device+="0"
+                       # Check if the current processed zone is "red" and the configured type is PPPoE dialin.
+                       if [ "$zone" == "red" ] && [ "$RED_TYPE" == "PPPOE" ]; then
+                               # Set device name to ppp0.
+                               network_device="ppp0"
+                       else
+                               # Generate variable name which contains the device name.
+                               zone_name="$zone_upper"
+                               zone_name+="_DEV"
+
+                               # Grab device name.
+                               network_device=${!zone_name}
+                       fi
 
                        # Assign NFQ_OPTS
                        NFQ_OPTIONS=$NFQ_OPTS