Use Net::LDAP high availability system
%ENV was not shared
This commit is contained in:
parent
2b6a1d94a5
commit
e5e80709e6
|
@ -449,7 +449,8 @@ sub safe {
|
|||
}";
|
||||
$self->lmLog( $@, 'error' ) if ($@);
|
||||
}
|
||||
$safe->share( '&encode_base64', '%ENV', @t );
|
||||
$safe->share_from( 'main', ['%ENV'] );
|
||||
$safe->share( '&encode_base64', @t );
|
||||
return $safe;
|
||||
}
|
||||
|
||||
|
|
|
@ -26,6 +26,7 @@ sub new {
|
|||
}
|
||||
my $useTls = 0;
|
||||
my $tlsParam;
|
||||
my @servers = ();
|
||||
foreach my $server ( split /[\s,]+/, $portal->{ldapServer} ) {
|
||||
if ( $server =~ m{^ldap\+tls://([^/]+)/?\??(.*)$} ) {
|
||||
$useTls = 1;
|
||||
|
@ -35,13 +36,13 @@ sub new {
|
|||
else {
|
||||
$useTls = 0;
|
||||
}
|
||||
last
|
||||
if $self = Net::LDAP->new(
|
||||
$server,
|
||||
port => $portal->{ldapPort},
|
||||
onerror => undef,
|
||||
);
|
||||
push @servers, $server;
|
||||
}
|
||||
$self = Net::LDAP->new(
|
||||
\@servers,
|
||||
onerror => undef,
|
||||
( $portal->{ldapPort} ? ( port => $portal->{ldapPort} ) : () ),
|
||||
);
|
||||
unless ($self) {
|
||||
$portal->lmLog( $@, 'error' );
|
||||
return 0;
|
||||
|
|
|
@ -78,15 +78,18 @@ sub try {
|
|||
# return true if an other module is available
|
||||
sub next {
|
||||
my ( $self, $type ) = @_;
|
||||
if($self->{stack}->[$type]->[0]->{n} eq $self->{stack}->[1-$type]->[0]->{n} and $self->{stack}->[1-$type]->[1]) {
|
||||
shift @{ $self->{stack}->[1-$type] };
|
||||
if ( $self->{stack}->[$type]->[0]->{n} eq
|
||||
$self->{stack}->[ 1 - $type ]->[0]->{n}
|
||||
and $self->{stack}->[ 1 - $type ]->[1] )
|
||||
{
|
||||
shift @{ $self->{stack}->[ 1 - $type ] };
|
||||
}
|
||||
shift @{ $self->{stack}->[$type] };
|
||||
return 0 unless ( @{ $self->{stack}->[$type] } );
|
||||
%{ $self->{p} } = (
|
||||
%{ $self->{p} },
|
||||
%{ $self->{p}->{multi}->{$self->{stack}->[$type]->[0]->{n}} }
|
||||
) if ( $self->{p}->{multi}->{$self->{stack}->[$type]->[0]->{n}} );
|
||||
%{ $self->{p}->{multi}->{ $self->{stack}->[$type]->[0]->{n} } }
|
||||
) if ( $self->{p}->{multi}->{ $self->{stack}->[$type]->[0]->{n} } );
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user