diff options
Diffstat (limited to 'ldap/admin/src/scripts/FileConn.pm')
| -rw-r--r-- | ldap/admin/src/scripts/FileConn.pm | 21 |
1 files changed, 15 insertions, 6 deletions
diff --git a/ldap/admin/src/scripts/FileConn.pm b/ldap/admin/src/scripts/FileConn.pm index f1ac4d2d..2ed0fe2d 100644 --- a/ldap/admin/src/scripts/FileConn.pm +++ b/ldap/admin/src/scripts/FileConn.pm @@ -46,7 +46,7 @@ use Mozilla::LDAP::API qw(:constant ldap_explode_dn ldap_err2string); # Direct a use Mozilla::LDAP::Utils qw(normalizeDN); use Mozilla::LDAP::LDIF; -use Carp; +use Util qw(debug); require Exporter; @ISA = qw(Exporter Mozilla::LDAP::Conn); @@ -96,7 +96,7 @@ sub read { } if (!open( MYLDIF, "$filename" )) { - confess "Can't open $filename: $!"; + debug(1, "Could not open $filename: $!\n"); return 0; } @@ -104,7 +104,7 @@ sub read { $self->{reading} = 1; while ($ent = readOneEntry $in) { if (!$self->add($ent)) { - confess "Error: could not add entry ", $ent->getDN(), ":", $self->getErrorString(); + debug(1, "Error: could not add entry " . $ent->getDN() . ":" . $self->getErrorString()); } } delete $self->{reading}; @@ -187,7 +187,7 @@ sub write { } if (!open( MYLDIF, ">$filename" )) { - confess "Can't write $filename: $!"; + debug(1, "Can't write $filename: $!\n"); return 0; } @@ -416,11 +416,15 @@ sub update { my $dn = $entry->getDN(); my $ndn = normalizeDN($dn); - confess "Attempt to modify read only $self->{filename} entry $dn" if ($self->{readonly}); + if ($self->{readonly}) { + debug(1, "Attempt to update read only $self->{filename} entry $dn\n"); + return 0; + } $self->setErrorCode(0); if (!exists($self->{$ndn})) { $self->setErrorCode(LDAP_NO_SUCH_OBJECT); + debug(1, "Attempt to update entry $dn that does not exist\n"); return 0; } @@ -435,7 +439,10 @@ sub delete { my $self = shift; my $dn = shift; - confess "Attempt to modify read only $self->{filename} entry $dn" if ($self->{readonly}); + if ($self->{readonly}) { + debug(1, "Attempt to delete read only $self->{filename} entry $dn\n"); + return 0; + } if (ref($dn)) { $dn = $dn->getDN(); # an Entry @@ -445,11 +452,13 @@ sub delete { $self->setErrorCode(0); if (!exists($self->{$ndn})) { $self->setErrorCode(LDAP_NO_SUCH_OBJECT); + debug(1, "Attempt to delete entry $dn that does not exist\n"); return 0; } if (@{$self->{$ndn}->{children}}) { $self->setErrorCode(LDAP_NOT_ALLOWED_ON_NONLEAF); + debug(1, "Attempt to delete entry $dn that has children\n"); return 0; } |
