summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xsrs38
1 files changed, 22 insertions, 16 deletions
diff --git a/srs b/srs
index e8a2b32..de993bc 100755
--- a/srs
+++ b/srs
@@ -4,25 +4,31 @@ use warnings;
use FindBin;
use lib $FindBin::Bin;
-use English;
-use Spline::Socketmap::Srs;
-
-my $defaults = {
- syslog_ident => 'srs',
- log_level => 1,
-};
+{
+ package SrsServer;
+ use base 'Spline::Socketmap::Srs';
+ use English;
+
+ sub default_values {
+ my $defaults = {
+ syslog_ident => 'srs',
+ log_level => 1,
+ };
+
+ # 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;
-# 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;
-# Default to current user (if not root)
-$defaults->{user} = $EUID if $EUID != 0;
-$defaults->{group} = $EGID if $EGID != 0;
+ return $defaults;
+ }
+}
-my $server = Spline::Socketmap::Srs->new();
-$server->run($defaults);
+SrsServer->run();
# vim: set et ts=4: