LEMONLDAP::NG : New module Lemonldap::NG::Common. It contains Conf.pm and Cie

environments/ppa-mbqj77/deployments/1
Xavier Guimard 17 years ago
parent dd0c815795
commit cae4cbade0
  1. 54
      build/lemonldap-ng/Makefile
  2. 7
      build/lemonldap-ng/debian/liblemonldap-ng-conf-perl.install
  3. 1
      build/lemonldap-ng/debian/liblemonldap-ng-manager-perl.install
  4. 2
      build/lemonldap-ng/debian/rules
  5. 1
      build/lemonldap-ng/lemonldap-ng-common
  6. 5
      modules/lemonldap-ng-common/Changes
  7. 17
      modules/lemonldap-ng-common/MANIFEST
  8. 17
      modules/lemonldap-ng-common/Makefile.PL
  9. 29
      modules/lemonldap-ng-common/README
  10. 48
      modules/lemonldap-ng-common/lib/Lemonldap/NG/Common.pm
  11. 18
      modules/lemonldap-ng-common/lib/Lemonldap/NG/Common/Apache/Session/SOAP.pm
  12. 22
      modules/lemonldap-ng-common/lib/Lemonldap/NG/Common/Conf.pm
  13. 2
      modules/lemonldap-ng-common/lib/Lemonldap/NG/Common/Conf/Constants.pm
  14. 6
      modules/lemonldap-ng-common/lib/Lemonldap/NG/Common/Conf/DBI.pm
  15. 4
      modules/lemonldap-ng-common/lib/Lemonldap/NG/Common/Conf/File.pm
  16. 20
      modules/lemonldap-ng-common/lib/Lemonldap/NG/Common/Conf/SOAP.pm
  17. 2
      modules/lemonldap-ng-common/scripts/lmConfig_File2MySQL
  18. 2
      modules/lemonldap-ng-common/t/01-Manager-Conf.t
  19. 4
      modules/lemonldap-ng-common/t/02-Manager-Conf-File.t
  20. 4
      modules/lemonldap-ng-common/t/03-Manager-Conf-DBI.t
  21. 6
      modules/lemonldap-ng-common/t/04-Manager-Conf-SOAP.t
  22. 15
      modules/lemonldap-ng-common/t/10-Common.t
  23. 2
      modules/lemonldap-ng-handler/MANIFEST
  24. 2
      modules/lemonldap-ng-handler/README
  25. 2
      modules/lemonldap-ng-handler/lib/Lemonldap/NG/Handler/CGI.pm
  26. 6
      modules/lemonldap-ng-handler/lib/Lemonldap/NG/Handler/SharedConf.pm
  27. 2
      modules/lemonldap-ng-handler/lib/Lemonldap/NG/Handler/Simple.pm
  28. 11
      modules/lemonldap-ng-manager/MANIFEST
  29. 5
      modules/lemonldap-ng-manager/Makefile.PL
  30. 2
      modules/lemonldap-ng-manager/README
  31. 6
      modules/lemonldap-ng-manager/example/scripts/lmConfigEditor
  32. 10
      modules/lemonldap-ng-manager/lib/Lemonldap/NG/Manager.pm
  33. 2
      modules/lemonldap-ng-manager/lib/Lemonldap/NG/Manager/Restricted.pm
  34. 16
      modules/lemonldap-ng-manager/lib/Lemonldap/NG/Manager/SOAPServer.pm
  35. 2
      modules/lemonldap-ng-manager/lib/Lemonldap/NG/Manager/_HTML.pm
  36. 2
      modules/lemonldap-ng-manager/t/50-Manager-SOAPServer.t
  37. 2
      modules/lemonldap-ng-portal/MANIFEST
  38. 2
      modules/lemonldap-ng-portal/README
  39. 6
      modules/lemonldap-ng-portal/example/PortalStatus.pl
  40. 6
      modules/lemonldap-ng-portal/example/scripts/purgeCentralCache
  41. 2
      modules/lemonldap-ng-portal/lib/Lemonldap/NG/Portal.pm
  42. 2
      modules/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Menu.pm
  43. 8
      modules/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/SharedConf.pm
  44. 2
      modules/lemonldap-ng-portal/t/22-Lemonldap-NG-Portal-AuthCAS.t
  45. 2
      modules/lemonldap-ng-portal/t/23-Lemonldap-NG-Portal-AuthLA.t

@ -14,6 +14,7 @@ LDAPPORT="389"
LDAPSUFFIX="dc=example,dc=net" LDAPSUFFIX="dc=example,dc=net"
# Other # Other
VERSION=`head -n1 changelog |sed -e 's/lemonldap-ng (//' -e 's/).*$$//'` VERSION=`head -n1 changelog |sed -e 's/lemonldap-ng (//' -e 's/).*$$//'`
SRCCOMMONDIR=lemonldap-ng-common
SRCHANDLERDIR=lemonldap-ng-handler SRCHANDLERDIR=lemonldap-ng-handler
SRCPORTALDIR=lemonldap-ng-portal SRCPORTALDIR=lemonldap-ng-portal
SRCMANAGERDIR=lemonldap-ng-manager SRCMANAGERDIR=lemonldap-ng-manager
@ -32,7 +33,11 @@ REALDESTFILECONFDIR=$(REALSYSTEMCONFDIR)conf/
REALDESTSESSIONDIR=$(REALSCRIPTSDIR)sessions/ REALDESTSESSIONDIR=$(REALSCRIPTSDIR)sessions/
REALDESTLASPDIR=$(REALSCRIPTSDIR)liberty-alliance-sp-portal REALDESTLASPDIR=$(REALSCRIPTSDIR)liberty-alliance-sp-portal
all: handler manager portal all: common handler manager portal
common: common_conf
@$(MAKE) -C ${SRCCOMMONDIR}
@touch common
handler: handler_conf handler: handler_conf
@$(MAKE) -C ${SRCHANDLERDIR} @$(MAKE) -C ${SRCHANDLERDIR}
@ -46,7 +51,11 @@ manager: manager_conf
@$(MAKE) -C ${SRCMANAGERDIR} @$(MAKE) -C ${SRCMANAGERDIR}
@touch manager @touch manager
configure: handler_conf portal_conf manager_conf configure: common_conf handler_conf portal_conf manager_conf
common_conf:
@cd ${SRCCOMMONDIR}; perl Makefile.PL INSTALLDIRS=$(INSTALLDIRS)
@touch common_conf
handler_conf: handler_conf:
@cd ${SRCHANDLERDIR}; perl Makefile.PL INSTALLDIRS=$(INSTALLDIRS) @cd ${SRCHANDLERDIR}; perl Makefile.PL INSTALLDIRS=$(INSTALLDIRS)
@ -60,18 +69,25 @@ manager_conf:
@cd ${SRCMANAGERDIR}; perl Makefile.PL INSTALLDIRS=$(INSTALLDIRS) @cd ${SRCMANAGERDIR}; perl Makefile.PL INSTALLDIRS=$(INSTALLDIRS)
@touch manager_conf @touch manager_conf
test: manager handler portal manager_test handler_test portal_test test: common handler portal manager common_test handler_test portal_test manager_test
common_test: common
@$(MAKE) -C ${SRCCOMMONDIR} test
handler_test: handler common_test
@$(MAKE) -C ${SRCHANDLERDIR} test INST_ARCHLIB=../${SRCCOMMONDIR}/blib/lib/
manager_test: manager portal_test: portal handler_test common_test
@$(MAKE) -C ${SRCMANAGERDIR} test @$(MAKE) -C ${SRCPORTALDIR} test INST_ARCHLIB=../${SRCCOMMONDIR}/blib/lib/
handler_test: handler manager_test: manager handler_test common_test
@$(MAKE) -C ${SRCHANDLERDIR} test INST_ARCHLIB=../${SRCMANAGERDIR}/blib/lib/ @$(MAKE) -C ${SRCMANAGERDIR} test INST_ARCHLIB=../${SRCCOMMONDIR}/blib/lib/
portal_test: portal install: common_install handler_install portal_install manager_install
@$(MAKE) -C ${SRCPORTALDIR} test INST_ARCHLIB=../${SRCMANAGERDIR}/blib/lib/
install: handler_install portal_install manager_install common_install: common
@$(MAKE) -C ${SRCCOMMONDIR} install
@touch common_install
handler_install: handler handler_install: handler
@$(MAKE) -C ${SRCHANDLERDIR} install @$(MAKE) -C ${SRCHANDLERDIR} install
@ -87,11 +103,15 @@ manager_install: manager
distclean: clean distclean: clean
clean: handler_clean portal_clean manager_clean clean: common_clean handler_clean portal_clean manager_clean
@rm -rf ${SYSTEMCONFDIR} @rm -rf ${SYSTEMCONFDIR}
@rm -rf ${SCRIPTSDIR} @rm -rf ${SCRIPTSDIR}
@rm -vf *gz @rm -vf *gz
common_clean:
- $(MAKE) -C ${SRCCOMMONDIR} distclean
@rm -vf common*
handler_clean: handler_clean:
- $(MAKE) -C ${SRCHANDLERDIR} distclean - $(MAKE) -C ${SRCHANDLERDIR} distclean
@rm -vf handler* @rm -vf handler*
@ -165,6 +185,10 @@ production_install: production_preconf example
uninstall: configure handler_uninstall portal_uninstall manager_uninstall uninstall: configure handler_uninstall portal_uninstall manager_uninstall
common_uninstall: common
@$(MAKE) -C ${SRCCOMMONDIR} uninstall
@rm -vf common_uninstall
handler_uninstall: handler handler_uninstall: handler
@$(MAKE) -C ${SRCHANDLERDIR} uninstall @$(MAKE) -C ${SRCHANDLERDIR} uninstall
@rm -vf handler_uninstall @rm -vf handler_uninstall
@ -180,7 +204,7 @@ manager_uninstall: manager
dist: clean dist: clean
@- $(MAKE) clean @- $(MAKE) clean
@mkdir -p lemonldap-ng-$(VERSION) @mkdir -p lemonldap-ng-$(VERSION)
@- cp -pR lemonldap-ng-manager/ lemonldap-ng-portal/ lemonldap-ng-handler/ * lemonldap-ng-$(VERSION) @- cp -pR lemonldap-ng-common/ lemonldap-ng-manager/ lemonldap-ng-portal/ lemonldap-ng-handler/ * lemonldap-ng-$(VERSION)
@- dir=lemonldap-ng-$(VERSION); find $$dir -name .svn -exec rm -rf {} \; 2>/dev/null @- dir=lemonldap-ng-$(VERSION); find $$dir -name .svn -exec rm -rf {} \; 2>/dev/null
@rm -rf lemonldap-ng-$(VERSION)/lemonldap-ng-$(VERSION) @rm -rf lemonldap-ng-$(VERSION)/lemonldap-ng-$(VERSION)
@tar czf lemonldap-ng-$(VERSION).tar.gz lemonldap-ng-$(VERSION) @tar czf lemonldap-ng-$(VERSION).tar.gz lemonldap-ng-$(VERSION)
@ -189,7 +213,11 @@ dist: clean
debian-dist: dist debian-dist: dist
@mv lemonldap-ng-$(VERSION).tar.gz lemonldap-ng_$(VERSION).orig.tar.gz @mv lemonldap-ng-$(VERSION).tar.gz lemonldap-ng_$(VERSION).orig.tar.gz
cpan: clean configure handler_cpan portal_cpan manager_cpan cpan: clean configure common_cpan handler_cpan portal_cpan manager_cpan
common_cpan: common_conf
@$(MAKE) -C ${SRCCOMMONDIR} dist
@mv ${SRCCOMMONDIR}/Lemonldap*.gz .
handler_cpan: handler_conf handler_cpan: handler_conf
@$(MAKE) -C ${SRCHANDLERDIR} dist @$(MAKE) -C ${SRCHANDLERDIR} dist

@ -1,6 +1,7 @@
debian/tmp/usr/share/perl5/Lemonldap/NG/Manager/Apache/* debian/tmp/usr/share/perl5/Lemonldap/NG/Common/Apache/*
debian/tmp/usr/share/perl5/Lemonldap/NG/Manager/Conf* debian/tmp/usr/share/perl5/Lemonldap/NG/Common/Conf*
debian/tmp/usr/share/man/man3/Lemonldap::NG::Manager::Conf* debian/tmp/usr/share/man/man3/Lemonldap::NG::Common::Apache::Session::SOAP.3pm
debian/tmp/usr/share/man/man3/Lemonldap::NG::Common::Conf*
debian/tmp/usr/share/man/man1/lmConfig_File2MySQL.1p debian/tmp/usr/share/man/man1/lmConfig_File2MySQL.1p
debian/tmp/usr/bin/lmConfig* /usr/share/lemonldap-ng/bin debian/tmp/usr/bin/lmConfig* /usr/share/lemonldap-ng/bin
debian/configStorage.pm /usr/share/lemonldap-ng debian/configStorage.pm /usr/share/lemonldap-ng

@ -11,7 +11,6 @@ debian/tmp/usr/share/perl5/auto/Lemonldap/NG/Manager
debian/tmp/usr/share/man/man3/Lemonldap::NG::Manager::Base.3pm debian/tmp/usr/share/man/man3/Lemonldap::NG::Manager::Base.3pm
debian/tmp/usr/share/man/man3/Lemonldap::NG::Manager.3pm debian/tmp/usr/share/man/man3/Lemonldap::NG::Manager.3pm
debian/tmp/usr/share/man/man3/Lemonldap::NG::Manager::SOAPServer.3pm debian/tmp/usr/share/man/man3/Lemonldap::NG::Manager::SOAPServer.3pm
debian/tmp/usr/share/man/man3/Lemonldap::NG::Manager::Apache::Session::SOAP.3pm
debian/tmp/usr/share/man/man3/Lemonldap::NG::Manager::Restricted.3pm debian/tmp/usr/share/man/man3/Lemonldap::NG::Manager::Restricted.3pm
debian/tmp/var/lib/lemonldap-ng/manager/apply.conf /etc/lemonldap-ng debian/tmp/var/lib/lemonldap-ng/manager/apply.conf /etc/lemonldap-ng
debian/manager-apache*.conf /etc/lemonldap-ng debian/manager-apache*.conf /etc/lemonldap-ng

@ -75,7 +75,7 @@ install: build
# System to use /etc/lemonldap-ng/storage.conf instead of setting # System to use /etc/lemonldap-ng/storage.conf instead of setting
# manually the configStorage parameter # manually the configStorage parameter
perl -000 -i -pe 's/(Lemonldap::NG::Manager::Conf.*new\s*\(\s*){[^}]+}/$$1\$$Lemonldap::NG::Conf::configStorage/; s#^use#\nrequire "/usr/share/lemonldap-ng/configStorage.pm";\nuse#m;' \ perl -000 -i -pe 's/(Lemonldap::NG::Common::Conf.*new\s*\(\s*){[^}]+}/$$1\$$Lemonldap::NG::Conf::configStorage/; s#^use#\nrequire "/usr/share/lemonldap-ng/configStorage.pm";\nuse#m;' \
$(DEB_TMP_LM_ROOT)manager/scripts/lmConfigEditor \ $(DEB_TMP_LM_ROOT)manager/scripts/lmConfigEditor \
$(DEB_TMP_LM_ROOT)portal/scripts/purgeCentralCache $(DEB_TMP_LM_ROOT)portal/scripts/purgeCentralCache

@ -0,0 +1 @@
../../modules/lemonldap-ng-common

@ -0,0 +1,5 @@
Revision history for Perl extension Lemonldap::NG::Common.
0.1 Mon Nov 17 16:34:56 2008
- New package including the old Lemonldap::NG::manager::Conf

@ -0,0 +1,17 @@
Changes
lib/Lemonldap/NG/Common.pm
lib/Lemonldap/NG/Common/Apache/Session/SOAP.pm
lib/Lemonldap/NG/Common/Conf.pm
lib/Lemonldap/NG/Common/Conf/Constants.pm
lib/Lemonldap/NG/Common/Conf/DBI.pm
lib/Lemonldap/NG/Common/Conf/File.pm
lib/Lemonldap/NG/Common/Conf/SOAP.pm
Makefile.PL
MANIFEST
README
scripts/lmConfig_File2MySQL
t/01-Manager-Conf.t
t/02-Manager-Conf-File.t
t/03-Manager-Conf-DBI.t
t/04-Manager-Conf-SOAP.t
t/10-Common.t

@ -0,0 +1,17 @@
use ExtUtils::MakeMaker;
# See lib/ExtUtils/MakeMaker.pm for details of how to influence
# the contents of the Makefile that is written.
WriteMakefile(
NAME => 'Lemonldap::NG::Common',
VERSION_FROM => 'lib/Lemonldap/NG/Common.pm', # finds $VERSION
PREREQ_PM => {
'DBI' => 0,
'Storable' => 0,
}, # e.g., Module::Name => 1.1
EXE_FILES => [
'scripts/lmConfig_File2MySQL',
],
($] >= 5.005 ? ## Add these new keywords supported since 5.005
(ABSTRACT_FROM => 'lib/Lemonldap/NG/Common.pm', # retrieve abstract from module
AUTHOR => 'guimard <guimard@>') : ()),
);

@ -0,0 +1,29 @@
Lemonldap-NG-Common version 0.01
================================
Lemonldap::NG infrastructure common files
INSTALLATION
To install this module type the following:
perl Makefile.PL
make
make test
make install
DEPENDENCIES
This module requires these other modules and libraries:
blah blah blah
COPYRIGHT AND LICENCE
Copyright (C) 2008 by guimard
This library is free software; you can redistribute it and/or modify
it under the same terms as Perl itself, either Perl version 5.10.0 or,
at your option, any later version of Perl 5 you may have available.

@ -0,0 +1,48 @@
package Lemonldap::NG::Common;
use strict;
require Exporter;
our @ISA = qw(Exporter);
our @EXPORT = qw(
);
our $VERSION = '0.1';
1;
__END__
# Below is stub documentation for your module. You'd better edit it!
=head1 NAME
Lemonldap::NG::Common - Common files for Lemonldap::NG infrastructure
=head1 DESCRIPTION
Lemonldap::NG is a modular Web-SSO based on Apache::Session modules. It
simplifies the build of a protected area with a few changes in the application.
This package contains common files.
=head1 SEE ALSO
L<Lemonldap::NG::Manager>, L<Lemonldap::NG::Portal>, L<Lemonldap::NG::Handler>
=head1 AUTHOR
Xavier Guimard, E<lt>x.guimard@free.frE<gt>
=head1 COPYRIGHT AND LICENSE
Copyright (C) 2008 by guimard
This library is free software; you can redistribute it and/or modify
it under the same terms as Perl itself, either Perl version 5.10.0 or,
at your option, any later version of Perl 5 you may have available.
=cut

@ -1,4 +1,4 @@
package Lemonldap::NG::Manager::Apache::Session::SOAP; package Lemonldap::NG::Common::Apache::Session::SOAP;
use strict; use strict;
use SOAP::Lite; use SOAP::Lite;
@ -10,7 +10,7 @@ our ( $user, $password ) = ( '', '' );
BEGIN { BEGIN {
sub SOAP::Transport::HTTP::Client::get_basic_credentials { sub SOAP::Transport::HTTP::Client::get_basic_credentials {
return $Lemonldap::NG::Manager::Apache::Session::SOAP::user => $Lemonldap::NG::Manager::Apache::Session::SOAP::password; return $Lemonldap::NG::Common::Apache::Session::SOAP::user => $Lemonldap::NG::Common::Apache::Session::SOAP::password;
} }
} }
@ -146,7 +146,7 @@ __END__
=head1 NAME =head1 NAME
Lemonldap::NG::Manager::Apache::Session::SOAP - Perl extension written to Lemonldap::NG::Common::Apache::Session::SOAP - Perl extension written to
access to Lemonldap::NG Web-SSO sessions via SOAP. access to Lemonldap::NG Web-SSO sessions via SOAP.
=head1 SYNOPSIS =head1 SYNOPSIS
@ -161,7 +161,7 @@ access to Lemonldap::NG Web-SSO sessions via SOAP.
our @ISA = qw(Lemonldap::NG::Handler::Simple); our @ISA = qw(Lemonldap::NG::Handler::Simple);
__PACKAGE__->init ({ __PACKAGE__->init ({
globalStorage => 'Lemonldap::NG::Manager::Apache::Session::SOAP', globalStorage => 'Lemonldap::NG::Common::Apache::Session::SOAP',
globalStorageOptions => { globalStorageOptions => {
proxy => 'http://manager/cgi-bin/soapserver.pl', proxy => 'http://manager/cgi-bin/soapserver.pl',
proxyOptions => { proxyOptions => {
@ -178,7 +178,7 @@ access to Lemonldap::NG Web-SSO sessions via SOAP.
use Lemonldap::NG::Portal::SharedConf; use Lemonldap::NG::Portal::SharedConf;
my $portal = new Lemonldap::NG::Portal::SharedConf ( my $portal = new Lemonldap::NG::Portal::SharedConf (
globalStorage => 'Lemonldap::NG::Manager::Apache::Session::SOAP', globalStorage => 'Lemonldap::NG::Common::Apache::Session::SOAP',
globalStorageOptions => { globalStorageOptions => {
proxy => 'http://manager/cgi-bin/soapserver.pl', proxy => 'http://manager/cgi-bin/soapserver.pl',
proxyOptions => { proxyOptions => {
@ -198,18 +198,18 @@ manager.
=head1 DESCRIPTION =head1 DESCRIPTION
Lemonldap::NG::Manager::Conf provides a simple interface to access to Lemonldap::NG::Common::Conf provides a simple interface to access to
Lemonldap::NG Web-SSO configuration. It is used by L<Lemonldap::NG::Handler>, Lemonldap::NG Web-SSO configuration. It is used by L<Lemonldap::NG::Handler>,
L<Lemonldap::NG::Portal> and L<Lemonldap::NG::Manager>. L<Lemonldap::NG::Portal> and L<Lemonldap::NG::Manager>.
Lemonldap::NG::Manager::Apache::Session::SOAP used with Lemonldap::NG::Common::Apache::Session::SOAP used with
L<Lemonldap::NG::Manager::SOAPServer> provides the ability to acces to L<Lemonldap::NG::Manager::SOAPServer> provides the ability to acces to
Lemonldap::NG sessions via SOAP: They act as a proxy to access to the real Lemonldap::NG sessions via SOAP: They act as a proxy to access to the real
Apache::Session module (set as Lemonldap::NG::Manager::SOAPServer parameter). Apache::Session module (set as Lemonldap::NG::Manager::SOAPServer parameter).
=head2 SECURITY =head2 SECURITY
As Lemonldap::NG::Manager::Conf::SOAP use SOAP::Lite, you have to see As Lemonldap::NG::Common::Conf::SOAP use SOAP::Lite, you have to see
L<SOAP::Transport> to know arguments that can be passed to C<proxyOptions>. L<SOAP::Transport> to know arguments that can be passed to C<proxyOptions>.
Lemonldap::NG provides a system for HTTP basic authentication. Lemonldap::NG provides a system for HTTP basic authentication.
@ -272,7 +272,7 @@ set environment variables.
=head1 SEE ALSO =head1 SEE ALSO
L<Lemonldap::NG::Manager::SOAPServer>, L<Lemonldap::NG::Manager::SOAPServer>,
L<Lemonldap::NG::Manager>, L<Lemonldap::NG::Manager::Conf::SOAP>, L<Lemonldap::NG::Manager>, L<Lemonldap::NG::Common::Conf::SOAP>,
L<Lemonldap::NG::Handler>, L<Lemonldap::NG::Portal>, L<Lemonldap::NG::Handler>, L<Lemonldap::NG::Portal>,
http://wiki.lemonldap.objectweb.org/xwiki/bin/view/NG/Presentation http://wiki.lemonldap.objectweb.org/xwiki/bin/view/NG/Presentation

@ -1,9 +1,9 @@
package Lemonldap::NG::Manager::Conf; package Lemonldap::NG::Common::Conf;
use strict; use strict;
no strict 'refs'; no strict 'refs';
use Data::Dumper; use Data::Dumper;
use Lemonldap::NG::Manager::Conf::Constants; use Lemonldap::NG::Common::Conf::Constants;
our $VERSION = 0.51; our $VERSION = 0.51;
our @ISA; our @ISA;
@ -24,7 +24,7 @@ sub new {
print STDERR "configStorage: type is not defined\n"; print STDERR "configStorage: type is not defined\n";
return 0; return 0;
} }
$self->{type} = "Lemonldap::NG::Manager::Conf::$self->{type}" $self->{type} = "Lemonldap::NG::Common::Conf::$self->{type}"
unless $self->{type} =~ /^Lemonldap/; unless $self->{type} =~ /^Lemonldap/;
eval "require $self->{type}"; eval "require $self->{type}";
die($@) if ($@); die($@) if ($@);
@ -142,23 +142,23 @@ __END__
=head1 NAME =head1 NAME
Lemonldap::NG::Manager::Conf - Perl extension written to manage Lemonldap::NG Lemonldap::NG::Common::Conf - Perl extension written to manage Lemonldap::NG
Web-SSO configuration. Web-SSO configuration.
=head1 SYNOPSIS =head1 SYNOPSIS
use Lemonldap::NG::Manager::Conf; use Lemonldap::NG::Common::Conf;
my $confAccess = new Lemonldap::NG::Manager::Conf( my $confAccess = new Lemonldap::NG::Common::Conf(
{ {
type=>'File', type=>'File',
dirName=>"/tmp/", dirName=>"/tmp/",
}, },
) or die "Unable to build Lemonldap::NG::Manager::Conf, see Apache logs"; ) or die "Unable to build Lemonldap::NG::Common::Conf, see Apache logs";
my $config = $confAccess->getConf(); my $config = $confAccess->getConf();
=head1 DESCRIPTION =head1 DESCRIPTION
Lemonldap::NG::Manager::Conf provides a simple interface to access to Lemonldap::NG::Common::Conf provides a simple interface to access to
Lemonldap::NG Web-SSO configuration. It is used by L<Lemonldap::NG::Handler>, Lemonldap::NG Web-SSO configuration. It is used by L<Lemonldap::NG::Handler>,
L<Lemonldap::NG::Portal> and L<Lemonldap::NG::Manager>. L<Lemonldap::NG::Portal> and L<Lemonldap::NG::Manager>.
@ -172,14 +172,14 @@ choosen type. Examples:
=over =over
=item * B<File>: =item * B<File>:
$confAccess = new Lemonldap::NG::Manager::Conf( $confAccess = new Lemonldap::NG::Common::Conf(
{ {
type => 'File', type => 'File',
dirName => '/var/lib/lemonldap-ng/', dirName => '/var/lib/lemonldap-ng/',
}); });
=item * B<DBI>: =item * B<DBI>:
$confAccess = new Lemonldap::NG::Manager::Conf( $confAccess = new Lemonldap::NG::Common::Conf(
{ {
type => 'DBI', type => 'DBI',
dbiChain => 'DBI:mysql:database=lemonldap-ng;host=1.2.3.4', dbiChain => 'DBI:mysql:database=lemonldap-ng;host=1.2.3.4',
@ -189,7 +189,7 @@ choosen type. Examples:
}); });
=item * B<SOAP>: =item * B<SOAP>:
$confAccess = new Lemonldap::NG::Manager::Conf( $confAccess = new Lemonldap::NG::Common::Conf(
{ {
type => 'SOAP', type => 'SOAP',
proxy => 'https://manager.example.com/soapmanager.pl', proxy => 'https://manager.example.com/soapmanager.pl',

@ -1,4 +1,4 @@
package Lemonldap::NG::Manager::Conf::Constants; package Lemonldap::NG::Common::Conf::Constants;
use strict; use strict;
use Exporter 'import'; use Exporter 'import';

@ -1,14 +1,14 @@
package Lemonldap::NG::Manager::Conf::DBI; package Lemonldap::NG::Common::Conf::DBI;
use strict; use strict;
use DBI; use DBI;
use MIME::Base64; use MIME::Base64;
use Lemonldap::NG::Manager::Conf::Constants; use Lemonldap::NG::Common::Conf::Constants;
our $VERSION = 0.17; our $VERSION = 0.17;
BEGIN { BEGIN {
*Lemonldap::NG::Manager::Conf::dbh = \&dbh; *Lemonldap::NG::Common::Conf::dbh = \&dbh;
} }
sub prereq { sub prereq {

@ -1,7 +1,7 @@
package Lemonldap::NG::Manager::Conf::File; package Lemonldap::NG::Common::Conf::File;
use strict; use strict;
use Lemonldap::NG::Manager::Conf::Constants; use Lemonldap::NG::Common::Conf::Constants;
our $VERSION = 0.22; our $VERSION = 0.22;

@ -1,4 +1,4 @@
package Lemonldap::NG::Manager::Conf::SOAP; package Lemonldap::NG::Common::Conf::SOAP;
use strict; use strict;
use SOAP::Lite; use SOAP::Lite;
@ -6,10 +6,10 @@ use SOAP::Lite;
our $VERSION = 0.2; our $VERSION = 0.2;
BEGIN { BEGIN {
*Lemonldap::NG::Manager::Conf::_soapCall = \&_soapCall; *Lemonldap::NG::Common::Conf::_soapCall = \&_soapCall;
*Lemonldap::NG::Manager::Conf::_connect = \&_connect; *Lemonldap::NG::Common::Conf::_connect = \&_connect;
sub SOAP::Transport::HTTP::Client::get_basic_credentials { sub SOAP::Transport::HTTP::Client::get_basic_credentials {
return $Lemonldap::NG::Manager::Conf::SOAP::username => $Lemonldap::NG::Manager::Conf::SOAP::password; return $Lemonldap::NG::Common::Conf::SOAP::username => $Lemonldap::NG::Common::Conf::SOAP::password;
} }
} }
@ -84,7 +84,7 @@ __END__
=head1 NAME =head1 NAME
Lemonldap::NG::Manager::Conf::SOAP - Perl extension written to access to Lemonldap::NG::Common::Conf::SOAP - Perl extension written to access to
Lemonldap::NG Web-SSO configuration via SOAP. Lemonldap::NG Web-SSO configuration via SOAP.
=head1 SYNOPSIS =head1 SYNOPSIS
@ -151,7 +151,7 @@ Lemonldap::NG Web-SSO configuration via SOAP.
=head2 Server side =head2 Server side
See L<Lemonldap::NG::Manager::Conf::SOAP> for documentation on client side. See L<Lemonldap::NG::Common::Conf::SOAP> for documentation on client side.
use Lemonldap::NG::Manager::SOAPServer; use Lemonldap::NG::Manager::SOAPServer;
Lemonldap::NG::Manager::SOAPServer->start( Lemonldap::NG::Manager::SOAPServer->start(
@ -162,16 +162,16 @@ See L<Lemonldap::NG::Manager::Conf::SOAP> for documentation on client side.
=head1 DESCRIPTION =head1 DESCRIPTION
Lemonldap::NG::Manager::Conf provides a simple interface to access to Lemonldap::NG::Common::Conf provides a simple interface to access to
Lemonldap::NG Web-SSO configuration. It is used by L<Lemonldap::NG::Handler>, Lemonldap::NG Web-SSO configuration. It is used by L<Lemonldap::NG::Handler>,
L<Lemonldap::NG::Portal> and L<Lemonldap::NG::Manager>. L<Lemonldap::NG::Portal> and L<Lemonldap::NG::Manager>.
Lemonldap::NG::Manager::Conf::SOAP provides the "SOAP" target used to access Lemonldap::NG::Common::Conf::SOAP provides the "SOAP" target used to access
configuration via SOAP. configuration via SOAP.
=head2 SECURITY =head2 SECURITY
As Lemonldap::NG::Manager::Conf::SOAP use SOAP::Lite, you have to see As Lemonldap::NG::Common::Conf::SOAP use SOAP::Lite, you have to see
L<SOAP::Transport> to know arguments that can be passed to C<proxyOptions>. L<SOAP::Transport> to know arguments that can be passed to C<proxyOptions>.
Lemonldap::NG provides a system for HTTP basic authentication. Lemonldap::NG provides a system for HTTP basic authentication.
@ -230,7 +230,7 @@ set environment variables.
=head1 SEE ALSO =head1 SEE ALSO
L<Lemonldap::NG::Manager>, L<Lemonldap::NG::Manager::Conf::SOAP>, L<Lemonldap::NG::Manager>, L<Lemonldap::NG::Common::Conf::SOAP>,
L<Lemonldap::NG::Handler>, L<Lemonldap::NG::Portal>, L<Lemonldap::NG::Handler>, L<Lemonldap::NG::Portal>,
http://wiki.lemonldap.objectweb.org/xwiki/bin/view/NG/Presentation http://wiki.lemonldap.objectweb.org/xwiki/bin/view/NG/Presentation

@ -1,7 +1,7 @@
#!/usr/bin/perl #!/usr/bin/perl
use Getopt::Std; use Getopt::Std;
use Lemonldap::NG::Manager::Conf; use Lemonldap::NG::Common::Conf;
use strict; use strict;
# Get ARGS # Get ARGS

@ -6,7 +6,7 @@
# change 'tests => 1' to 'tests => last_test_to_print'; # change 'tests => 1' to 'tests => last_test_to_print';
use Test::More tests => 1; use Test::More tests => 1;
BEGIN { use_ok('Lemonldap::NG::Manager::Conf') } BEGIN { use_ok('Lemonldap::NG::Common::Conf') }
######################### #########################

@ -6,7 +6,7 @@
# change 'tests => 1' to 'tests => last_test_to_print'; # change 'tests => 1' to 'tests => last_test_to_print';
use Test::More tests => 2; use Test::More tests => 2;
BEGIN { use_ok('Lemonldap::NG::Manager::Conf') } BEGIN { use_ok('Lemonldap::NG::Common::Conf') }
######################### #########################
@ -16,7 +16,7 @@ BEGIN { use_ok('Lemonldap::NG::Manager::Conf') }
my $h; my $h;
@ARGV = ("help=groups"); @ARGV = ("help=groups");
ok( ok(
$h = new Lemonldap::NG::Manager::Conf( $h = new Lemonldap::NG::Common::Conf(
{ {
type => 'File', type => 'File',
dirName => ".", dirName => ".",

@ -6,7 +6,7 @@
# change 'tests => 1' to 'tests => last_test_to_print'; # change 'tests => 1' to 'tests => last_test_to_print';
use Test::More tests => 3; use Test::More tests => 3;
BEGIN { use_ok('Lemonldap::NG::Manager::Conf') } BEGIN { use_ok('Lemonldap::NG::Common::Conf') }
######################### #########################
@ -16,7 +16,7 @@ BEGIN { use_ok('Lemonldap::NG::Manager::Conf') }
my $h; my $h;
@ARGV = ("help=groups"); @ARGV = ("help=groups");
ok( ok(
$h = new Lemonldap::NG::Manager::Conf( $h = new Lemonldap::NG::Common::Conf(
{ {
type => 'DBI', type => 'DBI',
dbiChain => "DBI:mysql:database=lemonldap-ng", dbiChain => "DBI:mysql:database=lemonldap-ng",

@ -7,7 +7,7 @@
use Test::More tests => 4; use Test::More tests => 4;
# SOAP::Lite is not required, so Lemonldap::NG::Manager::Conf::SOAP may # SOAP::Lite is not required, so Lemonldap::NG::Common::Conf::SOAP may
# not run. # not run.
SKIP: { SKIP: {
eval { require SOAP::Lite }; eval { require SOAP::Lite };
@ -15,10 +15,10 @@ SKIP: {
"SOAP::Lite is not installed, so SOAP configuration access will not work", "SOAP::Lite is not installed, so SOAP configuration access will not work",
4 4
if ($@); if ($@);
use_ok('Lemonldap::NG::Manager::Conf'); use_ok('Lemonldap::NG::Common::Conf');
my $h; my $h;
ok( ok(
$h = new Lemonldap::NG::Manager::Conf( $h = new Lemonldap::NG::Common::Conf(
{ {
type => 'SOAP', type => 'SOAP',
proxy => 'http://localhost', proxy => 'http://localhost',

@ -0,0 +1,15 @@
# Before `make install' is performed this script should be runnable with
# `make test'. After `make install' it should work as `perl Lemonldap-NG-Common.t'
#########################
# change 'tests => 1' to 'tests => last_test_to_print';
use Test::More tests => 1;
BEGIN { use_ok('Lemonldap::NG::Common') };
#########################
# 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,7 +1,5 @@
Changes Changes
example/autoProtectedCGI.pl example/autoProtectedCGI.pl
example/lmH-apache.conf
example/lmH-apache2.conf
example/menu.pl example/menu.pl
example/MyHandler.pm example/MyHandler.pm
example/MyHandlerLog4Perl.pm example/MyHandlerLog4Perl.pm

@ -76,7 +76,7 @@ about the way the user will choose. When configuring your Web-SSO, you have to:
* create an array foreach virtual host associating URI regular expressions and * create an array foreach virtual host associating URI regular expressions and
Perl expressions to use to grant access. Perl expressions to use to grant access.
Example (See Lemonldap::NG::Manager::Conf(3) to see how configuration is stored Example (See Lemonldap::NG::Common::Conf(3) to see how configuration is stored)
* Exported variables : * Exported variables :

@ -150,7 +150,7 @@ sub localInit {
$localStorageOptions->{namespace} ||= "lemonldap"; $localStorageOptions->{namespace} ||= "lemonldap";
$localStorageOptions->{default_expires_in} ||= 600; $localStorageOptions->{default_expires_in} ||= 600;
} }
$lmConf = Lemonldap::NG::Manager::Conf->new( $args->{configStorage} ); $lmConf = Lemonldap::NG::Common::Conf->new( $args->{configStorage} );
$class->defaultValuesInit($args); $class->defaultValuesInit($args);
} }

@ -4,7 +4,7 @@ use strict;
use Lemonldap::NG::Handler::Simple qw(:all); use Lemonldap::NG::Handler::Simple qw(:all);
use Lemonldap::NG::Handler::Vhost; use Lemonldap::NG::Handler::Vhost;
use Lemonldap::NG::Manager::Conf; use Lemonldap::NG::Common::Conf;
use Cache::Cache qw($EXPIRES_NEVER); use Cache::Cache qw($EXPIRES_NEVER);
our @ISA = qw(Lemonldap::NG::Handler::Vhost Lemonldap::NG::Handler::Simple); our @ISA = qw(Lemonldap::NG::Handler::Vhost Lemonldap::NG::Handler::Simple);
@ -61,7 +61,7 @@ sub defaultValuesInit {
sub localInit { sub localInit {
my ( $class, $args ) = @_; my ( $class, $args ) = @_;
$lmConf = Lemonldap::NG::Manager::Conf->new( $args->{configStorage} ); $lmConf = Lemonldap::NG::Common::Conf->new( $args->{configStorage} );
$class->defaultValuesInit($args); $class->defaultValuesInit($args);
$class->SUPER::localInit($args); $class->SUPER::localInit($args);
} }
@ -259,7 +259,7 @@ with the C<reloadTime> parameter (default 600s).
=head3 getConf =head3 getConf
Call Lemonldap::NG::Manager::Conf with the configStorage parameter. Call Lemonldap::NG::Common::Conf with the configStorage parameter.
=head1 OPERATION =head1 OPERATION

@ -266,7 +266,7 @@ sub safe {
my $class = shift; my $class = shift;
return $safe if($safe); return $safe if($safe);
$safe = new Safe; $safe = new Safe;
my @t = split /\s+/, $customFunctions; my @t = $customFunctions ? split( /\s+/, $customFunctions ) : ();
$safe->share( '&encode_base64', '$datas', '&lmSetHeaderIn', '$apacheRequest', @t ); $safe->share( '&encode_base64', '$datas', '&lmSetHeaderIn', '$apacheRequest', @t );
foreach(@t) { foreach(@t) {
$class->lmLog("Custom function : $_",'debug'); $class->lmLog("Custom function : $_",'debug');

@ -85,13 +85,7 @@ lib/Lemonldap/NG/Manager.pm
lib/Lemonldap/NG/Manager/_HTML.pm lib/Lemonldap/NG/Manager/_HTML.pm
lib/Lemonldap/NG/Manager/_i18n.pm lib/Lemonldap/NG/Manager/_i18n.pm
lib/Lemonldap/NG/Manager/_Response.pm lib/Lemonldap/NG/Manager/_Response.pm
lib/Lemonldap/NG/Manager/Apache/Session/SOAP.pm
lib/Lemonldap/NG/Manager/Base.pm lib/Lemonldap/NG/Manager/Base.pm
lib/Lemonldap/NG/Manager/Conf.pm
lib/Lemonldap/NG/Manager/Conf/Constants.pm
lib/Lemonldap/NG/Manager/Conf/DBI.pm
lib/Lemonldap/NG/Manager/Conf/File.pm
lib/Lemonldap/NG/Manager/Conf/SOAP.pm
lib/Lemonldap/NG/Manager/Help.pm lib/Lemonldap/NG/Manager/Help.pm
lib/Lemonldap/NG/Manager/Restricted.pm lib/Lemonldap/NG/Manager/Restricted.pm
lib/Lemonldap/NG/Manager/Sessions.pm lib/Lemonldap/NG/Manager/Sessions.pm
@ -100,11 +94,6 @@ Makefile.PL
MANIFEST MANIFEST
META.yml Module meta-data (added by MakeMaker) META.yml Module meta-data (added by MakeMaker)
README README
scripts/lmConfig_File2MySQL
t/01-Manager-Conf.t
t/02-Manager-Conf-File.t
t/03-Manager-Conf-DBI.t
t/04-Manager-Conf-SOAP.t
t/10-Manager.t t/10-Manager.t
t/20-Manager-i18n.t t/20-Manager-i18n.t
t/50-Manager-SOAPServer.t t/50-Manager-SOAPServer.t

@ -5,15 +5,10 @@ WriteMakefile(
NAME => 'Lemonldap::NG::Manager', NAME => 'Lemonldap::NG::Manager',
VERSION_FROM => 'lib/Lemonldap/NG/Manager.pm', # finds $VERSION VERSION_FROM => 'lib/Lemonldap/NG/Manager.pm', # finds $VERSION
PREREQ_PM => { PREREQ_PM => {
'DBI' => 0,
'CGI' => 3.08, 'CGI' => 3.08,
'Storable' => 0,
'XML::Simple' => 0, 'XML::Simple' => 0,
'LWP::UserAgent' => 0, 'LWP::UserAgent' => 0,
}, # e.g., Module::Name => 1.1 }, # e.g., Module::Name => 1.1
EXE_FILES => [
'scripts/lmConfig_File2MySQL',
],
($] >= 5.005 ? ## Add these new keywords supported since 5.005 ($] >= 5.005 ? ## Add these new keywords supported since 5.005
(ABSTRACT_FROM => 'lib/Lemonldap/NG/Manager.pm', # retrieve abstract from module (ABSTRACT_FROM => 'lib/Lemonldap/NG/Manager.pm', # retrieve abstract from module
AUTHOR => 'Xavier Guimard <x.guimard@free.fr>') : ()), AUTHOR => 'Xavier Guimard <x.guimard@free.fr>') : ()),

@ -75,7 +75,7 @@ about the way the user will choose. When configuring your Web-SSO, you have to:
* create an array foreach virtual host associating URI regular expressions and * create an array foreach virtual host associating URI regular expressions and
Perl expressions to use to grant access. Perl expressions to use to grant access.
Example (See Lemonldap::NG::Manager::Conf(3) to see how configuration is stored Example (See Lemonldap::NG::Common::Conf(3) to see how configuration is stored)
* Exported variables : * Exported variables :

@ -1,7 +1,7 @@
#!/usr/bin/perl #!/usr/bin/perl
use Lemonldap::NG::Manager::Conf; use Lemonldap::NG::Common::Conf;
use Lemonldap::NG::Manager::Conf::Constants; use Lemonldap::NG::Common::Conf::Constants;
use Data::Dumper; use Data::Dumper;
use strict; use strict;
@ -11,7 +11,7 @@ our $editFile = `mktemp`;
chomp $refFile; chomp $refFile;
chomp $editFile; chomp $editFile;
my $conf = Lemonldap::NG::Manager::Conf->new( my $conf = Lemonldap::NG::Common::Conf->new(
{ {
type => 'File', type => 'File',
dirName => '__CONFDIR__', dirName => '__CONFDIR__',

@ -5,12 +5,12 @@ use strict;
use XML::Simple; use XML::Simple;
use Lemonldap::NG::Manager::Base; use Lemonldap::NG::Manager::Base;
use Lemonldap::NG::Manager::Conf; use Lemonldap::NG::Common::Conf;
use Lemonldap::NG::Manager::_HTML; use Lemonldap::NG::Manager::_HTML;
require Lemonldap::NG::Manager::_Response; require Lemonldap::NG::Manager::_Response;
require Lemonldap::NG::Manager::_i18n; require Lemonldap::NG::Manager::_i18n;
require Lemonldap::NG::Manager::Help; require Lemonldap::NG::Manager::Help;
use Lemonldap::NG::Manager::Conf::Constants; use Lemonldap::NG::Common::Conf::Constants;
use LWP::UserAgent; use LWP::UserAgent;
use Safe; use Safe;
use MIME::Base64; use MIME::Base64;
@ -756,7 +756,7 @@ sub config {
my $self = shift; my $self = shift;
return $self->{_config} if $self->{_config}; return $self->{_config} if $self->{_config};
$self->{_config} = $self->{_config} =
Lemonldap::NG::Manager::Conf->new( $self->{configStorage} ); Lemonldap::NG::Common::Conf->new( $self->{configStorage} );
unless ( $self->{_config} ) { unless ( $self->{_config} ) {
die "Configuration not loaded\n"; die "Configuration not loaded\n";
} }
@ -834,8 +834,8 @@ configuration database system. the key 'type' must be set. Example:
dbiPassword => "pass", dbiPassword => "pass",
} }
See L<Lemonldap::Manager::NG::Manager::Conf::File> or See L<Lemonldap::Manager::NG::Common::Conf::File> or
L<Lemonldap::Manager::NG::Manager::Conf::DBI> to know which keys are required. L<Lemonldap::Manager::NG::Common::Conf::DBI> to know which keys are required.
=item * B<dhtmlXTreeImageLocation> (required): the location of the directory =item * B<dhtmlXTreeImageLocation> (required): the location of the directory
containing dhtmlXTree images (provided in example/imgs). If this parameter containing dhtmlXTree images (provided in example/imgs). If this parameter

@ -3,7 +3,7 @@ package Lemonldap::NG::Manager::Restricted;
use strict; use strict;
use Lemonldap::NG::Manager; use Lemonldap::NG::Manager;
use Lemonldap::NG::Manager::Conf::Constants; use Lemonldap::NG::Common::Conf::Constants;
our @ISA = qw(Lemonldap::NG::Manager); our @ISA = qw(Lemonldap::NG::Manager);
our $VERSION = "0.1"; our $VERSION = "0.1";

@ -2,7 +2,7 @@ package Lemonldap::NG::Manager::SOAPServer;
use strict; use strict;
use SOAP::Transport::HTTP; use SOAP::Transport::HTTP;
use Lemonldap::NG::Manager::Conf; use Lemonldap::NG::Common::Conf;
use UNIVERSAL qw(isa); use UNIVERSAL qw(isa);
our $VERSION = "0.3"; our $VERSION = "0.3";
@ -33,7 +33,7 @@ sub new {
die qq/The "configStorage" parameter is required\n/; die qq/The "configStorage" parameter is required\n/;
return (); return ();
} }
$self->{config} = Lemonldap::NG::Manager::Conf->new( $self->{configStorage} ); $self->{config} = Lemonldap::NG::Common::Conf->new( $self->{configStorage} );
die "Configuration not loaded" unless $self->{config}; die "Configuration not loaded" unless $self->{config};
} }
return $self; return $self;
@ -199,10 +199,10 @@ Lemonldap::NG Web-SSO configuration or sessions via SOAP.
=head2 Client side =head2 Client side
See L<Lemonldap::NG::Manager::Conf::SOAP> for documentation on client side See L<Lemonldap::NG::Common::Conf::SOAP> for documentation on client side
configuration access. configuration access.
See L<Lemonldap::NG::Manager::Apache::Session::SOAP> for documentation on client side See L<Lemonldap::NG::Common::Apache::Session::SOAP> for documentation on client side
sessions access. sessions access.
=head3 Configuration access =head3 Configuration access
@ -267,13 +267,13 @@ sessions access.
=head3 Sessions access =head3 Sessions access
Use simply Lemonldap::NG::Manager::Apache::Session::SOAP in the 'Apache session Use simply Lemonldap::NG::Common::Apache::Session::SOAP in the 'Apache session
module'parameter (instead of Apache::Session::MySQL or module'parameter (instead of Apache::Session::MySQL or
Apache::Session::File). Apache::Session::File).
=head1 DESCRIPTION =head1 DESCRIPTION
Lemonldap::NG::Manager::Conf provides a simple interface to access to Lemonldap::NG::Common::Conf provides a simple interface to access to
Lemonldap::NG Web-SSO configuration. It is used by L<Lemonldap::NG::Handler>, Lemonldap::NG Web-SSO configuration. It is used by L<Lemonldap::NG::Handler>,
L<Lemonldap::NG::Portal> and L<Lemonldap::NG::Manager>. L<Lemonldap::NG::Portal> and L<Lemonldap::NG::Manager>.
@ -299,7 +299,7 @@ overload this package.
Since Lemonldap::NG::Manager::SOAPServer act as a CGI, you can protect Since Lemonldap::NG::Manager::SOAPServer act as a CGI, you can protect
configuration access by any of the HTTP protection mecanisms. configuration access by any of the HTTP protection mecanisms.
See L<Lemonldap::NG::Manager::Conf::SOAP> for the security in the client See L<Lemonldap::NG::Common::Conf::SOAP> for the security in the client
side. side.
In "session" mode, you can control what functions can be used by SOAP. By In "session" mode, you can control what functions can be used by SOAP. By
@ -308,7 +308,7 @@ Use "AuthorizedFunctions" parameter to grant other functions.
=head1 SEE ALSO =head1 SEE ALSO
L<Lemonldap::NG::Manager>, L<Lemonldap::NG::Manager::Conf::SOAP>, L<Lemonldap::NG::Manager>, L<Lemonldap::NG::Common::Conf::SOAP>,
L<Lemonldap::NG::Handler>, L<Lemonldap::NG::Portal>, L<Lemonldap::NG::Handler>, L<Lemonldap::NG::Portal>,
http://wiki.lemonldap.objectweb.org/xwiki/bin/view/NG/Presentation http://wiki.lemonldap.objectweb.org/xwiki/bin/view/NG/Presentation

@ -6,7 +6,7 @@ package Lemonldap::NG::Manager::_HTML;
use AutoLoader qw(AUTOLOAD); use AutoLoader qw(AUTOLOAD);
require Lemonldap::NG::Manager::_i18n; require Lemonldap::NG::Manager::_i18n;
use Lemonldap::NG::Manager::Conf::Constants; use Lemonldap::NG::Common::Conf::Constants;
our $VERSION = '0.31'; our $VERSION = '0.31';

@ -7,7 +7,7 @@
use Test::More tests => 3; use Test::More tests => 3;
# SOAP::Lite is not required, so Lemonldap::NG::Manager::Conf::SOAP may # SOAP::Lite is not required, so Lemonldap::NG::Common::Conf::SOAP may
# not run. # not run.
SKIP: { SKIP: {
eval { require SOAP::Transport::HTTP }; eval { require SOAP::Transport::HTTP };

@ -1,6 +1,4 @@
Changes Changes
example/apps/apps-list.dtd
example/apps/apps-list.xml
example/apps/docs.png example/apps/docs.png
example/apps/tools.png example/apps/tools.png
example/apps/web.png example/apps/web.png

@ -75,7 +75,7 @@ about the way the user will choose. When configuring your Web-SSO, you have to:
* create an array foreach virtual host associating URI regular expressions and * create an array foreach virtual host associating URI regular expressions and
Perl expressions to use to grant access. Perl expressions to use to grant access.
Example (See Lemonldap::NG::Manager::Conf(3) to see how configuration is stored Example (See Lemonldap::NG::Common::Conf(3) to see how configuration is stored)
* Exported variables : * Exported variables :

@ -66,8 +66,8 @@ BEGIN {
} }
} }
use Lemonldap::NG::Manager::Conf; use Lemonldap::NG::Common::Conf;
use Lemonldap::NG::Manager::Conf::Constants; use Lemonldap::NG::Common::Conf::Constants;
use strict; use strict;
use DBI; use DBI;
@ -80,7 +80,7 @@ print $cgi->header(
print "LEMONLDAP::NG::PORTAL STATUS\n\nConfiguration : "; print "LEMONLDAP::NG::PORTAL STATUS\n\nConfiguration : ";
my $lmconf = Lemonldap::NG::Manager::Conf->new( my $lmconf = Lemonldap::NG::Common::Conf->new(
{ {
type => 'File', type => 'File',
dirName => '__CONFDIR__', dirName => '__CONFDIR__',

@ -67,12 +67,12 @@ BEGIN {
} }
} }
use Lemonldap::NG::Manager::Conf; use Lemonldap::NG::Common::Conf;
use Lemonldap::NG::Manager::Conf::Constants; use Lemonldap::NG::Common::Conf::Constants;
use strict; use strict;
use DBI; use DBI;
my $lmconf = Lemonldap::NG::Manager::Conf->new( my $lmconf = Lemonldap::NG::Common::Conf->new(
{ {
type => 'File', type => 'File',
dirName => '__CONFDIR__', dirName => '__CONFDIR__',

@ -364,7 +364,7 @@ constructor (new()).
=item * configStorage I<(required for Lemonldap::NG::Portal::SharedConf)> : =item * configStorage I<(required for Lemonldap::NG::Portal::SharedConf)> :
describe how to find configuration generated by L<Lemonldap::NG::Manager>. See describe how to find configuration generated by L<Lemonldap::NG::Manager>. See
L<Lemonldap::NG::Manager::Conf> for more L<Lemonldap::NG::Common::Conf> for more
=item * caPath, caFile : if you use ldap+tls you can overwrite cafile or capath =item * caPath, caFile : if you use ldap+tls you can overwrite cafile or capath
options with those parameters. This is usefull if you use a shared options with those parameters. This is usefull if you use a shared

@ -21,7 +21,7 @@ sub _safe {
my $self = shift; my $self = shift;
return $self->{_safe} if($self->{_safe}); return $self->{_safe} if($self->{_safe});
$self->{_safe} = new Safe; $self->{_safe} = new Safe;
my @t = split /\s+/, $self->{customFunctions}; my @t = $self->{customFunctions} ? split( /\s+/, $self->{customFunctions} ) : ();
foreach(@t) { foreach(@t) {
next if(__PACKAGE__->can($_)); next if(__PACKAGE__->can($_));
my $sub = /::/ ? $_ : "$self->{caller}::$_"; my $sub = /::/ ? $_ : "$self->{caller}::$_";

@ -2,7 +2,7 @@ package Lemonldap::NG::Portal::SharedConf;
use strict; use strict;
use Lemonldap::NG::Portal::Simple qw(:all); use Lemonldap::NG::Portal::Simple qw(:all);
use Lemonldap::NG::Manager::Conf; use Lemonldap::NG::Common::Conf;
use Safe; use Safe;
*EXPORT_OK = *Lemonldap::NG::Portal::Simple::EXPORT_OK; *EXPORT_OK = *Lemonldap::NG::Portal::Simple::EXPORT_OK;
@ -19,9 +19,9 @@ our $safe = new Safe;
# OVERLOADED SUB # # OVERLOADED SUB #
################## ##################
# getConf: all parameters returned by the Lemonldap::NG::Manager::Conf object # getConf: all parameters returned by the Lemonldap::NG::Common::Conf object
# are copied in $self # are copied in $self
# See Lemonldap::NG::Manager::Conf(3) for more # See Lemonldap::NG::Common::Conf(3) for more
sub getConf { sub getConf {
my $self = shift; my $self = shift;
my %args; my %args;
@ -42,7 +42,7 @@ sub getConf {
} }
unless ($tmp) { unless ($tmp) {
$self->{lmConf} = $self->{lmConf} =
Lemonldap::NG::Manager::Conf->new( $self->{configStorage} ) Lemonldap::NG::Common::Conf->new( $self->{configStorage} )
unless $self->{lmConf}; unless $self->{lmConf};
return 0 unless ( ref( $self->{lmConf} ) ); return 0 unless ( ref( $self->{lmConf} ) );
$tmp = $self->{lmConf}->getConf; $tmp = $self->{lmConf}->getConf;

@ -12,7 +12,7 @@ use Test::More tests => 1;
# Insert your test code below, the Test::More module is use()ed here so read # 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. # its man page ( perldoc Test::More ) for help writing this test script.
# SOAP::Lite is not required, so Lemonldap::NG::Manager::Conf::SOAP may # SOAP::Lite is not required, so Lemonldap::NG::Common::Conf::SOAP may
# not run. # not run.
SKIP: { SKIP: {
eval { require AuthCAS }; eval { require AuthCAS };

@ -7,7 +7,7 @@
use Test::More tests => 1; use Test::More tests => 1;
# SOAP::Lite is not required, so Lemonldap::NG::Manager::Conf::SOAP may # SOAP::Lite is not required, so Lemonldap::NG::Common::Conf::SOAP may
# not run. # not run.
SKIP: { SKIP: {
eval { require lasso }; eval { require lasso };

Loading…
Cancel
Save