steffen: server/perl-kolab/Kolab-LDAP LDAP.pm,1.8,1.9

cvs at intevation.de cvs at intevation.de
Tue Jun 29 12:14:31 CEST 2004


Author: steffen

Update of /kolabrepository/server/perl-kolab/Kolab-LDAP
In directory doto:/tmp/cvs-serv14846/Kolab-LDAP

Modified Files:
	LDAP.pm 
Log Message:
hide users mailbox on other servers

Index: LDAP.pm
===================================================================
RCS file: /kolabrepository/server/perl-kolab/Kolab-LDAP/LDAP.pm,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -d -r1.8 -r1.9
--- LDAP.pm	21 Jun 2004 01:46:40 -0000	1.8
+++ LDAP.pm	29 Jun 2004 10:14:29 -0000	1.9
@@ -197,12 +197,14 @@
     Kolab::log('L', "Kolab::LDAP::createObject() called with obj uid field `$objuidfield' for obj type `$p'", KOLAB_DEBUG);
 
     my $homeserver = $object->get_value('homeServer');
+    my $islocal = 1;
     if( $homeserver && $homeserver ne $Kolab::config{'fqhostname'} ) {
       if( $p eq 'sf' ) {
 	# Dont create shared folders on other hosts than it's homeserver
 	return;
       }
       Kolab::log('L', "Kolab::LDAP::createObject() for other server $homeserver. TODO: Create referral or something, for now we just create ", KOLAB_DEBUG);
+      $islocal = 0;
     }
 
     my $uid = trim($object->get_value($objuidfield)) || 0;
@@ -255,7 +257,10 @@
             # We have a object that we have no previous record of, so create everything
             if ($sync) { $newuid_db{$guid} = $uid; } else { $uid_db{$guid} = $uid; }
             Kolab::Cyrus::createMailbox($cyrus, $uid, ($p eq 'sf' ? 1 : 0));
-
+	    if( $p ne 'sf' && !$islocal ) {
+	      # Hide user mailboxes on other servers
+	      Kolab::Cyrus::setACL($cyrus,$uid,0, "$uid rswipcda");
+	    }
             Kolab::DirServ::genericRequest($object, "new alias") if $p eq 'user';
         }
     }





More information about the commits mailing list