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