From: ivan Date: Wed, 20 Nov 2002 10:09:17 +0000 (+0000) Subject: hmm, so you add the username to the DN for the add call...? i don't get LDAP X-Git-Tag: freeside_1_4_1beta6~44 X-Git-Url: http://git.freeside.biz/gitweb/?a=commitdiff_plain;h=ed59ba354bf498a5ead83d79c86f424961cfaaf7;p=freeside.git hmm, so you add the username to the DN for the add call...? i don't get LDAP --- diff --git a/FS/FS/part_export/ldap.pm b/FS/FS/part_export/ldap.pm index 57d213af0..6ff9abe12 100644 --- a/FS/FS/part_export/ldap.pm +++ b/FS/FS/part_export/ldap.pm @@ -27,7 +27,10 @@ sub _export_insert { $saltset[int(rand(64))].$saltset[int(rand(64))] ); - my %attrib = map { /^\s*(\w+)\s+(.*\S)\s*$/; ( $1 => eval(qq("$2")) ); } + my $username_attrib; + my %attrib = map { /^\s*(\w+)\s+(.*\S)\s*$/; + $username_attrib = $1 if $2 eq '$username'; + ( $1 => eval(qq("$2")) ); } grep { /^\s*(\w+)\s+(.*\S)\s*$/ } split("\n", $self->option('attributes')); @@ -44,6 +47,7 @@ sub _export_insert { my $err_or_queue = $self->ldap_queue( $svc_acct->svcnum, 'insert', #$svc_acct->username, + $username_attrib, %attrib ); return $err_or_queue unless ref($err_or_queue); @@ -203,7 +207,8 @@ sub ldap_queue { sub ldap_insert { #subroutine, not method my $ldap = ldap_connect(shift, (my $dn = shift), shift); - my %attrib = @_; + my( $username_attrib, %attrib ) = @_; + $dn = "$username_attrib=$attrib{$username_attrib}, $dn" if $username_attrib; my $status = $ldap->add( $dn, attrs => [ %attrib ] ); die $status->error if $status->is_error;