From: ivan Date: Fri, 22 Nov 2002 07:50:26 +0000 (+0000) Subject: separate root and user dn in ldap export X-Git-Tag: freeside_1_4_1beta6~40 X-Git-Url: http://git.freeside.biz/gitweb/?a=commitdiff_plain;h=9a9c79a765c5c4009b4aae9ba13e79f49a4bf449;p=freeside.git separate root and user dn in ldap export --- diff --git a/FS/FS/part_export.pm b/FS/FS/part_export.pm index 338b4e3a9..35e25d679 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;