From 6d8281f0f5b8a3940ee4a9345163e94fe71295ee Mon Sep 17 00:00:00 2001 From: Rene Krenn Date: Tue, 7 Jul 2026 16:52:07 +0200 Subject: [PATCH] MT#65464 fix LDAP login 500 when user lookup fails get_user_dn called ->dn on an undefined search result when LDAP lookup failed, causing login_jwt to crash instead of returning 403. Return early when no entry is found and log a clear message when the LDAP URI is missing or the connection fails. Change-Id: I5f00df840d304e4da2b35750c9c1f2e6972f1edb (cherry picked from commit 3e1d3c09a57ba886df3da5d181b717223a57ae55) --- lib/NGCP/Panel/Utils/Ldap.pm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/NGCP/Panel/Utils/Ldap.pm b/lib/NGCP/Panel/Utils/Ldap.pm index 17d118d156..b70b71dad6 100644 --- a/lib/NGCP/Panel/Utils/Ldap.pm +++ b/lib/NGCP/Panel/Utils/Ldap.pm @@ -35,7 +35,8 @@ sub get_user_dn { my @args = @_; my $user = shift; my ($entry, $code, $message) = search_dn($c, $user, @args); - $user = $entry->dn() if $user; + return undef unless $entry; + $user = $entry->dn(); my $dn_format = $c->config->{ldap_admin}->{format} ||= '%s'; return sprintf($dn_format, $user, @args); @@ -100,7 +101,7 @@ sub search_dn { } } else { - $message = $@; + $message = $@ || ($ldap_uri ? 'failed to connect to ldap server' : 'ldap uri not configured'); $c->log->debug($label . $message); return (undef, $ldapconnecterror, $message); }