]> git.ipfire.org Git - ipfire-2.x.git/commitdiff
suricatactrl: Add "cron" command
authorStefan Schantl <stefan.schantl@ipfire.org>
Wed, 26 Sep 2018 11:54:14 +0000 (13:54 +0200)
committerStefan Schantl <stefan.schantl@ipfire.org>
Wed, 26 Sep 2018 11:54:14 +0000 (13:54 +0200)
This command allows to enable the automatic update
of the used IDS ruleset and to specify the update interval.

Signed-off-by: Stefan Schantl <stefan.schantl@ipfire.org>
src/misc-progs/suricatactrl.c

index 00f861ba3463e7af39071d022293f27afbd6f31d..cca0873e60914d71f9bfa3d9a9c19828eea3c0b3 100644 (file)
@@ -33,6 +33,18 @@ int main(int argc, char *argv[]) {
                safe_system("/etc/rc.d/init.d/suricata reload");
        } else if (strcmp(argv[1], "fix-rules-dir") == 0) {
                safe_system("chown -R nobody:nobody /var/lib/suricata");
+       } else if (strcmp(argv[1], "cron") == 0) {
+                       safe_system("rm /etc/fcron.*/suricata >/dev/null 2>&1");
+               if (strcmp(argv[2], "off") == 0) {
+                       return(1);
+               } else if (strcmp(argv[2], "daily") == 0){
+                        safe_system("ln -s /usr/local/bin/update-ids-ruleset /etc/fcron.daily/suricata");
+                } else if (strcmp(argv[2], "weekly") == 0){
+                        safe_system("ln -s /usr/local/bin/update-ids-ruleset /etc/fcron.weekly/suricata");
+                } else{
+                        printf("invalid parameter(s)\n");
+                return(1);
+                }
        } else {
                fprintf(stderr, "\nBad argument given.\n\nsuricatactrl (start|stop|restart|reload)\n\n");
                exit(1);