Authen-Simple-RADIUS-0.1/0040755000076500007650000000000010356613647014663 5ustar chansenchansenAuthen-Simple-RADIUS-0.1/Build.PL0100644000076500007650000000053510356613647016157 0ustar chansenchansenuse strict; use Module::Build; my $build = Module::Build->new( license => 'perl', module_name => 'Authen::Simple::RADIUS', requires => { 'Authen::Simple' => 0, 'Authen::Radius' => 0, }, create_makefile_pl => 'traditional', create_readme => 1 ); $build->create_build_script; Authen-Simple-RADIUS-0.1/Changes0100644000076500007650000000014610356613647016154 0ustar chansenchansenRevision history for Perl extension Authen::Simple::RADIUS 0.01 2006-01-03 00:00 - first release Authen-Simple-RADIUS-0.1/lib/0040755000076500007650000000000010356613647015431 5ustar chansenchansenAuthen-Simple-RADIUS-0.1/lib/Authen/0040755000076500007650000000000010356613647016655 5ustar chansenchansenAuthen-Simple-RADIUS-0.1/lib/Authen/Simple/0040755000076500007650000000000010356613647020106 5ustar chansenchansenAuthen-Simple-RADIUS-0.1/lib/Authen/Simple/RADIUS.pm0100644000076500007650000000626510356613647021441 0ustar chansenchansenpackage Authen::Simple::RADIUS; use strict; use warnings; use base 'Authen::Simple::Adapter'; use Authen::Radius; use Params::Validate qw[]; our $VERSION = 0.1; __PACKAGE__->options({ host => { type => Params::Validate::SCALAR, default => 'localhost', optional => 1 }, port => { type => Params::Validate::SCALAR, default => 1812, optional => 1 }, timeout => { type => Params::Validate::SCALAR, default => 10, optional => 1 }, secret => { type => Params::Validate::SCALAR, optional => 0 } }); sub check { my ( $self, $username, $password ) = @_; my $connection = Authen::Radius->new( Host => sprintf( "%s:%d", $self->host, $self->port ), Secret => $self->secret, Timeout => $self->timeout ); unless ( defined $connection ) { my $host = $self->host; $self->log->error( qq/Failed to connect to '$host'. Reason: '$@'/ ) if $self->log; return 0; } unless ( $connection->check_pwd( $username, $password ) ) { my $error = $connection->strerror; $self->log->debug( qq/Failed to authenticate user '$username'. Reason: '$error'/ ) if $self->log; return 0; } $self->log->debug( qq/Successfully authenticated user '$username'./ ) if $self->log; return 1; } 1; __END__ =head1 NAME Authen::Simple::RADIUS - Simple RADIUS authentication =head1 SYNOPSIS use Authen::Simple::RADIUS; my $radius = Authen::Simple::RADIUS->new( host => 'radius.company.com', secret => 'secret' ); if ( $radius->authenticate( $username, $password ) ) { # successfull authentication } # or as a mod_perl Authen handler PerlModule Authen::Simple::Apache PerlModule Authen::Simple::RADIUS PerlSetVar AuthenSimpleRADIUS_host "radius.company.com" PerlSetVar AuthenSimpleRADIUS_pdc "secret" PerlAuthenHandler Authen::Simple::RADIUS AuthType Basic AuthName "Protected Area" Require valid-user =head1 DESCRIPTION RADIUS authentication. =head1 METHODS =over 4 =item * new This method takes a hash of parameters. The following options are valid: =over 8 =item * host Connection host, can be a hostname or IP address. Defaults to C. host => 'ldap.company.com' host => '10.0.0.1' =item * port Connection port, default to C<1812>. port => 1645 =item * timeout Connection timeout, defaults to C<10>. timeout => 20 =item * secret Shared secret. Required. secret => 'mysecret' =item * log Any object that supports C, C, C and C. log => Log::Log4perl->get_logger('Authen::Simple::RADIUS') =back =item * authenticate( $username, $password ) Returns true on success and false on failure. =back =head1 SEE ALSO L. L. =head1 AUTHOR Christian Hansen C =head1 COPYRIGHT This program is free software, you can redistribute it and/or modify it under the same terms as Perl itself. =cut Authen-Simple-RADIUS-0.1/Makefile.PL0100644000076500007650000000070510356613647016634 0ustar chansenchansen# Note: this file was auto-generated by Module::Build::Compat version 0.03 use ExtUtils::MakeMaker; WriteMakefile ( 'NAME' => 'Authen::Simple::RADIUS', 'VERSION_FROM' => 'lib/Authen/Simple/RADIUS.pm', 'PREREQ_PM' => { 'Authen::Radius' => '0', 'Authen::Simple' => '0' }, 'INSTALLDIRS' => 'site', 'PL_FILES' => {} ) ; Authen-Simple-RADIUS-0.1/MANIFEST0100644000076500007650000000021510356613647016007 0ustar chansenchansenBuild.PL Changes lib/Authen/Simple/RADIUS.pm MANIFEST This list of files t/01use.t t/02pod.t t/03podcoverage.t META.yml Makefile.PL README Authen-Simple-RADIUS-0.1/META.yml0100644000076500007650000000051010356613647016125 0ustar chansenchansen--- name: Authen-Simple-RADIUS version: 0.1 author: - Christian Hansen C abstract: Simple RADIUS authentication license: perl requires: Authen::Radius: 0 Authen::Simple: 0 provides: Authen::Simple::RADIUS: file: lib/Authen/Simple/RADIUS.pm version: 0.1 generated_by: Module::Build version 0.2611 Authen-Simple-RADIUS-0.1/README0100644000076500007650000000367410356613647015552 0ustar chansenchansenNAME Authen::Simple::RADIUS - Simple RADIUS authentication SYNOPSIS use Authen::Simple::RADIUS; my $radius = Authen::Simple::RADIUS->new( host => 'radius.company.com', secret => 'secret' ); if ( $radius->authenticate( $username, $password ) ) { # successfull authentication } # or as a mod_perl Authen handler PerlModule Authen::Simple::Apache PerlModule Authen::Simple::RADIUS PerlSetVar AuthenSimpleRADIUS_host "radius.company.com" PerlSetVar AuthenSimpleRADIUS_pdc "secret" PerlAuthenHandler Authen::Simple::RADIUS AuthType Basic AuthName "Protected Area" Require valid-user DESCRIPTION RADIUS authentication. METHODS * new This method takes a hash of parameters. The following options are valid: * host Connection host, can be a hostname or IP address. Defaults to "localhost". host => 'ldap.company.com' host => '10.0.0.1' * port Connection port, default to 1812. port => 1645 * timeout Connection timeout, defaults to 10. timeout => 20 * secret Shared secret. Required. secret => 'mysecret' * log Any object that supports "debug", "info", "error" and "warn". log => Log::Log4perl->get_logger('Authen::Simple::RADIUS') * authenticate( $username, $password ) Returns true on success and false on failure. SEE ALSO Authen::Simple. Authen::Radius. AUTHOR Christian Hansen "ch@ngmedia.com" COPYRIGHT This program is free software, you can redistribute it and/or modify it under the same terms as Perl itself. Authen-Simple-RADIUS-0.1/t/0040755000076500007650000000000010356613647015126 5ustar chansenchansenAuthen-Simple-RADIUS-0.1/t/01use.t0100644000076500007650000000007610356613647016250 0ustar chansenchansenuse Test::More tests => 1; use_ok('Authen::Simple::RADIUS'); Authen-Simple-RADIUS-0.1/t/02pod.t0100644000076500007650000000027610356613647016241 0ustar chansenchansenuse Test::More; eval "use Test::Pod 1.14"; plan skip_all => 'Test::Pod 1.14 required' if $@; plan skip_all => 'set TEST_POD to enable this test' unless $ENV{TEST_POD}; all_pod_files_ok(); Authen-Simple-RADIUS-0.1/t/03podcoverage.t0100644000076500007650000000036510356613647017755 0ustar chansenchansenuse Test::More; eval "use Test::Pod::Coverage 1.04"; plan skip_all => 'Test::Pod::Coverage 1.04 required' if $@; plan skip_all => 'set TEST_POD to enable this test' unless $ENV{TEST_POD}; all_pod_coverage_ok( { trustme => [ qr/^check$/ ] } );