Net::Radius::Server::NS - Use Net::Server to provide a Net::Radius::Server
use Net::Radius::Server::NS;
"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. See
"Net::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.
$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
Perl(1), nrsd(8), Net::Server(3),
Net::Radius::Dictionary(3), Net::Radius::Server(3).
Luis E. Muñoz, <luismunoz@cpan.org>
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.
Hey! The above document had some coding errors, which are explained
below:
- Around line 332:
- Non-ASCII character seen before =encoding in 'Muñoz,'. Assuming
UTF-8