<def-group>

  <definition class="compliance" id="sshd_not_required_or_unset" version="1">
    <metadata>
      <title>SSHD is not required to be installed or requirement not set</title>
      <affected family="unix">
        <platform>multi_platform_all</platform>
      </affected>
      <description>If SSHD is not required, we check it is not installed. If SSH requirement is unset, we are good.</description>
    </metadata>
    <criteria comment="SSH not required or not set" operator="OR">
      <criterion test_ref="test_sshd_not_required" />
      <extend_definition comment="SSH requirement is unset"
      definition_ref="sshd_requirement_unset" />
    </criteria>
  </definition>

  <ind:variable_test id="test_sshd_not_required"
  comment="Verify if Profile set Value sshd_required as not required"
  check="all" check_existence="at_least_one_exists" version="1">
    <ind:object object_ref="object_sshd_not_required" />
    <ind:state state_ref="state_sshd_not_required" />
  </ind:variable_test>
  <ind:variable_object id="object_sshd_not_required" version="1">
    <ind:var_ref>sshd_required</ind:var_ref>
  </ind:variable_object>
  <ind:variable_state id="state_sshd_not_required" version="1">
      <ind:value operation="equals" datatype="int">1</ind:value>
  </ind:variable_state>

  <external_variable comment="May be defined by Profiles to explicitly say if sshd is required or not" datatype="int"
  id="sshd_required" version="1" />
</def-group>

