From 9871df4963670f7a2627d4e8d59515055ae803d6 Mon Sep 17 00:00:00 2001 From: Alexander Sulfrian Date: Tue, 21 Jun 2016 20:40:19 +0200 Subject: Use embeded package to test default values You should be able to set it in the configuration file. --- srs | 38 ++++++++++++++++++++++---------------- 1 file 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: -- cgit v1.2.3-1-g7c22