diff options
Diffstat (limited to 'net/openldap24-server/files/slapd.in')
-rw-r--r-- | net/openldap24-server/files/slapd.in | 217 |
1 files changed, 0 insertions, 217 deletions
diff --git a/net/openldap24-server/files/slapd.in b/net/openldap24-server/files/slapd.in deleted file mode 100644 index bdc2ad538a74..000000000000 --- a/net/openldap24-server/files/slapd.in +++ /dev/null @@ -1,217 +0,0 @@ -#!/bin/sh - -# PROVIDE: slapd -# REQUIRE: FILESYSTEMS ldconfig netif -# BEFORE: SERVERS kdc -# KEYWORD: shutdown - -# -# Add the following lines to /etc/rc.conf to enable slapd: -# -#slapd_enable="YES" -#slapd_flags='-h "ldapi://%2fvar%2frun%2fopenldap%2fldapi/ ldap://0.0.0.0/"' -#slapd_sockets="/var/run/openldap/ldapi" -# -# See slapd(8) for more flags -# -# The `-u' and `-g' flags are automatically extracted from slapd_owner, -# by default slapd runs under the non-privileged user id `ldap'. If you -# want to run slapd as root, override this in /etc/rc.conf with -# -#slapd_owner="DEFAULT" -# -# To use the cn=config style configuration add the following -# line to /etc/rc.conf: -# -#slapd_cn_config="YES" -# -# To specify alternative Kerberos 5 Key Table, add the following -# rc.conf(5) configuration: -# -#slapd_krb5_ktname="/path/to/ldap.keytab" -# -#slapd_autobackup_enable="YES" -# To enable automatic backup of OpenLDAP data after successful shutdown -# in the form of LDIF. -# -#slapd_autobackup_num="8" -# How many automatic backups should this script keep. -# -#slapd_autobackup_compress="YES" -# Compress backup data with zstd (if present) or gzip. -# -#slapd_autobackup_name="backup" -# Name to be used for backups - -. /etc/rc.subr - -name="slapd" -rcvar=slapd_enable - -# read settings, set defaults -load_rc_config ${name} - -: ${slapd_enable="NO"} -if [ -n "${slapd_args+set}" ]; then - warn "slapd_args is deprecated, use slapd_flags" - : ${slapd_flags="$slapd_args"} -fi -: ${slapd_owner="%%LDAP_USER%%:%%LDAP_GROUP%%"} -: ${slapd_sockets_mode="666"} -: ${slapd_cn_config="NO"} -: ${slapd_autobackup_enable="YES"} -: ${slapd_autobackup_num="8"} -: ${slapd_autobackup_compress="YES"} -: ${slapd_autobackup_name="backup"} - -command="%%PREFIX%%/libexec/slapd" -pidfile="%%LDAP_RUN_DIR%%/slapd.pid" - -# set required_dirs, required_files and DATABASEDIR -if checkyesno slapd_cn_config; then - required_dirs="%%PREFIX%%/etc/openldap/slapd.d" - required_files="%%PREFIX%%/etc/openldap/slapd.d/cn=config.ldif" - DATABASEDIR=`grep olcDbDirectory %%PREFIX%%/etc/openldap/slapd.d/cn=config/olcDatabase=* | awk '{ print $2 }'` -else - required_files="%%PREFIX%%/etc/openldap/slapd.conf" - DATABASEDIR=`awk '$1 == "directory" { print $2 }' "%%PREFIX%%/etc/openldap/slapd.conf" 2>&1 /dev/null` -fi - -start_precmd=start_precmd -start_postcmd=start_postcmd -stop_postcmd=stop_postcmd - -# extract user and group, adjust ownership of directories and database - -start_precmd() -{ - local slapd_ownername slapd_groupname - - mkdir -p %%LDAP_RUN_DIR%% - - case "$slapd_owner" in - ""|[Nn][Oo][Nn][Ee]|[Dd][Ee][Ff][Aa][Uu][Ll][Tt]) - ;; - *) - local DBDIR - for DBDIR in ${DATABASEDIR}; do - if [ ! -d "${DBDIR}" ]; then - mkdir -p "${DBDIR}" - [ -f "%%PREFIX%%/etc/openldap/DB_CONFIG.example" ] && cp "%%PREFIX%%/etc/openldap/DB_CONFIG.example" "${DBDIR}/DB_CONFIG" - fi - chown -fRL "$slapd_owner" "${DBDIR}" - chmod 700 "${DBDIR}" - done - chown "$slapd_owner" "%%LDAP_RUN_DIR%%" - - if checkyesno slapd_cn_config; then - chown -fR $slapd_owner "%%PREFIX%%/etc/openldap/slapd.d" - else - chown $slapd_owner "%%PREFIX%%/etc/openldap/slapd.conf" - fi - - slapd_ownername="${slapd_owner%:*}" - slapd_groupname="${slapd_owner#*:}" - - if [ -n "$slapd_ownername" ]; then - rc_flags="$rc_flags -u $slapd_ownername" - fi - if [ -n "$slapd_groupname" ]; then - rc_flags="$rc_flags -g $slapd_groupname" - fi - if [ -n "${slapd_krb5_ktname}" ]; then - export KRB5_KTNAME=${slapd_krb5_ktname} - fi - ;; - esac - echo -n "Performing sanity check on slap configuration: " - - if ${command} -Tt -u >/dev/null 2>&1; then - echo "OK" - else - echo "FAILED" - return 1 - fi -} - -# adjust ownership of created unix sockets - -start_postcmd() -{ - local socket seconds - - for socket in $slapd_sockets; do - for seconds in 1 2 3 4 5; do - [ -e "$socket" ] && break - sleep 1 - done - if [ -S "$socket" ]; then - case "$slapd_owner" in - ""|[Nn][Oo][Nn][Ee]|[Dd][Ee][Ff][Aa][Uu][Ll][Tt]) - ;; - *) - chown "$slapd_owner" "$socket" - ;; - esac - chmod "$slapd_sockets_mode" "$socket" - else - warn "slapd: Can't find socket $socket" - fi - done -} - -stop_postcmd() -{ - local compress_program compress_suffix - - if checkyesno slapd_autobackup_enable; then - if checkyesno slapd_autobackup_compress; then - if [ -x /usr/bin/zstd ]; then - compress_program="/usr/bin/zstd" - compress_suffix=".zstd" - else - compress_program="/usr/bin/gzip" - compress_suffix=".gz" - fi - else - compress_program="cat" - compress_suffix="" - fi - - umask 077 - mkdir -p %%BACKUPDIR%% - chmod 700 %%BACKUPDIR%% - - n=0 - while [ ${n} -lt ${slapd_autobackup_num} ]; do - backup_file="%%BACKUPDIR%%/${slapd_autobackup_name}.ldif.${n}${compress_suffix}" - if [ ! -e "${backup_file}" -o -f "${backup_file}" ]; then - break - fi - n=$(( ${n} + 1 )) - done - if [ -f "${backup_file}" ]; then - n=$(( ${n} + 1 )) - while [ ${n} -lt ${slapd_autobackup_num} ]; do - next_backup_file="%%BACKUPDIR%%/${slapd_autobackup_name}.ldif.${n}${compress_suffix}" - if [ -f "${next_backup_file}" ]; then - [ "${next_backup_file}" -ot "${backup_file}" ] && \ - backup_file=${next_backup_file} - elif [ ! -e "${next_backup_file}" ]; then - backup_file=${next_backup_file} - break - fi - n=$(( ${n} + 1 )) - done - fi - if [ -e "${backup_file}" -a ! -f "${backup_file}" ]; then - err 1 "Unable to backup OpenLDAP data" - else - info "Backing up OpenLDAP data to ${backup_file}" - fi - - %%PREFIX%%/sbin/slapcat | ${compress_program} > ${backup_file} - fi -} - -run_rc_command "$1" |