<?xml version="1.0"?>
<!DOCTYPE service_bundle SYSTEM "/usr/share/lib/xml/dtd/service_bundle.dtd.1">
<!--
	Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
	Use is subject to license terms.

	ident	"@(#)server.xml	1.3	04/12/03 SMI"
-->

<service_bundle type='manifest' name='SUNWbindr:dns-server'>

<service
	name='network/dns/server'
	type='service'
	version='1'>

	<dependency
	    name='filesystem_minimal'
	    grouping='require_all'
	    restart_on='none'
	    type='service'>
		<service_fmri value='svc:/system/filesystem/minimal' />
	</dependency>

	<dependency
	    name='loopback'
	    grouping='require_any'
	    restart_on='error'
	    type='service'>
		<service_fmri value='svc:/network/loopback' />
	</dependency>

	<dependency
	    name='network'
	    grouping='optional_all'
	    restart_on='error'
	    type='service'>
		<service_fmri value='svc:/milestone/network' />
	</dependency>

	<exec_method
	    type='method'
	    name='stop'
	    exec=':kill'
	    timeout_seconds='60' />

	<instance name='chroot' enabled='false' >
		<!--
			To be able to run multiple named with their own config
			file, this dependency needs to be at the instance level.
		-->
		<dependency
		    name='config_data'
		    grouping='require_all'
		    restart_on='none'
		    type='path'>
			<service_fmri value='file://localhost/etc/named.conf' />
		</dependency>

		<exec_method
		    type='method'
		    name='start'
		    exec='/usr/sbin/named -t /var/named'
		    timeout_seconds='60' >
			<method_context>
			<!--
				privileges: file_dac_read, file_dac_search
				privileges are necessary for reading the
				configuration file even it is restricted by
				the file permission. sys_resource privilege
				is for setting the resource limits (eg. stack
				size)
			-->
				<method_credential
				    user='noaccess'
				    group='root'
				    privileges='basic,!proc_session,!proc_info,!file_link_any,net_privaddr,priv_proc_chroot,priv_file_dac_read,file_dac_search,sys_resource' />
			</method_context>
		</exec_method>

		<property_group name='general' type='framework'>
			<!-- manage DNS server state -->
			<propval name='action_authorization' type='astring'
			    value='solaris.smf.manage.bind' />
			<propval name='value_authorization' type='astring'
			    value='solaris.smf.manage.bind' />
		</property_group>
	</instance>

	<stability value='Unstable' />

	<template>
		<common_name>
			<loctext xml:lang='C'>
				BIND DNS server
			</loctext>
		</common_name>
		<documentation>
			<manpage title='named' section='1M'
			    manpath='/usr/man' />
		</documentation>
	</template>

</service>

</service_bundle>
