Skip to content
  1. Jun 03, 2020
    • Thomas Woerner's avatar
      library/ipaserver_test: Revert to IPA upstream code for pkcs12 files · 578d08c7
      Thomas Woerner authored
      The function load_pkcs12 should not be skipped to verify the given
      certificates. After the certificates have been verified and the temporary
      certificate copies have been generated, these files are copied to
      /etc/ipa/.tmp_pkcs12_* as the temporary files will simply be removed as
      soon as the file descriptors have been closed.
      
      Additionally the [http,dirsrv,pkinit]_pkcs12_info is recreated to point to
      the copied temporary files.
      
      With this revertion the need to change other modules has been rediced to
      the minium, the IPA upstream code can simply be used.
      
      The passed back certificates [http,dirsrv,pkinit]_ca_cert are encoded using
      encode_certificate.
      578d08c7
    • Thomas Woerner's avatar
      ansible_ipa_server: New functions encode_certificate and decode_certificate · 2408a9b7
      Thomas Woerner authored
      The encode_certificate and decode_certificate are needed to encode and
      decode a certificate in the way that it can be passed back from a module
      and imported back into a usable certificate in another module.
      
      For newer IPA versions the certificate is normally an IPACertificate for
      older IPA versions it is simply a bytes array. But in both cases it needs
      to be converted not to break Ansible.
      2408a9b7
    • Thomas Woerner's avatar
      ca-less: No pre-generated certificates, generate them for each run · 0372fec0
      Thomas Woerner authored
      The certificates should not be pre-generated as they will expire at some
      point. Simply generate them for each test run using the domain used in the
      test. Copy the certificate files each time into the test server after
      removing the old ones.
      0372fec0
    • Samuel Veloso's avatar
      07d7e2fa
    • Samuel Veloso's avatar
      Install ipaserver without ca · 4221213f
      Samuel Veloso authored
      4221213f
  2. May 27, 2020
  3. May 20, 2020
  4. May 13, 2020
    • Rafael Guterres Jeffman's avatar
      Fixes behavior of ipavault when no user, service or shared is given. · c236fe3d
      Rafael Guterres Jeffman authored
      IPA CLI allows the creation of vaults without specifying user, service or a
      shared vault, defaulting to create a user vault for the `admin` user. The
      vault module, required that one of user, service or shared was explicitly
      provided, and this patch makes the module behave like the CLI command.
      
      Tests were added to reflect this change.
      c236fe3d
  5. May 12, 2020
  6. May 11, 2020
    • Thomas Woerner's avatar
      ipagroup: Add lacking service check for group_remove_member with old IPA · 60c8be19
      Thomas Woerner authored
      group_remove_member is not able to handle services in old IPA releases.
      In one case the check was missing and the removal of a user from a group
      failed because of this with an older IPA version. The missing check has
      been added.
      
      Fixes #257 (ipagroup fails to remove user from group ipausers)
      60c8be19
    • Thomas Woerner's avatar
      tests/host/test_hosts_principal.yml: Remove dudplicate hosts tag · 1f1762bd
      Thomas Woerner authored
      The hosts tag is used twice in some tests. This leads to a warning in
      Ansible. The commit removes the duplicate tags.
      1f1762bd
    • Thomas Woerner's avatar
      ipahost: Use dnsrecord_show instead of dnsrecord_find command · 2b084e6d
      Thomas Woerner authored
      The host_find command had to be replaced to get the "has_password" and
      "has_keytab" return values. This commit replaces the dnsrecord_find
      with the dnsrecord_show command to have consistent find functions in
      the module.
      2b084e6d
    • Thomas Woerner's avatar
      ipahost: Honour update_password also for random · b3d5b32e
      Thomas Woerner authored
      If random is enabled and update_password is limited to "create_only", the
      random password may only be changed if the host does not exist yet.
      
      Additionally the generation of the random password will fail, if the host
      is already enrolled if update_password is "always" (default value). An
      error will be reported early in this case now.
      
      The command host_show is now used instead of host_find, as `has_password`
      and `has_keytab` are only returned by host_show, but not by host_find. The
      find_host function has been adapated for this change.
      
      Resolves: #253 (ipahost is not idempotent)
      b3d5b32e
  7. May 07, 2020
  8. May 06, 2020
    • Thomas Woerner's avatar
      ipauser: Use encode_certificate for certificates in find_user result · 791c4703
      Thomas Woerner authored
      The find_user function was not using encode_certificate for certificates
      that are stored in the user record. This could lead to some issues with
      older ipa releases and Python 2.
      791c4703
    • Thomas Woerner's avatar
      Do not remove member attributes while updating others · 457050c6
      Thomas Woerner authored
      Because of a missing check member attributes (for use with action: member)
      are cleared when a non-member attribute is changed. The fix simply adds a
      check for None (parameter not set) to gen_add_del_lists in
      ansible_freeipa_module to make sure that the parameter is only changed if
      it should be changed.
      
      All places where the add and removal lists have been generated manually
      have been changed to also use gen_add_del_lists.
      
      Resolves: #252 (The "Manager" attribute is removed when updating any user
                      attribute)
      457050c6
  9. May 04, 2020
  10. Apr 30, 2020
  11. Apr 29, 2020
  12. Apr 26, 2020
  13. Apr 22, 2020
  14. Apr 16, 2020
    • Thomas Woerner's avatar
      ansible_freeipa_module: Set KRB5CCNAME for api_connect (non root) · 871cce52
      Thomas Woerner authored
      In the case that the admin password has been set and become was not set
      the call to backend.connect in api_connect failed. The solution is simply
      to set os.environ["KRB5CCNAME"] in temp_kinit after kinit_password has
      been called using the temporary ccache. os.environ["KRB5CCNAME"] is not
      used automatically by api.Backend.[ldap2,rpcclient].connect. Afterwards
      os.environ["KRB5CCNAME"] is unset in temp_kdestroy if ccache_name is not
      None.
      
      Fixes: #249 (Kerberos errors while using the modules with a non-sudoer user)
      871cce52
  15. Apr 09, 2020