Package: slapd
Version: 2.2.27-0pm3
Severity: important
Tags: patch
Hi,
when TRY_DBD_RECOVERY=yes and SLAPD_USER and this user has no "sensible" shell,
then /etc/init.d/slapd reports that db4.2_recover failed on the first DBD
database.
The culprit is the command line wiwhich is used to start db4.2_recover.
It assumes that $SLAPD_USER has a sensible shell, which is not guaranteed.
The attached patch fixes it by calling su with the additional option -s /bin/sh
CU
Peter
-- System Information:
Debian Release: testing/unstable
APT prefers testing
APT policy: (990, 'testing'), (500, 'unstable')
Architecture: i386 (i686)
Shell: /bin/sh linked to /bin/bash
Kernel: Linux 2.6.11-1-k7
Locale: [EMAIL PROTECTED], [EMAIL PROTECTED] (charmap=ISO-8859-15)
Versions of packages slapd depends on:
ii coreutils [fileutils] 5.2.1-2 The GNU core utilities
ii debconf 1.4.51 Debian configuration management sy
ii fileutils 5.2.1-2 The GNU file management utilities
ii libc6 2.3.2.ds1-22 GNU C Library: Shared libraries an
ii libdb4.2 4.2.52-19pm1 Berkeley v4.2 Database Libraries [
ii libiodbc2 3.52.2-3 iODBC Driver Manager
ii libldap-2.2-7 2.2.27-0pm3 OpenLDAP libraries
ii libltdl3 1.5.6-6 A system independent dlopen wrappe
ii libperl5.8 5.8.7-3 Shared Perl library
ii libsasl2 2.1.19-1.5 Authentication abstraction library
ii libslp1 1.2.1-2 OpenSLP libraries
ii libssl0.9.7 0.9.7e-3 SSL shared libraries
ii libwrap0 7.6.dbs-8 Wietse Venema's TCP wrappers libra
ii perl [libmime-base64-perl] 5.8.7-3 Larry Wall's Practical Extraction
ii psmisc 21.6-1 Utilities that use the proc filesy
-- debconf information excluded
--- debian/slapd.init
+++ debian/slapd.init 2005-06-30 12:44:23.000000000 +0200
@@ -147,7 +147,7 @@
local dbdir
dbdir="$1"
if [ "$SLAPD_USER" ]; then
- reason=`su "$SLAPD_USER" -c \
+ reason=`su "$SLAPD_USER" -s /bin/sh -c \
"$DB_RECOVER_CMD -eh $dbdir" 2>&1` || \
db_recover_failed $dbdir
else