From 7a94fd2dd84ccb204e97e8cbd9ce4162e93fd12e Mon Sep 17 00:00:00 2001 From: ivan Date: Fri, 22 Nov 2002 07:50:23 +0000 Subject: [PATCH] separate root and user dn in ldap export --- FS/FS/part_export.pm | 3 ++- 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; -- 2.11.0