<?xml version='1.0'?>
<!DOCTYPE service_bundle SYSTEM '/usr/share/lib/xml/dtd/service_bundle.dtd.1'>
<!--
    Copyright (c) 2006 Chad Mynhier.

    Permission to use, copy, modify, and distribute this software for any
    purpose with or without fee is hereby granted, provided that the above
    copyright notice and this permission notice appear in all copies.

    THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
    WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
    MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
    ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
    WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
    ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
    OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-->

<service_bundle type='manifest' name='OpenSSH server'>

    <service
        name='site/openssh'
        type='service'
        version='1'>

        <create_default_instance enabled='false'/>

        <single_instance/>

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

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

        <dependent
            name='multi-user-server'
            restart_on='none'
            grouping='optional_all'>
            <service_fmri value='svc:/milestone/multi-user-server'/>
        </dependent>

        <exec_method
            name='start'
            type='method'
            exec='/lib/svc/method/site/opensshd start'
            timeout_seconds='60'>
            <method_context/>
        </exec_method>

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

        <property_group
            name='startd'
            type='framework'>
            <propval name='ignore_error' type='astring' value='core,signal'/>
        </property_group>

        <template>
            <common_name>
                <loctext xml:lang='C'>OpenSSH server</loctext>
            </common_name>
            <documentation>
                <manpage
                    title='sshd'
                    section='1M'
                    manpath='@prefix@/man'/>
            </documentation>
        </template>
    </service>
</service_bundle>
