From 886a1c9855056a68d9983c6ffdbb7b94e88254aa Mon Sep 17 00:00:00 2001 From: "peter@adpm.de" Date: Sun, 6 Mar 2011 19:31:05 +0000 Subject: [PATCH] run_cat: convert to using path_to_dn() run_edit: convert to using path_to_dn() run_copy & run_move: convert to using path_to_dn() run_grep: convert to using path_to_dn() run_passwd: convert to using path_to_dn() FossilOrigin-Name: fc6d77c7619cabcd8f79bc3f7e41fd2627e246ee011858eb23af9d5dfe827970 --- shelldap | 26 ++++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/shelldap b/shelldap index 322e372..b4778dc 100755 --- a/shelldap +++ b/shelldap @@ -1005,7 +1005,8 @@ sub run_cat }); } else { - $self->rdn_to_dn( \$dn ); + # convert given path to DN + $dn = $self->path_to_dn($dn, relative => 1); $s = $self->search({ base => $dn, vals => 1, @@ -1086,8 +1087,9 @@ sub run_copy return; } - my $s_rdn = $s_dn; - $self->rdn_to_dn( \$s_dn ); + # convert given source path to DN + $s_dn = $self->path_to_dn($s_dn, relative => 1); + my $s = $self->search({ base => $s_dn, vals => 1 }); unless ( $s->{'code'} == LDAP_SUCCESS ) { print "No such object\n"; @@ -1254,10 +1256,9 @@ sub run_edit return; } - # support '.' - $dn = $self->base() if $dn eq '.'; + # convert given path to DN + $dn = $self->path_to_dn($dn, relative => 1); - $self->rdn_to_dn( \$dn ); my $s = $self->search({ base => $dn, vals => 1 }); if ( $s->{'code'} ) { @@ -1418,7 +1419,8 @@ sub run_grep print "No search base specified.\n"; return; } - $self->rdn_to_dn( \$base ); + # convert base path to DN + $base = $self->path_to_dn($base, relative => 1); $self->debug("Filter parsed as: " . $filter->as_string() . "\n"); @@ -1643,8 +1645,9 @@ sub run_move return; } - my $s_rdn = $s_dn; - $self->rdn_to_dn( \$s_dn ); + # convert given source path to DN + $s_dn = $self->path_to_dn($s_dn, relative => 1); + unless ( $self->is_valid_dn( $s_dn ) ) { print "No such object\n"; return; @@ -1683,10 +1686,9 @@ sub run_passwd return; } - # support '.' - $dn = $self->base() if $dn eq '.'; + # convert given path to DN + $self->path_to_dn($dn, relative => 1); - $self->rdn_to_dn( \$dn ); my $s = $self->search( { base => $dn, scope => 'base' } ); if ( $s->{'code'} ) { print $s->{'message'}, "\n";