#!/usr/bin/perl -w

use esmith::ConfigDB;
my $c = esmith::ConfigDB->open_ro or die "Couldn't open ConfigDB\n";
my $rec = $c->get('squid-db-logd');
my $dbname = $rec->prop('DbName') || 'squid_log';
my $dbuser = $rec->prop('DbUser') || 'squid';
my $dbpass = $rec->prop('DbPassword') || 'squid';
my $dbhost = $rec->prop('DbHost') || 'localhost';

open(STDERR, ">&STDOUT");

my @args = ("--debug=1", "--dbname=$dbname", "--dbuser=$dbuser", "--dbpass=$dbpass");
push @args, "--dbhost=$dbhost" if ($dbhost ne 'localhost');

my $squid = $c->get('squid');
my $squidstatus = $squid->prop('status') || 'disabled';

if ($squidstatus ne 'enabled'){
    exec("sv", "d", "/service/squid-db-logd");
    exit(0);
}

my $squidguard = $c->get('squidguard');
my $squidguardstatus = $squidguard->prop('status') || 'disabled';

if ($squidguardstatus eq 'enabled'){
    push @args, "--squidguard";
}

exec("/usr/local/bin/setuidgid", "squid", "/usr/bin/squid-db-logd", @args)
    or die "Cannot run the Squid Database Loggind Daemon";

exit(1);
