ids.cgi: Stop suricata when the rulest source has been changed
authorStefan Schantl <stefan.schantl@ipfire.org>
Tue, 5 Feb 2019 11:43:49 +0000 (12:43 +0100)
committerStefan Schantl <stefan.schantl@ipfire.org>
Tue, 5 Feb 2019 11:43:49 +0000 (12:43 +0100)
If the ruleset source has been changed, it has to be configured again.
This happens because of different rule categories, filenames rule ID's etc.

In case suricata currently is running it has to be stopped and after the configuration
has been done by the user, it can be launched again.

Signed-off-by: Stefan Schantl <stefan.schantl@ipfire.org>
html/cgi-bin/ids.cgi

index 151181f..1f096ae 100644 (file)
@@ -352,6 +352,14 @@ if ($cgiparams{'RULESET'} eq $Lang::tr{'save'}) {
                                &IDS::oinkmaster();
                        }
 
+                       # Check if the IDS is running.
+                       if(&IDS::ids_is_running()) {
+                               # Call suricatactrl to stop the IDS - because of the changed
+                               # ruleset - the use has to configure it before suricata can be
+                               # used again.
+                               &IDS::call_suricatactrl("stop");
+                       }
+
                        # Perform a reload of the page.
                        &reload();
                }