2 <!DOCTYPE service_bundle SYSTEM "/usr/share/lib/xml/dtd/service_bundle.dtd.1">
4 Copyright 2009 Sun Microsystems, Inc. All rights reserved.
5 Use is subject to license terms.
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.
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.
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]
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
31 Service manifest for the inetd delegated restarter.
34 <service_bundle type='manifest' name='SUNWcsr:inetd'>
41 <create_default_instance enabled='false' />
47 grouping='require_any'
50 <service_fmri value='svc:/network/loopback' />
55 grouping='require_all'
58 <service_fmri value='svc:/system/filesystem/local' />
63 grouping='optional_all'
66 <service_fmri value='svc:/milestone/network' />
71 grouping='optional_all'
74 <service_fmri value='svc:/network/rpc/bind' />
78 Ensure that upgrade has the chance to run before
79 the service to avoid gratuitous complaints about
80 inetd.conf having been modified.
84 grouping='optional_all'
87 <service_fmri value='svc:/network/inetd-upgrade' />
92 grouping='require_all'
95 <service_fmri value='svc:/milestone/sysconfig' />
96 <service_fmri value='svc:/milestone/name-services' />
100 name='inetd_multi-user'
101 grouping='optional_all'
103 <service_fmri value='svc:/milestone/multi-user' />
109 exec='/usr/lib/inet/inetd %m'
110 timeout_seconds='60' >
116 exec='/usr/lib/inet/inetd %m'
117 timeout_seconds='60' >
123 exec='/usr/lib/inet/inetd %m'
124 timeout_seconds='60' >
128 inetd's managed service property defaults. Values chosen to
129 provide legacy inetd's behavior.
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_keepalive' type='boolean' value='false' />
142 <propval name='tcp_trace' type='boolean' value='false' />
143 <propval name='tcp_wrappers' type='boolean' value='false' />
144 <propval name='bind_addr' type='astring' value='' />
145 <propval name='bind_fail_max' type='integer' value='-1' />
146 <propval name='bind_fail_interval' type='integer' value='-1' />
147 <propval name='connection_backlog' type='integer' value='10' />
148 <propval name='value_authorization' type='astring'
149 value='solaris.smf.value.inetd' />
152 <property_group name='general' type='framework'>
153 <!-- to manage inetd -->
154 <propval name='action_authorization' type='astring'
155 value='solaris.smf.manage.inetd' />
156 <propval name='value_authorization' type='astring'
157 value='solaris.smf.manage.inetd' />
160 <property_group name='config' type='application'>
161 <!-- to enable debug-class syslog messages -->
162 <propval name='debug' type='boolean' value='false' />
163 <propval name='value_authorization' type='astring'
164 value='solaris.smf.value.inetd' />
167 <stability value='Unstable' />
171 <loctext xml:lang='C'>inetd</loctext>
174 <loctext xml:lang='C'>
175 inetd provides listening and spawning services for registered Internet
180 <manpage title='inetd' section='1M'
181 manpath='/usr/share/man' />
182 <manpage title='inetadm' section='1M'
183 manpath='/usr/share/man' />
186 <pg_pattern name='config' type='application' target='this'
188 <prop_pattern name='debug' type='boolean'
191 <loctext xml:lang='C'>
192 Enable syslog-style debugging messages for inetd.
195 <cardinality min='1' max='1' />
199 <pg_pattern name='defaults' type='application'
200 target='this' required='true'>
202 <loctext xml:lang='C'>
203 Defaults for properties optional for inetd services. Defaults are inherited from inetd if the property is not specified by the service.
206 <prop_pattern name='bind_addr' type='astring'
209 <loctext xml:lang='C'>
210 The 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.
213 <cardinality min='1' max='1' />
215 <prop_pattern name='bind_fail_interval' type='integer'
218 <loctext xml:lang='C'>
219 Time in seconds between a failed bind attempt and a retry.
222 <cardinality min='1' max='1' />
226 <loctext xml:lang='C'>
227 No retries are attempted.
233 <loctext xml:lang='C'>
234 No retries are attempted.
240 <prop_pattern name='bind_fail_max' type='integer'
243 <loctext xml:lang='C'>
244 The maxiumum nubmer of times inetd retries binding to a service's port before giving up.
247 <cardinality min='1' max='1' />
251 <loctext xml:lang='C'>
252 No retry limiting is imposed.
258 <prop_pattern name='con_rate_offline' type='integer'
261 <loctext xml:lang='C'>
262 The time in seconds a service will remain offline if it exceeds its configured maximum connection rate, as defined by max_con_rate.
265 <cardinality min='1' max='1' />
269 <loctext xml:lang='C'>
270 Connection rate limiting is disabled.
276 <loctext xml:lang='C'>
277 Connection rate limiting is disabled.
283 <prop_pattern name='connection_backlog' type='integer'
286 <loctext xml:lang='C'>
287 The limit on the number of incoming client requests that can be queued at the listening endpoints for servers.
290 <cardinality min='1' max='1' />
292 <prop_pattern name='failrate_cnt' type='integer'
295 <loctext xml:lang='C'>
296 Number of instances of a wait-type service which, in combination with the failrate_interval property, determine when to transition the service into maintenance.
299 <cardinality min='1' max='1' />
303 <loctext xml:lang='C'>
304 Failure rate limiting is disabled.
310 <loctext xml:lang='C'>
311 Failure rate limiting is disabled.
317 <prop_pattern name='failrate_interval' type='integer'
320 <loctext xml:lang='C'>
321 Time in seconds for interval to check for failrate_cnt failures of wait-type services which determine when to transition the service into maintenance.
324 <cardinality min='1' max='1' />
328 <loctext xml:lang='C'>
329 Failure rate limiting is disabled.
335 <loctext xml:lang='C'>
336 Failure rate limiting is disabled.
342 <prop_pattern name='inherit_env' type='boolean'
345 <loctext xml:lang='C'>
346 If 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.
349 <cardinality min='1' max='1' />
351 <prop_pattern name='max_con_rate' type='integer'
354 <loctext xml:lang='C'>
355 The maximum allowed connection rate, in connections per second for a nowait-type service.
359 <loctext xml:lang='C'>
360 connections per second
363 <cardinality min='1' max='1' />
367 <loctext xml:lang='C'>
368 Connection rate limiting is disabled.
374 <loctext xml:lang='C'>
375 Connection rate limiting is disabled.
381 <prop_pattern name='max_copies' type='integer'
384 <loctext xml:lang='C'>
385 Maximum number of copies of a nowait service that can run concurrently.
388 <cardinality min='1' max='1' />
392 <loctext xml:lang='C'>
393 Copies limiting is disabled.
399 <loctext xml:lang='C'>
400 Copies limiting is disabled.
406 <prop_pattern name='tcp_keepalive' type='boolean'
409 <loctext xml:lang='C'>
410 If true, enables periodic transmission of messages for nowait stream services.
413 <cardinality min='1' max='1' />
415 <prop_pattern name='tcp_trace' type='boolean'
418 <loctext xml:lang='C'>
419 If true, enables logging of the service name, client IP address, and TCP port number for nowait services using syslog.
422 <cardinality min='1' max='1' />
424 <prop_pattern name='tcp_wrappers' type='boolean'
427 <loctext xml:lang='C'>
428 If true, enables TCP wrappers for nowait stream services.
431 <cardinality min='1' max='1' />
435 <pg_pattern name='inetd' type='framework'
436 target='delegate' required='true'>
438 <loctext xml:lang='C'>
439 Basic configuration of an inetd-managed service. Defaults are inherited from inetd if the property is not specified by the service.
442 <prop_pattern name='bind_addr' type='astring'
445 <loctext xml:lang='C'>
446 The 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.
449 <cardinality min='1' max='1' />
451 <prop_pattern name='bind_fail_interval' type='integer'
454 <loctext xml:lang='C'>
455 Time in seconds between a failed bind attempt and a retry.
458 <cardinality min='1' max='1' />
462 <loctext xml:lang='C'>
463 No retries are attempted.
469 <loctext xml:lang='C'>
470 No retries are attempted.
476 <prop_pattern name='bind_fail_max' type='integer'
479 <loctext xml:lang='C'>
480 The maxiumum nubmer of times inetd retries binding to a service's port before giving up.
483 <cardinality min='1' max='1' />
487 <loctext xml:lang='C'>
488 No retry limiting is imposed.
494 <prop_pattern name='con_rate_offline' type='integer'
497 <loctext xml:lang='C'>
498 The time in seconds a service will remain offline if it exceeds its configured maximum connection rate, as defined by max_con_rate.
501 <cardinality min='1' max='1' />
505 <loctext xml:lang='C'>
506 Connection rate limiting is disabled.
512 <loctext xml:lang='C'>
513 Connection rate limiting is disabled.
519 <prop_pattern name='connection_backlog' type='integer'
522 <loctext xml:lang='C'>
523 The limit on the number of incoming client requests that can be queued at the listening endpoints for servers.
526 <cardinality min='1' max='1' />
528 <prop_pattern name='endpoint_type' type='astring'
531 <loctext xml:lang='C'>
532 The type of socket used by the service.
535 <cardinality min='1' max='1' />
539 <loctext xml:lang='C'>
544 <value name='stream'>
546 <loctext xml:lang='C'>
553 <loctext xml:lang='C'>
560 <loctext xml:lang='C'>
565 <value name='seqpacket'>
567 <loctext xml:lang='C'>
568 sequenced packet socket
574 <value name='dgram' />
575 <value name='stream' />
579 <prop_pattern name='failrate_cnt' type='integer'
582 <loctext xml:lang='C'>
583 Number of instances of a wait-type service which, in combination with the failrate_interval property, determine when to transition the service into maintenance.
586 <cardinality min='1' max='1' />
590 <loctext xml:lang='C'>
591 Failure rate limiting is disabled.
597 <loctext xml:lang='C'>
598 Failure rate limiting is disabled.
604 <prop_pattern name='failrate_interval' type='integer'
607 <loctext xml:lang='C'>
608 Time in seconds for interval to check for failrate_cnt failures of wait-type services which determine when to transition the service into maintenance.
611 <cardinality min='1' max='1' />
615 <loctext xml:lang='C'>
616 Failure rate limiting is disabled.
622 <loctext xml:lang='C'>
623 Failure rate limiting is disabled.
629 <prop_pattern name='inherit_env' type='boolean'
632 <loctext xml:lang='C'>
633 If 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.
636 <cardinality min='1' max='1' />
638 <prop_pattern name='isrpc' type='boolean'
641 <loctext xml:lang='C'>
642 If true, this is an RPC service.
645 <cardinality min='1' max='1' />
647 <prop_pattern name='max_con_rate' type='integer'
650 <loctext xml:lang='C'>
651 The maximum allowed connection rate, in connections per second for a nowait-type service.
655 <loctext xml:lang='C'>
656 connections per second
659 <cardinality min='1' max='1' />
663 <loctext xml:lang='C'>
664 Connection rate limiting is disabled.
670 <loctext xml:lang='C'>
671 Connection rate limiting is disabled.
677 <prop_pattern name='max_copies' type='integer'
680 <loctext xml:lang='C'>
681 Maximum number of copies of a nowait service that can run concurrently.
684 <cardinality min='1' max='1' />
688 <loctext xml:lang='C'>
689 Copies limiting is disabled.
695 <loctext xml:lang='C'>
696 Copies limiting is disabled.
702 <prop_pattern name='name' type='astring'
705 <loctext xml:lang='C'>
706 Can 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.
709 <cardinality min='1' max='1' />
711 <prop_pattern name='proto' type='astring'
714 <loctext xml:lang='C'>
715 A list of protocols supported by the service.
720 <value name='tcp6' />
721 <value name='tcp6only' />
723 <value name='udp6' />
724 <value name='udp6only' />
727 <prop_pattern name='rpc_low_version' type='integer'
730 <loctext xml:lang='C'>
731 Lowest supported RPC version. Required when isrpc is set to true.
734 <cardinality min='1' max='1' />
736 <prop_pattern name='rpc_high_version' type='integer'
739 <loctext xml:lang='C'>
740 Highest supported RPC version. Required when isrpc is set to true.
743 <cardinality min='1' max='1' />
745 <prop_pattern name='tcp_keepalive' type='boolean'
748 <loctext xml:lang='C'>
749 If true, enables periodic transmission of messages for nowait stream services.
752 <cardinality min='1' max='1' />
754 <prop_pattern name='tcp_trace' type='boolean'
757 <loctext xml:lang='C'>
758 If true, enables logging of the service name, client IP address, and TCP port number for nowait services using syslog.
761 <cardinality min='1' max='1' />
763 <prop_pattern name='tcp_wrappers' type='boolean'
766 <loctext xml:lang='C'>
767 If true, enables TCP wrappers for nowait stream services.
770 <cardinality min='1' max='1' />
772 <prop_pattern name='wait' type='boolean'
775 <loctext xml:lang='C'>
776 If 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.
779 <cardinality min='1' max='1' />
783 <pg_pattern type='method' target='delegate' required='false'>
785 <loctext xml:lang='C'>
786 A 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.
790 <prop_pattern name='exec' type='astring'
793 <loctext xml:lang='C'>
798 <loctext xml:lang='C'>
799 The method executable may be a script, program, or keyword.
802 <cardinality min='1' max='1' />
806 <loctext xml:lang='C'>
807 Always 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.
811 <value name=':kill [-signal]'>
813 <loctext xml:lang='C'>
814 Sends 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.
819 <value name=':kill_process [-signal]'>
821 <loctext xml:lang='C'>
822 For 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.
828 <include_values type='values' />
832 <prop_pattern name='type' type='astring'
835 <loctext xml:lang='C'>
836 A method may only be of type method.
839 <cardinality min='1' max='1' />
841 <value name='method' />
845 <prop_pattern name='timeout_seconds' type='count'
848 <loctext xml:lang='C'>
849 Number of seconds before the method is considered unresponsive. After the method timeout expires, the method will be killed.
852 <cardinality min='1' max='1' />
856 <loctext xml:lang='C'>
861 <loctext xml:lang='C'>
862 This method will never time out.
868 <loctext xml:lang='C'>
873 <loctext xml:lang='C'>
874 This method will never time out. 0 is the preferred value.
881 <!-- method_context direct properties -->
882 <prop_pattern name='working_directory' type='astring'
885 <loctext xml:lang='C'>
886 The 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.
890 <cardinality min='1' max='1' />
892 <prop_pattern name='project' type='astring'
895 <loctext xml:lang='C'>
896 The 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.
899 <cardinality min='1' max='1' />
901 <prop_pattern name='resource_pool' type='astring'
904 <loctext xml:lang='C'>
905 method context resource pool
909 <loctext xml:lang='C'>
910 The resource pool name on which to launch the method. :default can be used
911 as a token to indicate the pool specified in the project(4) entry given in
912 the project attribute.
915 <cardinality min='1' max='1' />
918 <!-- method_credential properties -->
919 <prop_pattern name='user' type='astring'
922 <loctext xml:lang='C'>
923 method credential user
927 <loctext xml:lang='C'>
928 The user ID in numeric or text form.
931 <cardinality min='1' max='1' />
933 <prop_pattern name='group' type='astring'
936 <loctext xml:lang='C'>
937 method credential group
941 <loctext xml:lang='C'>
942 The group ID in numeric or text form.
945 <cardinality min='1' max='1' />
947 <prop_pattern name='supp_groups' type='astring'
950 <loctext xml:lang='C'>
951 method credential supplemental groups
955 <loctext xml:lang='C'>
956 An optional string that specifies the supplemental group memberships by ID,
957 in numeric or text form.
960 <cardinality min='1' max='1' />
961 <internal_separators>,</internal_separators>
963 <prop_pattern name='privileges' type='astring'
966 <loctext xml:lang='C'>
967 method credential privileges
971 <loctext xml:lang='C'>
972 An optional string specifying the privilege set as defined in privileges(5).
975 <cardinality min='1' max='1' />
976 <internal_separators>,</internal_separators>
978 <prop_pattern name='limit_privileges' type='astring'
981 <loctext xml:lang='C'>
982 method credential limit privilege set
986 <loctext xml:lang='C'>
987 An optional string specifying the limit privilege set as defined in
991 <cardinality min='1' max='1' />
992 <internal_separators>,</internal_separators>
995 <!-- method_profile properties -->
996 <prop_pattern name='use_profile' type='boolean'
999 <loctext xml:lang='C'>
1000 A boolean that specifies whether the profile should be used instead of the
1001 user, group, privileges, and limit_privileges properties.
1004 <cardinality min='1' max='1' />
1006 <prop_pattern name='profile' type='astring'
1009 <loctext xml:lang='C'>
1010 method profile RBAC profile specification
1014 <loctext xml:lang='C'>
1015 The name of an RBAC (role-based access control) profile which, along with the
1016 method executable, identifies an entry in exec_attr(4).
1019 <cardinality min='1' max='1' />
1022 <!-- method_environment properties -->
1023 <prop_pattern name='environment' type='astring'
1026 <loctext xml:lang='C'>
1027 method environment variables
1031 <loctext xml:lang='C'>
1032 Environment variables to insert into the environment of the method, in the
1033 form of a number of NAME=value strings.
1039 <pg_pattern name='restarter' type='framework'
1040 target='delegate' required='false'>
1042 <loctext xml:lang='C'>
1043 Communicate restarter-set status of the service.
1047 <prop_pattern name='auxiliary_state' type='astring'
1050 <loctext xml:lang='C'>
1051 Additional information about why a service is in the current state. Unused by inetd.
1054 <visibility value='hidden' />
1055 <cardinality min='1' max='1' />
1057 <prop_pattern name='auxiliary_fmri' type='astring'
1060 <loctext xml:lang='C'>
1061 Auxiliary fmri information for service state diagnosis.
1064 <visibility value='hidden' />
1066 <prop_pattern name='state_timestamp' type='time'
1069 <loctext xml:lang='C'>
1070 Time the current state was reached.
1073 <visibility value='readonly' />
1074 <cardinality min='1' max='1' />
1076 <prop_pattern name='state' type='astring'
1079 <loctext xml:lang='C'>
1080 The current state of this service instance.
1083 <visibility value='readonly' />
1084 <cardinality min='1' max='1' />
1086 <value name='online'>
1088 <loctext xml:lang='C'>
1089 The instance is handling new network requests and might have existing connections alive.
1093 <value name='offline'>
1095 <loctext xml:lang='C'>
1096 Connections 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.
1100 <value name='uninitialized'>
1102 <loctext xml:lang='C'>
1103 inetd has yet to process this instance, or the inetd service has not yet been started by svc.startd.
1107 <value name='degraded'>
1109 <loctext xml:lang='C'>
1110 The 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.
1114 <value name='disabled'>
1116 <loctext xml:lang='C'>
1117 The instance is disabled, is not accepting new connections, and has none active.
1121 <value name='maintenance'>
1123 <loctext xml:lang='C'>
1124 The instance is either malfunctioning and needs administrator attention, or an administrator has requested the instance enter this state.
1130 <prop_pattern name='next_state' type='astring'
1133 <loctext xml:lang='C'>
1134 The next expected state of this instance.
1137 <visibility value='readonly' />
1138 <cardinality min='1' max='1' />
1140 <value name='online'>
1142 <loctext xml:lang='C'>
1143 The 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.
1147 <value name='offline'>
1149 <loctext xml:lang='C'>
1150 The 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.
1154 <value name='degraded'>
1156 <loctext xml:lang='C'>
1157 The 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.
1161 <value name='disabled'>
1163 <loctext xml:lang='C'>
1164 The instance will be disabled, will not be accepting new connections, and will have none active.
1168 <value name='maintenance'>
1170 <loctext xml:lang='C'>
1171 The instance will be in maintenance, and administrative action will be required to restore the instance to offline and subsequent states.