steffen: server/kolab/kolab kolab_bootstrap,1.53,1.54

cvs at intevation.de cvs at intevation.de
Wed Aug 11 14:54:01 CEST 2004


Author: steffen

Update of /kolabrepository/server/kolab/kolab
In directory doto:/tmp/cvs-serv30323/kolab

Modified Files:
	kolab_bootstrap 
Log Message:
groupOfNames

Index: kolab_bootstrap
===================================================================
RCS file: /kolabrepository/server/kolab/kolab/kolab_bootstrap,v
retrieving revision 1.53
retrieving revision 1.54
diff -u -d -r1.53 -r1.54
--- kolab_bootstrap	5 Aug 2004 00:58:45 -0000	1.53
+++ kolab_bootstrap	11 Aug 2004 12:53:59 -0000	1.54
@@ -107,6 +107,24 @@
   }
 }
 
+sub newGroupOfNames {
+  my $ldap = shift;
+  my $basedn = shift;
+  my $cn = shift;
+
+  if( scalar(@_) < 1 ) {
+    warn "groupOfNames must contain at least one member";
+  }
+
+  my $ldapobject = newOrExistingLDAPEntry($ldap,"cn=$cn,$basedn");
+  $ldapobject->replace('cn' => $cn, 'objectclass' => ['top','groupOfNames'],
+		       'member' => @_);
+  $ldapobject->dn("cn=$cn,$basedn");
+  my $mesg = $ldapobject->update($ldap);
+  $mesg && $mesg->code && warn "failed to write entry: ", $mesg->error;
+  return $ldapobject;
+}
+
 print "\nKOLAB BOOTSTRAP\n\n";
 
 # Check for already running services preventing proper operation of kolab_bootstrap and Kolab
@@ -140,21 +158,21 @@
     print "Bootstrapping aborted - not creating new configuration\n";
     exit 0;
   }
-  print ("Creating backup of old configuration (LDAP, kolab.conf and certificates\n");
+  print "Creating backup of old configuration (LDAP, kolab.conf and certificates\n";
   my $epochseconds = timelocal(gmtime);
   my $backupdir=$kolab_prefix."/etc/kolab/backup".$epochseconds;
   mkdir($backupdir,0700) || die "cannot mkdir : $!";
-  print ("creating backup of LDAP repository\n");
+  print "creating backup of LDAP repository\n";
   system("cp -ra ".$kolab_prefix."/var/openldap/openldap-data/ ".$backupdir."/openldap-data");
   system("rm -f ".$kolab_prefix."/var/openldap/openldap-data/*");
-  print ("creating backup of CA data\n");
+  print "creating backup of CA data\n";
   system("mv ".$kolab_prefix."/etc/kolab/ca ".$backupdir);
   system("mv ".$kolab_prefix."/etc/kolab/*.pem ".$backupdir);
-  print ("deleteing old kolab.conf\n");
+  print "deleteing old kolab.conf\n";
   copy($kolab_config, $backupdir."/kolab.conf");
   system("rm -f ".$kolab_prefix."/var/openldap/openldap-data/*");
 } else {
-  print ("LDAP repository is empty - assuming fresh install\n");
+  print "LDAP repository is empty - assuming fresh install\n";
 }
 
 
@@ -416,13 +434,7 @@
       undef $ldapobject;
 
       # create admin group
-      $ldapobject = newOrExistingLDAPEntry( $ldap, "cn=admin,$base_dn" );
-      $ldapobject->replace('cn' => 'admin', 'objectclass' => ['top','groupOfNames'],
-                           'member' => "cn=manager,$base_dn");
-      $ldapobject->dn("cn=admin,$base_dn");
-      $mesg = $ldapobject->update($ldap);
-      $mesg && $mesg->code && warn "failed to write entry: ", $mesg->error;
-      undef $ldapobject;
+      newGroupOfNames( $ldap, $base_dn, 'admin', "cn=manager,$base_dn" );
 
       # create manager user
       $ldapobject = newOrExistingLDAPEntry( $ldap, $bind_dn );
@@ -443,12 +455,7 @@
       undef $ldapobject;
 
       # create mainainter group
-      $ldapobject = newOrExistingLDAPEntry( $ldap, "cn=maintainer,$base_dn" );
-      $ldapobject->replace('cn' => 'maintainer', 'objectclass' => ['top','groupOfNames']);
-      $ldapobject->dn("cn=maintainer,$base_dn");
-      $mesg = $ldapobject->update($ldap);
-      $mesg && $mesg->code && warn "failed to write entry: ", $mesg->error;
-      undef $ldapobject;
+      newGroupOfNames( $ldap, $base_dn, 'maintainer', "cn=manager,$base_dn" );
 
       $ldap->unbind;
    }





More information about the commits mailing list