NAME
Parse::IASLog - A parser for Microsoft IAS-formatted log entries.
SYNOPSIS
Function Interface:
use strict;
use Data::Dumper;
use Parse::IASLog;
while (<>) {
chomp;
my $record = parse_ias( $_, enumerate => 0 );
next unless $record;
print Dumper( $record );
}
Object Interface:
use strict;
use Data::Dumper;
use Parse::IASLog;
my $ias = Parse::IASLog->new( enumerate => 0 );
while (<>) {
chomp;
my $record = $ias->parse( $_ );
next unless $record;
print Dumper( $record );
}
DESCRIPTION
Parse::IASLog provides a convenient way of parsing lines of text that are formatted in Microsoft Internet Authentication Service (IAS) log format, where attributes are logged as attribute-value pairs.
The parser takes lines of IAS-formatted text and returns on successful parsing a hashref record containing the applicable RADIUS attributes and values.
The module provides a perl implementation of the Iasparse tool.
FUNCTION INTERFACE
Using the module automagically imports 'parse_ias' into your namespace.
- parse_ias
-
Takes a string of IAS-formatted text as the first parameter. Subsequent parameter pairs are treated as options. See new() for full details regarding optional parameters. Returns a hashref on success or undef on failure. See below for the format of the hashref returned.
OBJECT INTERFACE
CONSTRUCTOR
- new
-
Creates a new Parse::IASLog object. Takes one optional parameter:
'enumerate', set to a false value to disable the enumeration of known attribute values, default is 1;
METHODS
- parse
-
Takes a string of IAS-formatted text. Returns a hashref on success or undef on failure.
The hashref will contain RADIUS attributes as keys. The following 'header' attributes should always be present:
'NAS-IP-Address', The IP address of the NAS sending the request; 'User-Name', The user name that is requesting access; 'Record-Date', The date that the log was written; 'Record-Time', The time that the log was written; 'Service-Name', The name of the service that is running in the RADIUS server; 'Computer-Name', The name of the RADIUS server;
AUTHOR
Chris BinGOs
Williams <chris@bingosnet.co.uk>
LICENSE
Copyright (c)
Chris Williams
This module may be used, modified, and distributed under the same terms as Perl itself. Please see the license that came with your Perl distribution for details.