Luis Muñoz > Net-Radius-Server > Net::Radius::Server::Rule

Download:
Net-Radius-Server-1.116.tar.gz

Dependencies

Annotate this POD

CPAN RT

New  1
Open  1
View/Report Bugs
Module Version: 1.075   Source  

NAME ^

Net::Radius::Server::Rule - Rules for Net::Radius::Server

SYNOPSIS ^

  use Net::Radius::Server::Rule;
  my $rule = new Net::Radius::Server::Rule({
    match_methods => \@match_methods,
    set_methods => \@set_methods,
  });

  # Deep within the bowels of a RADIUS server...
  my $ret = $rule->eval(\%info);
  ...

DESCRIPTION ^

Net::Radius::Server::Rule implements a simple mechanism to evaluate RADIUS request packets using match methods. After the match methods determine that the given rule applies to the request, the set methods can modify a response packet to be sent to the RADIUS client.

Evaluation and application of the rule is done by the ->eval() method. This is normally invoked within the server code. \%info is a hashref with the same structure described in Net::Radius::Server.

The following attributes are available for object creation or manipulation via accessors created with Class::Accessor:

match_methods

A reference to a list of match methods to be invoked in order. All the provided methods must match (ie, return NRS_MATCH_OK) in order for the rule to be applied.

set_methods

A reference to a list of match methods to be invoked in order, in case the rule can be applied to the current request. The return value of the last set method executed will be returned by the ->eval() method.

If no set methods are specified, Net::Radius::Server::Rule returns NRS_SET_DISCARD by default.

description

This attribute is inherited, and allows for the specification of a name for this rule. Defaults to the class, file and line where this rule has been created.

The return value of the ->eval() method is defined by the last set method executed. undef is returned if the rule did not match.

EXPORT

None by default.

HISTORY ^

  $Log$
  Revision 1.7  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.6  2006/12/14 15:52:25  lem
  Fix CVS tags

SEE ALSO ^

Perl(1), Class::Accessor(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.

syntax highlighting: