diff options
| -rw-r--r-- | FS/FS/part_export.pm | 3 | ||||
| -rw-r--r-- | FS/FS/part_export/ldap.pm | 10 | 
2 files changed, 8 insertions, 5 deletions
| diff --git a/FS/FS/part_export.pm b/FS/FS/part_export.pm index 8e8a828e7..4b15f44ca 100644 --- a/FS/FS/part_export.pm +++ b/FS/FS/part_export.pm @@ -726,7 +726,8 @@ tie my %sqlmail_options, 'Tie::IxHash',  tie my %ldap_options, 'Tie::IxHash',    'dn'         => { label=>'Root DN' }, -  'password'   => { label=>'Optional DN password' }, +  'password'   => { label=>'Root DN password' }, +  'userdn'     => { label=>'User DN' },    'attributes' => { label=>'Attributes',                      type=>'textarea',                      default=>join("\n", diff --git a/FS/FS/part_export/ldap.pm b/FS/FS/part_export/ldap.pm index a28504313..68a63528e 100644 --- a/FS/FS/part_export/ldap.pm +++ b/FS/FS/part_export/ldap.pm @@ -201,21 +201,23 @@ sub ldap_queue {      $self->machine,      $self->option('dn'),      $self->option('password'), +    $self->option('userdn'),      @_,    ) or $queue;  }  sub ldap_insert { #subroutine, not method -  my $ldap = ldap_connect(shift, (my $dn = shift), shift); -  my( $username_attrib, %attrib ) = @_; +  my $ldap = ldap_connect(shift, shift, shift); +  my( $userdn, $username_attrib, %attrib ) = @_; -  $dn = "$username_attrib=$attrib{$username_attrib}, $dn" if $username_attrib; +  $userdn = "$username_attrib=$attrib{$username_attrib}, $userdn" +    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 ] ); +  my $status = $ldap->add( $userdn, attrs => [ %attrib ] );    die $status->error if $status->is_error;    $ldap->unbind; | 
