From: Dobrica Pavlinusic Date: Mon, 16 Mar 2009 09:46:47 +0000 (+0000) Subject: split hrEduPersonUniqueNumber into separate attributes X-Git-Url: http://git.rot13.org/?p=virtual-ldap;a=commitdiff_plain;h=cc919bb8c5863d65db2cab4a7937521ba3ba5e28 split hrEduPersonUniqueNumber into separate attributes based on prefix: within field --- diff --git a/bin/ldap-rewrite.pl b/bin/ldap-rewrite.pl index 931eebd..d3d8da0 100755 --- a/bin/ldap-rewrite.pl +++ b/bin/ldap-rewrite.pl @@ -84,13 +84,21 @@ sub log_response { my $uid = $response->{protocolOp}->{searchResEntry}->{objectName}; warn "## SEARCH $uid"; -if(0) { + my @attrs; + map { - if ( $_->{type} eq 'postalAddress' ) { - $_->{vals} = [ 'foobar' ]; + if ( $_->{type} eq 'hrEduPersonUniqueNumber' ) { + foreach my $val ( @{ $_->{vals} } ) { + next if $val !~ m{.+:.+}; + my ( $n, $v ) = split(/\s*:\s*/, $val ); + push @attrs, { type => $_->{type} . '_' . $n, vals => [ $v ] }; + } } } @{ $response->{protocolOp}->{searchResEntry}->{attributes} }; -} + + warn "# ++ attrs ",dump( @attrs ); + + push @{ $response->{protocolOp}->{searchResEntry}->{attributes} }, $_ foreach @attrs; my $path = $config->{yaml_dir} . "$uid.yaml"; if ( -e $path ) {