NAME
Net::Radius::Server::NS - Use Net::Server to provide a Net::Radius::Server
SYNOPSIS
use Net::Radius::Server::NS;
DESCRIPTION
Net::Radius::Server::NS
leverages Net::Server
to receive, process and respond RADIUS requests using the Net::Radius::Server
framework.
The nrsd
script included in the Net::Radius::Server
distribution ties in with this module and performs an invocation suitable for running a production RADIUS server. Usually, the invocation will look like the following example:
nrsd --conf_file nrsd.cfg
The configuration file (or any other means of configuration supported by Net::Server(3)) must include the following entries:
- nrs_rule_script
-
Specify the name of a Perl script that will initialize the rules used to process RADIUS requests. Rules will usually be objects of either Net::Radius::Server::Rule(3) or a derived class.
Invocation of the script is done through a
require
.The script must return a reference to the list of rules to apply. Rules will be applied using their respective
->eval()
methods in the order they appear in the list. Each->eval()
method will receive the same, fully initialized invocation hashref. SeeNet::Radius::Server
for more information in the contents of the invocation hashref. - nrs_secret_script
-
Specify the name of a Perl script that will provide a method used to determine what shared secret to use in decoding incoming RADIUS packets.
Invocation of the script is done through a
require
.The script must return a reference to a function that will be called for each request. The return value of this sub must be the RADIUS shared secret that must be used to decode the request packet and to encode the eventual response.
At the time this sub is invoked, the RADIUS packet is not yet decoded. Therefore, only the following entries in the invocation hashref are available: packet, peer_addr, peer_host, peer_port, port, sockaddr and server.
See
Net::Radius::Server
for more information in the contents of the invocation hashref. - nrs_dictionary_script
-
Specify the name of a Perl script that will provide a method used to determine what dictionary to use in decoding incoming RADIUS packets.
Invocation of the script is done through a
require
.The script must return a reference to a function that will be called for each request. The return value of this sub must be the RADIUS dictionary that must be used to decode the request packet and to encode the eventual response. The RADIUS dictionary will usually be a
Net::Radius::Dictionary
object.At the time this sub is invoked, the RADIUS packet is not yet decoded. Therefore, only the following entries in the invocation hashref are available: packet, peer_addr, peer_host, peer_port, port, sockaddr, server and secret.
See
Net::Radius::Server
for more information in the contents of the invocation hashref.
The output of any of the scripts will be logged, as these are not expected to produce output under normal circumstances.
EXPORT
None by default.
HISTORY
$Log$
Revision 1.8 2006/12/14 16:33:17 lem
Rules and methods will only report failures in log level 3 and
above. Level 4 report success and failure, for deeper debugging
Revision 1.7 2006/12/14 16:25:33 lem
Improved logging messages - Use log level 2 for normal
operation. Level 1 is very un-verbose. Levels 3 and 4 provide
increasing debug messages
Revision 1.6 2006/12/14 15:52:25 lem
Fix CVS tags
SEE ALSO
Perl(1), nrsd(8), Net::Server(3), Net::Radius::Dictionary(3), Net::Radius::Server(3).
AUTHOR
Luis E. Muñoz, <luismunoz@cpan.org>
COPYRIGHT AND LICENSE
Copyright (C) 2006 by Luis E. Muñoz
This library is free software; you can redistribute it and/or modify it under the same terms as Perl 5.8.6 itself.
1 POD Error
The following errors were encountered while parsing the POD:
- Around line 332:
Non-ASCII character seen before =encoding in 'Muñoz,'. Assuming UTF-8