<?xml version='1.0'?>
<!DOCTYPE service_bundle SYSTEM '/usr/share/lib/xml/dtd/service_bundle.dtd.1'>

<!--
 Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
 Use is subject to license terms.


 CDDL HEADER START

 The contents of this file are subject to the terms of the
 Common Development and Distribution License (the "License").
 You may not use this file except in compliance with the License.

 You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
 or http://www.opensolaris.org/os/licensing.
 See the License for the specific language governing permissions
 and limitations under the License.

 When distributing Covered Code, include this CDDL HEADER in each
 file and include the License file at usr/src/OPENSOLARIS.LICENSE.
 If applicable, add the following below this CDDL HEADER, with the
 fields enclosed by brackets "[]" replaced with your own identifying
 information: Portions Copyright [yyyy] [name of copyright owner]

 CDDL HEADER END


	ident	"%Z%%M%	%I%	%E% SMI"

	NOTE:  This service manifest is not editable; its contents will
	be overwritten by package or patch operations, including
	operating system upgrade.  Make customizations in a different
	file.

	Service manifest for rpcbind
-->

<service_bundle type='manifest' name='SUNWcsr:rpcbind'>

<service
    name='network/rpc/bind'
    type='service'
    version='1'>

    	<create_default_instance enabled='true' />

	<single_instance />

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

	<!--
		rpcbind(1M) has a strong dependency on the hostname.
	-->
	<dependency
		name='identity'
		grouping='require_all'
		restart_on='refresh'
		type='service'>
		<service_fmri
			value='svc:/system/identity:node' />
	</dependency>

	<dependency
		name='sysidtool'
		grouping='require_all'
		restart_on='none'
		type='service'>
		<service_fmri
			value='svc:/system/sysidtool:net' />
	</dependency>

	<dependency
		name='routing'
		grouping='optional_all'
		restart_on='none'
		type='service'>
		<service_fmri
			value='svc:/network/initial:default' />
	</dependency>

	<exec_method
		type='method'
		name='start'
		exec='/lib/svc/method/rpc-bind %m'
		timeout_seconds='60'>
		<method_context>
			<method_credential
				user='root'
				group='root'
				privileges='basic,file_chown,file_chown_self,file_owner,net_privaddr,proc_setid,sys_nfs,net_bindmlp'
				/>
		</method_context>
	</exec_method>

	<exec_method
		type='method'
		name='stop'
		exec='/lib/svc/method/rpc-bind %m %{restarter/contract}'
		timeout_seconds='60'>
		<method_context>
			<method_credential
				user='root'
				group='root'
				privileges='basic,proc_owner'
				/>
		</method_context>
	</exec_method>

	<property_group name='config' type='application' >
		<!-- default property settings for rpcbind(1M). -->

		<!-- enable_tcpwrappers affects the wrapping of rpcbind,
		     see rpcbind(1M) and tcpd(1M) for details.
		     The default value is 'false'.
		     A values of 'true' results in wrapping all UDP/TCP
		     calls to the portmapper with libwrap. Note that
		     rpcbind(1M) will not resolve or lookup names while
		     doing tcp wrapper processing.
		-->
		<propval
			name='enable_tcpwrappers'
			type='boolean'
			value='false' />

		<!-- verbose_logging affects the amount of information
		     which is logged by the tcpwrapper code.
		     The default is 'false'.
		     This property has no effect when tcp wrappers are not
		     enabled.
		-->
		<propval
			name='verbose_logging'
			type='boolean'
			value='false' />

		<!-- allow_indirect affects the forwarding of RPC calls
		     indirect rpcbind calls using rpcb_rmtcall(3NSL).
		     The default value is 'true'. By default this is allowed
		     for all services except for a handful.
		     A value of 'false' stops all indirect calls. This will
		     also disable broadcast rpc. NIS broadcast clients rely
		     on this functionality to exist on NIS servers.
		-->
		<propval
			name='allow_indirect'
			type='boolean'
			value='true' />
	</property_group>

	<stability value='Unstable' />

	<template>
		<common_name>
			<loctext xml:lang='C'>
				RPC bindings
			</loctext>
		</common_name>
		<documentation>
			<manpage title='rpcbind' section='1M'
				manpath='/usr/share/man' />
		</documentation>
	</template>

</service>

</service_bundle>