summaryrefslogtreecommitdiffstats
path: root/ldap/admin/src/scripts/70upgradednformat.pl
diff options
context:
space:
mode:
Diffstat (limited to 'ldap/admin/src/scripts/70upgradednformat.pl')
-rw-r--r--ldap/admin/src/scripts/70upgradednformat.pl22
1 files changed, 12 insertions, 10 deletions
diff --git a/ldap/admin/src/scripts/70upgradednformat.pl b/ldap/admin/src/scripts/70upgradednformat.pl
index 894a0887..100a318c 100644
--- a/ldap/admin/src/scripts/70upgradednformat.pl
+++ b/ldap/admin/src/scripts/70upgradednformat.pl
@@ -15,15 +15,21 @@ use File::Copy;
sub runinst {
my ($inf, $inst, $dseldif, $conn) = @_;
- # First, check if the server is up or down.
- if ($conn->isa("Mozilla::LDAP::Conn")) {
- # The server is up, we do nothing.
- return ();
- }
-
my @errs;
my $config = "cn=config";
+ my $config_entry = $conn->search($config, "base", "(cn=*)");
+ if (!$config_entry) {
+ return ("error_no_configuration_entry", $!);
+ }
+ # First, check if the server is up or down.
+ my $rundir = $config_entry->getValues('nsslapd-rundir');
+
+ # Check if the server is up or not
+ my $pidfile = $rundir . "/" . $inst . ".pid";
+ if (-e $pidfile) {
+ return (); # server is running; do nothing.
+ }
my $mappingtree = "cn=mapping tree,cn=config";
my $ldbmbase = "cn=ldbm database,cn=plugins,cn=config";
@@ -62,10 +68,6 @@ sub runinst {
$mtentry = $conn->nextEntry();
}
- my $config_entry = $conn->search($config, "base", "(cn=*)", 0, ("nsslapd-instancedir"));
- if (!$config_entry) {
- return ("error_no_configuration_entry", $!);
- }
my $instancedir = $config_entry->{"nsslapd-instancedir"}[0];
my $upgradednformat = $instancedir . "/upgradednformat";