diff options
Diffstat (limited to 'srs')
-rwxr-xr-x | srs | 27 |
1 files changed, 17 insertions, 10 deletions
@@ -4,18 +4,25 @@ use warnings; use FindBin; use lib $FindBin::Bin; -use Spline::Socketmap; -use Spline::Srs; +use English; + +use Spline::Socketmap::Srs; -$Spline::Socketmap::timeout = 10; -$Spline::Socketmap::handler = sub { - my ($map, $key) = @_; - Spline::Srs::handle($map, $key); +my $defaults = { + syslog_ident => 'srs', + log_level => 1, }; -Spline::Socketmap->run({ - syslog_ident => 'srs', - conf_file => ($< == 0 ? '' : $ENV{"HOME"}) . '/etc/srs.conf', -}); +# Load config file by default if it exists +my $config_file = '/etc/srs.conf'; +$config_file = $ENV{HOME} . $config_file if $UID != 0; +$defaults->{conf_file} = $config_file if -e $config_file; + +# Default to current user (if not root) +$defaults->{user} = $EUID if $EUID != 0; +$defaults->{group} = $EGID if $EGID != 0; + +my $server = Spline::Socketmap::Srs->new(); +$server->run($defaults); # vim: set et ts=4: |