@ -1,6 +1,6 @@
package Lemonldap::NG::Common;
our $VERSION='0.92';
our $VERSION='0.93';
use strict;
@ -10,6 +10,8 @@ package Lemonldap::NG::Common::Apache::Session;
use Storable qw(thaw);
our $VERSION = 0.2;
BEGIN {
sub Apache::Session::get_key_from_all_sessions {
@ -8,7 +8,7 @@ package Lemonldap::NG::Common::Apache::Session::SOAP;
use SOAP::Lite;
our $VERSION = 0.3;
our $VERSION = 0.4;
#parameter proxy Url of SOAP service
#parameter proxyOptions SOAP::Lite options
@ -2,6 +2,8 @@ package Lemonldap::NG::Common::BuildWSDL;
use Lemonldap::NG::Common::Conf;
our $VERSION = '0.1';
sub new {
my ( $class, $configStorage ) = @_;
my $self = bless {}, $class;
@ -13,7 +13,7 @@ use CGI;
#parameter syslog Indicates syslog facility for logging user actions
our $VERSION = '0.4';
our $VERSION = '0.5';
use base qw(CGI);
@ -10,7 +10,7 @@ package Lemonldap::NG::Common::CGI::SOAPServer;
use SOAP::Transport::HTTP;
use base qw(SOAP::Transport::HTTP::Server);
our $VERSION = '0.2';
our $VERSION = '0.3';
## @method protected void DESTROY()
# Call SOAP::Trace::objects().
@ -7,6 +7,8 @@ package Lemonldap::NG::Common::CGI::SOAPService;
require SOAP::Lite;
## @cmethod Lemonldap::NG::Common::CGI::SOAPService new(object obj,string @func)
# Constructor
# @param $obj object which will be called for SOAP authorizated methods
@ -21,7 +21,7 @@ use Regexp::Assemble;
use constant DEFAULTCONFFILE => "/etc/lemonldap-ng/storage.conf";
our $VERSION = 0.51;
our $VERSION = 0.6;
our $msg;
our %_confFiles;
@ -3,7 +3,7 @@ package Lemonldap::NG::Common::Conf::File;
use Lemonldap::NG::Common::Conf::Constants; #inherits
our $VERSION = 0.22;
our $VERSION = 0.23;
sub prereq {
my $self = shift;
@ -3,7 +3,7 @@ package Lemonldap::NG::Common::Conf::SOAP;
our $VERSION = 0.21;
#parameter proxyOptions SOAP::Lite parameters
@ -10,6 +10,9 @@ use strict;
use Crypt::Rijndael;
use MIME::Base64;
use base qw(Crypt::Rijndael);
## @cmethod Lemonldap::NG::Common::Crypto new(array param)
@ -16,7 +16,7 @@ use base qw(Lemonldap::NG::Handler::SharedConf);
use utf8;
no utf8;
# We need just this constant, that's why Portal is 'required' but not 'used'
*PE_OK = *Lemonldap::NG::Portal::SharedConf::PE_OK;
@ -9,7 +9,7 @@ use strict;
use Lemonldap::NG::Handler::SharedConf qw(:all);
use base qw(Lemonldap::NG::Handler::SharedConf);
@ -18,7 +18,7 @@ use Lemonldap::NG::Handler::SharedConf qw(:all);
our $_handler;
our $VERSION = '0.21';
## @cmethod Lemonldap::NG::Handler::CGI new(hashRef args)
# Constructor.
@ -10,7 +10,7 @@ use strict;
use Lemonldap::NG::Handler::Simple qw(:apache :headers);
use LWP::UserAgent;
our $VERSION = '0.41';
##########################################
# COMPATIBILITY WITH APACHE AND APACHE 2 #
@ -25,7 +25,7 @@ use Cache::Cache qw($EXPIRES_NEVER);
use base qw(Lemonldap::NG::Handler::Vhost Lemonldap::NG::Handler::Simple);
#parameter reloadTime Time in second between 2 configuration check (600)
our $VERSION = '0.7';
our $VERSION = '0.71';
our $cfgNum = 0;
our $lastReload = 0;
our $reloadTime;
@ -8,7 +8,7 @@ use POSIX;
use Data::Dumper;
#inherits Cache::Cache
our $VERSION = "0.2";
our $VERSION = "0.21";
our $status = {};
our $activity = [];
@ -5,6 +5,8 @@ use Lemonldap::NG::Handler::SharedConf qw(:all);
our @ISA = qw(Lemonldap::NG::Handler::SharedConf);
use Digest::MD5;
open S, '/etc/lemonldap-ng/sympa.secret' or die "Unable to open /etc/lemonldap-ng/sympa.secret";
our $sympaSecret = join('',<S>);
close S;
@ -9,7 +9,7 @@ use Lemonldap::NG::Handler::Simple qw(:locationRules :headers); #inherits
our $VERSION = '0.54';
our $VERSION = '0.55';
## @cmethod void locationRulesInit(hashRef args)
# Compile rules.
@ -26,7 +26,7 @@ use MIME::Base64;
use base qw(Lemonldap::NG::Common::CGI);
our @ISA;
our $VERSION = '0.88';
our $VERSION = '0.89';
# Secure jail
our $safe;
@ -6,7 +6,7 @@
package Lemonldap::NG::Manager::Help;
use AutoLoader qw(AUTOLOAD);
our $VERSION = '0.36';
## @fn void import(string lang)
# Import help messages subroutines in Lemonldap::NG::Manager in the wanted language.
@ -11,7 +11,7 @@ use Lemonldap::NG::Manager;
use base qw(Lemonldap::NG::Manager);
our $VERSION = "0.1";
our $VERSION = '0.11';
## @cmethod Lemonldap::NG::Manager::Restricted new(hashref args)
@ -2,6 +2,8 @@ package Lemonldap::NG::Manager::SOAPServer;
die 'This module is now obsolete. You have to use the portal as "proxy".
See http://wiki.lemonldap.ow2.org/xwiki/bin/view/NG/DocSOAP';
__END__
@ -14,7 +14,7 @@ use Lemonldap::NG::Common::Apache::Session; #inherits
our $whatToTrace;
*whatToTrace = \$Lemonldap::NG::Handler::_CGI::whatToTrace;
use base qw(Lemonldap::NG::Handler::CGI);
@ -13,7 +13,7 @@ use AutoLoader qw(AUTOLOAD);
require Lemonldap::NG::Manager::_i18n; #inherits
our $VERSION = '0.31';
our $VERSION = '0.32';
# TODO: Delete buttons in headers and rules if 'read-only'
@ -5,7 +5,7 @@
# Prepare Lemonldap::NG::Manager response for new configurations
package Lemonldap::NG::Manager::_Response;
## @cmethod Lemonldap::NG::Manager::_Response new()
@ -8,7 +8,7 @@ package Lemonldap::NG::Manager::_i18n;
# Developer warning : this file must be utf8 encoded
our $VERSION = '0.33';
our $VERSION = '0.34';
# Import messages
# Alias for Lemonldap::NG::SharedConf
package Lemonldap::NG::Portal;
our $VERSION = "0.87";
use Lemonldap::NG::Portal::SharedConf;
use base 'Lemonldap::NG::Portal::SharedConf';
@ -8,7 +8,7 @@ package Lemonldap::NG::Portal::AuthApache;
use Lemonldap::NG::Portal::Simple;
## @apmethod int authInit()
# @return Lemonldap::NG::Portal constant
use AuthCAS;
our $VERSION = '0.04';
# Does nothing.
@ -37,7 +37,7 @@ use UNIVERSAL qw( isa can VERSION );
*EXPORT_TAGS = *Lemonldap::NG::Portal::SharedConf::EXPORT_TAGS;
*EXPORT = *Lemonldap::NG::Portal::SharedConf::EXPORT;
use base qw(Lemonldap::NG::Portal::SharedConf);
#===============================================================================
@ -10,7 +10,7 @@ use Lemonldap::NG::Portal::_LDAP 'ldap'; #link protected ldap
use Lemonldap::NG::Portal::_WebForm;
use Lemonldap::NG::Portal::UserDBLDAP; #inherits
use base qw(Lemonldap::NG::Portal::_WebForm);
*_formateFilter = *Lemonldap::NG::Portal::UserDBLDAP::formateFilter;
@ -2,6 +2,8 @@ package Lemonldap::NG::Portal::AuthMulti;
use Lemonldap::NG::Portal::_Multi;
sub authInit {
return $self->_multi->try('authInit',0);
@ -11,6 +11,8 @@ use Lemonldap::NG::Portal::_Remote;
use base qw(Lemonldap::NG::Portal::_Remote);
*authInit = *Lemonldap::NG::Portal::_Remote::init;
## @apmethod int extractFormInfo()
@ -8,6 +8,8 @@ package Lemonldap::NG::Portal::AuthSAML;
# TODO
# Check SAML Consumer configuration.
@ -11,7 +11,7 @@ use Lemonldap::NG::Portal::AuthLDAP;
use base qw(Lemonldap::NG::Portal::AuthLDAP);
# Check if SSL environment variables are set.
@ -20,7 +20,7 @@ use Lemonldap::NG::Portal::PasswordDBLDAP; #inherits
*_modifyPassword = *Lemonldap::NG::Portal::PasswordDBLDAP::modifyPassword;
*_passwordDBInit = *Lemonldap::NG::Portal::PasswordDBLDAP::passwordDBInit;
### ACCESS CONTROL DISPLAY SYSTEM
@ -9,6 +9,8 @@ use strict;
use Time::Local;
use DBI;
## @method boolean prereq()
# Check if DBI parameters are set.
# @return true if all is OK
@ -6,9 +6,10 @@
package Lemonldap::NG::Portal::Notification::File;
# Check if parameters are set and if storage directory exists.
@ -13,7 +13,7 @@ use Lemonldap::NG::Common::Conf; #link protected lmConf Configuration
*EXPORT_TAGS = *Lemonldap::NG::Portal::Simple::EXPORT_TAGS;
*EXPORT = *Lemonldap::NG::Portal::Simple::EXPORT;
our $VERSION = "0.5";
our $VERSION = '0.6';
use base qw(Lemonldap::NG::Portal::Simple);
##################
@ -2,6 +2,8 @@ package Lemonldap::NG::Portal::UserDBMulti;
sub userDBInit {
return $self->_multi->try('userDBInit',1);
@ -8,6 +8,8 @@ package Lemonldap::NG::Portal::UserDBNull;
## @apmethod int userDBInit()
# Do nothing
@ -10,6 +10,8 @@ use Lemonldap::NG::Portal::_Remote;
# Call Lemonldap::NG::Portal::_Remote::init();
@ -13,7 +13,7 @@ use strict;
our @EXPORT = qw(ldap);
## @cmethod Lemonldap::NG::Portal::_LDAP new(Lemonldap::NG::Portal::Simple portal)
# Build a Net::LDAP object using parameters issued from $portal
@ -12,6 +12,8 @@ package Lemonldap::NG::Portal::_Multi;
## @cmethod Lemonldap::NG::Portal::_Multi new(Lemonldap::NG::Portal::Simple portal)
# @param $portal Lemonldap::NG::Portal::Simple object
## @apmethod int init()
# Checks if remote portal parameters are set.
## @method void startSoapServices()
# Check the URI requested (PATH_INFO environment variable) and launch the
# corresponding SOAP methods using soapTest().
@ -8,6 +8,8 @@ package Lemonldap::NG::Portal::_WebForm;
use Lemonldap::NG::Portal::Simple qw(:all);
@ -8,7 +8,7 @@ package Lemonldap::NG::Portal::_i18n;
# Developpers warning : this file must stay UTF-8 encoded
## @fn string error(int error,string lang)
# @param $error Number of error to resolve