summaryrefslogtreecommitdiff
path: root/fs_selfservice/FS-SelfService/SelfService.pm
diff options
context:
space:
mode:
authorivan <ivan>2008-10-24 19:13:53 +0000
committerivan <ivan>2008-10-24 19:13:53 +0000
commita0089f91a0d228b3f80d4e5d73cec93948813b1b (patch)
tree9bbe09da0909473929d35a3850a3ddc4b5384cc1 /fs_selfservice/FS-SelfService/SelfService.pm
parente9a16054f80c25ba75e5d1b3aba64052e3192d00 (diff)
rlm_perl hook for prepaid voip radius, RT#4100
Diffstat (limited to 'fs_selfservice/FS-SelfService/SelfService.pm')
-rw-r--r--fs_selfservice/FS-SelfService/SelfService.pm13
1 files changed, 11 insertions, 2 deletions
diff --git a/fs_selfservice/FS-SelfService/SelfService.pm b/fs_selfservice/FS-SelfService/SelfService.pm
index 4367aa1e4..66037d162 100644
--- a/fs_selfservice/FS-SelfService/SelfService.pm
+++ b/fs_selfservice/FS-SelfService/SelfService.pm
@@ -1,7 +1,8 @@
package FS::SelfService;
use strict;
-use vars qw($VERSION @ISA @EXPORT_OK $DEBUG $dir $socket %autoload $tag);
+use vars qw( $VERSION @ISA @EXPORT_OK $DEBUG
+ $skip_uid_check $dir $socket %autoload $tag );
use Exporter;
use Socket;
use FileHandle;
@@ -15,6 +16,10 @@ $VERSION = '0.03';
$DEBUG = 0;
+#you can add BEGIN { $FS::SelfService::skip_uid_check = 1; }
+#if you grant appropriate permissions to whatever user
+$skip_uid_check = 0;
+
$dir = "/usr/local/freeside";
$socket = "$dir/selfservice_socket";
$socket .= '.'.$tag if defined $tag && length($tag);
@@ -58,6 +63,9 @@ $socket .= '.'.$tag if defined $tag && length($tag);
'agent_info' => 'Agent/agent_info',
'agent_list_customers' => 'Agent/agent_list_customers',
'mason_comp' => 'MasonComponent/mason_comp',
+ 'call_time' => 'PrepaidPhone/call_time',
+ 'call_time_nanpa' => 'PrepaidPhone/call_time_nanpa'
+ 'phonenum_balance' => 'PrepaidPhone/phonenum_balance'
);
@EXPORT_OK = ( keys(%autoload), qw( regionselector expselect popselector domainselector didselector) );
@@ -69,7 +77,8 @@ $ENV{'ENV'} = '';
$ENV{'BASH_ENV'} = '';
my $freeside_uid = scalar(getpwnam('freeside'));
-die "not running as the freeside user\n" if $> != $freeside_uid;
+die "not running as the freeside user\n"
+ if $> != $freeside_uid && ! $skip_uid_check;
-e $dir or die "FATAL: $dir doesn't exist!";
-d $dir or die "FATAL: $dir isn't a directory!";