45312f52ff3a3d4c137447be4c7556500c2f8bf2Timo Sirainen#! /usr/bin/ksh93
cf7164ece50797a67fc4bfb5889022ac93a36a8aTimo Sirainen
cf7164ece50797a67fc4bfb5889022ac93a36a8aTimo Sirainen#
cf7164ece50797a67fc4bfb5889022ac93a36a8aTimo Sirainen# CDDL HEADER START
cf7164ece50797a67fc4bfb5889022ac93a36a8aTimo Sirainen#
cbc61fcb33b370d049c16a3c44568b4deb4e2b33Timo Sirainen# The contents of this file are subject to the terms of the
cf7164ece50797a67fc4bfb5889022ac93a36a8aTimo Sirainen# Common Development and Distribution License (the "License").
00d58fcfe8191d6ce7efa801d289a5c0fe88d1aeTimo Sirainen# You may not use this file except in compliance with the License.
cf7164ece50797a67fc4bfb5889022ac93a36a8aTimo Sirainen#
cf7164ece50797a67fc4bfb5889022ac93a36a8aTimo Sirainen# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
cf7164ece50797a67fc4bfb5889022ac93a36a8aTimo Sirainen# or http://www.opensolaris.org/os/licensing.
cf7164ece50797a67fc4bfb5889022ac93a36a8aTimo Sirainen# See the License for the specific language governing permissions
cf7164ece50797a67fc4bfb5889022ac93a36a8aTimo Sirainen# and limitations under the License.
cf7164ece50797a67fc4bfb5889022ac93a36a8aTimo Sirainen#
cf7164ece50797a67fc4bfb5889022ac93a36a8aTimo Sirainen# When distributing Covered Code, include this CDDL HEADER in each
cf7164ece50797a67fc4bfb5889022ac93a36a8aTimo Sirainen# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
8e371a3ce32bd64288786855b8ce0cb63f19f7d1Timo Sirainen# If applicable, add the following below this CDDL HEADER, with the
8e371a3ce32bd64288786855b8ce0cb63f19f7d1Timo Sirainen# fields enclosed by brackets "[]" replaced with your own identifying
8e371a3ce32bd64288786855b8ce0cb63f19f7d1Timo Sirainen# information: Portions Copyright [yyyy] [name of copyright owner]
cf7164ece50797a67fc4bfb5889022ac93a36a8aTimo Sirainen#
cf7164ece50797a67fc4bfb5889022ac93a36a8aTimo Sirainen# CDDL HEADER END
cf7164ece50797a67fc4bfb5889022ac93a36a8aTimo Sirainen#
cf7164ece50797a67fc4bfb5889022ac93a36a8aTimo Sirainen
cf7164ece50797a67fc4bfb5889022ac93a36a8aTimo Sirainen# Copyright (c) 2007, 2016, Oracle and/or its affiliates. All rights reserved.
cf7164ece50797a67fc4bfb5889022ac93a36a8aTimo Sirainen#
cf7164ece50797a67fc4bfb5889022ac93a36a8aTimo Sirainensource /lib/svc/share/smf_include.sh
cf7164ece50797a67fc4bfb5889022ac93a36a8aTimo Sirainen
cf7164ece50797a67fc4bfb5889022ac93a36a8aTimo Sirainentypeset -r LDAPUSR=openldap
8e371a3ce32bd64288786855b8ce0cb63f19f7d1Timo Sirainentypeset -r LDAPGRP=openldap
cf7164ece50797a67fc4bfb5889022ac93a36a8aTimo Sirainentypeset -r VARRUNDIR=/var/openldap/run
e07bf3772a2bc075de4915ad0961beb8d083c22dTimo Sirainentypeset -r VARDATADIR=/var/openldap/openldap-data
cf7164ece50797a67fc4bfb5889022ac93a36a8aTimo Sirainentypeset -r PIDFILE=${VARRUNDIR}/slapd.pid
cf7164ece50797a67fc4bfb5889022ac93a36a8aTimo Sirainentypeset -r CONF_FILE=/etc/openldap/slapd.conf
cf7164ece50797a67fc4bfb5889022ac93a36a8aTimo Sirainentypeset -r SLAPD="/usr/lib/slapd -u ${LDAPUSR} -g ${LDAPGRP} -f ${CONF_FILE}"
8e371a3ce32bd64288786855b8ce0cb63f19f7d1Timo Sirainentypeset -r CONF_DIR=/etc/openldap/slapd.d
8e371a3ce32bd64288786855b8ce0cb63f19f7d1Timo Sirainentypeset -r SLAPD_DIR="/usr/lib/slapd -u ${LDAPUSR} -g ${LDAPGRP} -F ${CONF_DIR}"
cbc61fcb33b370d049c16a3c44568b4deb4e2b33Timo Sirainentypeset -r LDAPSERVERCFG="/usr/sbin/ldapservercfg"
cf7164ece50797a67fc4bfb5889022ac93a36a8aTimo Sirainentypeset -r DO_LDAPSERVERCFG="pfexec ${LDAPSERVERCFG} -a openldap"
cf7164ece50797a67fc4bfb5889022ac93a36a8aTimo Sirainentypeset -r FLAG_STR='olcConfigFile: /tmp/dscfg.'
cf7164ece50797a67fc4bfb5889022ac93a36a8aTimo Sirainen
f6c1297c26b355c4aec2a08978f51ec3efecb351Timo Sirainen
f6c1297c26b355c4aec2a08978f51ec3efecb351Timo Sirainencase "$1" in
cf7164ece50797a67fc4bfb5889022ac93a36a8aTimo Sirainenstart)
8e371a3ce32bd64288786855b8ce0cb63f19f7d1Timo Sirainen urls=`/usr/bin/svcprop -c -p config/urls \
8e371a3ce32bd64288786855b8ce0cb63f19f7d1Timo Sirainen svc:/network/ldap/server:openldap 2>/dev/null`
8e371a3ce32bd64288786855b8ce0cb63f19f7d1Timo Sirainen
cf7164ece50797a67fc4bfb5889022ac93a36a8aTimo Sirainen if [[ -x ${LDAPSERVERCFG} ]]; then
cf7164ece50797a67fc4bfb5889022ac93a36a8aTimo Sirainen grep -q "${FLAG_STR}" ${CONF_DIR}/cn\=config.ldif
cf7164ece50797a67fc4bfb5889022ac93a36a8aTimo Sirainen [[ $? -eq 0 ]] && exec ${SLAPD_DIR} -h "$urls" 2>&1
cf7164ece50797a67fc4bfb5889022ac93a36a8aTimo Sirainen ${DO_LDAPSERVERCFG}
cf7164ece50797a67fc4bfb5889022ac93a36a8aTimo Sirainen else
cf7164ece50797a67fc4bfb5889022ac93a36a8aTimo Sirainen [[ -f ${CONF_FILE} ]] || exit $SMF_EXIT_ERR_CONFIG
cf7164ece50797a67fc4bfb5889022ac93a36a8aTimo Sirainen exec ${SLAPD} -h "$urls" 2>&1
cf7164ece50797a67fc4bfb5889022ac93a36a8aTimo Sirainen fi
cf7164ece50797a67fc4bfb5889022ac93a36a8aTimo Sirainen ;;
8e371a3ce32bd64288786855b8ce0cb63f19f7d1Timo Sirainenstop)
cf7164ece50797a67fc4bfb5889022ac93a36a8aTimo Sirainen # Use the actual contract, not ${PIDFILE}
cf7164ece50797a67fc4bfb5889022ac93a36a8aTimo Sirainen smf_kill_contract $2 TERM 1 30
8e371a3ce32bd64288786855b8ce0cb63f19f7d1Timo Sirainen ret=$?
cf7164ece50797a67fc4bfb5889022ac93a36a8aTimo Sirainen [ $ret -ne 0 ] && exit 1
cf7164ece50797a67fc4bfb5889022ac93a36a8aTimo Sirainen exit $ret
cf7164ece50797a67fc4bfb5889022ac93a36a8aTimo Sirainen ;;
73b50eecfc31750a312e2f940023f522eb07178cTimo Sirainen*)
73b50eecfc31750a312e2f940023f522eb07178cTimo Sirainen print "Usage: $0 {start|stop}"
cf7164ece50797a67fc4bfb5889022ac93a36a8aTimo Sirainen exit 1
cf7164ece50797a67fc4bfb5889022ac93a36a8aTimo Sirainen ;;
cf7164ece50797a67fc4bfb5889022ac93a36a8aTimo Sirainenesac
cf7164ece50797a67fc4bfb5889022ac93a36a8aTimo Sirainen
cf7164ece50797a67fc4bfb5889022ac93a36a8aTimo Sirainen