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_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' /> 150 </property_group> 151 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' /> 158 </property_group> 159 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' /> 165 </property_group> 166 167 <stability value='Unstable' /> 168 169 <template> 170 <common_name> 171 <loctext xml:lang='C'>inetd</loctext> 172 </common_name> 173 <description> 174 <loctext xml:lang='C'> 175inetd provides listening and spawning services for registered Internet 176services. 177 </loctext> 178 </description> 179 <documentation> 180 <manpage title='inetd' section='1M' 181 manpath='/usr/share/man' /> 182 <manpage title='inetadm' section='1M' 183 manpath='/usr/share/man' /> 184 </documentation> 185 186 <pg_pattern name='config' type='application' target='this' 187 required='false'> 188 <prop_pattern name='debug' type='boolean' 189 required='false'> 190 <description> 191 <loctext xml:lang='C'> 192Enable syslog-style debugging messages for inetd. 193 </loctext> 194 </description> 195 <cardinality min='1' max='1' /> 196 </prop_pattern> 197 </pg_pattern> 198 199 <pg_pattern name='defaults' type='application' 200 target='this' required='true'> 201 <description> 202 <loctext xml:lang='C'> 203Defaults for properties optional for inetd services. Defaults are inherited from inetd if the property is not specified by the service. 204 </loctext> 205 </description> 206 <prop_pattern name='bind_addr' type='astring' 207 required='false'> 208 <description> 209 <loctext xml:lang='C'> 210The 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. 211 </loctext> 212 </description> 213 <cardinality min='1' max='1' /> 214 </prop_pattern> 215 <prop_pattern name='bind_fail_interval' type='integer' 216 required='true'> 217 <description> 218 <loctext xml:lang='C'> 219Time in seconds between a failed bind attempt and a retry. 220 </loctext> 221 </description> 222 <cardinality min='1' max='1' /> 223 <values> 224 <value name='0'> 225 <description> 226 <loctext xml:lang='C'> 227No retries are attempted. 228 </loctext> 229 </description> 230 </value> 231 <value name='-1'> 232 <description> 233 <loctext xml:lang='C'> 234No retries are attempted. 235 </loctext> 236 </description> 237 </value> 238 </values> 239 </prop_pattern> 240 <prop_pattern name='bind_fail_max' type='integer' 241 required='true'> 242 <description> 243 <loctext xml:lang='C'> 244The maxiumum nubmer of times inetd retries binding to a service's port before giving up. 245 </loctext> 246 </description> 247 <cardinality min='1' max='1' /> 248 <values> 249 <value name='-1'> 250 <description> 251 <loctext xml:lang='C'> 252No retry limiting is imposed. 253 </loctext> 254 </description> 255 </value> 256 </values> 257 </prop_pattern> 258 <prop_pattern name='con_rate_offline' type='integer' 259 required='true'> 260 <description> 261 <loctext xml:lang='C'> 262The time in seconds a service will remain offline if it exceeds its configured maximum connection rate, as defined by max_con_rate. 263 </loctext> 264 </description> 265 <cardinality min='1' max='1' /> 266 <values> 267 <value name='0'> 268 <description> 269 <loctext xml:lang='C'> 270Connection rate limiting is disabled. 271 </loctext> 272 </description> 273 </value> 274 <value name='-1'> 275 <description> 276 <loctext xml:lang='C'> 277Connection rate limiting is disabled. 278 </loctext> 279 </description> 280 </value> 281 </values> 282 </prop_pattern> 283 <prop_pattern name='connection_backlog' type='integer' 284 required='true'> 285 <description> 286 <loctext xml:lang='C'> 287The limit on the number of incoming client requests that can be queued at the listening endpoints for servers. 288 </loctext> 289 </description> 290 <cardinality min='1' max='1' /> 291 </prop_pattern> 292 <prop_pattern name='failrate_cnt' type='integer' 293 required='true'> 294 <description> 295 <loctext xml:lang='C'> 296Number of instances of a wait-type service which, in combination with the failrate_interval property, determine when to transition the service into maintenance. 297 </loctext> 298 </description> 299 <cardinality min='1' max='1' /> 300 <values> 301 <value name='0'> 302 <description> 303 <loctext xml:lang='C'> 304Failure rate limiting is disabled. 305 </loctext> 306 </description> 307 </value> 308 <value name='-1'> 309 <description> 310 <loctext xml:lang='C'> 311Failure rate limiting is disabled. 312 </loctext> 313 </description> 314 </value> 315 </values> 316 </prop_pattern> 317 <prop_pattern name='failrate_interval' type='integer' 318 required='true'> 319 <description> 320 <loctext xml:lang='C'> 321Time in seconds for interval to check for failrate_cnt failures of wait-type services which determine when to transition the service into maintenance. 322 </loctext> 323 </description> 324 <cardinality min='1' max='1' /> 325 <values> 326 <value name='0'> 327 <description> 328 <loctext xml:lang='C'> 329Failure rate limiting is disabled. 330 </loctext> 331 </description> 332 </value> 333 <value name='-1'> 334 <description> 335 <loctext xml:lang='C'> 336Failure rate limiting is disabled. 337 </loctext> 338 </description> 339 </value> 340 </values> 341 </prop_pattern> 342 <prop_pattern name='inherit_env' type='boolean' 343 required='true'> 344 <description> 345 <loctext xml:lang='C'> 346If 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. 347 </loctext> 348 </description> 349 <cardinality min='1' max='1' /> 350 </prop_pattern> 351 <prop_pattern name='max_con_rate' type='integer' 352 required='true'> 353 <description> 354 <loctext xml:lang='C'> 355The maximum allowed connection rate, in connections per second for a nowait-type service. 356 </loctext> 357 </description> 358 <units> 359 <loctext xml:lang='C'> 360connections per second 361 </loctext> 362 </units> 363 <cardinality min='1' max='1' /> 364 <values> 365 <value name='0'> 366 <description> 367 <loctext xml:lang='C'> 368Connection rate limiting is disabled. 369 </loctext> 370 </description> 371 </value> 372 <value name='-1'> 373 <description> 374 <loctext xml:lang='C'> 375Connection rate limiting is disabled. 376 </loctext> 377 </description> 378 </value> 379 </values> 380 </prop_pattern> 381 <prop_pattern name='max_copies' type='integer' 382 required='true'> 383 <description> 384 <loctext xml:lang='C'> 385Maximum number of copies of a nowait service that can run concurrently. 386 </loctext> 387 </description> 388 <cardinality min='1' max='1' /> 389 <values> 390 <value name='0'> 391 <description> 392 <loctext xml:lang='C'> 393Copies limiting is disabled. 394 </loctext> 395 </description> 396 </value> 397 <value name='-1'> 398 <description> 399 <loctext xml:lang='C'> 400Copies limiting is disabled. 401 </loctext> 402 </description> 403 </value> 404 </values> 405 </prop_pattern> 406 <prop_pattern name='tcp_keepalive' type='boolean' 407 required='true'> 408 <description> 409 <loctext xml:lang='C'> 410If true, enables periodic transmission of messages for nowait stream services. 411 </loctext> 412 </description> 413 <cardinality min='1' max='1' /> 414 </prop_pattern> 415 <prop_pattern name='tcp_trace' type='boolean' 416 required='true'> 417 <description> 418 <loctext xml:lang='C'> 419If true, enables logging of the service name, client IP address, and TCP port number for nowait services using syslog. 420 </loctext> 421 </description> 422 <cardinality min='1' max='1' /> 423 </prop_pattern> 424 <prop_pattern name='tcp_wrappers' type='boolean' 425 required='true'> 426 <description> 427 <loctext xml:lang='C'> 428If true, enables TCP wrappers for nowait stream services. 429 </loctext> 430 </description> 431 <cardinality min='1' max='1' /> 432 </prop_pattern> 433 </pg_pattern> 434 435 <pg_pattern name='inetd' type='framework' 436 target='delegate' required='true'> 437 <description> 438 <loctext xml:lang='C'> 439Basic configuration of an inetd-managed service. Defaults are inherited from inetd if the property is not specified by the service. 440 </loctext> 441 </description> 442 <prop_pattern name='bind_addr' type='astring' 443 required='false'> 444 <description> 445 <loctext xml:lang='C'> 446The 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. 447 </loctext> 448 </description> 449 <cardinality min='1' max='1' /> 450 </prop_pattern> 451 <prop_pattern name='bind_fail_interval' type='integer' 452 required='false'> 453 <description> 454 <loctext xml:lang='C'> 455Time in seconds between a failed bind attempt and a retry. 456 </loctext> 457 </description> 458 <cardinality min='1' max='1' /> 459 <values> 460 <value name='0'> 461 <description> 462 <loctext xml:lang='C'> 463No retries are attempted. 464 </loctext> 465 </description> 466 </value> 467 <value name='-1'> 468 <description> 469 <loctext xml:lang='C'> 470No retries are attempted. 471 </loctext> 472 </description> 473 </value> 474 </values> 475 </prop_pattern> 476 <prop_pattern name='bind_fail_max' type='integer' 477 required='false'> 478 <description> 479 <loctext xml:lang='C'> 480The maxiumum nubmer of times inetd retries binding to a service's port before giving up. 481 </loctext> 482 </description> 483 <cardinality min='1' max='1' /> 484 <values> 485 <value name='-1'> 486 <description> 487 <loctext xml:lang='C'> 488No retry limiting is imposed. 489 </loctext> 490 </description> 491 </value> 492 </values> 493 </prop_pattern> 494 <prop_pattern name='con_rate_offline' type='integer' 495 required='false'> 496 <description> 497 <loctext xml:lang='C'> 498The time in seconds a service will remain offline if it exceeds its configured maximum connection rate, as defined by max_con_rate. 499 </loctext> 500 </description> 501 <cardinality min='1' max='1' /> 502 <values> 503 <value name='0'> 504 <description> 505 <loctext xml:lang='C'> 506Connection rate limiting is disabled. 507 </loctext> 508 </description> 509 </value> 510 <value name='-1'> 511 <description> 512 <loctext xml:lang='C'> 513Connection rate limiting is disabled. 514 </loctext> 515 </description> 516 </value> 517 </values> 518 </prop_pattern> 519 <prop_pattern name='connection_backlog' type='integer' 520 required='false'> 521 <description> 522 <loctext xml:lang='C'> 523The limit on the number of incoming client requests that can be queued at the listening endpoints for servers. 524 </loctext> 525 </description> 526 <cardinality min='1' max='1' /> 527 </prop_pattern> 528 <prop_pattern name='endpoint_type' type='astring' 529 required='true'> 530 <description> 531 <loctext xml:lang='C'> 532The type of socket used by the service. 533 </loctext> 534 </description> 535 <cardinality min='1' max='1' /> 536 <constraints> 537 <value name='tli'> 538 <description> 539 <loctext xml:lang='C'> 540TLI endpoint 541 </loctext> 542 </description> 543 </value> 544 <value name='stream'> 545 <description> 546 <loctext xml:lang='C'> 547stream socket 548 </loctext> 549 </description> 550 </value> 551 <value name='dgram'> 552 <description> 553 <loctext xml:lang='C'> 554datagram socket 555 </loctext> 556 </description> 557 </value> 558 <value name='raw'> 559 <description> 560 <loctext xml:lang='C'> 561raw socket 562 </loctext> 563 </description> 564 </value> 565 <value name='seqpacket'> 566 <description> 567 <loctext xml:lang='C'> 568sequenced packet socket 569 </loctext> 570 </description> 571 </value> 572 </constraints> 573 <choices> 574 <value name='dgram' /> 575 <value name='stream' /> 576 <value name='tli' /> 577 </choices> 578 </prop_pattern> 579 <prop_pattern name='failrate_cnt' type='integer' 580 required='false'> 581 <description> 582 <loctext xml:lang='C'> 583Number of instances of a wait-type service which, in combination with the failrate_interval property, determine when to transition the service into maintenance. 584 </loctext> 585 </description> 586 <cardinality min='1' max='1' /> 587 <values> 588 <value name='0'> 589 <description> 590 <loctext xml:lang='C'> 591Failure rate limiting is disabled. 592 </loctext> 593 </description> 594 </value> 595 <value name='-1'> 596 <description> 597 <loctext xml:lang='C'> 598Failure rate limiting is disabled. 599 </loctext> 600 </description> 601 </value> 602 </values> 603 </prop_pattern> 604 <prop_pattern name='failrate_interval' type='integer' 605 required='false'> 606 <description> 607 <loctext xml:lang='C'> 608Time in seconds for interval to check for failrate_cnt failures of wait-type services which determine when to transition the service into maintenance. 609 </loctext> 610 </description> 611 <cardinality min='1' max='1' /> 612 <values> 613 <value name='0'> 614 <description> 615 <loctext xml:lang='C'> 616Failure rate limiting is disabled. 617 </loctext> 618 </description> 619 </value> 620 <value name='-1'> 621 <description> 622 <loctext xml:lang='C'> 623Failure rate limiting is disabled. 624 </loctext> 625 </description> 626 </value> 627 </values> 628 </prop_pattern> 629 <prop_pattern name='inherit_env' type='boolean' 630 required='false'> 631 <description> 632 <loctext xml:lang='C'> 633If 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. 634 </loctext> 635 </description> 636 <cardinality min='1' max='1' /> 637 </prop_pattern> 638 <prop_pattern name='isrpc' type='boolean' 639 required='false'> 640 <description> 641 <loctext xml:lang='C'> 642If true, this is an RPC service. 643 </loctext> 644 </description> 645 <cardinality min='1' max='1' /> 646 </prop_pattern> 647 <prop_pattern name='max_con_rate' type='integer' 648 required='false'> 649 <description> 650 <loctext xml:lang='C'> 651The maximum allowed connection rate, in connections per second for a nowait-type service. 652 </loctext> 653 </description> 654 <units> 655 <loctext xml:lang='C'> 656connections per second 657 </loctext> 658 </units> 659 <cardinality min='1' max='1' /> 660 <values> 661 <value name='0'> 662 <description> 663 <loctext xml:lang='C'> 664Connection rate limiting is disabled. 665 </loctext> 666 </description> 667 </value> 668 <value name='-1'> 669 <description> 670 <loctext xml:lang='C'> 671Connection rate limiting is disabled. 672 </loctext> 673 </description> 674 </value> 675 </values> 676 </prop_pattern> 677 <prop_pattern name='max_copies' type='integer' 678 required='false'> 679 <description> 680 <loctext xml:lang='C'> 681Maximum number of copies of a nowait service that can run concurrently. 682 </loctext> 683 </description> 684 <cardinality min='1' max='1' /> 685 <values> 686 <value name='0'> 687 <description> 688 <loctext xml:lang='C'> 689Copies limiting is disabled. 690 </loctext> 691 </description> 692 </value> 693 <value name='-1'> 694 <description> 695 <loctext xml:lang='C'> 696Copies limiting is disabled. 697 </loctext> 698 </description> 699 </value> 700 </values> 701 </prop_pattern> 702 <prop_pattern name='name' type='astring' 703 required='true'> 704 <description> 705 <loctext xml:lang='C'> 706Can 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. 707 </loctext> 708 </description> 709 <cardinality min='1' max='1' /> 710 </prop_pattern> 711 <prop_pattern name='proto' type='astring' 712 required='true'> 713 <description> 714 <loctext xml:lang='C'> 715A list of protocols supported by the service. 716 </loctext> 717 </description> 718 <choices> 719 <value name='tcp' /> 720 <value name='tcp6' /> 721 <value name='tcp6only' /> 722 <value name='udp' /> 723 <value name='udp6' /> 724 <value name='udp6only' /> 725 </choices> 726 </prop_pattern> 727 <prop_pattern name='rpc_low_version' type='integer' 728 required='false'> 729 <description> 730 <loctext xml:lang='C'> 731Lowest supported RPC version. Required when isrpc is set to true. 732 </loctext> 733 </description> 734 <cardinality min='1' max='1' /> 735 </prop_pattern> 736 <prop_pattern name='rpc_high_version' type='integer' 737 required='false'> 738 <description> 739 <loctext xml:lang='C'> 740Highest supported RPC version. Required when isrpc is set to true. 741 </loctext> 742 </description> 743 <cardinality min='1' max='1' /> 744 </prop_pattern> 745 <prop_pattern name='tcp_keepalive' type='boolean' 746 required='false'> 747 <description> 748 <loctext xml:lang='C'> 749If true, enables periodic transmission of messages for nowait stream services. 750 </loctext> 751 </description> 752 <cardinality min='1' max='1' /> 753 </prop_pattern> 754 <prop_pattern name='tcp_trace' type='boolean' 755 required='false'> 756 <description> 757 <loctext xml:lang='C'> 758If true, enables logging of the service name, client IP address, and TCP port number for nowait services using syslog. 759 </loctext> 760 </description> 761 <cardinality min='1' max='1' /> 762 </prop_pattern> 763 <prop_pattern name='tcp_wrappers' type='boolean' 764 required='false'> 765 <description> 766 <loctext xml:lang='C'> 767If true, enables TCP wrappers for nowait stream services. 768 </loctext> 769 </description> 770 <cardinality min='1' max='1' /> 771 </prop_pattern> 772 <prop_pattern name='wait' type='boolean' 773 required='false'> 774 <description> 775 <loctext xml:lang='C'> 776If 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. 777 </loctext> 778 </description> 779 <cardinality min='1' max='1' /> 780 </prop_pattern> 781 </pg_pattern> 782 783 <pg_pattern type='method' target='delegate' required='false'> 784 <description> 785 <loctext xml:lang='C'> 786A 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. 787 </loctext> 788 </description> 789 790 <prop_pattern name='exec' type='astring' 791 required='true'> 792 <common_name> 793 <loctext xml:lang='C'> 794method executable 795 </loctext> 796 </common_name> 797 <description> 798 <loctext xml:lang='C'> 799The method executable may be a script, program, or keyword. 800 </loctext> 801 </description> 802 <cardinality min='1' max='1' /> 803 <values> 804 <value name=':true'> 805 <description> 806 <loctext xml:lang='C'> 807Always 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. 808 </loctext> 809 </description> 810 </value> 811 <value name=':kill [-signal]'> 812 <description> 813 <loctext xml:lang='C'> 814Sends 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. 815 816 </loctext> 817 </description> 818 </value> 819 <value name=':kill_process [-signal]'> 820 <description> 821 <loctext xml:lang='C'> 822For 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. 823 </loctext> 824 </description> 825 </value> 826 </values> 827 <choices> 828 <include_values type='values' /> 829 </choices> 830 </prop_pattern> 831 832 <prop_pattern name='type' type='astring' 833 required='true'> 834 <description> 835 <loctext xml:lang='C'> 836A method may only be of type method. 837 </loctext> 838 </description> 839 <cardinality min='1' max='1' /> 840 <constraints> 841 <value name='method' /> 842 </constraints> 843 </prop_pattern> 844 845 <prop_pattern name='timeout_seconds' type='count' 846 required='true'> 847 <description> 848 <loctext xml:lang='C'> 849Number of seconds before the method is considered unresponsive. After the method timeout expires, the method will be killed. 850 </loctext> 851 </description> 852 <cardinality min='1' max='1' /> 853 <values> 854 <value name='0'> 855 <common_name> 856 <loctext xml:lang='C'> 857infinite 858 </loctext> 859 </common_name> 860 <description> 861 <loctext xml:lang='C'> 862This method will never time out. 863 </loctext> 864 </description> 865 </value> 866 <value name='-1'> 867 <common_name> 868 <loctext xml:lang='C'> 869infinite (legacy) 870 </loctext> 871 </common_name> 872 <description> 873 <loctext xml:lang='C'> 874This method will never time out. 0 is the preferred value. 875 </loctext> 876 </description> 877 </value> 878 </values> 879 </prop_pattern> 880 881 <!-- method_context direct properties --> 882 <prop_pattern name='working_directory' type='astring' 883 required='false'> 884 <description> 885 <loctext xml:lang='C'> 886The 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. 887 888 </loctext> 889 </description> 890 <cardinality min='1' max='1' /> 891 </prop_pattern> 892 <prop_pattern name='project' type='astring' 893 required='false'> 894 <description> 895 <loctext xml:lang='C'> 896The 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. 897 </loctext> 898 </description> 899 <cardinality min='1' max='1' /> 900 </prop_pattern> 901 <prop_pattern name='resource_pool' type='astring' 902 required='false'> 903 <common_name> 904 <loctext xml:lang='C'> 905method context resource pool 906 </loctext> 907 </common_name> 908 <description> 909 <loctext xml:lang='C'> 910The resource pool name on which to launch the method. :default can be used 911as a token to indicate the pool specified in the project(4) entry given in 912the project attribute. 913 </loctext> 914 </description> 915 <cardinality min='1' max='1' /> 916 </prop_pattern> 917 918 <!-- method_credential properties --> 919 <prop_pattern name='user' type='astring' 920 required='false'> 921 <common_name> 922 <loctext xml:lang='C'> 923method credential user 924 </loctext> 925 </common_name> 926 <description> 927 <loctext xml:lang='C'> 928The user ID in numeric or text form. 929 </loctext> 930 </description> 931 <cardinality min='1' max='1' /> 932 </prop_pattern> 933 <prop_pattern name='group' type='astring' 934 required='false'> 935 <common_name> 936 <loctext xml:lang='C'> 937method credential group 938 </loctext> 939 </common_name> 940 <description> 941 <loctext xml:lang='C'> 942The group ID in numeric or text form. 943 </loctext> 944 </description> 945 <cardinality min='1' max='1' /> 946 </prop_pattern> 947 <prop_pattern name='supp_groups' type='astring' 948 required='false'> 949 <common_name> 950 <loctext xml:lang='C'> 951method credential supplemental groups 952 </loctext> 953 </common_name> 954 <description> 955 <loctext xml:lang='C'> 956An optional string that specifies the supplemental group memberships by ID, 957in numeric or text form. 958 </loctext> 959 </description> 960 <cardinality min='1' max='1' /> 961 <internal_separators>,</internal_separators> 962 </prop_pattern> 963 <prop_pattern name='privileges' type='astring' 964 required='false'> 965 <common_name> 966 <loctext xml:lang='C'> 967method credential privileges 968 </loctext> 969 </common_name> 970 <description> 971 <loctext xml:lang='C'> 972An optional string specifying the privilege set as defined in privileges(5). 973 </loctext> 974 </description> 975 <cardinality min='1' max='1' /> 976 <internal_separators>,</internal_separators> 977 </prop_pattern> 978 <prop_pattern name='limit_privileges' type='astring' 979 required='false'> 980 <common_name> 981 <loctext xml:lang='C'> 982method credential limit privilege set 983 </loctext> 984 </common_name> 985 <description> 986 <loctext xml:lang='C'> 987An optional string specifying the limit privilege set as defined in 988privileges(5). 989 </loctext> 990 </description> 991 <cardinality min='1' max='1' /> 992 <internal_separators>,</internal_separators> 993 </prop_pattern> 994 995 <!-- method_profile properties --> 996 <prop_pattern name='use_profile' type='boolean' 997 required='false'> 998 <description> 999 <loctext xml:lang='C'> 1000A boolean that specifies whether the profile should be used instead of the 1001user, group, privileges, and limit_privileges properties. 1002 </loctext> 1003 </description> 1004 <cardinality min='1' max='1' /> 1005 </prop_pattern> 1006 <prop_pattern name='profile' type='astring' 1007 required='false'> 1008 <common_name> 1009 <loctext xml:lang='C'> 1010method profile RBAC profile specification 1011 </loctext> 1012 </common_name> 1013 <description> 1014 <loctext xml:lang='C'> 1015The name of an RBAC (role-based access control) profile which, along with the 1016method executable, identifies an entry in exec_attr(4). 1017 </loctext> 1018 </description> 1019 <cardinality min='1' max='1' /> 1020 </prop_pattern> 1021 1022 <!-- method_environment properties --> 1023 <prop_pattern name='environment' type='astring' 1024 required='false'> 1025 <common_name> 1026 <loctext xml:lang='C'> 1027method environment variables 1028 </loctext> 1029 </common_name> 1030 <description> 1031 <loctext xml:lang='C'> 1032Environment variables to insert into the environment of the method, in the 1033form of a number of NAME=value strings. 1034 </loctext> 1035 </description> 1036 </prop_pattern> 1037 </pg_pattern> 1038 1039 <pg_pattern name='restarter' type='framework' 1040 target='delegate' required='false'> 1041 <description> 1042 <loctext xml:lang='C'> 1043Communicate restarter-set status of the service. 1044 </loctext> 1045 </description> 1046 1047 <prop_pattern name='auxiliary_state' type='astring' 1048 required='false'> 1049 <description> 1050 <loctext xml:lang='C'> 1051Additional information about why a service is in the current state. Unused by inetd. 1052 </loctext> 1053 </description> 1054 <visibility value='hidden' /> 1055 <cardinality min='1' max='1' /> 1056 </prop_pattern> 1057 <prop_pattern name='auxiliary_fmri' type='astring' 1058 required='false'> 1059 <description> 1060 <loctext xml:lang='C'> 1061Auxiliary fmri information for service state diagnosis. 1062 </loctext> 1063 </description> 1064 <visibility value='hidden' /> 1065 </prop_pattern> 1066 <prop_pattern name='state_timestamp' type='time' 1067 required='false'> 1068 <description> 1069 <loctext xml:lang='C'> 1070Time the current state was reached. 1071 </loctext> 1072 </description> 1073 <visibility value='readonly' /> 1074 <cardinality min='1' max='1' /> 1075 </prop_pattern> 1076 <prop_pattern name='state' type='astring' 1077 required='false'> 1078 <description> 1079 <loctext xml:lang='C'> 1080The current state of this service instance. 1081 </loctext> 1082 </description> 1083 <visibility value='readonly' /> 1084 <cardinality min='1' max='1' /> 1085 <constraints> 1086 <value name='online'> 1087 <description> 1088 <loctext xml:lang='C'> 1089The instance is handling new network requests and might have existing connections alive. 1090 </loctext> 1091 </description> 1092 </value> 1093 <value name='offline'> 1094 <description> 1095 <loctext xml:lang='C'> 1096Connections 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. 1097 </loctext> 1098 </description> 1099 </value> 1100 <value name='uninitialized'> 1101 <description> 1102 <loctext xml:lang='C'> 1103inetd has yet to process this instance, or the inetd service has not yet been started by svc.startd. 1104 </loctext> 1105 </description> 1106 </value> 1107 <value name='degraded'> 1108 <description> 1109 <loctext xml:lang='C'> 1110The 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. 1111 </loctext> 1112 </description> 1113 </value> 1114 <value name='disabled'> 1115 <description> 1116 <loctext xml:lang='C'> 1117The instance is disabled, is not accepting new connections, and has none active. 1118 </loctext> 1119 </description> 1120 </value> 1121 <value name='maintenance'> 1122 <description> 1123 <loctext xml:lang='C'> 1124The instance is either malfunctioning and needs administrator attention, or an administrator has requested the instance enter this state. 1125 </loctext> 1126 </description> 1127 </value> 1128 </constraints> 1129 </prop_pattern> 1130 <prop_pattern name='next_state' type='astring' 1131 required='false'> 1132 <description> 1133 <loctext xml:lang='C'> 1134The next expected state of this instance. 1135 </loctext> 1136 </description> 1137 <visibility value='readonly' /> 1138 <cardinality min='1' max='1' /> 1139 <constraints> 1140 <value name='online'> 1141 <description> 1142 <loctext xml:lang='C'> 1143The 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. 1144 </loctext> 1145 </description> 1146 </value> 1147 <value name='offline'> 1148 <description> 1149 <loctext xml:lang='C'> 1150The 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. 1151 </loctext> 1152 </description> 1153 </value> 1154 <value name='degraded'> 1155 <description> 1156 <loctext xml:lang='C'> 1157The 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. 1158 </loctext> 1159 </description> 1160 </value> 1161 <value name='disabled'> 1162 <description> 1163 <loctext xml:lang='C'> 1164The instance will be disabled, will not be accepting new connections, and will have none active. 1165 </loctext> 1166 </description> 1167 </value> 1168 <value name='maintenance'> 1169 <description> 1170 <loctext xml:lang='C'> 1171The instance will be in maintenance, and administrative action will be required to restore the instance to offline and subsequent states. 1172 </loctext> 1173 </description> 1174 </value> 1175 </constraints> 1176 </prop_pattern> 1177 </pg_pattern> 1178 </template> 1179</service> 1180 1181</service_bundle> 1182