ids.cgi: Introduce ruleset-source.list

This new file will contain the vendor information and url
for downloading their ruleset. In future if the download location
or filename changes, we only need to adjust this one file and ship
it via a core update.

Also extend the downloadrulesfile to be able to directly call the
subfunction.

Signed-off-by: Stefan Schantl <stefan.schantl@ipfire.org>
This commit is contained in:
Stefan Schantl
2017-12-13 14:45:27 +01:00
parent a232b58ca7
commit afe26a0586

View File

@@ -606,6 +606,26 @@ sub downloadrulesfile {
return undef;
}
# Gather snort settings.
my %snortsettings = ();
&General::readhash("${General::swroot}/snort/settings", \%snortsettings);
# Get all available ruleset locations.
my %urls=();
&General::readhash("${General::swroot}/snort/ruleset-sources.list", \%urls);
# Grab the right url based on the configured vendor.
my $url = $urls{$snortsettings{'RULES'}};
# Check and pass oinkcode if the vendor requires one.
$url =~ s/\<oinkcode\>/$snortsettings{'OINKCODE'}/g;
# Abort if no url could be determined for the vendor.
unless($url) {
$errormessage = $Lang::tr{'could not download latest updates'};
return undef;
}
my %proxysettings=();
&General::readhash("${General::swroot}/proxy/settings", \%proxysettings);