summaryrefslogtreecommitdiffstats
path: root/ldap/admin/src
diff options
context:
space:
mode:
Diffstat (limited to 'ldap/admin/src')
-rw-r--r--ldap/admin/src/scripts/10delautodnsuffix.pl23
-rw-r--r--ldap/admin/src/scripts/10fixrundir.pl28
2 files changed, 51 insertions, 0 deletions
diff --git a/ldap/admin/src/scripts/10delautodnsuffix.pl b/ldap/admin/src/scripts/10delautodnsuffix.pl
new file mode 100644
index 00000000..548a2d13
--- /dev/null
+++ b/ldap/admin/src/scripts/10delautodnsuffix.pl
@@ -0,0 +1,23 @@
+use Mozilla::LDAP::Conn;
+use Mozilla::LDAP::Utils qw(normalizeDN);
+use Mozilla::LDAP::API qw(:constant ldap_url_parse ldap_explode_dn);
+
+sub runinst {
+ my ($inf, $inst, $dseldif, $conn) = @_;
+
+ my @errs;
+
+ # see if nsslapd-ldapiautodnsuffix is defined
+ my $ent = $conn->search("cn=config", "base", "(objectclass=*)");
+ if (!$ent) {
+ return ('error_finding_config_entry', 'cn=config', $conn->getErrorString());
+ }
+
+ if ($ent->getValues('nsslapd-ldapiautodnsuffix')) {
+ $ent->remove('nsslapd-ldapiautodnsuffix');
+ $conn->update($ent);
+ # ignore errors - cn=config attr deletion not allowed over ldap
+ }
+
+ return ();
+}
diff --git a/ldap/admin/src/scripts/10fixrundir.pl b/ldap/admin/src/scripts/10fixrundir.pl
new file mode 100644
index 00000000..a1e75240
--- /dev/null
+++ b/ldap/admin/src/scripts/10fixrundir.pl
@@ -0,0 +1,28 @@
+use Mozilla::LDAP::Conn;
+use Mozilla::LDAP::Utils qw(normalizeDN);
+use Mozilla::LDAP::API qw(:constant ldap_url_parse ldap_explode_dn);
+
+sub runinst {
+ my ($inf, $inst, $dseldif, $conn) = @_;
+
+ my @errs;
+
+ # see if nsslapd-rundir is defined
+ my $ent = $conn->search("cn=config", "base", "(objectclass=*)");
+ if (!$ent) {
+ return ('error_finding_config_entry', 'cn=config', $conn->getErrorString());
+ }
+
+ if (!$ent->getValues('nsslapd-rundir')) {
+ $ent->setValues('nsslapd-rundir', $inf->{slapd}->{run_dir});
+ # mark as modified so update will use a replace instead of an add
+ $ent->attrModified('nsslapd-rundir');
+ $conn->update($ent);
+ my $rc = $conn->getErrorCode();
+ if ($rc) {
+ return ('error_updating_entry', 'cn=config', $conn->getErrorString());
+ }
+ }
+
+ return ();
+}