Provided by: libnet-radius-perl_2.103+dfsg-1.1_all bug

NAME

       Net::Radius::Dictionary - RADIUS dictionary parser

SYNOPSIS

         use Net::Radius::Dictionary;

         my $dict = new Net::Radius::Dictionary "/etc/radius/dictionary";
         $dict->readfile("/some/other/file");
         my $num = $dict->attr_num('User-Name');
         my $name = $dict->attr_name(1);
         my $vsa_num = $dict->vsattr_num(9, 'cisco-avpair');
         my $vsa_name = $dict->vsattr_name(9, 1);

DESCRIPTION

       This is a simple module that reads a RADIUS dictionary file and parses it, allowing
       conversion between dictionary names and numbers.  Vendor-Specific attributes are supported
       in a way consistent to the standards.

       A few earlier versions of this module attempted to make dictionaries case-insensitive.
       This proved to be a very bad decision. From this version on, this tendency is reverted:
       Dictionaries and its contents are to be case-sensitive to prevent random, hard to debug
       failures in production code.

   METHODS
       new($dict_file, ...)
           Returns a new instance of a Net::Radius::Dictionary object. This object will have no
           attributes defined, as expected.

           If given an (optional) list of filenames, it calls readfile for you for all of them,
           in the given order.

       ->readfile($dict_file)
           Parses a dictionary file and learns the mappings to use. It can be called multiple
           times for the same object. The result will be that new entries will override older
           ones, thus you could load a default dictionary and then have a smaller dictionary that
           override specific entries.

       ->vendor_num($vendorname)
           Return the vendor number for the given vendor name.

       ->attr_num($attrname)
           Returns the number of the named attribute.

       ->attr_type($attrname)
           Returns the type (string, integer, ipaddr, or time) of the named attribute.

       ->attr_name($attrnum)
           Returns the name of the attribute with the given number.

       ->attr_numtype($attrnum)
           Returns the type of the attribute with the given number.

       ->attr_has_val($attrnum)
           Returns a true or false value, depending on whether or not the numbered attribute has
           any known value constants.

       ->val_has_name($attrnum)
           Alternate (bad) name for attr_has_val.

       ->val_num($attrnum, $valname)
           Returns the number of the named value for the attribute number supplied.

       ->val_name($attrnum, $valnumber)
           Returns the name of the numbered value for the attribute number supplied.

       There is an equivalent family of accessor methods for Vendor-Specific attributes and its
       values. Those methods are identical to their standard attributes counterparts with two
       exceptions. Their names have a vsa prepended to the accessor name and the first argument
       to each one is the vendor code on which they apply.

CAVEATS

       This module is mostly for the internal use of Net::Radius::Packet, and may otherwise cause
       insanity and/or blindness if studied.

AUTHOR

       Christopher Masto <chris@netmonger.net>, Luis E. Muñoz <luismunoz@cpan.org> contributed
       the VSA code.

SEE ALSO

       Net::Radius::Packet