esc/mac/coolkey_package_data/Resources InstallationCheck, NONE, 1.1.2.1 InstallationCheck.strings, NONE, 1.1.2.1
by Jack Magne
Author: jmagne
Update of /cvs/dirsec/esc/mac/coolkey_package_data/Resources
In directory cvs01.phx2.fedoraproject.org:/tmp/cvs-serv18135
Added Files:
Tag: PKI_8_0_RTM_BRANCH
InstallationCheck InstallationCheck.strings
Log Message:
Improve installer for mac, bug#369031.
--- NEW FILE InstallationCheck ---
#!/bin/bash
# BEGIN COPYRIGHT BLOCK
# This Program is free software; you can redistribute it and/or modify it under
# the terms of the GNU General Public License as published by the Free Software
# Foundation; version 2 of the License.
#
# This Program is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License along with
# this Program; if not, write to the Free Software Foundation, Inc., 59 Temple
# Place, Suite 330, Boston, MA 02111-1307 USA.
#
# Copyright (C) 2005 Red Hat, Inc.
# All rights reserved.
# END COPYRIGHT BLOCK **/
ESC_APP="ESC.app"
COOLKEY_TOKEND="COOLKEY.tokend"
PCSC_LITE="/usr/sbin/pcscd"
LIB_COOLKEY="libcoolkeypk11.dylib"
MIN_OS_VERSION="10.5.0"
function IsRunning {
if ps -A | grep -v grep | grep $1 > /dev/null
then
return 1
fi
return 0
}
function IsInUse {
lsof | grep $1
if [ $? -eq 0 ];
then
return 1
fi
return 0
}
#Assure proper OS Version
function IsLegalOSVersion {
# Input parameter is string of mininum legal version
version=`sw_vers -productVersion`
min_version=$1
OLD_IFS="$IFS"
IFS="."
version_array=( $version )
min_version_array=( $min_version )
IFS="$OLD_IFS"
#echo ${min_version_array[0]}
#echo ${min_version_array[1]}
#echo ${min_version_array[2]}
#echo ${version_array[0]}
#echo ${version_array[1]}
#echo ${version_array[2]}
let "major=version_array[0] + 0"
let "min_major=min_version_array[0] + 0"
let "minor=version_array[1] + 0"
let "min_minor=min_version_array[1] + 0"
let "release=version_array[2] + 0"
let "min_release=min_version_array[2] + 0"
if [ $major -ge $min_major ];
then
echo "major ok"
else
echo "major no ok" $major
return 0
fi
if [ $minor -ge $min_minor ];
then
echo "minor ok"
else
echo "minor no ok" $minor
return 0
fi
if [ $release -ge $min_release ];
then
echo "release ok"
else
echo "release no ok" $release
return 0
fi
return 1
}
#check for Leopard or above
IsLegalOSVersion $MIN_OS_VERSION
if [ $? -eq 0 ];
then
exit 112
fi
# check esc
IsRunning $ESC_APP
if [ $? -eq 1 ];
then
exit 113
fi
# check COOLKEY.tokend
IsRunning $COOLKEY_TOKEND
if [ $? -eq 1 ];
then
exit 114
fi
#check pcscd
IsRunning $PCSC_LITE
if [ $? -eq 1 ];
then
exit 115
fi
# check to see of libcooleypk11.dylib is in use
IsInUse $LIB_COOLKEY
if [ $? -eq 1 ];
then
echo "COOLKEY PKCS#11 module in use."
exit 116
fi
exit 0
--- NEW FILE InstallationCheck.strings ---
"16" = "Mac OS X, version 10.5 or later is required for this software.";
"17" = "Please close any running instances of the ESC SmartCardManager and try again.";
"18" = "Please make sure all COOLKEY smart cards are removed from the computer and try again.";
"19" = "Please make sure all smart cards are removed from the computer and try again.";
"20" = "Please close all Mozilla browsers and mail clients that may be using the COOLKEY PKCS#11 module and try again.";
13 years, 11 months
esc/src/app/xul/esc/chrome/content/esc ESC.js, 1.31, 1.32
by Jack Magne
Author: jmagne
Update of /cvs/dirsec/esc/src/app/xul/esc/chrome/content/esc
In directory cvs01.phx2.fedoraproject.org:/tmp/cvs-serv15180
Modified Files:
ESC.js
Log Message:
Minor refinement to bug #469867, CAnnot use arrow keys to move between cards in the main ESC screen.
Index: ESC.js
===================================================================
RCS file: /cvs/dirsec/esc/src/app/xul/esc/chrome/content/esc/ESC.js,v
retrieving revision 1.31
retrieving revision 1.32
diff -u -r1.31 -r1.32
--- ESC.js 30 Mar 2010 20:49:49 -0000 1.31
+++ ESC.js 6 Apr 2010 22:58:25 -0000 1.32
@@ -1841,6 +1841,15 @@
if(newitem)
newitem.click();
}
+
+ var item = null;
+ for( i = 0; i < list.getRowCount(); i ++) {
+ item = list.getItemAtIndex(i);
+
+ if(item && item != gCurrentSelectedRow) {
+ item.setAttribute("class","UnSelectedRow");
+ }
+ }
}
function InitializeAdminBindingList()
13 years, 11 months
Branch 'Directory_Server_8_2_Branch' - ldap/servers
by Richard Allen Megginson
ldap/servers/plugins/replication/windows_protocol_util.c | 39 +++++++++++++++
1 file changed, 39 insertions(+)
New commits:
commit 700ba895387aaf63523353f622e57fab9726b0f2
Author: Rich Megginson <rmeggins(a)redhat.com>
Date: Tue Apr 6 12:03:38 2010 -0600
Bug 578229 - Blocked sync afer UID or ntUserDomainId change
https://bugzilla.redhat.com/show_bug.cgi?id=578229
Resolves: bug 578229
Bug Description: Blocked sync afer UID or ntUserDomainId change
Reviewed by: nhosoi (Thanks!)
Branch: HEAD
Fix Description: Since Windows DIT naming can be very different than DS
DIT naming, most modrdn operations do not apply. The fix is to allow
the modrdn operation to go through, but check the error returned. If the
error returned indicates some sort of naming difference, the error is
ignored.
Platforms tested: RHEL5 x86_64, Win 2003
Flag Day: no
Doc impact: no
diff --git a/ldap/servers/plugins/replication/windows_protocol_util.c b/ldap/servers/plugins/replication/windows_protocol_util.c
index 6d88245..96af057 100644
--- a/ldap/servers/plugins/replication/windows_protocol_util.c
+++ b/ldap/servers/plugins/replication/windows_protocol_util.c
@@ -362,6 +362,31 @@ windows_ignore_error_and_keep_going(int error)
return return_value;
}
+static PRBool
+allow_windows_rename_error(int error)
+{
+ int return_value = PR_FALSE;
+
+ LDAPDebug0Args( LDAP_DEBUG_TRACE, "=> allow_windows_rename_error\n" );
+
+ switch (error)
+ {
+ /* Cases where we keep going */
+ case LDAP_REFERRAL: /* because of the different naming structure at top level */
+ case LDAP_NO_SUCH_OBJECT: /* because of the different naming structure */
+ case LDAP_NAMING_VIOLATION: /* because of the different naming structure */
+ case LDAP_NOT_ALLOWED_ON_NONLEAF: /* because of the different naming structure */
+ case LDAP_NOT_ALLOWED_ON_RDN: /* because of the different naming structure */
+ case LDAP_AFFECTS_MULTIPLE_DSAS: /* because of the different naming structure */
+ return_value = PR_TRUE;
+ break;
+
+ }
+
+ LDAPDebug1Arg( LDAP_DEBUG_TRACE, "=> allow_windows_rename_error: %d\n", return_value );
+ return return_value;
+}
+
static const char*
op2string(int op)
{
@@ -1388,6 +1413,20 @@ windows_replay_update(Private_Repl_Protocol *prp, slapi_operation_parameters *op
op->p.p_modrdn.modrdn_newsuperior_address.dn,
op->p.p_modrdn.modrdn_deloldrdn,
NULL, NULL /* returned controls */);
+ if (CONN_OPERATION_FAILED == return_value) {
+ int opnum, err;
+ windows_conn_get_error(prp->conn, &opnum, &err);
+ if (allow_windows_rename_error(err)) {
+ const char *newsup = op->p.p_modrdn.modrdn_newsuperior_address.dn;
+ slapi_log_error(SLAPI_LOG_REPL, windows_repl_plugin_name, "%s: replay_update: "
+ "rename [%s] to [%s%s%s] returned error [%d] but since windows "
+ "naming is different, this error will be ignored\n",
+ agmt_get_long_name(prp->agmt),
+ op->target_address.dn, op->p.p_modrdn.modrdn_newrdn,
+ newsup ? "," : "", newsup ? newsup : "", err);
+ return_value = CONN_OPERATION_SUCCESS;
+ }
+ }
break;
default:
slapi_log_error(SLAPI_LOG_FATAL, windows_repl_plugin_name, "%s: replay_update: Unknown "
13 years, 11 months
ldap/admin
by Nathan Kinder
ldap/admin/src/scripts/DSCreate.pm.in | 4 ++--
ldap/admin/src/scripts/DSUpdate.pm.in | 5 ++++-
2 files changed, 6 insertions(+), 3 deletions(-)
New commits:
commit e72f8af0bec1c9eddd09e3a897b14af2c3330cb8
Author: Nathan Kinder <nkinder(a)redhat.com>
Date: Tue Apr 6 09:41:01 2010 -0700
Bug 572355 - Label instance files and ports during upgrade.
The instance files and ports need to be labelled with the proper
SELinux contexts during an upgrade. This patch exports the routine
used to update the policy during regular setup so we can use it
when upgrading.
diff --git a/ldap/admin/src/scripts/DSCreate.pm.in b/ldap/admin/src/scripts/DSCreate.pm.in
index 09b7cd1..dcd55af 100644
--- a/ldap/admin/src/scripts/DSCreate.pm.in
+++ b/ldap/admin/src/scripts/DSCreate.pm.in
@@ -64,8 +64,8 @@ use Mozilla::LDAP::LDIF;
use Exporter;
@ISA = qw(Exporter);
-@EXPORT = qw(createDSInstance removeDSInstance setDefaults createInstanceScripts makeOtherConfigFiles installSchema);
-@EXPORT_OK = qw(createDSInstance removeDSInstance setDefaults createInstanceScripts makeOtherConfigFiles installSchema);
+@EXPORT = qw(createDSInstance removeDSInstance setDefaults createInstanceScripts makeOtherConfigFiles installSchema updateSelinuxPolicy);
+@EXPORT_OK = qw(createDSInstance removeDSInstance setDefaults createInstanceScripts makeOtherConfigFiles installSchema updateSelinuxPolicy);
use strict;
diff --git a/ldap/admin/src/scripts/DSUpdate.pm.in b/ldap/admin/src/scripts/DSUpdate.pm.in
index 3241a58..7e92bb8 100644
--- a/ldap/admin/src/scripts/DSUpdate.pm.in
+++ b/ldap/admin/src/scripts/DSUpdate.pm.in
@@ -47,7 +47,7 @@ package DSUpdate;
use DSUtil;
use Inf;
use FileConn;
-use DSCreate qw(setDefaults createInstanceScripts makeOtherConfigFiles);
+use DSCreate qw(setDefaults createInstanceScripts makeOtherConfigFiles updateSelinuxPolicy);
use File::Basename qw(basename dirname);
@@ -405,6 +405,9 @@ sub updateDSInstance {
}
$conn->close();
+
+ updateSelinuxPolicy($inf);
+
return @errs;
}
13 years, 11 months
console/src/com/netscape/management/client/ug ResEditorNTUser.java, 1.2, 1.3
by Richard Allen Megginson
Author: rmeggins
Update of /cvs/dirsec/console/src/com/netscape/management/client/ug
In directory cvs01.phx2.fedoraproject.org:/tmp/cvs-serv11416/src/com/netscape/management/client/ug
Modified Files:
ResEditorNTUser.java
Log Message:
Bug 562315 - Object class violation when disabling NT User Attributes in Directory Console
Resolves: bug 562315
Description: Object class violation when disabling NT User Attributes in Directory Console
Fix Description: The ResEditorNTUser.save() has been modified to delete all NT attributes when
Fixed by: edewata
Reviewed by: rmeggins
the "Enable NT User Attributes" is unchecked.
Index: ResEditorNTUser.java
===================================================================
RCS file: /cvs/dirsec/console/src/com/netscape/management/client/ug/ResEditorNTUser.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- ResEditorNTUser.java 16 Dec 2008 23:32:01 -0000 1.2
+++ ResEditorNTUser.java 6 Apr 2010 14:25:11 -0000 1.3
@@ -58,6 +58,24 @@
public static String _NT_USER_LOGON_SERVER="ntuserlogonserver";
public static String _NT_USER_PROFILE="ntuserprofile";
public static String _NT_USER_HOME_DIR_DRIVE="ntuserhomedirdrive";
+ public static String _NT_USER_PRIV="ntuserpriv";
+ public static String _NT_USER_FLAGS="ntuserflags";
+ public static String _NT_USER_AUTH_FLAGS="ntuserauthflags";
+ public static String _NT_USER_USR_COMMENT="ntuserusrcomment";
+ public static String _NT_USER_PARMS="ntuserparms";
+ public static String _NT_USER_LAST_LOGON="ntuserlastlogon";
+ public static String _NT_USER_LAST_LOGOFF="ntuserlastlogoff";
+ public static String _NT_USER_ACCT_EXPIRES="ntuseracctexpires";
+ public static String _NT_USER_MAX_STORAGE="ntusermaxstorage";
+ public static String _NT_USER_UNITS_PER_WEEK="ntuserunitsperweek";
+ public static String _NT_USER_BAD_PW_COUNT="ntuserbadpwcount";
+ public static String _NT_USER_NUM_LOGONS="ntusernumlogons";
+ public static String _NT_USER_COUNTRY_CODE="ntusercountrycode";
+ public static String _NT_USER_CODE_PAGE="ntusercodepage";
+ public static String _NT_USER_UNIQUE_ID="ntuseruniqueid";
+ public static String _NT_USER_PRIMARY_GROUP_ID="ntuserprimarygroupid";
+ public static String _NT_USER_PASSWORD_EXPIRED="ntuserpasswordexpired";
+ public static String _NT_UNIQUE_ID="ntUniqueId";
PickerEditorResourceSet _resource = new PickerEditorResourceSet();
private String ID;
@@ -782,6 +800,24 @@
observable.delete(_NT_USER_LOGON_SERVER, "");
observable.delete(_NT_USER_PROFILE, "");
observable.delete(_NT_USER_HOME_DIR_DRIVE, "");
+ observable.delete(_NT_USER_PRIV, "");
+ observable.delete(_NT_USER_FLAGS, "");
+ observable.delete(_NT_USER_AUTH_FLAGS, "");
+ observable.delete(_NT_USER_USR_COMMENT, "");
+ observable.delete(_NT_USER_PARMS, "");
+ observable.delete(_NT_USER_LAST_LOGON, "");
+ observable.delete(_NT_USER_LAST_LOGOFF, "");
+ observable.delete(_NT_USER_ACCT_EXPIRES, "");
+ observable.delete(_NT_USER_MAX_STORAGE, "");
+ observable.delete(_NT_USER_UNITS_PER_WEEK, "");
+ observable.delete(_NT_USER_BAD_PW_COUNT, "");
+ observable.delete(_NT_USER_NUM_LOGONS, "");
+ observable.delete(_NT_USER_COUNTRY_CODE, "");
+ observable.delete(_NT_USER_CODE_PAGE, "");
+ observable.delete(_NT_USER_UNIQUE_ID, "");
+ observable.delete(_NT_USER_PRIMARY_GROUP_ID, "");
+ observable.delete(_NT_USER_PASSWORD_EXPIRED, "");
+ observable.delete(_NT_UNIQUE_ID, "");
return true;
}
13 years, 11 months
src/com
by Richard Allen Megginson
src/com/netscape/admin/dirserv/attredit/AttributeEditorFactory.java | 2 ++
1 file changed, 2 insertions(+)
New commits:
commit 80e27d404c5f930e938033343e087559cb355847
Author: Endi S. Dewata <edewata(a)redhat.com>
Date: Mon Mar 29 06:17:11 2010 -0500
Resolves: bug 574098
Bug Description: Console has text field when adding usercertificate attribute; should be Set Value button
Fix Description: The AttributeEditorFactory.init() has been modified to register a binary editor for usercertificate attribute.
Platforms tested: F12
Reviewed by: rmeggins (and pushed by)
diff --git a/src/com/netscape/admin/dirserv/attredit/AttributeEditorFactory.java b/src/com/netscape/admin/dirserv/attredit/AttributeEditorFactory.java
index 21247c7..9c72307 100644
--- a/src/com/netscape/admin/dirserv/attredit/AttributeEditorFactory.java
+++ b/src/com/netscape/admin/dirserv/attredit/AttributeEditorFactory.java
@@ -50,6 +50,8 @@ public class AttributeEditorFactory {
_package + ".ImageAttributeEditor" );
addName( "userpassword",
_package + ".PasswordAttributeEditor" );
+ addName( "usercertificate",
+ _package + ".BinaryAttributeEditor" );
addSyntax( LDAPAttributeSchema.integer,
_package + ".StringAttributeEditor" );
13 years, 11 months
selinux/dirsrv-admin.te
by Nathan Kinder
selinux/dirsrv-admin.te | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
New commits:
commit 2b661e56ff991d7e60e2aa4fea02748b3ebad255
Author: Nathan Kinder <nkinder(a)redhat.com>
Date: Mon Apr 5 13:34:01 2010 -0700
Bug 570912 - dirsrv-admin SELinux module fails to install on F-13
The dirsrv-admin policy was calling two different macros that were
not designed to be used together. This worked in the past, but it
causes a conflicting rule to result on F-13. We really only need
to use the init_daemon_domain macro.
During testing, I also encountered an AVC when restarting the
dirsrv-admin service. We needed to add ioctl permission for
dirsrvadmin_t fifo files to the dirsrvadmin_t domain.
diff --git a/selinux/dirsrv-admin.te b/selinux/dirsrv-admin.te
index 2bcb359..65eda09 100644
--- a/selinux/dirsrv-admin.te
+++ b/selinux/dirsrv-admin.te
@@ -18,7 +18,6 @@ type dirsrvadmin_exec_t;
files_type(dirsrvadmin_exec_t)
# Start from initrc
-init_domain(dirsrvadmin_t, dirsrvadmin_exec_t)
init_daemon_domain(dirsrvadmin_t, dirsrvadmin_exec_t)
role system_r types dirsrvadmin_t;
@@ -53,7 +52,7 @@ files_tmp_filetrans(dirsrvadmin_t, dirsrvadmin_tmp_t, { file dir })
files_manage_generic_tmp_files(dirsrvadmin_t)
# Things needed by the start script (before transition to httpd domain)
-allow dirsrvadmin_t self:fifo_file { write read getattr };
+allow dirsrvadmin_t self:fifo_file { write read getattr ioctl };
allow dirsrvadmin_t self:capability { dac_read_search dac_override sys_tty_config };
logging_search_logs(dirsrvadmin_t)
corecmd_exec_bin(dirsrvadmin_t)
13 years, 11 months
Changes to 'refs/tags/Directory_Server_8_2_RC1'
by Richard Allen Megginson
Changes since the dawn of time:
Endi S. Dewata (1):
Bug 496863 - 'Construct' button creates incorrect referral urls
Nathan Kinder (19):
171941 - Adjusted the version number and branding. I had to modify the checkVersion method to deal with running in Console 1.0. I also cleaned up references to consolesdk in the Ant build files. They should be console instead since we dropped the consolesdk naming. The external and internal imports files were adjusted to pick up the new 1.0 Console component.
171941 - checkVersion was comparing versions with greater than when it should have been using greater than or equal to
177696 - Changed usage of enum keyword as a variable name for Java 1.5 compatibility
Bug(s) fixed: 181570
Resolves: 246513
Summary: Initial fedora-ds-console specfile.
Resolves: ?
Resolves: 250137
Resolves: 250145
Resolves: 204510
Resolves: 250636
Resolves: 252036
Add default ldapjdk path as well as a settable parameter
Fixed typo from last checkin
Use less restrictive version of Open Publication License for online help docs.
Resolves: 308221
Resolves: 333171
Resolves: 178247
Resolves: 379191
Noriko Hosoi (13):
Changed the ldapconsole package name to <brand>-ds-<version>.jar
Modified ant move syntax to support ant 1.6.2
[186105] Admin Server Makefile updates for Internal build
Resolves: #247215
Resolves: #248073
Resolves: #379191
Resolves: #386041
Resolves: #379191
Resolves: #379191
Resolves: #379191
Resolves: #379191
Resolves: #379191
Resolves: 178947
Rich Megginson (29):
Bug(s) fixed: 167761
allow the definition of the console location on the command line with different directory layouts than the default
Bug(s) fixed: 178478
The console now builds jar files in the format
bump version to 1.0.3
updated spec for Fedora DS 1.1 release
Resolves: bug 428357
Bump version to 1.1.2
this is for the 1.1.2 release
Resolves: bug 469261
Resolves: bug 469261
Resolves: bug 234948
Resolves: bug 452596
Resolves: bug 178947
Resolves: bug 177334
Resolves: bug 249120
Resolves: bug 238762
Resolves: bug 179193
Resolves: bug 179184
change version to 1.1.3
Resolves: bug 487831
Resolves: bug 481213
Resolves: bug 483660
Resolves: bug 483660
updated for 1.1.3
version must correspond to ds base version - 1.2.0
rename to 389
change mode of spec file to 644
added separate doc subpackage
foxworth (2):
Import initial source drop of Fedora DirectoryConsole
Import initial source drop of Fedora DirectoryConsole
13 years, 11 months
Changes to 'refs/tags/Directory_Server_8_2_RC1'
by Richard Allen Megginson
Changes since the dawn of time:
Nathan Kinder (7):
Resolves: 247525
Resolves: 250699
Resolves: 251427
Related: 251427
Added ldapjdk default path as well as settable path.
Use less restrictive version of Open Publication License for online help docs.
Resolves: 379211
Noriko Hosoi (5):
[191832] Admin Server password always remembers initial password on (part 2)
Resolves: #379191
Resolves: #159011
Resolves: #416311
Resolves: #400341
Rich Megginson (20):
Initial import of admin server console into its own module
use admserv instead of as for jar file names
remove improperly added binary files
correctly add binary files
bump version to 1.0.3
fix symlinks
Resolves: bug 400361
updated spec for Fedora DS 1.1 release
Resolves: bug 428364
Bug 428364
bump version to 1.1.2 - disable sslv2 in the ui
this is the 1.1.2 release
Resolves: bug 452596
Resolves: bug 429514
Resolves: bug 166230
change version to 1.1.3
for the 1.1.3 release
Rename to 389
these files should be mode 644
change version to 1.1.4 - add doc subpackage - relicense under plain gplv2
13 years, 11 months
Branch 'Directory_Server_8_2_Branch' - ldap/admin
by Richard Allen Megginson
ldap/admin/src/scripts/DSUtil.pm.in | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
New commits:
commit 8f517d5cc769f5c1b728f48d073139f17af8226d
Author: Rich Megginson <rmeggins(a)redhat.com>
Date: Mon Apr 5 09:06:12 2010 -0600
Bug 577384 - Remove-ds.pl script throws "sh: STARTPIDFILE.*=: not found" error on Solaris 9
https://bugzilla.redhat.com/show_bug.cgi?id=577384
Resolves: bug 577384
Bug Description: Remove-ds.pl script throws "sh: STARTPIDFILE.*=: not found" error on Solaris 9
Reviewed by: nkinder (Thanks!)
Branch: HEAD
Fix Description: Have to escape the ^ caret and * asterisk for the shell
command.
Platforms tested: Solaris 9
Flag Day: no
Doc impact: no
diff --git a/ldap/admin/src/scripts/DSUtil.pm.in b/ldap/admin/src/scripts/DSUtil.pm.in
index b867c98..4b4f6da 100644
--- a/ldap/admin/src/scripts/DSUtil.pm.in
+++ b/ldap/admin/src/scripts/DSUtil.pm.in
@@ -995,7 +995,7 @@ sub remove_pidfile
$pidfile = $run_dir . "/" . $product_name . "-" . $serv_id . ".startpid";
}
- my $pattern = "^" . $type . ".*=";
+ my $pattern = "\\^" . $type . ".\\*=";
my $pidline = `grep $pattern $instdir/start-slapd`;
chomp($pidline);
my ($key, $pidfile) = split(/=/, $pidline);
13 years, 11 months