Add some basic validation to config parser.

We check for empty mandatory options for
starters.

Fixes #13 ... so we can release RSN :)

Signed-off-by: Thomas Hochstein <thh@inter.net>
This commit is contained in:
Thomas Hochstein 2013-09-02 10:40:17 +02:00
parent d28168419e
commit db7696e550

View file

@ -99,7 +99,19 @@ sub ReadConfig {
### IN : $ConfFile: config filename
### OUT: reference to a hash containing the configuration
my ($ConfFile) = @_;
return Config::Auto::parse($ConfFile, format => 'equal');
# mandatory configuration options
my @Mandatory = ('DBDriver','DBHost','DBUser','DBPw','DBDatabase',
'DBTableRaw','DBTableGrps');
# read config via Config::Auto
my $ConfR = Config::Auto::parse($ConfFile, format => 'equal');
my %Conf = %{$ConfR};
# check for mandatory options
foreach (@Mandatory) {
&Bleat(2,sprintf("Mandatory configuration option %s is not set!",$_))
if (!defined($Conf{$_}));
}
# $Conf{'TLH'} is checked in gatherstats.pl
return $ConfR;
};
################################################################################