summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--confskel/openldap/ldif/moduleConfig.ldif2
-rw-r--r--confskel/openldap/ldif/olcDatabaseConfigMemberOf.ldif18
-rw-r--r--src/ldapcontroller.cpp4
3 files changed, 24 insertions, 0 deletions
diff --git a/confskel/openldap/ldif/moduleConfig.ldif b/confskel/openldap/ldif/moduleConfig.ldif
index d125f9d..4988352 100644
--- a/confskel/openldap/ldif/moduleConfig.ldif
+++ b/confskel/openldap/ldif/moduleConfig.ldif
@@ -8,6 +8,8 @@ olcModuleLoad: {2}back_monitor
olcModuleLoad: {3}auditlog
olcModuleLoad: {4}unique
olcModuleLoad: {5}ppolicy
+olcModuleLoad: {6}memberof
+olcModuleLoad: {7}refint
structuralObjectClass: olcModuleList
creatorsName: cn=config
createTimestamp: @@@TIMESTAMP@@@Z
diff --git a/confskel/openldap/ldif/olcDatabaseConfigMemberOf.ldif b/confskel/openldap/ldif/olcDatabaseConfigMemberOf.ldif
new file mode 100644
index 0000000..ae14505
--- /dev/null
+++ b/confskel/openldap/ldif/olcDatabaseConfigMemberOf.ldif
@@ -0,0 +1,18 @@
+dn: olcOverlay={@@@LDIFSCHEMANUMBER@@@}memberof
+objectClass: olcMemberOfConfig
+objectClass: olcOverlayConfig
+objectClass: olcConfig
+objectClass: top
+olcOverlay: {@@@LDIFSCHEMANUMBER@@@}memberof
+olcMemberOfDangling: ignore
+olcMemberOfRefInt: TRUE
+olcMemberOfGroupOC: groupOfNames
+olcMemberOfMemberAD: member
+olcMemberOfMemberOfAD: memberOf
+structuralObjectClass: olcMemberOfConfig
+creatorsName: cn=config
+createTimestamp: @@@TIMESTAMP@@@Z
+entryCSN: @@@TIMESTAMP@@@.@@@TIMESTAMP_MICROSECONDS@@@Z#000000#000#000000
+entryUUID: @@@ENTRYUUID@@@
+modifiersName: cn=config
+modifyTimestamp: @@@TIMESTAMP@@@Z
diff --git a/src/ldapcontroller.cpp b/src/ldapcontroller.cpp
index 300c3fa..9d0922d 100644
--- a/src/ldapcontroller.cpp
+++ b/src/ldapcontroller.cpp
@@ -1818,6 +1818,7 @@ int LDAPController::createNewLDAPRealm(TQWidget* dialogparent, LDAPRealmConfig r
Q_UNUSED(adminRealm)
int ldifSchemaNumber;
+ int ldifConfigSchemaNumber;
ProcessingDialog pdialog(dialogparent);
pdialog.setStatusMessage(i18n("Loading data for realm deployment..."));
@@ -1942,6 +1943,9 @@ int LDAPController::createNewLDAPRealm(TQWidget* dialogparent, LDAPRealmConfig r
replacePlaceholdersInFile(templateDir + "openldap/ldif/moduleConfig.ldif", destDir + "ldap/slapd.d/cn=config/" + TQString("cn=module{%1}.ldif").arg(ldifSchemaNumber), realmconfig, adminUserName, adminGroupName, machineAdminGroupName, standardUserGroupName, adminPassword, rootUserName, rootPassword, ldifSchemaNumber, slapd_uid, slapd_gid);
ldifSchemaNumber = 1;
replacePlaceholdersInFile(templateDir + "openldap/ldif/olcDatabase.ldif", destDir + "ldap/slapd.d/cn=config/" + TQString("olcDatabase={%1}mdb.ldif").arg(ldifSchemaNumber), realmconfig, adminUserName, adminGroupName, machineAdminGroupName, standardUserGroupName, adminPassword, rootUserName, rootPassword, ldifSchemaNumber, slapd_uid, slapd_gid);
+ ldifConfigSchemaNumber = 0;
+ mkdir(TQString(destDir + "ldap/slapd.d/cn=config/olcDatabase={%1}mdb").arg(ldifSchemaNumber).ascii(), S_IRUSR|S_IWUSR|S_IXUSR);
+ replacePlaceholdersInFile(templateDir + "openldap/ldif/olcDatabaseConfigMemberOf.ldif", destDir + "ldap/slapd.d/cn=config/olcDatabase={%1}mdb/" + TQString("olcOverlay={%2}memberof.ldif").arg(ldifSchemaNumber).arg(ldifConfigSchemaNumber), realmconfig, adminUserName, adminGroupName, machineAdminGroupName, standardUserGroupName, adminPassword, rootUserName, rootPassword, ldifConfigSchemaNumber, slapd_uid, slapd_gid);
// Schema files
ldifSchemaNumber = 0;