From 405b6efbbf911aeb884ffe3c2d49b52b96bb6077 Mon Sep 17 00:00:00 2001 From: lxa4096 <lxa4096@tutamail.com> Date: Wed, 24 Jul 2024 11:47:23 +0200 Subject: [PATCH] LDAP: Fix get_value on undefined value for external_entry I do not know, in which cases the external_entry is specified by RT and in which not. The logs show this error occurred since 01.07.2024 Taken from the documentation: https://github.com/bestpractical/rt/blob/rt-4.4.6/lib/RT/Authen/ExternalAuth.pm#L261 "The subroutine is called in 2 modes: when called with external_entry specified, it should return value or list of values, otherwise, it should return the external field list it depends on, so RT could retrieve them at the beginning." "E.g. YYY => sub { my %args = @_; return 'XXX' unless $args{external_entry}; my @values = grep defined && length, $args{external_entry}->get_value('XXX'); return @values; }," --- request-tracker/templates/RT_SiteConfig.d/70-ldap.pm.j2 | 3 +++ 1 file changed, 3 insertions(+) diff --git a/request-tracker/templates/RT_SiteConfig.d/70-ldap.pm.j2 b/request-tracker/templates/RT_SiteConfig.d/70-ldap.pm.j2 index c6e4d0c..464f046 100644 --- a/request-tracker/templates/RT_SiteConfig.d/70-ldap.pm.j2 +++ b/request-tracker/templates/RT_SiteConfig.d/70-ldap.pm.j2 @@ -50,6 +50,9 @@ Set($ExternalSettings, { 'RealName' => sub { use Encode qw(decode); my %args = @_; + + return 'displayName' unless $args{'external_entry'}; + my @values = grep defined && length, $args{'external_entry'}->get_value('displayName'); foreach my $v (@values) { -- GitLab