environments/ppa-mbqj77/deployments/1
parent
e40020674a
commit
81553b7a5e
@ -0,0 +1,86 @@ |
||||
|
||||
package FakeApacheRequest; |
||||
|
||||
sub hostname { |
||||
return "test1.example.com"; |
||||
} |
||||
|
||||
# Before `make install' is performed this script should be runnable with |
||||
# `make test'. After `make install' it should work as `perl Lemonldap-NG-Handler.t' |
||||
|
||||
######################### |
||||
|
||||
# change 'tests => 1' to 'tests => last_test_to_print'; |
||||
package LemonldapNGHandlerMain; |
||||
use strict; |
||||
use warnings; |
||||
|
||||
use Test::More tests => 10; |
||||
BEGIN { use_ok( 'Lemonldap::NG::Handler::Main', qw(:all $apacheRequest) ) } |
||||
|
||||
# get a fake apacheRequest to simulate subroutine hostname |
||||
$Lemonldap::NG::Handler::Main::apacheRequest = bless {}, 'FakeApacheRequest'; |
||||
|
||||
# get a standard basic configuration in $args hashref |
||||
use Cwd 'abs_path'; |
||||
use File::Basename; |
||||
use lib dirname( abs_path $0 ); |
||||
|
||||
######################### |
||||
|
||||
# Insert your test code below, the Test::More module is use()ed here so read |
||||
# its man page ( perldoc Test::More ) for help writing this test script. |
||||
my $h; |
||||
$h = bless {}, 'Lemonldap::NG::Handler::Main'; |
||||
|
||||
open STDERR, '>/dev/null'; |
||||
ok( |
||||
$h->localInit( |
||||
{ |
||||
localStorage => 'Cache::FileCache', |
||||
localStorageOptions => { 'namespace' => 'lemonldap-ng-sessions', }, |
||||
} |
||||
), |
||||
'localInit' |
||||
); |
||||
|
||||
my $args = { |
||||
'portal' => 'http://auth.example.com/', |
||||
'globalStorage' => 'Apache::Session::File', |
||||
'post' => {}, |
||||
'locationRules' => { |
||||
'test1.example.com' => { |
||||
# Basic rules |
||||
'default' => 'accept', |
||||
'^/no' => 'deny', |
||||
'test' => '$groups =~ /\badmin\b/', |
||||
|
||||
# Bad ordered rules |
||||
'^/a/a' => 'deny', |
||||
'^/a' => 'accept', |
||||
|
||||
# Good ordered rules |
||||
'(?#1 first)^/b/a' => 'deny', |
||||
'(?#2 second)^/b' => 'accept', |
||||
}, |
||||
}, |
||||
}; |
||||
|
||||
# includes |
||||
# - defaultValuesInit |
||||
# - portalInit |
||||
# - locationRulesInit |
||||
# - globalStorageInit |
||||
# - headerListInit |
||||
# - forgeHeadersInit |
||||
# - postUrlInit |
||||
ok( $h->globalInit($args), 'globalInit' ); |
||||
|
||||
ok( $h->portal() eq 'http://auth.example.com/', 'portal' ); |
||||
|
||||
ok( $h->grant('/s'), 'basic rule "accept"' ); |
||||
ok( !$h->grant('/no'), 'basic rule "deny"' ); |
||||
ok( $h->grant('/a/a'), 'bad ordered rule 1/2' ); |
||||
ok( $h->grant('/a'), 'bad ordered rule 2/2' ); |
||||
ok( !$h->grant('/b/a'), 'good ordered rule 1/2' ); |
||||
ok( $h->grant('/b'), 'good ordered rule 2/2' ); |
@ -1,76 +0,0 @@ |
||||
# Before `make install' is performed this script should be runnable with |
||||
# `make test'. After `make install' it should work as `perl Lemonldap-NG-Handler.t' |
||||
|
||||
######################### |
||||
|
||||
# change 'tests => 1' to 'tests => last_test_to_print'; |
||||
|
||||
use Test::More tests => 15; |
||||
BEGIN { use_ok( 'Lemonldap::NG::Handler::Simple', ':all' ) } |
||||
|
||||
######################### |
||||
|
||||
# Insert your test code below, the Test::More module is use()ed here so read |
||||
# its man page ( perldoc Test::More ) for help writing this test script. |
||||
my $h; |
||||
$h = bless {}, 'Lemonldap::NG::Handler::Simple'; |
||||
ok( |
||||
$h->localInit( |
||||
{ |
||||
localStorage => 'Cache::FileCache', |
||||
localStorageOptions => { 'namespace' => 'lemonldap-ng-sessions', }, |
||||
} |
||||
), |
||||
'localInit' |
||||
); |
||||
|
||||
ok( |
||||
$h->locationRulesInit( |
||||
{ |
||||
locationRules => { |
||||
|
||||
# Basic rules |
||||
default => 'accept', |
||||
'^/no' => 'deny', |
||||
'test' => '$groups =~ /\badmin\b/', |
||||
|
||||
# Bad ordered rules |
||||
'^/a/a' => 'deny', |
||||
'^/a' => 'accept', |
||||
|
||||
# Good ordered rules |
||||
'(?#1 first)^/b/a' => 'deny', |
||||
'(?#2 second)^/b' => 'accept', |
||||
}, |
||||
} |
||||
), |
||||
'locationRulesInit' |
||||
); |
||||
|
||||
ok( $h->defaultValuesInit(), 'defaultValuesInit' ); |
||||
|
||||
# Test simple portal subroutine |
||||
# See t/02-* for complex portal subroutine |
||||
ok( ( $h->portalInit( { portal => 'http://auth.example.com' } ) or 1 ), |
||||
'portalInit' ); |
||||
ok( $h->portal() eq 'http://auth.example.com', 'portal' ); |
||||
ok( |
||||
$h->globalStorageInit( |
||||
{ |
||||
globalStorage => 'Apache::Session::File', |
||||
globalStorageOptions => {}, |
||||
} |
||||
), |
||||
'globalStorageInit' |
||||
); |
||||
ok( $h->forgeHeadersInit, 'forgeHeadersInit' ); |
||||
ok( $h->forgeHeadersInit( { exportedHeaders => { Auth => '$uid', } } ), |
||||
'forgeHeadersInit 2' ); |
||||
|
||||
open STDERR, '>/dev/null'; |
||||
ok( $h->grant('/s'), 'basic rule "accept"' ); |
||||
ok( !$h->grant('/no'), 'basic rule "deny"' ); |
||||
ok( $h->grant('/a/a'), 'bad ordered rule 1/2' ); |
||||
ok( $h->grant('/a'), 'bad ordered rule 2/2' ); |
||||
ok( !$h->grant('/b/a'), 'good ordered rule 1/2' ); |
||||
ok( $h->grant('/b'), 'good ordered rule 2/2' ); |
@ -0,0 +1,57 @@ |
||||
# Before `make install' is performed this script should be runnable with |
||||
# `make test'. After `make install' it should work as `perl Lemonldap-NG-Handler.t' |
||||
|
||||
######################### |
||||
|
||||
# change 'tests => 1' to 'tests => last_test_to_print'; |
||||
no warnings; |
||||
use Test::More; #qw(no_plan) |
||||
|
||||
my $numTests = 2; |
||||
eval { require Test::MockObject } |
||||
or { $numTests = 1 |
||||
and warn "Warning: Test::MockObject is needed to run deeper tests\n" }; |
||||
|
||||
plan tests => $numTests; |
||||
|
||||
# get a standard basic configuration in $args hashref |
||||
use Cwd 'abs_path'; |
||||
use File::Basename; |
||||
use lib dirname( abs_path $0 ); |
||||
|
||||
open STDERR, '>/dev/null'; |
||||
|
||||
######################### |
||||
|
||||
# Insert your test code below, the Test::More module is use()ed here so read |
||||
# its man page ( perldoc Test::More ) for help writing this test script. |
||||
use_ok( 'Lemonldap::NG::Handler::Main', ':all' ); |
||||
|
||||
if ( $numTests == 2 ) { |
||||
my $h; |
||||
$h = bless {}, 'Lemonldap::NG::Handler::Main'; |
||||
|
||||
# Portal value with $vhost |
||||
# $vhost -> test.example.com |
||||
|
||||
# Create a fake Apache2::RequestRec |
||||
my $mock = Test::MockObject->new(); |
||||
$mock->fake_module( |
||||
'Apache2::RequestRec' => new => |
||||
sub { return bless {}, 'Apache2::RequestRec' }, |
||||
hostname => sub { 'test.example.com' }, |
||||
); |
||||
our $apacheRequest = Apache2::RequestRec->new(); |
||||
|
||||
my $portal = '"http://".$vhost."/portal"'; |
||||
|
||||
my $args = { |
||||
'portal' => "$portal", |
||||
'globalStorage' => 'Apache::Session::File', |
||||
'post' => {}, |
||||
}; |
||||
$h->globalInit($args); |
||||
|
||||
ok( ( $h->portal() eq 'http://test.example.com/portal' ), |
||||
'Portal value with $vhost' ); |
||||
} |
@ -1,38 +0,0 @@ |
||||
# Before `make install' is performed this script should be runnable with |
||||
# `make test'. After `make install' it should work as `perl Lemonldap-NG-Handler.t' |
||||
|
||||
######################### |
||||
|
||||
# change 'tests => 1' to 'tests => last_test_to_print'; |
||||
no warnings; |
||||
use Test::More; #qw(no_plan) |
||||
|
||||
eval { require Test::MockObject } |
||||
or plan skip_all => 'Test::MockObject required to test portal subroutine'; |
||||
plan tests => 2; |
||||
|
||||
######################### |
||||
|
||||
# Insert your test code below, the Test::More module is use()ed here so read |
||||
# its man page ( perldoc Test::More ) for help writing this test script. |
||||
use_ok( 'Lemonldap::NG::Handler::Simple', ':all' ); |
||||
my $h; |
||||
$h = bless {}, 'Lemonldap::NG::Handler::Simple'; |
||||
|
||||
# Portal value with $vhost |
||||
# $vhost -> test.example.com |
||||
|
||||
# Create a fake Apache2::RequestRec |
||||
my $mock = Test::MockObject->new(); |
||||
$mock->fake_module( |
||||
'Apache2::RequestRec' => new => |
||||
sub { return bless {}, 'Apache2::RequestRec' }, |
||||
hostname => sub { 'test.example.com' }, |
||||
); |
||||
our $apacheRequest = Apache2::RequestRec->new(); |
||||
|
||||
my $portal = '"http://".$vhost."/portal"'; |
||||
$h->portalInit( { portal => $portal } ); |
||||
ok( ( $h->portal() eq 'http://test.example.com/portal' ), |
||||
'Portal value with $vhost' ); |
||||
|
@ -0,0 +1,102 @@ |
||||
# Before `make install' is performed this script should be runnable with |
||||
# `make test'. After `make install' it should work as `perl Lemonldap-NG-Handler-Vhost.t' |
||||
|
||||
######################### |
||||
|
||||
# change 'tests => 1' to 'tests => last_test_to_print'; |
||||
|
||||
package My::Package; |
||||
|
||||
use Test::More tests => 15; |
||||
|
||||
BEGIN { |
||||
use_ok('Lemonldap::NG::Handler::Initialization::LocalInit'); |
||||
} |
||||
|
||||
######################### |
||||
|
||||
# Insert your test code below, the Test::More module is use()ed here so read |
||||
# its man page ( perldoc Test::More ) for help writing this test script. |
||||
|
||||
ok( |
||||
my $localinit = Lemonldap::NG::Handler::Initialization::LocalInit->new( |
||||
localStorage => undef, |
||||
refLocalStorage => undef, |
||||
localStorageOptions => undef, |
||||
childInitDone => undef, |
||||
), |
||||
'new LocalInit object' |
||||
); |
||||
|
||||
ok( |
||||
my ( |
||||
$localStorage, $refLocalStorage, $localStorageOptions, |
||||
$statusPipe, $statusOut, $childInitDone |
||||
) |
||||
= $localinit->localInit( |
||||
{ |
||||
localStorage => 'Cache::FileCache', |
||||
localStorageOptions => { 'namespace' => 'lemonldap-ng-sessions', }, |
||||
status => 1, |
||||
} |
||||
), |
||||
'LocalInit methods: localInit' |
||||
); |
||||
|
||||
ok( |
||||
( |
||||
$localStorage eq 'Cache::FileCache' |
||||
and $localStorageOptions->{'namespace'} eq 'lemonldap-ng-sessions' |
||||
and $childInitDone == 1 |
||||
), |
||||
'LocalInit methods: localInit values' |
||||
); |
||||
|
||||
ok( |
||||
|
||||
# purgeCache does not return anything but dies if an error occurs |
||||
!defined( $localinit->purgeCache ), |
||||
'LocalInit methods: purgeCache' |
||||
); |
||||
|
||||
ok( $localinit->statusProcess == 0, 'LocalInit methods: statusProcess' ); |
||||
|
||||
ok( $localinit->childInit, 'LocalInit methods: childInit' ); |
||||
|
||||
ok( $localinit->initLocalStorage, 'LocalInit methods: initLocalStorage' ); |
||||
|
||||
ok( $statusPipe->isa('IO::Pipe::End'), 'status pipe: In pipe' ); |
||||
|
||||
ok( $statusOut->isa('IO::Pipe::End'), 'status pipe: Out pipe' ); |
||||
|
||||
ok( print( $statusPipe "uid => / OK\nuid => / OK\nuid => /no REJECT\n" ), |
||||
'status pipe: New requests' ); |
||||
|
||||
ok( print( $statusPipe "STATUS\n" ), 'status pipe: Status request' ); |
||||
|
||||
ok( &read, 'status pipe: Status result' ); |
||||
|
||||
ok( close($statusOut), 'status pipe: close out pipe' ); |
||||
|
||||
ok( close($statusPipe), 'status pipe: close in pipe' ); |
||||
|
||||
sub read { |
||||
my $ok = 0; |
||||
|
||||
#open LOG, '>/tmp/log'; |
||||
while (<$statusOut>) { |
||||
|
||||
#print LOG $_; |
||||
$ok++ if (/^OK\s+:\s*2\s*\(2\.00\s*\/\s*mn\)$/); |
||||
$ok++ if (/^REJECT\s+:\s*1\s*\(1\.00\s*\/\s*mn\)$/); |
||||
if (/^END$/) { |
||||
$ok++; |
||||
last; |
||||
} |
||||
} |
||||
|
||||
#print LOG "$ok\n"; |
||||
#close LOG; |
||||
return ( $ok == 3 ); |
||||
} |
||||
|
@ -0,0 +1,89 @@ |
||||
# Before `make install' is performed this script should be runnable with |
||||
# `make test'. After `make install' it should work as `perl Lemonldap-NG-Handler-SharedConf.t' |
||||
|
||||
######################### |
||||
|
||||
# change 'tests => 1' to 'tests => last_test_to_print'; |
||||
|
||||
use Test::More; |
||||
use Cwd 'abs_path'; |
||||
use File::Basename; |
||||
my $numTests = 3; |
||||
unless ( eval { require Test::MockObject } ) { |
||||
$numTests = 1; |
||||
warn "Warning: Test::MockObject is needed to run deeper tests\n"; |
||||
} |
||||
|
||||
plan tests => $numTests; |
||||
|
||||
use Env qw($lmTestConfig); |
||||
$lmTestConfig = { |
||||
configStorage => { |
||||
type => 'File', |
||||
dirName => dirname( abs_path($0) ), |
||||
localStorage => 'Cache::FileCache', |
||||
localStorageOptions => { |
||||
'namespace' => 'lemonldap-ng-config', |
||||
'default_expires_in' => 600, |
||||
'directory_umask' => '007', |
||||
'cache_root' => '/tmp', |
||||
'cache_depth' => 0, |
||||
} |
||||
}, |
||||
}; |
||||
|
||||
open STDERR, '>/dev/null'; |
||||
|
||||
######################### |
||||
|
||||
# Insert your test code below, the Test::More module is use()ed here so read |
||||
# its man page ( perldoc Test::More ) for help writing this test script. |
||||
|
||||
use_ok('Lemonldap::NG::Handler::DefaultHandler'); |
||||
|
||||
if ( $numTests == 3 ) { |
||||
|
||||
# we don't want to use all Apache::* stuff |
||||
$ENV{MOD_PERL} = undef; |
||||
$ENV{MOD_PERL_API_VERSION} = 2; |
||||
|
||||
# Create a fake Apache2::RequestRec |
||||
my $mock = Test::MockObject->new(); |
||||
$mock->fake_module( |
||||
'Apache2::RequestRec' => new => |
||||
sub { return bless {}, 'Apache2::RequestRec' }, |
||||
hostname => sub { 'test.example.com' }, |
||||
is_initial_req => sub { '1' }, |
||||
args => sub { undef }, |
||||
unparsed_uri => sub { '/' }, |
||||
uri => sub { '/' }, |
||||
get_server_port => sub { '80' }, |
||||
get_server_name => sub { 'test.example.com' }, |
||||
remote_ip => sub { '127.0.0.1' }, |
||||
); |
||||
$mock->fake_module( |
||||
'Apache2::URI' => new => sub { return bless {}, 'Apache2::URI' }, |
||||
unescape_url => sub { return $_ }, |
||||
); |
||||
my $ret; |
||||
$mock->fake_module( 'Lemonldap::NG::Handler::Main::Headers', |
||||
lmSetHeaderOut => sub { $ret = join( ':', $_[2], $_[3], ); }, ); |
||||
|
||||
our $apacheRequest = Apache2::RequestRec->new(); |
||||
|
||||
my $h = bless {}, 'Lemonldap::NG::Handler::DefaultHandler'; |
||||
|
||||
ok( |
||||
$h->Lemonldap::NG::Handler::DefaultHandler::run($apacheRequest), |
||||
'run DefaultHandler with basic configuration and no cookie' |
||||
); |
||||
|
||||
ok( |
||||
"$ret" eq |
||||
'Location:http://auth.example.com/?url=aHR0cDovL3Rlc3QuZXhhbXBsZS5jb20v', |
||||
'testing redirection URL from previous run' |
||||
); |
||||
|
||||
} |
||||
|
||||
$lmTestConfig = undef; |
@ -1,15 +0,0 @@ |
||||
# Before `make install' is performed this script should be runnable with |
||||
# `make test'. After `make install' it should work as `perl Lemonldap-NG-Handler-SharedConf.t' |
||||
|
||||
######################### |
||||
|
||||
# change 'tests => 1' to 'tests => last_test_to_print'; |
||||
|
||||
use Test::More tests => 1; |
||||
BEGIN { use_ok('Lemonldap::NG::Handler::SharedConf') } |
||||
|
||||
######################### |
||||
|
||||
# Insert your test code below, the Test::More module is use()ed here so read |
||||
# its man page ( perldoc Test::More ) for help writing this test script. |
||||
|
@ -1,69 +0,0 @@ |
||||
# Before `make install' is performed this script should be runnable with |
||||
# `make test'. After `make install' it should work as `perl Lemonldap-NG-Handler.t' |
||||
|
||||
######################### |
||||
|
||||
# change 'tests => 1' to 'tests => last_test_to_print'; |
||||
|
||||
BEGIN { |
||||
our $home = 0; |
||||
$home++ if ( $ENV{DEBFULLNAME} and $ENV{DEBFULLNAME} eq 'Xavier Guimard' ); |
||||
} |
||||
|
||||
use Test::More tests => 1 + 8 * $home; |
||||
BEGIN { use_ok( 'Lemonldap::NG::Handler::Simple', ':all' ) } |
||||
|
||||
######################### |
||||
|
||||
# Insert your test code below, the Test::More module is use()ed here so read |
||||
# its man page ( perldoc Test::More ) for help writing this test script. |
||||
|
||||
exit unless ($home); |
||||
|
||||
my $h; |
||||
$h = bless {}, 'Lemonldap::NG::Handler::Simple'; |
||||
ok( |
||||
$h->localInit( |
||||
{ |
||||
localStorage => 'Cache::FileCache', |
||||
localStorageOptions => { 'namespace' => 'lemonldap-ng-sessions', }, |
||||
status => 1 |
||||
} |
||||
), |
||||
'New Object' |
||||
); |
||||
|
||||
ok( $statusPipe->isa('IO::Pipe::End'), 'In pipe' ); |
||||
|
||||
ok( $statusOut->isa('IO::Pipe::End'), 'Out pipe' ); |
||||
|
||||
ok( print( $statusPipe "uid => / OK\nuid => / OK\nuid => /no REJECT\n" ), |
||||
'New requests' ); |
||||
|
||||
ok( print( $statusPipe "STATUS\n" ), 'Status request' ); |
||||
|
||||
ok( &read, 'Status result' ); |
||||
|
||||
ok( close($statusOut) ); |
||||
|
||||
ok( close($statusPipe) ); |
||||
|
||||
sub read { |
||||
my $ok = 0; |
||||
|
||||
#open LOG, '>/tmp/log'; |
||||
while (<$statusOut>) { |
||||
|
||||
#print LOG $_; |
||||
$ok++ if (/^OK\s+:\s*2\s*\(2\.00\s*\/\s*mn\)$/); |
||||
$ok++ if (/^REJECT\s+:\s*1\s*\(1\.00\s*\/\s*mn\)$/); |
||||
if (/^END$/) { |
||||
$ok++; |
||||
last; |
||||
} |
||||
} |
||||
|
||||
#print LOG "$ok\n"; |
||||
#close LOG; |
||||
return ( $ok == 3 ); |
||||
} |
@ -0,0 +1,45 @@ |
||||
# Before `make install' is performed this script should be runnable with |
||||
# `make test'. After `make install' it should work as `perl Lemonldap-NG-Handler-SharedConf.t' |
||||
|
||||
######################### |
||||
|
||||
# change 'tests => 1' to 'tests => last_test_to_print'; |
||||
|
||||
use Test::More tests => 6; |
||||
BEGIN { use_ok('Lemonldap::NG::Handler::Main::Jail') } |
||||
|
||||
######################### |
||||
|
||||
# Insert your test code below, the Test::More module is use()ed here so read |
||||
# its man page ( perldoc Test::More ) for help writing this test script. |
||||
|
||||
ok( |
||||
my $jail = Lemonldap::NG::Handler::Main::Jail->new( |
||||
'safe' => undef, |
||||
'useSafeJail' => 1, |
||||
'customFunctions' => undef |
||||
), |
||||
'new jail object' |
||||
); |
||||
my $safe = $jail->build_safe(); |
||||
|
||||
my $sub1 = "sub { return( basic('login','password') ) }"; |
||||
my $basic = $jail->jail_reval($sub1); |
||||
ok( ( !defined($basic) or defined($basic) ), |
||||
'basic extended function can be undef with recent Safe Jail' ); |
||||
|
||||
my $sub2 = "sub { return ( encode_base64('test') ) }"; |
||||
my $encode_base64 = $jail->jail_reval($sub2); |
||||
ok( |
||||
( !defined($encode_base64) or defined($encode_base64) ), |
||||
'encode_base64 function can be undef with recent Safe Jail' |
||||
); |
||||
|
||||
my $sub3 = "sub { return(checkDate('20000000000000','21000000000000')) }"; |
||||
my $checkDate = $jail->jail_reval($sub3); |
||||
ok( ( !defined($checkDate) or defined($checkDate) ), |
||||
'checkDate extended function can be undef with recent Safe Jail' ); |
||||
|
||||
# basic and encode_base64 are not supported by safe jail, but checkDate is |
||||
|
||||
ok( &$checkDate == "1", 'checkDate extended function working with Safe Jail' ); |
@ -1,24 +0,0 @@ |
||||
# Before `make install' is performed this script should be runnable with |
||||
# `make test'. After `make install' it should work as `perl Lemonldap-NG-Handler-SharedConf.t' |
||||
|
||||
######################### |
||||
|
||||
# change 'tests => 1' to 'tests => last_test_to_print'; |
||||
|
||||
use Test::More tests => 3; |
||||
BEGIN { use_ok('Lemonldap::NG::Handler::Simple') } |
||||
|
||||
######################### |
||||
|
||||
# Insert your test code below, the Test::More module is use()ed here so read |
||||
# its man page ( perldoc Test::More ) for help writing this test script. |
||||
|
||||
my $h; |
||||
$h = bless {}, 'Lemonldap::NG::Handler::Simple'; |
||||
|
||||
ok( $h->defaultValuesInit( { useSafeJail => 1, } ), 'Enabling Safe Jail' ); |
||||
|
||||
my $basic = $h->safe->reval("basic('login','password')"); |
||||
ok( ( !defined($basic) or defined($basic) ), |
||||
'basic extended function can be undef with recent Safe Jail' ); |
||||
|
@ -0,0 +1,90 @@ |
||||
applicationList |
||||
'$data1 = {'1sample' => { catname => 'Sample applications',type => 'category', 'test1' => { type => 'application', options => { name => 'Application Test 1', uri => 'http://test1.example.com/', description => 'A simple application displaying authenticated user', logo => 'demo.png', display => 'auto', }, },'test2' => { type => 'application', options => { name => 'Application Test 2', uri => 'http://test2.example.com/', description => 'The same simple application displaying authenticated user', logo => 'thumbnail.png', display => 'auto', }, }, },'2administration' => { catname => 'Administration', type => 'category', 'manager' => { type => 'application', options => { name => 'WebSSO Manager', uri => 'http://manager.example.com/', description => 'Configure LemonLDAP::NG WebSSO', logo => 'configure.png', display => 'auto', }, },'sessions' => { type => 'application', options => { name => 'Sessions explorer', uri => 'http://manager.example.com/sessions.pl', description => 'Explore WebSSO sessions', logo => 'database.png', display => 'auto', }, }, 'notifications' => { type => 'application', options => { name => 'Notifications explorer', uri => 'http://manager.example.com/notifications.pl', description => 'Explore WebSSO notifications', logo => 'database.png', display => 'auto', }, }, }, '3documentation' => { catname => 'Documentation', type => 'category', 'localdoc' => { type => 'application', options => { name => 'Local documentation', uri => 'http://manager.example.com/doc/', description => 'Documentation supplied with LemonLDAP::NG', logo => 'help.png', display => 'on', }, },'officialwebsite' => { type => 'application', options => { name => 'Offical Website', uri => 'http://lemonldap-ng.org/', description => 'Official LemonLDAP::NG Website', logo => 'network.png', display => 'on', }, }, }, }' |
||||
|
||||
globalStorage |
||||
'Apache::Session::File' |
||||
|
||||
persistentStorage |
||||
'Apache::Session::File' |
||||
|
||||
cookieName |
||||
'lemonldap' |
||||
|
||||
demoExportedVars |
||||
'$data1 = {'uid' => 'uid','cn' => 'cn','mail' => 'mail'};' |
||||
|
||||
exportedVars |
||||
'$data1 = {'UA' => 'HTTP_USER_AGENT'};' |
||||
|
||||
authentication |
||||
'Demo' |
||||
|
||||
userDB |
||||
'Demo' |
||||
|
||||
passwordDB |
||||
'Demo' |
||||
|
||||
locationRules |
||||
'$data1 = {'test2.example.com' => {'default' => 'accept','^/logout' => 'logout_sso'},'test1.example.com' => {'default' => 'accept','^/logout' => 'logout_sso'},'manager.example.com' => {'default' => '$uid eq "dwho"'}};' |
||||
|
||||
domain |
||||
'example.com' |
||||
|
||||
timeout |
||||
72000 |
||||
|
||||
groups |
||||
'$data1 = {};' |
||||
|
||||
portal |
||||
'http://auth.example.com/' |
||||
|
||||
exportedHeaders |
||||
'$data1 = {'test2.example.com' => {'Auth-User' => '$uid'},'test1.example.com' => {'Auth-User' => '$uid'}};' |
||||
|
||||
globalStorageOptions |
||||
'$data1 = {'Directory' => '__SESSIONDIR__'};' |
||||
|
||||
persistentStorageOptions |
||||
'$data1 = {'Directory' => '__PSESSIONDIR__'};' |
||||
|
||||
cfgNum |
||||
1 |
||||
|
||||
cfgAuthor |
||||
'The LemonLDAP::NG team' |
||||
|
||||
securedCookie |
||||
0 |
||||
|
||||
macros |
||||
'$data1 = {'_whatToTrace' => '$_auth eq \'SAML\' ? "$_user\\@$_idpConfKey" : "$_user"'};' |
||||
|
||||
whatToTrace |
||||
'$_whatToTrace' |
||||
|
||||
loginHistoryEnabled |
||||
1 |
||||
|
||||
sessionDataToRemember |
||||
'$data1 = {};' |
||||
|
||||
reloadUrls |
||||
'$data1 = {'reload.example.com' => 'http://reload.example.com/reload'};' |
||||
|
||||
notification |
||||
1 |
||||
|
||||
notificationStorage |
||||
'File' |
||||
|
||||
notificationStorageOptions |
||||
'$data1 = {'dirName' => '__NOTIFICATIONDIR__'};' |
||||
|
||||
captcha_data |
||||
'__CAPTCHADIR__' |
||||
|
||||
captcha_output |
||||
'__CAPTCHAOUTPUTDIR__' |
||||
|
@ -1,113 +1,54 @@ |
||||
Changes |
||||
example/index.pl |
||||
example/mrtg/lmng-mrtg |
||||
example/mrtg/mrtg.cfg.example |
||||
example/notfound.html |
||||
example/notifications.pl |
||||
example/scripts/lemonldap-ng-cli |
||||
example/scripts/lmConfigEditor |
||||
example/sessions.pl |
||||
example/skins/default/css/accordion.css |
||||
example/skins/default/css/manager.css |
||||
example/skins/default/css/tree.css |
||||
example/skins/default/images/1downarrow_16x16.png |
||||
example/skins/default/images/1rightarrow_16x16.png |
||||
example/skins/default/images/apps-logos/attach.png |
||||
example/skins/default/images/apps-logos/bell.png |
||||
example/skins/default/images/apps-logos/bookmark.png |
||||
example/skins/default/images/apps-logos/configure.png |
||||
example/skins/default/images/apps-logos/custom.png |
||||
example/skins/default/images/apps-logos/database.png |
||||
example/skins/default/images/apps-logos/demo.png |
||||
example/skins/default/images/apps-logos/docs.png |
||||
example/skins/default/images/apps-logos/folder.png |
||||
example/skins/default/images/apps-logos/gear.png |
||||
example/skins/default/images/apps-logos/help.png |
||||
example/skins/default/images/apps-logos/mailappt.png |
||||
example/skins/default/images/apps-logos/money.png |
||||
example/skins/default/images/apps-logos/network.png |
||||
example/skins/default/images/apps-logos/README |
||||
example/skins/default/images/apps-logos/terminal.png |
||||
example/skins/default/images/apps-logos/thumbnail.png |
||||
example/skins/default/images/apps-logos/tools.png |
||||
example/skins/default/images/apps-logos/tux.png |
||||
example/skins/default/images/apps-logos/web.png |
||||
example/skins/default/images/apps-logos/wheels.png |
||||
example/skins/default/images/bullet_green.png |
||||
example/skins/default/images/bullet_orange.png |
||||
example/skins/default/images/bullet_red.png |
||||
example/skins/default/images/logo_lemonldap-ng.png |
||||
example/skins/default/images/portal-skins/bootstrap.png |
||||
example/skins/default/images/portal-skins/custom.png |
||||
example/skins/default/images/portal-skins/dark.png |
||||
example/skins/default/images/portal-skins/impact.png |
||||
example/skins/default/images/portal-skins/pastel.png |
||||
example/skins/default/images/spinner.gif |
||||
example/skins/default/images/tree/root.gif |
||||
example/skins/default/images/tree/spacer.gif |
||||
example/skins/default/images/tree/tree.png |
||||
example/skins/default/js/jquery-1.10.2.js |
||||
example/skins/default/js/jquery-ui-1.10.3.custom.js |
||||
example/skins/default/js/jquery.ajaxfileupload.js |
||||
example/skins/default/js/jquery.cookie.js |
||||
example/skins/default/js/jquery.elastic.source.js |
||||
example/skins/default/js/manager.js |
||||
example/skins/default/js/notifications.js |
||||
example/skins/default/js/sessions.js |
||||
example/skins/default/js/tree.js |
||||
example/skins/default/lemonldap-ng.ico |
||||
example/skins/default/manager.tpl |
||||
example/skins/default/notifications.tpl |
||||
example/skins/default/sessions.tpl |
||||
example/skins/default/top.tpl |
||||
example/skins/default/ui-darkness/images/animated-overlay.gif |
||||
example/skins/default/ui-darkness/images/ui-bg_flat_30_cccccc_40x100.png |
||||
example/skins/default/ui-darkness/images/ui-bg_flat_50_5c5c5c_40x100.png |
||||
example/skins/default/ui-darkness/images/ui-bg_glass_20_555555_1x400.png |
||||
example/skins/default/ui-darkness/images/ui-bg_glass_40_0078a3_1x400.png |
||||
example/skins/default/ui-darkness/images/ui-bg_glass_40_ffc73d_1x400.png |
||||
example/skins/default/ui-darkness/images/ui-bg_gloss-wave_25_333333_500x100.png |
||||
example/skins/default/ui-darkness/images/ui-bg_highlight-soft_80_eeeeee_1x100.png |
||||
example/skins/default/ui-darkness/images/ui-bg_inset-soft_25_000000_1x100.png |
||||
example/skins/default/ui-darkness/images/ui-bg_inset-soft_30_f58400_1x100.png |
||||
example/skins/default/ui-darkness/images/ui-icons_222222_256x240.png |
||||
example/skins/default/ui-darkness/images/ui-icons_4b8e0b_256x240.png |
||||
example/skins/default/ui-darkness/images/ui-icons_a83300_256x240.png |
||||
example/skins/default/ui-darkness/images/ui-icons_cccccc_256x240.png |
||||
example/skins/default/ui-darkness/images/ui-icons_ffffff_256x240.png |
||||
example/skins/default/ui-darkness/jquery-ui-1.10.3.custom.min.css |
||||
example/skins/default/ui-lightness/images/animated-overlay.gif |
||||
example/skins/default/ui-lightness/images/ui-bg_diagonals-thick_18_b81900_40x40.png |
||||
example/skins/default/ui-lightness/images/ui-bg_diagonals-thick_20_666666_40x40.png |
||||
example/skins/default/ui-lightness/images/ui-bg_flat_10_000000_40x100.png |
||||
example/skins/default/ui-lightness/images/ui-bg_glass_100_f6f6f6_1x400.png |
||||
example/skins/default/ui-lightness/images/ui-bg_glass_100_fdf5ce_1x400.png |
||||
example/skins/default/ui-lightness/images/ui-bg_glass_65_ffffff_1x400.png |
||||
example/skins/default/ui-lightness/images/ui-bg_gloss-wave_35_f6a828_500x100.png |
||||
example/skins/default/ui-lightness/images/ui-bg_highlight-soft_100_eeeeee_1x100.png |
||||
example/skins/default/ui-lightness/images/ui-bg_highlight-soft_75_ffe45c_1x100.png |
||||
example/skins/default/ui-lightness/images/ui-icons_222222_256x240.png |
||||
example/skins/default/ui-lightness/images/ui-icons_228ef1_256x240.png |
||||
example/skins/default/ui-lightness/images/ui-icons_ef8c08_256x240.png |
||||
example/skins/default/ui-lightness/images/ui-icons_ffd27a_256x240.png |
||||
example/skins/default/ui-lightness/images/ui-icons_ffffff_256x240.png |
||||
example/skins/default/ui-lightness/jquery-ui-1.10.3.custom.min.css |
||||
lib/Lemonldap/NG/Manager.pm |
||||
lib/Lemonldap/NG/Manager/_i18n.pm |
||||
lib/Lemonldap/NG/Manager/_Struct.pm |
||||
lib/Lemonldap/NG/Manager/Cli.pm |
||||
lib/Lemonldap/NG/Manager/Downloader.pm |
||||
lib/Lemonldap/NG/Manager/Notifications.pm |
||||
lib/Lemonldap/NG/Manager/Request.pm |
||||
lib/Lemonldap/NG/Manager/Sessions.pm |
||||
lib/Lemonldap/NG/Manager/Uploader.pm |
||||
example/autoProtectedCGI.pl |
||||
example/menu.pl |
||||
example/MyHandler.pm |
||||
example/MyHandlerAuthBasic.pm |
||||
example/MyHandlerLog4Perl.pm |
||||
example/MyHandlerSecureToken.pm |
||||
example/MyHandlerSympa.pm |
||||
example/MyHandlerZimbra.pm |
||||
example/MyUpdateCookieHandler.pm |
||||
example/scripts/purgeLocalCache |
||||
example/scripts/purgeLocalCache.cron.d |
||||
lib/Lemonldap/NG/Handler/AuthBasic.pm |
||||
lib/Lemonldap/NG/Handler/CGI.pm |
||||
lib/Lemonldap/NG/Handler/DefaultHandler.pm |
||||
lib/Lemonldap/NG/Handler/Initialization/GlobalInit.pm |
||||
lib/Lemonldap/NG/Handler/Initialization/LocalInit.pm |
||||
lib/Lemonldap/NG/Handler/Main/Headers.pm |
||||
lib/Lemonldap/NG/Handler/Main/Jail.pm |
||||
lib/Lemonldap/NG/Handler/Main/Logger.pm |
||||
lib/Lemonldap/NG/Handler/Main.pm |
||||
lib/Lemonldap/NG/Handler/Main/PostForm.pm |
||||
lib/Lemonldap/NG/Handler/Menu.pm |
||||
lib/Lemonldap/NG/Handler.pm |
||||
lib/Lemonldap/NG/Handler/Proxy.pm |
||||
lib/Lemonldap/NG/Handler/SecureToken.pm |
||||
lib/Lemonldap/NG/Handler/SpecificHandlers/AuthBasic.pm |
||||
lib/Lemonldap/NG/Handler/SpecificHandlers/SecureToken.pm |
||||
lib/Lemonldap/NG/Handler/SpecificHandlers/SympaAutoLogin.pm |
||||
lib/Lemonldap/NG/Handler/SpecificHandlers/UpdateCookie.pm |
||||
lib/Lemonldap/NG/Handler/SpecificHandlers/ZimbraPreAuth.pm |
||||
lib/Lemonldap/NG/Handler/Status.pm |
||||
lib/Lemonldap/NG/Handler/SympaAutoLogin.pm |
||||
lib/Lemonldap/NG/Handler/UpdateCookie.pm |
||||
lib/Lemonldap/NG/Handler/ZimbraPreAuth.pm |
||||
Makefile.PL |
||||
MANIFEST This list of files |
||||
META.yml |
||||
README |
||||
t/10-Manager.t |
||||
t/20-Manager-i18n.t |
||||
t/30-Manager-Struct.t |
||||
t/40-Manager-Sessions.t |
||||
t/50-Cli.t |
||||
t/01-Lemonldap-NG-Handler-Main.t |
||||
t/02-Lemonldap-NG-Handler-Main-Portal.t |
||||
t/04-Lemonldap-NG-Handler-Initialization-LocalInit.t |
||||
t/05-Lemonldap-NG-Handler-Initialization-GlobalInit.t |
||||
t/10-Lemonldap-NG-Handler-DefaultHandler.t |
||||
t/12-Lemonldap-NG-Handler-Jail.t |
||||
t/13-Lemonldap-NG-Handler-Fake-Safe.t |
||||
t/30-Lemonldap-NG-Handler-CGI.t |
||||
t/40-Lemonldap-NG-Handler-Proxy.t |
||||
t/50-Lemonldap-NG-Handler-SecureToken.t |
||||
t/51-Lemonldap-NG-Handler-Zimbra.t |
||||
t/52-Lemonldap-NG-Handler-AuthBasic.t |
||||
t/99-pod.t |
||||
t/LemonLoadConf.pm |
||||
t/lmConf-1 |
||||
|
Loading…
Reference in new issue