diff --git a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Simple.pm b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Simple.pm index b89405cca..72de1e6f5 100644 --- a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Simple.pm +++ b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Simple.pm @@ -551,8 +551,7 @@ sub setDefaultValues { $self->{cookieName} ||= "lemonldap"; $self->{authentication} ||= 'LDAP'; $self->{authentication} =~ s/^ldap/LDAP/; - $self->{SMTPServer} ||= 'localhost'; - $self->{mailLDAPFilter} ||= '(&(mail=$mail)(objectClass=inetOrgPerson))'; + $self->{SMTPServer} ||= 'localhost'; $self->{randomPasswordRegexp} ||= '[A-Z]{3}[a-z]{5}.\d{2}'; $self->{mailFrom} ||= "noreply@" . $self->{domain}; $self->{mailSubject} ||= "[LemonLDAP::NG] Your new password"; @@ -750,9 +749,9 @@ sub buildHiddenForm { # Build hidden input HTML code $val .= - ''; diff --git a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/UserDBLDAP.pm b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/UserDBLDAP.pm index 91b0f2264..a843b3e3e 100644 --- a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/UserDBLDAP.pm +++ b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/UserDBLDAP.pm @@ -44,9 +44,16 @@ sub formateFilter { ? $self->{mailLDAPFilter} : $self->{AuthLDAPFilter} || $self->{LDAPFilter}; - $self->lmLog( "LDAP submitted filter: " . $self->{LDAPFilter}, 'debug' ) - if ( $self->{LDAPFilter} ); - $self->{LDAPFilter} ||= '(&(uid=$user)(objectClass=inetOrgPerson))'; + if ( $self->{LDAPFilter} ) { + $self->lmLog( "LDAP submitted filter: " . $self->{LDAPFilter}, + 'debug' ); + } + else { + $self->{LDAPFilter} = + $self->{mail} + ? '(&(mail=$mail)(objectClass=inetOrgPerson))' + : '(&(uid=$user)(objectClass=inetOrgPerson))'; + } $self->{LDAPFilter} =~ s/\$(user|_?password|mail)/$self->{$1}/g; $self->{LDAPFilter} =~ s/\$(\w+)/$self->{sessionInfo}->{$1}/g; $self->lmLog( "LDAP transformed filter: " . $self->{LDAPFilter}, 'debug' );