<def-group>
  <definition class="compliance" id="accounts_password_pam_pwquality" version="1">
    <metadata>
      <title>Check pam_pwquality Existence in system-auth</title>
      <affected family="unix">
        <platform>multi_platform_all</platform>
      </affected>
      <description>Check that pam_pwquality.so exists in system-auth</description>
    </metadata>
    <criteria>
      <criterion comment="Conditions for pam_pwquality are satisfied"
      test_ref="test_password_pam_pwquality" />
    </criteria>
  </definition>

  <ind:textfilecontent54_test check="all" comment="check the configuration of /etc/pam.d/system-auth" id="test_password_pam_pwquality" version="1">
    <ind:object object_ref="obj_password_pam_pwquality" />
  </ind:textfilecontent54_test>

  <ind:textfilecontent54_object id="obj_password_pam_pwquality" version="1">
    <ind:filepath var_ref="var_pam_pwquality_config_path" var_check="at least one" />
    <ind:pattern operation="pattern match">^\s*password\s+(?:(?:required)|(?:requisite))\s+pam_pwquality\.so.*$</ind:pattern>
    <ind:instance datatype="int">1</ind:instance>
  </ind:textfilecontent54_object>

  <constant_variable id="var_pam_pwquality_config_path" version="1" datatype="string" comment="correct path for pam_pwquality.so check">
    {{% if 'ubuntu' in product or 'debian' in product or product in ['sle15', 'sle16'] %}}
    <value>/etc/pam.d/common-password</value>
    {{% else %}}
    <value>/etc/pam.d/system-auth</value>
    {{% endif %}}
  </constant_variable>

</def-group>
