xref: /titanic_50/usr/src/cmd/cmd-inet/usr.lib/inetd/inetd.xml (revision ad593b7f6950a2f44f8c46948367d37431f74fd0)
1<?xml version="1.0"?>
2<!DOCTYPE service_bundle SYSTEM "/usr/share/lib/xml/dtd/service_bundle.dtd.1">
3<!--
4 Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
5 Use is subject to license terms.
6
7 CDDL HEADER START
8
9 The contents of this file are subject to the terms of the
10 Common Development and Distribution License (the "License").
11 You may not use this file except in compliance with the License.
12
13 You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
14 or http://www.opensolaris.org/os/licensing.
15 See the License for the specific language governing permissions
16 and limitations under the License.
17
18 When distributing Covered Code, include this CDDL HEADER in each
19 file and include the License file at usr/src/OPENSOLARIS.LICENSE.
20 If applicable, add the following below this CDDL HEADER, with the
21 fields enclosed by brackets "[]" replaced with your own identifying
22 information: Portions Copyright [yyyy] [name of copyright owner]
23
24 CDDL HEADER END
25
26	NOTE:  This service manifest is not editable; its contents will
27	be overwritten by package or patch operations, including
28	operating system upgrade.  Make customizations in a different
29	file.
30
31	Service manifest for the inetd delegated restarter.
32-->
33
34<service_bundle type='manifest' name='SUNWcsr:inetd'>
35
36<service
37	name='network/inetd'
38	type='restarter'
39	version='1'>
40
41	<create_default_instance enabled='false' />
42
43	<single_instance />
44
45	<dependency
46		name='loopback'
47		grouping='require_any'
48		restart_on='error'
49		type='service'>
50		<service_fmri value='svc:/network/loopback' />
51	</dependency>
52
53	<dependency
54		name='filesystem'
55		grouping='require_all'
56		restart_on='error'
57		type='service'>
58		<service_fmri value='svc:/system/filesystem/local' />
59	</dependency>
60
61	<dependency
62		name='network'
63		grouping='optional_all'
64		restart_on='error'
65		type='service'>
66		<service_fmri value='svc:/milestone/network' />
67	</dependency>
68
69	<dependency
70		name='rpc'
71		grouping='optional_all'
72		restart_on='error'
73		type='service'>
74		<service_fmri value='svc:/network/rpc/bind' />
75	</dependency>
76
77	<!--
78	  Ensure that upgrade has the chance to run before
79	  the service to avoid gratuitous complaints about
80	  inetd.conf having been modified.
81	-->
82	<dependency
83		name='upgrade'
84		grouping='optional_all'
85		restart_on='none'
86		type='service'>
87		<service_fmri value='svc:/network/inetd-upgrade' />
88	</dependency>
89
90	<dependency
91		name='milestones'
92		grouping='require_all'
93		restart_on='none'
94		type='service'>
95		<service_fmri value='svc:/milestone/sysconfig' />
96		<service_fmri value='svc:/milestone/name-services' />
97	</dependency>
98
99	<dependent
100		name='inetd_multi-user'
101		grouping='optional_all'
102		restart_on='none'>
103		<service_fmri value='svc:/milestone/multi-user' />
104	</dependent>
105
106	<exec_method
107		type='method'
108		name='stop'
109		exec='/usr/lib/inet/inetd %m'
110		timeout_seconds='60' >
111	</exec_method>
112
113	<exec_method
114		type='method'
115		name='start'
116		exec='/usr/lib/inet/inetd %m'
117		timeout_seconds='60' >
118	</exec_method>
119
120	<exec_method
121		type='method'
122		name='refresh'
123		exec='/usr/lib/inet/inetd %m'
124		timeout_seconds='60' >
125	</exec_method>
126
127	<!--
128	   inetd's managed service property defaults. Values chosen to
129	   provide legacy inetd's behavior.
130	-->
131	<property_group
132	    name='defaults'
133	    type='application'>
134		<stability value='Evolving' />
135		<propval name='max_con_rate' type='integer' value='-1' />
136		<propval name='con_rate_offline' type='integer' value='-1' />
137		<propval name='max_copies' type='integer' value='-1' />
138		<propval name='failrate_cnt' type='integer' value='40' />
139		<propval name='failrate_interval' type='integer' value='60' />
140		<propval name='inherit_env' type='boolean' value='true' />
141		<propval name='tcp_trace' type='boolean' value='false' />
142		<propval name='tcp_wrappers' type='boolean' value='false' />
143		<propval name='bind_addr' type='astring' value='' />
144		<propval name='bind_fail_max' type='integer' value='-1' />
145		<propval name='bind_fail_interval' type='integer' value='-1' />
146		<propval name='connection_backlog' type='integer' value='10' />
147		<propval name='value_authorization' type='astring'
148			value='solaris.smf.value.inetd' />
149	</property_group>
150
151	<property_group name='general' type='framework'>
152		<!-- to manage inetd -->
153		<propval name='action_authorization' type='astring'
154			value='solaris.smf.manage.inetd' />
155		<propval name='value_authorization' type='astring'
156			value='solaris.smf.manage.inetd' />
157	</property_group>
158
159	<property_group name='config' type='application'>
160		<!-- to enable debug-class syslog messages -->
161		<propval name='debug' type='boolean' value='false' />
162		<propval name='value_authorization' type='astring'
163			value='solaris.smf.value.inetd' />
164	</property_group>
165
166	<stability value='Unstable' />
167
168	<template>
169		<common_name>
170			<loctext xml:lang='C'>inetd</loctext>
171		</common_name>
172		<description>
173			<loctext xml:lang='C'>
174inetd provides listening and spawning services for registered Internet
175services.
176			</loctext>
177		</description>
178		<documentation>
179			<manpage title='inetd' section='1M'
180				manpath='/usr/share/man' />
181			<manpage title='inetadm' section='1M'
182				manpath='/usr/share/man' />
183		</documentation>
184
185		<pg_pattern name='config' type='application' target='this'
186		    required='false'>
187			<prop_pattern name='debug' type='boolean'
188			    required='false'>
189				<description>
190					<loctext xml:lang='C'>
191Enable syslog-style debugging messages for inetd.
192					</loctext>
193				</description>
194				<cardinality min='1' max='1' />
195			</prop_pattern>
196		</pg_pattern>
197
198		<pg_pattern name='defaults' type='application'
199		    target='this' required='true'>
200			<description>
201				<loctext xml:lang='C'>
202Defaults for properties optional for inetd services.  Defaults are inherited from inetd if the property is not specified by the service.
203				</loctext>
204			</description>
205			<prop_pattern name='bind_addr' type='astring'
206			    required='false'>
207				<description>
208					<loctext xml:lang='C'>
209The address of the network interface to which the service should be bound.  An empty string value causes the service to accept connections on any network interface.
210					</loctext>
211				</description>
212				<cardinality min='1' max='1' />
213			</prop_pattern>
214			<prop_pattern name='bind_fail_interval' type='integer'
215			    required='true'>
216				<description>
217					<loctext xml:lang='C'>
218Time in seconds between a failed bind attempt and a retry.
219					</loctext>
220				</description>
221				<cardinality min='1' max='1' />
222				<values>
223					<value name='0'>
224						<description>
225							<loctext xml:lang='C'>
226No retries are attempted.
227							</loctext>
228						</description>
229					</value>
230					<value name='-1'>
231						<description>
232							<loctext xml:lang='C'>
233No retries are attempted.
234							</loctext>
235						</description>
236					</value>
237				</values>
238			</prop_pattern>
239			<prop_pattern name='bind_fail_max' type='integer'
240			    required='true'>
241				<description>
242					<loctext xml:lang='C'>
243The maxiumum nubmer of times inetd retries binding to a service's port before giving up.
244					</loctext>
245				</description>
246				<cardinality min='1' max='1' />
247				<values>
248					<value name='-1'>
249						<description>
250							<loctext xml:lang='C'>
251No retry limiting is imposed.
252							</loctext>
253						</description>
254					</value>
255				</values>
256			</prop_pattern>
257			<prop_pattern name='con_rate_offline' type='integer'
258			    required='true'>
259				<description>
260					<loctext xml:lang='C'>
261The time in seconds a service will remain offline if it exceeds its configured maximum connection rate, as defined by max_con_rate.
262					</loctext>
263				</description>
264				<cardinality min='1' max='1' />
265				<values>
266					<value name='0'>
267						<description>
268							<loctext xml:lang='C'>
269Connection rate limiting is disabled.
270							</loctext>
271						</description>
272					</value>
273					<value name='-1'>
274						<description>
275							<loctext xml:lang='C'>
276Connection rate limiting is disabled.
277							</loctext>
278						</description>
279					</value>
280				</values>
281			</prop_pattern>
282			<prop_pattern name='connection_backlog' type='integer'
283			    required='true'>
284				<description>
285					<loctext xml:lang='C'>
286The limit on the number of incoming client requests that can be queued at the listening endpoints for servers.
287					</loctext>
288				</description>
289				<cardinality min='1' max='1' />
290			</prop_pattern>
291			<prop_pattern name='failrate_cnt' type='integer'
292			    required='true'>
293				<description>
294					<loctext xml:lang='C'>
295Number of instances of a wait-type service which, in combination with the failrate_interval property, determine when to transition the service into maintenance.
296					</loctext>
297				</description>
298				<cardinality min='1' max='1' />
299				<values>
300					<value name='0'>
301						<description>
302							<loctext xml:lang='C'>
303Failure rate limiting is disabled.
304							</loctext>
305						</description>
306					</value>
307					<value name='-1'>
308						<description>
309							<loctext xml:lang='C'>
310Failure rate limiting is disabled.
311							</loctext>
312						</description>
313					</value>
314				</values>
315			</prop_pattern>
316			<prop_pattern name='failrate_interval' type='integer'
317			    required='true'>
318				<description>
319					<loctext xml:lang='C'>
320Time in seconds for interval to check for failrate_cnt failures of wait-type services which determine when to transition the service into maintenance.
321					</loctext>
322				</description>
323				<cardinality min='1' max='1' />
324				<values>
325					<value name='0'>
326						<description>
327							<loctext xml:lang='C'>
328Failure rate limiting is disabled.
329							</loctext>
330						</description>
331					</value>
332					<value name='-1'>
333						<description>
334							<loctext xml:lang='C'>
335Failure rate limiting is disabled.
336							</loctext>
337						</description>
338					</value>
339				</values>
340			</prop_pattern>
341			<prop_pattern name='inherit_env' type='boolean'
342			    required='true'>
343				<description>
344					<loctext xml:lang='C'>
345If true, pass inetd's environment on to the service's start method.  If false, the environment is cleared with the exception of SMF_*, and the environment variables from the method context.
346					</loctext>
347				</description>
348				<cardinality min='1' max='1' />
349			</prop_pattern>
350			<prop_pattern name='max_con_rate' type='integer'
351			    required='true'>
352				<description>
353					<loctext xml:lang='C'>
354The maximum allowed connection rate, in connections per second for a nowait-type service.
355					</loctext>
356				</description>
357				<units>
358					<loctext xml:lang='C'>
359connections per second
360					</loctext>
361				</units>
362				<cardinality min='1' max='1' />
363				<values>
364					<value name='0'>
365						<description>
366							<loctext xml:lang='C'>
367Connection rate limiting is disabled.
368							</loctext>
369						</description>
370					</value>
371					<value name='-1'>
372						<description>
373							<loctext xml:lang='C'>
374Connection rate limiting is disabled.
375							</loctext>
376						</description>
377					</value>
378				</values>
379			</prop_pattern>
380			<prop_pattern name='max_copies' type='integer'
381			    required='true'>
382				<description>
383					<loctext xml:lang='C'>
384Maximum number of copies of a nowait service that can run concurrently.
385					</loctext>
386				</description>
387				<cardinality min='1' max='1' />
388				<values>
389					<value name='0'>
390						<description>
391							<loctext xml:lang='C'>
392Copies limiting is disabled.
393							</loctext>
394						</description>
395					</value>
396					<value name='-1'>
397						<description>
398							<loctext xml:lang='C'>
399Copies limiting is disabled.
400							</loctext>
401						</description>
402					</value>
403				</values>
404			</prop_pattern>
405			<prop_pattern name='tcp_trace' type='boolean'
406			    required='true'>
407				<description>
408					<loctext xml:lang='C'>
409If true, enables logging of the service name, client IP address, and TCP port number for nowait services using syslog.
410					</loctext>
411				</description>
412				<cardinality min='1' max='1' />
413			</prop_pattern>
414			<prop_pattern name='tcp_wrappers' type='boolean'
415			    required='true'>
416				<description>
417					<loctext xml:lang='C'>
418If true, enables TCP wrappers for nowait stream services.
419					</loctext>
420				</description>
421				<cardinality min='1' max='1' />
422			</prop_pattern>
423		</pg_pattern>
424
425		<pg_pattern name='inetd' type='framework'
426		    target='delegate' required='true'>
427			<description>
428				<loctext xml:lang='C'>
429Basic configuration of an inetd-managed service.  Defaults are inherited from inetd if the property is not specified by the service.
430				</loctext>
431			</description>
432			<prop_pattern name='bind_addr' type='astring'
433			    required='false'>
434				<description>
435					<loctext xml:lang='C'>
436The address of the network interface to which the service should be bound.  An empty string value causes the service to accept connections on any network interface.
437					</loctext>
438				</description>
439				<cardinality min='1' max='1' />
440			</prop_pattern>
441			<prop_pattern name='bind_fail_interval' type='integer'
442			    required='false'>
443				<description>
444					<loctext xml:lang='C'>
445Time in seconds between a failed bind attempt and a retry.
446					</loctext>
447				</description>
448				<cardinality min='1' max='1' />
449				<values>
450					<value name='0'>
451						<description>
452							<loctext xml:lang='C'>
453No retries are attempted.
454							</loctext>
455						</description>
456					</value>
457					<value name='-1'>
458						<description>
459							<loctext xml:lang='C'>
460No retries are attempted.
461							</loctext>
462						</description>
463					</value>
464				</values>
465			</prop_pattern>
466			<prop_pattern name='bind_fail_max' type='integer'
467			    required='false'>
468				<description>
469					<loctext xml:lang='C'>
470The maxiumum nubmer of times inetd retries binding to a service's port before giving up.
471					</loctext>
472				</description>
473				<cardinality min='1' max='1' />
474				<values>
475					<value name='-1'>
476						<description>
477							<loctext xml:lang='C'>
478No retry limiting is imposed.
479							</loctext>
480						</description>
481					</value>
482				</values>
483			</prop_pattern>
484			<prop_pattern name='con_rate_offline' type='integer'
485			    required='false'>
486				<description>
487					<loctext xml:lang='C'>
488The time in seconds a service will remain offline if it exceeds its configured maximum connection rate, as defined by max_con_rate.
489					</loctext>
490				</description>
491				<cardinality min='1' max='1' />
492				<values>
493					<value name='0'>
494						<description>
495							<loctext xml:lang='C'>
496Connection rate limiting is disabled.
497							</loctext>
498						</description>
499					</value>
500					<value name='-1'>
501						<description>
502							<loctext xml:lang='C'>
503Connection rate limiting is disabled.
504							</loctext>
505						</description>
506					</value>
507				</values>
508			</prop_pattern>
509			<prop_pattern name='connection_backlog' type='integer'
510			    required='false'>
511				<description>
512					<loctext xml:lang='C'>
513The limit on the number of incoming client requests that can be queued at the listening endpoints for servers.
514					</loctext>
515				</description>
516				<cardinality min='1' max='1' />
517			</prop_pattern>
518			<prop_pattern name='endpoint_type' type='astring'
519			    required='true'>
520				<description>
521					<loctext xml:lang='C'>
522The type of socket used by the service.
523					</loctext>
524				</description>
525				<cardinality min='1' max='1' />
526				<constraints>
527					<value name='tli'>
528						<description>
529							<loctext xml:lang='C'>
530TLI endpoint
531							</loctext>
532						</description>
533					</value>
534					<value name='stream'>
535						<description>
536							<loctext xml:lang='C'>
537stream socket
538							</loctext>
539						</description>
540					</value>
541					<value name='dgram'>
542						<description>
543							<loctext xml:lang='C'>
544datagram socket
545							</loctext>
546						</description>
547					</value>
548					<value name='raw'>
549						<description>
550							<loctext xml:lang='C'>
551raw socket
552							</loctext>
553						</description>
554					</value>
555					<value name='seqpacket'>
556						<description>
557							<loctext xml:lang='C'>
558sequenced packet socket
559							</loctext>
560						</description>
561					</value>
562				</constraints>
563				<choices>
564					<value name='dgram' />
565					<value name='stream' />
566					<value name='tli' />
567				</choices>
568			</prop_pattern>
569			<prop_pattern name='failrate_cnt' type='integer'
570			    required='false'>
571				<description>
572					<loctext xml:lang='C'>
573Number of instances of a wait-type service which, in combination with the failrate_interval property, determine when to transition the service into maintenance.
574					</loctext>
575				</description>
576				<cardinality min='1' max='1' />
577				<values>
578					<value name='0'>
579						<description>
580							<loctext xml:lang='C'>
581Failure rate limiting is disabled.
582							</loctext>
583						</description>
584					</value>
585					<value name='-1'>
586						<description>
587							<loctext xml:lang='C'>
588Failure rate limiting is disabled.
589							</loctext>
590						</description>
591					</value>
592				</values>
593			</prop_pattern>
594			<prop_pattern name='failrate_interval' type='integer'
595			    required='false'>
596				<description>
597					<loctext xml:lang='C'>
598Time in seconds for interval to check for failrate_cnt failures of wait-type services which determine when to transition the service into maintenance.
599					</loctext>
600				</description>
601				<cardinality min='1' max='1' />
602				<values>
603					<value name='0'>
604						<description>
605							<loctext xml:lang='C'>
606Failure rate limiting is disabled.
607							</loctext>
608						</description>
609					</value>
610					<value name='-1'>
611						<description>
612							<loctext xml:lang='C'>
613Failure rate limiting is disabled.
614							</loctext>
615						</description>
616					</value>
617				</values>
618			</prop_pattern>
619			<prop_pattern name='inherit_env' type='boolean'
620			    required='false'>
621				<description>
622					<loctext xml:lang='C'>
623If true, pass inetd's environment on to the service's start method.  If false, the environment is cleared with the exception of SMF_*, and the environment variables from the method context.
624					</loctext>
625				</description>
626				<cardinality min='1' max='1' />
627			</prop_pattern>
628			<prop_pattern name='isrpc' type='boolean'
629			    required='false'>
630				<description>
631					<loctext xml:lang='C'>
632If true, this is an RPC service.
633					</loctext>
634				</description>
635				<cardinality min='1' max='1' />
636			</prop_pattern>
637			<prop_pattern name='max_con_rate' type='integer'
638			    required='false'>
639				<description>
640					<loctext xml:lang='C'>
641The maximum allowed connection rate, in connections per second for a nowait-type service.
642					</loctext>
643				</description>
644				<units>
645					<loctext xml:lang='C'>
646connections per second
647					</loctext>
648				</units>
649				<cardinality min='1' max='1' />
650				<values>
651					<value name='0'>
652						<description>
653							<loctext xml:lang='C'>
654Connection rate limiting is disabled.
655							</loctext>
656						</description>
657					</value>
658					<value name='-1'>
659						<description>
660							<loctext xml:lang='C'>
661Connection rate limiting is disabled.
662							</loctext>
663						</description>
664					</value>
665				</values>
666			</prop_pattern>
667			<prop_pattern name='max_copies' type='integer'
668			    required='false'>
669				<description>
670					<loctext xml:lang='C'>
671Maximum number of copies of a nowait service that can run concurrently.
672					</loctext>
673				</description>
674				<cardinality min='1' max='1' />
675				<values>
676					<value name='0'>
677						<description>
678							<loctext xml:lang='C'>
679Copies limiting is disabled.
680							</loctext>
681						</description>
682					</value>
683					<value name='-1'>
684						<description>
685							<loctext xml:lang='C'>
686Copies limiting is disabled.
687							</loctext>
688						</description>
689					</value>
690				</values>
691			</prop_pattern>
692			<prop_pattern name='name' type='astring'
693			    required='true'>
694				<description>
695					<loctext xml:lang='C'>
696Can be set to a service name understood by getservbyname(3SOCKET), or if isrpc is true, a service name understood by getrpcbyname(3NSL) or a valid RPC program number.
697					</loctext>
698				</description>
699				<cardinality min='1' max='1' />
700			</prop_pattern>
701			<prop_pattern name='proto' type='astring'
702			    required='true'>
703				<description>
704					<loctext xml:lang='C'>
705A list of protocols supported by the service.
706					</loctext>
707				</description>
708				<choices>
709					<value name='tcp' />
710					<value name='tcp6' />
711					<value name='tcp6only' />
712					<value name='udp' />
713					<value name='udp6' />
714					<value name='udp6only' />
715				</choices>
716			</prop_pattern>
717			<prop_pattern name='rpc_low_version' type='integer'
718			    required='false'>
719				<description>
720					<loctext xml:lang='C'>
721Lowest supported RPC version.  Required when isrpc is set to true.
722					</loctext>
723				</description>
724				<cardinality min='1' max='1' />
725			</prop_pattern>
726			<prop_pattern name='rpc_high_version' type='integer'
727			    required='false'>
728				<description>
729					<loctext xml:lang='C'>
730Highest supported RPC version.  Required when isrpc is set to true.
731					</loctext>
732				</description>
733				<cardinality min='1' max='1' />
734			</prop_pattern>
735			<prop_pattern name='tcp_trace' type='boolean'
736			    required='false'>
737				<description>
738					<loctext xml:lang='C'>
739If true, enables logging of the service name, client IP address, and TCP port number for nowait services using syslog.
740					</loctext>
741				</description>
742				<cardinality min='1' max='1' />
743			</prop_pattern>
744			<prop_pattern name='tcp_wrappers' type='boolean'
745			    required='false'>
746				<description>
747					<loctext xml:lang='C'>
748If true, enables TCP wrappers for nowait stream services.
749					</loctext>
750				</description>
751				<cardinality min='1' max='1' />
752			</prop_pattern>
753			<prop_pattern name='wait' type='boolean'
754			    required='false'>
755				<description>
756					<loctext xml:lang='C'>
757If true, this is a wait-type service.  For wait-type services, the inetd_start method will take over listening duties on the service's bound endpoint and inetd will wait for it to exit before resuming listening.
758					</loctext>
759				</description>
760				<cardinality min='1' max='1' />
761			</prop_pattern>
762		</pg_pattern>
763
764		<pg_pattern type='method' target='delegate' required='false'>
765			<description>
766				<loctext xml:lang='C'>
767A method defines how inetd interacts with its services.  inetd_start is executed to handle a connection.  inetd_offline is executed when the service is taken offline.  inetd_online is executed when the service is taken from offline to online.  inetd_disable is executed when the service is disabled.  inetd_refresh is executed when the service is refreshed.
768				</loctext>
769			</description>
770
771			<prop_pattern name='exec' type='astring'
772			    required='true'>
773				<common_name>
774					<loctext xml:lang='C'>
775method executable
776					</loctext>
777				</common_name>
778				<description>
779					<loctext xml:lang='C'>
780The method executable may be a script, program, or keyword.
781					</loctext>
782				</description>
783				<cardinality min='1' max='1' />
784				<values>
785					<value name=':true'>
786						<description>
787							<loctext xml:lang='C'>
788Always returns SMF_EXIT_OK. This token should be used for methods that are required by the restarter but which are unnecessary for the particular service implementation.
789							</loctext>
790						</description>
791					</value>
792					<value name=':kill [-signal]'>
793						<description>
794							<loctext xml:lang='C'>
795Sends the specified signal, which is SIGTERM by default, to all processes in the primary instance contract. Always returns SMF_EXIT_OK. This token should be used to replace common pkill invocations.
796
797							</loctext>
798						</description>
799					</value>
800					<value name=':kill_process [-signal]'>
801						<description>
802							<loctext xml:lang='C'>
803For wait-type services, send the specified signal, which is SIGTERM by default, to the parent process of the wait-type serviće´s start method.
804							</loctext>
805						</description>
806					</value>
807				</values>
808				<choices>
809					<include_values type='values' />
810				</choices>
811			</prop_pattern>
812
813			<prop_pattern name='type' type='astring'
814			    required='true'>
815				<description>
816					<loctext xml:lang='C'>
817A method may only be of type method.
818					</loctext>
819				</description>
820				<cardinality min='1' max='1' />
821				<constraints>
822					<value name='method' />
823				</constraints>
824			</prop_pattern>
825
826			<prop_pattern name='timeout_seconds' type='count'
827			    required='true'>
828				<description>
829					<loctext xml:lang='C'>
830Number of seconds before the method is considered unresponsive.  After the method timeout expires, the method will be killed.
831					</loctext>
832				</description>
833				<cardinality min='1' max='1' />
834				<values>
835					<value name='0'>
836						<common_name>
837							<loctext xml:lang='C'>
838infinite
839							</loctext>
840						</common_name>
841						<description>
842							<loctext xml:lang='C'>
843This method will never time out.
844							</loctext>
845						</description>
846					</value>
847					<value name='-1'>
848						<common_name>
849							<loctext xml:lang='C'>
850infinite (legacy)
851							</loctext>
852						</common_name>
853						<description>
854							<loctext xml:lang='C'>
855This method will never time out.  0 is the preferred value.
856							</loctext>
857						</description>
858					</value>
859				</values>
860			</prop_pattern>
861
862			<!-- method_context direct properties -->
863			<prop_pattern name='working_directory' type='astring'
864			    required='false'>
865				<description>
866					<loctext xml:lang='C'>
867The working directory to launch the method from.  ":default" can be used as a token to indicate the home directory of the user specified by the credential or profile.
868
869					</loctext>
870				</description>
871				<cardinality min='1' max='1' />
872			</prop_pattern>
873			<prop_pattern name='project' type='astring'
874			    required='false'>
875				<description>
876					<loctext xml:lang='C'>
877The project ID in numeric or text form.  :default can be used as a token to indicate a project identified by getdefaultproj(3PROJECT) for the user whose uid is used to launch the method.
878					</loctext>
879				</description>
880				<cardinality min='1' max='1' />
881			</prop_pattern>
882			<prop_pattern name='resource_pool' type='astring'
883			    required='false'>
884				<common_name>
885					<loctext xml:lang='C'>
886method context resource pool
887					</loctext>
888				</common_name>
889				<description>
890					<loctext xml:lang='C'>
891The resource pool name on which to launch the method.  :default can be used
892as a token to indicate the pool specified in the project(4) entry given in
893the project attribute.
894					</loctext>
895				</description>
896				<cardinality min='1' max='1' />
897			</prop_pattern>
898
899			<!-- method_credential properties -->
900			<prop_pattern name='user' type='astring'
901			    required='false'>
902				<common_name>
903					<loctext xml:lang='C'>
904method credential user
905					</loctext>
906				</common_name>
907				<description>
908					<loctext xml:lang='C'>
909The user ID in numeric or text form.
910					</loctext>
911				</description>
912				<cardinality min='1' max='1' />
913			</prop_pattern>
914			<prop_pattern name='group' type='astring'
915			    required='false'>
916				<common_name>
917					<loctext xml:lang='C'>
918method credential group
919					</loctext>
920				</common_name>
921				<description>
922					<loctext xml:lang='C'>
923The group ID in numeric or text form.
924					</loctext>
925				</description>
926				<cardinality min='1' max='1' />
927			</prop_pattern>
928			<prop_pattern name='supp_groups' type='astring'
929			    required='false'>
930				<common_name>
931					<loctext xml:lang='C'>
932method credential supplemental groups
933					</loctext>
934				</common_name>
935				<description>
936					<loctext xml:lang='C'>
937An optional string that specifies the supplemental group memberships by ID,
938in numeric or text form.
939					</loctext>
940				</description>
941				<cardinality min='1' max='1' />
942				<internal_separators>,</internal_separators>
943			</prop_pattern>
944			<prop_pattern name='privileges' type='astring'
945			    required='false'>
946				<common_name>
947					<loctext xml:lang='C'>
948method credential privileges
949					</loctext>
950				</common_name>
951				<description>
952					<loctext xml:lang='C'>
953An optional string specifying the privilege set as defined in privileges(5).
954					</loctext>
955				</description>
956				<cardinality min='1' max='1' />
957				<internal_separators>,</internal_separators>
958			</prop_pattern>
959			<prop_pattern name='limit_privileges' type='astring'
960			    required='false'>
961				<common_name>
962					<loctext xml:lang='C'>
963method credential limit privilege set
964					</loctext>
965				</common_name>
966				<description>
967					<loctext xml:lang='C'>
968An optional string specifying the limit privilege set as defined in
969privileges(5).
970					</loctext>
971				</description>
972				<cardinality min='1' max='1' />
973				<internal_separators>,</internal_separators>
974			</prop_pattern>
975
976			<!-- method_profile properties -->
977			<prop_pattern name='use_profile' type='boolean'
978			    required='false'>
979				<description>
980					<loctext xml:lang='C'>
981A boolean that specifies whether the profile should be used instead of the
982user, group, privileges, and limit_privileges properties.
983					</loctext>
984				</description>
985				<cardinality min='1' max='1' />
986			</prop_pattern>
987			<prop_pattern name='profile' type='astring'
988			    required='false'>
989				<common_name>
990					<loctext xml:lang='C'>
991method profile RBAC profile specification
992					</loctext>
993				</common_name>
994				<description>
995					<loctext xml:lang='C'>
996The name of an RBAC (role-based access control) profile which, along with the
997method executable, identifies an entry in exec_attr(4).
998					</loctext>
999				</description>
1000				<cardinality min='1' max='1' />
1001			</prop_pattern>
1002
1003			<!-- method_environment properties -->
1004			<prop_pattern name='environment' type='astring'
1005			    required='false'>
1006				<common_name>
1007					<loctext xml:lang='C'>
1008method environment variables
1009					</loctext>
1010				</common_name>
1011				<description>
1012					<loctext xml:lang='C'>
1013Environment variables to insert into the environment of the method, in the
1014form of a number of NAME=value strings.
1015					</loctext>
1016				</description>
1017			</prop_pattern>
1018		</pg_pattern>
1019
1020                <pg_pattern name='restarter' type='framework'
1021                    target='delegate' required='false'>
1022                        <description>
1023                                <loctext xml:lang='C'>
1024Communicate restarter-set status of the service.
1025                                </loctext>
1026                        </description>
1027
1028                        <prop_pattern name='auxiliary_state' type='astring'
1029                            required='false'>
1030                                <description>
1031                                        <loctext xml:lang='C'>
1032Additional information about why a service is in the current state.  Unused by inetd.
1033                                        </loctext>
1034                                </description>
1035                                <visibility value='hidden' />
1036                                <cardinality min='1' max='1' />
1037                        </prop_pattern>
1038                        <prop_pattern name='auxiliary_fmri' type='astring'
1039                            required='false'>
1040                                <description>
1041                                        <loctext xml:lang='C'>
1042Auxiliary fmri information for service state diagnosis.
1043                                        </loctext>
1044                                </description>
1045                                <visibility value='hidden' />
1046                        </prop_pattern>
1047                        <prop_pattern name='state_timestamp' type='time'
1048                            required='false'>
1049                                <description>
1050                                        <loctext xml:lang='C'>
1051Time the current state was reached.
1052                                        </loctext>
1053                                </description>
1054                                <visibility value='readonly' />
1055                                <cardinality min='1' max='1' />
1056                        </prop_pattern>
1057                        <prop_pattern name='state' type='astring'
1058                            required='false'>
1059                                <description>
1060                                        <loctext xml:lang='C'>
1061The current state of this service instance.
1062                                        </loctext>
1063                                </description>
1064                                <visibility value='readonly' />
1065                                <cardinality min='1' max='1' />
1066                                <constraints>
1067                                        <value name='online'>
1068                                                <description>
1069                                                        <loctext xml:lang='C'>
1070The instance is handling new network requests and might have existing connections alive.
1071                                                        </loctext>
1072                                                </description>
1073                                        </value>
1074                                        <value name='offline'>
1075                                                <description>
1076                                                        <loctext xml:lang='C'>
1077Connections might be active, but no new requests are being handled.  An instance may be offline because its dependencies are unsatisfied, the service has exceeded its configured connection rate limit, the service as reached its allowed number of active connections, or inetd failed to listen on behalf of the service on all its protocols.
1078                                                        </loctext>
1079                                                </description>
1080                                        </value>
1081                                        <value name='uninitialized'>
1082                                                <description>
1083                                                        <loctext xml:lang='C'>
1084inetd has yet to process this instance, or the inetd service has not yet been started by svc.startd.
1085                                                        </loctext>
1086                                                </description>
1087                                        </value>
1088                                        <value name='degraded'>
1089                                                <description>
1090                                                        <loctext xml:lang='C'>
1091The instance was able to listen and process requests for some, but not all, of the protocoals specified for the instance.  Existing network connections might be active.
1092                                                        </loctext>
1093                                                </description>
1094                                        </value>
1095                                        <value name='disabled'>
1096                                                <description>
1097                                                        <loctext xml:lang='C'>
1098The instance is disabled, is not accepting new connections, and has none active.
1099                                                        </loctext>
1100                                                </description>
1101                                        </value>
1102                                        <value name='maintenance'>
1103                                                <description>
1104                                                        <loctext xml:lang='C'>
1105The instance is either malfunctioning and needs administrator attention, or an administrator has requested the instance enter this state.
1106                                                        </loctext>
1107                                                </description>
1108                                        </value>
1109                                </constraints>
1110                        </prop_pattern>
1111			<prop_pattern name='next_state' type='astring'
1112			    required='false'>
1113				<description>
1114					<loctext xml:lang='C'>
1115The next expected state of this instance.
1116					</loctext>
1117				</description>
1118				<visibility value='readonly' />
1119				<cardinality min='1' max='1' />
1120				<constraints>
1121					<value name='online'>
1122						<description>
1123							<loctext xml:lang='C'>
1124The service is being started or refreshed, and will soon be online and running.  This transition may fail and the instance may end up in offline or maintenance instead.
1125							</loctext>
1126						</description>
1127					</value>
1128					<value name='offline'>
1129						<description>
1130							<loctext xml:lang='C'>
1131The instance has temporarily suspended accepting new network requests due to dependencies or reaching a connection or failure threshold.  Most instances will leave this state once their dependencies are satisfied or the threshold is no longer exceeded.
1132							</loctext>
1133						</description>
1134					</value>
1135					<value name='degraded'>
1136						<description>
1137							<loctext xml:lang='C'>
1138The instance was able to listen and process requests for some, but not all, of the protocoals specified for the instance.  Existing network connections might be active.
1139							</loctext>
1140						</description>
1141					</value>
1142					<value name='disabled'>
1143						<description>
1144							<loctext xml:lang='C'>
1145The instance will be disabled, will not be accepting new connections, and will have none active.
1146							</loctext>
1147						</description>
1148					</value>
1149					<value name='maintenance'>
1150						<description>
1151							<loctext xml:lang='C'>
1152The instance will be in maintenance, and administrative action will be required to restore the instance to offline and subsequent states.
1153							</loctext>
1154						</description>
1155					</value>
1156				</constraints>
1157			</prop_pattern>
1158		</pg_pattern>
1159	</template>
1160</service>
1161
1162</service_bundle>
1163