diff options
author | ivan <ivan> | 2008-10-24 19:13:53 +0000 |
---|---|---|
committer | ivan <ivan> | 2008-10-24 19:13:53 +0000 |
commit | a0089f91a0d228b3f80d4e5d73cec93948813b1b (patch) | |
tree | 9bbe09da0909473929d35a3850a3ddc4b5384cc1 /fs_selfservice/FS-SelfService/SelfService.pm | |
parent | e9a16054f80c25ba75e5d1b3aba64052e3192d00 (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.pm | 13 |
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!"; |