our $storederrorfile = "/tmp/ids_storederror";
# Location where the rulefiles are stored.
-our $rulespath = "/etc/suricata/rules";
+our $rulespath = "/var/lib/suricata";
# File which contains a list of all supported ruleset sources.
# (Sourcefire, Emergingthreads, etc..)
my %snortsettings=();
&General::readhash("$settingsdir/settings", \%snortsettings);
+ # Check if a ruleset has been configured.
+ unless($snortsettings{'RULES'}) {
+ # Log that no ruleset has been configured and abort.
+ &_log_to_syslog("No ruleset source has been configured.");
+
+ # Return "1".
+ return 1;
+ }
+
# Get all available ruleset locations.
my %rulesetsources=();
&General::readhash($rulesetsourcesfile, \%rulesetsources);
## If not, call suricatactrl to fix them.
#
sub _check_rulesdir_permissions() {
+ # Check if the rulepath main directory is writable.
+ unless (-W $rulespath) {
+ # If not call suricatctrl to fix it.
+ &call_suricatactrl("fix-rules-dir");
+ }
+
# Open snort rules directory and do a directory listing.
opendir(DIR, $rulespath) or die $!;
# Loop through the direcory.