21 lines
867 B
Diff
21 lines
867 B
Diff
|
--- /usr/share/perl5/Lemonldap/NG/Portal/UserDB/LDAP.pm.old 2019-12-11 12:05:54.000000000 +0100
|
||
|
+++ /usr/share/perl5/Lemonldap/NG/Portal/UserDB/LDAP.pm 2021-01-05 10:54:19.188732119 +0100
|
||
|
@@ -40,10 +40,15 @@
|
||
|
%{ $self->conf->{ldapExportedVars} } );
|
||
|
while ( my ( $k, $v ) = each %vars ) {
|
||
|
|
||
|
+ my $value = $self->ldap->getLdapValue( $req->data->{ldapentry}, $v );
|
||
|
+
|
||
|
# getLdapValue returns an empty string for missing attribute
|
||
|
# but we really want to return undef so they don't get stored in session
|
||
|
- $req->sessionInfo->{$k} =
|
||
|
- $self->ldap->getLdapValue( $req->data->{ldapentry}, $v ) || undef;
|
||
|
+ # This has to be a string comparison because "0" is a valid attribute
|
||
|
+ # value. See #2403
|
||
|
+ $value = undef if ( $value eq "" );
|
||
|
+
|
||
|
+ $req->sessionInfo->{$k} = $value;
|
||
|
}
|
||
|
|
||
|
PE_OK;
|