diff options
| -rw-r--r-- | FS/FS/part_export.pm | 1 | ||||
| -rw-r--r-- | FS/FS/part_export/ldap.pm | 5 | 
2 files changed, 6 insertions, 0 deletions
diff --git a/FS/FS/part_export.pm b/FS/FS/part_export.pm index e587cad6c..1e5470e55 100644 --- a/FS/FS/part_export.pm +++ b/FS/FS/part_export.pm @@ -745,6 +745,7 @@ tie my %ldap_options, 'Tie::IxHash',                        'userpassword $crypt_password',                        'hint',                        'answer $sec_phrase', +                      'objectclass top,person,inetOrgPerson',                      ),                    },    'radius'     => { label=>'Export RADIUS attributes', type=>'checkbox', }, diff --git a/FS/FS/part_export/ldap.pm b/FS/FS/part_export/ldap.pm index 6ff9abe12..a28504313 100644 --- a/FS/FS/part_export/ldap.pm +++ b/FS/FS/part_export/ldap.pm @@ -208,7 +208,12 @@ sub ldap_queue {  sub ldap_insert { #subroutine, not method    my $ldap = ldap_connect(shift, (my $dn = shift), shift);    my( $username_attrib, %attrib ) = @_; +    $dn = "$username_attrib=$attrib{$username_attrib}, $dn" if $username_attrib; +  #icky hack, but should be unsurprising to the LDAPers +  foreach my $key ( grep { $attrib{$_} =~ /,/ } keys %attrib ) { +    $attrib{$key} = [ split(/,/, $attrib{$key}) ];  +  }    my $status = $ldap->add( $dn, attrs => [ %attrib ] );    die $status->error if $status->is_error;  | 
