projects
/
freeside.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
put the footer in one frigging file, whew
[freeside.git]
/
fs_selfservice
/
FS-SelfService
/
SelfService
/
FreeRadiusVoip.pm
diff --git
a/fs_selfservice/FS-SelfService/SelfService/FreeRadiusVoip.pm
b/fs_selfservice/FS-SelfService/SelfService/FreeRadiusVoip.pm
index
0ab4f14
..
0df24f7
100644
(file)
--- a/
fs_selfservice/FS-SelfService/SelfService/FreeRadiusVoip.pm
+++ b/
fs_selfservice/FS-SelfService/SelfService/FreeRadiusVoip.pm
@@
-1,23
+1,20
@@
-# Add this to the modules section of radiusd.conf
-# #path to this module
-# module=/usr/local/share/perl/5.8.8/FS/SelfService/FreeRadiusVoip.pm
-# func_autheenticate = authenticate
+#Add this to the modules section of radiusd.conf
+# perl {
+# #path to this module
+# module=/usr/local/share/perl/5.8.8/FS/SelfService/FreeRadiusVoip.pm
+# func_authorize = authorize;
+# }
#
#In the Authorize section
#Make sure that you have 'files' uncommented. Then add a line containing 'perl'
# after it.
#
#
#In the Authorize section
#Make sure that you have 'files' uncommented. Then add a line containing 'perl'
# after it.
#
-#In the Authentication section add
-# Auth-Type Perl {
-# perl
-# }
-#
# #N/A# Add a line containing 'perl' to the Accounting section.
#
# #N/A# Add a line containing 'perl' to the Accounting section.
#
-#
In the users file comment the 'DEFAULT Auth-Type = System' lines
-#
and then add
-#
DEFAULT Auth-Type = Perl
-#
Fall-Through = 1
+#
and on debian systems, add this to /etc/init.d/freeradius, with the
+#
correct path (http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=416266)
+#
LD_PRELOAD=/usr/lib/libperl.so.5.8.8
+#
export LD_PRELOAD
BEGIN { $FS::SelfService::skip_uid_check = 1; }
BEGIN { $FS::SelfService::skip_uid_check = 1; }
@@
-37,17
+34,20
@@
use constant RLM_MODULE_NOOP=> 7; #module succeeded without doing anything
use constant RLM_MODULE_UPDATED=> 8; #OK (pairs modified)
use constant RLM_MODULE_NUMCODES=> 9; #How many return codes there are
use constant RLM_MODULE_UPDATED=> 8; #OK (pairs modified)
use constant RLM_MODULE_NUMCODES=> 9; #How many return codes there are
-sub auth
enticat
e {
+sub auth
oriz
e {
- #
my $src = $RAD_REQUEST{'User-Name'}
;
+ #
&log_request_attributes()
;
-# my $response = call_time( 'src' => $RAD_REQUEST{'Calling-Station-Id'},
-# 'dst' => $RAD_REQUEST{'Called-Station-Id'}, );
-#
-# if $response{$
+ my $response = call_time( 'src' => $RAD_REQUEST{'Calling-Station-Id'},
+ 'dst' => $RAD_REQUEST{'Called-Station-Id'}, );
- $RAD_REPLY{'Session-Timeout'} = 420;
- return RLM_MODULE_UPDATED;
+ if ( $response->{'error'} ) {
+ $RAD_REPLY{'Reply-Message'} = $response->{'error'};
+ return RLM_MODULE_REJECT;
+ } else {
+ $RAD_REPLY{'Session-Timeout'} = $response->{'seconds'};
+ return RLM_MODULE_OK;
+ }
}
}