steffen: server/perl-kolab/Kolab-LDAP LDAP.pm,1.25,1.26
cvs at intevation.de
cvs at intevation.de
Fri Mar 18 08:58:55 CET 2005
Author: steffen
Update of /kolabrepository/server/perl-kolab/Kolab-LDAP
In directory doto:/tmp/cvs-serv25193/Kolab-LDAP
Modified Files:
LDAP.pm
Log Message:
Issue687 (deletion logic) + better error-logging
Index: LDAP.pm
===================================================================
RCS file: /kolabrepository/server/perl-kolab/Kolab-LDAP/LDAP.pm,v
retrieving revision 1.25
retrieving revision 1.26
diff -u -d -r1.25 -r1.26
--- LDAP.pm 24 Feb 2005 11:16:21 -0000 1.25
+++ LDAP.pm 18 Mar 2005 07:58:53 -0000 1.26
@@ -379,17 +379,20 @@
Kolab::log('L', "Unable to remove DN `$dn', master LDAP server not available", KOLAB_WARN);
return 0;
}
- if( ref($del) eq 'ARRAY' && scalar(@$del) == 1 ) {
- # Ok we are the last one...
+ if( lc ($Kolab::config{'is_master'}) eq 'true' && ref($del) eq 'ARRAY' && scalar(@$del) == 1 ) {
+ # Ok we are the last one and the master
Kolab::log('L', "Removing DN `$dn'");
my $mesg = $masterldap->delete($dn);
if ($mesg && $mesg->code ) {
Kolab::log('L', "Unable to remove DN `$dn': ".$mesg->error, KOLAB_WARN);
}
- } else {
+ } elsif( lc ($Kolab::config{'is_master'}) eq 'false' ) {
# Just remove us from the kolabdeleteflag
- Kolab::log('L', "Removing ".$Kolab::config{'fqdnhostname'}." from kolabdeleteflag in `$dn'");
- my $mesg = $masterldap->modify( $dn, delete =>
+ # master does not perform this step as it should
+ # be the last to delete and remove the object
+ Kolab::log('L', "Removing ".$Kolab::config{'fqdnhostname'}." from ".
+ $Kolab::config{$p . '_field_deleted'}." in `$dn'");
+ my $mesg = $masterldap->modify( $dn, delete =>
{ $Kolab::config{$p . '_field_deleted'} =>
$Kolab::config{'fqdnhostname'} } );
if ($mesg && $mesg->code) {
More information about the commits
mailing list