Skip to content
Snippets Groups Projects

LDAP: Fix get_value on undefined value for external_entry

Open Alexej Kolbin requested to merge external-ldap-fix into main
1 unresolved thread
1 file
+ 3
0
Compare changes
  • Side-by-side
  • Inline
  • 405b6efb
    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;
        },"
@@ -50,6 +50,9 @@ Set($ExternalSettings, {
@@ -50,6 +50,9 @@ Set($ExternalSettings, {
'RealName' => sub {
'RealName' => sub {
use Encode qw(decode);
use Encode qw(decode);
my %args = @_;
my %args = @_;
 
 
return 'displayName' unless $args{'external_entry'};
Please register or sign in to reply
 
my @values = grep defined && length,
my @values = grep defined && length,
$args{'external_entry'}->get_value('displayName');
$args{'external_entry'}->get_value('displayName');
foreach my $v (@values) {
foreach my $v (@values) {
Loading