1#!/sbin/sh 2# 3# 4# CDDL HEADER START 5# 6# The contents of this file are subject to the terms of the 7# Common Development and Distribution License (the "License"). 8# You may not use this file except in compliance with the License. 9# 10# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 11# or http://www.opensolaris.org/os/licensing. 12# See the License for the specific language governing permissions 13# and limitations under the License. 14# 15# When distributing Covered Code, include this CDDL HEADER in each 16# file and include the License file at usr/src/OPENSOLARIS.LICENSE. 17# If applicable, add the following below this CDDL HEADER, with the 18# fields enclosed by brackets "[]" replaced with your own identifying 19# information: Portions Copyright [yyyy] [name of copyright owner] 20# 21# CDDL HEADER END 22# 23# Copyright 2006 Sun Microsystems, Inc. All rights reserved. 24# Use is subject to license terms. 25# 26#ident "%Z%%M% %I% %E% SMI" 27 28. /lib/svc/share/smf_include.sh 29 30# Trusted Extensions non-global zones need special handling 31 32if (smf_is_system_labeled); then 33 if (smf_is_nonglobalzone); then 34 35 # If needed create a door to the global zone daemon. 36 if [ ! -L /var/run/name_service_door ]; then 37 ln -s /var/tsol/doors/name_service_door /var/run || \ 38 exit $SMF_EXIT_ERR_FATAL 39 fi 40 41 # If current service duration is not "transient", create 42 # a dummy background process to preserve contract lifetime. 43 duration="" 44 if /bin/svcprop -q -c -p startd/duration $SMF_FMRI ; then 45 duration=`/bin/svcprop -c -p startd/duration $SMF_FMRI` 46 fi 47 if [ "$duration" != "transient" ]; then 48 ( while true ; do sleep 3600 ; done ) & 49 fi 50 51 # The real daemon is not started in non-global zones, 52 # so exit now. 53 exit $SMF_EXIT_OK 54 fi 55 56fi 57 58if [ -f /etc/nscd.conf -a -f /usr/sbin/nscd ]; then 59 secure="" 60 61 if egrep -s "^(passwd|passwd_compat):.*nisplus" /etc/nsswitch.conf 62 then 63 /usr/lib/nscd_nischeck passwd || secure=" -S passwd,yes" 64 fi 65 66 /usr/sbin/nscd$secure < /dev/null > /dev/msglog 2>&1 & 67else 68 echo "No /etc/nscd.conf or no /usr/sbin/nscd" 69 exit $SMF_EXIT_ERR_CONFIG 70fi 71