NAME

Data::Radius - module to encode/decode RADIUS messages

SYNOPSYS

use Data::Radius::Constants qw(:all);
use Data::Radius::Packet;

my $dictionary = Data::Radius::Dictionary->load_file('./radius/dictionary');
my $packet = Data::Radius::Packet->new(secret => 'top-secret', dict => $dictionary);

# build request packet:
my ($request, $req_id, $authenticator) = $packet->build(
    type => ACCESS_REQUEST,
    av_list => [
        { Name => 'User-Name', Value => 'JonSnow'},
        { Name => 'User-Password', Value => 'Castle Black' },
        { Name => 'Message-Authenticator', Value => '' },
    ],
);

# ... send $request and read $reply binary packets from RADIUS server

# parse reply packet:
my ($reply_type, $reply_id, $reply_authenticator, $av_list) = $packet->parse($reply, $authenticator);

SEE ALSO

Data::Radius::Packet

AUTHOR

Sergey Leschenko <sergle.ua at gmail.com>

PortaOne Development Team <perl-radius at portaone.com> is the current module's maintainer at CPAN.

COPYRIGHT & LICENSE

Copyright 2016 PortaOne Inc., all rights reserved.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.