Package: slapd Version: 2.2.26-5 Severity: wishlist Experience told me that it is very important for BDB backend stability to have a DB_CONFIG file in the database path.
I modified a bit /etc/init.d/slapd so that it checks the presence of this file. Please find attached the patch. Here's an example of output if the file is not present: # /etc/init.d/slapd restart Stopping OpenLDAP: slapd. Starting OpenLDAP: Warning: DB_CONFIG not present in /var/lib/ldap, please read /usr/share/doc/slapd/README.DB_CONFIG.gz, running BDB recovery, slapd. -- System Information: Debian Release: testing/unstable APT prefers unstable APT policy: (500, 'unstable'), (500, 'testing'), (500, 'stable') Architecture: i386 (i686) Shell: /bin/sh linked to /bin/bash Kernel: Linux 2.6.14-2-686 Locale: [EMAIL PROTECTED], [EMAIL PROTECTED] (charmap=ISO-8859-15) Versions of packages slapd depends on: ii coreutils [fileutils] 5.93-5 The GNU core utilities ii debconf 1.4.59 Debian configuration management sy ii fileutils 5.93-5 The GNU file management utilities ii libc6 2.3.5-8 GNU C Library: Shared libraries an ii libdb4.2 4.2.52-20 Berkeley v4.2 Database Libraries [ ii libiodbc2 3.52.3-1 iODBC Driver Manager ii libldap-2.2-7 2.2.26-5 OpenLDAP libraries ii libltdl3 1.5.20-2 A system independent dlopen wrappe ii libperl5.8 5.8.7-8 Shared Perl library ii libsasl2 2.1.19-1.7 Authentication abstraction library ii libslp1 1.2.1-3 OpenSLP libraries ii libssl0.9.8 0.9.8a-4 SSL shared libraries ii libwrap0 7.6.dbs-8 Wietse Venema's TCP wrappers libra ii perl [libmime-base64-perl] 5.8.7-8 Larry Wall's Practical Extraction ii psmisc 21.8-1 Utilities that use the proc filesy Versions of packages slapd recommends: ii db4.2-util 4.2.52-20 Berkeley v4.2 Database Utilities pn libsasl2-modules <none> (no description available) -- debconf information: slapd/fix_directory: true * shared/organization: MAFIA slapd/upgrade_slapcat_failure: * slapd/backend: LDBM * slapd/allow_ldap_v2: false * slapd/no_configuration: false * slapd/move_old_database: true slapd/suffix_change: false slapd/slave_databases_require_updateref: * slapd/dump_database_destdir: /var/backups/slapd-VERSION slapd/autoconf_modules: true * slapd/domain: linbox.com slapd/password_mismatch: * slapd/invalid_config: true slapd/upgrade_slapadd_failure: * slapd/dump_database: when needed * slapd/migrate_ldbm_to_bdb: false * slapd/purge_database: false
--- slapd.old 2005-12-03 14:55:35.000000000 +0100 +++ slapd 2005-12-03 15:00:43.000000000 +0100 @@ -235,6 +235,18 @@ start() { echo -n "Starting OpenLDAP:" trap 'report_failure' 0 + + bdb_envs=`find_bdb_envs` + + # We care only about BDB environments + if [ ! -z "$bdb_envs" ]; then + for dbdir in $bdb_envs; do + if [ ! -e $dbdir/DB_CONFIG ]; then + echo -n " Warning: DB_CONFIG not present in $dbdir, please read /usr/share/doc/slapd/README.DB_CONFIG.gz," + fi + done + fi + if [ "$TRY_BDB_RECOVERY" = "yes" ]; then try_fix_db fi