The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

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. 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.

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