diff --git a/.gitignore b/.gitignore index eb27ffd..b6c4220 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -SOURCES/freeipa-4.8.7.tar.gz +SOURCES/freeipa-4.9.0rc3.tar.gz diff --git a/.ipa.metadata b/.ipa.metadata index f2e66c8..359554f 100644 --- a/.ipa.metadata +++ b/.ipa.metadata @@ -1 +1 @@ -0099d799a77a757eeb4a95a69a38bdec24e45026 SOURCES/freeipa-4.8.7.tar.gz +71c0691597296f321e093d9acb36677c26593a1f SOURCES/freeipa-4.9.0rc3.tar.gz diff --git a/SOURCES/0001-WebUI-Fix-IPA-Error-3007-RequirmentError-while-addin_rhbz#1757045.patch b/SOURCES/0001-WebUI-Fix-IPA-Error-3007-RequirmentError-while-addin_rhbz#1757045.patch deleted file mode 100644 index 34580fe..0000000 --- a/SOURCES/0001-WebUI-Fix-IPA-Error-3007-RequirmentError-while-addin_rhbz#1757045.patch +++ /dev/null @@ -1,409 +0,0 @@ -From c2ba333b9681d008d9c528a79dbdd76ce11a3ecd Mon Sep 17 00:00:00 2001 -From: Serhii Tsymbaliuk <stsymbal@redhat.com> -Date: Thu, 28 May 2020 08:47:49 +0200 -Subject: [PATCH 01/22] WebUI: Fix "IPA Error 3007: RequirmentError" while - adding idoverrideuser association - -Add builder for association adder dialog which allows to override behavior of the component. -Replace default implementation with a custom one for idoverrideuser. -Replace text filter with 'ID view' select box in the idoverrideuser dialog. - -Ticket: https://pagure.io/freeipa/issue/8335 - -Signed-off-by: Serhii Tsymbaliuk <stsymbal@redhat.com> -Reviewed-By: Alexander Bokovoy <abokovoy@redhat.com> ---- - install/ui/src/freeipa/association.js | 13 ++++- - install/ui/src/freeipa/dialog.js | 73 ++++++++++++++++----------- - install/ui/src/freeipa/group.js | 14 +++++ - install/ui/src/freeipa/idviews.js | 58 +++++++++++++++++++++ - ipaserver/plugins/internal.py | 6 +++ - 5 files changed, 133 insertions(+), 31 deletions(-) - -diff --git a/install/ui/src/freeipa/association.js b/install/ui/src/freeipa/association.js -index f10ccb2a5..b083a79f9 100644 ---- a/install/ui/src/freeipa/association.js -+++ b/install/ui/src/freeipa/association.js -@@ -25,6 +25,7 @@ - define([ - 'dojo/_base/lang', - 'dojo/Deferred', -+ './builder', - './metadata', - './ipa', - './jquery', -@@ -38,7 +39,7 @@ define([ - './facet', - './search', - './dialog'], -- function(lang, Deferred, metadata_provider, IPA, $, metadata, -+ function(lang, Deferred, builder, metadata_provider, IPA, $, metadata, - navigation, phases, reg, rpc, su, text) { - - /** -@@ -1209,7 +1210,8 @@ exp.association_facet = IPA.association_facet = function (spec, no_init) { - - var pkeys = that.data.result.result[that.get_attribute_name()]; - -- var dialog = IPA.association_adder_dialog({ -+ var dialog = builder.build('association_adder_dialog', { -+ $type: that.other_entity.name, - title: title, - entity: that.entity, - pkey: pkey, -@@ -1675,6 +1677,13 @@ IPA.attr_read_only_evaluator = function(spec) { - return that; - }; - -+// Create a registry for adder dialogs where key is name of 'other entity'. -+// It allows to override dialogs for some specific cases of association -+// creation. -+var dialog_builder = builder.get('association_adder_dialog'); -+dialog_builder.factory = IPA.association_adder_dialog; -+reg.set('association_adder_dialog', dialog_builder.registry); -+ - phases.on('registration', function() { - var w = reg.widget; - var f = reg.field; -diff --git a/install/ui/src/freeipa/dialog.js b/install/ui/src/freeipa/dialog.js -index c153120df..d67d63b6d 100644 ---- a/install/ui/src/freeipa/dialog.js -+++ b/install/ui/src/freeipa/dialog.js -@@ -919,35 +919,7 @@ IPA.adder_dialog = function(spec) { - 'class': 'input-group col-md-12 adder-dialog-top' - }).appendTo(container); - -- var filter_placeholder = text.get('@i18n:association.filter_placeholder'); -- filter_placeholder = filter_placeholder.replace('${other_entity}', -- that.other_entity.metadata.label); -- -- that.filter_field = $('<input/>', { -- type: 'text', -- name: 'filter', -- 'class': 'form-control', -- 'placeholder': filter_placeholder, -- keyup: function(event) { -- if (event.keyCode === keys.ENTER) { -- that.search(); -- return false; -- } -- } -- }).appendTo(input_group); -- -- var input_group_btn = $('<div/>', { -- 'class': 'input-group-btn' -- }).appendTo(input_group); -- -- that.find_button = IPA.button({ -- name: 'find', -- label: '@i18n:buttons.filter', -- click: function() { -- that.search(); -- return false; -- } -- }).appendTo(input_group_btn); -+ that.filter_field = that.get_filter_field(input_group); - - var row = $('<div/>', { 'class': 'row adder-dialog-main'}).appendTo(container); - // -@@ -1132,6 +1104,49 @@ IPA.adder_dialog = function(spec) { - return that.filter_field.val(); - }; - -+ /** -+ * Return field for filtering available items -+ * -+ * Default implementation returns text input + "Filter" button. -+ * It can be overridden. -+ * -+ * @param {HTMLElement} input_group - container for a filter field -+ * @return {HTMLElement} -+ */ -+ that.get_filter_field = function(input_group) { -+ var filter_placeholder = text.get( -+ '@i18n:association.filter_placeholder' -+ ).replace('${other_entity}', that.other_entity.metadata.label); -+ -+ var filter_field = $('<input/>', { -+ type: 'text', -+ name: 'filter', -+ 'class': 'form-control', -+ 'placeholder': filter_placeholder, -+ keyup: function(event) { -+ if (event.keyCode === keys.ENTER) { -+ that.search(); -+ return false; -+ } -+ } -+ }).appendTo(input_group); -+ -+ var input_group_btn = $('<div/>', { -+ 'class': 'input-group-btn' -+ }).appendTo(input_group); -+ -+ that.find_button = IPA.button({ -+ name: 'find', -+ label: '@i18n:buttons.filter', -+ click: function() { -+ that.search(); -+ return false; -+ } -+ }).appendTo(input_group_btn); -+ -+ return filter_field; -+ }; -+ - /** - * Clear rows in available table - */ -diff --git a/install/ui/src/freeipa/group.js b/install/ui/src/freeipa/group.js -index e46d8c7e3..2984bd4b2 100644 ---- a/install/ui/src/freeipa/group.js -+++ b/install/ui/src/freeipa/group.js -@@ -205,6 +205,20 @@ return { - add_title: '@i18n:objects.group.add_into_sudo', - remove_method: 'remove_user', - remove_title: '@i18n:objects.group.remove_from_sudo' -+ }, -+ { -+ $type: 'association', -+ name: 'member_idoverrideuser', -+ associator: IPA.serial_associator, -+ add_title: '@i18n:objects.group.add_idoverride_user', -+ remove_title: '@i18n:objects.group.remove_idoverride_users', -+ columns: [ -+ { -+ name: 'ipaanchoruuid', -+ label: '@i18n:objects.idoverrideuser.anchor_label', -+ link: false -+ } -+ ] - } - ], - standard_association_facets: true, -diff --git a/install/ui/src/freeipa/idviews.js b/install/ui/src/freeipa/idviews.js -index 35dc998c8..a4fca6205 100644 ---- a/install/ui/src/freeipa/idviews.js -+++ b/install/ui/src/freeipa/idviews.js -@@ -966,6 +966,58 @@ idviews.unapply_action = function(spec) { - return that; - }; - -+idviews.idoverrideuser_adder_dialog = function(spec) { -+ -+ spec = spec || {}; -+ -+ var that = IPA.association_adder_dialog(spec); -+ -+ that.base_search = that.search; -+ -+ that.search = function() { -+ // Search for users only in case a ID view is selected -+ if (that.get_filter()) { -+ that.base_search(); -+ } -+ }; -+ -+ /** -+ * Replace default text filter with a select box for filtering by ID view -+ */ -+ that.get_filter_field = function(input_group) { -+ -+ var filter_field = $('<select/>', { -+ name: 'filter', -+ 'class': 'form-control', -+ change: function(event) { -+ that.search(); -+ } -+ }).appendTo(input_group); -+ -+ rpc.command({ -+ entity: 'idview', -+ method: 'find', -+ on_success: function(data) { -+ var results = data.result; -+ -+ for (var i=0; i<results.count; i++) { -+ var result = results.result[i]; -+ $('<option/>', { -+ text: result.cn[0], -+ value: result.cn[0] -+ }).appendTo(filter_field); -+ } -+ -+ that.search(); -+ } -+ }).execute(); -+ -+ return filter_field; -+ }; -+ -+ return that; -+}; -+ - /** - * ID View entity specification object - * @member idviews -@@ -993,6 +1045,7 @@ idviews.register = function() { - var f = reg.facet; - var a = reg.action; - var w = reg.widget; -+ var ad = reg.association_adder_dialog; - - e.register({type: 'idview', spec: idviews.spec}); - e.register({ -@@ -1012,6 +1065,11 @@ idviews.register = function() { - - w.register('idviews_certs', idviews.idviews_certs_widget); - w.register('cert_textarea', idviews.cert_textarea_widget); -+ -+ ad.register({ -+ type: 'idoverrideuser', -+ factory: idviews.idoverrideuser_adder_dialog -+ }); - }; - - phases.on('registration', idviews.register); -diff --git a/ipaserver/plugins/internal.py b/ipaserver/plugins/internal.py -index 5f2b1fdc2..7622e65dc 100644 ---- a/ipaserver/plugins/internal.py -+++ b/ipaserver/plugins/internal.py -@@ -835,6 +835,9 @@ class i18n_messages(Command): - "Remove users from member managers for user group " - "'${primary_key}'" - ), -+ "add_idoverride_user": _( -+ "Add user ID override into user group '${primary_key}'" -+ ), - "details": _("Group Settings"), - "external": _("External"), - "groups": _("Groups"), -@@ -868,6 +871,9 @@ class i18n_messages(Command): - "remove_users": _( - "Remove users from user group '${primary_key}'" - ), -+ "remove_idoverride_users": _( -+ "Remove user ID overrides from user group '${primary_key}'" -+ ), - "type": _("Group Type"), - "user_groups": _("User Groups"), - }, --- -2.26.2 - -From f6c460aee8542d4d81cd9970d71051c240156973 Mon Sep 17 00:00:00 2001 -From: Serhii Tsymbaliuk <stsymbal@redhat.com> -Date: Thu, 16 Jul 2020 18:52:24 +0200 -Subject: [PATCH] WebUI: Fix error "unknown command - 'idoverrideuser_add_member'" - -There was wrong IPA.associator class used for 'Groups' -> 'User ID overrides' association, -as a result a wrong command was sent to the server. - -Ticket: https://pagure.io/freeipa/issue/8416 - -Signed-off-by: Serhii Tsymbaliuk <stsymbal@redhat.com> -Reviewed-By: Petr Vobornik <pvoborni@redhat.com> -Reviewed-By: Alexander Bokovoy <abokovoy@redhat.com> ---- - install/ui/src/freeipa/group.js | 1 - - 1 file changed, 1 deletion(-) - -diff --git a/install/ui/src/freeipa/group.js b/install/ui/src/freeipa/group.js -index 2984bd4b2..61c19a82f 100644 ---- a/install/ui/src/freeipa/group.js -+++ b/install/ui/src/freeipa/group.js -@@ -209,7 +209,6 @@ return { - { - $type: 'association', - name: 'member_idoverrideuser', -- associator: IPA.serial_associator, - add_title: '@i18n:objects.group.add_idoverride_user', - remove_title: '@i18n:objects.group.remove_idoverride_users', - columns: [ --- -2.26.2 - -From e35739b7e9f6bb016b37abbd92bdaee71a59a288 Mon Sep 17 00:00:00 2001 -From: Serhii Tsymbaliuk <stsymbal@redhat.com> -Date: Wed, 29 Jul 2020 09:41:36 +0200 -Subject: [PATCH] WebUI tests: Add test case to cover user ID override feature - -The test case includes adding an user ID override to Default Trust View -and adding the ID override to some IPA group. - -Ticket: https://pagure.io/freeipa/issue/8416 - -Signed-off-by: Serhii Tsymbaliuk <stsymbal@redhat.com> -Reviewed-By: Petr Vobornik <pvoborni@redhat.com> -Reviewed-By: Alexander Bokovoy <abokovoy@redhat.com> ---- - ipatests/test_webui/test_trust.py | 41 +++++++++++++++++++++++++++++++ - 1 file changed, 41 insertions(+) - -diff --git a/ipatests/test_webui/test_trust.py b/ipatests/test_webui/test_trust.py -index c04c2fcd8..605f8a2a7 100644 ---- a/ipatests/test_webui/test_trust.py -+++ b/ipatests/test_webui/test_trust.py -@@ -21,6 +21,8 @@ - Trust tests - """ - -+import ipatests.test_webui.data_group as group -+import ipatests.test_webui.data_idviews as idview - from ipatests.test_webui.ui_driver import UI_driver - from ipatests.test_webui.ui_driver import screenshot - from ipatests.test_webui.task_range import range_tasks -@@ -29,6 +31,8 @@ import pytest - ENTITY = 'trust' - CONFIG_ENTITY = 'trustconfig' - -+DEFAULT_TRUST_VIEW = 'Default Trust View' -+ - CONFIG_DATA = { - 'mod': [ - ['combobox', 'ipantfallbackprimarygroup', 'admins'], -@@ -164,3 +168,40 @@ class test_trust(trust_tasks): - - self.mod_record(CONFIG_ENTITY, CONFIG_DATA) - self.mod_record(CONFIG_ENTITY, CONFIG_DATA2) -+ -+ @screenshot -+ def test_group_member_idoverrideuser(self): -+ -+ self.init_app() -+ -+ # Create new trust -+ data = self.get_data() -+ self.add_record(ENTITY, data) -+ -+ # Create an user ID override -+ ad_domain = self.config.get('ad_domain') -+ ad_admin = self.config.get('ad_admin') -+ idoverrideuser_pkey = '{}@{}'.format(ad_admin, ad_domain).lower() -+ -+ self.navigate_to_record(DEFAULT_TRUST_VIEW, entity=idview.ENTITY) -+ self.add_record(idview.ENTITY, { -+ 'pkey': idoverrideuser_pkey, -+ 'add': [ -+ ('textbox', 'ipaanchoruuid_default', idoverrideuser_pkey), -+ ], -+ }, facet='idoverrideuser') -+ -+ # Create new group and add the user ID override there -+ self.navigate_to_entity(group.ENTITY) -+ self.add_record(group.ENTITY, group.DATA) -+ self.navigate_to_record(group.PKEY) -+ self.add_associations([idoverrideuser_pkey], -+ facet='member_idoverrideuser', delete=True) -+ -+ # Clean up data -+ self.navigate_to_entity(group.ENTITY) -+ self.delete_record(group.PKEY) -+ self.navigate_to_record(DEFAULT_TRUST_VIEW, entity=idview.ENTITY) -+ self.delete_record(idoverrideuser_pkey) -+ self.navigate_to_entity(ENTITY) -+ self.delete_record(ad_domain) --- -2.26.2 - diff --git a/SOURCES/0002-EPN-does-not-ship-its-default-configuration_rhbz#1847999.patch b/SOURCES/0002-EPN-does-not-ship-its-default-configuration_rhbz#1847999.patch deleted file mode 100644 index eec611f..0000000 --- a/SOURCES/0002-EPN-does-not-ship-its-default-configuration_rhbz#1847999.patch +++ /dev/null @@ -1,601 +0,0 @@ -From 77fae8c48bbe0f4499f4d8ed91b268568c64cd7c Mon Sep 17 00:00:00 2001 -From: Christian Heimes <cheimes@redhat.com> -Date: Thu, 11 Jun 2020 11:17:25 +0200 -Subject: [PATCH] Move ipa-epn systemd files and run RPM hooks - -The init/systemd directory is for server only and not part of -CLIENT_ONLY builds. - -It's necesary to run pre/post installation hooks to make systemd aware -of new files. - -Fixes: https://pagure.io/freeipa/issue/8367 -Signed-off-by: Christian Heimes <cheimes@redhat.com> -Reviewed-By: Rob Crittenden <rcritten@redhat.com> -Reviewed-By: Francois Cami <fcami@redhat.com> ---- - .gitignore | 4 +-- - client/Makefile.am | 1 + - client/share/Makefile.am | 5 ++++ - {install => client}/share/expire_msg.template | 0 - client/systemd/Makefile.am | 27 +++++++++++++++++++ - {init => client}/systemd/ipa-epn.service.in | 0 - {init => client}/systemd/ipa-epn.timer.in | 0 - configure.ac | 24 +++++++++++++++-- - freeipa.spec.in | 15 +++++++++++ - init/systemd/Makefile.am | 8 +++--- - install/share/Makefile.am | 5 ---- - server.m4 | 19 ------------- - 12 files changed, 76 insertions(+), 32 deletions(-) - rename {install => client}/share/expire_msg.template (100%) - create mode 100644 client/systemd/Makefile.am - rename {init => client}/systemd/ipa-epn.service.in (100%) - rename {init => client}/systemd/ipa-epn.timer.in (100%) - -#diff --git a/.gitignore b/.gitignore -#index 6584c3b4f..4cedb1ff2 100644 -#--- a/.gitignore -#+++ b/.gitignore -#@@ -94,8 +94,6 @@ freeipa2-dev-doc -# /init/ipa_memcached -# /init/systemd/ipa-custodia.service -# /init/systemd/ipa.service -#-/init/systemd/ipa-epn.service -#-/init/systemd/ipa-epn.timer -# /init/tmpfilesd/ipa.conf -# -# !/install/ui/doc/Makefile.in -#@@ -116,6 +114,8 @@ freeipa2-dev-doc -# /client/ipa-getkeytab -# /client/ipa-join -# /client/ipa-rmkeytab -#+/client/systemd/ipa-epn.service -#+/client/systemd/ipa-epn.timer -# -# /ipaplatform/override.py -# /ipapython/version.py -diff --git a/client/Makefile.am b/client/Makefile.am -index 858a9369e..87da87fcd 100644 ---- a/client/Makefile.am -+++ b/client/Makefile.am -@@ -95,6 +95,7 @@ SUBDIRS = \ - share \ - man \ - sysconfig \ -+ systemd \ - $(NULL) - # init - -diff --git a/client/share/Makefile.am b/client/share/Makefile.am -index 6d4a62d5e..1402a3a9d 100644 ---- a/client/share/Makefile.am -+++ b/client/share/Makefile.am -@@ -4,3 +4,8 @@ appdir = $(IPA_DATA_DIR)/client - dist_app_DATA = \ - freeipa.template \ - $(NULL) -+ -+epnconfdir = $(IPA_SYSCONF_DIR)/epn -+dist_epnconf_DATA = \ -+ expire_msg.template \ -+ $(NULL) -diff --git a/install/share/expire_msg.template b/client/share/expire_msg.template -similarity index 100% -rename from install/share/expire_msg.template -rename to client/share/expire_msg.template -diff --git a/client/systemd/Makefile.am b/client/systemd/Makefile.am -new file mode 100644 -index 000000000..1f591be83 ---- /dev/null -+++ b/client/systemd/Makefile.am -@@ -0,0 +1,27 @@ -+# This file will be processed with automake-1.7 to create Makefile.in -+# -+AUTOMAKE_OPTIONS = 1.7 -+ -+NULL = -+ -+dist_noinst_DATA = \ -+ ipa-epn.service.in \ -+ ipa-epn.timer.in \ -+ $(NULL) -+ -+systemdsystemunit_DATA = \ -+ ipa-epn.service \ -+ ipa-epn.timer \ -+ $(NULL) -+ -+CLEANFILES = $(systemdsystemunit_DATA) -+ -+%: %.in Makefile -+ sed \ -+ -e 's|@bindir[@]|$(bindir)|g' \ -+ -e 's|@IPA_SYSCONF_DIR[@]|$(IPA_SYSCONF_DIR)|g' \ -+ -e 's|@localstatedir[@]|$(localstatedir)|g' \ -+ -e 's|@sbindir[@]|$(sbindir)|g' \ -+ -e 's|@libexecdir[@]|$(libexecdir)|g' \ -+ -e 's|@sysconfenvdir[@]|$(sysconfenvdir)|g' \ -+ '$(srcdir)/$@.in' >$@ -diff --git a/init/systemd/ipa-epn.service.in b/client/systemd/ipa-epn.service.in -similarity index 100% -rename from init/systemd/ipa-epn.service.in -rename to client/systemd/ipa-epn.service.in -diff --git a/init/systemd/ipa-epn.timer.in b/client/systemd/ipa-epn.timer.in -similarity index 100% -rename from init/systemd/ipa-epn.timer.in -rename to client/systemd/ipa-epn.timer.in -diff --git a/configure.ac b/configure.ac -index 5ec529088..586b2532a 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -220,6 +220,25 @@ AC_ARG_WITH([runstatedir], - [runstatedir="/run"]) - AC_SUBST([runstatedir]) - -+dnl --------------------------------------------------------------------------- -+dnl - Check for systemd directories -+dnl --------------------------------------------------------------------------- -+ -+PKG_CHECK_EXISTS([systemd], [], [AC_MSG_ERROR([systemd not found])]) -+AC_ARG_WITH([systemdsystemunitdir], -+ AS_HELP_STRING([--with-systemdsystemunitdir=DIR], -+ [Directory for systemd service files]), -+ [systemdsystemunitdir=$with_systemdsystemunitdir], -+ [systemdsystemunitdir=$($PKG_CONFIG --define-variable=prefix='${prefix}' --variable=systemdsystemunitdir systemd)]) -+AC_SUBST([systemdsystemunitdir]) -+ -+AC_ARG_WITH([systemdtmpfilesdir], -+ AS_HELP_STRING([--with-systemdtmpfilesdir=DIR], -+ [Directory for systemd-tmpfiles configuration files]), -+ [systemdtmpfilesdir=$with_systemdtmpfilesdir], -+ [systemdtmpfilesdir=$($PKG_CONFIG --define-variable=prefix='${prefix}' --variable=tmpfilesdir systemd)]) -+AC_SUBST([systemdtmpfilesdir]) -+ - dnl --------------------------------------------------------------------------- - dnl - Server-only configuration - dnl --------------------------------------------------------------------------- -@@ -544,6 +563,7 @@ AC_CONFIG_FILES([ - client/share/Makefile - client/man/Makefile - client/sysconfig/Makefile -+ client/systemd/Makefile - contrib/completion/Makefile - contrib/Makefile - daemons/dnssec/Makefile -@@ -637,13 +657,13 @@ echo " - jslint: ${JSLINT} - LDAP libs: ${LDAP_LIBS} - OpenSSL crypto libs: ${CRYPTO_LIBS} -- KRB5 libs: ${KRB5_LIBS}" -+ KRB5 libs: ${KRB5_LIBS} -+ systemdsystemunitdir: ${systemdsystemunitdir}" - - AM_COND_IF([ENABLE_SERVER], [ - echo "\ - KRAD libs: ${KRAD_LIBS} - krb5rundir: ${krb5rundir} -- systemdsystemunitdir: ${systemdsystemunitdir} - systemdtmpfilesdir: ${systemdtmpfilesdir} - build mode: server & client" - ], [ -diff --git a/freeipa.spec.in b/freeipa.spec.in -index cec57e64e..1d8f4e6aa 100755 ---- a/freeipa.spec.in -+++ b/freeipa.spec.in -@@ -586,6 +586,10 @@ on the machine enrolled into a FreeIPA environment - %package client-epn - Summary: Tools to configure Expiring Password Notification in IPA - Group: System Environment/Base -+Requires: systemd-units -+Requires(post): systemd-units -+Requires(preun): systemd-units -+Requires(postun): systemd-units - Requires: %{name}-client = %{version}-%{release} - - %description client-epn -@@ -1003,6 +1007,17 @@ fi - # ONLY_CLIENT - %endif - -+%preun client-epn -+%systemd_preun ipa-epn.service -+%systemd_preun ipa-epn.timer -+ -+%postun client-epn -+%systemd_postun ipa-epn.service -+%systemd_postun ipa-epn.timer -+ -+%post client-epn -+%systemd_post ipa-epn.service -+%systemd_post ipa-epn.timer - - %post client - if [ $1 -gt 1 ] ; then -diff --git a/init/systemd/Makefile.am b/init/systemd/Makefile.am -index 5053dbff6..175178787 100644 ---- a/init/systemd/Makefile.am -+++ b/init/systemd/Makefile.am -@@ -2,17 +2,17 @@ - # - AUTOMAKE_OPTIONS = 1.7 - -+NULL = -+ - dist_noinst_DATA = \ - ipa-custodia.service.in \ - ipa.service.in \ -- ipa-epn.service.in \ -- ipa-epn.timer.in -+ $(NULL) - - systemdsystemunit_DATA = \ - ipa-custodia.service \ - ipa.service \ -- ipa-epn.service \ -- ipa-epn.timer -+ $(NULL) - - CLEANFILES = $(systemdsystemunit_DATA) - -diff --git a/install/share/Makefile.am b/install/share/Makefile.am -index 496e81288..e95796dfb 100644 ---- a/install/share/Makefile.am -+++ b/install/share/Makefile.am -@@ -106,8 +106,3 @@ dist_app_DATA = \ - kdcproxyconfdir = $(IPA_SYSCONF_DIR)/kdcproxy - dist_kdcproxyconf_DATA = \ - kdcproxy.conf -- --epnconfdir = $(IPA_SYSCONF_DIR)/epn --dist_epnconf_DATA = \ -- expire_msg.template \ -- $(NULL) -diff --git a/server.m4 b/server.m4 -index d35823e80..842d599d2 100644 ---- a/server.m4 -+++ b/server.m4 -@@ -153,22 +153,3 @@ dnl Check for libverto - dnl --------------------------------------------------------------------------- - - PKG_CHECK_MODULES([LIBVERTO], [libverto]) -- --dnl --------------------------------------------------------------------------- --dnl - Check for systemd directories --dnl --------------------------------------------------------------------------- -- --PKG_CHECK_EXISTS([systemd], [], [AC_MSG_ERROR([systemd not found])]) --AC_ARG_WITH([systemdsystemunitdir], -- AS_HELP_STRING([--with-systemdsystemunitdir=DIR], -- [Directory for systemd service files]), -- [systemdsystemunitdir=$with_systemdsystemunitdir], -- [systemdsystemunitdir=$($PKG_CONFIG --define-variable=prefix='${prefix}' --variable=systemdsystemunitdir systemd)]) --AC_SUBST([systemdsystemunitdir]) -- --AC_ARG_WITH([systemdtmpfilesdir], -- AS_HELP_STRING([--with-systemdtmpfilesdir=DIR], -- [Directory for systemd-tmpfiles configuration files]), -- [systemdtmpfilesdir=$with_systemdtmpfilesdir], -- [systemdtmpfilesdir=$($PKG_CONFIG --define-variable=prefix='${prefix}' --variable=tmpfilesdir systemd)]) --AC_SUBST([systemdtmpfilesdir]) --- -2.26.2 - -From 23e2935e5c5cb402dd4f6f44eaa4b013e6a8188a Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Fran=C3=A7ois=20Cami?= <fcami@redhat.com> -Date: Mon, 22 Jun 2020 16:39:02 +0200 -Subject: [PATCH] EPN: ship the configuration file. -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Ship and install /etc/ipa/epn.conf. -Minor fixes to the associated man page. - -Fixes: https://pagure.io/freeipa/issue/8374 -Signed-off-by: François Cami <fcami@redhat.com> -Reviewed-By: Alexander Bokovoy <abbra@users.noreply.github.com> -Reviewed-By: Rob Crittenden <rcritten@redhat.com> -Reviewed-By: Alexander Bokovoy <abokovoy@redhat.com> -Reviewed-By: Rob Crittenden <rcritten@redhat.com> ---- - client/man/epn.conf.5 | 5 ++-- - client/share/Makefile.am | 7 +++++- - client/share/epn.conf | 54 ++++++++++++++++++++++++++++++++++++++++ - freeipa.spec.in | 4 ++- - 4 files changed, 65 insertions(+), 5 deletions(-) - create mode 100644 client/share/epn.conf - -diff --git a/client/man/epn.conf.5 b/client/man/epn.conf.5 -index 38e99e25d..14f5dbb75 100644 ---- a/client/man/epn.conf.5 -+++ b/client/man/epn.conf.5 -@@ -71,11 +71,10 @@ Specifies the From e-mail address value in the e-mails sent. The default is - root@localhost. Bounces will be sent here. - .TP - .B smtp_delay <milliseconds> --Time to wait, in milliseconds, between each e-mail sent to try to avoid overloading the mail queue. -+Time to wait, in milliseconds, between each e-mail sent to try to avoid overloading the mail queue. The default is 0. - .TP - .B mail_from <address> --Specifies the From: e-mal address value in the e-mails sent. The default is --noreply@ipadefaultemaildomain. This value can be found by running -+Specifies the From: e-mail address value in the e-mails sent. The default is noreply@ipadefaultemaildomain. This value can be found by running - .I ipa config-show - .TP - .B notify_ttls <list of days> -diff --git a/client/share/Makefile.am b/client/share/Makefile.am -index 1402a3a9d..472242e62 100644 ---- a/client/share/Makefile.am -+++ b/client/share/Makefile.am -@@ -5,7 +5,12 @@ dist_app_DATA = \ - freeipa.template \ - $(NULL) - --epnconfdir = $(IPA_SYSCONF_DIR)/epn -+epnconfdir = $(IPA_SYSCONF_DIR) - dist_epnconf_DATA = \ -+ epn.conf \ -+ $(NULL) -+ -+epntemplatedir = $(IPA_SYSCONF_DIR)/epn -+dist_epntemplate_DATA = \ - expire_msg.template \ - $(NULL) -diff --git a/client/share/epn.conf b/client/share/epn.conf -new file mode 100644 -index 000000000..0e590dfc3 ---- /dev/null -+++ b/client/share/epn.conf -@@ -0,0 +1,54 @@ -+# Global IPA-EPN [0] configuration file. -+# For a complete explanation of each parameter, see the epn.conf(5) -+# manual page. -+# For best results, change no more than a single parameter at a time, -+# and test if ipa-epn(1) still works as intended, using --dry-run when -+# it makes sense. -+# -+# [0] https://github.com/freeipa/freeipa/blob/master/doc/designs/expiring-password-notification.md -+ -+[global] -+ -+# Specifies the SMTP server to use. -+smtp_server = localhost -+ -+# Specifies the SMTP port. -+smtp_port = 25 -+ -+# Specifies the id of the user to authenticate with the SMTP server. -+# Default None (empty value). -+# smtp_user = -+ -+# Specifies the password for the authorized user. -+# Default None (empty value). -+# smtp_password = -+ -+# pecifies the number of seconds to wait for SMTP to respond. -+smtp_timeout = 60 -+ -+# Specifies the type of secure connection to make. Options are: none, -+# starttls and ssl. -+smtp_security = none -+ -+# Specifies the From e-mail address value in the e-mails sent. Bounces will -+# be sent here. -+smtp_admin = root@localhost -+ -+# Time to wait, in milliseconds, between each e-mail sent to try to avoid -+# overloading the mail queue. -+smtp_delay = 0 -+ -+# Specifies the From: e-mail address value in the e-mails sent. -+# The default when unset is noreply@ipadefaultemaildomain. -+# This value can be found by running ipa config-show. -+# mail_from = -+ -+# The list of days before a password expiration when ipa-epn should notify -+# a user that their password will soon require a reset. -+notify_ttls = 28, 14, 7, 3, 1 -+ -+# Set the character set of the message. -+msg_charset = utf8 -+ -+# Set the message's MIME sub-content type. -+msg_subtype = plain -diff --git a/freeipa.spec.in b/freeipa.spec.in -index 5bce6f118..8cca99697 100755 ---- a/freeipa.spec.in -+++ b/freeipa.spec.in -@@ -1387,13 +1387,15 @@ fi - - %files client-epn - %doc README.md Contributors.txt -+%dir %{_sysconfdir}/ipa/epn - %license COPYING - %{_sbindir}/ipa-epn - %{_mandir}/man1/ipa-epn.1* - %{_mandir}/man5/epn.conf.5* - %attr(644,root,root) %{_unitdir}/ipa-epn.service - %attr(644,root,root) %{_unitdir}/ipa-epn.timer --%attr(644,root,root) %{_sysconfdir}/ipa/epn/expire_msg.template -+%attr(600,root,root) %config(noreplace) %{_sysconfdir}/ipa/epn.conf -+%attr(644,root,root) %config(noreplace) %{_sysconfdir}/ipa/epn/expire_msg.template - - %files -n python3-ipaclient - %doc README.md Contributors.txt --- -2.26.2 - -From 3b43950d35f78b28d4edde4fda475b5aa84f4587 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Fran=C3=A7ois=20Cami?= <fcami@redhat.com> -Date: Tue, 23 Jun 2020 09:39:02 +0200 -Subject: [PATCH] man pages: fix epn.conf.5 and ipa-epn.1 formatting -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Fix formatting issues found with mandoc. - -Signed-off-by: François Cami <fcami@redhat.com> -Reviewed-By: Alexander Bokovoy <abbra@users.noreply.github.com> -Reviewed-By: Rob Crittenden <rcritten@redhat.com> -Reviewed-By: Alexander Bokovoy <abokovoy@redhat.com> -Reviewed-By: Rob Crittenden <rcritten@redhat.com> ---- - client/man/epn.conf.5 | 2 +- - client/man/ipa-epn.1 | 8 ++++---- - 2 files changed, 5 insertions(+), 5 deletions(-) - -diff --git a/client/man/epn.conf.5 b/client/man/epn.conf.5 -index 14f5dbb75..df1f0156c 100644 ---- a/client/man/epn.conf.5 -+++ b/client/man/epn.conf.5 -@@ -16,7 +16,7 @@ - .\" - .\" Author: Rob Crittenden <rcritten@@redhat.com> - .\" --.TH "epn.conf" "5" "Apr 28 2020" "FreeIPA" "FreeIPA Manual Pages" -+.TH "EPN.CONF" "5" "April 28, 2020" "FreeIPA" "FreeIPA Manual Pages" - .SH "NAME" - epn.conf \- Expiring Password Notification configuration file - .SH "SYNOPSIS" -diff --git a/client/man/ipa-epn.1 b/client/man/ipa-epn.1 -index 9999ea8ca..124fd4536 100644 ---- a/client/man/ipa-epn.1 -+++ b/client/man/ipa-epn.1 -@@ -15,14 +15,14 @@ - .\" along with this program. If not, see <http://www.gnu.org/licenses/>. - .\" - .\" --.TH "ipa-epn" "1" "Apr 24 2020" "FreeIPA" "FreeIPA Manual Pages" -+.TH "IPA-EPN" "1" "April 24, 2020" "FreeIPA" "FreeIPA Manual Pages" - .SH "NAME" - ipa\-epn \- Send expiring password nofications - .SH "SYNOPSIS" --ipa\-epn \[options\] -+ipa\-epn \fR[options\fR] - - .SH "DESCRIPTION" --ipa\-epn provides a method to warn users via email that their IPA account password is about to expire. -+ipa\-epn provides a method to warn users via email that their IPA account password is about to expire. - - It can be used in dry\-run mode which is recommmended during setup. The output is always JSON in this case. - -@@ -38,7 +38,7 @@ The \-\-to\-nbdays CLI option can be used to determine the number of notificatio - - If \fB\-\-from\-nbdays\fR is not specified, ipa\-epn will look within a 24\-hour long time range in <number of days> days. - --if \fB\-\-from\-nbdays\fR is specified, the date range starts at \fB\-\-from\-nbdays\fR days in the future and ends at \fB\-\-to\-nbdays\fR in the future. -+if \fB\-\-from\-nbdays\fR is specified, the date range starts at \fB\-\-from\-nbdays\fR days in the future and ends at \fB\-\-to\-nbdays\fR in the future. - - Together, these two CLI options can be used to determine how many emails would be sent in a specific time in the future. - --- -2.26.2 - -From 2648c218467792e907435eaa5267a0f3457f634f Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Fran=C3=A7ois=20Cami?= <fcami@redhat.com> -Date: Tue, 23 Jun 2020 13:50:02 +0200 -Subject: [PATCH] ipatests: check that EPN's configuration file is installed. -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Fixes: https://pagure.io/freeipa/issue/8374 -Signed-off-by: François Cami <fcami@redhat.com> -Reviewed-By: Alexander Bokovoy <abbra@users.noreply.github.com> -Reviewed-By: Rob Crittenden <rcritten@redhat.com> -Reviewed-By: Alexander Bokovoy <abokovoy@redhat.com> -Reviewed-By: Rob Crittenden <rcritten@redhat.com> ---- - ipatests/test_integration/test_epn.py | 14 ++++++++++++++ - 1 file changed, 14 insertions(+) - -diff --git a/ipatests/test_integration/test_epn.py b/ipatests/test_integration/test_epn.py -index 7f56d4bc0..409d588d5 100644 ---- a/ipatests/test_integration/test_epn.py -+++ b/ipatests/test_integration/test_epn.py -@@ -209,6 +209,20 @@ class TestEPN(IntegrationTest): - cls.master.run_command(r'rm -f /etc/pki/tls/private/postfix.key') - cls.master.run_command(r'rm -f /etc/pki/tls/certs/postfix.pem') - -+ @pytest.mark.xfail(reason='pr-ci issue 378', strict=True) -+ def test_EPN_config_file(self): -+ """Check that the EPN configuration file is installed. -+ https://pagure.io/freeipa/issue/8374 -+ """ -+ epn_conf = "/etc/ipa/epn.conf" -+ epn_template = "/etc/ipa/epn/expire_msg.template" -+ cmd1 = self.master.run_command(["rpm", "-qc", "freeipa-client-epn"]) -+ assert epn_conf in cmd1.stdout_text -+ assert epn_template in cmd1.stdout_text -+ cmd2 = self.master.run_command(["sha256sum", epn_conf]) -+ ck = "4c207b5c9c760c36db0d3b2b93da50ea49edcc4002d6d1e7383601f0ec30b957" -+ assert cmd2.stdout_text.find(ck) == 0 -+ - def test_EPN_smoketest_1(self): - """No users except admin. Check --dry-run output. - With the default configuration, the result should be an empty list. --- -2.26.2 - -From 06accac8906f66ebbb31849d6528b39ae006b124 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Fran=C3=A7ois=20Cami?= <fcami@redhat.com> -Date: Wed, 24 Jun 2020 23:24:36 +0200 -Subject: [PATCH] ipatests: ipa_epn: uninstall/reinstall ipa-client-epn -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Due to https://github.com/freeipa/freeipa-pr-ci/issues/378 -the installed version of freeipa-client-epn is not the built -one. Temporarily force uninstall/reinstall of this package -before running the test. - -Fixes: https://pagure.io/freeipa/issue/8374 -Signed-off-by: François Cami <fcami@redhat.com> -Reviewed-By: Alexander Bokovoy <abbra@users.noreply.github.com> -Reviewed-By: Rob Crittenden <rcritten@redhat.com> -Reviewed-By: Alexander Bokovoy <abokovoy@redhat.com> -Reviewed-By: Rob Crittenden <rcritten@redhat.com> ---- - ipatests/test_integration/test_epn.py | 20 +++++++++++++++++++- - 1 file changed, 19 insertions(+), 1 deletion(-) - -diff --git a/ipatests/test_integration/test_epn.py b/ipatests/test_integration/test_epn.py -index 409d588d5..9a9fb17b9 100644 ---- a/ipatests/test_integration/test_epn.py -+++ b/ipatests/test_integration/test_epn.py -@@ -209,11 +209,29 @@ class TestEPN(IntegrationTest): - cls.master.run_command(r'rm -f /etc/pki/tls/private/postfix.key') - cls.master.run_command(r'rm -f /etc/pki/tls/certs/postfix.pem') - -- @pytest.mark.xfail(reason='pr-ci issue 378', strict=True) -+ @pytest.mark.skip_if_platform( -+ "debian", reason="Cannot check installed packages using RPM" -+ ) - def test_EPN_config_file(self): - """Check that the EPN configuration file is installed. - https://pagure.io/freeipa/issue/8374 - """ -+ # workaround for https://github.com/freeipa/freeipa-pr-ci/issues/378 -+ rpm_q_cmds = [ -+ ["rpm", "-qi", "freeipa-client"], -+ ["rpm", "-qi", "freeipa-client-epn"], -+ ["rpm", "-qc", "freeipa-client-epn"], -+ ["rpm", "-V", "freeipa-client-epn"], -+ ["rpm", "-qvc", "freeipa-client-epn"], -+ ["ls", "-l", "/etc/ipa", "/etc/ipa/epn"], -+ ] -+ for cmd in rpm_q_cmds: -+ self.master.run_command(cmd, raiseonerr=False) -+ tasks.uninstall_packages(self.master, ["*ipa-client-epn"]) -+ tasks.install_packages(self.master, ["*ipa-client-epn"]) -+ for cmd in rpm_q_cmds: -+ self.master.run_command(cmd, raiseonerr=False) -+ # end workaround - epn_conf = "/etc/ipa/epn.conf" - epn_template = "/etc/ipa/epn/expire_msg.template" - cmd1 = self.master.run_command(["rpm", "-qc", "freeipa-client-epn"]) --- -2.26.2 - diff --git a/SOURCES/0003-Use-256-bit-AJP-secret_rhbz#1849914.patch b/SOURCES/0003-Use-256-bit-AJP-secret_rhbz#1849914.patch deleted file mode 100644 index f011db3..0000000 --- a/SOURCES/0003-Use-256-bit-AJP-secret_rhbz#1849914.patch +++ /dev/null @@ -1,147 +0,0 @@ -From be48983558a560dadad410a70a4a1684565ed481 Mon Sep 17 00:00:00 2001 -From: Alexander Scheel <ascheel@redhat.com> -Date: Mon, 15 Jun 2020 18:38:35 -0400 -Subject: [PATCH] Clarify AJP connector creation process - -We do two things: - - 1. Fix the xpath for AJP connector verification. An AJP connector is - one which has protocol="AJP/1.3", NOT one that has port="8009". An - AJP connector can exist on any port and port 8009 can have any - protocol. Secrets only make sense on AJP connectors, so make the - xpath match the existing comment. - - 2. Add some background in-line documentation about AJP secret - provisioning. This should help future developers understand why this - was added to IPA and what limitations there are in what PKI or IPA - can do. Most notably, explain why Dogtag can't upgrade the AJP - connector to have a secret in the general case. - -Signed-off-by: Alexander Scheel <ascheel@redhat.com> -Reviewed-By: Alexander Bokovoy <abokovoy@redhat.com> ---- - ipaserver/install/dogtaginstance.py | 20 +++++++++++++++++--- - 1 file changed, 17 insertions(+), 3 deletions(-) - -diff --git a/ipaserver/install/dogtaginstance.py b/ipaserver/install/dogtaginstance.py -index 42c9db3fb..aa3baeb7c 100644 ---- a/ipaserver/install/dogtaginstance.py -+++ b/ipaserver/install/dogtaginstance.py -@@ -308,11 +308,12 @@ class DogtagInstance(service.Service): - doc = server_xml.getroot() - - # no AJP connector means no need to update anything -- connectors = doc.xpath('//Connector[@port="8009"]') -+ connectors = doc.xpath('//Connector[@protocol="AJP/1.3"]') - if len(connectors) == 0: - return - -- # AJP connector is set on port 8009. Use non-greedy search to find it -+ # AJP protocol is at version 1.3. Assume there is only one as -+ # Dogtag only provisions one. - connector = connectors[0] - - # Detect tomcat version and choose the right option name -@@ -331,11 +332,24 @@ class DogtagInstance(service.Service): - rewrite = False - else: - if oldattr in connector.attrib: -+ # Sufficiently new Dogtag versions (10.9.0-a2) handle the -+ # upgrade for us; we need only to ensure that we're not both -+ # attempting to upgrade server.xml at the same time. -+ # Hopefully this is guaranteed for us. - self.ajp_secret = connector.attrib[oldattr] - connector.attrib[secretattr] = self.ajp_secret - del connector.attrib[oldattr] - else: -- # Generate password, don't use special chars to not break XML -+ # Generate password, don't use special chars to not break XML. -+ # -+ # If we hit this case, pkispawn was run on an older Dogtag -+ # version and we're stuck migrating, choosing a password -+ # ourselves. Dogtag can't generate one randomly because a -+ # Dogtag administrator might've configured AJP and might -+ # not be using IPA. -+ # -+ # Newer Dogtag versions will generate a random password -+ # during pkispawn. - self.ajp_secret = ipautil.ipa_generate_password(special=None) - connector.attrib[secretattr] = self.ajp_secret - --- -2.26.2 - -From 1e804bf19da4ee274e735fd49452d4df5d73a002 Mon Sep 17 00:00:00 2001 -From: Alexander Scheel <ascheel@redhat.com> -Date: Wed, 17 Jun 2020 16:00:25 -0400 -Subject: [PATCH] Configure PKI AJP Secret with 256-bit secret - -By default, PKI's AJP secret is generated as a 75-bit password. By -generating it in IPA, we can guarantee the strength of the AJP secret. -It makes sense to use a stronger AJP secret because it typically -isn't rotated; access to AJP allows an attacker to impersonate an admin -while talking to PKI. - -Fixes: https://pagure.io/freeipa/issue/8372 -Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=1849146 -Related: https://bugzilla.redhat.com/show_bug.cgi?id=1845447 -Related: https://github.com/dogtagpki/pki/pull/437 - -Signed-off-by: Alexander Scheel <ascheel@redhat.com> -Reviewed-By: Alexander Bokovoy <abokovoy@redhat.com> ---- - install/share/ipaca_customize.ini | 1 + - install/share/ipaca_default.ini | 2 ++ - ipaserver/install/dogtaginstance.py | 4 +++- - 3 files changed, 6 insertions(+), 1 deletion(-) - -diff --git a/install/share/ipaca_customize.ini b/install/share/ipaca_customize.ini -index 6d58579af..948734241 100644 ---- a/install/share/ipaca_customize.ini -+++ b/install/share/ipaca_customize.ini -@@ -12,6 +12,7 @@ - # - # Predefined variables - # - ipa_ca_subject -+# - ipa_ajp_secret - # - ipa_fqdn - # - ipa_subject_base - # - pki_admin_password -diff --git a/install/share/ipaca_default.ini b/install/share/ipaca_default.ini -index 2b9900286..a51256116 100644 ---- a/install/share/ipaca_default.ini -+++ b/install/share/ipaca_default.ini -@@ -12,6 +12,7 @@ ipa_ca_pem_file=/etc/ipa/ca.crt - - ## dynamic values - # ipa_ca_subject= -+# ipa_ajp_secret= - # ipa_subject_base= - # ipa_fqdn= - # ipa_ocsp_uri= -@@ -66,6 +67,7 @@ pki_issuing_ca=%(pki_issuing_ca_uri)s - pki_replication_password= - - pki_enable_proxy=True -+pki_ajp_secret=%(ipa_ajp_secret)s - pki_restart_configured_instance=False - pki_security_domain_hostname=%(ipa_fqdn)s - pki_security_domain_https_port=443 -diff --git a/ipaserver/install/dogtaginstance.py b/ipaserver/install/dogtaginstance.py -index aa3baeb7c..361d80a8c 100644 ---- a/ipaserver/install/dogtaginstance.py -+++ b/ipaserver/install/dogtaginstance.py -@@ -840,7 +840,9 @@ class PKIIniLoader: - pki_subsystem_type=subsystem.lower(), - home_dir=os.path.expanduser("~"), - # for softhsm2 testing -- softhsm2_so=paths.LIBSOFTHSM2_SO -+ softhsm2_so=paths.LIBSOFTHSM2_SO, -+ # Configure a more secure AJP password by default -+ ipa_ajp_secret=ipautil.ipa_generate_password(special=None) - ) - - @classmethod --- -2.26.2 - diff --git a/SOURCES/0004-baseuser-fix-ipanthomedirectorydrive-option-name_rhbz#1851411.patch b/SOURCES/0004-baseuser-fix-ipanthomedirectorydrive-option-name_rhbz#1851411.patch deleted file mode 100644 index f87b301..0000000 --- a/SOURCES/0004-baseuser-fix-ipanthomedirectorydrive-option-name_rhbz#1851411.patch +++ /dev/null @@ -1,167 +0,0 @@ -From a090b429fda35c5a9c3cfb672ab42a5985d00ff9 Mon Sep 17 00:00:00 2001 -From: Petr Vobornik <pvoborni@redhat.com> -Date: Mon, 8 Jun 2020 19:27:30 +0200 -Subject: [PATCH] baseuser: fix ipanthomedirectorydrive option name - -It should be ipanthomedirectorydrive and not ipanthomedirectoryrive. - -This fixes showing the field in Web UI and also should fix CLI as it -probably never worked. - -Signed-off-by: Petr Vobornik <pvoborni@redhat.com> -Reviewed-By: Alexander Bokovoy <abokovoy@redhat.com> ---- - API.txt | 8 ++++---- - ipaserver/plugins/baseuser.py | 2 +- - 2 files changed, 5 insertions(+), 5 deletions(-) - -diff --git a/API.txt b/API.txt -index 5354a33a0..300b3d9b1 100644 ---- a/API.txt -+++ b/API.txt -@@ -5085,7 +5085,7 @@ option: Str('in_role*', cli_name='in_roles') - option: Str('in_sudorule*', cli_name='in_sudorules') - option: Str('initials?', autofill=False) - option: Str('ipanthomedirectory?', autofill=False, cli_name='smb_home_dir') --option: StrEnum('ipanthomedirectoryrive?', autofill=False, cli_name='smb_home_drive', values=[u'A:', u'B:', u'C:', u'D:', u'E:', u'F:', u'G:', u'H:', u'I:', u'J:', u'K:', u'L:', u'M:', u'N:', u'O:', u'P:', u'Q:', u'R:', u'S:', u'T:', u'U:', u'V:', u'W:', u'X:', u'Y:', u'Z:']) -+option: StrEnum('ipanthomedirectorydrive?', autofill=False, cli_name='smb_home_drive', values=[u'A:', u'B:', u'C:', u'D:', u'E:', u'F:', u'G:', u'H:', u'I:', u'J:', u'K:', u'L:', u'M:', u'N:', u'O:', u'P:', u'Q:', u'R:', u'S:', u'T:', u'U:', u'V:', u'W:', u'X:', u'Y:', u'Z:']) - option: Str('ipantlogonscript?', autofill=False, cli_name='smb_logon_script') - option: Str('ipantprofilepath?', autofill=False, cli_name='smb_profile_path') - option: Str('ipatokenradiusconfiglink?', autofill=False, cli_name='radius') -@@ -5147,7 +5147,7 @@ option: Str('givenname?', autofill=False, cli_name='first') - option: Str('homedirectory?', autofill=False, cli_name='homedir') - option: Str('initials?', autofill=False) - option: Str('ipanthomedirectory?', autofill=False, cli_name='smb_home_dir') --option: StrEnum('ipanthomedirectoryrive?', autofill=False, cli_name='smb_home_drive', values=[u'A:', u'B:', u'C:', u'D:', u'E:', u'F:', u'G:', u'H:', u'I:', u'J:', u'K:', u'L:', u'M:', u'N:', u'O:', u'P:', u'Q:', u'R:', u'S:', u'T:', u'U:', u'V:', u'W:', u'X:', u'Y:', u'Z:']) -+option: StrEnum('ipanthomedirectorydrive?', autofill=False, cli_name='smb_home_drive', values=[u'A:', u'B:', u'C:', u'D:', u'E:', u'F:', u'G:', u'H:', u'I:', u'J:', u'K:', u'L:', u'M:', u'N:', u'O:', u'P:', u'Q:', u'R:', u'S:', u'T:', u'U:', u'V:', u'W:', u'X:', u'Y:', u'Z:']) - option: Str('ipantlogonscript?', autofill=False, cli_name='smb_logon_script') - option: Str('ipantprofilepath?', autofill=False, cli_name='smb_profile_path') - option: Str('ipasshpubkey*', autofill=False, cli_name='sshpubkey') -@@ -6185,7 +6185,7 @@ option: Str('in_role*', cli_name='in_roles') - option: Str('in_sudorule*', cli_name='in_sudorules') - option: Str('initials?', autofill=False) - option: Str('ipanthomedirectory?', autofill=False, cli_name='smb_home_dir') --option: StrEnum('ipanthomedirectoryrive?', autofill=False, cli_name='smb_home_drive', values=[u'A:', u'B:', u'C:', u'D:', u'E:', u'F:', u'G:', u'H:', u'I:', u'J:', u'K:', u'L:', u'M:', u'N:', u'O:', u'P:', u'Q:', u'R:', u'S:', u'T:', u'U:', u'V:', u'W:', u'X:', u'Y:', u'Z:']) -+option: StrEnum('ipanthomedirectorydrive?', autofill=False, cli_name='smb_home_drive', values=[u'A:', u'B:', u'C:', u'D:', u'E:', u'F:', u'G:', u'H:', u'I:', u'J:', u'K:', u'L:', u'M:', u'N:', u'O:', u'P:', u'Q:', u'R:', u'S:', u'T:', u'U:', u'V:', u'W:', u'X:', u'Y:', u'Z:']) - option: Str('ipantlogonscript?', autofill=False, cli_name='smb_logon_script') - option: Str('ipantprofilepath?', autofill=False, cli_name='smb_profile_path') - option: Str('ipatokenradiusconfiglink?', autofill=False, cli_name='radius') -@@ -6250,7 +6250,7 @@ option: Str('givenname?', autofill=False, cli_name='first') - option: Str('homedirectory?', autofill=False, cli_name='homedir') - option: Str('initials?', autofill=False) - option: Str('ipanthomedirectory?', autofill=False, cli_name='smb_home_dir') --option: StrEnum('ipanthomedirectoryrive?', autofill=False, cli_name='smb_home_drive', values=[u'A:', u'B:', u'C:', u'D:', u'E:', u'F:', u'G:', u'H:', u'I:', u'J:', u'K:', u'L:', u'M:', u'N:', u'O:', u'P:', u'Q:', u'R:', u'S:', u'T:', u'U:', u'V:', u'W:', u'X:', u'Y:', u'Z:']) -+option: StrEnum('ipanthomedirectorydrive?', autofill=False, cli_name='smb_home_drive', values=[u'A:', u'B:', u'C:', u'D:', u'E:', u'F:', u'G:', u'H:', u'I:', u'J:', u'K:', u'L:', u'M:', u'N:', u'O:', u'P:', u'Q:', u'R:', u'S:', u'T:', u'U:', u'V:', u'W:', u'X:', u'Y:', u'Z:']) - option: Str('ipantlogonscript?', autofill=False, cli_name='smb_logon_script') - option: Str('ipantprofilepath?', autofill=False, cli_name='smb_profile_path') - option: Str('ipasshpubkey*', autofill=False, cli_name='sshpubkey') -diff --git a/ipaserver/plugins/baseuser.py b/ipaserver/plugins/baseuser.py -index a0ed65874..e1b7763f0 100644 ---- a/ipaserver/plugins/baseuser.py -+++ b/ipaserver/plugins/baseuser.py -@@ -420,7 +420,7 @@ class baseuser(LDAPObject): - label=_('SMB Home Directory'), - flags=['no_create'], - ), -- StrEnum('ipanthomedirectoryrive?', -+ StrEnum('ipanthomedirectorydrive?', - cli_name='smb_home_drive', - label=_('SMB Home Directory Drive'), - flags=['no_create'], --- -2.26.2 - -From 691b3cddb275821630f443f22706fa75e7c7a5c8 Mon Sep 17 00:00:00 2001 -From: Petr Vobornik <pvoborni@redhat.com> -Date: Mon, 8 Jun 2020 19:11:33 +0200 -Subject: [PATCH] webui: hide user attributes for SMB services section if empty - -This section should be hidded if user object hasn't ipantuserattrs -object class. I.e. when trusts are not enabled. - -Web UI framework already supports hidding of sections if the -section contains no visible field. So to achieve it we simply needs -to hide the fields. Given that attributelevelrights -contains rights only for attributes of current object classes, all -of these are regarded as not writable. - -We can leverage feature of input_widget that it gets hidden -when the attribute is not writable and has no value and widget's -"hidden_if_empty" is set to true. Thus doing it here. - -For this to work, it is also required to fix an issue with -"ipanthomedirectorydrive" which is optional (in API) but Web UI -doesn't offer "empty" ("") value. Adding it here. - -fixes: https://pagure.io/freeipa/issue/8336 - -Signed-off-by: Petr Vobornik <pvoborni@redhat.com> -Reviewed-By: Serhii Tsymbaliuk <stsymbal@redhat.com> -Reviewed-By: Alexander Bokovoy <abokovoy@redhat.com> ---- - install/ui/src/freeipa/user.js | 20 +++++++++++--------- - 1 file changed, 11 insertions(+), 9 deletions(-) - -diff --git a/install/ui/src/freeipa/user.js b/install/ui/src/freeipa/user.js -index fb626f2a1..8f1f5cd85 100644 ---- a/install/ui/src/freeipa/user.js -+++ b/install/ui/src/freeipa/user.js -@@ -367,36 +367,39 @@ return { - { - name: 'smb_attributes', - label: '@i18n:objects.smb_attributes.title', -- show_cond: ['oc_ipantuserattrs'], - fields: [{ - name: 'ipantlogonscript', - tooltip: { - title: '@i18n:objects.smb_attributes.ipantlogonscript_tooltip' -- } -+ }, -+ hidden_if_empty: true - }, - { - name: 'ipantprofilepath', - tooltip: { - title: '@i18n:objects.smb_attributes.ipantprofilepath_tooltip' -- } -+ }, -+ hidden_if_empty: true - }, - { - name: 'ipanthomedirectory', - tooltip: { - title: '@i18n:objects.smb_attributes.ipanthomedirectory_tooltip' -- } -+ }, -+ hidden_if_empty: true - }, - { - name: 'ipanthomedirectorydrive', - $type: 'select', - options: IPA.create_options([ -- 'A:', 'B:', 'C:', 'D:', 'E:', 'F:', 'G:', 'H:', 'I:', -- 'J:', 'K:', 'L:', 'M:', 'N:', 'O:', 'P:', 'Q:', 'R:', -- 'S:', 'T:', 'U:', 'V:', 'W:', 'X:', 'Y:', 'Z:' -+ '', 'A:', 'B:', 'C:', 'D:', 'E:', 'F:', 'G:', 'H:', -+ 'I:', 'J:', 'K:', 'L:', 'M:', 'N:', 'O:', 'P:', 'Q:', -+ 'R:', 'S:', 'T:', 'U:', 'V:', 'W:', 'X:', 'Y:', 'Z:' - ]), - tooltip: { - title: '@i18n:objects.smb_attributes.ipanthomedirectorydrive_tooltip' -- } -+ }, -+ hidden_if_empty: true - } - ] - } -@@ -482,7 +485,6 @@ return { - IPA.user.self_service_other_user_evaluator, - IPA.user.preserved_user_evaluator, - IPA.user.is_locked_evaluator, -- IPA.object_class_evaluator, - IPA.cert.certificate_evaluator - ], - summary_conditions: [ --- -2.26.2 - diff --git a/SOURCES/0005-selinux-don-t-audit-rules-deny-fetching-trust-topology_rhbz#1845596.patch b/SOURCES/0005-selinux-don-t-audit-rules-deny-fetching-trust-topology_rhbz#1845596.patch deleted file mode 100644 index b67d1ef..0000000 --- a/SOURCES/0005-selinux-don-t-audit-rules-deny-fetching-trust-topology_rhbz#1845596.patch +++ /dev/null @@ -1,93 +0,0 @@ -From 42dd1628a1211363c860917e474ecc5b9c1fdb84 Mon Sep 17 00:00:00 2001 -From: Alexander Bokovoy <abokovoy@redhat.com> -Date: Thu, 2 Jul 2020 15:50:00 +0300 -Subject: [PATCH] selinux: allow oddjobd to set up ipa_helper_t context for - execution - -On Fedora 32+ and RHEL 8.3.0+ execution of ipa_helper_t context requires -SELinux policy permission to use 'noatsecure'. This comes most likely -from execve() setup by glibc. - -Add SELinux interface ipa_helper_noatsecure() that can be called by -oddjob's SELinux policy definition. - -In addition, if ipa_helper_t runs ipa-getkeytab, libkrb5 will attempt to -access SELinux configuration and produce AVC for that. Allow reading -general userspace SELinux configuration. - -Fixes: https://pagure.io/freeipa/issue/8395 -Signed-off-by: Alexander Bokovoy <abokovoy@redhat.com> -Reviewed-By: Christian Heimes <cheimes@redhat.com> ---- - selinux/ipa.if | 18 ++++++++++++++++++ - selinux/ipa.te | 1 + - 2 files changed, 19 insertions(+) - -diff --git a/selinux/ipa.if b/selinux/ipa.if -index ea971b8fa..783db8b78 100644 ---- a/selinux/ipa.if -+++ b/selinux/ipa.if -@@ -419,3 +419,21 @@ ifndef(`dirsrv_systemctl',` - ps_process_pattern($1, dirsrv_t) - ') - ') -+ -+ -+######################################## -+## <summary> -+## Allow ipa_helper noatsecure -+## </summary> -+## <param name="domain"> -+## <summary> -+## Domain allowed access. -+## </summary> -+## </param> -+# -+interface(`ipa_helper_noatsecure',` -+ gen_require(` -+ type ipa_helper_t; -+ ') -+ allow $1 ipa_helper_t:process { noatsecure }; -+') -diff --git a/selinux/ipa.te b/selinux/ipa.te -index 587e5e585..383979094 100644 ---- a/selinux/ipa.te -+++ b/selinux/ipa.te -@@ -115,6 +115,7 @@ optional_policy(` - - - allow ipa_helper_t self:capability { net_admin dac_read_search dac_override chown }; -+seutil_read_config(ipa_helper_t); - - #kernel bug - dontaudit ipa_helper_t self:capability2 block_suspend; --- -2.26.2 - -From 0d70addbbf2a99e7398a518bc98d5fe109469bb5 Mon Sep 17 00:00:00 2001 -From: Alexander Bokovoy <abokovoy@redhat.com> -Date: Fri, 3 Jul 2020 17:20:49 +0300 -Subject: [PATCH] selinux: support running ipa-custodia with PrivateTmp=yes - -Related: https://pagure.io/freeipa/issue/8395 -Signed-off-by: Alexander Bokovoy <abokovoy@redhat.com> -Reviewed-By: Christian Heimes <cheimes@redhat.com> ---- - selinux/ipa.te | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/selinux/ipa.te b/selinux/ipa.te -index 383979094..a3381217a 100644 ---- a/selinux/ipa.te -+++ b/selinux/ipa.te -@@ -390,3 +390,7 @@ optional_policy(` - sssd_search_lib(ipa_custodia_t) - sssd_stream_connect(ipa_custodia_t) - ') -+ -+optional_policy(` -+ systemd_private_tmp(ipa_custodia_tmp_t) -+') --- -2.26.2 - diff --git a/SOURCES/0006-fix-iPAddress-cert-issuance-for-1-host-service_rhbz#1846352.patch b/SOURCES/0006-fix-iPAddress-cert-issuance-for-1-host-service_rhbz#1846352.patch deleted file mode 100644 index c1c7764..0000000 --- a/SOURCES/0006-fix-iPAddress-cert-issuance-for-1-host-service_rhbz#1846352.patch +++ /dev/null @@ -1,180 +0,0 @@ -From 128500198d3782a76616cf1d971d5aeb17e8c1da Mon Sep 17 00:00:00 2001 -From: Fraser Tweedale <ftweedal@redhat.com> -Date: Thu, 11 Jun 2020 22:42:38 +1000 -Subject: [PATCH] fix iPAddress cert issuance for >1 host/service - -The 'cert_request' command accumulates DNS names from the CSR, -before checking that all IP addresses in the CSR are reachable from -those DNS names. Before adding a DNS name to the set, we check that -that it corresponds to the FQDN of a known host/service principal -(including principal aliases). When a DNS name maps to a -"alternative" principal (i.e. not the one given via the 'principal' -argument), this check was not being performed correctly. -Specifically, we were looking for the 'krbprincipalname' field on -the RPC response object directly, instead of its 'result' field. - -To resolve the issue, dereference the RPC response to its 'result' -field before invoking the '_dns_name_matches_principal' subroutine. - -Fixes: https://pagure.io/freeipa/issue/8368 -Reviewed-By: Rob Crittenden <rcritten@redhat.com> ---- - ipaserver/plugins/cert.py | 6 +- - .../test_cert_request_ip_address.py | 62 +++++++++++++++++-- - 2 files changed, 61 insertions(+), 7 deletions(-) - -diff --git a/ipaserver/plugins/cert.py b/ipaserver/plugins/cert.py -index d353bc3ea..fe7ea34f5 100644 ---- a/ipaserver/plugins/cert.py -+++ b/ipaserver/plugins/cert.py -@@ -827,13 +827,13 @@ class cert_request(Create, BaseCertMethod, VirtualCommand): - try: - if principal_type == HOST: - alt_principal_obj = api.Command['host_show']( -- name, all=True) -+ name, all=True)['result'] - elif principal_type == KRBTGT: - alt_principal = kerberos.Principal( - (u'host', name), principal.realm) - elif principal_type == SERVICE: - alt_principal_obj = api.Command['service_show']( -- alt_principal, all=True) -+ alt_principal, all=True)['result'] - except errors.NotFound: - # We don't want to issue any certificates referencing - # machines we don't know about. Nothing is stored in this -@@ -866,7 +866,7 @@ class cert_request(Create, BaseCertMethod, VirtualCommand): - pass - - # Now check write access and caacl -- altdn = alt_principal_obj['result']['dn'] -+ altdn = alt_principal_obj['dn'] - if not ldap.can_write(altdn, "usercertificate"): - raise errors.ACIError(info=_( - "Insufficient privilege to create a certificate " -diff --git a/ipatests/test_xmlrpc/test_cert_request_ip_address.py b/ipatests/test_xmlrpc/test_cert_request_ip_address.py -index bf4de05bf..c0475d30d 100644 ---- a/ipatests/test_xmlrpc/test_cert_request_ip_address.py -+++ b/ipatests/test_xmlrpc/test_cert_request_ip_address.py -@@ -28,10 +28,16 @@ from ipatests.test_xmlrpc.tracker.host_plugin import HostTracker - from ipatests.test_xmlrpc.tracker.user_plugin import UserTracker - from ipatests.test_xmlrpc.xmlrpc_test import XMLRPC_test - --host_fqdn = f'iptest.{api.env.domain}' -+host_shortname = 'iptest' -+host_fqdn = f'{host_shortname}.{api.env.domain}' - host_princ = f'host/{host_fqdn}' - host_ptr = f'{host_fqdn}.' - -+host2_shortname = 'iptest2' -+host2_fqdn = f'{host2_shortname}.{api.env.domain}' -+host2_princ = f'host/{host2_fqdn}' -+host2_ptr = f'{host2_fqdn}.' -+ - other_fqdn = f'other.{api.env.domain}' - other_ptr = f'{other_fqdn}.' - -@@ -39,6 +45,10 @@ ipv4_address = '169.254.0.42' - ipv4_revzone_s = '0.254.169.in-addr.arpa.' - ipv4_revrec_s = '42' - -+host2_ipv4_address = '169.254.0.43' -+host2_ipv4_revzone_s = '0.254.169.in-addr.arpa.' -+host2_ipv4_revrec_s = '43' -+ - ipv6_address = 'fe80::8f18:bdab:4299:95fa' - ipv6_revzone_s = '0.0.0.0.0.0.0.0.0.0.0.0.0.8.e.f.ip6.arpa.' - ipv6_revrec_s = 'a.f.5.9.9.9.2.4.b.a.d.b.8.1.f.8' -@@ -46,7 +56,13 @@ ipv6_revrec_s = 'a.f.5.9.9.9.2.4.b.a.d.b.8.1.f.8' - - @pytest.fixture(scope='class') - def host(request, xmlrpc_setup): -- tr = HostTracker('iptest') -+ tr = HostTracker(host_shortname) -+ return tr.make_fixture(request) -+ -+ -+@pytest.fixture(scope='class') -+def host2(request, xmlrpc_setup): -+ tr = HostTracker(host2_shortname) - return tr.make_fixture(request) - - -@@ -88,6 +104,12 @@ def ipv6_revzone(host): - yield from _zone_setup(host, ipv6_revzone_s) - - -+@pytest.fixture(scope='class') -+def host2_ipv4_ptr(host2, ipv4_revzone): -+ yield from _record_setup( -+ host2, ipv4_revzone, host2_ipv4_revrec_s, ptrrecord=host2_ptr) -+ -+ - @pytest.fixture(scope='class') - def ipv4_ptr(host, ipv4_revzone): - yield from _record_setup( -@@ -100,16 +122,22 @@ def ipv6_ptr(host, ipv6_revzone): - host, ipv6_revzone, ipv6_revrec_s, ptrrecord=host_ptr) - - -+@pytest.fixture(scope='class') -+def host2_ipv4_a(host2): -+ yield from _record_setup( -+ host2, api.env.domain, host2_shortname, arecord=host2_ipv4_address) -+ -+ - @pytest.fixture(scope='class') - def ipv4_a(host): - yield from _record_setup( -- host, api.env.domain, 'iptest', arecord=ipv4_address) -+ host, api.env.domain, host_shortname, arecord=ipv4_address) - - - @pytest.fixture(scope='class') - def ipv6_aaaa(host): - yield from _record_setup( -- host, api.env.domain, 'iptest', aaaarecord=ipv6_address) -+ host, api.env.domain, host_shortname, aaaarecord=ipv6_address) - - - @pytest.fixture(scope='class') -@@ -210,6 +238,12 @@ csr_cname2 = csr([ - x509.DNSName(f'cname2.{api.env.domain}'), - x509.IPAddress(ipaddress.ip_address(ipv4_address)), - ]) -+csr_two_dnsname_two_ip = csr([ -+ x509.DNSName(host_fqdn), -+ x509.IPAddress(ipaddress.ip_address(ipv4_address)), -+ x509.DNSName(host2_fqdn), -+ x509.IPAddress(ipaddress.ip_address(host2_ipv4_address)), -+]) - - - @pytest.fixture -@@ -449,3 +483,23 @@ class TestIPAddressCNAME(XMLRPC_test): - def test_two_levels(self, host, csr_cname2): - with pytest.raises(errors.ValidationError, match=PAT_FWD): - host.run_command('cert_request', csr_cname2, principal=host_princ) -+ -+ -+@pytest.mark.tier1 -+class TestTwoHostsTwoIPAddresses(XMLRPC_test): -+ """ -+ Test certificate issuance with CSR containing two hosts -+ and two IP addresses (one for each host). -+ -+ """ -+ def test_host_exists( -+ self, host, host2, ipv4_a, ipv4_ptr, host2_ipv4_a, host2_ipv4_ptr, -+ ): -+ # for convenience, this test also establishes the DNS -+ # record fixtures, which have class scope -+ host.ensure_exists() -+ host2.ensure_exists() -+ -+ def test_issuance(self, host, csr_two_dnsname_two_ip): -+ host.run_command( -+ 'cert_request', csr_two_dnsname_two_ip, principal=host_princ) --- -2.26.2 - diff --git a/SOURCES/0007-Specify-cert_paths-when-calling-PKIConnection_rhbz#1849155.patch b/SOURCES/0007-Specify-cert_paths-when-calling-PKIConnection_rhbz#1849155.patch deleted file mode 100644 index 72a73cb..0000000 --- a/SOURCES/0007-Specify-cert_paths-when-calling-PKIConnection_rhbz#1849155.patch +++ /dev/null @@ -1,118 +0,0 @@ -From 9ded9e2573a00c388533f2a09365c499a4e2961e Mon Sep 17 00:00:00 2001 -From: Alexander Scheel <ascheel@redhat.com> -Date: Fri, 19 Jun 2020 08:48:56 -0400 -Subject: [PATCH] Specify cert_paths when calling PKIConnection - -PKIConnection now defaults to specifying verify=True. We've introduced -a new parameter, cert_paths, to specify additional paths (directories or -files) to load as certificates. Specify the IPA CA certificate file so -we can guarantee connections succeed and validate the peer's certificate. - -Point to IPA CA certificate during pkispawn - -Bump pki_version to 10.9.0-0.4 (aka -b2) - -Fixes: https://pagure.io/freeipa/issue/8379 -Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=1849155 -Related: https://github.com/dogtagpki/pki/pull/443 -Related: https://bugzilla.redhat.com/show_bug.cgi?id=1426572 -Signed-off-by: Alexander Scheel <ascheel@redhat.com> -Signed-off-by: Christian Heimes <cheimes@redhat.com> -Reviewed-By: Christian Heimes <cheimes@redhat.com> ---- - freeipa.spec.in | 6 +++--- - install/tools/ipa-pki-wait-running.in | 3 ++- - ipaserver/install/cainstance.py | 7 +++++++ - ipaserver/install/dogtaginstance.py | 3 ++- - ipaserver/plugins/dogtag.py | 11 +++++------ - 5 files changed, 19 insertions(+), 11 deletions(-) - -diff --git a/freeipa.spec.in b/freeipa.spec.in -index 74e752ea5..d00b9d640 100755 ---- a/freeipa.spec.in -+++ b/freeipa.spec.in -@@ -112,9 +112,9 @@ - # Fedora - %endif - --# 10.7.3 supports LWCA key replication using AES --# https://pagure.io/freeipa/issue/8020 --%global pki_version 10.7.3-1 -+# PKIConnection has been modified to always validate certs. -+# https://pagure.io/freeipa/issue/8379 -+%global pki_version 10.9.0-0.4 - - # https://pagure.io/certmonger/issue/90 - %global certmonger_version 0.79.7-1 -diff --git a/install/tools/ipa-pki-wait-running.in b/install/tools/ipa-pki-wait-running.in -index 69f5ec296..4f0f2f34a 100644 ---- a/install/tools/ipa-pki-wait-running.in -+++ b/install/tools/ipa-pki-wait-running.in -@@ -59,7 +59,8 @@ def get_conn(hostname, subsystem): - """ - conn = PKIConnection( - hostname=hostname, -- subsystem=subsystem -+ subsystem=subsystem, -+ cert_paths=paths.IPA_CA_CRT - ) - logger.info( - "Created connection %s://%s:%s/%s", -diff --git a/ipaserver/install/cainstance.py b/ipaserver/install/cainstance.py -index 706bc28cc..9294f1dba 100644 ---- a/ipaserver/install/cainstance.py -+++ b/ipaserver/install/cainstance.py -@@ -509,6 +509,13 @@ class CAInstance(DogtagInstance): - else: - pki_pin = None - -+ # When spawning a CA instance, always point to IPA_CA_CRT if it -+ # exists. Later, when we're performing step 2 of an external CA -+ # installation, we'll overwrite this key to point to the real -+ # external CA. -+ if os.path.exists(paths.IPA_CA_CRT): -+ cfg['pki_cert_chain_path'] = paths.IPA_CA_CRT -+ - if self.clone: - if self.no_db_setup: - cfg.update( -diff --git a/ipaserver/install/dogtaginstance.py b/ipaserver/install/dogtaginstance.py -index 361d80a8c..7e295665c 100644 ---- a/ipaserver/install/dogtaginstance.py -+++ b/ipaserver/install/dogtaginstance.py -@@ -70,7 +70,8 @@ def get_security_domain(): - connection = PKIConnection( - protocol='https', - hostname=api.env.ca_host, -- port='8443' -+ port='8443', -+ cert_paths=paths.IPA_CA_CRT - ) - domain_client = pki.system.SecurityDomainClient(connection) - info = domain_client.get_security_domain_info() -diff --git a/ipaserver/plugins/dogtag.py b/ipaserver/plugins/dogtag.py -index 4de26d76f..b300f6b18 100644 ---- a/ipaserver/plugins/dogtag.py -+++ b/ipaserver/plugins/dogtag.py -@@ -2082,13 +2082,12 @@ class kra(Backend): - 'https', - self.kra_host, - str(self.kra_port), -- 'kra') -+ 'kra', -+ cert_paths=paths.IPA_CA_CRT -+ ) - -- connection.session.cert = (paths.RA_AGENT_PEM, paths.RA_AGENT_KEY) -- # uncomment the following when this commit makes it to release -- # https://git.fedorahosted.org/cgit/pki.git/commit/?id=71ae20c -- # connection.set_authentication_cert(paths.RA_AGENT_PEM, -- # paths.RA_AGENT_KEY) -+ connection.set_authentication_cert(paths.RA_AGENT_PEM, -+ paths.RA_AGENT_KEY) - - try: - yield KRAClient(connection, crypto) --- -2.26.2 - diff --git a/SOURCES/0008-Add-missing-SELinux-rule-for-ipa-custodia.sock_rhbz#1857157.patch b/SOURCES/0008-Add-missing-SELinux-rule-for-ipa-custodia.sock_rhbz#1857157.patch deleted file mode 100644 index c94ebee..0000000 --- a/SOURCES/0008-Add-missing-SELinux-rule-for-ipa-custodia.sock_rhbz#1857157.patch +++ /dev/null @@ -1,34 +0,0 @@ -From d83b760d1f76a3ba8e527dd27551e51a600b22c0 Mon Sep 17 00:00:00 2001 -From: Christian Heimes <cheimes@redhat.com> -Date: Wed, 15 Jul 2020 10:23:35 +0200 -Subject: [PATCH] Add missing SELinux rule for ipa-custodia.sock - -A SELinux rule for ipa_custodia_stream_connect(httpd_t) was not copied -from upstream rules. It breaks installations on systems that don't have -ipa_custodia_stream_connect in SELinux domain for apache, e.g. RHEL 8.3. - -Fixes: https://pagure.io/freeipa/issue/8412 -Signed-off-by: Christian Heimes <cheimes@redhat.com> -Reviewed-By: Thomas Woerner <twoerner@redhat.com> ---- - selinux/ipa.te | 7 +++++++ - 1 file changed, 7 insertions(+) - -diff --git a/selinux/ipa.te b/selinux/ipa.te -index a3381217a4..c4c3fa805e 100644 ---- a/selinux/ipa.te -+++ b/selinux/ipa.te -@@ -378,6 +378,13 @@ optional_policy(` - ipa_search_lib(ipa_custodia_t) - ') - -+optional_policy(` -+ gen_require(` -+ type httpd_t; -+ ') -+ ipa_custodia_stream_connect(httpd_t) -+') -+ - optional_policy(` - pki_manage_tomcat_etc_rw(ipa_custodia_t) - pki_read_tomcat_cert(ipa_custodia_t) diff --git a/SOURCES/0009-ipa-client-install-use-the-authselect-backup-during_rhbz#1810179.patch b/SOURCES/0009-ipa-client-install-use-the-authselect-backup-during_rhbz#1810179.patch deleted file mode 100644 index 5a96294..0000000 --- a/SOURCES/0009-ipa-client-install-use-the-authselect-backup-during_rhbz#1810179.patch +++ /dev/null @@ -1,189 +0,0 @@ -From ca880cfb117fc870a6e2710b9e31b2f67d5651e1 Mon Sep 17 00:00:00 2001 -From: Florence Blanc-Renaud <flo@redhat.com> -Date: Wed, 29 Jul 2020 13:35:49 +0200 -Subject: [PATCH] ipa-client-install: use the authselect backup during - uninstall - -When ipa-client-install is run on a system with no existing -authselect configuration (for instance a fedora 31 new install), -uninstallation is picking sssd profile but this may lead to -a configuration with differences compared to the pre-ipa-client -state. - -Now that authselect provides an option to backup the existing -configuration prior to setting a profile, the client install -can save the backup name and uninstall is able to apply the -backup in order to go back to the pre-ipa-client state. - -Fixes: https://pagure.io/freeipa/issue/8189 -Reviewed-By: Francois Cami <fcami@redhat.com> -Reviewed-By: Michal Polovka <mpolovka@redhat.com> ---- - ipaplatform/redhat/authconfig.py | 37 ++++++++++++++------------------ - 1 file changed, 16 insertions(+), 21 deletions(-) - -diff --git a/ipaplatform/redhat/authconfig.py b/ipaplatform/redhat/authconfig.py -index 758376f2b..89f452d66 100644 ---- a/ipaplatform/redhat/authconfig.py -+++ b/ipaplatform/redhat/authconfig.py -@@ -27,6 +27,7 @@ from ipaplatform.paths import paths - from ipapython import ipautil - from ipapython.admintool import ScriptError - import os -+import time - - FILES_TO_NOT_BACKUP = ['passwd', 'group', 'shadow', 'gshadow'] - -@@ -103,28 +104,16 @@ class RedHatAuthSelect(RedHatAuthToolBase): - def configure(self, sssd, mkhomedir, statestore, sudo=True): - # In the statestore, the following keys are used for the - # 'authselect' module: -+ # Old method: - # profile: name of the profile configured pre-installation - # features_list: list of features configured pre-installation - # mkhomedir: True if installation was called with --mkhomedir - # profile and features_list are used when reverting to the - # pre-install state -- cfg = self._parse_authselect_output() -- if cfg: -- statestore.backup_state('authselect', 'profile', cfg[0]) -- statestore.backup_state( -- 'authselect', 'features_list', " ".join(cfg[1])) -- else: -- # cfg = None means that the current conf is not managed by -- # authselect but by authconfig. -- # As we are using authselect to configure the host, -- # it will not be possible to revert to a custom authconfig -- # configuration later (during uninstall) -- # Best thing to do will be to use sssd profile at this time -- logger.warning( -- "WARNING: The configuration pre-client installation is not " -- "managed by authselect and cannot be backed up. " -- "Uninstallation may not be able to revert to the original " -- "state.") -+ # New method: -+ # backup: name of the authselect backup -+ backup_name = "pre_ipaclient_{}".format(time.strftime("%Y%m%d%H%M%S")) -+ statestore.backup_state('authselect', 'backup', backup_name) - - cmd = [paths.AUTHSELECT, "select", "sssd"] - if mkhomedir: -@@ -133,6 +122,7 @@ class RedHatAuthSelect(RedHatAuthToolBase): - if sudo: - cmd.append("with-sudo") - cmd.append("--force") -+ cmd.append("--backup={}".format(backup_name)) - - ipautil.run(cmd) - -@@ -179,10 +169,15 @@ class RedHatAuthSelect(RedHatAuthToolBase): - else: - features = [] - -- cmd = [paths.AUTHSELECT, "select", profile] -- cmd.extend(features) -- cmd.append("--force") -- ipautil.run(cmd) -+ backup = statestore.restore_state('authselect', 'backup') -+ if backup: -+ cmd = [paths.AUTHSELECT, "backup-restore", backup] -+ ipautil.run(cmd) -+ else: -+ cmd = [paths.AUTHSELECT, "select", profile] -+ cmd.extend(features) -+ cmd.append("--force") -+ ipautil.run(cmd) - - def backup(self, path): - current = self._get_authselect_current_output() --- -2.26.2 - -# Not needed for 4.7.8 release -# -#From 3eaab97e317584bc47d4a27a607267ed90df7ff7 Mon Sep 17 00:00:00 2001 -#From: Florence Blanc-Renaud <flo@redhat.com> -#Date: Wed, 29 Jul 2020 13:40:26 +0200 -#Subject: [PATCH] ipatests: remove the xfail for test_nfs.py -# -#Related: https://pagure.io/freeipa/issue/8189 -#Reviewed-By: Francois Cami <fcami@redhat.com> -#Reviewed-By: Michal Polovka <mpolovka@redhat.com> -#--- -# ipatests/test_integration/test_nfs.py | 4 ---- -# 1 file changed, 4 deletions(-) -# -#diff --git a/ipatests/test_integration/test_nfs.py b/ipatests/test_integration/test_nfs.py -#index 7272b0d44..832c56cca 100644 -#--- a/ipatests/test_integration/test_nfs.py -#+++ b/ipatests/test_integration/test_nfs.py -#@@ -363,10 +363,6 @@ class TestIpaClientAutomountFileRestore(IntegrationTest): -# cmd = self.clients[0].run_command(sha256nsswitch_cmd) -# assert cmd.stdout_text == orig_sha256 -# -#- @pytest.mark.xfail( -#- reason="https://pagure.io/freeipa/issue/8189", -#- strict=True -#- ) -# def test_nsswitch_backup_restore_sssd(self): -# self.nsswitch_backup_restore() -# -#-- -#2.26.2 - -From 4baf6b292f28481ece483bb8ecbd6a0807d9d45a Mon Sep 17 00:00:00 2001 -From: Florence Blanc-Renaud <flo@redhat.com> -Date: Wed, 29 Jul 2020 17:57:53 +0200 -Subject: [PATCH] ipatests: fix test_authselect - -Before the code fix, install/uninstall on a config without -any authselect profile was not able to restore the exact -state but configured sssd profile instead. - -Now that the code is doing a pre-install backup, uninstall -restores the exact state and the test needs to be updated -accordingly. - -Related: https://pagure.io/freeipa/issue/8189 -Reviewed-By: Francois Cami <fcami@redhat.com> -Reviewed-By: Michal Polovka <mpolovka@redhat.com> ---- - ipatests/test_integration/test_authselect.py | 13 ++++++++----- - 1 file changed, 8 insertions(+), 5 deletions(-) - -diff --git a/ipatests/test_integration/test_authselect.py b/ipatests/test_integration/test_authselect.py -index bdf7d9f77..cba23e707 100644 ---- a/ipatests/test_integration/test_authselect.py -+++ b/ipatests/test_integration/test_authselect.py -@@ -100,7 +100,9 @@ class TestClientInstallation(IntegrationTest): - ['rm', '-f', '/etc/authselect/authselect.conf']) - result = self._install_client() - assert result.returncode == 0 -- assert self.msg_warn_install in result.stderr_text -+ # With the fix for 8189, there is no warning any more -+ # because install is performing a pre-install backup -+ assert self.msg_warn_install not in result.stderr_text - # Client installation must configure the 'sssd' profile - # with sudo - check_authselect_profile(self.client, default_profile, ('with-sudo',)) -@@ -109,12 +111,13 @@ class TestClientInstallation(IntegrationTest): - """ - Test client un-installation when there was no authselect profile - """ -- # As the client did not have any authselect profile before install, -- # uninstall must print a warning about restoring 'sssd' profile -- # by default -+ # The client did not have any authselect profile before install, -+ # but uninstall must be able to restore the backup -+ # Check that no profile is configured after uninstall - result = self._uninstall_client() - assert result.returncode == 0 -- check_authselect_profile(self.client, default_profile) -+ assert not self.client.transport.file_exists( -+ '/etc/authselect/authselect.conf') - - def test_install_client_preconfigured_profile(self): - """ --- -2.26.2 - diff --git a/SOURCES/0010-Replace-SSLCertVerificationError-with-CertificateErr_rhbz#1858318.patch b/SOURCES/0010-Replace-SSLCertVerificationError-with-CertificateErr_rhbz#1858318.patch deleted file mode 100644 index 4144d57..0000000 --- a/SOURCES/0010-Replace-SSLCertVerificationError-with-CertificateErr_rhbz#1858318.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 66a5a0efd538e31a190ca6ecb775bc1dfc4ee232 Mon Sep 17 00:00:00 2001 -From: Rob Crittenden <rcritten@redhat.com> -Date: Wed, 29 Jul 2020 13:42:43 -0400 -Subject: [PATCH] Replace SSLCertVerificationError with CertificateError for - py36 - -This exception was added in python 3.7. Use CertificateError -instead which is an alias and will work with older python releases. - -https://bugzilla.redhat.com/show_bug.cgi?id=1858318 - -Reviewed-By: Florence Blanc-Renaud <flo@redhat.com> ---- - ipaserver/install/server/upgrade.py | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/ipaserver/install/server/upgrade.py b/ipaserver/install/server/upgrade.py -index 2c36bc0e2..2c1517865 100644 ---- a/ipaserver/install/server/upgrade.py -+++ b/ipaserver/install/server/upgrade.py -@@ -667,7 +667,7 @@ def http_certificate_ensure_ipa_ca_dnsname(http): - - try: - cert.match_hostname(expect) -- except ssl.SSLCertVerificationError: -+ except ssl.CertificateError: - if certs.is_ipa_issued_cert(api, cert): - request_id = certmonger.get_request_id( - {'cert-file': paths.HTTPD_CERT_FILE}) --- -2.26.2 - diff --git a/SOURCES/0011-Fix-AVC-denial-during-ipa-adtrust-install---add-agents_rhbz#1859213.patch b/SOURCES/0011-Fix-AVC-denial-during-ipa-adtrust-install---add-agents_rhbz#1859213.patch deleted file mode 100644 index 1298351..0000000 --- a/SOURCES/0011-Fix-AVC-denial-during-ipa-adtrust-install---add-agents_rhbz#1859213.patch +++ /dev/null @@ -1,103 +0,0 @@ -From c72ef1ed965aca79da4576d9579dec5459e14b99 Mon Sep 17 00:00:00 2001 -From: Christian Heimes <cheimes@redhat.com> -Date: Fri, 8 May 2020 15:27:01 +0200 -Subject: [PATCH] SELinux: Backport dirsrv_systemctl interface - -Signed-off-by: Christian Heimes <cheimes@redhat.com> -Reviewed-By: Florence Blanc-Renaud <frenaud@redhat.com> -Reviewed-By: Christian Heimes <cheimes@redhat.com> ---- - selinux/ipa.if | 27 +++++++++++++++++++++++++++ - 1 file changed, 27 insertions(+) - -diff --git a/selinux/ipa.if b/selinux/ipa.if -index cefae5d90..ea971b8fa 100644 ---- a/selinux/ipa.if -+++ b/selinux/ipa.if -@@ -392,3 +392,30 @@ ifndef(`apache_manage_pid_files',` - manage_sock_files_pattern($1, httpd_var_run_t, httpd_var_run_t) - ') - ') -+ -+######################################## -+## <summary> -+## Execute dirsrv server in the dirsrv domain. -+## Backport from https://github.com/fedora-selinux/selinux-policy-contrib/pull/241 -+## </summary> -+## <param name="domain"> -+## <summary> -+## Domain allowed to transition. -+## </summary> -+## </param> -+# -+ifndef(`dirsrv_systemctl',` -+ interface(`dirsrv_systemctl',` -+ gen_require(` -+ type dirsrv_unit_file_t; -+ type dirsrv_t; -+ ') -+ -+ systemd_exec_systemctl($1) -+ init_reload_services($1) -+ allow $1 dirsrv_unit_file_t:file read_file_perms; -+ allow $1 dirsrv_unit_file_t:service manage_service_perms; -+ -+ ps_process_pattern($1, dirsrv_t) -+ ') -+') --- -2.26.2 - -From f76c56c6072418c78f138678b1c4dd917fea6ee1 Mon Sep 17 00:00:00 2001 -From: Zdenek Pytela <zpytela@redhat.com> -Date: Thu, 7 May 2020 16:17:12 +0200 -Subject: [PATCH] Allow ipa-adtrust-install restart sssd and dirsrv services - -Allow ipa_helper_t connect to init using /run/systemd/private socket. -Allow ipa_helper_t read init process state. -Allow ipa_helper_t manage sssd and dirsrv units. - -See: https://bugzilla.redhat.com/show_bug.cgi?id=1820298 -See: https://github.com/fedora-selinux/selinux-policy-contrib/pull/241 -Reviewed-By: Florence Blanc-Renaud <frenaud@redhat.com> -Reviewed-By: Christian Heimes <cheimes@redhat.com> ---- - selinux/ipa.te | 8 ++++++++ - 1 file changed, 8 insertions(+) - -diff --git a/selinux/ipa.te b/selinux/ipa.te -index b1e29c8e2..587e5e585 100644 ---- a/selinux/ipa.te -+++ b/selinux/ipa.te -@@ -147,6 +147,9 @@ auth_use_nsswitch(ipa_helper_t) - - files_list_tmp(ipa_helper_t) - -+init_read_state(ipa_helper_t) -+init_stream_connect(ipa_helper_t) -+ - ipa_manage_pid_files(ipa_helper_t) - ipa_read_lib(ipa_helper_t) - -@@ -156,6 +159,10 @@ optional_policy(` - dirsrv_stream_connect(ipa_helper_t) - ') - -+optional_policy(` -+ dirsrv_systemctl(ipa_helper_t) -+') -+ - optional_policy(` - ldap_stream_connect(ipa_helper_t) - ') -@@ -182,6 +189,7 @@ optional_policy(` - - optional_policy(` - sssd_manage_lib_files(ipa_helper_t) -+ sssd_systemctl(ipa_helper_t) - ') - - ######################################## --- -2.26.2 - diff --git a/SOURCES/0012-CAless-installation-set-the-perms-on-KDC-cert-file_rhbz#1863616.patch b/SOURCES/0012-CAless-installation-set-the-perms-on-KDC-cert-file_rhbz#1863616.patch deleted file mode 100644 index ac9ddfe..0000000 --- a/SOURCES/0012-CAless-installation-set-the-perms-on-KDC-cert-file_rhbz#1863616.patch +++ /dev/null @@ -1,84 +0,0 @@ -From 81c955e561dd42ab70a39bf636c90e82a9d7d899 Mon Sep 17 00:00:00 2001 -From: Florence Blanc-Renaud <flo@redhat.com> -Date: Mon, 3 Aug 2020 18:52:07 +0200 -Subject: [PATCH] CAless installation: set the perms on KDC cert file - -In CA less installation, the KDC certificate file does not have -the expected 644 permissions. As a consequence, WebUI login -fails. - -The fix makes sure that the KDC cert file is saved with 644 perms. - -Fixes: https://pagure.io/freeipa/issue/8440 -Reviewed-By: Rob Crittenden <rcritten@redhat.com> ---- - ipaserver/install/krbinstance.py | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/ipaserver/install/krbinstance.py b/ipaserver/install/krbinstance.py -index 09d14693c..1910ff374 100644 ---- a/ipaserver/install/krbinstance.py -+++ b/ipaserver/install/krbinstance.py -@@ -536,6 +536,8 @@ class KrbInstance(service.Service): - certs.install_pem_from_p12(self.pkcs12_info[0], - self.pkcs12_info[1], - paths.KDC_CERT) -+ # The KDC cert needs to be readable by everyone -+ os.chmod(paths.KDC_CERT, 0o644) - certs.install_key_from_p12(self.pkcs12_info[0], - self.pkcs12_info[1], - paths.KDC_KEY) --- -2.26.2 - -From 295dd4235f693b7b4b4270b46a28cb6e7b3d00b4 Mon Sep 17 00:00:00 2001 -From: Florence Blanc-Renaud <flo@redhat.com> -Date: Mon, 3 Aug 2020 18:53:47 +0200 -Subject: [PATCH] ipatests: check KDC cert permissions in CA less install - -The KDC certificate file must be stored with 644 permissions. -Add a test checking the file permissions on server + replica. - -Related: https://pagure.io/freeipa/issue/8440 -Reviewed-By: Rob Crittenden <rcritten@redhat.com> ---- - ipatests/test_integration/test_caless.py | 9 +++++++++ - 1 file changed, 9 insertions(+) - -diff --git a/ipatests/test_integration/test_caless.py b/ipatests/test_integration/test_caless.py -index a7b2cbbbc..1ea7d9896 100644 ---- a/ipatests/test_integration/test_caless.py -+++ b/ipatests/test_integration/test_caless.py -@@ -1527,6 +1527,13 @@ class TestCertInstall(CALessBase): - assert result.returncode == 0 - - -+def verify_kdc_cert_perms(host): -+ """Verify that the KDC cert pem file has 0644 perms""" -+ cmd = host.run_command(['stat', '-c', -+ '"%a %G:%U"', paths.KDC_CERT]) -+ assert "644 root:root" in cmd.stdout_text -+ -+ - class TestPKINIT(CALessBase): - """Install master and replica with PKINIT""" - num_replicas = 1 -@@ -1540,6 +1547,7 @@ class TestPKINIT(CALessBase): - result = cls.install_server(pkinit_pkcs12_exists=True, - pkinit_pin=_DEFAULT) - assert result.returncode == 0 -+ verify_kdc_cert_perms(cls.master) - - @replica_install_teardown - def test_server_replica_install_pkinit(self): -@@ -1549,6 +1557,7 @@ class TestPKINIT(CALessBase): - pkinit_pin=_DEFAULT) - assert result.returncode == 0 - self.verify_installation() -+ verify_kdc_cert_perms(self.replicas[0]) - - - class TestServerReplicaCALessToCAFull(CALessBase): --- -2.26.2 - diff --git a/SOURCES/0013-IPA-EPN-Use-a-helper-to-retrieve-LDAP-attributes-fro_rhbz#1866938.patch b/SOURCES/0013-IPA-EPN-Use-a-helper-to-retrieve-LDAP-attributes-fro_rhbz#1866938.patch deleted file mode 100644 index b2655a8..0000000 --- a/SOURCES/0013-IPA-EPN-Use-a-helper-to-retrieve-LDAP-attributes-fro_rhbz#1866938.patch +++ /dev/null @@ -1,145 +0,0 @@ -From b95817e35716bbab000633043817202e17d7c53e Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Fran=C3=A7ois=20Cami?= <fcami@redhat.com> -Date: Thu, 6 Aug 2020 17:07:36 +0200 -Subject: [PATCH] IPA-EPN: Use a helper to retrieve LDAP attributes from an - entry - -Allow for empty attributes. - -Reviewed-By: Francois Cami <fcami@redhat.com> ---- - ipaclient/install/ipa_epn.py | 22 +++++++++++++++------- - 1 file changed, 15 insertions(+), 7 deletions(-) - -diff --git a/ipaclient/install/ipa_epn.py b/ipaclient/install/ipa_epn.py -index 65f9f3d47..0d1ae2add 100644 ---- a/ipaclient/install/ipa_epn.py -+++ b/ipaclient/install/ipa_epn.py -@@ -122,22 +122,30 @@ class EPNUserList: - """Return len(self).""" - return len(self._expiring_password_user_dq) - -+ def get_ldap_attr(self, entry, attr): -+ """Get a single value from a multi-valued attr in a safe way""" -+ return str(entry.get(attr, [""]).pop(0)) -+ - def add(self, entry): - """Parses and appends an LDAP user entry with the uid, cn, - givenname, sn, krbpasswordexpiration and mail attributes. - """ - try: - self._sorted = False -+ if entry.get("mail") is None: -+ logger.error("IPA-EPN: No mail address defined for: %s", -+ entry.dn) -+ return - self._expiring_password_user_dq.append( - dict( -- uid=str(entry["uid"].pop(0)), -- cn=str(entry["cn"].pop(0)), -- givenname=str(entry["givenname"].pop(0)), -- sn=str(entry["sn"].pop(0)), -- krbpasswordexpiration=str( -- entry["krbpasswordexpiration"].pop(0) -+ uid=self.get_ldap_attr(entry, "uid"), -+ cn=self.get_ldap_attr(entry, "cn"), -+ givenname=self.get_ldap_attr(entry, "givenname"), -+ sn=self.get_ldap_attr(entry, "sn"), -+ krbpasswordexpiration=( -+ self.get_ldap_attr(entry,"krbpasswordexpiration") - ), -- mail=str(entry["mail"]), -+ mail=str(entry.get("mail")), - ) - ) - except IndexError as e: --- -2.26.2 - -From 8e810d8cf38ec60d76178bd673e218fb05d56c8e Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Fran=C3=A7ois=20Cami?= <fcami@redhat.com> -Date: Thu, 6 Aug 2020 17:13:19 +0200 -Subject: [PATCH] IPA-EPN: fix configuration file typo -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Signed-off-by: François Cami <fcami@redhat.com> -Reviewed-By: Francois Cami <fcami@redhat.com> ---- - client/share/epn.conf | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/client/share/epn.conf b/client/share/epn.conf -index 0e590dfc3..e3645801c 100644 ---- a/client/share/epn.conf -+++ b/client/share/epn.conf -@@ -23,7 +23,7 @@ smtp_port = 25 - # Default None (empty value). - # smtp_password = - --# pecifies the number of seconds to wait for SMTP to respond. -+# Specifies the number of seconds to wait for SMTP to respond. - smtp_timeout = 60 - - # Specifies the type of secure connection to make. Options are: none, --- -2.26.2 - -From 1b1dbcbe9d83ba35f3cfdd01399f123816ec6e5b Mon Sep 17 00:00:00 2001 -From: Rob Crittenden <rcritten@redhat.com> -Date: Thu, 6 Aug 2020 18:57:10 -0400 -Subject: [PATCH] IPA-EPN: Test that users without givenname and/or mail are - handled - -The admin user does not have a givenname by default, allow for that. - -Report errors for users without a default e-mail address. - -Update the SHA256 hash with the typo fix. - -Reviewed-By: Francois Cami <fcami@redhat.com> ---- - ipatests/test_integration/test_epn.py | 22 +++++++++++++++++++++- - 1 file changed, 21 insertions(+), 1 deletion(-) - -diff --git a/ipatests/test_integration/test_epn.py b/ipatests/test_integration/test_epn.py -index 18f73c722..c5c73835a 100644 ---- a/ipatests/test_integration/test_epn.py -+++ b/ipatests/test_integration/test_epn.py -@@ -240,7 +240,7 @@ class TestEPN(IntegrationTest): - assert epn_conf in cmd1.stdout_text - assert epn_template in cmd1.stdout_text - cmd2 = self.master.run_command(["sha256sum", epn_conf]) -- ck = "4c207b5c9c760c36db0d3b2b93da50ea49edcc4002d6d1e7383601f0ec30b957" -+ ck = "192481b52fb591112afd7b55b12a44c6618fdbc7e05a3b1866fd67ec579c51df" - assert cmd2.stdout_text.find(ck) == 0 - - def test_EPN_smoketest_1(self): -@@ -591,3 +591,23 @@ class TestEPN(IntegrationTest): - self.master.put_file_contents('/etc/ipa/epn.conf', epn_conf) - result = tasks.ipa_epn(self.master, raiseonerr=False) - assert "smtp_delay cannot be less than zero" in result.stderr_text -+ -+ def test_EPN_admin(self): -+ """The admin user is special and has no givenName by default -+ It also doesn't by default have an e-mail address -+ Check --dry-run output. -+ """ -+ epn_conf = textwrap.dedent(''' -+ [global] -+ ''') -+ self.master.put_file_contents('/etc/ipa/epn.conf', epn_conf) -+ self.master.run_command( -+ ['ipa', 'user-mod', 'admin', '--password-expiration', -+ datetime_to_generalized_time( -+ datetime.datetime.utcnow() + datetime.timedelta(days=7) -+ )] -+ ) -+ (unused, stderr_text, _unused) = self._check_epn_output( -+ self.master, dry_run=True -+ ) -+ assert "uid=admin" in stderr_text --- -2.26.2 - diff --git a/SOURCES/0014-IPA-EPN-enhance-input-validation_rhbz#1866291.patch b/SOURCES/0014-IPA-EPN-enhance-input-validation_rhbz#1866291.patch deleted file mode 100644 index b905262..0000000 --- a/SOURCES/0014-IPA-EPN-enhance-input-validation_rhbz#1866291.patch +++ /dev/null @@ -1,404 +0,0 @@ -From 9479a393a71fe1de7d62ca2b50a7d3d8698d4ba1 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Fran=C3=A7ois=20Cami?= <fcami@redhat.com> -Date: Tue, 4 Aug 2020 11:05:31 +0200 -Subject: [PATCH] ipatests: tasks.py: fix ipa-epn invocation -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -tasks.py::ipa_epn would previously fail to invoke ipa-epn with -from_nbdays=0. - -Related: https://pagure.io/freeipa/issue/8449 -Signed-off-by: François Cami <fcami@redhat.com> -Reviewed-By: Rob Crittenden <rcritten@redhat.com> -Reviewed-By: Florence Blanc-Renaud <frenaud@redhat.com> ---- - ipatests/pytest_ipa/integration/tasks.py | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/ipatests/pytest_ipa/integration/tasks.py b/ipatests/pytest_ipa/integration/tasks.py -index a3f7cc838..c0a592750 100755 ---- a/ipatests/pytest_ipa/integration/tasks.py -+++ b/ipatests/pytest_ipa/integration/tasks.py -@@ -1470,9 +1470,9 @@ def ipa_epn( - cmd.append("--dry-run") - if mailtest: - cmd.append("--mail-test") -- if from_nbdays: -+ if from_nbdays is not None: - cmd.extend(("--from-nbdays", str(from_nbdays))) -- if to_nbdays: -+ if to_nbdays is not None: - cmd.extend(("--to-nbdays", str(to_nbdays))) - return host.run_command(cmd, raiseonerr=raiseonerr) - --- -2.26.2 - -From 3b8fdd87760cfb8ec739c67298f012cf0bd3ac39 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Fran=C3=A7ois=20Cami?= <fcami@redhat.com> -Date: Wed, 5 Aug 2020 10:02:31 +0200 -Subject: [PATCH] ipatests: test_epn: test_EPN_nbdays enhancements -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Enhance test_EPN_nbdays so that it checks: -* that no emails get sent when using --dry-run -* that --from-nbdays implies --dry-run -* that --to-nbdays requires --from-nbdays -* illegal inputs for nbdays: -** from-nbdays > to-nbdays -** non-numerical input -** decimal input - -Fixes: https://pagure.io/freeipa/issue/8449 -Signed-off-by: François Cami <fcami@redhat.com> -Reviewed-By: Rob Crittenden <rcritten@redhat.com> -Reviewed-By: Florence Blanc-Renaud <frenaud@redhat.com> ---- - ipatests/test_integration/test_epn.py | 130 +++++++++++++++++++++++--- - 1 file changed, 117 insertions(+), 13 deletions(-) - -diff --git a/ipatests/test_integration/test_epn.py b/ipatests/test_integration/test_epn.py -index f4c123c6d..18f73c722 100644 ---- a/ipatests/test_integration/test_epn.py -+++ b/ipatests/test_integration/test_epn.py -@@ -15,6 +15,13 @@ - # You should have received a copy of the GNU General Public License - # along with this program. If not, see <http://www.gnu.org/licenses/>. - -+###### -+# This test suite will _expectedly_ fail if run at the end of the UTC day -+# because users would be created during day N and then EPN output checked -+# during day N+1. This is expected and should be ignored as it does not -+# reflect a product bug. -- fcami -+###### -+ - from __future__ import print_function, absolute_import - - import base64 -@@ -178,12 +185,14 @@ class TestEPN(IntegrationTest): - from_nbdays=None, - to_nbdays=None, - raiseonerr=True, -+ validatejson=True - ): - result = tasks.ipa_epn(host, raiseonerr=raiseonerr, dry_run=dry_run, - from_nbdays=from_nbdays, - to_nbdays=to_nbdays) -- json.dumps(json.loads(result.stdout_text), ensure_ascii=False) -- return (result.stdout_text, result.stderr_text) -+ if validatejson: -+ json.dumps(json.loads(result.stdout_text), ensure_ascii=False) -+ return (result.stdout_text, result.stderr_text, result.returncode) - - @classmethod - def install(cls, mh): -@@ -244,12 +253,12 @@ class TestEPN(IntegrationTest): - ''') - self.master.put_file_contents('/etc/ipa/epn.conf', epn_conf) - # check EPN on client (LDAP+GSSAPI) -- (stdout_text, unused) = self._check_epn_output( -+ (stdout_text, unused, _unused) = self._check_epn_output( - self.clients[0], dry_run=True - ) - assert len(json.loads(stdout_text)) == 0 - # check EPN on master (LDAPI) -- (stdout_text, unused) = self._check_epn_output( -+ (stdout_text, unused, _unused) = self._check_epn_output( - self.master, dry_run=True - ) - assert len(json.loads(stdout_text)) == 0 -@@ -292,10 +301,10 @@ class TestEPN(IntegrationTest): - ), - ], - ) -- (stdout_text_client, unused) = self._check_epn_output( -+ (stdout_text_client, unused, _unused) = self._check_epn_output( - self.clients[0], dry_run=True - ) -- (stdout_text_master, unused) = self._check_epn_output( -+ (stdout_text_master, unused, _unused) = self._check_epn_output( - self.master, dry_run=True - ) - assert stdout_text_master == stdout_text_client -@@ -331,10 +340,10 @@ class TestEPN(IntegrationTest): - password=None, - ) - -- (stdout_text_client, unused) = self._check_epn_output( -+ (stdout_text_client, unused, _unused) = self._check_epn_output( - self.clients[0], dry_run=True - ) -- (stdout_text_master, unused) = self._check_epn_output( -+ (stdout_text_master, unused, _unused) = self._check_epn_output( - self.master, dry_run=True - ) - assert stdout_text_master == stdout_text_client -@@ -344,22 +353,117 @@ class TestEPN(IntegrationTest): - expected_users = ["user1", "user3", "user7", "user14", "user28"] - assert sorted(user_lst) == sorted(expected_users) - -- def test_EPN_nbdays(self): -+ def test_EPN_nbdays_0(self, cleanupmail): - """Test the to/from nbdays options (implies --dry-run) - - We have a set of users installed with varying expiration - dates. Confirm that to/from nbdays finds them. -+ -+ Make sure --dry-run does not accidentally send emails. - """ - -- # Compare the notify_ttls values -+ # Use the notify_ttls values with a 1-day sliding window - for i in self.notify_ttls: - user_list = [] -- (stdout_text_client, unused) = self._check_epn_output( -- self.clients[0], from_nbdays=i, to_nbdays=i + 1, dry_run=True) -+ (stdout_text_client, unused, _unused) = self._check_epn_output( -+ self.clients[0], from_nbdays=i, to_nbdays=i + 1, dry_run=True -+ ) - for user in json.loads(stdout_text_client): - user_list.append(user["uid"]) - assert len(user_list) == 1 -- assert user_list[0] == "user%d" % i -+ userid = "user{id}".format(id=i) -+ assert user_list[0] == userid -+ -+ # Check that the user list is expected for any given notify_ttls. -+ (stdout_text_client, unused, _unused) = self._check_epn_output( -+ self.clients[0], to_nbdays=i -+ ) -+ user_list = [user["uid"] for user in json.loads(stdout_text_client)] -+ assert len(user_list) == 1 -+ assert user_list[0] == "user{id}".format(id=i - 1) -+ -+ # make sure no emails were sent -+ result = self.clients[0].run_command(['ls', '-lha', '/var/mail/']) -+ assert userid not in result.stdout_text -+ -+ def test_EPN_nbdays_1(self, cleanupmail): -+ """Test that for a given range, we find the users in that range""" -+ -+ # Use hardcoded date ranges for now -+ for date_range in [(0, 5), (7, 15), (1, 20)]: -+ expected_user_list = ["user{i}".format(i=i) -+ for i in range(date_range[0], date_range[1])] -+ (stdout_text_client, unused, _unused) = self._check_epn_output( -+ self.clients[0], -+ from_nbdays=date_range[0], -+ to_nbdays=date_range[1] -+ ) -+ user_list = [user["uid"] for user in json.loads(stdout_text_client)] -+ for user in expected_user_list: -+ assert user in user_list -+ for user in user_list: -+ assert user in expected_user_list -+ -+ # Test the to/from nbdays options behavior with illegal input -+ -+ def test_EPN_nbdays_input_0(self): -+ """Make sure that --to-nbdays implies --dry-run ; -+ therefore check that the output is valid JSON and contains the -+ expected user. -+ """ -+ -+ (stdout_text_client, unused, _unused) = self._check_epn_output( -+ self.clients[0], to_nbdays=5, dry_run=False -+ ) -+ assert len(json.loads(stdout_text_client)) == 1 -+ assert json.loads(stdout_text_client)[0]["uid"] == "user4" -+ -+ def test_EPN_nbdays_input_1(self): -+ """Make sure that --from-nbdays cannot be used without --to-nbdays""" -+ -+ (unused, stderr_text_client, rc) = \ -+ self._check_epn_output( -+ self.clients[0], from_nbdays=3, -+ raiseonerr=False, validatejson=False -+ ) -+ assert "You cannot specify --from-nbdays without --to-nbdays" \ -+ in stderr_text_client -+ assert rc > 0 -+ -+ @pytest.mark.xfail(reason='freeipa ticket 8444', strict=True) -+ def test_EPN_nbdays_input_2(self): -+ """alpha input""" -+ -+ (unused, stderr, rc) = self._check_epn_output( -+ self.clients[0], to_nbdays="abc", -+ raiseonerr=False, validatejson=False -+ ) -+ assert "error: --to-nbdays must be an integer." in stderr -+ assert rc > 0 -+ -+ @pytest.mark.xfail(reason='freeipa ticket 8444', strict=True) -+ def test_EPN_nbdays_input_3(self): -+ """from_nbdays > to_nbdays""" -+ -+ (unused, stderr, rc) = self._check_epn_output( -+ self.clients[0], from_nbdays=9, to_nbdays=7, -+ raiseonerr=False, validatejson=False -+ ) -+ assert "error: --from-nbdays must be smaller than --to-nbdays." in \ -+ stderr -+ assert rc > 0 -+ -+ @pytest.mark.xfail(reason='freeipa ticket 8444', strict=True) -+ def test_EPN_nbdays_input_4(self): -+ """decimal input""" -+ -+ (unused, stderr, rc) = self._check_epn_output( -+ self.clients[0], to_nbdays=7.3, -+ raiseonerr=False, validatejson=False -+ ) -+ logger.info(stderr) -+ assert rc > 0 -+ assert "error: --to-nbdays must be an integer." in stderr - - # From here the tests build on one another: - # 1) add auth --- -2.26.2 - -From b4266023e04729db12de2f7e0de4da9e1d00db38 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Fran=C3=A7ois=20Cami?= <fcami@redhat.com> -Date: Fri, 7 Aug 2020 19:08:39 +0200 -Subject: [PATCH] ipatests: test_epn: update error messages -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Update error messages in the test. - -Fixes: https://pagure.io/freeipa/issue/8449 -Signed-off-by: François Cami <fcami@redhat.com> -Reviewed-By: Rob Crittenden <rcritten@redhat.com> -Reviewed-By: Florence Blanc-Renaud <frenaud@redhat.com> -Reviewed-By: Rob Crittenden <rcritten@redhat.com> -Reviewed-By: Florence Blanc-Renaud <frenaud@redhat.com> ---- - ipatests/test_integration/test_epn.py | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/ipatests/test_integration/test_epn.py b/ipatests/test_integration/test_epn.py -index e03521193..af662140a 100644 ---- a/ipatests/test_integration/test_epn.py -+++ b/ipatests/test_integration/test_epn.py -@@ -458,7 +458,7 @@ class TestEPN(IntegrationTest): - self.clients[0], to_nbdays="abc", - raiseonerr=False, validatejson=False - ) -- assert "error: --to-nbdays must be an integer." in stderr -+ assert "error: --to-nbdays must be a positive integer." in stderr - assert rc > 0 - - @pytest.mark.xfail(reason='freeipa ticket 8444', strict=True) -@@ -483,7 +483,7 @@ class TestEPN(IntegrationTest): - ) - logger.info(stderr) - assert rc > 0 -- assert "error: --to-nbdays must be an integer." in stderr -+ assert "error: --to-nbdays must be a positive integer." in stderr - - # From here the tests build on one another: - # 1) add auth --- -2.26.2 - -From 2809084a44e3b174fa48a611e79f04358e1d6dca Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Fran=C3=A7ois=20Cami?= <fcami@redhat.com> -Date: Wed, 5 Aug 2020 09:05:31 +0200 -Subject: [PATCH] IPA-EPN: enhance input validation -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Enhance input validation: -* make sure --from-nbdays and --to-nbdays are integer -* make sure --from-nbdays < --to-nbdays - -Fixes: https://pagure.io/freeipa/issue/8444 -Signed-off-by: François Cami <fcami@redhat.com> -Reviewed-By: Rob Crittenden <rcritten@redhat.com> -Reviewed-By: Florence Blanc-Renaud <frenaud@redhat.com> -Reviewed-By: Rob Crittenden <rcritten@redhat.com> -Reviewed-By: Florence Blanc-Renaud <frenaud@redhat.com> ---- - ipaclient/install/ipa_epn.py | 28 +++++++++++++++++++++++++-- - ipatests/test_integration/test_epn.py | 3 --- - 2 files changed, 26 insertions(+), 5 deletions(-) - -diff --git a/ipaclient/install/ipa_epn.py b/ipaclient/install/ipa_epn.py -index 82d7b3f57..88c926e88 100644 ---- a/ipaclient/install/ipa_epn.py -+++ b/ipaclient/install/ipa_epn.py -@@ -246,9 +246,33 @@ class EPN(admintool.AdminTool): - - def validate_options(self): - super(EPN, self).validate_options(needs_root=True) -- if self.options.to_nbdays: -+ if self.options.to_nbdays is not None: -+ try: -+ if int(self.options.to_nbdays) < 0: -+ raise RuntimeError('Input is negative.') -+ except Exception as e: -+ self.option_parser.error( -+ "--to-nbdays must be a positive integer. " -+ "{error}".format(error=e) -+ ) - self.options.dry_run = True -- if self.options.from_nbdays and not self.options.to_nbdays: -+ if self.options.from_nbdays is not None: -+ try: -+ if int(self.options.from_nbdays) < 0: -+ raise RuntimeError('Input is negative.') -+ except Exception as e: -+ self.option_parser.error( -+ "--from-nbdays must be a positive integer. " -+ "{error}".format(error=e) -+ ) -+ if self.options.from_nbdays is not None and \ -+ self.options.to_nbdays is not None: -+ if int(self.options.from_nbdays) >= int(self.options.to_nbdays): -+ self.option_parser.error( -+ "--from-nbdays must be smaller than --to-nbdays." -+ ) -+ if self.options.from_nbdays is not None and \ -+ self.options.to_nbdays is None: - self.option_parser.error( - "You cannot specify --from-nbdays without --to-nbdays" - ) -diff --git a/ipatests/test_integration/test_epn.py b/ipatests/test_integration/test_epn.py -index af662140a..fc26888cb 100644 ---- a/ipatests/test_integration/test_epn.py -+++ b/ipatests/test_integration/test_epn.py -@@ -450,7 +450,6 @@ class TestEPN(IntegrationTest): - in stderr_text_client - assert rc > 0 - -- @pytest.mark.xfail(reason='freeipa ticket 8444', strict=True) - def test_EPN_nbdays_input_2(self): - """alpha input""" - -@@ -461,7 +460,6 @@ class TestEPN(IntegrationTest): - assert "error: --to-nbdays must be a positive integer." in stderr - assert rc > 0 - -- @pytest.mark.xfail(reason='freeipa ticket 8444', strict=True) - def test_EPN_nbdays_input_3(self): - """from_nbdays > to_nbdays""" - -@@ -473,7 +471,6 @@ class TestEPN(IntegrationTest): - stderr - assert rc > 0 - -- @pytest.mark.xfail(reason='freeipa ticket 8444', strict=True) - def test_EPN_nbdays_input_4(self): - """decimal input""" - --- -2.26.2 - diff --git a/SOURCES/0015-IPA-EPN-Fix-SMTP-connection-error-handling_rhbz#1863079.patch b/SOURCES/0015-IPA-EPN-Fix-SMTP-connection-error-handling_rhbz#1863079.patch deleted file mode 100644 index 3871c56..0000000 --- a/SOURCES/0015-IPA-EPN-Fix-SMTP-connection-error-handling_rhbz#1863079.patch +++ /dev/null @@ -1,141 +0,0 @@ -From 3cf7fb1014ae40fd5a5278f27577a8196a4af051 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Fran=C3=A7ois=20Cami?= <fcami@redhat.com> -Date: Fri, 7 Aug 2020 07:51:53 +0200 -Subject: [PATCH] ipatests: test_epn: add test_EPN_connection_refused -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Add a test for EPN behavior when the configured SMTP does not -accept connections. - -Fixes: https://pagure.io/freeipa/issue/8445 -Signed-off-by: François Cami <fcami@redhat.com> -Reviewed-By: Florence Blanc-Renaud <frenaud@redhat.com> -Reviewed-By: Rob Crittenden <rcritten@redhat.com> ---- - ipatests/test_integration/test_epn.py | 27 ++++++++++++++++++++++++--- - 1 file changed, 24 insertions(+), 3 deletions(-) - -diff --git a/ipatests/test_integration/test_epn.py b/ipatests/test_integration/test_epn.py -index c5c73835a..1a25d3710 100644 ---- a/ipatests/test_integration/test_epn.py -+++ b/ipatests/test_integration/test_epn.py -@@ -182,14 +182,20 @@ class TestEPN(IntegrationTest): - self, - host, - dry_run=False, -+ mailtest=False, - from_nbdays=None, - to_nbdays=None, - raiseonerr=True, - validatejson=True - ): -- result = tasks.ipa_epn(host, raiseonerr=raiseonerr, dry_run=dry_run, -- from_nbdays=from_nbdays, -- to_nbdays=to_nbdays) -+ result = tasks.ipa_epn( -+ host, -+ from_nbdays=from_nbdays, -+ to_nbdays=to_nbdays, -+ mailtest=mailtest, -+ dry_run=dry_run, -+ raiseonerr=raiseonerr -+ ) - if validatejson: - json.dumps(json.loads(result.stdout_text), ensure_ascii=False) - return (result.stdout_text, result.stderr_text, result.returncode) -@@ -243,6 +249,21 @@ class TestEPN(IntegrationTest): - ck = "192481b52fb591112afd7b55b12a44c6618fdbc7e05a3b1866fd67ec579c51df" - assert cmd2.stdout_text.find(ck) == 0 - -+ @pytest.mark.xfail(reason='freeipa ticket 8445', strict=True) -+ def test_EPN_connection_refused(self): -+ """Test EPN behavior when the configured SMTP is down -+ """ -+ -+ self.master.run_command(["systemctl", "stop", "postfix"]) -+ (unused, stderr_text, rc) = self._check_epn_output( -+ self.master, mailtest=True, -+ raiseonerr=False, validatejson=False -+ ) -+ self.master.run_command(["systemctl", "start", "postfix"]) -+ assert "IPA-EPN: Could not connect to the configured SMTP server" in \ -+ stderr_text -+ assert rc > 0 -+ - def test_EPN_smoketest_1(self): - """No users except admin. Check --dry-run output. - With the default configuration, the result should be an empty list. --- -2.26.2 - -From 53f330b053740b169d211aa16b3b36fb61157bbd Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Fran=C3=A7ois=20Cami?= <fcami@redhat.com> -Date: Fri, 7 Aug 2020 06:19:31 +0200 -Subject: [PATCH] IPA-EPN: Fix SMTP connection error handling -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Enhance error message when SMTP is down. - -Fixes: https://pagure.io/freeipa/issue/8445 -Signed-off-by: François Cami <fcami@redhat.com> -Reviewed-By: Florence Blanc-Renaud <frenaud@redhat.com> -Reviewed-By: Rob Crittenden <rcritten@redhat.com> ---- - ipaclient/install/ipa_epn.py | 17 ++++++++++------- - ipatests/test_integration/test_epn.py | 1 - - 2 files changed, 10 insertions(+), 8 deletions(-) - -diff --git a/ipaclient/install/ipa_epn.py b/ipaclient/install/ipa_epn.py -index 0d1ae2add..82d7b3f57 100644 ---- a/ipaclient/install/ipa_epn.py -+++ b/ipaclient/install/ipa_epn.py -@@ -38,6 +38,7 @@ from email.mime.multipart import MIMEMultipart - from email.mime.text import MIMEText - from email.header import Header - from email.utils import make_msgid -+from socket import error as socketerror - - from ipaplatform.paths import paths - from ipalib import api, errors -@@ -640,13 +641,15 @@ class MTAClient: - port=self._smtp_port, - timeout=self._smtp_timeout, - ) -- except smtplib.SMTPException as e: -- logger.error( -- "IPA-EPN: Unable to connect to %s:%s: %s", -- self._smtp_hostname, -- self._smtp_port, -- e, -- ) -+ except (socketerror, smtplib.SMTPException) as e: -+ msg = \ -+ "IPA-EPN: Could not connect to the configured SMTP server: " \ -+ "{host}:{port}: {error}".format( -+ host=self._smtp_hostname, -+ port=self._smtp_port, -+ error=e -+ ) -+ raise admintool.ScriptError(msg) - - try: - self._conn.ehlo() -diff --git a/ipatests/test_integration/test_epn.py b/ipatests/test_integration/test_epn.py -index 1a25d3710..e03521193 100644 ---- a/ipatests/test_integration/test_epn.py -+++ b/ipatests/test_integration/test_epn.py -@@ -249,7 +249,6 @@ class TestEPN(IntegrationTest): - ck = "192481b52fb591112afd7b55b12a44c6618fdbc7e05a3b1866fd67ec579c51df" - assert cmd2.stdout_text.find(ck) == 0 - -- @pytest.mark.xfail(reason='freeipa ticket 8445', strict=True) - def test_EPN_connection_refused(self): - """Test EPN behavior when the configured SMTP is down - """ --- -2.26.2 - diff --git a/SOURCES/0016-Set-mode-of-etc-ipa-ca.crt-to-0644-in-CA-less-instal_rhbz#1870202.patch b/SOURCES/0016-Set-mode-of-etc-ipa-ca.crt-to-0644-in-CA-less-instal_rhbz#1870202.patch deleted file mode 100644 index 8f8c1df..0000000 --- a/SOURCES/0016-Set-mode-of-etc-ipa-ca.crt-to-0644-in-CA-less-instal_rhbz#1870202.patch +++ /dev/null @@ -1,110 +0,0 @@ -From 4a97145c3a76a4d9ebf52b3905410a0bd7bec856 Mon Sep 17 00:00:00 2001 -From: Rob Crittenden <rcritten@redhat.com> -Date: Tue, 4 Aug 2020 15:09:56 -0400 -Subject: [PATCH] Set mode of /etc/ipa/ca.crt to 0644 in CA-less installations - -It was previously being set to 0444 which triggered a warning -in freeipa-healthcheck. - -Even root needs DAC_OVERRIDE capability to write to a 0o444 file -which may not be available in some environments. - -https://pagure.io/freeipa/issue/8441 - -Reviewed-By: Alexander Bokovoy <abokovoy@redhat.com> ---- - ipaserver/install/certs.py | 2 +- - ipaserver/install/server/install.py | 5 ++--- - 2 files changed, 3 insertions(+), 4 deletions(-) - -diff --git a/ipaserver/install/certs.py b/ipaserver/install/certs.py -index 22ee79bd1..51d9f9221 100644 ---- a/ipaserver/install/certs.py -+++ b/ipaserver/install/certs.py -@@ -329,7 +329,7 @@ class CertDB: - ipautil.backup_file(cacert_fname) - root_nicknames = self.find_root_cert(nickname)[:-1] - with open(cacert_fname, "w") as f: -- os.fchmod(f.fileno(), stat.S_IRUSR | stat.S_IRGRP | stat.S_IROTH) -+ os.fchmod(f.fileno(), 0o644) - for root in root_nicknames: - result = self.run_certutil(["-L", "-n", root, "-a"], - capture_output=True) -diff --git a/ipaserver/install/server/install.py b/ipaserver/install/server/install.py -index b53c58e2a..6a593602f 100644 ---- a/ipaserver/install/server/install.py -+++ b/ipaserver/install/server/install.py -@@ -891,9 +891,8 @@ def install(installer): - - ca.install_step_0(False, None, options, custodia=custodia) - else: -- # Put the CA cert where other instances expect it -- x509.write_certificate(http_ca_cert, paths.IPA_CA_CRT) -- os.chmod(paths.IPA_CA_CRT, 0o444) -+ # /etc/ipa/ca.crt is created as a side-effect of -+ # dsinstance::enable_ssl() via export_ca_cert() - - if not options.no_pkinit: - x509.write_certificate(http_ca_cert, paths.KDC_CA_BUNDLE_PEM) --- -2.26.2 - -From da2079ce2cc841aec56da872131112eb24326f81 Mon Sep 17 00:00:00 2001 -From: Rob Crittenden <rcritten@redhat.com> -Date: Tue, 4 Aug 2020 15:12:20 -0400 -Subject: [PATCH] ipatests: Check permissions of /etc/ipa/ca.crt new - installations - -It should be 0644 root:root for both CA-ful and CA-less installs. - -https://pagure.io/freeipa/issue/8441 - -Reviewed-By: Alexander Bokovoy <abokovoy@redhat.com> ---- - ipatests/test_integration/test_caless.py | 8 ++++++++ - ipatests/test_integration/test_installation.py | 10 ++++++++++ - 2 files changed, 18 insertions(+) - -diff --git a/ipatests/test_integration/test_caless.py b/ipatests/test_integration/test_caless.py -index 1ea7d9896..16dfbb320 100644 ---- a/ipatests/test_integration/test_caless.py -+++ b/ipatests/test_integration/test_caless.py -@@ -394,6 +394,14 @@ class CALessBase(IntegrationTest): - host, cert_from_ldap.public_bytes(x509.Encoding.PEM)) - assert cert_from_ldap == expected_cacrt - -+ result = host.run_command( -+ ["/usr/bin/stat", "-c", "%U:%G:%a", paths.IPA_CA_CRT] -+ ) -+ (owner, group, mode) = result.stdout_text.strip().split(':') -+ assert owner == "root" -+ assert group == "root" -+ assert mode == "644" -+ - # Verify certmonger was not started - result = host.run_command(['getcert', 'list'], raiseonerr=False) - assert result.returncode == 0 -diff --git a/ipatests/test_integration/test_installation.py b/ipatests/test_integration/test_installation.py -index 100a5a766..fb1990083 100644 ---- a/ipatests/test_integration/test_installation.py -+++ b/ipatests/test_integration/test_installation.py -@@ -346,6 +346,16 @@ class TestInstallCA(IntegrationTest): - status = tasks.wait_for_request(self.master, request_id[0], 300) - assert status == "MONITORING" - -+ def test_ipa_ca_crt_permissions(self): -+ """Verify that /etc/ipa/ca.cert is mode 0644 root:root""" -+ result = self.master.run_command( -+ ["/usr/bin/stat", "-c", "%U:%G:%a", paths.IPA_CA_CRT] -+ ) -+ out = str(result.stdout_text.strip()) -+ (owner, group, mode) = out.split(':') -+ assert mode == "644" -+ assert owner == "root" -+ assert group == "root" - - class TestInstallWithCA_KRA1(InstallTestBase1): - --- -2.26.2 - diff --git a/SOURCES/0017-SELinux-Policy-let-custodia-replicate-keys_rhbz#1868432.patch b/SOURCES/0017-SELinux-Policy-let-custodia-replicate-keys_rhbz#1868432.patch deleted file mode 100644 index 2e1c708..0000000 --- a/SOURCES/0017-SELinux-Policy-let-custodia-replicate-keys_rhbz#1868432.patch +++ /dev/null @@ -1,62 +0,0 @@ -From 438285470610dee4aa6a56523df22307840ede87 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Fran=C3=A7ois=20Cami?= <fcami@redhat.com> -Date: Mon, 7 Sep 2020 11:07:21 +0200 -Subject: [PATCH] SELinux Policy: let custodia replicate keys -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Enhance the SELinux policy so that custodia can replicate sub-CA keys -and certificates: -allow ipa_custodia_t self:tcp_socket { bind create }; -allow ipa_custodia_t node_t:tcp_socket node_bind; -allow ipa_custodia_t pki_tomcat_cert_t:dir remove_name; -allow ipa_custodia_t pki_tomcat_cert_t:file create; -allow ipa_custodia_t pki_tomcat_cert_t:file unlink; -allow ipa_custodia_t self:process execmem; - -Found by: test_replica_promotion::TestSubCAkeyReplication - -Fixes: https://pagure.io/freeipa/issue/8488 -Signed-off-by: François Cami <fcami@redhat.com> -Reviewed-By: Rob Crittenden <rcritten@redhat.com> ---- - selinux/ipa.te | 11 +++++++++++ - 1 file changed, 11 insertions(+) - -diff --git a/selinux/ipa.te b/selinux/ipa.te -index c4c3fa805..3fa4ba980 100644 ---- a/selinux/ipa.te -+++ b/selinux/ipa.te -@@ -72,6 +72,9 @@ logging_log_file(ipa_custodia_log_t) - type ipa_custodia_tmp_t; - files_tmp_file(ipa_custodia_tmp_t) - -+type pki_tomcat_cert_t; -+type node_t; -+ - ######################################## - # - # ipa_otpd local policy -@@ -323,10 +326,18 @@ optional_policy(` - allow ipa_custodia_t self:capability { setgid setuid }; - allow ipa_custodia_t self:fifo_file rw_fifo_file_perms; - allow ipa_custodia_t self:netlink_route_socket { create_socket_perms nlmsg_read }; -+allow ipa_custodia_t self:process execmem; - allow ipa_custodia_t self:unix_stream_socket create_stream_socket_perms; - allow ipa_custodia_t self:unix_dgram_socket create_socket_perms; -+allow ipa_custodia_t self:tcp_socket { bind create }; - allow ipa_custodia_t self:udp_socket create_socket_perms; - -+allow ipa_custodia_t node_t:tcp_socket node_bind; -+ -+allow ipa_custodia_t pki_tomcat_cert_t:dir remove_name; -+allow ipa_custodia_t pki_tomcat_cert_t:file create; -+allow ipa_custodia_t pki_tomcat_cert_t:file unlink; -+ - manage_dirs_pattern(ipa_custodia_t,ipa_custodia_log_t,ipa_custodia_log_t) - manage_files_pattern(ipa_custodia_t, ipa_custodia_log_t, ipa_custodia_log_t) - logging_log_filetrans(ipa_custodia_t, ipa_custodia_log_t, { dir file }) --- -2.26.2 - diff --git a/SOURCES/0018-dogtaginstance.py-add-debug-to-pkispawn_rhbz#1879604.patch b/SOURCES/0018-dogtaginstance.py-add-debug-to-pkispawn_rhbz#1879604.patch deleted file mode 100644 index a95c32b..0000000 --- a/SOURCES/0018-dogtaginstance.py-add-debug-to-pkispawn_rhbz#1879604.patch +++ /dev/null @@ -1,117 +0,0 @@ -Adapted version of d1c860e59b52. to make it apply without commits - -34b4d9bce5 - ipatests: Test ipa user login with wrong password -ab36d79adc - ipatests: Test for ipa-nis-manage CLI tool. - -From d1c860e59b5237178066ed963cc2fa50d99cd690 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Fran=C3=A7ois=20Cami?= <fcami@redhat.com> -Date: Wed, 16 Sep 2020 17:07:21 +0200 -Subject: [PATCH] ipatests: check that pkispawn log is not empty -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Since commits: -https://github.com/dogtagpki/pki/commit/0102d836f4eac0fcea0adddb4c98d5ea05e4e8f6 -https://github.com/dogtagpki/pki/commit/de217557a642d799b1c4c390efa55493707c738e -pkispawn will not honor the pki_log_level configuration item. -All 10.9 Dogtag versions have these commits. -This affects FreeIPA in that it makes debugging Dogtag installation issues next -to impossible. -Adding --debug to the pkispawn CLI is required to revert to the previous -behavior. -Therefore check that the log is not empty and contains DEBUG+INFO lines. - -Fixes: https://pagure.io/freeipa/issue/8503 -Signed-off-by: François Cami <fcami@redhat.com> -Reviewed-By: Thomas Woerner <twoerner@redhat.com> -Reviewed-By: Christian Heimes <cheimes@redhat.com> -Reviewed-By: Rob Crittenden <rcritten@redhat.com> -Reviewed-By: Thomas Woerner <twoerner@redhat.com> -Reviewed-By: Christian Heimes <cheimes@redhat.com> -Reviewed-By: Rob Crittenden <rcritten@redhat.com> ---- - ipatests/test_integration/test_commands.py | 23 ++++++++++++++++++++++ - 1 file changed, 23 insertions(+) - -diff --git a/ipatests/test_integration/test_commands.py b/ipatests/test_integration/test_commands.py -index fa6abd81e..3a12bcde2 100644 ---- a/ipatests/test_integration/test_commands.py -+++ b/ipatests/test_integration/test_commands.py -@@ -1295,3 +1295,26 @@ class TestIPACommand(IntegrationTest): - assert msg2 not in result.stderr_text - finally: - bashrc_backup.restore() -+ -+ def test_pkispawn_log_is_present(self): -+ """ -+ This testcase checks if pkispawn logged properly. -+ It is a candidate from being moved out of test_commands. -+ """ -+ result = self.master.run_command( -+ ["ls", "/var/log/pki/"] -+ ) -+ pkispawnlogfile = None -+ for file in result.stdout_text.splitlines(): -+ if file.startswith("pki-ca-spawn"): -+ pkispawnlogfile = file -+ break -+ assert pkispawnlogfile is not None -+ pkispawnlogfile = os.path.sep.join(("/var/log/pki", pkispawnlogfile)) -+ pkispawnlog = self.master.get_file_contents( -+ pkispawnlogfile, encoding='utf-8' -+ ) -+ # Totally arbitrary. pkispawn debug logs tend to be > 10KiB. -+ assert len(pkispawnlog) > 1024 -+ assert "DEBUG" in pkispawnlog -+ assert "INFO" in pkispawnlog --- -2.26.2 - -From 97c6d2d2c2359b8ff5585afa0d2e5f5599cd5048 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Fran=C3=A7ois=20Cami?= <fcami@redhat.com> -Date: Thu, 17 Sep 2020 07:31:59 +0200 -Subject: [PATCH] dogtaginstance.py: add --debug to pkispawn -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Since commits: -https://github.com/dogtagpki/pki/commit/0102d836f4eac0fcea0adddb4c98d5ea05e4e8f6 -https://github.com/dogtagpki/pki/commit/de217557a642d799b1c4c390efa55493707c738e -pkispawn will not honor the pki_log_level configuration item. -All 10.9 Dogtag versions have these commits. -This affects FreeIPA in that it makes debugging Dogtag installation issues next -to impossible. -Adding --debug to the pkispawn CLI is required to revert to the previous -behavior. - -Fixes: https://pagure.io/freeipa/issue/8503 -Signed-off-by: François Cami <fcami@redhat.com> -Reviewed-By: Thomas Woerner <twoerner@redhat.com> -Reviewed-By: Christian Heimes <cheimes@redhat.com> -Reviewed-By: Rob Crittenden <rcritten@redhat.com> -Reviewed-By: Thomas Woerner <twoerner@redhat.com> -Reviewed-By: Christian Heimes <cheimes@redhat.com> -Reviewed-By: Rob Crittenden <rcritten@redhat.com> ---- - ipaserver/install/dogtaginstance.py | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/ipaserver/install/dogtaginstance.py b/ipaserver/install/dogtaginstance.py -index 524262ad7..03fdd7c0b 100644 ---- a/ipaserver/install/dogtaginstance.py -+++ b/ipaserver/install/dogtaginstance.py -@@ -183,7 +183,8 @@ class DogtagInstance(service.Service): - subsystem = self.subsystem - args = [paths.PKISPAWN, - "-s", subsystem, -- "-f", cfg_file] -+ "-f", cfg_file, -+ "--debug"] - - with open(cfg_file) as f: - logger.debug( --- -2.26.2 - diff --git a/SOURCES/0019-SELinux-add-dedicated-policy-for-ipa-pki-retrieve-key-ipatests-enhance-TestSubCAkeyReplication_rhbz#1870202.patch b/SOURCES/0019-SELinux-add-dedicated-policy-for-ipa-pki-retrieve-key-ipatests-enhance-TestSubCAkeyReplication_rhbz#1870202.patch deleted file mode 100644 index d271d98..0000000 --- a/SOURCES/0019-SELinux-add-dedicated-policy-for-ipa-pki-retrieve-key-ipatests-enhance-TestSubCAkeyReplication_rhbz#1870202.patch +++ /dev/null @@ -1,549 +0,0 @@ -From 52929cbadf0252fcac1019b74663a2808061ea1b Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Fran=C3=A7ois=20Cami?= <fcami@redhat.com> -Date: Thu, 17 Sep 2020 11:30:45 +0200 -Subject: [PATCH] ipatests: enhance TestSubCAkeyReplication -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -enhance the test suite so that it covers: -- deleting subCAs (disabling them first) -- checking what happens when creating a dozen+ subCAs at a time -- adding a subCA that already exists and expect failure - -Related: https://pagure.io/freeipa/issue/8488 -Signed-off-by: François Cami <fcami@redhat.com> -Reviewed-By: Alexander Bokovoy <abokovoy@redhat.com> -Reviewed-By: Christian Heimes <cheimes@redhat.com> -Reviewed-By: Rob Crittenden <rcritten@redhat.com> -Reviewed-By: Ondrej Mosnacek <omosnace@redhat.com> -Reviewed-By: Lukas Vrabec <lvrabec@redhat.com> -Reviewed-By: Zdenek Pytela <zpytela@redhat.com> -Reviewed-By: Thomas Woerner <twoerner@redhat.com> -Reviewed-By: Alexander Bokovoy <abokovoy@redhat.com> -Reviewed-By: Christian Heimes <cheimes@redhat.com> -Reviewed-By: Rob Crittenden <rcritten@redhat.com> -Reviewed-By: Ondrej Mosnacek <omosnace@redhat.com> -Reviewed-By: Lukas Vrabec <lvrabec@redhat.com> -Reviewed-By: Zdenek Pytela <zpytela@redhat.com> -Reviewed-By: Thomas Woerner <twoerner@redhat.com> ---- - .../test_replica_promotion.py | 52 +++++++++++++++++-- - 1 file changed, 47 insertions(+), 5 deletions(-) - -diff --git a/ipatests/test_integration/test_replica_promotion.py b/ipatests/test_integration/test_replica_promotion.py -index 82117054f..f0b72e1f8 100644 ---- a/ipatests/test_integration/test_replica_promotion.py -+++ b/ipatests/test_integration/test_replica_promotion.py -@@ -474,17 +474,35 @@ class TestSubCAkeyReplication(IntegrationTest): - SERVER_CERT_NICK: 'u,u,u', - } - -- def add_subca(self, host, name, subject): -+ def add_subca(self, host, name, subject, raiseonerr=True): - result = host.run_command([ - 'ipa', 'ca-add', name, - '--subject', subject, -- '--desc', self.SUBCA_DESC, -+ '--desc', self.SUBCA_DESC], -+ raiseonerr=raiseonerr -+ ) -+ if raiseonerr: -+ assert "ipa: ERROR:" not in result.stderr_text -+ auth_id = "".join(re.findall(AUTH_ID_RE, result.stdout_text)) -+ return '{} {}'.format(IPA_CA_NICKNAME, auth_id) -+ else: -+ assert "ipa: ERROR:" in result.stderr_text -+ assert result.returncode != 0 -+ return result -+ -+ def del_subca(self, host, name): -+ host.run_command([ -+ 'ipa', 'ca-disable', name - ]) -- auth_id = "".join(re.findall(AUTH_ID_RE, result.stdout_text)) -- return '{} {}'.format(IPA_CA_NICKNAME, auth_id) -+ result = host.run_command([ -+ 'ipa', 'ca-del', name -+ ]) -+ assert "Deleted CA \"{}\"".format(name) in result.stdout_text - - def check_subca(self, host, name, cert_nick): -- host.run_command(['ipa', 'ca-show', name]) -+ result = host.run_command(['ipa', 'ca-show', name]) -+ # ipa ca-show returns 0 even if the cert cannot be found locally. -+ assert "ipa: ERROR:" not in result.stderr_text - tasks.run_certutil( - host, ['-L', '-n', cert_nick], paths.PKI_TOMCAT_ALIAS_DIR - ) -@@ -627,6 +645,30 @@ class TestSubCAkeyReplication(IntegrationTest): - ssl = replica.run_command(ssl_cmd) - assert 'Issuer: CN = {}'.format(self.SUBCA_MASTER) in ssl.stdout_text - -+ def test_del_subca_master_on_replica(self): -+ self.del_subca(self.replicas[0], self.SUBCA_MASTER) -+ -+ def test_del_subca_replica(self): -+ self.del_subca(self.replicas[0], self.SUBCA_REPLICA) -+ -+ def test_scale_add_subca(self): -+ master = self.master -+ replica = self.replicas[0] -+ -+ subcas = {} -+ for i in range(0, 16): -+ name = "_".join((self.SUBCA_MASTER, str(i))) -+ cn = "_".join((self.SUBCA_MASTER_CN, str(i))) -+ subcas[name] = self.add_subca(master, name, cn) -+ self.add_subca(master, name, cn, raiseonerr=False) -+ -+ # give replication some time -+ time.sleep(15) -+ -+ for name in subcas: -+ self.check_subca(replica, name, subcas[name]) -+ self.del_subca(replica, name) -+ - - class TestReplicaInstallCustodia(IntegrationTest): - """ --- -2.26.2 - -From 5a5962426d8174212f0b7efef1a9e53aaecb5901 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Fran=C3=A7ois=20Cami?= <fcami@redhat.com> -Date: Fri, 18 Sep 2020 11:55:37 +0200 -Subject: [PATCH] SELinux: Add dedicated policy for ipa-pki-retrieve-key -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Add proper labeling, transition and policy for ipa-pki-retrieve-key. -Make sure tomcat_t can execute ipa-pki-retrieve-key. - -Fixes: https://pagure.io/freeipa/issue/8488 -Signed-off-by: Christian Heimes <cheimes@redhat.com> -Signed-off-by: François Cami <fcami@redhat.com> -Reviewed-By: Alexander Bokovoy <abokovoy@redhat.com> -Reviewed-By: Christian Heimes <cheimes@redhat.com> -Reviewed-By: Rob Crittenden <rcritten@redhat.com> -Reviewed-By: Ondrej Mosnacek <omosnace@redhat.com> -Reviewed-By: Lukas Vrabec <lvrabec@redhat.com> -Reviewed-By: Zdenek Pytela <zpytela@redhat.com> -Reviewed-By: Thomas Woerner <twoerner@redhat.com> -Reviewed-By: Alexander Bokovoy <abokovoy@redhat.com> -Reviewed-By: Christian Heimes <cheimes@redhat.com> -Reviewed-By: Rob Crittenden <rcritten@redhat.com> -Reviewed-By: Ondrej Mosnacek <omosnace@redhat.com> -Reviewed-By: Lukas Vrabec <lvrabec@redhat.com> -Reviewed-By: Zdenek Pytela <zpytela@redhat.com> -Reviewed-By: Thomas Woerner <twoerner@redhat.com> ---- - selinux/ipa.fc | 1 + - selinux/ipa.te | 28 ++++++++++++++++++++++++++++ - 2 files changed, 29 insertions(+) - -diff --git a/selinux/ipa.fc b/selinux/ipa.fc -index a98cc4665..1176f383c 100644 ---- a/selinux/ipa.fc -+++ b/selinux/ipa.fc -@@ -30,5 +30,6 @@ - /usr/libexec/ipa/custodia/ipa-custodia-pki-tomcat -- gen_context(system_u:object_r:ipa_custodia_pki_tomcat_exec_t,s0) - /usr/libexec/ipa/custodia/ipa-custodia-pki-tomcat-wrapped -- gen_context(system_u:object_r:ipa_custodia_pki_tomcat_exec_t,s0) - /usr/libexec/ipa/custodia/ipa-custodia-ra-agent -- gen_context(system_u:object_r:ipa_custodia_ra_agent_exec_t,s0) -+/usr/libexec/ipa/ipa-pki-retrieve-key -- gen_context(system_u:object_r:ipa_pki_retrieve_key_exec_t,s0) - - /var/log/ipa-custodia.audit.log(/.*)? -- gen_context(system_u:object_r:ipa_custodia_log_t,s0) -diff --git a/selinux/ipa.te b/selinux/ipa.te -index 3fa4ba980..26daed293 100644 ---- a/selinux/ipa.te -+++ b/selinux/ipa.te -@@ -75,6 +75,9 @@ files_tmp_file(ipa_custodia_tmp_t) - type pki_tomcat_cert_t; - type node_t; - -+type ipa_pki_retrieve_key_exec_t; -+init_script_file(ipa_pki_retrieve_key_exec_t) -+ - ######################################## - # - # ipa_otpd local policy -@@ -412,3 +415,28 @@ optional_policy(` - optional_policy(` - systemd_private_tmp(ipa_custodia_tmp_t) - ') -+ -+optional_policy(` -+ gen_require(` -+ type tomcat_t; -+ ') -+ can_exec(tomcat_t, ipa_pki_retrieve_key_exec_t) -+ pki_manage_tomcat_etc_rw(ipa_pki_retrieve_key_exec_t) -+') -+ -+optional_policy(` -+ gen_require(` -+ type devlog_t; -+ ') -+ -+ dontaudit ipa_custodia_t devlog_t:lnk_file read_lnk_file_perms; -+') -+ -+optional_policy(` -+ java_exec(ipa_custodia_pki_tomcat_exec_t) -+ # allow Java to read system status and RNG -+ dev_read_urand(ipa_custodia_t) -+ dev_read_rand(ipa_custodia_t) -+ kernel_read_network_state(ipa_custodia_t) -+ dev_read_sysfs(ipa_custodia_t) -+') --- -2.26.2 - -From c126610ea6605a1ff36cecf2e2f5b2cb97130831 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Fran=C3=A7ois=20Cami?= <fcami@redhat.com> -Date: Fri, 18 Sep 2020 17:45:39 +0200 -Subject: [PATCH] SELinux Policy: let custodia_t map custodia_tmp_t -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -This is used by the JVM perf counters. - -Related: https://pagure.io/freeipa/issue/8488 -Signed-off-by: François Cami <fcami@redhat.com> -Reviewed-By: Alexander Bokovoy <abokovoy@redhat.com> -Reviewed-By: Christian Heimes <cheimes@redhat.com> -Reviewed-By: Rob Crittenden <rcritten@redhat.com> -Reviewed-By: Ondrej Mosnacek <omosnace@redhat.com> -Reviewed-By: Lukas Vrabec <lvrabec@redhat.com> -Reviewed-By: Zdenek Pytela <zpytela@redhat.com> -Reviewed-By: Thomas Woerner <twoerner@redhat.com> -Reviewed-By: Alexander Bokovoy <abokovoy@redhat.com> -Reviewed-By: Christian Heimes <cheimes@redhat.com> -Reviewed-By: Rob Crittenden <rcritten@redhat.com> -Reviewed-By: Ondrej Mosnacek <omosnace@redhat.com> -Reviewed-By: Lukas Vrabec <lvrabec@redhat.com> -Reviewed-By: Zdenek Pytela <zpytela@redhat.com> -Reviewed-By: Thomas Woerner <twoerner@redhat.com> ---- - selinux/ipa.te | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/selinux/ipa.te b/selinux/ipa.te -index 26daed293..0a9ccaf83 100644 ---- a/selinux/ipa.te -+++ b/selinux/ipa.te -@@ -347,6 +347,7 @@ logging_log_filetrans(ipa_custodia_t, ipa_custodia_log_t, { dir file }) - - manage_dirs_pattern(ipa_custodia_t, ipa_custodia_tmp_t, ipa_custodia_tmp_t) - manage_files_pattern(ipa_custodia_t, ipa_custodia_tmp_t, ipa_custodia_tmp_t) -+mmap_exec_files_pattern(ipa_custodia_t, ipa_custodia_tmp_t, ipa_custodia_tmp_t) - files_tmp_filetrans(ipa_custodia_t, ipa_custodia_tmp_t, { dir file }) - - kernel_dgram_send(ipa_custodia_t) --- -2.26.2 - -From 310dbd6eec337f0747d73fa87363083a742fc5dc Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Fran=C3=A7ois=20Cami?= <fcami@redhat.com> -Date: Mon, 21 Sep 2020 11:32:52 +0200 -Subject: [PATCH] SELinux Policy: ipa_pki_retrieve_key_exec_t => - ipa_pki_retrieve_key_t -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Grant pki_manage_tomcat_etc_rw to ipa_pki_retrieve_key_t instead of -ipa_pki_retrieve_key_exec_t. -As suggested by Ondrej Mosnáček. - -Fixes: https://pagure.io/freeipa/issue/8488 -Signed-off-by: François Cami <fcami@redhat.com> -Reviewed-By: Alexander Bokovoy <abokovoy@redhat.com> -Reviewed-By: Christian Heimes <cheimes@redhat.com> -Reviewed-By: Rob Crittenden <rcritten@redhat.com> -Reviewed-By: Ondrej Mosnacek <omosnace@redhat.com> -Reviewed-By: Lukas Vrabec <lvrabec@redhat.com> -Reviewed-By: Zdenek Pytela <zpytela@redhat.com> -Reviewed-By: Thomas Woerner <twoerner@redhat.com> -Reviewed-By: Alexander Bokovoy <abokovoy@redhat.com> -Reviewed-By: Christian Heimes <cheimes@redhat.com> -Reviewed-By: Rob Crittenden <rcritten@redhat.com> -Reviewed-By: Ondrej Mosnacek <omosnace@redhat.com> -Reviewed-By: Lukas Vrabec <lvrabec@redhat.com> -Reviewed-By: Zdenek Pytela <zpytela@redhat.com> -Reviewed-By: Thomas Woerner <twoerner@redhat.com> ---- - selinux/ipa.te | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -diff --git a/selinux/ipa.te b/selinux/ipa.te -index 0a9ccaf83..92a3b2359 100644 ---- a/selinux/ipa.te -+++ b/selinux/ipa.te -@@ -78,6 +78,8 @@ type node_t; - type ipa_pki_retrieve_key_exec_t; - init_script_file(ipa_pki_retrieve_key_exec_t) - -+type ipa_pki_retrieve_key_t; -+ - ######################################## - # - # ipa_otpd local policy -@@ -422,7 +424,7 @@ optional_policy(` - type tomcat_t; - ') - can_exec(tomcat_t, ipa_pki_retrieve_key_exec_t) -- pki_manage_tomcat_etc_rw(ipa_pki_retrieve_key_exec_t) -+ pki_manage_tomcat_etc_rw(ipa_pki_retrieve_key_t) - ') - - optional_policy(` --- -2.26.2 - -From 0518c63768b50973f3d3129547f5b4b95335f4a8 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Fran=C3=A7ois=20Cami?= <fcami@redhat.com> -Date: Mon, 21 Sep 2020 11:37:12 +0200 -Subject: [PATCH] SELinux Policy: ipa_custodia_pki_tomcat_exec_t => - ipa_custodia_pki_tomcat_t -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -ipa_custodia_pki_tomcat_exec_t was granted java_exec by mistake ; replace by -ipa_custodia_pki_tomcat_t. -As suggested by Ondrej Mosnáček. - -Fixes: https://pagure.io/freeipa/issue/8488 -Signed-off-by: François Cami <fcami@redhat.com> -Reviewed-By: Alexander Bokovoy <abokovoy@redhat.com> -Reviewed-By: Christian Heimes <cheimes@redhat.com> -Reviewed-By: Rob Crittenden <rcritten@redhat.com> -Reviewed-By: Ondrej Mosnacek <omosnace@redhat.com> -Reviewed-By: Lukas Vrabec <lvrabec@redhat.com> -Reviewed-By: Zdenek Pytela <zpytela@redhat.com> -Reviewed-By: Thomas Woerner <twoerner@redhat.com> -Reviewed-By: Alexander Bokovoy <abokovoy@redhat.com> -Reviewed-By: Christian Heimes <cheimes@redhat.com> -Reviewed-By: Rob Crittenden <rcritten@redhat.com> -Reviewed-By: Ondrej Mosnacek <omosnace@redhat.com> -Reviewed-By: Lukas Vrabec <lvrabec@redhat.com> -Reviewed-By: Zdenek Pytela <zpytela@redhat.com> -Reviewed-By: Thomas Woerner <twoerner@redhat.com> ---- - selinux/ipa.te | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -diff --git a/selinux/ipa.te b/selinux/ipa.te -index 92a3b2359..b2c618a53 100644 ---- a/selinux/ipa.te -+++ b/selinux/ipa.te -@@ -63,6 +63,8 @@ init_script_file(ipa_custodia_dmldap_exec_t) - type ipa_custodia_pki_tomcat_exec_t; - init_script_file(ipa_custodia_pki_tomcat_exec_t) - -+type ipa_custodia_pki_tomcat_t; -+ - type ipa_custodia_ra_agent_exec_t; - init_script_file(ipa_custodia_ra_agent_exec_t) - -@@ -436,7 +438,7 @@ optional_policy(` - ') - - optional_policy(` -- java_exec(ipa_custodia_pki_tomcat_exec_t) -+ java_exec(ipa_custodia_pki_tomcat_t) - # allow Java to read system status and RNG - dev_read_urand(ipa_custodia_t) - dev_read_rand(ipa_custodia_t) --- -2.26.2 - -From 25cf7af0d41bbd34621f37c95802675b42baeae9 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Fran=C3=A7ois=20Cami?= <fcami@redhat.com> -Date: Tue, 22 Sep 2020 11:36:13 +0200 -Subject: [PATCH] SELinux Policy: flag ipa_pki_retrieve_key_exec_t as - domain_type -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Fixes: https://pagure.io/freeipa/issue/8488 -Signed-off-by: François Cami <fcami@redhat.com> -Reviewed-By: Alexander Bokovoy <abokovoy@redhat.com> -Reviewed-By: Christian Heimes <cheimes@redhat.com> -Reviewed-By: Rob Crittenden <rcritten@redhat.com> -Reviewed-By: Ondrej Mosnacek <omosnace@redhat.com> -Reviewed-By: Lukas Vrabec <lvrabec@redhat.com> -Reviewed-By: Zdenek Pytela <zpytela@redhat.com> -Reviewed-By: Thomas Woerner <twoerner@redhat.com> -Reviewed-By: Alexander Bokovoy <abokovoy@redhat.com> -Reviewed-By: Christian Heimes <cheimes@redhat.com> -Reviewed-By: Rob Crittenden <rcritten@redhat.com> -Reviewed-By: Ondrej Mosnacek <omosnace@redhat.com> -Reviewed-By: Lukas Vrabec <lvrabec@redhat.com> -Reviewed-By: Zdenek Pytela <zpytela@redhat.com> -Reviewed-By: Thomas Woerner <twoerner@redhat.com> ---- - selinux/ipa.te | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/selinux/ipa.te b/selinux/ipa.te -index b2c618a53..42b010133 100644 ---- a/selinux/ipa.te -+++ b/selinux/ipa.te -@@ -78,6 +78,7 @@ type pki_tomcat_cert_t; - type node_t; - - type ipa_pki_retrieve_key_exec_t; -+domain_type(ipa_pki_retrieve_key_exec_t) - init_script_file(ipa_pki_retrieve_key_exec_t) - - type ipa_pki_retrieve_key_t; --- -2.26.2 - -From 7ad04841245668e3126cb1718ef7ec1b744526e8 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Fran=C3=A7ois=20Cami?= <fcami@redhat.com> -Date: Tue, 22 Sep 2020 13:12:05 +0200 -Subject: [PATCH] SELinux Policy: make interfaces for kernel modules - non-optional -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Interfaces for kernel modules do not need to be in an optional module. -Also make sure ipa_custodia_t can log. -Suggested by Lukas Vrabec. - -Fixes: https://pagure.io/freeipa/issue/8488 -Signed-off-by: François Cami <fcami@redhat.com> -Reviewed-By: Alexander Bokovoy <abokovoy@redhat.com> -Reviewed-By: Christian Heimes <cheimes@redhat.com> -Reviewed-By: Rob Crittenden <rcritten@redhat.com> -Reviewed-By: Ondrej Mosnacek <omosnace@redhat.com> -Reviewed-By: Lukas Vrabec <lvrabec@redhat.com> -Reviewed-By: Zdenek Pytela <zpytela@redhat.com> -Reviewed-By: Thomas Woerner <twoerner@redhat.com> -Reviewed-By: Alexander Bokovoy <abokovoy@redhat.com> -Reviewed-By: Christian Heimes <cheimes@redhat.com> -Reviewed-By: Rob Crittenden <rcritten@redhat.com> -Reviewed-By: Ondrej Mosnacek <omosnace@redhat.com> -Reviewed-By: Lukas Vrabec <lvrabec@redhat.com> -Reviewed-By: Zdenek Pytela <zpytela@redhat.com> -Reviewed-By: Thomas Woerner <twoerner@redhat.com> ---- - selinux/ipa.te | 16 +++++++++------- - 1 file changed, 9 insertions(+), 7 deletions(-) - -diff --git a/selinux/ipa.te b/selinux/ipa.te -index 42b010133..f984a0f94 100644 ---- a/selinux/ipa.te -+++ b/selinux/ipa.te -@@ -78,10 +78,9 @@ type pki_tomcat_cert_t; - type node_t; - - type ipa_pki_retrieve_key_exec_t; --domain_type(ipa_pki_retrieve_key_exec_t) --init_script_file(ipa_pki_retrieve_key_exec_t) -- - type ipa_pki_retrieve_key_t; -+domain_type(ipa_pki_retrieve_key_t) -+init_script_file(ipa_pki_retrieve_key_exec_t) - - ######################################## - # -@@ -356,6 +355,7 @@ mmap_exec_files_pattern(ipa_custodia_t, ipa_custodia_tmp_t, ipa_custodia_tmp_t) - files_tmp_filetrans(ipa_custodia_t, ipa_custodia_tmp_t, { dir file }) - - kernel_dgram_send(ipa_custodia_t) -+kernel_read_network_state(ipa_custodia_t) - - auth_read_passwd(ipa_custodia_t) - -@@ -366,6 +366,10 @@ can_exec(ipa_custodia_t, ipa_custodia_ra_agent_exec_t) - corecmd_exec_bin(ipa_custodia_t) - corecmd_mmap_bin_files(ipa_custodia_t) - -+dev_read_urand(ipa_custodia_t) -+dev_read_rand(ipa_custodia_t) -+dev_read_sysfs(ipa_custodia_t) -+ - domain_use_interactive_fds(ipa_custodia_t) - - files_mmap_usr_files(ipa_custodia_t) -@@ -377,6 +381,8 @@ files_read_etc_files(ipa_custodia_t) - libs_exec_ldconfig(ipa_custodia_t) - libs_ldconfig_exec_entry_type(ipa_custodia_t) - -+logging_send_syslog_msg(ipa_custodia_t) -+ - miscfiles_read_generic_certs(ipa_custodia_t) - miscfiles_read_localization(ipa_custodia_t) - -@@ -441,8 +447,4 @@ optional_policy(` - optional_policy(` - java_exec(ipa_custodia_pki_tomcat_t) - # allow Java to read system status and RNG -- dev_read_urand(ipa_custodia_t) -- dev_read_rand(ipa_custodia_t) -- kernel_read_network_state(ipa_custodia_t) -- dev_read_sysfs(ipa_custodia_t) - ') --- -2.26.2 - -From 6a31605c1d249416ed7627755bca23a1cc45a581 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Fran=C3=A7ois=20Cami?= <fcami@redhat.com> -Date: Tue, 22 Sep 2020 13:34:40 +0200 -Subject: [PATCH] SELinux Policy: Allow tomcat_t to read kerberos keytabs -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -This is required to fix: -avc: denied { search } for pid=1930 comm="ipa-pki-retriev" name="krb5" dev="dm-0" ino=8620822 scontext=system_u:system_r:tomcat_t:s0 tcontext=system_u:object_r:krb5_keytab_t:s0 tclass=dir permissive=0 - -Macros suggested by: Ondrej Mosnacek - -Fixes: https://pagure.io/freeipa/issue/8488 -Signed-off-by: François Cami <fcami@redhat.com> -Reviewed-By: Alexander Bokovoy <abokovoy@redhat.com> -Reviewed-By: Christian Heimes <cheimes@redhat.com> -Reviewed-By: Rob Crittenden <rcritten@redhat.com> -Reviewed-By: Ondrej Mosnacek <omosnace@redhat.com> -Reviewed-By: Lukas Vrabec <lvrabec@redhat.com> -Reviewed-By: Zdenek Pytela <zpytela@redhat.com> -Reviewed-By: Thomas Woerner <twoerner@redhat.com> -Reviewed-By: Alexander Bokovoy <abokovoy@redhat.com> -Reviewed-By: Christian Heimes <cheimes@redhat.com> -Reviewed-By: Rob Crittenden <rcritten@redhat.com> -Reviewed-By: Ondrej Mosnacek <omosnace@redhat.com> -Reviewed-By: Lukas Vrabec <lvrabec@redhat.com> -Reviewed-By: Zdenek Pytela <zpytela@redhat.com> -Reviewed-By: Thomas Woerner <twoerner@redhat.com> ---- - selinux/ipa.te | 8 ++++++++ - 1 file changed, 8 insertions(+) - -diff --git a/selinux/ipa.te b/selinux/ipa.te -index f984a0f94..fa577191c 100644 ---- a/selinux/ipa.te -+++ b/selinux/ipa.te -@@ -448,3 +448,11 @@ optional_policy(` - java_exec(ipa_custodia_pki_tomcat_t) - # allow Java to read system status and RNG - ') -+ -+optional_policy(` -+ gen_require(` -+ type tomcat_t; -+ ') -+ kerberos_read_config(tomcat_t) -+ kerberos_read_keytab(tomcat_t) -+') --- -2.26.2 - diff --git a/SOURCES/0020-SELinux-do-not-double-define-node_t-and-pki_tomcat_c_rhbz#1870202.patch b/SOURCES/0020-SELinux-do-not-double-define-node_t-and-pki_tomcat_c_rhbz#1870202.patch deleted file mode 100644 index 6ec25a7..0000000 --- a/SOURCES/0020-SELinux-do-not-double-define-node_t-and-pki_tomcat_c_rhbz#1870202.patch +++ /dev/null @@ -1,68 +0,0 @@ -From 58c3343a67a3922dcc84d3d4b1deca515c48a6f8 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Fran=C3=A7ois=20Cami?= <fcami@redhat.com> -Date: Wed, 23 Sep 2020 09:17:53 +0200 -Subject: [PATCH] SELinux: do not double-define node_t and pki_tomcat_cert_t -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -node_t and pki_tomcat_cert_t are defined in other modules. -Do not double-define them. - -Fixes: https://pagure.io/freeipa/issue/8513 -Signed-off-by: François Cami <fcami@redhat.com> -Reviewed-By: Christian Heimes <cheimes@redhat.com> ---- - selinux/ipa.te | 25 ++++++++++++++++--------- - 1 file changed, 16 insertions(+), 9 deletions(-) - -diff --git a/selinux/ipa.te b/selinux/ipa.te -index fa577191c..d80e64a0b 100644 ---- a/selinux/ipa.te -+++ b/selinux/ipa.te -@@ -74,9 +74,6 @@ logging_log_file(ipa_custodia_log_t) - type ipa_custodia_tmp_t; - files_tmp_file(ipa_custodia_tmp_t) - --type pki_tomcat_cert_t; --type node_t; -- - type ipa_pki_retrieve_key_exec_t; - type ipa_pki_retrieve_key_t; - domain_type(ipa_pki_retrieve_key_t) -@@ -339,12 +336,6 @@ allow ipa_custodia_t self:unix_dgram_socket create_socket_perms; - allow ipa_custodia_t self:tcp_socket { bind create }; - allow ipa_custodia_t self:udp_socket create_socket_perms; - --allow ipa_custodia_t node_t:tcp_socket node_bind; -- --allow ipa_custodia_t pki_tomcat_cert_t:dir remove_name; --allow ipa_custodia_t pki_tomcat_cert_t:file create; --allow ipa_custodia_t pki_tomcat_cert_t:file unlink; -- - manage_dirs_pattern(ipa_custodia_t,ipa_custodia_log_t,ipa_custodia_log_t) - manage_files_pattern(ipa_custodia_t, ipa_custodia_log_t, ipa_custodia_log_t) - logging_log_filetrans(ipa_custodia_t, ipa_custodia_log_t, { dir file }) -@@ -456,3 +447,19 @@ optional_policy(` - kerberos_read_config(tomcat_t) - kerberos_read_keytab(tomcat_t) - ') -+ -+optional_policy(` -+ gen_require(` -+ type node_t; -+ ') -+ allow ipa_custodia_t node_t:tcp_socket node_bind; -+') -+ -+optional_policy(` -+ gen_require(` -+ type pki_tomcat_cert_t; -+ ') -+ allow ipa_custodia_t pki_tomcat_cert_t:dir remove_name; -+ allow ipa_custodia_t pki_tomcat_cert_t:file create; -+ allow ipa_custodia_t pki_tomcat_cert_t:file unlink; -+') --- -2.26.2 - diff --git a/SOURCES/1001-Change-branding-to-IPA-and-Identity-Management.patch b/SOURCES/1001-Change-branding-to-IPA-and-Identity-Management.patch index b252f00..2ff282b 100644 --- a/SOURCES/1001-Change-branding-to-IPA-and-Identity-Management.patch +++ b/SOURCES/1001-Change-branding-to-IPA-and-Identity-Management.patch @@ -1,7 +1,7 @@ -From f40f42dd9b8c5da54a872ef6a7de46e5ae3ba341 Mon Sep 17 00:00:00 2001 +From 801b072f7fdc3e8b961136d52704f3e09314511e Mon Sep 17 00:00:00 2001 From: Alexander Bokovoy <abokovoy@redhat.com> Date: Sun, 7 Oct 2018 12:25:39 +0300 -Subject: [PATCH 01/78] client/man/default.conf.5: Change branding to IPA and +Subject: [PATCH 01/93] client/man/default.conf.5: Change branding to IPA and Identity Management --- @@ -9,7 +9,7 @@ Subject: [PATCH 01/78] client/man/default.conf.5: Change branding to IPA and 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/client/man/default.conf.5 b/client/man/default.conf.5 -index 728fc0871..6ec8616bc 100644 +index 8336ed8..f85fd67 100644 --- a/client/man/default.conf.5 +++ b/client/man/default.conf.5 @@ -16,7 +16,7 @@ @@ -22,12 +22,13 @@ index 728fc0871..6ec8616bc 100644 default.conf \- IPA configuration file .SH "SYNOPSIS" -- -2.21.1 +2.28.0 -From ddf6ddd9a6b0482d01fce2df102f25d719adfa79 Mon Sep 17 00:00:00 2001 + +From 0304c1f2a71889d069ef56928b6c200cfe8536b1 Mon Sep 17 00:00:00 2001 From: Alexander Bokovoy <abokovoy@redhat.com> Date: Sun, 7 Oct 2018 12:25:39 +0300 -Subject: [PATCH 02/78] client/man/ipa-certupdate.1: Change branding to IPA and +Subject: [PATCH 02/93] client/man/ipa-certupdate.1: Change branding to IPA and Identity Management --- @@ -35,7 +36,7 @@ Subject: [PATCH 02/78] client/man/ipa-certupdate.1: Change branding to IPA and 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/client/man/ipa-certupdate.1 b/client/man/ipa-certupdate.1 -index d95790a36..431b395a9 100644 +index d95790a..431b395 100644 --- a/client/man/ipa-certupdate.1 +++ b/client/man/ipa-certupdate.1 @@ -16,7 +16,7 @@ @@ -48,12 +49,13 @@ index d95790a36..431b395a9 100644 ipa\-certupdate \- Update local IPA certificate databases with certificates from the server .SH "SYNOPSIS" -- -2.21.1 +2.28.0 + -From 100af01bbb2838c4c43159f4eaa925c57113baec Mon Sep 17 00:00:00 2001 +From 6ea76e04904faed0bb4622a25e79050cb40de03b Mon Sep 17 00:00:00 2001 From: Alexander Bokovoy <abokovoy@redhat.com> Date: Sun, 7 Oct 2018 12:25:39 +0300 -Subject: [PATCH 03/78] client/man/ipa-client-automount.1: Change branding to +Subject: [PATCH 03/93] client/man/ipa-client-automount.1: Change branding to IPA and Identity Management --- @@ -61,7 +63,7 @@ Subject: [PATCH 03/78] client/man/ipa-client-automount.1: Change branding to 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/client/man/ipa-client-automount.1 b/client/man/ipa-client-automount.1 -index 4c3caee93..3f6edabd0 100644 +index 4c3caee..3f6edab 100644 --- a/client/man/ipa-client-automount.1 +++ b/client/man/ipa-client-automount.1 @@ -16,7 +16,7 @@ @@ -74,12 +76,13 @@ index 4c3caee93..3f6edabd0 100644 ipa\-client\-automount \- Configure automount and NFS for IPA .SH "SYNOPSIS" -- -2.21.1 +2.28.0 -From 497a46243f09fa8d8a295f61710065c675a91800 Mon Sep 17 00:00:00 2001 + +From 9ce4bccbcc4270742012e548a94de7a29f809071 Mon Sep 17 00:00:00 2001 From: Alexander Bokovoy <abokovoy@redhat.com> Date: Sun, 7 Oct 2018 12:25:39 +0300 -Subject: [PATCH 04/78] client/man/ipa-client-install.1: Change branding to IPA +Subject: [PATCH 04/93] client/man/ipa-client-install.1: Change branding to IPA and Identity Management --- @@ -87,7 +90,7 @@ Subject: [PATCH 04/78] client/man/ipa-client-install.1: Change branding to IPA 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/client/man/ipa-client-install.1 b/client/man/ipa-client-install.1 -index 2d031fb2c..64ab1bff0 100644 +index 2d031fb..64ab1bf 100644 --- a/client/man/ipa-client-install.1 +++ b/client/man/ipa-client-install.1 @@ -1,7 +1,7 @@ @@ -100,12 +103,13 @@ index 2d031fb2c..64ab1bff0 100644 ipa\-client\-install \- Configure an IPA client .SH "SYNOPSIS" -- -2.21.1 +2.28.0 + -From 5d13b4528df055dee11ddd07c10a073b8ddd0065 Mon Sep 17 00:00:00 2001 +From b82626b957bec1d023b204d77d8c0f28b495756a Mon Sep 17 00:00:00 2001 From: Alexander Bokovoy <abokovoy@redhat.com> Date: Sun, 7 Oct 2018 12:25:39 +0300 -Subject: [PATCH 05/78] client/man/ipa-getkeytab.1: Change branding to IPA and +Subject: [PATCH 05/93] client/man/ipa-getkeytab.1: Change branding to IPA and Identity Management --- @@ -113,7 +117,7 @@ Subject: [PATCH 05/78] client/man/ipa-getkeytab.1: Change branding to IPA and 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/client/man/ipa-getkeytab.1 b/client/man/ipa-getkeytab.1 -index f06fcd910..01a2618ef 100644 +index a4bcd88..b57c548 100644 --- a/client/man/ipa-getkeytab.1 +++ b/client/man/ipa-getkeytab.1 @@ -17,7 +17,7 @@ @@ -135,12 +139,13 @@ index f06fcd910..01a2618ef 100644 .SH "EXAMPLES" Add and retrieve a keytab for the NFS service principal on -- -2.21.1 +2.28.0 -From c89ccf3e9cf8868c19e12716dcff110b0cc040fc Mon Sep 17 00:00:00 2001 + +From 4f371317112e7f02d53a00b63ae4c0836923f947 Mon Sep 17 00:00:00 2001 From: Alexander Bokovoy <abokovoy@redhat.com> Date: Sun, 7 Oct 2018 12:25:39 +0300 -Subject: [PATCH 06/78] client/man/ipa-join.1: Change branding to IPA and +Subject: [PATCH 06/93] client/man/ipa-join.1: Change branding to IPA and Identity Management --- @@ -148,7 +153,7 @@ Subject: [PATCH 06/78] client/man/ipa-join.1: Change branding to IPA and 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/client/man/ipa-join.1 b/client/man/ipa-join.1 -index d88160784..30b667558 100644 +index 6e512b8..5eaf68f 100644 --- a/client/man/ipa-join.1 +++ b/client/man/ipa-join.1 @@ -16,7 +16,7 @@ @@ -161,12 +166,13 @@ index d88160784..30b667558 100644 ipa\-join \- Join a machine to an IPA realm and get a keytab for the host service principal .SH "SYNOPSIS" -- -2.21.1 +2.28.0 + -From e691f8e132a0d7f12049015cf728e6ed1f3ca18b Mon Sep 17 00:00:00 2001 +From 32d30177deb6cd2753eb2871957b83d3421c002f Mon Sep 17 00:00:00 2001 From: Alexander Bokovoy <abokovoy@redhat.com> Date: Sun, 7 Oct 2018 12:25:39 +0300 -Subject: [PATCH 07/78] client/man/ipa-rmkeytab.1: Change branding to IPA and +Subject: [PATCH 07/93] client/man/ipa-rmkeytab.1: Change branding to IPA and Identity Management --- @@ -174,7 +180,7 @@ Subject: [PATCH 07/78] client/man/ipa-rmkeytab.1: Change branding to IPA and 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/client/man/ipa-rmkeytab.1 b/client/man/ipa-rmkeytab.1 -index 53f775439..2c8218c94 100644 +index 53f7754..2c8218c 100644 --- a/client/man/ipa-rmkeytab.1 +++ b/client/man/ipa-rmkeytab.1 @@ -17,7 +17,7 @@ @@ -187,12 +193,13 @@ index 53f775439..2c8218c94 100644 ipa\-rmkeytab \- Remove a kerberos principal from a keytab .SH "SYNOPSIS" -- -2.21.1 +2.28.0 -From 5bfab52a3246268a063d16700bf7063da56f3fa4 Mon Sep 17 00:00:00 2001 + +From 57c3e0cee6397e4aa6fb2c5fe792759e6fda7d99 Mon Sep 17 00:00:00 2001 From: Alexander Bokovoy <abokovoy@redhat.com> Date: Sun, 7 Oct 2018 12:25:39 +0300 -Subject: [PATCH 08/78] client/man/ipa.1: Change branding to IPA and Identity +Subject: [PATCH 08/93] client/man/ipa.1: Change branding to IPA and Identity Management --- @@ -200,7 +207,7 @@ Subject: [PATCH 08/78] client/man/ipa.1: Change branding to IPA and Identity 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/client/man/ipa.1 b/client/man/ipa.1 -index f9fae7c0d..2fb21b52d 100644 +index f9fae7c..2fb21b5 100644 --- a/client/man/ipa.1 +++ b/client/man/ipa.1 @@ -16,7 +16,7 @@ @@ -213,12 +220,13 @@ index f9fae7c0d..2fb21b52d 100644 ipa \- IPA command\-line interface .SH "SYNOPSIS" -- -2.21.1 +2.28.0 + -From e2387735f5a4b37cec1c850ac2725ed8ddf59322 Mon Sep 17 00:00:00 2001 +From 92d2f9691d307cd8572db9c2742cb78c7179896b Mon Sep 17 00:00:00 2001 From: Alexander Bokovoy <abokovoy@redhat.com> Date: Sun, 7 Oct 2018 12:25:39 +0300 -Subject: [PATCH 09/78] install/html/ssbrowser.html: Change branding to IPA and +Subject: [PATCH 09/93] install/html/ssbrowser.html: Change branding to IPA and Identity Management --- @@ -226,7 +234,7 @@ Subject: [PATCH 09/78] install/html/ssbrowser.html: Change branding to IPA and 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/install/html/ssbrowser.html b/install/html/ssbrowser.html -index a48a24511..f934dbb40 100644 +index a48a245..f934dbb 100644 --- a/install/html/ssbrowser.html +++ b/install/html/ssbrowser.html @@ -2,7 +2,7 @@ @@ -248,12 +256,13 @@ index a48a24511..f934dbb40 100644 </nav> -- -2.21.1 +2.28.0 -From 10b4195ec2820ddbb67bcdb6a74a8f4aa20c12fe Mon Sep 17 00:00:00 2001 + +From 540ff1c5860d37c2042112fcaf5b8de237d8c109 Mon Sep 17 00:00:00 2001 From: Alexander Bokovoy <abokovoy@redhat.com> Date: Sun, 7 Oct 2018 12:25:39 +0300 -Subject: [PATCH 10/78] install/html/unauthorized.html: Change branding to IPA +Subject: [PATCH 10/93] install/html/unauthorized.html: Change branding to IPA and Identity Management --- @@ -261,7 +270,7 @@ Subject: [PATCH 10/78] install/html/unauthorized.html: Change branding to IPA 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/install/html/unauthorized.html b/install/html/unauthorized.html -index 630982da8..b8c64d69d 100644 +index 630982d..b8c64d6 100644 --- a/install/html/unauthorized.html +++ b/install/html/unauthorized.html @@ -2,7 +2,7 @@ @@ -283,12 +292,13 @@ index 630982da8..b8c64d69d 100644 </nav> -- -2.21.1 +2.28.0 + -From 8293605a01b9b45d4ab87d7fd9342b9e832ba3ce Mon Sep 17 00:00:00 2001 +From b4b7601be41d0c814d55d64f38cfc3a3c08c1628 Mon Sep 17 00:00:00 2001 From: Alexander Bokovoy <abokovoy@redhat.com> Date: Sun, 7 Oct 2018 12:25:39 +0300 -Subject: [PATCH 11/78] install/migration/index.html: Change branding to IPA +Subject: [PATCH 11/93] install/migration/index.html: Change branding to IPA and Identity Management --- @@ -296,7 +306,7 @@ Subject: [PATCH 11/78] install/migration/index.html: Change branding to IPA 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install/migration/index.html b/install/migration/index.html -index fca517cdc..b5ac1f6df 100644 +index fca517c..b5ac1f6 100644 --- a/install/migration/index.html +++ b/install/migration/index.html @@ -2,7 +2,7 @@ @@ -309,12 +319,13 @@ index fca517cdc..b5ac1f6df 100644 <!--[if IE]> <meta id="ie-detector"> -- -2.21.1 +2.28.0 -From 6a479bab8581f2960a628d309a705d42ef9dfdbf Mon Sep 17 00:00:00 2001 + +From 69b03b7ca83ecb54cd6a8542a92c9c7cb102b3f6 Mon Sep 17 00:00:00 2001 From: Alexander Bokovoy <abokovoy@redhat.com> Date: Sun, 7 Oct 2018 12:25:39 +0300 -Subject: [PATCH 12/78] install/share/schema.d/README: Change branding to IPA +Subject: [PATCH 12/93] install/share/schema.d/README: Change branding to IPA and Identity Management --- @@ -322,7 +333,7 @@ Subject: [PATCH 12/78] install/share/schema.d/README: Change branding to IPA 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/install/share/schema.d/README b/install/share/schema.d/README -index 19e3e6832..2a92ec6ae 100644 +index 19e3e68..2a92ec6 100644 --- a/install/share/schema.d/README +++ b/install/share/schema.d/README @@ -7,8 +7,8 @@ schema files during the run of ipa-server-upgrade utility. Therefore, they are @@ -337,12 +348,13 @@ index 19e3e6832..2a92ec6ae 100644 You may place your schema files in a subdirectory too, the code that loads schema files processes recursively all subdirectories of schema.d. -- -2.21.1 +2.28.0 + -From c52b451a88bc8d18d1e08f237e5bcf648861c650 Mon Sep 17 00:00:00 2001 +From e8db20893eadd919dd295d65b31e509fca87930c Mon Sep 17 00:00:00 2001 From: Alexander Bokovoy <abokovoy@redhat.com> Date: Sun, 7 Oct 2018 12:25:39 +0300 -Subject: [PATCH 13/78] install/tools/ipa-adtrust-install.in: Change branding +Subject: [PATCH 13/93] install/tools/ipa-adtrust-install.in: Change branding to IPA and Identity Management --- @@ -350,7 +362,7 @@ Subject: [PATCH 13/78] install/tools/ipa-adtrust-install.in: Change branding 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/install/tools/ipa-adtrust-install.in b/install/tools/ipa-adtrust-install.in -index 7d94b718e..80f5d27a7 100644 +index 93365cc..707b887 100644 --- a/install/tools/ipa-adtrust-install.in +++ b/install/tools/ipa-adtrust-install.in @@ -141,11 +141,11 @@ def main(): @@ -368,12 +380,13 @@ index 7d94b718e..80f5d27a7 100644 # print " * Add a SID to all users and Posix groups" print("") -- -2.21.1 +2.28.0 -From 7213f732557deb560aede21286abd2404a0e6f9e Mon Sep 17 00:00:00 2001 + +From dc37f813fce1df41e3bbf5adf3791b32bca3d87c Mon Sep 17 00:00:00 2001 From: Alexander Bokovoy <abokovoy@redhat.com> Date: Sun, 7 Oct 2018 12:25:39 +0300 -Subject: [PATCH 14/78] install/tools/ipa-replica-conncheck.in: Change branding +Subject: [PATCH 14/93] install/tools/ipa-replica-conncheck.in: Change branding to IPA and Identity Management --- @@ -381,10 +394,10 @@ Subject: [PATCH 14/78] install/tools/ipa-replica-conncheck.in: Change branding 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install/tools/ipa-replica-conncheck.in b/install/tools/ipa-replica-conncheck.in -index b22db1139..b86ce4569 100644 +index fdc3224..a749778 100644 --- a/install/tools/ipa-replica-conncheck.in +++ b/install/tools/ipa-replica-conncheck.in -@@ -290,7 +290,7 @@ class PortResponder(threading.Thread): +@@ -291,7 +291,7 @@ class PortResponder(threading.Thread): self._sockets = [] self._close = False self._close_lock = threading.Lock() @@ -394,12 +407,13 @@ index b22db1139..b86ce4569 100644 self.ports_open_cond = threading.Condition() -- -2.21.1 +2.28.0 + -From 1f2a34a5fcb88b3ca94949a513523eb3862e99c1 Mon Sep 17 00:00:00 2001 +From 223ff47bcb51ba58dd8123b764dfadfdc28fbaec Mon Sep 17 00:00:00 2001 From: Alexander Bokovoy <abokovoy@redhat.com> Date: Sun, 7 Oct 2018 12:25:39 +0300 -Subject: [PATCH 15/78] install/tools/man/ipa-adtrust-install.1: Change +Subject: [PATCH 15/93] install/tools/man/ipa-adtrust-install.1: Change branding to IPA and Identity Management --- @@ -407,7 +421,7 @@ Subject: [PATCH 15/78] install/tools/man/ipa-adtrust-install.1: Change 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/install/tools/man/ipa-adtrust-install.1 b/install/tools/man/ipa-adtrust-install.1 -index b11065806..f70f316f6 100644 +index b110658..f70f316 100644 --- a/install/tools/man/ipa-adtrust-install.1 +++ b/install/tools/man/ipa-adtrust-install.1 @@ -16,7 +16,7 @@ @@ -429,12 +443,13 @@ index b11065806..f70f316f6 100644 to the list automatically as restart of the LDAP service on each of them is required. The host where ipa\-adtrust\-install is being run is added -- -2.21.1 +2.28.0 -From 5742d0b0fa19dc744f81aeed6727c472d2e5505f Mon Sep 17 00:00:00 2001 + +From 33cde0005c9cb310d07071a6ca6d27fb320af952 Mon Sep 17 00:00:00 2001 From: Alexander Bokovoy <abokovoy@redhat.com> Date: Sun, 7 Oct 2018 12:25:39 +0300 -Subject: [PATCH 16/78] install/tools/man/ipa-advise.1: Change branding to IPA +Subject: [PATCH 16/93] install/tools/man/ipa-advise.1: Change branding to IPA and Identity Management --- @@ -442,7 +457,7 @@ Subject: [PATCH 16/78] install/tools/man/ipa-advise.1: Change branding to IPA 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/install/tools/man/ipa-advise.1 b/install/tools/man/ipa-advise.1 -index 4c494aab9..515bbddbe 100644 +index 4c494aa..515bbdd 100644 --- a/install/tools/man/ipa-advise.1 +++ b/install/tools/man/ipa-advise.1 @@ -16,7 +16,7 @@ @@ -462,12 +477,13 @@ index 4c494aab9..515bbddbe 100644 \ No newline at end of file +1 if an error occurred -- -2.21.1 +2.28.0 + -From 650e5f89bb097c559b52a961866296380f3f94d5 Mon Sep 17 00:00:00 2001 +From 41eb935c96c0a6495f233fd0934be3e92a19407f Mon Sep 17 00:00:00 2001 From: Alexander Bokovoy <abokovoy@redhat.com> Date: Sun, 7 Oct 2018 12:25:40 +0300 -Subject: [PATCH 17/78] install/tools/man/ipa-backup.1: Change branding to IPA +Subject: [PATCH 17/93] install/tools/man/ipa-backup.1: Change branding to IPA and Identity Management --- @@ -475,7 +491,7 @@ Subject: [PATCH 17/78] install/tools/man/ipa-backup.1: Change branding to IPA 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install/tools/man/ipa-backup.1 b/install/tools/man/ipa-backup.1 -index 2f0bc9e6a..77d5d7caa 100644 +index 2f0bc9e..77d5d7c 100644 --- a/install/tools/man/ipa-backup.1 +++ b/install/tools/man/ipa-backup.1 @@ -16,7 +16,7 @@ @@ -488,12 +504,13 @@ index 2f0bc9e6a..77d5d7caa 100644 ipa\-backup \- Back up an IPA master .SH "SYNOPSIS" -- -2.21.1 +2.28.0 -From f8849ddf92e83d23b0c317b1c5f59ad9af1e3e1c Mon Sep 17 00:00:00 2001 + +From 1af2634f0f24d36bf9225a1b84e40294b914725f Mon Sep 17 00:00:00 2001 From: Alexander Bokovoy <abokovoy@redhat.com> Date: Sun, 7 Oct 2018 12:25:40 +0300 -Subject: [PATCH 18/78] install/tools/man/ipa-ca-install.1: Change branding to +Subject: [PATCH 18/93] install/tools/man/ipa-ca-install.1: Change branding to IPA and Identity Management --- @@ -501,7 +518,7 @@ Subject: [PATCH 18/78] install/tools/man/ipa-ca-install.1: Change branding to 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install/tools/man/ipa-ca-install.1 b/install/tools/man/ipa-ca-install.1 -index 3ebe32c0a..8e57c0092 100644 +index 3ebe32c..8e57c00 100644 --- a/install/tools/man/ipa-ca-install.1 +++ b/install/tools/man/ipa-ca-install.1 @@ -16,7 +16,7 @@ @@ -514,12 +531,13 @@ index 3ebe32c0a..8e57c0092 100644 ipa\-ca\-install \- Install a CA on a server .SH "SYNOPSIS" -- -2.21.1 +2.28.0 + -From 625ae452bc457003c9f4559884abb9afa2bb41ca Mon Sep 17 00:00:00 2001 +From 8ff8e7e56ce9efd49c597157b70189a76a588a42 Mon Sep 17 00:00:00 2001 From: Alexander Bokovoy <abokovoy@redhat.com> Date: Sun, 7 Oct 2018 12:25:40 +0300 -Subject: [PATCH 19/78] install/tools/man/ipa-cacert-manage.1: Change branding +Subject: [PATCH 19/93] install/tools/man/ipa-cacert-manage.1: Change branding to IPA and Identity Management --- @@ -527,7 +545,7 @@ Subject: [PATCH 19/78] install/tools/man/ipa-cacert-manage.1: Change branding 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install/tools/man/ipa-cacert-manage.1 b/install/tools/man/ipa-cacert-manage.1 -index b76ee1816..4359b12e3 100644 +index 3f8c346..c992384 100644 --- a/install/tools/man/ipa-cacert-manage.1 +++ b/install/tools/man/ipa-cacert-manage.1 @@ -16,7 +16,7 @@ @@ -540,12 +558,13 @@ index b76ee1816..4359b12e3 100644 ipa\-cacert\-manage \- Manage CA certificates in IPA .SH "SYNOPSIS" -- -2.21.1 +2.28.0 -From 13ebf098b64a5aefd39aac7a1eef1367170bc284 Mon Sep 17 00:00:00 2001 + +From 3dfaf75f7260a9dceb15089e98dc0d564078432c Mon Sep 17 00:00:00 2001 From: Alexander Bokovoy <abokovoy@redhat.com> Date: Sun, 7 Oct 2018 12:25:40 +0300 -Subject: [PATCH 20/78] install/tools/man/ipa-compat-manage.1: Change branding +Subject: [PATCH 20/93] install/tools/man/ipa-compat-manage.1: Change branding to IPA and Identity Management --- @@ -553,7 +572,7 @@ Subject: [PATCH 20/78] install/tools/man/ipa-compat-manage.1: Change branding 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install/tools/man/ipa-compat-manage.1 b/install/tools/man/ipa-compat-manage.1 -index f22b1743e..26470331a 100644 +index f22b174..2647033 100644 --- a/install/tools/man/ipa-compat-manage.1 +++ b/install/tools/man/ipa-compat-manage.1 @@ -16,7 +16,7 @@ @@ -566,12 +585,13 @@ index f22b1743e..26470331a 100644 ipa\-compat\-manage \- Enables or disables the schema compatibility plugin .SH "SYNOPSIS" -- -2.21.1 +2.28.0 + -From 2dfc9079680b04f286eeed4f65ce4f02914c55b7 Mon Sep 17 00:00:00 2001 +From 9af2e4cdb0ad3ab9147d0a357153cc55d0bcc481 Mon Sep 17 00:00:00 2001 From: Alexander Bokovoy <abokovoy@redhat.com> Date: Sun, 7 Oct 2018 12:25:40 +0300 -Subject: [PATCH 21/78] install/tools/man/ipa-csreplica-manage.1: Change +Subject: [PATCH 21/93] install/tools/man/ipa-csreplica-manage.1: Change branding to IPA and Identity Management --- @@ -579,7 +599,7 @@ Subject: [PATCH 21/78] install/tools/man/ipa-csreplica-manage.1: Change 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install/tools/man/ipa-csreplica-manage.1 b/install/tools/man/ipa-csreplica-manage.1 -index ab5bfddd8..6d039751e 100644 +index ab5bfdd..6d03975 100644 --- a/install/tools/man/ipa-csreplica-manage.1 +++ b/install/tools/man/ipa-csreplica-manage.1 @@ -16,7 +16,7 @@ @@ -592,12 +612,13 @@ index ab5bfddd8..6d039751e 100644 ipa\-csreplica\-manage \- Manage an IPA CS replica .SH "SYNOPSIS" -- -2.21.1 +2.28.0 -From 4858e90ba2b7aca2af1e2375b2442b3fa5c30f9c Mon Sep 17 00:00:00 2001 + +From b5b6885eb4503f63ced3fe1e9f1741c1ab4c84af Mon Sep 17 00:00:00 2001 From: Alexander Bokovoy <abokovoy@redhat.com> Date: Sun, 7 Oct 2018 12:25:40 +0300 -Subject: [PATCH 22/78] install/tools/man/ipa-dns-install.1: Change branding to +Subject: [PATCH 22/93] install/tools/man/ipa-dns-install.1: Change branding to IPA and Identity Management --- @@ -605,7 +626,7 @@ Subject: [PATCH 22/78] install/tools/man/ipa-dns-install.1: Change branding to 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/install/tools/man/ipa-dns-install.1 b/install/tools/man/ipa-dns-install.1 -index 14e4cd51f..029001eca 100644 +index 14e4cd5..029001e 100644 --- a/install/tools/man/ipa-dns-install.1 +++ b/install/tools/man/ipa-dns-install.1 @@ -1,7 +1,7 @@ @@ -627,12 +648,13 @@ index 14e4cd51f..029001eca 100644 This command requires that an IPA server is already installed and configured. -- -2.21.1 +2.28.0 + -From aeb6e9ae2e4ebf5d627e80f0a495a45589c0455f Mon Sep 17 00:00:00 2001 +From 1a4935f79690a6d4fb0158f854fde1af754edd95 Mon Sep 17 00:00:00 2001 From: Alexander Bokovoy <abokovoy@redhat.com> Date: Sun, 7 Oct 2018 12:25:40 +0300 -Subject: [PATCH 23/78] install/tools/man/ipa-kra-install.1: Change branding to +Subject: [PATCH 23/93] install/tools/man/ipa-kra-install.1: Change branding to IPA and Identity Management --- @@ -640,7 +662,7 @@ Subject: [PATCH 23/78] install/tools/man/ipa-kra-install.1: Change branding to 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install/tools/man/ipa-kra-install.1 b/install/tools/man/ipa-kra-install.1 -index 6c8523aa0..5476a4e71 100644 +index 6c8523a..5476a4e 100644 --- a/install/tools/man/ipa-kra-install.1 +++ b/install/tools/man/ipa-kra-install.1 @@ -16,7 +16,7 @@ @@ -653,12 +675,13 @@ index 6c8523aa0..5476a4e71 100644 ipa\-kra\-install \- Install a KRA on a server .SH "SYNOPSIS" -- -2.21.1 +2.28.0 -From d71a89b2b1ebe588672e76f04c7edd6d7a287837 Mon Sep 17 00:00:00 2001 + +From 294662f5ac3ba2c96f0f37b9107f40b7f991590c Mon Sep 17 00:00:00 2001 From: Alexander Bokovoy <abokovoy@redhat.com> Date: Sun, 7 Oct 2018 12:25:40 +0300 -Subject: [PATCH 24/78] install/tools/man/ipa-ldap-updater.1: Change branding +Subject: [PATCH 24/93] install/tools/man/ipa-ldap-updater.1: Change branding to IPA and Identity Management --- @@ -666,7 +689,7 @@ Subject: [PATCH 24/78] install/tools/man/ipa-ldap-updater.1: Change branding 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install/tools/man/ipa-ldap-updater.1 b/install/tools/man/ipa-ldap-updater.1 -index 4893802c2..7ead55bd9 100644 +index 4893802..7ead55b 100644 --- a/install/tools/man/ipa-ldap-updater.1 +++ b/install/tools/man/ipa-ldap-updater.1 @@ -16,7 +16,7 @@ @@ -679,12 +702,13 @@ index 4893802c2..7ead55bd9 100644 ipa\-ldap\-updater \- Update the IPA LDAP configuration .SH "SYNOPSIS" -- -2.21.1 +2.28.0 + -From acdf99fd7afbfd614b2db75bddf647ad12d2767f Mon Sep 17 00:00:00 2001 +From 356e3e24c2df2f8da159be229cd73416b5808097 Mon Sep 17 00:00:00 2001 From: Alexander Bokovoy <abokovoy@redhat.com> Date: Sun, 7 Oct 2018 12:25:40 +0300 -Subject: [PATCH 25/78] install/tools/man/ipa-managed-entries.1: Change +Subject: [PATCH 25/93] install/tools/man/ipa-managed-entries.1: Change branding to IPA and Identity Management --- @@ -692,7 +716,7 @@ Subject: [PATCH 25/78] install/tools/man/ipa-managed-entries.1: Change 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install/tools/man/ipa-managed-entries.1 b/install/tools/man/ipa-managed-entries.1 -index 3d5ca22b8..edaa0a90d 100644 +index 3d5ca22..edaa0a9 100644 --- a/install/tools/man/ipa-managed-entries.1 +++ b/install/tools/man/ipa-managed-entries.1 @@ -16,7 +16,7 @@ @@ -705,12 +729,13 @@ index 3d5ca22b8..edaa0a90d 100644 ipa\-managed\-entries \- Enables or disables the schema Managed Entry plugins .SH "SYNOPSIS" -- -2.21.1 +2.28.0 -From 2cbdc087d8f18733d36e60788faddef5a914821a Mon Sep 17 00:00:00 2001 + +From 03ab99f72d60f2e8240aa6222939384f227d4ba8 Mon Sep 17 00:00:00 2001 From: Alexander Bokovoy <abokovoy@redhat.com> Date: Sun, 7 Oct 2018 12:25:40 +0300 -Subject: [PATCH 26/78] install/tools/man/ipa-nis-manage.1: Change branding to +Subject: [PATCH 26/93] install/tools/man/ipa-nis-manage.1: Change branding to IPA and Identity Management --- @@ -718,7 +743,7 @@ Subject: [PATCH 26/78] install/tools/man/ipa-nis-manage.1: Change branding to 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install/tools/man/ipa-nis-manage.1 b/install/tools/man/ipa-nis-manage.1 -index 93278487c..1107b7790 100644 +index 9327848..1107b77 100644 --- a/install/tools/man/ipa-nis-manage.1 +++ b/install/tools/man/ipa-nis-manage.1 @@ -16,7 +16,7 @@ @@ -731,12 +756,13 @@ index 93278487c..1107b7790 100644 ipa\-nis\-manage \- Enables or disables the NIS listener plugin .SH "SYNOPSIS" -- -2.21.1 +2.28.0 + -From 3af61d4b26532726492bc7d121ec8b39bb68dce6 Mon Sep 17 00:00:00 2001 +From d840ef02568c90384dcb597cdc3fa06148401e4b Mon Sep 17 00:00:00 2001 From: Alexander Bokovoy <abokovoy@redhat.com> Date: Sun, 7 Oct 2018 12:25:40 +0300 -Subject: [PATCH 27/78] install/tools/man/ipa-otptoken-import.1: Change +Subject: [PATCH 27/93] install/tools/man/ipa-otptoken-import.1: Change branding to IPA and Identity Management --- @@ -744,7 +770,7 @@ Subject: [PATCH 27/78] install/tools/man/ipa-otptoken-import.1: Change 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install/tools/man/ipa-otptoken-import.1 b/install/tools/man/ipa-otptoken-import.1 -index 920a08ca2..fe91040fa 100644 +index 920a08c..fe91040 100644 --- a/install/tools/man/ipa-otptoken-import.1 +++ b/install/tools/man/ipa-otptoken-import.1 @@ -16,7 +16,7 @@ @@ -757,12 +783,13 @@ index 920a08ca2..fe91040fa 100644 ipa\-otptoken\-import \- Imports OTP tokens from RFC 6030 XML file .SH "SYNOPSIS" -- -2.21.1 +2.28.0 -From 426c1370d990dcd44612427abc75f8b21178f279 Mon Sep 17 00:00:00 2001 + +From e8488e7d4657538a407fcb6af8b65db03acc01f4 Mon Sep 17 00:00:00 2001 From: Alexander Bokovoy <abokovoy@redhat.com> Date: Sun, 7 Oct 2018 12:25:40 +0300 -Subject: [PATCH 28/78] install/tools/man/ipa-pkinit-manage.1: Change branding +Subject: [PATCH 28/93] install/tools/man/ipa-pkinit-manage.1: Change branding to IPA and Identity Management --- @@ -770,7 +797,7 @@ Subject: [PATCH 28/78] install/tools/man/ipa-pkinit-manage.1: Change branding 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install/tools/man/ipa-pkinit-manage.1 b/install/tools/man/ipa-pkinit-manage.1 -index 5018ce8aa..50d63e921 100644 +index 5018ce8..50d63e9 100644 --- a/install/tools/man/ipa-pkinit-manage.1 +++ b/install/tools/man/ipa-pkinit-manage.1 @@ -1,7 +1,7 @@ @@ -783,12 +810,13 @@ index 5018ce8aa..50d63e921 100644 ipa\-pkinit\-manage \- Enables or disables PKINIT .SH "SYNOPSIS" -- -2.21.1 +2.28.0 + -From 7553161cbb48d42e76babe540ae878d328cb462b Mon Sep 17 00:00:00 2001 +From 0d46f57eb6b80d9c807f30ca357b5a6e740f1aad Mon Sep 17 00:00:00 2001 From: Alexander Bokovoy <abokovoy@redhat.com> Date: Sun, 7 Oct 2018 12:25:40 +0300 -Subject: [PATCH 29/78] install/tools/man/ipa-replica-conncheck.1: Change +Subject: [PATCH 29/93] install/tools/man/ipa-replica-conncheck.1: Change branding to IPA and Identity Management --- @@ -796,7 +824,7 @@ Subject: [PATCH 29/78] install/tools/man/ipa-replica-conncheck.1: Change 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install/tools/man/ipa-replica-conncheck.1 b/install/tools/man/ipa-replica-conncheck.1 -index 6451f3545..ed441e3be 100644 +index 6451f35..ed441e3 100644 --- a/install/tools/man/ipa-replica-conncheck.1 +++ b/install/tools/man/ipa-replica-conncheck.1 @@ -16,7 +16,7 @@ @@ -809,12 +837,13 @@ index 6451f3545..ed441e3be 100644 ipa\-replica\-conncheck \- Check a replica\-master network connection before installation .SH "SYNOPSIS" -- -2.21.1 +2.28.0 -From 3676e1a1040aa6ae858134828cfcd7b35e74d4f5 Mon Sep 17 00:00:00 2001 + +From 3eff0ac28e58ce96c2ba9e439501654cefe7458f Mon Sep 17 00:00:00 2001 From: Alexander Bokovoy <abokovoy@redhat.com> Date: Sun, 7 Oct 2018 12:25:40 +0300 -Subject: [PATCH 30/78] install/tools/man/ipa-replica-install.1: Change +Subject: [PATCH 30/93] install/tools/man/ipa-replica-install.1: Change branding to IPA and Identity Management --- @@ -822,7 +851,7 @@ Subject: [PATCH 30/78] install/tools/man/ipa-replica-install.1: Change 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/install/tools/man/ipa-replica-install.1 b/install/tools/man/ipa-replica-install.1 -index 19d1d9110..44fce10ba 100644 +index 19d1d91..44fce10 100644 --- a/install/tools/man/ipa-replica-install.1 +++ b/install/tools/man/ipa-replica-install.1 @@ -1,7 +1,7 @@ @@ -853,12 +882,13 @@ index 19d1d9110..44fce10ba 100644 to the list automatically as restart of the LDAP service on each of them is required. The host where ipa\-adtrust\-install is being run is added -- -2.21.1 +2.28.0 + -From 139ddf89255aa4423499208d5b4191dbc7b829dd Mon Sep 17 00:00:00 2001 +From 2b097ebacacba27dd7af501ab4bdf521e9affac8 Mon Sep 17 00:00:00 2001 From: Alexander Bokovoy <abokovoy@redhat.com> Date: Sun, 7 Oct 2018 12:25:40 +0300 -Subject: [PATCH 31/78] install/tools/man/ipa-replica-manage.1: Change branding +Subject: [PATCH 31/93] install/tools/man/ipa-replica-manage.1: Change branding to IPA and Identity Management --- @@ -866,7 +896,7 @@ Subject: [PATCH 31/78] install/tools/man/ipa-replica-manage.1: Change branding 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install/tools/man/ipa-replica-manage.1 b/install/tools/man/ipa-replica-manage.1 -index 239f1591c..2c94278ca 100644 +index 239f159..2c94278 100644 --- a/install/tools/man/ipa-replica-manage.1 +++ b/install/tools/man/ipa-replica-manage.1 @@ -16,7 +16,7 @@ @@ -879,12 +909,13 @@ index 239f1591c..2c94278ca 100644 ipa\-replica\-manage \- Manage an IPA replica .SH "SYNOPSIS" -- -2.21.1 +2.28.0 -From 773bf31555e662f24f807e4b69b8dcf1f88e3f83 Mon Sep 17 00:00:00 2001 + +From 78a43b16ab8b2914e243465642fef5de519adbe9 Mon Sep 17 00:00:00 2001 From: Alexander Bokovoy <abokovoy@redhat.com> Date: Sun, 7 Oct 2018 12:25:40 +0300 -Subject: [PATCH 32/78] install/tools/man/ipa-restore.1: Change branding to IPA +Subject: [PATCH 32/93] install/tools/man/ipa-restore.1: Change branding to IPA and Identity Management --- @@ -892,7 +923,7 @@ Subject: [PATCH 32/78] install/tools/man/ipa-restore.1: Change branding to IPA 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install/tools/man/ipa-restore.1 b/install/tools/man/ipa-restore.1 -index 5843d5546..bc0755baa 100644 +index 5843d55..bc0755b 100644 --- a/install/tools/man/ipa-restore.1 +++ b/install/tools/man/ipa-restore.1 @@ -16,7 +16,7 @@ @@ -905,12 +936,13 @@ index 5843d5546..bc0755baa 100644 ipa\-restore \- Restore an IPA master .SH "SYNOPSIS" -- -2.21.1 +2.28.0 + -From c00d47be96e91102bf3eeecf0a2363cf21f260eb Mon Sep 17 00:00:00 2001 +From 4c99b9799d6ba16191cb6a8c0bec5c89f2c1ed41 Mon Sep 17 00:00:00 2001 From: Alexander Bokovoy <abokovoy@redhat.com> Date: Sun, 7 Oct 2018 12:25:40 +0300 -Subject: [PATCH 33/78] install/tools/man/ipa-server-certinstall.1: Change +Subject: [PATCH 33/93] install/tools/man/ipa-server-certinstall.1: Change branding to IPA and Identity Management --- @@ -918,7 +950,7 @@ Subject: [PATCH 33/78] install/tools/man/ipa-server-certinstall.1: Change 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install/tools/man/ipa-server-certinstall.1 b/install/tools/man/ipa-server-certinstall.1 -index 79bd7c885..3f12a5af2 100644 +index 8798819..0aa5315 100644 --- a/install/tools/man/ipa-server-certinstall.1 +++ b/install/tools/man/ipa-server-certinstall.1 @@ -16,7 +16,7 @@ @@ -931,12 +963,13 @@ index 79bd7c885..3f12a5af2 100644 ipa\-server\-certinstall \- Install new SSL server certificates .SH "SYNOPSIS" -- -2.21.1 +2.28.0 -From b95e2315685e4142b7f0d5ea1fdaa7b4a1b2a9d7 Mon Sep 17 00:00:00 2001 + +From 6a1ad17abeff8606049746caa7bd79bb7d1e8a5d Mon Sep 17 00:00:00 2001 From: Alexander Bokovoy <abokovoy@redhat.com> Date: Sun, 7 Oct 2018 12:25:40 +0300 -Subject: [PATCH 34/78] install/tools/man/ipa-server-install.1: Change branding +Subject: [PATCH 34/93] install/tools/man/ipa-server-install.1: Change branding to IPA and Identity Management --- @@ -944,7 +977,7 @@ Subject: [PATCH 34/78] install/tools/man/ipa-server-install.1: Change branding 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/install/tools/man/ipa-server-install.1 b/install/tools/man/ipa-server-install.1 -index 1a4d2f658..fdb0f4cb3 100644 +index 1a4d2f6..fdb0f4c 100644 --- a/install/tools/man/ipa-server-install.1 +++ b/install/tools/man/ipa-server-install.1 @@ -1,7 +1,7 @@ @@ -966,12 +999,13 @@ index 1a4d2f658..fdb0f4cb3 100644 .TP \fB\-\-setup\-dns\fR -- -2.21.1 +2.28.0 + -From e63c333515020e37c3be9a9e2a3f67304badad2e Mon Sep 17 00:00:00 2001 +From 4db5773eb5b53b6f5cf94875241ca3110f0b08f8 Mon Sep 17 00:00:00 2001 From: Alexander Bokovoy <abokovoy@redhat.com> Date: Sun, 7 Oct 2018 12:25:40 +0300 -Subject: [PATCH 35/78] install/tools/man/ipa-server-upgrade.1: Change branding +Subject: [PATCH 35/93] install/tools/man/ipa-server-upgrade.1: Change branding to IPA and Identity Management --- @@ -979,7 +1013,7 @@ Subject: [PATCH 35/78] install/tools/man/ipa-server-upgrade.1: Change branding 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install/tools/man/ipa-server-upgrade.1 b/install/tools/man/ipa-server-upgrade.1 -index cbbdc5901..3db19b0f1 100644 +index cbbdc59..3db19b0 100644 --- a/install/tools/man/ipa-server-upgrade.1 +++ b/install/tools/man/ipa-server-upgrade.1 @@ -2,7 +2,7 @@ @@ -992,12 +1026,13 @@ index cbbdc5901..3db19b0f1 100644 ipa\-server\-upgrade \- upgrade IPA server .SH "SYNOPSIS" -- -2.21.1 +2.28.0 -From 7dfbdf73de322616cc6235db57bd8f3fd0805ac5 Mon Sep 17 00:00:00 2001 + +From cccdfc43e3350f07b09c3ebfc8b42b2fe34fcb11 Mon Sep 17 00:00:00 2001 From: Alexander Bokovoy <abokovoy@redhat.com> Date: Sun, 7 Oct 2018 12:25:40 +0300 -Subject: [PATCH 36/78] install/tools/man/ipa-winsync-migrate.1: Change +Subject: [PATCH 36/93] install/tools/man/ipa-winsync-migrate.1: Change branding to IPA and Identity Management --- @@ -1005,7 +1040,7 @@ Subject: [PATCH 36/78] install/tools/man/ipa-winsync-migrate.1: Change 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install/tools/man/ipa-winsync-migrate.1 b/install/tools/man/ipa-winsync-migrate.1 -index 88702bad6..1812f6348 100644 +index 88702ba..1812f63 100644 --- a/install/tools/man/ipa-winsync-migrate.1 +++ b/install/tools/man/ipa-winsync-migrate.1 @@ -16,7 +16,7 @@ @@ -1018,12 +1053,13 @@ index 88702bad6..1812f6348 100644 ipa\-winsync\-migrate \- Seamless migration of AD users created by winsync to native AD users. .SH "SYNOPSIS" -- -2.21.1 +2.28.0 + -From 79d8cc19a6a65a00006ded393bc7b1716522bca1 Mon Sep 17 00:00:00 2001 +From 88d658bc5fc1d48974eb81d5b06d8368cc51425e Mon Sep 17 00:00:00 2001 From: Alexander Bokovoy <abokovoy@redhat.com> Date: Sun, 7 Oct 2018 12:25:40 +0300 -Subject: [PATCH 37/78] install/tools/man/ipactl.8: Change branding to IPA and +Subject: [PATCH 37/93] install/tools/man/ipactl.8: Change branding to IPA and Identity Management --- @@ -1031,7 +1067,7 @@ Subject: [PATCH 37/78] install/tools/man/ipactl.8: Change branding to IPA and 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install/tools/man/ipactl.8 b/install/tools/man/ipactl.8 -index fb533aae2..d7aaaf8ed 100644 +index fb533aa..d7aaaf8 100644 --- a/install/tools/man/ipactl.8 +++ b/install/tools/man/ipactl.8 @@ -16,7 +16,7 @@ @@ -1044,12 +1080,13 @@ index fb533aae2..d7aaaf8ed 100644 ipactl \- IPA Server Control Interface .SH "SYNOPSIS" -- -2.21.1 +2.28.0 -From a4ee86f8c53ebb9dbec7ffd75a40f06c8104ad9a Mon Sep 17 00:00:00 2001 + +From 32f17868c89b47f0ee775279a63e670b44c766d8 Mon Sep 17 00:00:00 2001 From: Alexander Bokovoy <abokovoy@redhat.com> Date: Sun, 7 Oct 2018 12:25:40 +0300 -Subject: [PATCH 38/78] install/ui/css/patternfly.css: Change branding to IPA +Subject: [PATCH 38/93] install/ui/css/patternfly.css: Change branding to IPA and Identity Management --- @@ -1057,7 +1094,7 @@ Subject: [PATCH 38/78] install/ui/css/patternfly.css: Change branding to IPA 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install/ui/css/patternfly.css b/install/ui/css/patternfly.css -index ee920530b..de574a84c 100644 +index ee92053..de574a8 100644 --- a/install/ui/css/patternfly.css +++ b/install/ui/css/patternfly.css @@ -4,4 +4,4 @@ @@ -1069,12 +1106,13 @@ index ee920530b..de574a84c 100644 + */.bootstrap-select.btn-group,.bootstrap-select.btn-group[class*=span]{float:none;display:inline-block;margin-bottom:10px;margin-left:0}.form-horizontal .bootstrap-select.btn-group,.form-inline .bootstrap-select.btn-group,.form-search .bootstrap-select.btn-group{margin-bottom:0}.bootstrap-select.form-control{margin-bottom:0;padding:0;border:none}.bootstrap-select.btn-group.pull-right,.bootstrap-select.btn-group[class*=span].pull-right,.row-fluid .bootstrap-select.btn-group[class*=span].pull-right{float:right}.input-append .bootstrap-select.btn-group{margin-left:-1px}.input-prepend .bootstrap-select.btn-group{margin-right:-1px}.bootstrap-select:not([class*=span]):not([class*=col-]):not([class*=form-control]){width:220px}.bootstrap-select{width:220px\9}.bootstrap-select.form-control:not([class*=span]){width:100%}.bootstrap-select>.btn{width:100%}.error .bootstrap-select .btn{border:1px solid #b94a48}.dropdown-menu{z-index:2000}.bootstrap-select.show-menu-arrow.open>.btn{z-index:2051}.bootstrap-select .btn:focus{outline:thin dotted #333!important;outline:5px auto -webkit-focus-ring-color!important;outline-offset:-2px}.bootstrap-select.btn-group .btn .filter-option{overflow:hidden;position:absolute;left:12px;right:25px;text-align:left}.bootstrap-select.btn-group .btn .caret{position:absolute;top:50%;right:12px;margin-top:-2px;vertical-align:middle}.bootstrap-select.btn-group .dropdown-menu li.disabled>a,.bootstrap-select.btn-group>.disabled{cursor:not-allowed}.bootstrap-select.btn-group>.disabled:focus{outline:0!important}.bootstrap-select.btn-group[class*=span] .btn{width:100%}.bootstrap-select.btn-group .dropdown-menu{min-width:100%;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.bootstrap-select.btn-group .dropdown-menu.inner{position:static;border:0;padding:0;margin:0;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.bootstrap-select.btn-group .dropdown-menu dt{display:block;padding:3px 20px;cursor:default}.bootstrap-select.btn-group .div-contain{overflow:hidden}.bootstrap-select.btn-group .dropdown-menu li{position:relative}.bootstrap-select.btn-group .dropdown-menu li>a.opt{position:relative;padding-left:35px}.bootstrap-select.btn-group .dropdown-menu li>a{cursor:pointer}.bootstrap-select.btn-group .dropdown-menu li>dt small{font-weight:400}.bootstrap-select.btn-group.show-tick .dropdown-menu li.selected a i.check-mark{display:inline-block;position:absolute;right:15px;margin-top:2.5px}.bootstrap-select.btn-group .dropdown-menu li a i.check-mark{display:none}.bootstrap-select.btn-group.show-tick .dropdown-menu li a span.text{margin-right:34px}.bootstrap-select.btn-group .dropdown-menu li small{padding-left:.5em}.bootstrap-select.btn-group .dropdown-menu li.active:not(.disabled)>a small,.bootstrap-select.btn-group .dropdown-menu li:not(.disabled)>a:focus small,.bootstrap-select.btn-group .dropdown-menu li:not(.disabled)>a:hover small{color:#64b1d8;color:rgba(255,255,255,.4)}.bootstrap-select.btn-group .dropdown-menu li>dt small{font-weight:400}.bootstrap-select.show-menu-arrow .dropdown-toggle:before{content:'';display:inline-block;border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:7px solid #CCC;border-bottom-color:rgba(0,0,0,.2);position:absolute;bottom:-4px;left:9px;display:none}.bootstrap-select.show-menu-arrow .dropdown-toggle:after{content:'';display:inline-block;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid #fff;position:absolute;bottom:-4px;left:10px;display:none}.bootstrap-select.show-menu-arrow.dropup .dropdown-toggle:before{bottom:auto;top:-3px;border-top:7px solid #ccc;border-bottom:0;border-top-color:rgba(0,0,0,.2)}.bootstrap-select.show-menu-arrow.dropup .dropdown-toggle:after{bottom:auto;top:-3px;border-top:6px solid #fff;border-bottom:0}.bootstrap-select.show-menu-arrow.pull-right .dropdown-toggle:before{right:12px;left:auto}.bootstrap-select.show-menu-arrow.pull-right .dropdown-toggle:after{right:13px;left:auto}.bootstrap-select.show-menu-arrow.open>.dropdown-toggle:after,.bootstrap-select.show-menu-arrow.open>.dropdown-toggle:before{display:block}.bootstrap-select.btn-group .no-results{padding:3px;background:#f5f5f5;margin:0 5px}.mobile-device{position:absolute;top:0;left:0;display:block!important;width:100%;height:100%!important;opacity:0}.bootstrap-select.fit-width{width:auto!important}.bootstrap-select.btn-group.fit-width .btn .filter-option{position:static}.bootstrap-select.btn-group.fit-width .btn .caret{position:static;top:auto;margin-top:-1px}.control-group.error .bootstrap-select .dropdown-toggle{border-color:#b94a48}.bootstrap-select-searchbox{padding:4px 8px}.bootstrap-select-searchbox input{margin-bottom:0}.alert{border-width:1px;padding-left:47px;padding-right:14px;position:relative}.alert .alert-link{color:#0088ce}.alert .alert-link:hover{color:#00659c}.alert>.btn.pull-right{margin-top:-3px}.alert>.pficon{font-size:22px;position:absolute;left:13px;top:10px}.alert .close{opacity:.85;filter:alpha(opacity=85)}.alert .close:focus,.alert .close:hover{opacity:1;filter:alpha(opacity=100)}.alert .pficon-info{color:#4d5258}.alert-dismissable{padding-right:28px}.alert-dismissable .close{right:-13px;top:1px}.badge{margin-left:6px}.nav-pills>li>a>.badge{margin-left:6px}.bootstrap-select.btn-group.form-control{margin-bottom:0}.bootstrap-select.btn-group .btn{-webkit-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.bootstrap-select.btn-group .btn:hover{border-color:#7dc3e8}.bootstrap-select.btn-group .btn .caret{margin-top:-4px}.bootstrap-select.btn-group .btn:focus{border-color:#0088ce;outline:0!important;-webkit-box-shadow:inset 0 1px 1px rgba(3,3,3,.075),0 0 8px rgba(0,136,206,.6);box-shadow:inset 0 1px 1px rgba(3,3,3,.075),0 0 8px rgba(0,136,206,.6)}.has-error .bootstrap-select.btn-group .btn{border-color:#c00}.has-error .bootstrap-select.btn-group .btn:focus{border-color:#900;-webkit-box-shadow:inset 0 1px 1px rgba(3,3,3,.075),0 0 6px #f33;box-shadow:inset 0 1px 1px rgba(3,3,3,.075),0 0 6px #f33}.has-success .bootstrap-select.btn-group .btn{border-color:#3c763d}.has-success .bootstrap-select.btn-group .btn:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(3,3,3,.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(3,3,3,.075),0 0 6px #67b168}.has-warning .bootstrap-select.btn-group .btn{border-color:#ec7a08}.has-warning .bootstrap-select.btn-group .btn:focus{border-color:#bb6106;-webkit-box-shadow:inset 0 1px 1px rgba(3,3,3,.075),0 0 6px #faad60;box-shadow:inset 0 1px 1px rgba(3,3,3,.075),0 0 6px #faad60}.bootstrap-select.btn-group .dropdown-menu>.active>a,.bootstrap-select.btn-group .dropdown-menu>.active>a:active{background-color:#def3ff!important;border-color:#bee1f4!important;color:#363636!important}.bootstrap-select.btn-group .dropdown-menu>.active>a small,.bootstrap-select.btn-group .dropdown-menu>.active>a:active small{color:#9c9c9c!important}.bootstrap-select.btn-group .dropdown-menu>.disabled>a{color:#9c9c9c!important}.bootstrap-select.btn-group .dropdown-menu>.selected>a{background-color:#0088ce!important;border-color:#0088ce!important;color:#fff!important}.bootstrap-select.btn-group .dropdown-menu>.selected>a small{color:rgba(255,255,255,.5)!important}.bootstrap-select.btn-group .dropdown-menu .divider{background:#ededed!important;margin:4px 1px!important}.bootstrap-select.btn-group .dropdown-menu dt{color:#8b8d8f;font-weight:400;padding:1px 10px}.bootstrap-select.btn-group .dropdown-menu li>a.opt{padding:1px 10px}.bootstrap-select.btn-group .dropdown-menu li a:active small{color:rgba(255,255,255,.5)!important}.bootstrap-select.btn-group .dropdown-menu li a:focus small,.bootstrap-select.btn-group .dropdown-menu li a:hover small{color:#9c9c9c}.bootstrap-select.btn-group .dropdown-menu li:not(.disabled) a:focus small,.bootstrap-select.btn-group .dropdown-menu li:not(.disabled) a:hover small{color:#9c9c9c}.combobox-container.combobox-selected .glyphicon-remove{display:inline-block}.combobox-container .caret{margin-left:0}.combobox-container .combobox::-ms-clear{display:none}.combobox-container .dropdown-menu{margin-top:-1px;width:100%}.combobox-container .glyphicon-remove{display:none;top:auto;width:12px}.combobox-container .glyphicon-remove:before{content:"\e60b";font-family:PatternFlyIcons-webfont}.combobox-container .input-group-addon{background-color:#f1f1f1;background-image:-webkit-linear-gradient(top,#fafafa 0,#ededed 100%);background-image:-o-linear-gradient(top,#fafafa 0,#ededed 100%);background-image:linear-gradient(to bottom,#fafafa 0,#ededed 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffafafa', endColorstr='#ffededed', GradientType=0);border-color:#bbb;color:#4d5258;position:relative}.combobox-container .input-group-addon.active,.combobox-container .input-group-addon:active,.combobox-container .input-group-addon:focus,.combobox-container .input-group-addon:hover,.open .dropdown-toggle.combobox-container .input-group-addon{background-color:#f1f1f1;background-image:none;border-color:#bbb;color:#4d5258}.combobox-container .input-group-addon.active,.combobox-container .input-group-addon:active,.open .dropdown-toggle.combobox-container .input-group-addon{background-image:none}.combobox-container .input-group-addon.active.focus,.combobox-container .input-group-addon.active:focus,.combobox-container .input-group-addon.active:hover,.combobox-container .input-group-addon:active.focus,.combobox-container .input-group-addon:active:focus,.combobox-container .input-group-addon:active:hover,.open .dropdown-toggle.combobox-container .input-group-addon.focus,.open .dropdown-toggle.combobox-container .input-group-addon:focus,.open .dropdown-toggle.combobox-container .input-group-addon:hover{background-color:#e5e5e5;border-color:#a9a9a9}.combobox-container .input-group-addon.disabled,.combobox-container .input-group-addon.disabled.active,.combobox-container .input-group-addon.disabled:active,.combobox-container .input-group-addon.disabled:focus,.combobox-container .input-group-addon.disabled:hover,.combobox-container .input-group-addon[disabled],.combobox-container .input-group-addon[disabled].active,.combobox-container .input-group-addon[disabled]:active,.combobox-container .input-group-addon[disabled]:focus,.combobox-container .input-group-addon[disabled]:hover,fieldset[disabled] .combobox-container .input-group-addon,fieldset[disabled] .combobox-container .input-group-addon.active,fieldset[disabled] .combobox-container .input-group-addon:active,fieldset[disabled] .combobox-container .input-group-addon:focus,fieldset[disabled] .combobox-container .input-group-addon:hover{background-color:#f1f1f1;border-color:#bbb}.combobox-container .input-group-addon:active{-webkit-box-shadow:inset 0 2px 8px rgba(3,3,3,.2);box-shadow:inset 0 2px 8px rgba(3,3,3,.2)}.treeview .list-group{border-top:0}.treeview .list-group-item{background:0 0;border-bottom:1px solid transparent!important;border-top:1px solid transparent!important;margin-bottom:0;padding:0 10px}.treeview .list-group-item:hover{background:#def3ff!important;border-color:#bee1f4!important}.treeview .list-group-item.node-selected{background:#0088ce!important;border-color:#0088ce!important;color:#fff!important}.treeview span.icon{display:inline-block;font-size:13px;min-width:10px;text-align:center}.treeview span.icon>[class*=fa-angle]{font-size:15px}.treeview span.indent{margin-right:5px}.breadcrumb{padding-left:0}.breadcrumb>.active strong{font-weight:600}.breadcrumb>li{display:inline}.breadcrumb>li+li:before{color:#9c9c9c;content:"\f101";font-family:FontAwesome;font-size:11px;padding:0 9px 0 7px}.btn{-webkit-box-shadow:0 2px 3px rgba(3,3,3,.1);box-shadow:0 2px 3px rgba(3,3,3,.1)}.btn:active{-webkit-box-shadow:inset 0 2px 8px rgba(3,3,3,.2);box-shadow:inset 0 2px 8px rgba(3,3,3,.2)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{background-color:#fafafa!important;background-image:none!important;border-color:#d1d1d1!important;color:#8b8d8f!important;opacity:1}.btn.disabled:active,.btn[disabled]:active,fieldset[disabled] .btn:active{-webkit-box-shadow:none;box-shadow:none}.btn.disabled.btn-link,.btn[disabled].btn-link,fieldset[disabled] .btn.btn-link{background-color:transparent!important;border:0}.btn-danger{background-color:#a30000;background-image:-webkit-linear-gradient(top,#c00 0,#a30000 100%);background-image:-o-linear-gradient(top,#c00 0,#a30000 100%);background-image:linear-gradient(to bottom,#c00 0,#a30000 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffcc0000', endColorstr='#ffa30000', GradientType=0);border-color:#8b0000;color:#fff}.btn-danger.active,.btn-danger:active,.btn-danger:focus,.btn-danger:hover,.open .dropdown-toggle.btn-danger{background-color:#a30000;background-image:none;border-color:#8b0000;color:#fff}.btn-danger.active,.btn-danger:active,.open .dropdown-toggle.btn-danger{background-image:none}.btn-danger.active.focus,.btn-danger.active:focus,.btn-danger.active:hover,.btn-danger:active.focus,.btn-danger:active:focus,.btn-danger:active:hover,.open .dropdown-toggle.btn-danger.focus,.open .dropdown-toggle.btn-danger:focus,.open .dropdown-toggle.btn-danger:hover{background-color:#8a0000;border-color:#670000}.btn-danger.disabled,.btn-danger.disabled.active,.btn-danger.disabled:active,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled],.btn-danger[disabled].active,.btn-danger[disabled]:active,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger,fieldset[disabled] .btn-danger.active,fieldset[disabled] .btn-danger:active,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#a30000;border-color:#8b0000}.btn-default{background-color:#f1f1f1;background-image:-webkit-linear-gradient(top,#fafafa 0,#ededed 100%);background-image:-o-linear-gradient(top,#fafafa 0,#ededed 100%);background-image:linear-gradient(to bottom,#fafafa 0,#ededed 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffafafa', endColorstr='#ffededed', GradientType=0);border-color:#bbb;color:#4d5258}.btn-default.active,.btn-default:active,.btn-default:focus,.btn-default:hover,.open .dropdown-toggle.btn-default{background-color:#f1f1f1;background-image:none;border-color:#bbb;color:#4d5258}.btn-default.active,.btn-default:active,.open .dropdown-toggle.btn-default{background-image:none}.btn-default.active.focus,.btn-default.active:focus,.btn-default.active:hover,.btn-default:active.focus,.btn-default:active:focus,.btn-default:active:hover,.open .dropdown-toggle.btn-default.focus,.open .dropdown-toggle.btn-default:focus,.open .dropdown-toggle.btn-default:hover{background-color:#e5e5e5;border-color:#a9a9a9}.btn-default.disabled,.btn-default.disabled.active,.btn-default.disabled:active,.btn-default.disabled:focus,.btn-default.disabled:hover,.btn-default[disabled],.btn-default[disabled].active,.btn-default[disabled]:active,.btn-default[disabled]:focus,.btn-default[disabled]:hover,fieldset[disabled] .btn-default,fieldset[disabled] .btn-default.active,fieldset[disabled] .btn-default:active,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default:hover{background-color:#f1f1f1;border-color:#bbb}.btn-link,.btn-link:active{-webkit-box-shadow:none;box-shadow:none}.btn-primary{background-color:#0088ce;background-image:-webkit-linear-gradient(top,#39a5dc 0,#0088ce 100%);background-image:-o-linear-gradient(top,#39a5dc 0,#0088ce 100%);background-image:linear-gradient(to bottom,#39a5dc 0,#0088ce 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff39a5dc', endColorstr='#ff0088ce', GradientType=0);border-color:#00659c;color:#fff}.btn-primary.active,.btn-primary:active,.btn-primary:focus,.btn-primary:hover,.open .dropdown-toggle.btn-primary{background-color:#0088ce;background-image:none;border-color:#00659c;color:#fff}.btn-primary.active,.btn-primary:active,.open .dropdown-toggle.btn-primary{background-image:none}.btn-primary.active.focus,.btn-primary.active:focus,.btn-primary.active:hover,.btn-primary:active.focus,.btn-primary:active:focus,.btn-primary:active:hover,.open .dropdown-toggle.btn-primary.focus,.open .dropdown-toggle.btn-primary:focus,.open .dropdown-toggle.btn-primary:hover{background-color:#0077b5;border-color:#004e78}.btn-primary.disabled,.btn-primary.disabled.active,.btn-primary.disabled:active,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled],.btn-primary[disabled].active,.btn-primary[disabled]:active,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary,fieldset[disabled] .btn-primary.active,fieldset[disabled] .btn-primary:active,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#0088ce;border-color:#00659c}.btn-group-xs .btn,.btn-group-xs>.btn,.btn-xs{font-weight:400}.close{text-shadow:none;opacity:.6;filter:alpha(opacity=60)}.close:focus,.close:hover{opacity:.9;filter:alpha(opacity=90)}.ColVis_Button:active:focus{outline:0}.ColVis_catcher{position:absolute;z-index:999}.ColVis_collection{background-color:#fff;border:1px solid #bbb;border-radius:1px;-webkit-box-shadow:0 6px 12px rgba(3,3,3,.175);box-shadow:0 6px 12px rgba(3,3,3,.175);background-clip:padding-box;list-style:none;margin:-1px 0 0 0;padding:5px 10px;width:150px;z-index:1000}.ColVis_collection label{font-weight:400;margin-bottom:5px;margin-top:5px;padding-left:20px}.ColVis_collectionBackground{background-color:#fff;height:100%;left:0;position:fixed;top:0;width:100%;z-index:998}.dataTables_header{background-color:#f5f5f5;border:1px solid #d1d1d1;border-bottom:none;padding:5px;position:relative;text-align:center}.dataTables_header .btn{-webkit-box-shadow:none;box-shadow:none}.dataTables_header .ColVis{position:absolute;right:5px;text-align:left;top:5px}.dataTables_header .ColVis+.dataTables_info{padding-right:30px}.dataTables_header .dataTables_filter{position:absolute}.dataTables_header .dataTables_filter input{border:1px solid #bbb;height:24px}@media (max-width:767px){.dataTables_header .dataTables_filter input{width:100px}}.dataTables_header .dataTables_info{padding:2px 0}@media (max-width:480px){.dataTables_header .dataTables_info{text-align:right}}.dataTables_header .dataTables_info b{font-weight:700}.dataTables_footer{background-color:#fff;border:1px solid #d1d1d1;border-top:none;overflow:hidden}.dataTables_paginate{background:#fafafa;float:right;margin:0}.dataTables_paginate .pagination{float:left;margin:0}.dataTables_paginate .pagination>li>span{border-color:#fff #d1d1d1 #f5f5f5;border-width:0 1px;font-size:16px;font-weight:400;padding:0;text-align:center;width:31px}.dataTables_paginate .pagination>li>span:focus,.dataTables_paginate .pagination>li>span:hover{filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.dataTables_paginate .pagination>li.last>span{border-right:none}.dataTables_paginate .pagination>li.disabled>span{background:#f5f5f5;border-left-color:#ededed;border-right-color:#ededed;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.dataTables_paginate .pagination-input{float:left;font-size:12px;line-height:1em;padding:4px 15px 0;text-align:right}.dataTables_paginate .pagination-input .paginate_input{border:1px solid #d1d1d1;-webkit-box-shadow:inset 0 1px 1px rgba(3,3,3,.075);box-shadow:inset 0 1px 1px rgba(3,3,3,.075);font-size:12px;font-weight:600;height:19px;margin-right:8px;padding-right:3px;text-align:right;width:30px}.dataTables_paginate .pagination-input .paginate_of{position:relative}.dataTables_paginate .pagination-input .paginate_of b{margin-left:3px}.dataTables_wrapper{margin:20px 0}@media (max-width:767px){.dataTables_wrapper .table-responsive{margin-bottom:0}}.DTCR_clonedTable{background-color:rgba(255,255,255,.7);z-index:202}.DTCR_pointer{background-color:#0088ce;width:1px;z-index:201}table.datatable{margin-bottom:0;max-width:none!important}table.datatable thead .sorting,table.datatable thead .sorting_asc,table.datatable thead .sorting_asc_disabled,table.datatable thead .sorting_desc,table.datatable thead .sorting_desc_disabled{cursor:pointer}table.datatable thead .sorting_asc,table.datatable thead .sorting_desc{color:#0088ce!important;position:relative}table.datatable thead .sorting_asc:after,table.datatable thead .sorting_desc:after{content:"\f107";font-family:FontAwesome;font-size:10px;font-weight:400;height:9px;left:7px;line-height:12px;position:relative;top:2px;vertical-align:baseline;width:12px}table.datatable thead .sorting_asc:before,table.datatable thead .sorting_desc:before{background:#0088ce;content:'';height:2px;position:absolute;left:0;top:0;width:100%}table.datatable thead .sorting_asc:after{content:"\f106";top:-3px}table.datatable th:active{outline:0}.caret{font-family:FontAwesome;font-weight:400;height:9px;position:relative;vertical-align:baseline;width:12px}.caret:before{bottom:0;content:"\f107";left:0;line-height:12px;position:absolute;text-align:center;top:-1px;right:0}.dropup .caret:before{content:"\f106"}.dropdown-menu .divider{background-color:#ededed;height:1px;margin:4px 1px;overflow:hidden}.dropdown-menu>li>a{border-color:transparent;border-style:solid;border-width:1px 0;padding:1px 10px}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{border-color:#bee1f4;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.dropdown-menu>li>a:active{background-color:#0088ce;border-color:#0088ce;color:#fff!important;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{background-color:#0088ce!important;border-color:#0088ce!important;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{border-color:transparent}.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{border-color:transparent}.dropdown-header{padding-left:10px;padding-right:10px;text-transform:uppercase}.btn-group>.dropdown-menu,.dropdown>.dropdown-menu,.input-group-btn>.dropdown-menu{margin-top:-1px}.dropup .dropdown-menu{margin-bottom:-1px}.dropdown-submenu{position:relative}.dropdown-submenu:hover>a{background-color:#def3ff;border-color:#bee1f4}.dropdown-submenu:hover>.dropdown-menu{display:block}.dropdown-submenu.pull-left{float:none!important}.dropdown-submenu.pull-left>.dropdown-menu{left:auto;margin-left:10px;right:100%}.dropdown-submenu>a{padding-right:20px!important}.dropdown-submenu>a:after{content:"\f105";font-family:FontAwesome;display:block;position:absolute;right:10px;top:2px}.dropdown-submenu>.dropdown-menu{left:100%;margin-top:0;top:-6px}.dropup .dropdown-submenu>.dropdown-menu{bottom:-5px;top:auto}.open .dropdown-submenu.active>.dropdown-menu{display:block}.dropdown-kebab-pf .btn-link{color:#252525;font-size:16px;line-height:1;padding:4px 0}.dropdown-kebab-pf .btn-link:active,.dropdown-kebab-pf .btn-link:focus,.dropdown-kebab-pf .btn-link:hover{color:#0088ce}.dropdown-kebab-pf .dropdown-menu{left:-15px;margin-top:11px}.dropdown-kebab-pf .dropdown-menu.dropdown-menu-right{left:auto;right:-15px}.dropdown-kebab-pf .dropdown-menu.dropdown-menu-right:after,.dropdown-kebab-pf .dropdown-menu.dropdown-menu-right:before{left:auto;right:6px}.dropdown-kebab-pf .dropdown-menu:after,.dropdown-kebab-pf .dropdown-menu:before{border-bottom-color:#bbb;border-bottom-style:solid;border-bottom-width:10px;border-left:10px solid transparent;border-right:10px solid transparent;content:"";display:inline-block;left:6px;position:absolute;top:-11px}.dropdown-kebab-pf .dropdown-menu:after{border-bottom-color:#fff;top:-10px}.dropdown-kebab-pf.dropup .dropdown-menu{margin-bottom:11px;margin-top:0}.dropdown-kebab-pf.dropup .dropdown-menu:after,.dropdown-kebab-pf.dropup .dropdown-menu:before{border-bottom:none;border-top-color:#bbb;border-top-style:solid;border-top-width:10px;bottom:-11px;top:auto}.dropdown-kebab-pf.dropup .dropdown-menu:after{border-top-color:#fff;bottom:-10px}@font-face{font-family:'Open Sans';font-style:normal;font-weight:400;src:local('Open Sans'),local('OpenSans'),url(../fonts/open-sans/OpenSans-Regular.ttf) format('truetype')}@font-face{font-family:'Open Sans';font-style:normal;font-weight:300;src:local('OpenSans-Light'),local('Open Sans Light'),url(../fonts/open-sans/OpenSans-Light.ttf) format('truetype')}@font-face{font-family:'Open Sans';font-style:normal;font-weight:600;src:local('Open Sans Semibold'),local('OpenSans-Semibold'),url(../fonts/open-sans/OpenSans-Semibold.ttf) format('truetype')}@font-face{font-family:'Open Sans';font-style:normal;font-weight:700;src:local('Open Sans Bold'),local('OpenSans-Bold'),url(../fonts/open-sans/OpenSans-Bold.ttf) format('truetype')}@font-face{font-family:'Open Sans';font-style:normal;font-weight:800;src:local('Open Sans Extrabold'),local('OpenSans-Extrabold'),url(../fonts/open-sans/OpenSans-ExtraBold.ttf) format('truetype')}@font-face{font-family:'Open Sans';font-style:italic;font-weight:300;src:local('Open Sans Light Italic'),local('OpenSansLight-Italic'),url(../fonts/open-sans/OpenSans-LightItalic.ttf) format('truetype')}@font-face{font-family:'Open Sans';font-style:italic;font-weight:400;src:local('Open Sans Italic'),local('OpenSans-Italic'),url(../fonts/open-sans/OpenSans-Italic.ttf) format('truetype')}@font-face{font-family:'Open Sans';font-style:italic;font-weight:600;src:local('Open Sans Semibold Italic'),local('OpenSans-SemiboldItalic'),url(../fonts/open-sans/OpenSans-SemiboldItalic.ttf) format('truetype')}@font-face{font-family:'Open Sans';font-style:italic;font-weight:700;src:local('Open Sans Bold Italic'),local('OpenSans-BoldItalic'),url(../fonts/open-sans/OpenSans-BoldItalic.ttf) format('truetype')}@font-face{font-family:'Open Sans';font-style:italic;font-weight:800;src:local('Open Sans Extrabold Italic'),local('OpenSans-ExtraboldItalic'),url(../fonts/open-sans/OpenSans-ExtraBoldItalic.ttf) format('truetype')}.chars-remaining-pf span{font-weight:600;padding-right:5px}.chars-warn-remaining-pf{color:#c00}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{-webkit-box-shadow:none;box-shadow:none;color:#8b8d8f}.form-control[disabled]:hover,.form-control[readonly]:hover,fieldset[disabled] .form-control:hover{border-color:#bbb}.form-control:hover{border-color:#7dc3e8}.has-error .form-control:hover{border-color:#900}.has-success .form-control:hover{border-color:#2b542c}.has-warning .form-control:hover{border-color:#bb6106}.has-error .checkbox,.has-error .checkbox-inline,.has-error .control-label,.has-error .radio,.has-error .radio-inline,.has-error.checkbox label,.has-error.checkbox-inline label,.has-error.radio label,.has-error.radio-inline label,.has-success .checkbox,.has-success .checkbox-inline,.has-success .control-label,.has-success .radio,.has-success .radio-inline,.has-success.checkbox label,.has-success.checkbox-inline label,.has-success.radio label,.has-success.radio-inline label,.has-warning .checkbox,.has-warning .checkbox-inline,.has-warning .control-label,.has-warning .radio,.has-warning .radio-inline,.has-warning.checkbox label,.has-warning.checkbox-inline label,.has-warning.radio label,.has-warning.radio-inline label{color:#363636}.help-block{margin-bottom:0}.input-group .input-group-btn .btn{-webkit-box-shadow:none;box-shadow:none}label{font-weight:600}.navbar-nav>li>.dropdown-menu.infotip{border-top-width:1px!important;margin-top:10px}@media (max-width:767px){.navbar-pf .navbar-nav .open .dropdown-menu.infotip{background-color:#fff!important;margin-top:0}}.infotip{min-width:235px;padding:0}.infotip .list-group{border-top:0;margin:0;padding:8px 0}.infotip .list-group .list-group-item{border:none;margin:0 15px 0 34px;padding:5px 0}.infotip .list-group .list-group-item>.i{color:#4d5258;font-size:13px;left:-20px;position:absolute;top:8px}.infotip .list-group .list-group-item>a{color:#4d5258;line-height:13px}.infotip .list-group .list-group-item>.close{float:right}.infotip .footer{background-color:#f5f5f5;padding:6px 15px}.infotip .footer a:hover{color:#0088ce}.infotip .arrow,.infotip .arrow:after{border-color:transparent;border-style:solid;display:block;height:0;position:absolute;width:0}.infotip .arrow{border-width:11px}.infotip .arrow:after{border-width:10px;content:""}.infotip.bottom .arrow,.infotip.bottom-left .arrow,.infotip.bottom-right .arrow{border-bottom-color:#999;border-bottom-color:#bbb;border-top-width:0;left:50%;margin-left:-11px;top:-11px}.infotip.bottom .arrow:after,.infotip.bottom-left .arrow:after,.infotip.bottom-right .arrow:after{border-top-width:0;border-bottom-color:#fff;content:" ";margin-left:-10px;top:1px}.infotip.bottom-left .arrow{left:20%}.infotip.bottom-right .arrow{left:80%}.infotip.top .arrow{border-bottom-width:0;border-top-color:#999;border-top-color:#bbb;bottom:-11px;left:50%;margin-left:-11px}.infotip.top .arrow:after{border-bottom-width:0;border-top-color:#f5f5f5;bottom:1px;content:" ";margin-left:-10px}.infotip.right .arrow{border-left-width:0;border-right-color:#999;border-right-color:#bbb;left:-11px;margin-top:-11px;top:50%}.infotip.right .arrow:after{bottom:-10px;border-left-width:0;border-right-color:#fff;content:" ";left:1px}.infotip.left .arrow{border-left-color:#999;border-left-color:#bbb;border-right-width:0;margin-top:-11px;right:-11px;top:50%}.infotip.left .arrow:after{border-left-color:#fff;border-right-width:0;bottom:-10px;content:" ";right:1px}.label{border-radius:0;font-size:100%;font-weight:600}h1 .label,h2 .label,h3 .label,h4 .label,h5 .label,h6 .label{font-size:75%}.list-group{border-top:1px solid #ededed}.list-group .list-group-item:first-child{border-top:0}.list-group-item{border-top:0;border-left:0;border-right:0;margin-bottom:0}.list-group-item-heading{font-weight:600}.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{border-top:solid 1px #39a5dc;margin-top:-1px;z-index:auto}.list-group-item.active:first-child{border-top:1px solid #39a5dc!important;margin-top:-1px}.login-pf{height:100%}.login-pf #brand{position:relative;top:-70px}.login-pf #brand img{display:block;height:18px;margin:0 auto;max-width:100%}@media (min-width:768px){.login-pf #brand img{margin:0;text-align:left}}.login-pf #badge{display:block;margin:20px auto 70px;position:relative;text-align:center}@media (min-width:768px){.login-pf #badge{float:right;margin-right:64px;margin-top:50px}}.login-pf body{background:#1a1a1a url(../img/bg-login.jpg) repeat-x 50% 0;background-size:auto}@media (min-width:768px){.login-pf body{background-size:100% auto}}.login-pf .container{background-color:transparent;clear:right;color:#fff;padding-bottom:40px;padding-top:20px;width:auto}@media (min-width:768px){.login-pf .container{bottom:13%;padding-left:80px;position:absolute;width:100%}}.login-pf .container [class^=alert]{background:0 0;color:#fff}.login-pf .container .details p:first-child{border-top:1px solid rgba(255,255,255,.3);padding-top:25px;margin-top:25px}@media (min-width:768px){.login-pf .container .details{border-left:1px solid rgba(255,255,255,.3);padding-left:40px}.login-pf .container .details p:first-child{border-top:0;padding-top:0;margin-top:0}}.login-pf .container .details p{margin-bottom:2px}.login-pf .container .form-horizontal .control-label{font-size:13px;font-weight:400;text-align:left}.login-pf .container .form-horizontal .form-group:last-child,.login-pf .container .form-horizontal .form-group:last-child .help-block:last-child{margin-bottom:0}.login-pf .container .help-block{color:#fff}@media (min-width:768px){.login-pf .container .login{padding-right:40px}}.login-pf .container .submit{text-align:right}.modal-header{background-color:#f5f5f5;border-bottom:none;padding:10px 18px}.modal-header .close{margin-top:2px}.modal-title{font-size:13px;font-weight:700}.modal-footer{border-top:none;margin-top:15px;padding:14px 15px 15px}.modal-footer>.btn{padding-left:10px;padding-right:10px}.modal-footer>.btn>.fa-angle-left{margin-right:5px}.modal-footer>.btn>.fa-angle-right{margin-left:5px}.navbar-pf{background:#393F45;border:0;border-radius:0;border-top:3px solid #c00;margin-bottom:0;min-height:0}.navbar-pf .navbar-brand{color:#fff;height:auto;padding:12px 0;margin:0 0 0 20px}.navbar-pf .navbar-brand img{display:block}.navbar-pf .navbar-collapse{border-top:0;-webkit-box-shadow:none;box-shadow:none;padding:0}.navbar-pf .navbar-header{border-bottom:1px solid #53565b;float:none}.navbar-pf .navbar-nav{margin:0}.navbar-pf .navbar-nav>.active>a,.navbar-pf .navbar-nav>.active>a:focus,.navbar-pf .navbar-nav>.active>a:hover{background-color:#454C53;color:#fff}.navbar-pf .navbar-nav>li>a{color:#dbdada;line-height:1;padding:10px 20px;text-shadow:none}.navbar-pf .navbar-nav>li>a:focus,.navbar-pf .navbar-nav>li>a:hover{color:#fff}.navbar-pf .navbar-nav>.open>a,.navbar-pf .navbar-nav>.open>a:focus,.navbar-pf .navbar-nav>.open>a:hover{background-color:#454C53;color:#fff}@media (max-width:767px){.navbar-pf .navbar-nav .active .dropdown-menu,.navbar-pf .navbar-nav .active .navbar-persistent,.navbar-pf .navbar-nav .open .dropdown-menu{background-color:#3c434a!important;margin-left:0;padding-bottom:0;padding-top:0}.navbar-pf .navbar-nav .active .dropdown-menu .dropdown-submenu.open>a,.navbar-pf .navbar-nav .active .dropdown-menu .dropdown-submenu.open>a:focus,.navbar-pf .navbar-nav .active .dropdown-menu .dropdown-submenu.open>a:hover,.navbar-pf .navbar-nav .active .dropdown-menu>.active>a,.navbar-pf .navbar-nav .active .dropdown-menu>.active>a:focus,.navbar-pf .navbar-nav .active .dropdown-menu>.active>a:hover,.navbar-pf .navbar-nav .active .navbar-persistent .dropdown-submenu.open>a,.navbar-pf .navbar-nav .active .navbar-persistent .dropdown-submenu.open>a:focus,.navbar-pf .navbar-nav .active .navbar-persistent .dropdown-submenu.open>a:hover,.navbar-pf .navbar-nav .active .navbar-persistent>.active>a,.navbar-pf .navbar-nav .active .navbar-persistent>.active>a:focus,.navbar-pf .navbar-nav .active .navbar-persistent>.active>a:hover,.navbar-pf .navbar-nav .open .dropdown-menu .dropdown-submenu.open>a,.navbar-pf .navbar-nav .open .dropdown-menu .dropdown-submenu.open>a:focus,.navbar-pf .navbar-nav .open .dropdown-menu .dropdown-submenu.open>a:hover,.navbar-pf .navbar-nav .open .dropdown-menu>.active>a,.navbar-pf .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-pf .navbar-nav .open .dropdown-menu>.active>a:hover{background-color:#424950!important;color:#fff}.navbar-pf .navbar-nav .active .dropdown-menu>li>a,.navbar-pf .navbar-nav .active .navbar-persistent>li>a,.navbar-pf .navbar-nav .open .dropdown-menu>li>a{background-color:transparent;border:0;color:#dbdada;outline:0;padding-left:30px}.navbar-pf .navbar-nav .active .dropdown-menu>li>a:hover,.navbar-pf .navbar-nav .active .navbar-persistent>li>a:hover,.navbar-pf .navbar-nav .open .dropdown-menu>li>a:hover{color:#fff}.navbar-pf .navbar-nav .active .dropdown-menu .divider,.navbar-pf .navbar-nav .active .navbar-persistent .divider,.navbar-pf .navbar-nav .open .dropdown-menu .divider{background-color:#53565b;margin:0 1px}.navbar-pf .navbar-nav .active .dropdown-menu .dropdown-header,.navbar-pf .navbar-nav .active .navbar-persistent .dropdown-header,.navbar-pf .navbar-nav .open .dropdown-menu .dropdown-header{padding-bottom:0;padding-left:30px}.navbar-pf .navbar-nav .active .dropdown-menu .dropdown-submenu.open .dropdown-toggle,.navbar-pf .navbar-nav .active .navbar-persistent .dropdown-submenu.open .dropdown-toggle,.navbar-pf .navbar-nav .open .dropdown-menu .dropdown-submenu.open .dropdown-toggle{color:#fff}.navbar-pf .navbar-nav .active .dropdown-menu .dropdown-submenu.pull-left,.navbar-pf .navbar-nav .active .navbar-persistent .dropdown-submenu.pull-left,.navbar-pf .navbar-nav .open .dropdown-menu .dropdown-submenu.pull-left{float:none!important}.navbar-pf .navbar-nav .active .dropdown-menu .dropdown-submenu>a:after,.navbar-pf .navbar-nav .active .navbar-persistent .dropdown-submenu>a:after,.navbar-pf .navbar-nav .open .dropdown-menu .dropdown-submenu>a:after{display:none}.navbar-pf .navbar-nav .active .dropdown-menu .dropdown-submenu .dropdown-header,.navbar-pf .navbar-nav .active .navbar-persistent .dropdown-submenu .dropdown-header,.navbar-pf .navbar-nav .open .dropdown-menu .dropdown-submenu .dropdown-header{padding-left:45px}.navbar-pf .navbar-nav .active .dropdown-menu .dropdown-submenu .dropdown-menu,.navbar-pf .navbar-nav .active .navbar-persistent .dropdown-submenu .dropdown-menu,.navbar-pf .navbar-nav .open .dropdown-menu .dropdown-submenu .dropdown-menu{border:0;bottom:auto;-webkit-box-shadow:none;box-shadow:none;display:block;float:none;margin:0;min-width:0;padding:0;position:relative;left:auto;right:auto;top:auto}.navbar-pf .navbar-nav .active .dropdown-menu .dropdown-submenu .dropdown-menu>li>a,.navbar-pf .navbar-nav .active .navbar-persistent .dropdown-submenu .dropdown-menu>li>a,.navbar-pf .navbar-nav .open .dropdown-menu .dropdown-submenu .dropdown-menu>li>a{padding:5px 15px 5px 45px;line-height:20px}.navbar-pf .navbar-nav .active .dropdown-menu .dropdown-submenu .dropdown-menu .dropdown-menu>li>a,.navbar-pf .navbar-nav .active .navbar-persistent .dropdown-submenu .dropdown-menu .dropdown-menu>li>a,.navbar-pf .navbar-nav .open .dropdown-menu .dropdown-submenu .dropdown-menu .dropdown-menu>li>a{padding-left:60px}.navbar-pf .navbar-nav .active .navbar-persistent .dropdown-submenu.open .dropdown-menu{display:block}.navbar-pf .navbar-nav .active .navbar-persistent .dropdown-submenu>a:after{display:inline-block!important;position:relative;right:auto;top:1px}.navbar-pf .navbar-nav .active .navbar-persistent .dropdown-submenu .dropdown-menu{display:none}.navbar-pf .navbar-nav .active .navbar-persistent .dropdown-submenu .dropdown-submenu>a:after{display:none!important}.navbar-pf .navbar-nav .context-bootstrap-select .open>.dropdown-menu{background-color:#fff!important}.navbar-pf .navbar-nav .context-bootstrap-select .open>.dropdown-menu>.active>a,.navbar-pf .navbar-nav .context-bootstrap-select .open>.dropdown-menu>.active>a:active{background-color:#def3ff!important;border-color:#bee1f4!important;color:#363636!important}.navbar-pf .navbar-nav .context-bootstrap-select .open>.dropdown-menu>.active>a small,.navbar-pf .navbar-nav .context-bootstrap-select .open>.dropdown-menu>.active>a:active small{color:#9c9c9c!important}.navbar-pf .navbar-nav .context-bootstrap-select .open>.dropdown-menu>.disabled>a{color:#9c9c9c!important}.navbar-pf .navbar-nav .context-bootstrap-select .open>.dropdown-menu>.selected>a,.navbar-pf .navbar-nav .context-bootstrap-select .open>.dropdown-menu>.selected>a:active{background-color:#0088ce!important;border-color:#0088ce!important;color:#fff!important}.navbar-pf .navbar-nav .context-bootstrap-select .open>.dropdown-menu>.selected>a small,.navbar-pf .navbar-nav .context-bootstrap-select .open>.dropdown-menu>.selected>a:active small{color:rgba(255,255,255,.5)!important}.navbar-pf .navbar-nav .context-bootstrap-select .open>.dropdown-menu li>a.opt{border-bottom:1px solid transparent;border-top:1px solid transparent;color:#363636;padding-left:10px;padding-right:10px}.navbar-pf .navbar-nav .context-bootstrap-select .open>.dropdown-menu li a:active small{color:rgba(255,255,255,.5)!important}.navbar-pf .navbar-nav .context-bootstrap-select .open>.dropdown-menu li a:focus small,.navbar-pf .navbar-nav .context-bootstrap-select .open>.dropdown-menu li a:hover small{color:#9c9c9c}.navbar-pf .navbar-nav .context-bootstrap-select>.open>.dropdown-menu{padding-bottom:5px;padding-top:5px}}.navbar-pf .navbar-persistent{display:none}.navbar-pf .active>.navbar-persistent{display:block}.navbar-pf .navbar-primary{float:none}.navbar-pf .navbar-primary .context{border-bottom:1px solid #53565b}.navbar-pf .navbar-primary .context.context-bootstrap-select .bootstrap-select.btn-group,.navbar-pf .navbar-primary .context.context-bootstrap-select .bootstrap-select.btn-group[class*=span]{margin:8px 20px 9px;width:auto}.navbar-pf .navbar-primary>li>.navbar-persistent>.dropdown-submenu>a{position:relative}.navbar-pf .navbar-primary>li>.navbar-persistent>.dropdown-submenu>a:after{content:"\f107";display:inline-block;font-family:FontAwesome;font-weight:400}@media (max-width:767px){.navbar-pf .navbar-primary>li>.navbar-persistent>.dropdown-submenu>a:after{height:10px;margin-left:4px;vertical-align:baseline}}.navbar-pf .navbar-toggle{border:0;margin:0;padding:10px 20px}.navbar-pf .navbar-toggle:focus,.navbar-pf .navbar-toggle:hover{background-color:transparent;outline:0}.navbar-pf .navbar-toggle:focus .icon-bar,.navbar-pf .navbar-toggle:hover .icon-bar{-webkit-box-shadow:0 0 3px #fff;box-shadow:0 0 3px #fff}.navbar-pf .navbar-toggle .icon-bar{background-color:#fff}.navbar-pf .navbar-utility{border-bottom:1px solid #53565b}.navbar-pf .navbar-utility li.dropdown>.dropdown-toggle{padding-left:36px;position:relative}.navbar-pf .navbar-utility li.dropdown>.dropdown-toggle .pficon-user{left:20px;position:absolute;top:10px}@media (max-width:767px){.navbar-pf .navbar-utility>li+li{border-top:1px solid #53565b}}@media (min-width:768px){.navbar-pf .navbar-brand{padding:7px 0 8px}.navbar-pf .navbar-nav>li>a{padding-bottom:14px;padding-top:14px}.navbar-pf .navbar-persistent{font-size:14px}.navbar-pf .navbar-primary{font-size:14px;background-image:-webkit-linear-gradient(top,#474c50 0,#383f43 100%);background-image:-o-linear-gradient(top,#474c50 0,#383f43 100%);background-image:linear-gradient(to bottom,#474c50 0,#383f43 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff474c50', endColorstr='#ff383f43', GradientType=0)}.navbar-pf .navbar-primary.persistent-secondary .context .dropdown-menu{top:auto}.navbar-pf .navbar-primary.persistent-secondary .dropup .dropdown-menu{bottom:-5px;top:auto}.navbar-pf .navbar-primary.persistent-secondary>li{position:static}.navbar-pf .navbar-primary.persistent-secondary>li.active{margin-bottom:32px}.navbar-pf .navbar-primary.persistent-secondary>li.active>.navbar-persistent{display:block;left:0;position:absolute}.navbar-pf .navbar-primary.persistent-secondary>li>.navbar-persistent{background:#f6f6f6;border-bottom:1px solid #cecdcd;padding:0;width:100%}.navbar-pf .navbar-primary.persistent-secondary>li>.navbar-persistent a{text-decoration:none!important}.navbar-pf .navbar-primary.persistent-secondary>li>.navbar-persistent>li.active:before,.navbar-pf .navbar-primary.persistent-secondary>li>.navbar-persistent>li.active:hover:before{background:#0088ce;bottom:-1px;content:'';display:block;height:2px;left:20px;position:absolute;right:20px}.navbar-pf .navbar-primary.persistent-secondary>li>.navbar-persistent>li.active:hover>a,.navbar-pf .navbar-primary.persistent-secondary>li>.navbar-persistent>li.active>a,.navbar-pf .navbar-primary.persistent-secondary>li>.navbar-persistent>li.active>a:hover{color:#0088ce!important}.navbar-pf .navbar-primary.persistent-secondary>li>.navbar-persistent>li.active .active>a{color:#fff}.navbar-pf .navbar-primary.persistent-secondary>li>.navbar-persistent>li.dropdown-submenu:hover>.dropdown-menu{display:none}.navbar-pf .navbar-primary.persistent-secondary>li>.navbar-persistent>li.dropdown-submenu.open>.dropdown-menu{display:block;left:20px;margin-top:1px;top:100%}.navbar-pf .navbar-primary.persistent-secondary>li>.navbar-persistent>li.dropdown-submenu.open>.dropdown-toggle{color:#252525}.navbar-pf .navbar-primary.persistent-secondary>li>.navbar-persistent>li.dropdown-submenu.open>.dropdown-toggle:after{border-top-color:#252525}.navbar-pf .navbar-primary.persistent-secondary>li>.navbar-persistent>li.dropdown-submenu>.dropdown-toggle{padding-right:35px!important}.navbar-pf .navbar-primary.persistent-secondary>li>.navbar-persistent>li.dropdown-submenu>.dropdown-toggle:after{position:absolute;right:20px;top:10px}.navbar-pf .navbar-primary.persistent-secondary>li>.navbar-persistent>li.open:before,.navbar-pf .navbar-primary.persistent-secondary>li>.navbar-persistent>li:hover:before{background:#bbb;bottom:-1px;content:'';display:block;height:2px;left:20px;position:absolute;right:20px}.navbar-pf .navbar-primary.persistent-secondary>li>.navbar-persistent>li.open>a,.navbar-pf .navbar-primary.persistent-secondary>li>.navbar-persistent>li:hover>a{color:#252525}.navbar-pf .navbar-primary.persistent-secondary>li>.navbar-persistent>li.open>a:after,.navbar-pf .navbar-primary.persistent-secondary>li>.navbar-persistent>li:hover>a:after{border-top-color:#252525}.navbar-pf .navbar-primary.persistent-secondary>li>.navbar-persistent>li>a{background-color:transparent;display:block;line-height:1;padding:9px 20px}.navbar-pf .navbar-primary.persistent-secondary>li>.navbar-persistent>li>a.dropdown-toggle{padding-right:35px}.navbar-pf .navbar-primary.persistent-secondary>li>.navbar-persistent>li>a.dropdown-toggle:after{font-size:15px;position:absolute;right:20px;top:9px}.navbar-pf .navbar-primary.persistent-secondary>li>.navbar-persistent>li>a:hover{color:#252525}.navbar-pf .navbar-primary.persistent-secondary>li>.navbar-persistent>li a{color:#4d5258}.navbar-pf .navbar-primary>li>a{border-bottom:1px solid transparent;border-top:1px solid transparent;position:relative;margin:-1px 0 0}.navbar-pf .navbar-primary>li>a:hover{background-color:#4b5053;border-top-color:#949699;color:#dbdada;background-image:-webkit-linear-gradient(top,#5c6165 0,#4b5053 100%);background-image:-o-linear-gradient(top,#5c6165 0,#4b5053 100%);background-image:linear-gradient(to bottom,#5c6165 0,#4b5053 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5c6165', endColorstr='#ff4b5053', GradientType=0)}.navbar-pf .navbar-primary>.active>a,.navbar-pf .navbar-primary>.active>a:focus,.navbar-pf .navbar-primary>.active>a:hover,.navbar-pf .navbar-primary>.open>a,.navbar-pf .navbar-primary>.open>a:focus,.navbar-pf .navbar-primary>.open>a:hover{background-color:#64686c;border-bottom-color:#64686c;border-top-color:#949699;-webkit-box-shadow:none;box-shadow:none;color:#fff;background-image:-webkit-linear-gradient(top,#72757a 0,#64686c 100%);background-image:-o-linear-gradient(top,#72757a 0,#64686c 100%);background-image:linear-gradient(to bottom,#72757a 0,#64686c 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff72757a', endColorstr='#ff64686c', GradientType=0)}.navbar-pf .navbar-primary li.context.context-bootstrap-select .filter-option{max-width:160px;text-overflow:ellipsis}.navbar-pf .navbar-primary li.context.dropdown{border-bottom:0}.navbar-pf .navbar-primary li.context.context-bootstrap-select,.navbar-pf .navbar-primary li.context>a{background-color:#505458;border-bottom-color:#65696d;border-right:1px solid #65696d;border-top-color:#64696d;font-weight:600;background-image:-webkit-linear-gradient(top,#585d61 0,#505458 100%);background-image:-o-linear-gradient(top,#585d61 0,#505458 100%);background-image:linear-gradient(to bottom,#585d61 0,#505458 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff585d61', endColorstr='#ff505458', GradientType=0)}.navbar-pf .navbar-primary li.context.context-bootstrap-select:hover,.navbar-pf .navbar-primary li.context>a:hover{background-color:#5a5e62;border-bottom-color:#6e7276;border-right-color:#6e7276;border-top-color:#6c7276;background-image:-webkit-linear-gradient(top,#62676b 0,#5a5e62 100%);background-image:-o-linear-gradient(top,#62676b 0,#5a5e62 100%);background-image:linear-gradient(to bottom,#62676b 0,#5a5e62 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff62676b', endColorstr='#ff5a5e62', GradientType=0)}.navbar-pf .navbar-primary li.context.open>a{background-color:#65696d;border-bottom-color:#6e7276;border-right-color:#777a7e;border-top-color:#767a7e;background-image:-webkit-linear-gradient(top,#6b7175 0,#65696d 100%);background-image:-o-linear-gradient(top,#6b7175 0,#65696d 100%);background-image:linear-gradient(to bottom,#6b7175 0,#65696d 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff6b7175', endColorstr='#ff65696d', GradientType=0)}.navbar-pf .navbar-utility{border-bottom:0;font-size:11px;position:absolute;right:0;top:0}.navbar-pf .navbar-utility>.active>a,.navbar-pf .navbar-utility>.active>a:focus,.navbar-pf .navbar-utility>.active>a:hover,.navbar-pf .navbar-utility>.open>a,.navbar-pf .navbar-utility>.open>a:focus,.navbar-pf .navbar-utility>.open>a:hover{background:#5b6165;color:#fff}.navbar-pf .navbar-utility>li>a{border-left:1px solid #53565b;color:#fff!important;padding:7px 10px}.navbar-pf .navbar-utility>li>a:hover{background:#4a5053;border-left-color:#636466}.navbar-pf .navbar-utility>li.open>a{border-left-color:#6c6e70;color:#fff!important}.navbar-pf .navbar-utility li.dropdown>.dropdown-toggle{padding-left:26px}.navbar-pf .navbar-utility li.dropdown>.dropdown-toggle .pficon-user{left:10px;top:7px}.navbar-pf .navbar-utility .open .dropdown-menu{left:auto;right:0}.navbar-pf .navbar-utility .open .dropdown-menu .dropdown-menu{left:auto;right:100%}.navbar-pf .navbar-utility .open .dropdown-menu{border-top-width:0}.navbar-pf .open .dropdown-submenu>.dropdown-menu,.navbar-pf .open.bootstrap-select .dropdown-menu{border-top-width:1px!important}}@media (max-width:360px){.navbar-pf .navbar-brand{margin-left:10px;width:75%}.navbar-pf .navbar-brand img{height:auto;max-width:100%}.navbar-pf .navbar-toggle{padding-left:0}}.drawer-pf{background-color:#fafafa;border:1px solid #d1d1d1;-webkit-box-shadow:0 6px 12px rgba(3,3,3,.175);box-shadow:0 6px 12px rgba(3,3,3,.175);overflow-y:auto;position:absolute;right:0;width:320px;z-index:2}.drawer-pf .panel{border-bottom:none;border-left:none;border-right:none}.drawer-pf .panel-group .panel-heading+.panel-collapse .panel-body{border-top:none;border-bottom:1px solid #d1d1d1;padding:0}.drawer-pf .panel-counter{display:block;font-style:italic;line-height:1.2;padding-left:18px;padding-top:5px}.drawer-pf .panel-heading{border-bottom:1px solid #d1d1d1}.drawer-pf .panel-group{bottom:0;margin-bottom:0;position:absolute;top:25px;width:100%}.drawer-pf .panel-title a{cursor:pointer;display:block}.drawer-pf.drawer-pf-expanded{left:270px;width:inherit}.drawer-pf.drawer-pf-expanded .drawer-pf-toggle-expand:before{content:"\f101"}.drawer-pf-toggle-expand{color:inherit;cursor:pointer;left:0;padding:2px 5px;position:absolute}.drawer-pf-toggle-expand:before{content:"\f100";font-family:FontAwesome}.drawer-pf-toggle-expand:focus,.drawer-pf-toggle-expand:hover{color:inherit;text-decoration:none}.drawer-pf-action .btn-link{color:#0088ce;padding:10px 0}.drawer-pf-action .btn-link:hover{color:#00659c}.drawer-pf-loading{color:#4d5258;font-size:14px;padding:20px 15px}.drawer-pf-notification{border-bottom:1px solid #d1d1d1;padding:15px}.drawer-pf-notification .date{border-right:1px solid #aaa;display:inline-block;line-height:1;margin-right:5px;padding-right:9px}.drawer-pf-notification .pficon{font-size:14px;margin-top:3px}.drawer-pf-notification:last-of-type{border-bottom:none}.drawer-pf-notification:hover{background-color:#def3ff}.drawer-pf-notification.unread .drawer-pf-notification-message{font-weight:700}.drawer-pf-notification.expanded-notification .date{border-right:none;padding-right:0}.drawer-pf-notification-info,.drawer-pf-notification-message{display:block;padding-left:27px;padding-right:19px}.expanded-notification .drawer-pf-notification-info,.expanded-notification .drawer-pf-notification-message{display:inline-block}.drawer-pf-notifications-non-clickable .drawer-pf-notification:hover{background-color:#fff}.drawer-pf-title{background-color:#fafafa;border-bottom:1px solid #d1d1d1;position:absolute;width:318px}.drawer-pf-title h3{font-size:12px;margin:0;padding:6px 15px}.navbar-pf-vertical .drawer-pf{height:calc(100vh - 80px);top:58px}.navbar-pf-vertical .nav .drawer-pf-trigger .drawer-pf-trigger-icon{border-left:1px solid #53565b;border-right:1px solid #53565b;padding-left:15px;padding-right:15px}.navbar-pf-vertical .nav .drawer-pf-trigger.open .drawer-pf-trigger-icon{background-color:#4a5053}.navbar-pf .drawer-pf{height:calc(100vh - 46px);top:26px}.navbar-pf .drawer-pf-trigger-icon{cursor:pointer}.pager li>a,.pager li>span{background-color:#f1f1f1;background-image:-webkit-linear-gradient(top,#fafafa 0,#ededed 100%);background-image:-o-linear-gradient(top,#fafafa 0,#ededed 100%);background-image:linear-gradient(to bottom,#fafafa 0,#ededed 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffafafa', endColorstr='#ffededed', GradientType=0);border-color:#bbb;color:#4d5258;font-weight:600;line-height:22px;padding:2px 14px}.open .dropdown-toggle.pager li>a,.open .dropdown-toggle.pager li>span,.pager li>a.active,.pager li>a:active,.pager li>a:focus,.pager li>a:hover,.pager li>span.active,.pager li>span:active,.pager li>span:focus,.pager li>span:hover{background-color:#f1f1f1;background-image:none;border-color:#bbb;color:#4d5258}.open .dropdown-toggle.pager li>a,.open .dropdown-toggle.pager li>span,.pager li>a.active,.pager li>a:active,.pager li>span.active,.pager li>span:active{background-image:none}.open .dropdown-toggle.pager li>a.focus,.open .dropdown-toggle.pager li>a:focus,.open .dropdown-toggle.pager li>a:hover,.open .dropdown-toggle.pager li>span.focus,.open .dropdown-toggle.pager li>span:focus,.open .dropdown-toggle.pager li>span:hover,.pager li>a.active.focus,.pager li>a.active:focus,.pager li>a.active:hover,.pager li>a:active.focus,.pager li>a:active:focus,.pager li>a:active:hover,.pager li>span.active.focus,.pager li>span.active:focus,.pager li>span.active:hover,.pager li>span:active.focus,.pager li>span:active:focus,.pager li>span:active:hover{background-color:#e5e5e5;border-color:#a9a9a9}.pager li>a.disabled,.pager li>a.disabled.active,.pager li>a.disabled:active,.pager li>a.disabled:focus,.pager li>a.disabled:hover,.pager li>a[disabled],.pager li>a[disabled].active,.pager li>a[disabled]:active,.pager li>a[disabled]:focus,.pager li>a[disabled]:hover,.pager li>span.disabled,.pager li>span.disabled.active,.pager li>span.disabled:active,.pager li>span.disabled:focus,.pager li>span.disabled:hover,.pager li>span[disabled],.pager li>span[disabled].active,.pager li>span[disabled]:active,.pager li>span[disabled]:focus,.pager li>span[disabled]:hover,fieldset[disabled] .pager li>a,fieldset[disabled] .pager li>a.active,fieldset[disabled] .pager li>a:active,fieldset[disabled] .pager li>a:focus,fieldset[disabled] .pager li>a:hover,fieldset[disabled] .pager li>span,fieldset[disabled] .pager li>span.active,fieldset[disabled] .pager li>span:active,fieldset[disabled] .pager li>span:focus,fieldset[disabled] .pager li>span:hover{background-color:#f1f1f1;border-color:#bbb}.pager li>a>.i,.pager li>span>.i{font-size:18px;vertical-align:top;margin:2px 0}.pager li>a:hover>a:focus{color:#4d5258}.pager li a:active{background-image:none;-webkit-box-shadow:inset 0 3px 5px rgba(3,3,3,.125);box-shadow:inset 0 3px 5px rgba(3,3,3,.125);outline:0}.pager .disabled>a,.pager .disabled>a:active,.pager .disabled>a:focus,.pager .disabled>a:hover,.pager .disabled>span{background:#f5f5f5;-webkit-box-shadow:none;box-shadow:none;color:#8b8d8f;cursor:default}.pager .next>a>.i,.pager .next>span>.i{margin-left:5px}.pager .previous>a>.i,.pager .previous>span>.i{margin-right:5px}.pager-sm li>a,.pager-sm li>span{font-weight:400;line-height:16px;padding:1px 10px}.pager-sm li>a>.i,.pager-sm li>span>.i{font-size:12px}.pagination>li>a,.pagination>li>span{background-color:#f1f1f1;background-image:-webkit-linear-gradient(top,#fafafa 0,#ededed 100%);background-image:-o-linear-gradient(top,#fafafa 0,#ededed 100%);background-image:linear-gradient(to bottom,#fafafa 0,#ededed 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffafafa', endColorstr='#ffededed', GradientType=0);border-color:#bbb;color:#4d5258;cursor:default;font-weight:600;padding:2px 10px}.open .dropdown-toggle.pagination>li>a,.open .dropdown-toggle.pagination>li>span,.pagination>li>a.active,.pagination>li>a:active,.pagination>li>a:focus,.pagination>li>a:hover,.pagination>li>span.active,.pagination>li>span:active,.pagination>li>span:focus,.pagination>li>span:hover{background-color:#f1f1f1;background-image:none;border-color:#bbb;color:#4d5258}.open .dropdown-toggle.pagination>li>a,.open .dropdown-toggle.pagination>li>span,.pagination>li>a.active,.pagination>li>a:active,.pagination>li>span.active,.pagination>li>span:active{background-image:none}.open .dropdown-toggle.pagination>li>a.focus,.open .dropdown-toggle.pagination>li>a:focus,.open .dropdown-toggle.pagination>li>a:hover,.open .dropdown-toggle.pagination>li>span.focus,.open .dropdown-toggle.pagination>li>span:focus,.open .dropdown-toggle.pagination>li>span:hover,.pagination>li>a.active.focus,.pagination>li>a.active:focus,.pagination>li>a.active:hover,.pagination>li>a:active.focus,.pagination>li>a:active:focus,.pagination>li>a:active:hover,.pagination>li>span.active.focus,.pagination>li>span.active:focus,.pagination>li>span.active:hover,.pagination>li>span:active.focus,.pagination>li>span:active:focus,.pagination>li>span:active:hover{background-color:#e5e5e5;border-color:#a9a9a9}.pagination>li>a.disabled,.pagination>li>a.disabled.active,.pagination>li>a.disabled:active,.pagination>li>a.disabled:focus,.pagination>li>a.disabled:hover,.pagination>li>a[disabled],.pagination>li>a[disabled].active,.pagination>li>a[disabled]:active,.pagination>li>a[disabled]:focus,.pagination>li>a[disabled]:hover,.pagination>li>span.disabled,.pagination>li>span.disabled.active,.pagination>li>span.disabled:active,.pagination>li>span.disabled:focus,.pagination>li>span.disabled:hover,.pagination>li>span[disabled],.pagination>li>span[disabled].active,.pagination>li>span[disabled]:active,.pagination>li>span[disabled]:focus,.pagination>li>span[disabled]:hover,fieldset[disabled] .pagination>li>a,fieldset[disabled] .pagination>li>a.active,fieldset[disabled] .pagination>li>a:active,fieldset[disabled] .pagination>li>a:focus,fieldset[disabled] .pagination>li>a:hover,fieldset[disabled] .pagination>li>span,fieldset[disabled] .pagination>li>span.active,fieldset[disabled] .pagination>li>span:active,fieldset[disabled] .pagination>li>span:focus,fieldset[disabled] .pagination>li>span:hover{background-color:#f1f1f1;border-color:#bbb}.pagination>li>a>.i,.pagination>li>span>.i{font-size:15px;vertical-align:top;margin:2px 0}.pagination>li>a:active,.pagination>li>span:active{-webkit-box-shadow:inset 0 2px 8px rgba(3,3,3,.2);box-shadow:inset 0 2px 8px rgba(3,3,3,.2)}.pagination>.active>a,.pagination>.active>a:focus,.pagination>.active>a:hover,.pagination>.active>span,.pagination>.active>span:focus,.pagination>.active>span:hover{background-color:#f1f1f1;border-color:#bbb;-webkit-box-shadow:inset 0 2px 8px rgba(3,3,3,.2);box-shadow:inset 0 2px 8px rgba(3,3,3,.2);color:#4d5258;background-image:-webkit-linear-gradient(top,#fafafa 0,#ededed 100%);background-image:-o-linear-gradient(top,#fafafa 0,#ededed 100%);background-image:linear-gradient(to bottom,#fafafa 0,#ededed 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffafafa', endColorstr='#ffededed', GradientType=0)}.pagination>.disabled>a,.pagination>.disabled>a:focus,.pagination>.disabled>a:hover,.pagination>.disabled>span,.pagination>.disabled>span:focus,.pagination>.disabled>span:hover{-webkit-box-shadow:none;box-shadow:none;cursor:default;background-image:-webkit-linear-gradient(top,#fafafa 0,#ededed 100%);background-image:-o-linear-gradient(top,#fafafa 0,#ededed 100%);background-image:linear-gradient(to bottom,#fafafa 0,#ededed 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffafafa', endColorstr='#ffededed', GradientType=0)}.pagination-sm>li>a,.pagination-sm>li>span{padding:2px 6px;font-size:11px;line-height:1.5}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-bottom-left-radius:1px;border-top-left-radius:1px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-bottom-right-radius:1px;border-top-right-radius:1px}.pagination-sm>li>a,.pagination-sm>li>span{font-weight:400}.pagination-sm>li>a>.i,.pagination-sm>li>span>.i{font-size:12px;margin-top:2px}.panel-title{font-weight:700}.panel-group .panel{color:#4d5258}.panel-group .panel+.panel{margin-top:-1px}.panel-group .panel-default{border-color:#bbb;border-top-color:#bbb}.panel-group .panel-heading{background-image:-webkit-linear-gradient(top,#fafafa 0,#ededed 100%);background-image:-o-linear-gradient(top,#fafafa 0,#ededed 100%);background-image:linear-gradient(to bottom,#fafafa 0,#ededed 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffafafa', endColorstr='#ffededed', GradientType=0)}.panel-group .panel-heading+.panel-collapse .panel-body{border-top:1px solid #d1d1d1}.panel-group .panel-title{font-weight:500;line-height:1}.panel-group .panel-title>a{color:#4d5258;font-weight:600}.panel-group .panel-title>a:before{content:"\f107";display:inline-block;font-family:FontAwesome;font-size:13px;margin-right:5px;text-align:center;vertical-align:0;width:8px}.panel-group .panel-title>a:focus{outline:0;text-decoration:none}.panel-group .panel-title>a:hover{text-decoration:none}.panel-group .panel-title>a.collapsed:before{content:"\f105"}.popover{-webkit-box-shadow:0 2px 2px rgba(3,3,3,.08);box-shadow:0 2px 2px rgba(3,3,3,.08);padding:0}.popover-content{color:#4d5258;line-height:18px;padding:10px 14px}.popover-title{border-bottom:none;border-radius:0;color:#4d5258;font-size:13px;font-weight:700;min-height:34px}.popover-title .close{height:22px;position:absolute;right:8px;top:6px}.popover-title.closable{padding-right:30px}@-webkit-keyframes progress-bar-stripes{from{background-position:0 0}to{background-position:40px 0}}@keyframes progress-bar-stripes{from{background-position:0 0}to{background-position:40px 0}}.progress{-webkit-box-shadow:inset 0 0 1px rgba(3,3,3,.25);box-shadow:inset 0 0 1px rgba(3,3,3,.25)}.progress.progress-label-left,.progress.progress-label-top-right{overflow:visible;position:relative}.progress.progress-label-left{margin-left:40px}.progress.progress-sm{height:14px;margin-bottom:14px}.progress.progress-xs{height:6px;margin-bottom:6px}td>.progress:first-child:last-child{margin-bottom:0;margin-top:3px}.progress-bar{box-shadow:none}.progress-label-left .progress-bar span,.progress-label-right .progress-bar span,.progress-label-top-right .progress-bar span{color:#363636;position:absolute;text-align:right}.progress-label-left .progress-bar span{font-size:14px;left:-40px;top:0;width:35px}.progress-label-right .progress-bar span,.progress-label-top-right .progress-bar span{font-size:11px;overflow:hidden;right:0;text-overflow:ellipsis;white-space:nowrap}.progress-label-right .progress-bar span strong,.progress-label-top-right .progress-bar span strong{font-weight:600}.progress-label-right .progress-bar span{max-width:85px;top:0}.progress-label-top-right .progress-bar span{max-width:47%;top:-30px}.progress-label-left.progress-sm .progress-bar span,.progress-label-top-right.progress-sm .progress-bar span{font-size:12px}.progress-sm .progress-bar{line-height:14px}.progress-xs .progress-bar{line-height:6px}.progress-bar-remaining{background:0 0}.progress-container{position:relative}.progress-container.progress-description-left{padding-left:90px}.progress-container.progress-label-right{padding-right:90px}.progress-description{margin-bottom:10px;max-width:52%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.progress-description .count{font-size:20px;font-weight:300;line-height:1;margin-right:5px}.progress-description .fa,.progress-description .pficon{font-size:14px;margin-right:3px}.progress-description-left .progress-description{left:0;margin-bottom:0;max-width:85px;position:absolute;top:0}.progress-description .tooltip{white-space:normal}.search-pf.has-button{border-collapse:separate;display:table}.search-pf.has-button .form-group{display:table-cell;width:100%}.search-pf.has-button .form-group .btn{-webkit-box-shadow:none;box-shadow:none;float:left;margin-left:-1px}.search-pf.has-button .form-group .btn.btn-lg{font-size:14.5px}.search-pf.has-button .form-group .btn.btn-sm{font-size:10.7px}.search-pf.has-button .form-group .form-control{float:left}.search-pf .has-clear .clear{background:0 0;background:rgba(255,255,255,0);border:0;height:25px;line-height:1;padding:0;position:absolute;right:1px;top:1px;width:28px}.search-pf .has-clear .clear:focus{outline:0}.search-pf .has-clear .form-control{padding-right:30px}.search-pf .has-clear .form-control::-ms-clear{display:none}.search-pf .has-clear .input-lg+.clear{height:31px;width:28px}.search-pf .has-clear .input-sm+.clear{height:20px;width:28px}.search-pf .has-clear .input-sm+.clear span{font-size:10px}.search-pf .has-clear .search-pf-input-group{position:relative}.sidebar-header{border-bottom:1px solid #ececec;padding-bottom:11px;margin:50px 0 20px}.sidebar-header .actions{margin-top:-2px}.sidebar-pf .sidebar-header+.list-group{border-top:0;margin-top:-10px}.sidebar-pf .sidebar-header+.list-group .list-group-item{background:0 0;border-color:#ececec;padding-left:0}.sidebar-pf .sidebar-header+.list-group .list-group-item-heading{font-size:12px}.sidebar-pf .nav-category h2{color:#9c9c9c;font-size:12px;font-weight:400;line-height:21px;margin:0;padding:8px 0}.sidebar-pf .nav-category+.nav-category{margin-top:10px}.sidebar-pf .nav-pills>li.active>a{background:#0088ce!important;border-color:#0088ce!important;color:#fff}@media (min-width:768px){.sidebar-pf .nav-pills>li.active>a:after{content:"\f105";font-family:FontAwesome;display:block;position:absolute;right:10px;top:1px}}.sidebar-pf .nav-pills>li.active>a .fa{color:#fff}.sidebar-pf .nav-pills>li>a{border-bottom:1px solid transparent;border-radius:0;border-top:1px solid transparent;color:#363636;font-size:13px;line-height:21px;padding:1px 20px}.sidebar-pf .nav-pills>li>a:hover{background:#def3ff;border-color:#bee1f4}.sidebar-pf .nav-pills>li>a .fa{color:#6a7079;font-size:15px;margin-right:10px;text-align:center;vertical-align:middle;width:15px}.sidebar-pf .nav-stacked{margin-left:-20px;margin-right:-20px}.sidebar-pf .nav-stacked li+li{margin-top:0}.sidebar-pf .panel{background:0 0}.sidebar-pf .panel-body{padding:6px 20px}.sidebar-pf .panel-body .nav-pills>li>a{padding-left:37px}.sidebar-pf .panel-heading{padding:9px 20px}.sidebar-pf .panel-title{font-size:12px}.sidebar-pf .panel-title>a:before{display:inline-block;margin-left:1px;margin-right:4px;width:9px}.sidebar-pf .panel-title>a.collapsed:before{margin-left:3px;margin-right:2px}@media (min-width:767px){.sidebar-header-bleed-left{margin-left:-20px}.sidebar-header-bleed-left>h2{margin-left:20px}.sidebar-header-bleed-right{margin-right:-20px}.sidebar-header-bleed-right .actions{margin-right:20px}.sidebar-header-bleed-right>h2{margin-right:20px}.sidebar-header-bleed-right+.list-group{margin-right:-20px}.sidebar-pf .panel-group .panel-default,.sidebar-pf .treeview{border-left:0;border-right:0;margin-left:-20px;margin-right:-20px}.sidebar-pf .treeview{margin-top:5px}.sidebar-pf .treeview .list-group-item{padding-left:20px;padding-right:20px}.sidebar-pf .treeview .list-group-item.node-selected:after{content:"\f105";font-family:FontAwesome;display:block;position:absolute;right:10px;top:1px}}@media (min-width:768px){.sidebar-pf{background:#fafafa}.sidebar-pf.sidebar-pf-left{border-right:1px solid #d1d1d1}.sidebar-pf.sidebar-pf-right{border-left:1px solid #d1d1d1}.sidebar-pf>.nav-category,.sidebar-pf>.nav-stacked{margin-top:5px}}@-webkit-keyframes rotation{from{-webkit-transform:rotate(0)}to{-webkit-transform:rotate(359deg)}}@keyframes rotation{from{transform:rotate(0)}to{transform:rotate(359deg)}}.spinner{-webkit-animation:rotation .6s infinite linear;animation:rotation .6s infinite linear;border-bottom:4px solid rgba(3,3,3,.25);border-left:4px solid rgba(3,3,3,.25);border-right:4px solid rgba(3,3,3,.25);border-radius:100%;border-top:4px solid rgba(3,3,3,.75);height:24px;margin:0 auto;position:relative;width:24px}.spinner.spinner-inline{display:inline-block;margin-right:3px}.spinner.spinner-lg{border-width:5px;height:30px;width:30px}.spinner.spinner-sm{border-width:3px;height:18px;width:18px}.spinner.spinner-xs{border-width:2px;height:12px;width:12px}.spinner.spinner-inverse{border-bottom-color:rgba(255,255,255,.25);border-left-color:rgba(255,255,255,.25);border-right-color:rgba(255,255,255,.25);border-top-color:rgba(255,255,255,.75)}.ie9 .spinner{background:url(../img/spinner.gif) no-repeat;border:0}.ie9 .spinner.spinner-inverse{background-image:url(../img/spinner-inverse.gif)}.ie9 .spinner.spinner-inverse-lg{background-image:url(../img/spinner-inverse-lg.gif)}.ie9 .spinner.spinner-inverse-sm{background-image:url(../img/spinner-inverse-sm.gif)}.ie9 .spinner.spinner-inverse-xs{background-image:url(../img/spinner-inverse-xs.gif)}.ie9 .spinner.spinner-lg{background-image:url(../img/spinner-lg.gif)}.ie9 .spinner.spinner-sm{background-image:url(../img/spinner-sm.gif)}.ie9 .spinner.spinner-xs{background-image:url(../img/spinner-xs.gif)}.prettyprint .atn,.prettyprint .com,.prettyprint .fun,.prettyprint .var{color:#3f9c35}.prettyprint .atv,.prettyprint .str{color:#a30000}.prettyprint .clo,.prettyprint .dec,.prettyprint .kwd,.prettyprint .opn,.prettyprint .pln,.prettyprint .pun{color:#363636}.prettyprint .lit,.prettyprint .tag,.prettyprint .typ{color:#00659c}.prettyprint ol.linenums{margin-bottom:0}.table>tbody>tr>td,.table>tbody>tr>th,.table>tfoot>tr>td,.table>tfoot>tr>th,.table>thead>tr>td,.table>thead>tr>th{padding:2px 10px 3px}.table>tbody>tr>td>a:hover,.table>tbody>tr>th>a:hover,.table>tfoot>tr>td>a:hover,.table>tfoot>tr>th>a:hover,.table>thead>tr>td>a:hover,.table>thead>tr>th>a:hover{text-decoration:none}.table>tbody>tr>th,.table>tfoot>tr>th,.table>thead>tr>th{font-family:'Open Sans';font-style:normal;font-weight:600}.table>thead{background-clip:padding-box;background-color:#f5f5f5;background-image:-webkit-linear-gradient(top,#fafafa 0,#ededed 100%);background-image:-o-linear-gradient(top,#fafafa 0,#ededed 100%);background-image:linear-gradient(to bottom,#fafafa 0,#ededed 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffafafa', endColorstr='#ffededed', GradientType=0)}.table-bordered{border:1px solid #d1d1d1}.table-bordered>tbody>tr>td,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>td,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border:1px solid #d1d1d1}.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border-bottom-width:1px}.table-striped>tbody>tr:nth-of-type(even){background-color:#f5f5f5}.table-striped>tbody>tr:nth-of-type(odd){background-color:transparent}.table-hover>tbody>tr:hover>td,.table-hover>tbody>tr:hover>th{background-color:#def3ff;border-bottom-color:#7dc3e8}.table-treegrid span.indent{margin-left:10px;margin-right:10px}.table-treegrid span.icon{display:inline-block;font-size:13px;margin-right:5px;min-width:10px;text-align:center}.table-treegrid span.collapse-icon,.table-treegrid span.expand-icon{cursor:pointer}.table-treegrid>tbody>tr.odd{background-color:#f5f5f5}.nav-tabs{font-size:14px}.nav-tabs>li>a{color:#4d5258;margin-right:-1px;padding-bottom:5px;padding-top:5px}.nav-tabs>li>a:active,.nav-tabs>li>a:focus,.nav-tabs>li>a:hover{background:0 0;border-color:#ededed;color:#252525}.nav-tabs>li>.dropdown-menu{border-top:0;border-color:#ededed}.nav-tabs>li>.dropdown-menu.pull-right{right:-1px}.nav-tabs+.nav-tabs-pf{font-size:12px}.nav-tabs+.nav-tabs-pf>li:first-child>a{padding-left:15px}.nav-tabs+.nav-tabs-pf>li:first-child>a:before{left:15px!important}.nav-tabs .open>a,.nav-tabs .open>a:focus,.nav-tabs .open>a:hover{background-color:transparent;border-color:#ededed}@media (min-width:768px){.nav-tabs-pf.nav-justified{border-bottom:1px solid #ededed}}.nav-tabs-pf.nav-justified>li:first-child>a{padding-left:15px}.nav-tabs-pf.nav-justified>li>a{border-bottom:0}.nav-tabs-pf.nav-justified>li>a:before{left:0!important;right:0!important}.nav-tabs-pf>li{margin-bottom:0}.nav-tabs-pf>li.active>a:before{background:#0088ce;bottom:-1px;content:'';display:block;height:2px;left:15px;position:absolute;right:15px}.nav-tabs-pf>li.active>a,.nav-tabs-pf>li.active>a:active,.nav-tabs-pf>li.active>a:focus,.nav-tabs-pf>li.active>a:hover{background-color:transparent;border:0!important;color:#0088ce}.nav-tabs-pf>li.active>a:active:before,.nav-tabs-pf>li.active>a:before,.nav-tabs-pf>li.active>a:focus:before,.nav-tabs-pf>li.active>a:hover:before{background:#0088ce}.nav-tabs-pf>li:first-child>a{padding-left:0}.nav-tabs-pf>li:first-child>a:before{left:0!important}.nav-tabs-pf>li>a{border:0;line-height:1;margin-right:0;padding-bottom:10px;padding-top:10px}.nav-tabs-pf>li>a:active:before,.nav-tabs-pf>li>a:focus:before,.nav-tabs-pf>li>a:hover:before{background:#bbb;bottom:-1px;content:'';display:block;height:2px;left:15px;position:absolute;right:15px}.nav-tabs-pf>li>.dropdown-menu{left:15px;margin-top:1px}.nav-tabs-pf>li>.dropdown-menu.pull-right{left:auto;right:15px}.nav-tabs-pf .open>a,.nav-tabs-pf .open>a:focus,.nav-tabs-pf .open>a:hover{background-color:transparent}.tooltip{font-size:12px;line-height:1.4}.tooltip-inner{padding:7px 12px;text-align:left}.h1,.h2,h1,h2{font-weight:300}.page-header .actions{margin-top:8px}.page-header .actions a>.pficon{margin-right:4px}@media (min-width:767px){.page-header-bleed-left{margin-left:-20px}.page-header-bleed-right{margin-right:-20px}.page-header-bleed-right .actions{margin-right:20px}} \ No newline at end of file -- -2.21.1 +2.28.0 + -From 751cb8d5cb432bcb9d5c7ada7c365a12ca6a95ee Mon Sep 17 00:00:00 2001 +From c69eb7c719c91d5e7f2be2d4d5e471d3111cf2e3 Mon Sep 17 00:00:00 2001 From: Alexander Bokovoy <abokovoy@redhat.com> Date: Sun, 7 Oct 2018 12:25:40 +0300 -Subject: [PATCH 39/78] install/ui/index.html: Change branding to IPA and +Subject: [PATCH 39/93] install/ui/index.html: Change branding to IPA and Identity Management --- @@ -1082,7 +1120,7 @@ Subject: [PATCH 39/78] install/ui/index.html: Change branding to IPA and 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install/ui/index.html b/install/ui/index.html -index bc0f0cd1e..d1eacaf53 100644 +index bc0f0cd..d1eacaf 100644 --- a/install/ui/index.html +++ b/install/ui/index.html @@ -2,7 +2,7 @@ @@ -1095,12 +1133,13 @@ index bc0f0cd1e..d1eacaf53 100644 <!--[if IE]> <meta id="ie-detector"> -- -2.21.1 +2.28.0 -From 8a4169a5d81b3c2376081d61a3beaf6601e318cf Mon Sep 17 00:00:00 2001 + +From a773fe485555a73d594116fc9f1acc7d28728a0c Mon Sep 17 00:00:00 2001 From: Alexander Bokovoy <abokovoy@redhat.com> Date: Sun, 7 Oct 2018 12:25:40 +0300 -Subject: [PATCH 40/78] install/ui/less/brand.less: Change branding to IPA and +Subject: [PATCH 40/93] install/ui/less/brand.less: Change branding to IPA and Identity Management --- @@ -1108,7 +1147,7 @@ Subject: [PATCH 40/78] install/ui/less/brand.less: Change branding to IPA and 1 file changed, 50 insertions(+), 53 deletions(-) diff --git a/install/ui/less/brand.less b/install/ui/less/brand.less -index c9030bb0b..7488eaf91 100644 +index c9030bb..7488eaf 100644 --- a/install/ui/less/brand.less +++ b/install/ui/less/brand.less @@ -20,58 +20,55 @@ @@ -1222,12 +1261,13 @@ index c9030bb0b..7488eaf91 100644 } \ No newline at end of file -- -2.21.1 +2.28.0 + -From 2946405ea45ea7163c520c367f764808f112d7f2 Mon Sep 17 00:00:00 2001 +From b0f0bac0f7cb307de0dcb3b3b70319a67c0cf16a Mon Sep 17 00:00:00 2001 From: Alexander Bokovoy <abokovoy@redhat.com> Date: Sun, 7 Oct 2018 12:25:40 +0300 -Subject: [PATCH 41/78] install/ui/less/patternfly.less: Change branding to IPA +Subject: [PATCH 41/93] install/ui/less/patternfly.less: Change branding to IPA and Identity Management --- @@ -1235,7 +1275,7 @@ Subject: [PATCH 41/78] install/ui/less/patternfly.less: Change branding to IPA 1 file changed, 48 insertions(+) diff --git a/install/ui/less/patternfly.less b/install/ui/less/patternfly.less -index a2e30c85b..97a8d5c26 100644 +index a2e30c8..97a8d5c 100644 --- a/install/ui/less/patternfly.less +++ b/install/ui/less/patternfly.less @@ -129,3 +129,51 @@ @@ -1291,12 +1331,13 @@ index a2e30c85b..97a8d5c26 100644 +@navbar-pf-navbar-utility-open-bg-color: #5b6165; +@navbar-pf-navbar-utility-open-border-color: #6c6e70; -- -2.21.1 +2.28.0 -From beb52f0f27401d439755107be31e74210343e784 Mon Sep 17 00:00:00 2001 + +From 8373bb029e9f01647643174ec6cd35cf29a4140b Mon Sep 17 00:00:00 2001 From: Alexander Bokovoy <abokovoy@redhat.com> Date: Sun, 7 Oct 2018 12:25:40 +0300 -Subject: [PATCH 42/78] install/ui/reset_password.html: Change branding to IPA +Subject: [PATCH 42/93] install/ui/reset_password.html: Change branding to IPA and Identity Management --- @@ -1304,7 +1345,7 @@ Subject: [PATCH 42/78] install/ui/reset_password.html: Change branding to IPA 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install/ui/reset_password.html b/install/ui/reset_password.html -index e5700c964..a4ea1ce0e 100644 +index e5700c9..a4ea1ce 100644 --- a/install/ui/reset_password.html +++ b/install/ui/reset_password.html @@ -2,7 +2,7 @@ @@ -1317,12 +1358,13 @@ index e5700c964..a4ea1ce0e 100644 <!--[if IE]> <meta id="ie-detector"> -- -2.21.1 +2.28.0 + -From 288607c7080be4f35a00b853f3de9fdd0752376d Mon Sep 17 00:00:00 2001 +From 7aa607335fa7fd1b95a5b5bb44674f3e1f45ddac Mon Sep 17 00:00:00 2001 From: Alexander Bokovoy <abokovoy@redhat.com> Date: Sun, 7 Oct 2018 12:25:40 +0300 -Subject: [PATCH 43/78] install/ui/src/freeipa/widgets/App.js: Change branding +Subject: [PATCH 43/93] install/ui/src/freeipa/widgets/App.js: Change branding to IPA and Identity Management --- @@ -1330,7 +1372,7 @@ Subject: [PATCH 43/78] install/ui/src/freeipa/widgets/App.js: Change branding 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install/ui/src/freeipa/widgets/App.js b/install/ui/src/freeipa/widgets/App.js -index 3a139555a..b0f75885d 100644 +index 3a13955..b0f7588 100644 --- a/install/ui/src/freeipa/widgets/App.js +++ b/install/ui/src/freeipa/widgets/App.js @@ -187,7 +187,7 @@ define(['dojo/_base/declare', @@ -1343,12 +1385,13 @@ index 3a139555a..b0f75885d 100644 return this.brand_node; -- -2.21.1 +2.28.0 -From 5573b887c32228f2c404413fd58560da95ef954d Mon Sep 17 00:00:00 2001 + +From 47e67dd83c26507fe2a40c7dab437379d891b460 Mon Sep 17 00:00:00 2001 From: Alexander Bokovoy <abokovoy@redhat.com> Date: Sun, 7 Oct 2018 12:25:40 +0300 -Subject: [PATCH 44/78] install/ui/sync_otp.html: Change branding to IPA and +Subject: [PATCH 44/93] install/ui/sync_otp.html: Change branding to IPA and Identity Management --- @@ -1356,7 +1399,7 @@ Subject: [PATCH 44/78] install/ui/sync_otp.html: Change branding to IPA and 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install/ui/sync_otp.html b/install/ui/sync_otp.html -index 5814b6c57..36a51ca62 100644 +index 5814b6c..36a51ca 100644 --- a/install/ui/sync_otp.html +++ b/install/ui/sync_otp.html @@ -2,7 +2,7 @@ @@ -1369,12 +1412,13 @@ index 5814b6c57..36a51ca62 100644 <!--[if IE]> <meta id="ie-detector"> -- -2.21.1 +2.28.0 + -From 86d40a59a18f9b1439387bf8d5794437be0fb8b9 Mon Sep 17 00:00:00 2001 +From b87532edeebde90e4b293dff3e6ec4d14fe85d08 Mon Sep 17 00:00:00 2001 From: Alexander Bokovoy <abokovoy@redhat.com> Date: Sun, 7 Oct 2018 12:25:40 +0300 -Subject: [PATCH 45/78] install/ui/test/data/ipa_init_commands.json: Change +Subject: [PATCH 45/93] install/ui/test/data/ipa_init_commands.json: Change branding to IPA and Identity Management --- @@ -1382,7 +1426,7 @@ Subject: [PATCH 45/78] install/ui/test/data/ipa_init_commands.json: Change 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/install/ui/test/data/ipa_init_commands.json b/install/ui/test/data/ipa_init_commands.json -index c35946b34..6d3667473 100644 +index 8fa4999..4b51d97 100644 --- a/install/ui/test/data/ipa_init_commands.json +++ b/install/ui/test/data/ipa_init_commands.json @@ -8689,7 +8689,7 @@ @@ -1404,12 +1448,13 @@ index c35946b34..6d3667473 100644 "no_update" ], -- -2.21.1 +2.28.0 -From 7e027d4836251b4f824b5e420e8ef6cfa8bb4505 Mon Sep 17 00:00:00 2001 + +From 72fea1fb9d0de429cb8f2b1774dfd0df8d0ee685 Mon Sep 17 00:00:00 2001 From: Alexander Bokovoy <abokovoy@redhat.com> Date: Sun, 7 Oct 2018 12:25:40 +0300 -Subject: [PATCH 46/78] install/ui/test/data/ipa_init_objects.json: Change +Subject: [PATCH 46/93] install/ui/test/data/ipa_init_objects.json: Change branding to IPA and Identity Management --- @@ -1417,7 +1462,7 @@ Subject: [PATCH 46/78] install/ui/test/data/ipa_init_objects.json: Change 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install/ui/test/data/ipa_init_objects.json b/install/ui/test/data/ipa_init_objects.json -index 6f9b13e92..08aaafd61 100644 +index 6f9b13e..08aaafd 100644 --- a/install/ui/test/data/ipa_init_objects.json +++ b/install/ui/test/data/ipa_init_objects.json @@ -21190,7 +21190,7 @@ @@ -1430,12 +1475,13 @@ index 6f9b13e92..08aaafd61 100644 "cli_metavar" : "INT", "default" : 0, -- -2.21.1 +2.28.0 + -From 799fc53a7d6503d76452617998da0a936527116c Mon Sep 17 00:00:00 2001 +From 29125fa720c618e7ee73f0613138dd250fca2e5d Mon Sep 17 00:00:00 2001 From: Alexander Bokovoy <abokovoy@redhat.com> Date: Sun, 7 Oct 2018 12:25:40 +0300 -Subject: [PATCH 47/78] ipaclient/install/client.py: Change branding to IPA and +Subject: [PATCH 47/93] ipaclient/install/client.py: Change branding to IPA and Identity Management --- @@ -1443,10 +1489,10 @@ Subject: [PATCH 47/78] ipaclient/install/client.py: Change branding to IPA and 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ipaclient/install/client.py b/ipaclient/install/client.py -index 34b2d1a6e..d3bffb05f 100644 +index 175a56c..e6f364d 100644 --- a/ipaclient/install/client.py +++ b/ipaclient/install/client.py -@@ -2033,7 +2033,7 @@ def install_check(options): +@@ -2069,7 +2069,7 @@ def install_check(options): global client_domain global cli_basedn @@ -1456,12 +1502,13 @@ index 34b2d1a6e..d3bffb05f 100644 print("") -- -2.21.1 +2.28.0 -From 2c5f5f196ec959eed754b0966fc80daa1d1b6ff7 Mon Sep 17 00:00:00 2001 + +From 419fba1f044fd8bae44e0345d4a1553e01e69bdd Mon Sep 17 00:00:00 2001 From: Alexander Bokovoy <abokovoy@redhat.com> Date: Sun, 7 Oct 2018 12:25:40 +0300 -Subject: [PATCH 48/78] ipaclient/remote_plugins/2_114/otptoken.py: Change +Subject: [PATCH 48/93] ipaclient/remote_plugins/2_114/otptoken.py: Change branding to IPA and Identity Management --- @@ -1469,7 +1516,7 @@ Subject: [PATCH 48/78] ipaclient/remote_plugins/2_114/otptoken.py: Change 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ipaclient/remote_plugins/2_114/otptoken.py b/ipaclient/remote_plugins/2_114/otptoken.py -index 632c97ea2..d3edb589d 100644 +index 632c97e..d3edb58 100644 --- a/ipaclient/remote_plugins/2_114/otptoken.py +++ b/ipaclient/remote_plugins/2_114/otptoken.py @@ -132,7 +132,7 @@ class otptoken(Object): @@ -1500,12 +1547,13 @@ index 632c97ea2..d3edb589d 100644 ), parameters.Int( -- -2.21.1 +2.28.0 + -From 521d5c9ebee2fe4df8650ebdc53b91d25232d631 Mon Sep 17 00:00:00 2001 +From 9ee6cabb2996ce6ebf34a3d521c854aab8de92a2 Mon Sep 17 00:00:00 2001 From: Alexander Bokovoy <abokovoy@redhat.com> Date: Sun, 7 Oct 2018 12:25:41 +0300 -Subject: [PATCH 49/78] ipaclient/remote_plugins/2_156/otptoken.py: Change +Subject: [PATCH 49/93] ipaclient/remote_plugins/2_156/otptoken.py: Change branding to IPA and Identity Management --- @@ -1513,7 +1561,7 @@ Subject: [PATCH 49/78] ipaclient/remote_plugins/2_156/otptoken.py: Change 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ipaclient/remote_plugins/2_156/otptoken.py b/ipaclient/remote_plugins/2_156/otptoken.py -index 0b2b54c6e..e674d465d 100644 +index 0b2b54c..e674d46 100644 --- a/ipaclient/remote_plugins/2_156/otptoken.py +++ b/ipaclient/remote_plugins/2_156/otptoken.py @@ -132,7 +132,7 @@ class otptoken(Object): @@ -1544,12 +1592,13 @@ index 0b2b54c6e..e674d465d 100644 ), parameters.Int( -- -2.21.1 +2.28.0 -From 0a29cb7c05dfc8a75afdbdadcb9c7a67e9e90b50 Mon Sep 17 00:00:00 2001 + +From 61cfaa8ab75ed6075076b8da960382fc4e76a35d Mon Sep 17 00:00:00 2001 From: Alexander Bokovoy <abokovoy@redhat.com> Date: Sun, 7 Oct 2018 12:25:41 +0300 -Subject: [PATCH 50/78] ipaclient/remote_plugins/2_164/otptoken.py: Change +Subject: [PATCH 50/93] ipaclient/remote_plugins/2_164/otptoken.py: Change branding to IPA and Identity Management --- @@ -1557,7 +1606,7 @@ Subject: [PATCH 50/78] ipaclient/remote_plugins/2_164/otptoken.py: Change 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ipaclient/remote_plugins/2_164/otptoken.py b/ipaclient/remote_plugins/2_164/otptoken.py -index 0b2b54c6e..e674d465d 100644 +index 0b2b54c..e674d46 100644 --- a/ipaclient/remote_plugins/2_164/otptoken.py +++ b/ipaclient/remote_plugins/2_164/otptoken.py @@ -132,7 +132,7 @@ class otptoken(Object): @@ -1588,12 +1637,13 @@ index 0b2b54c6e..e674d465d 100644 ), parameters.Int( -- -2.21.1 +2.28.0 + -From fec6eff7f15ff4ae4bf28d816ca4b231f77b15ca Mon Sep 17 00:00:00 2001 +From 82b07fb868dce69b7f1531b9b518f168531113fc Mon Sep 17 00:00:00 2001 From: Alexander Bokovoy <abokovoy@redhat.com> Date: Sun, 7 Oct 2018 12:25:41 +0300 -Subject: [PATCH 51/78] ipalib/pkcs10.py: Change branding to IPA and Identity +Subject: [PATCH 51/93] ipalib/pkcs10.py: Change branding to IPA and Identity Management --- @@ -1601,7 +1651,7 @@ Subject: [PATCH 51/78] ipalib/pkcs10.py: Change branding to IPA and Identity 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ipalib/pkcs10.py b/ipalib/pkcs10.py -index 2756c8568..590ce0757 100644 +index 2756c85..590ce07 100644 --- a/ipalib/pkcs10.py +++ b/ipalib/pkcs10.py @@ -2,7 +2,7 @@ from __future__ import print_function @@ -1614,12 +1664,13 @@ index 2756c8568..590ce0757 100644 file=sys.stderr ) -- -2.21.1 +2.28.0 -From e364a5187b1a49ea81653f5282825485a58827df Mon Sep 17 00:00:00 2001 + +From df262a92dc2ea0db0bd4902a196f0867c682fd45 Mon Sep 17 00:00:00 2001 From: Alexander Bokovoy <abokovoy@redhat.com> Date: Sun, 7 Oct 2018 12:25:41 +0300 -Subject: [PATCH 52/78] ipalib/rpc.py: Change branding to IPA and Identity +Subject: [PATCH 52/93] ipalib/rpc.py: Change branding to IPA and Identity Management --- @@ -1627,10 +1678,10 @@ Subject: [PATCH 52/78] ipalib/rpc.py: Change branding to IPA and Identity 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ipalib/rpc.py b/ipalib/rpc.py -index 1ef0f5e95..f1be90522 100644 +index 01746cb..c3d0513 100644 --- a/ipalib/rpc.py +++ b/ipalib/rpc.py -@@ -284,7 +284,7 @@ class _JSONPrimer(dict): +@@ -282,7 +282,7 @@ class _JSONPrimer(dict): Prepare a data structure for JSON serialization. In an ideal world, priming could be handled by the default hook of json.dumps(). Unfortunately the @@ -1640,12 +1691,13 @@ index 1ef0f5e95..f1be90522 100644 The primer uses a couple of tricks to archive maximum performance: -- -2.21.1 +2.28.0 + -From e1367d8a71cd5d1aa0f57793238577fa69324594 Mon Sep 17 00:00:00 2001 +From 969752d92a1f20cf6fb777c43193edf94c8d9833 Mon Sep 17 00:00:00 2001 From: Alexander Bokovoy <abokovoy@redhat.com> Date: Sun, 7 Oct 2018 12:25:41 +0300 -Subject: [PATCH 53/78] ipalib/util.py: Change branding to IPA and Identity +Subject: [PATCH 53/93] ipalib/util.py: Change branding to IPA and Identity Management --- @@ -1653,10 +1705,10 @@ Subject: [PATCH 53/78] ipalib/util.py: Change branding to IPA and Identity 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ipalib/util.py b/ipalib/util.py -index e0c658c51..3378db043 100644 +index e3a510f..f63ae1b 100644 --- a/ipalib/util.py +++ b/ipalib/util.py -@@ -236,7 +236,7 @@ def normalize_zone(zone): +@@ -242,7 +242,7 @@ def normalize_zone(zone): def get_proper_tls_version_span(tls_version_min, tls_version_max): """ This function checks whether the given TLS versions are known in @@ -1666,12 +1718,13 @@ index e0c658c51..3378db043 100644 `ipalib.constants: TLS_VERSIONS, TLS_VERSION_MINIMAL`). -- -2.21.1 +2.28.0 -From e980e233c6c48fe2ebc8d10f5bd18db5dea6ff94 Mon Sep 17 00:00:00 2001 + +From c72847fcf0feef3a2404c82934e1c67a3d8f3e72 Mon Sep 17 00:00:00 2001 From: Alexander Bokovoy <abokovoy@redhat.com> Date: Sun, 7 Oct 2018 12:25:41 +0300 -Subject: [PATCH 54/78] ipalib/x509.py: Change branding to IPA and Identity +Subject: [PATCH 54/93] ipalib/x509.py: Change branding to IPA and Identity Management --- @@ -1679,10 +1732,10 @@ Subject: [PATCH 54/78] ipalib/x509.py: Change branding to IPA and Identity 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ipalib/x509.py b/ipalib/x509.py -index 1f612a379..dfe66e1b4 100644 +index 0ee710f..402e0e9 100644 --- a/ipalib/x509.py +++ b/ipalib/x509.py -@@ -88,7 +88,7 @@ SAN_KRB5PRINCIPALNAME = '1.3.6.1.5.2.2' +@@ -92,7 +92,7 @@ SAN_KRB5PRINCIPALNAME = '1.3.6.1.5.2.2' class IPACertificate: """ A proxy class wrapping a python-cryptography certificate representation for @@ -1692,12 +1745,13 @@ index 1f612a379..dfe66e1b4 100644 def __init__(self, cert, backend=None): """ -- -2.21.1 +2.28.0 + -From 38ca6711b3cb6c24c9ae16e172339a680613f2af Mon Sep 17 00:00:00 2001 +From d74025cc8306ea5ab1a75105109b82d4eb31d723 Mon Sep 17 00:00:00 2001 From: Alexander Bokovoy <abokovoy@redhat.com> Date: Sun, 7 Oct 2018 12:25:41 +0300 -Subject: [PATCH 55/78] ipaserver/advise/plugins/legacy_clients.py: Change +Subject: [PATCH 55/93] ipaserver/advise/plugins/legacy_clients.py: Change branding to IPA and Identity Management --- @@ -1705,7 +1759,7 @@ Subject: [PATCH 55/78] ipaserver/advise/plugins/legacy_clients.py: Change 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/ipaserver/advise/plugins/legacy_clients.py b/ipaserver/advise/plugins/legacy_clients.py -index 2a56922b8..0e322fe96 100644 +index 2a56922..0e322fe 100644 --- a/ipaserver/advise/plugins/legacy_clients.py +++ b/ipaserver/advise/plugins/legacy_clients.py @@ -94,7 +94,7 @@ class config_redhat_sssd_before_1_9(config_base_legacy_client): @@ -1745,12 +1799,13 @@ index 2a56922b8..0e322fe96 100644 'are all Red Hat based platforms.') -- -2.21.1 +2.28.0 -From f6fa8b8edd7a4123cf3f409c169e4eee12a3ed3c Mon Sep 17 00:00:00 2001 + +From ddd2cde38edb70271ba593e3b05c77c3c62c075c Mon Sep 17 00:00:00 2001 From: Alexander Bokovoy <abokovoy@redhat.com> Date: Sun, 7 Oct 2018 12:25:41 +0300 -Subject: [PATCH 56/78] ipaserver/advise/plugins/smart_card_auth.py: Change +Subject: [PATCH 56/93] ipaserver/advise/plugins/smart_card_auth.py: Change branding to IPA and Identity Management --- @@ -1758,7 +1813,7 @@ Subject: [PATCH 56/78] ipaserver/advise/plugins/smart_card_auth.py: Change 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ipaserver/advise/plugins/smart_card_auth.py b/ipaserver/advise/plugins/smart_card_auth.py -index c43c74e5b..ce50cec83 100644 +index 0709ec4..a067f36 100644 --- a/ipaserver/advise/plugins/smart_card_auth.py +++ b/ipaserver/advise/plugins/smart_card_auth.py @@ -97,7 +97,7 @@ class config_server_for_smart_card_auth(common_smart_card_auth_config): @@ -1785,12 +1840,13 @@ index c43c74e5b..ce50cec83 100644 "allow smart card logins to desktop") -- -2.21.1 +2.28.0 + -From 4b528a73ed9d914997f8e7ed44076211e6fef239 Mon Sep 17 00:00:00 2001 +From ee5e37f145d55536232681eb3cce6e4a17bffcb3 Mon Sep 17 00:00:00 2001 From: Alexander Bokovoy <abokovoy@redhat.com> Date: Sun, 7 Oct 2018 12:25:41 +0300 -Subject: [PATCH 57/78] ipaserver/install/dns.py: Change branding to IPA and +Subject: [PATCH 57/93] ipaserver/install/dns.py: Change branding to IPA and Identity Management --- @@ -1798,10 +1854,10 @@ Subject: [PATCH 57/78] ipaserver/install/dns.py: Change branding to IPA and 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ipaserver/install/dns.py b/ipaserver/install/dns.py -index 9f08e86f9..7d6d7fe7c 100644 +index 9cd8978..b51b92b 100644 --- a/ipaserver/install/dns.py +++ b/ipaserver/install/dns.py -@@ -151,7 +151,7 @@ def install_check(standalone, api, replica, options, hostname): +@@ -154,7 +154,7 @@ def install_check(standalone, api, replica, options, hostname): if standalone: print("==============================================================================") @@ -1811,12 +1867,13 @@ index 9f08e86f9..7d6d7fe7c 100644 print("This includes:") print(" * Configure DNS (bind)") -- -2.21.1 +2.28.0 -From b4bf196e8f7eb5193d5be111820b9b9d13b7c25c Mon Sep 17 00:00:00 2001 + +From bab43eae498b96e574aea685a5790608aca8cd96 Mon Sep 17 00:00:00 2001 From: Alexander Bokovoy <abokovoy@redhat.com> Date: Sun, 7 Oct 2018 12:25:41 +0300 -Subject: [PATCH 58/78] ipaserver/install/ipa_kra_install.py: Change branding +Subject: [PATCH 58/93] ipaserver/install/ipa_kra_install.py: Change branding to IPA and Identity Management --- @@ -1824,7 +1881,7 @@ Subject: [PATCH 58/78] ipaserver/install/ipa_kra_install.py: Change branding 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ipaserver/install/ipa_kra_install.py b/ipaserver/install/ipa_kra_install.py -index 2d6e4bf09..076c20666 100644 +index 159f02e..04ac94b 100644 --- a/ipaserver/install/ipa_kra_install.py +++ b/ipaserver/install/ipa_kra_install.py @@ -93,7 +93,7 @@ class KRAInstall(admintool.AdminTool): @@ -1846,12 +1903,13 @@ index 2d6e4bf09..076c20666 100644 ''' -- -2.21.1 +2.28.0 + -From 2831a3d84888547b38803681019f9f5bdfb34b2e Mon Sep 17 00:00:00 2001 +From ac3620bc3050bad623be7f47de35b76485f3236b Mon Sep 17 00:00:00 2001 From: Alexander Bokovoy <abokovoy@redhat.com> Date: Sun, 7 Oct 2018 12:25:41 +0300 -Subject: [PATCH 59/78] ipaserver/install/plugins/dns.py: Change branding to +Subject: [PATCH 59/93] ipaserver/install/plugins/dns.py: Change branding to IPA and Identity Management --- @@ -1859,7 +1917,7 @@ Subject: [PATCH 59/78] ipaserver/install/plugins/dns.py: Change branding to 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/ipaserver/install/plugins/dns.py b/ipaserver/install/plugins/dns.py -index baa19c38e..a7a1748d9 100644 +index ad875b4..9d6ca47 100644 --- a/ipaserver/install/plugins/dns.py +++ b/ipaserver/install/plugins/dns.py @@ -161,11 +161,11 @@ class update_ipaconfigstring_dnsversion_to_ipadnsversion(Updater): @@ -1904,12 +1962,13 @@ index baa19c38e..a7a1748d9 100644 """ backup_filename = u'dns-forwarding-empty-zones-%Y-%m-%d-%H-%M-%S.ldif' -- -2.21.1 +2.28.0 -From 76ae883950cbe20c50f456ddc7d24d209d78232e Mon Sep 17 00:00:00 2001 + +From 2fdf8d86d71afff004b14998649ef45c460fa6e8 Mon Sep 17 00:00:00 2001 From: Alexander Bokovoy <abokovoy@redhat.com> Date: Sun, 7 Oct 2018 12:25:41 +0300 -Subject: [PATCH 60/78] ipaserver/install/replication.py: Change branding to +Subject: [PATCH 60/93] ipaserver/install/replication.py: Change branding to IPA and Identity Management --- @@ -1917,10 +1976,10 @@ Subject: [PATCH 60/78] ipaserver/install/replication.py: Change branding to 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ipaserver/install/replication.py b/ipaserver/install/replication.py -index 1fefe3ebf..87794b7f4 100644 +index e8407f3..95bb810 100644 --- a/ipaserver/install/replication.py +++ b/ipaserver/install/replication.py -@@ -1760,7 +1760,7 @@ class ReplicationManager: +@@ -1799,7 +1799,7 @@ class ReplicationManager: Ensure that the 'cn=replication managers,cn=sysaccounts' group exists and contains the principals for master and remote replica @@ -1930,12 +1989,13 @@ index 1fefe3ebf..87794b7f4 100644 """ my_dn = DN( -- -2.21.1 +2.28.0 + -From 4324a4f3653d3322ef75406b0b9b2cd68fb17995 Mon Sep 17 00:00:00 2001 +From 6225f0e67f618460d4327950effdeb2a15f4ba96 Mon Sep 17 00:00:00 2001 From: Alexander Bokovoy <abokovoy@redhat.com> Date: Sun, 7 Oct 2018 12:25:41 +0300 -Subject: [PATCH 61/78] ipaserver/install/server/install.py: Change branding to +Subject: [PATCH 61/93] ipaserver/install/server/install.py: Change branding to IPA and Identity Management --- @@ -1943,10 +2003,10 @@ Subject: [PATCH 61/78] ipaserver/install/server/install.py: Change branding to 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ipaserver/install/server/install.py b/ipaserver/install/server/install.py -index afce0d73a..b62c08baa 100644 +index c0d33f3..103cfcc 100644 --- a/ipaserver/install/server/install.py +++ b/ipaserver/install/server/install.py -@@ -414,7 +414,7 @@ def install_check(installer): +@@ -427,7 +427,7 @@ def install_check(installer): print("=======================================" "=======================================") @@ -1956,12 +2016,13 @@ index afce0d73a..b62c08baa 100644 print("") print("This includes:") -- -2.21.1 +2.28.0 -From 55b2630e53494d831fb65a0c520aabe1c895b13d Mon Sep 17 00:00:00 2001 + +From 53f918cd0bc8c7633007986f61a091ee267db634 Mon Sep 17 00:00:00 2001 From: Alexander Bokovoy <abokovoy@redhat.com> Date: Sun, 7 Oct 2018 12:25:41 +0300 -Subject: [PATCH 62/78] ipaserver/install/server/replicainstall.py: Change +Subject: [PATCH 62/93] ipaserver/install/server/replicainstall.py: Change branding to IPA and Identity Management --- @@ -1969,10 +2030,10 @@ Subject: [PATCH 62/78] ipaserver/install/server/replicainstall.py: Change 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ipaserver/install/server/replicainstall.py b/ipaserver/install/server/replicainstall.py -index 71ea091a3..0ea48f18e 100644 +index f75f5fd..73967a2 100644 --- a/ipaserver/install/server/replicainstall.py +++ b/ipaserver/install/server/replicainstall.py -@@ -619,7 +619,7 @@ def check_domain_level_is_supported(current): +@@ -623,7 +623,7 @@ def check_domain_level_is_supported(current): above_upper_bound = current > constants.MAX_DOMAIN_LEVEL if under_lower_bound or above_upper_bound: @@ -1982,12 +2043,13 @@ index 71ea091a3..0ea48f18e 100644 "this domain. The Domain Level needs to be " "raised before installing a replica with " -- -2.21.1 +2.28.0 + -From 649e159570278e417922a68e23c2fc44ef6eeb44 Mon Sep 17 00:00:00 2001 +From f6f4a5cc0f0e4d5ba28aa7ed849fb4ced31e74f3 Mon Sep 17 00:00:00 2001 From: Alexander Bokovoy <abokovoy@redhat.com> Date: Sun, 7 Oct 2018 12:25:41 +0300 -Subject: [PATCH 63/78] ipaserver/plugins/certmap.py: Change branding to IPA +Subject: [PATCH 63/93] ipaserver/plugins/certmap.py: Change branding to IPA and Identity Management --- @@ -1995,7 +2057,7 @@ Subject: [PATCH 63/78] ipaserver/plugins/certmap.py: Change branding to IPA 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ipaserver/plugins/certmap.py b/ipaserver/plugins/certmap.py -index ee8f0c15f..cdbc38f70 100644 +index ee8f0c1..cdbc38f 100644 --- a/ipaserver/plugins/certmap.py +++ b/ipaserver/plugins/certmap.py @@ -614,7 +614,7 @@ class certmap_match(Search): @@ -2008,12 +2070,13 @@ index ee8f0c15f..cdbc38f70 100644 """ sssd = _sssd() -- -2.21.1 +2.28.0 -From 926ce56e094b8b54c10d867d9c1150d73af088f5 Mon Sep 17 00:00:00 2001 + +From bca6ca20a626caf6425381ce6f90c762fdbad32f Mon Sep 17 00:00:00 2001 From: Alexander Bokovoy <abokovoy@redhat.com> Date: Sun, 7 Oct 2018 12:25:41 +0300 -Subject: [PATCH 64/78] ipaserver/plugins/otptoken.py: Change branding to IPA +Subject: [PATCH 64/93] ipaserver/plugins/otptoken.py: Change branding to IPA and Identity Management --- @@ -2021,7 +2084,7 @@ Subject: [PATCH 64/78] ipaserver/plugins/otptoken.py: Change branding to IPA 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ipaserver/plugins/otptoken.py b/ipaserver/plugins/otptoken.py -index 72ed5393d..46e4d5e8d 100644 +index 72ed539..46e4d5e 100644 --- a/ipaserver/plugins/otptoken.py +++ b/ipaserver/plugins/otptoken.py @@ -245,7 +245,7 @@ class otptoken(LDAPObject): @@ -2034,12 +2097,13 @@ index 72ed5393d..46e4d5e8d 100644 autofill=True, flags=('no_update'), -- -2.21.1 +2.28.0 + -From aaa3824fd7e96be447529183033aa37cad016264 Mon Sep 17 00:00:00 2001 +From f17dbc16c6c0a40775c412af960d89982c6dd786 Mon Sep 17 00:00:00 2001 From: Alexander Bokovoy <abokovoy@redhat.com> Date: Sun, 7 Oct 2018 12:25:41 +0300 -Subject: [PATCH 65/78] ipaserver/plugins/sudorule.py: Change branding to IPA +Subject: [PATCH 65/93] ipaserver/plugins/sudorule.py: Change branding to IPA and Identity Management --- @@ -2047,7 +2111,7 @@ Subject: [PATCH 65/78] ipaserver/plugins/sudorule.py: Change branding to IPA 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ipaserver/plugins/sudorule.py b/ipaserver/plugins/sudorule.py -index 643215985..68baa0174 100644 +index 6432159..68baa01 100644 --- a/ipaserver/plugins/sudorule.py +++ b/ipaserver/plugins/sudorule.py @@ -47,7 +47,7 @@ give certain users (or groups of users) the ability to run some (or all) @@ -2069,165 +2133,906 @@ index 643215985..68baa0174 100644 """) + _(""" To enable the binddn run the following command to set the password: -- -2.21.1 +2.28.0 -From 4285adc257bfdf7eb836c4bfdb61a8e34aa0e87d Mon Sep 17 00:00:00 2001 -From: Alexander Bokovoy <abokovoy@redhat.com> -Date: Sun, 7 Oct 2018 12:25:41 +0300 -Subject: [PATCH 66/78] po/de.po: Change branding to IPA and Identity - Management + +From 412f3c83d2d634a3803eb4dd64d6476690065e43 Mon Sep 17 00:00:00 2001 +From: Thomas Woerner <twoerner@redhat.com> +Date: Fri, 3 Apr 2020 14:27:35 +0200 +Subject: [PATCH 66/93] client/man/ipa-client-samba.1: Change branding to IPA + and Identity Management --- - po/de.po | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) + client/man/ipa-client-samba.1 | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) -diff --git a/po/de.po b/po/de.po -index 8f9c2209b..95626fc68 100644 ---- a/po/de.po -+++ b/po/de.po -@@ -3668,7 +3668,7 @@ msgstr "TOTP Sychnronisierungsfenster" - msgid "TOTP authentication Window" - msgstr "TOTP Authentifizierungsfenster" +diff --git a/client/man/ipa-client-samba.1 b/client/man/ipa-client-samba.1 +index ea83715..5ed6c71 100644 +--- a/client/man/ipa-client-samba.1 ++++ b/client/man/ipa-client-samba.1 +@@ -1,7 +1,7 @@ + .\" A man page for ipa-client-samba + .\" Copyright (C) 2008-2016 FreeIPA Contributors see COPYING for license + .\" +-.TH "ipa-client-samba" "1" "Jun 10 2019" "FreeIPA" "FreeIPA Manual Pages" ++.TH "ipa-client-samba" "1" "Jun 10 2019" "IPA" "IPA Manual Pages" + .SH "NAME" + ipa\-client\-samba \- Configure Samba file server on an IPA client + .SH "SYNOPSIS" +@@ -39,7 +39,7 @@ The ipa\-client\-samba script assumes that the machine has alreaby been enrolled + .SS "IPA Master Requirements" + At least one IPA master must hold a \fBTrust Controller\fR role. This can be achieved by running ipa\-adtrust\-install on the IPA master. The utility will configure IPA master to be a domain controller for IPA domain. --msgid "TOTP token / FreeIPA server time difference" -+msgid "TOTP token / IPA server time difference" - msgstr "Differenz zwischen Token und Serverzeit" +-IPA master holding a \fBTrust Controller\fR role has also to have support for a special service command to create SMB service, \fBipa service-add-smb\fR. This command is available with FreeIPA 4.8.0 or later release. ++IPA master holding a \fBTrust Controller\fR role has also to have support for a special service command to create SMB service, \fBipa service-add-smb\fR. This command is available with IPA 4.8.0 or later release. - msgid "Target" + .SH "OPTIONS" + .SS "BASIC OPTIONS" -- -2.21.1 +2.28.0 -From 68b461d299352e515457ff2ef8a40d82afc35bc0 Mon Sep 17 00:00:00 2001 -From: Alexander Bokovoy <abokovoy@redhat.com> -Date: Sun, 7 Oct 2018 12:25:41 +0300 -Subject: [PATCH 67/78] po/es.po: Change branding to IPA and Identity - Management + +From 74bd1541d58e30319c99ac42a78f78b4e65a8117 Mon Sep 17 00:00:00 2001 +From: Thomas Woerner <twoerner@redhat.com> +Date: Fri, 3 Apr 2020 14:28:22 +0200 +Subject: [PATCH 67/93] contrib/lite-server.py: Change branding to IPA and + Identity Management --- - po/es.po | 20 ++++++++++---------- - 1 file changed, 10 insertions(+), 10 deletions(-) + contrib/lite-server.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) -diff --git a/po/es.po b/po/es.po -index b9e9fc126..6970d31f5 100644 ---- a/po/es.po -+++ b/po/es.po -@@ -3101,7 +3101,7 @@ msgid "" - "The profile configuration format is the raw property-list format\n" - "used by Dogtag Certificate System. The XML format is not supported.\n" - "\n" --"The following restrictions apply to profiles managed by FreeIPA:\n" -+"The following restrictions apply to profiles managed by IPA:\n" - "\n" - "- When importing a profile the \"profileId\" field, if present, must\n" - " match the ID given on the command line.\n" -@@ -3159,7 +3159,7 @@ msgstr "" - "propiedad\n" - "usado por Dogtag Certificate System. No está soportado el formato XML.\n" - "\n" --"A los perfiles manejados por FreeIPA se les aplican las siguientes " -+"A los perfiles manejados por IPA se les aplican las siguientes " - "restricciones:\n" - "\n" - "- Cuando se importa un perfil el campo \"profileId\", si está presente, debe " -@@ -4948,7 +4948,7 @@ msgid "" - "commands as root or another user while providing an audit trail of the\n" - "commands and their arguments.\n" - "\n" --"FreeIPA provides a means to configure the various aspects of Sudo:\n" -+"IPA provides a means to configure the various aspects of Sudo:\n" - " Users: The user(s)/group(s) allowed to invoke Sudo.\n" - " Hosts: The host(s)/hostgroup(s) which the user is allowed to to invoke " - "Sudo.\n" -@@ -4963,7 +4963,7 @@ msgid "" - "are evaluated (if the client supports it). This order is an integer and\n" - "must be unique.\n" - "\n" --"FreeIPA provides a designated binddn to use with Sudo located at:\n" -+"IPA provides a designated binddn to use with Sudo located at:\n" - "uid=sudo,cn=sysaccounts,cn=etc,dc=example,dc=com\n" - "\n" - "To enable the binddn run the following command to set the password:\n" -@@ -4971,7 +4971,7 @@ msgid "" - "ZZ -D \"cn=Directory Manager\" uid=sudo,cn=sysaccounts,cn=etc,dc=example," - "dc=com\n" - "\n" --"For more information, see the FreeIPA Documentation to Sudo.\n" -+"For more information, see the IPA Documentation to Sudo.\n" - msgstr "" - "\n" - "Reglas Sudo\n" -@@ -4984,7 +4984,7 @@ msgstr "" - "auditoria de\n" - " los comandos y sus argumentos.\n" - "\n" --"FreeIPA proporciona un medio para configurar diversos aspectos de Sudo:\n" -+"IPA proporciona un medio para configurar diversos aspectos de Sudo:\n" - " Users: Los usuario(s)/grupos(s) que tienen permitido llamar a Sudo.\n" - " Hosts: Loshost(s)/grupo(s) de host a los que el usuario permite llamar a " - "Sudo.\n" -@@ -5002,7 +5002,7 @@ msgstr "" - "será evaluada\n" - "(si el cliente lo soporta). Este orden es un entero y debe ser único.\n" - "\n" --"FreeIPA suministra un binddn designado para usar con Sudo situado en :\n" -+"IPA suministra un binddn designado para usar con Sudo situado en :\n" - "uid=sudo,cn=sysaccounts,cn=etc,dc=example,dc=com\n" - "\n" - "Para habilitar el binddn ejecute el siguiente comando para fijar la " -@@ -5011,7 +5011,7 @@ msgstr "" - "ZZ -D \"cn=Directory Manager\" uid=sudo,cn=sysaccounts,cn=etc,dc=example," - "dc=com\n" - "\n" --"Para más información, vea la Documentación FreeIPA para Sudo.\n" -+"Para más información, vea la Documentación IPA para Sudo.\n" - - msgid "" - "\n" -@@ -12742,8 +12742,8 @@ msgstr "Variación del tiempo de autenticación TOTP (segundos)" - msgid "TOTP synchronization time variance (seconds)" - msgstr "Variación del tiempo de sincronización TOTP (segundos)" +diff --git a/contrib/lite-server.py b/contrib/lite-server.py +index 51f7c08..badbfdb 100755 +--- a/contrib/lite-server.py ++++ b/contrib/lite-server.py +@@ -140,7 +140,7 @@ class StaticFilesMiddleware(SharedDataMiddleware): --msgid "TOTP token / FreeIPA server time difference" --msgstr "Ficha TOTP / Diferencia de hora del servidor FreeIPA" -+msgid "TOTP token / IPA server time difference" -+msgstr "Ficha TOTP / Diferencia de hora del servidor IPA" - msgid "Take a revoked certificate off hold." - msgstr "Tomar un certificado revocado de espera." + def init_api(ccname): +- """Initialize FreeIPA API from command line ++ """Initialize IPA API from command line + """ + from ipalib import __file__ as ipalib_file + from ipalib import api -- -2.21.1 +2.28.0 -From 1d49558b613ae9f1c763e3108166b47a59b743be Mon Sep 17 00:00:00 2001 -From: Alexander Bokovoy <abokovoy@redhat.com> -Date: Sun, 7 Oct 2018 12:25:41 +0300 -Subject: [PATCH 68/78] po/fr.po: Change branding to IPA and Identity - Management + +From 46c3a350be1140eb7fbb529586bf11c986bbc8ae Mon Sep 17 00:00:00 2001 +From: Thomas Woerner <twoerner@redhat.com> +Date: Fri, 3 Apr 2020 14:28:56 +0200 +Subject: [PATCH 68/93] ipaserver/dcerpc.py: Change branding to IPA and + Identity Management --- - po/fr.po | 16 ++++++++-------- - 1 file changed, 8 insertions(+), 8 deletions(-) + ipaserver/dcerpc.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) -diff --git a/po/fr.po b/po/fr.po -index 88253e172..23a4ba3ea 100644 ---- a/po/fr.po -+++ b/po/fr.po -@@ -2575,17 +2575,17 @@ msgstr "" - - msgid "" - "\n" --"FreeIPA provides a designated binddn to use with Sudo located at:\n" -+"IPA provides a designated binddn to use with Sudo located at:\n" - "uid=sudo,cn=sysaccounts,cn=etc,dc=example,dc=com\n" - msgstr "" - "\n" --"FreeIPA permet la désignation d'un « binddn » à utiliser avec sudo situé " -+"IPA permet la désignation d'un « binddn » à utiliser avec sudo situé " - "à :\n" - "uid=sudo,cn=sysaccounts,cn=etc,dc=example,dc=com\n" +diff --git a/ipaserver/dcerpc.py b/ipaserver/dcerpc.py +index ff56270..753d171 100644 +--- a/ipaserver/dcerpc.py ++++ b/ipaserver/dcerpc.py +@@ -1483,7 +1483,7 @@ def fetch_domains(api, mydomain, trustdomain, creds=None, server=None): + def communicate(td): + td.init_lsa_pipe(td.info['dc']) + netr_pipe = netlogon.netlogon(td.binding, td.parm, td.creds) +- # Older FreeIPA versions used netr_DsrEnumerateDomainTrusts call ++ # Older IPA versions used netr_DsrEnumerateDomainTrusts call + # but it doesn't provide information about non-domain UPNs associated + # with the forest, thus we have to use netr_DsRGetForestTrustInformation + domains = netr_pipe.netr_DsRGetForestTrustInformation(td.info['dc'], None, 0) +-- +2.28.0 + + +From c9ccf5ec0927e25a32060a556e5248d3bc3cda66 Mon Sep 17 00:00:00 2001 +From: Thomas Woerner <twoerner@redhat.com> +Date: Fri, 3 Apr 2020 14:29:21 +0200 +Subject: [PATCH 69/93] ipaserver/install/ipa_cert_fix.py: Change branding to + IPA and Identity Management + +--- + ipaserver/install/ipa_cert_fix.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/ipaserver/install/ipa_cert_fix.py b/ipaserver/install/ipa_cert_fix.py +index 1b2f543..735fcd7 100644 +--- a/ipaserver/install/ipa_cert_fix.py ++++ b/ipaserver/install/ipa_cert_fix.py +@@ -45,7 +45,7 @@ msg = """ + WARNING - msgid "" - "\n" --"FreeIPA provides a means to configure the various aspects of Sudo:\n" + ipa-cert-fix is intended for recovery when expired certificates +-prevent the normal operation of FreeIPA. It should ONLY be used ++prevent the normal operation of IPA. It should ONLY be used + in such scenarios, and backup of the system, especially certificates + and keys, is STRONGLY RECOMMENDED. + +-- +2.28.0 + + +From 8f24640b50dc24dbae3f24726d2a05993d9a42b7 Mon Sep 17 00:00:00 2001 +From: Thomas Woerner <twoerner@redhat.com> +Date: Fri, 3 Apr 2020 14:29:43 +0200 +Subject: [PATCH 70/93] ipaserver/plugins/config.py: Change branding to IPA and + Identity Management + +--- + ipaserver/plugins/config.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/ipaserver/plugins/config.py b/ipaserver/plugins/config.py +index e96e519..ace66e5 100644 +--- a/ipaserver/plugins/config.py ++++ b/ipaserver/plugins/config.py +@@ -462,7 +462,7 @@ class config(LDAPObject): + + known_domains = self.gather_trusted_domains() + +- # add FreeIPA domain to the list of domains. This one is always enabled ++ # add IPA domain to the list of domains. This one is always enabled + known_domains.update({self.api.env.domain: True}) + + for domain in submitted_domains: +-- +2.28.0 + + +From cbc3d2ebc95d5d27a142846a016a2f947b21d369 Mon Sep 17 00:00:00 2001 +From: Thomas Woerner <twoerner@redhat.com> +Date: Fri, 3 Apr 2020 14:30:01 +0200 +Subject: [PATCH 71/93] ipaserver/plugins/certprofile.py: Change branding to + IPA and Identity Management + +--- + ipaserver/plugins/certprofile.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/ipaserver/plugins/certprofile.py b/ipaserver/plugins/certprofile.py +index ffede6e..978fce8 100644 +--- a/ipaserver/plugins/certprofile.py ++++ b/ipaserver/plugins/certprofile.py +@@ -57,7 +57,7 @@ PROFILE CONFIGURATION FORMAT: + The profile configuration format is the raw property-list format + used by Dogtag Certificate System. The XML format is not supported. + +-The following restrictions apply to profiles managed by FreeIPA: ++The following restrictions apply to profiles managed by IPA: + + - When importing a profile the "profileId" field, if present, must + match the ID given on the command line. +-- +2.28.0 + + +From dbc6bef407c6a0907965281f61f1d271972bf5ac Mon Sep 17 00:00:00 2001 +From: Thomas Woerner <twoerner@redhat.com> +Date: Fri, 3 Apr 2020 14:30:20 +0200 +Subject: [PATCH 72/93] doc/designs/adtrust/samba-domain-member.md: Change + branding to IPA and Identity Management + +--- + doc/designs/adtrust/samba-domain-member.md | 12 ++++++------ + 1 file changed, 6 insertions(+), 6 deletions(-) + +diff --git a/doc/designs/adtrust/samba-domain-member.md b/doc/designs/adtrust/samba-domain-member.md +index 95e3c01..83e84dd 100644 +--- a/doc/designs/adtrust/samba-domain-member.md ++++ b/doc/designs/adtrust/samba-domain-member.md +@@ -46,11 +46,11 @@ performing a remote authentication using Kerberos, a remote system has to + present a Kerberos ticket to the domain member's SMB service, like with any + other Kerberos services. + +-To operate as a domain member in a FreeIPA domain, thus, Samba needs a FreeIPA +-master to be configured as a domain controller and a FreeIPA client needs to be ++To operate as a domain member in a IPA domain, thus, Samba needs a IPA ++master to be configured as a domain controller and a IPA client needs to be + configured in a specific way to allow Samba to talk to a domain controller. + This document overviews a set of implementation tasks to achieve the domain +-member operation. Most of these tasks are related to FreeIPA components but ++member operation. Most of these tasks are related to IPA components but + some of changes required do belong to Samba itself. + + ## Domain member configuration overview +@@ -102,16 +102,16 @@ password rotation. + + The knowledge of the machine account password is recorded in a special + database, `secrets.tdb`, during the process of a machine join to the domain. +-For FreeIPA client the join process is different from the one Samba uses for ++For IPA client the join process is different from the one Samba uses for + Active Directory, thus we need to seed the machine account password separately +-to enrolling FreeIPA client. Note that FreeIPA machine enrollment does not ++to enrolling IPA client. Note that IPA machine enrollment does not + allow to share clear text machine account password as it is not recorded + anywhere. + + ## Domain controller side configuration overview + + See [samba-domain-controller] for the details of how Samba domain controller is +-set up and configured in FreeIPA. ++set up and configured in IPA. + + ## Changes required on domain member + +-- +2.28.0 + + +From 0f0f606a3fee4607a57110f429b38a6fb38d5dea Mon Sep 17 00:00:00 2001 +From: Thomas Woerner <twoerner@redhat.com> +Date: Wed, 18 Nov 2020 17:36:01 +0100 +Subject: [PATCH 73/93] po/ipa.pot: Change branding to IPA and Identity + Management + +--- + po/ipa.pot | 20 ++++++++++---------- + 1 file changed, 10 insertions(+), 10 deletions(-) + +diff --git a/po/ipa.pot b/po/ipa.pot +index e49bb7e..56dab55 100644 +--- a/po/ipa.pot ++++ b/po/ipa.pot +@@ -25055,7 +25055,7 @@ msgstr "" + #: ipaclient/remote_plugins/2_164/otptoken.py:266 + #: ipaclient/remote_plugins/2_164/otptoken.py:556 + #: ipaserver/plugins/otptoken.py:248 +-msgid "TOTP token / FreeIPA server time difference" ++msgid "TOTP token / IPA server time difference" + msgstr "" + + #: ipaclient/remote_plugins/2_114/otptoken.py:140 +@@ -28858,7 +28858,7 @@ msgid "" + "commands as root or another user while providing an audit trail of the\n" + "commands and their arguments.\n" + "\n" +-"FreeIPA provides a means to configure the various aspects of Sudo:\n" ++"IPA provides a means to configure the various aspects of Sudo:\n" + " Users: The user(s)/group(s) allowed to invoke Sudo.\n" + " Hosts: The host(s)/hostgroup(s) which the user is allowed to to invoke " + "Sudo.\n" +@@ -28873,7 +28873,7 @@ msgid "" + "are evaluated (if the client supports it). This order is an integer and\n" + "must be unique.\n" + "\n" +-"FreeIPA provides a designated binddn to use with Sudo located at:\n" ++"IPA provides a designated binddn to use with Sudo located at:\n" + "uid=sudo,cn=sysaccounts,cn=etc,dc=example,dc=com\n" + "\n" + "To enable the binddn run the following command to set the password:\n" +@@ -31529,7 +31529,7 @@ msgid "" + "The profile configuration format is the raw property-list format\n" + "used by Dogtag Certificate System. The XML format is not supported.\n" + "\n" +-"The following restrictions apply to profiles managed by FreeIPA:\n" ++"The following restrictions apply to profiles managed by IPA:\n" + "\n" + "- When importing a profile the \"profileId\" field, if present, must\n" + " match the ID given on the command line.\n" +@@ -36221,7 +36221,7 @@ msgid "" + "commands as root or another user while providing an audit trail of the\n" + "commands and their arguments.\n" + "\n" +-"FreeIPA provides a means to configure the various aspects of Sudo:\n" ++"IPA provides a means to configure the various aspects of Sudo:\n" + " Users: The user(s)/group(s) allowed to invoke Sudo.\n" + " Hosts: The host(s)/hostgroup(s) which the user is allowed to to invoke " + "Sudo.\n" +@@ -36236,7 +36236,7 @@ msgid "" + "are evaluated (if the client supports it). This order is an integer and\n" + "must be unique.\n" + "\n" +-"FreeIPA provides a designated binddn to use with Sudo located at:\n" ++"IPA provides a designated binddn to use with Sudo located at:\n" + "uid=sudo,cn=sysaccounts,cn=etc,dc=example,dc=com\n" + "\n" + "To enable the binddn run the following command to set the password:\n" +@@ -36244,7 +36244,7 @@ msgid "" + "ZZ -D \"cn=Directory Manager\" uid=sudo,cn=sysaccounts,cn=etc,dc=example," + "dc=com\n" + "\n" +-"For more information, see the FreeIPA Documentation to Sudo.\n" ++"For more information, see the IPA Documentation to Sudo.\n" + msgstr "" + + #: ipaclient/remote_plugins/2_49/sudorule.py:382 +@@ -39846,7 +39846,7 @@ msgid "" + "The profile configuration format is the raw property-list format\n" + "used by Dogtag Certificate System. The XML format is not supported.\n" + "\n" +-"The following restrictions apply to profiles managed by FreeIPA:\n" ++"The following restrictions apply to profiles managed by IPA:\n" + "\n" + "- When importing a profile the \"profileId\" field, if present, must\n" + " match the ID given on the command line.\n" +@@ -49076,7 +49076,7 @@ msgstr "" + #: ipaserver/plugins/sudorule.py:49 + msgid "" + "\n" +-"FreeIPA provides a means to configure the various aspects of Sudo:\n" ++"IPA provides a means to configure the various aspects of Sudo:\n" + " Users: The user(s)/group(s) allowed to invoke Sudo.\n" + " Hosts: The host(s)/hostgroup(s) which the user is allowed to to invoke " + "Sudo.\n" +@@ -49099,7 +49099,7 @@ msgstr "" + #: ipaserver/plugins/sudorule.py:62 + msgid "" + "\n" +-"FreeIPA provides a designated binddn to use with Sudo located at:\n" ++"IPA provides a designated binddn to use with Sudo located at:\n" + "uid=sudo,cn=sysaccounts,cn=etc,dc=example,dc=com\n" + msgstr "" + +-- +2.28.0 + + +From 05e5469dfac9361cdfae113947faeefa7fd0be17 Mon Sep 17 00:00:00 2001 +From: Thomas Woerner <twoerner@redhat.com> +Date: Wed, 18 Nov 2020 17:38:57 +0100 +Subject: [PATCH 74/93] client/man/epn.conf.5: Change branding to IPA and + Identity Management + +--- + client/man/epn.conf.5 | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/client/man/epn.conf.5 b/client/man/epn.conf.5 +index 60508d2..9f0ec59 100644 +--- a/client/man/epn.conf.5 ++++ b/client/man/epn.conf.5 +@@ -16,7 +16,7 @@ + .\" + .\" Author: Rob Crittenden <rcritten@@redhat.com> + .\" +-.TH "EPN.CONF" "5" "April 28, 2020" "FreeIPA" "FreeIPA Manual Pages" ++.TH "EPN.CONF" "5" "April 28, 2020" "IPA" "IPA Manual Pages" + .SH "NAME" + epn.conf \- Expiring Password Notification configuration file + .SH "SYNOPSIS" +-- +2.28.0 + + +From 334dc4d3b5509b10bb5bbf5f13b06604260c83af Mon Sep 17 00:00:00 2001 +From: Thomas Woerner <twoerner@redhat.com> +Date: Wed, 18 Nov 2020 17:38:57 +0100 +Subject: [PATCH 75/93] client/man/ipa-epn.1: Change branding to IPA and + Identity Management + +--- + client/man/ipa-epn.1 | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/client/man/ipa-epn.1 b/client/man/ipa-epn.1 +index 124fd45..5e8438b 100644 +--- a/client/man/ipa-epn.1 ++++ b/client/man/ipa-epn.1 +@@ -15,7 +15,7 @@ + .\" along with this program. If not, see <http://www.gnu.org/licenses/>. + .\" + .\" +-.TH "IPA-EPN" "1" "April 24, 2020" "FreeIPA" "FreeIPA Manual Pages" ++.TH "IPA-EPN" "1" "April 24, 2020" "IPA" "IPA Manual Pages" + .SH "NAME" + ipa\-epn \- Send expiring password nofications + .SH "SYNOPSIS" +-- +2.28.0 + + +From b8f4a8717acacbaed2b89fcad4d0e7e52db33302 Mon Sep 17 00:00:00 2001 +From: Thomas Woerner <twoerner@redhat.com> +Date: Wed, 18 Nov 2020 17:38:57 +0100 +Subject: [PATCH 76/93] install/share/ipaca_default.ini: Change branding to IPA + and Identity Management + +--- + install/share/ipaca_default.ini | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/install/share/ipaca_default.ini b/install/share/ipaca_default.ini +index e71edac..3a3dfd0 100644 +--- a/install/share/ipaca_default.ini ++++ b/install/share/ipaca_default.ini +@@ -2,7 +2,7 @@ + # Dogtag PKI configuration file + # + # The ipaca_default.ini contains hard-coded defaults that cannot be modified +-# by a user without breaking FreeIPA internals. ++# by a user without breaking IPA internals. + # + # Note: "%" must be quoted as "%%". + # +-- +2.28.0 + + +From 8ebd6ce9596ca0871772ae6eac4e61e4e2aecd1b Mon Sep 17 00:00:00 2001 +From: Thomas Woerner <twoerner@redhat.com> +Date: Wed, 18 Nov 2020 17:38:57 +0100 +Subject: [PATCH 77/93] install/tools/man/ipa-acme-manage.1: Change branding to + IPA and Identity Management + +--- + install/tools/man/ipa-acme-manage.1 | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +diff --git a/install/tools/man/ipa-acme-manage.1 b/install/tools/man/ipa-acme-manage.1 +index 07ee48d..e15d25b 100644 +--- a/install/tools/man/ipa-acme-manage.1 ++++ b/install/tools/man/ipa-acme-manage.1 +@@ -1,17 +1,17 @@ + .\" + .\" Copyright (C) 2020 FreeIPA Contributors see COPYING for license + .\" +-.TH "ipa-acme-manage" "1" "Jun 2 2020" "FreeIPA" "FreeIPA Manual Pages" ++.TH "ipa-acme-manage" "1" "Jun 2 2020" "IPA" "IPA Manual Pages" + .SH "NAME" +-ipa\-acme\-manage \- Manage the FreeIPA ACME service ++ipa\-acme\-manage \- Manage the IPA ACME service + .SH "SYNOPSIS" + ipa\-acme\-manage enable|disable|status + .SH "DESCRIPTION" + + Use the \fIipa-acme-manage\fR command to enable, disable or retrieve +-the status of the ACME service on a FreeIPA CA server. ++the status of the ACME service on a IPA CA server. + +-In a FreeIPA topology all CA servers capable of ACME will ++In a IPA topology all CA servers capable of ACME will + have the ACME service deployed. The service is not enabled + by default. It is expected that the ACME service will either be + enabled on all CA servers, or disabled on all CA servers. However +@@ -33,6 +33,6 @@ Display the status of the ACME service. + + 1 if an error occurred + +-2 if the host is not a FreeIPA server ++2 if the host is not a IPA server + + 3 if the host is not a CA server +-- +2.28.0 + + +From 44e59d1aa53d0f24eff221c6dcfcbb0e47833736 Mon Sep 17 00:00:00 2001 +From: Thomas Woerner <twoerner@redhat.com> +Date: Wed, 18 Nov 2020 17:38:57 +0100 +Subject: [PATCH 78/93] install/tools/man/ipa-cert-fix.1: Change branding to + IPA and Identity Management + +--- + install/tools/man/ipa-cert-fix.1 | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/install/tools/man/ipa-cert-fix.1 b/install/tools/man/ipa-cert-fix.1 +index 3edef31..1ce6559 100644 +--- a/install/tools/man/ipa-cert-fix.1 ++++ b/install/tools/man/ipa-cert-fix.1 +@@ -1,7 +1,7 @@ + .\" + .\" Copyright (C) 2019 FreeIPA Contributors see COPYING for license + .\" +-.TH "ipa-cert-fix" "1" "Mar 25 2019" "FreeIPA" "FreeIPA Manual Pages" ++.TH "ipa-cert-fix" "1" "Mar 25 2019" "IPA" "IPA Manual Pages" + .SH "NAME" + ipa\-cert\-fix \- Renew expired certificates + .SH "SYNOPSIS" +@@ -9,7 +9,7 @@ ipa\-cert\-fix [options] + .SH "DESCRIPTION" + + \fIipa-cert-fix\fR is a tool for recovery when expired certificates +-prevent the normal operation of FreeIPA. It should ONLY be used in ++prevent the normal operation of IPA. It should ONLY be used in + such scenarios, and backup of the system, especially certificates + and keys, is \fBSTRONGLY RECOMMENDED\fR. + +@@ -22,7 +22,7 @@ This tool cannot renew certificates signed by external CAs. To + install new, externally-signed HTTP, LDAP or KDC certificates, use + \fIipa-server-certinstall(1)\fR. + +-\fIipa-cert-fix\fR will examine FreeIPA and Certificate System ++\fIipa-cert-fix\fR will examine IPA and Certificate System + certificates and renew certificates that are expired, or close to + expiry (less than two weeks). If any "shared" certificates are + renewed, \fIipa-cert-fix\fR will set the current server to be the CA +-- +2.28.0 + + +From 48d4752286f1bd8ca8089348d1c68275b37cbd6f Mon Sep 17 00:00:00 2001 +From: Thomas Woerner <twoerner@redhat.com> +Date: Wed, 18 Nov 2020 17:38:57 +0100 +Subject: [PATCH 79/93] install/tools/man/ipa-crlgen-manage.1: Change branding + to IPA and Identity Management + +--- + install/tools/man/ipa-crlgen-manage.1 | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/install/tools/man/ipa-crlgen-manage.1 b/install/tools/man/ipa-crlgen-manage.1 +index 1fa48ce..f17573b 100644 +--- a/install/tools/man/ipa-crlgen-manage.1 ++++ b/install/tools/man/ipa-crlgen-manage.1 +@@ -1,7 +1,7 @@ + .\" + .\" Copyright (C) 2019 FreeIPA Contributors see COPYING for license + .\" +-.TH "ipa-crlgen-manage" "1" "Feb 12 2019" "FreeIPA" "FreeIPA Manual Pages" ++.TH "ipa-crlgen-manage" "1" "Feb 12 2019" "IPA" "IPA Manual Pages" + .SH "NAME" + ipa\-crlgen\-manage \- Enables or disables CRL generation + .SH "SYNOPSIS" +-- +2.28.0 + + +From 253ba05abbe1899c7eaf9cdaf23014a7773243bd Mon Sep 17 00:00:00 2001 +From: Thomas Woerner <twoerner@redhat.com> +Date: Wed, 18 Nov 2020 17:38:57 +0100 +Subject: [PATCH 80/93] ipaclient/remote_plugins/2_114/sudorule.py: Change + branding to IPA and Identity Management + +--- + ipaclient/remote_plugins/2_114/sudorule.py | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/ipaclient/remote_plugins/2_114/sudorule.py b/ipaclient/remote_plugins/2_114/sudorule.py +index 808720e..4b02073 100644 +--- a/ipaclient/remote_plugins/2_114/sudorule.py ++++ b/ipaclient/remote_plugins/2_114/sudorule.py +@@ -24,7 +24,7 @@ give certain users (or groups of users) the ability to run some (or all) + commands as root or another user while providing an audit trail of the + commands and their arguments. + +-FreeIPA provides a means to configure the various aspects of Sudo: ++IPA provides a means to configure the various aspects of Sudo: + Users: The user(s)/group(s) allowed to invoke Sudo. + Hosts: The host(s)/hostgroup(s) which the user is allowed to to invoke Sudo. + Allow Command: The specific command(s) permitted to be run via Sudo. +@@ -37,7 +37,7 @@ An order can be added to a sudorule to control the order in which they + are evaluated (if the client supports it). This order is an integer and + must be unique. + +-FreeIPA provides a designated binddn to use with Sudo located at: ++IPA provides a designated binddn to use with Sudo located at: + uid=sudo,cn=sysaccounts,cn=etc,dc=example,dc=com + + To enable the binddn run the following command to set the password: +-- +2.28.0 + + +From 6f09a8be31d9929ee6863808a1497c3f27d6252f Mon Sep 17 00:00:00 2001 +From: Thomas Woerner <twoerner@redhat.com> +Date: Wed, 18 Nov 2020 17:38:57 +0100 +Subject: [PATCH 81/93] ipaclient/remote_plugins/2_156/certprofile.py: Change + branding to IPA and Identity Management + +--- + ipaclient/remote_plugins/2_156/certprofile.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/ipaclient/remote_plugins/2_156/certprofile.py b/ipaclient/remote_plugins/2_156/certprofile.py +index b612342..1727f6d 100644 +--- a/ipaclient/remote_plugins/2_156/certprofile.py ++++ b/ipaclient/remote_plugins/2_156/certprofile.py +@@ -55,7 +55,7 @@ PROFILE CONFIGURATION FORMAT: + The profile configuration format is the raw property-list format + used by Dogtag Certificate System. The XML format is not supported. + +-The following restrictions apply to profiles managed by FreeIPA: ++The following restrictions apply to profiles managed by IPA: + + - When importing a profile the "profileId" field, if present, must + match the ID given on the command line. +-- +2.28.0 + + +From d8213c572ff439f7833fd80d15c67706cb5a4063 Mon Sep 17 00:00:00 2001 +From: Thomas Woerner <twoerner@redhat.com> +Date: Wed, 18 Nov 2020 17:38:57 +0100 +Subject: [PATCH 82/93] ipaclient/remote_plugins/2_156/sudorule.py: Change + branding to IPA and Identity Management + +--- + ipaclient/remote_plugins/2_156/sudorule.py | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/ipaclient/remote_plugins/2_156/sudorule.py b/ipaclient/remote_plugins/2_156/sudorule.py +index 5d185ed..d475e68 100644 +--- a/ipaclient/remote_plugins/2_156/sudorule.py ++++ b/ipaclient/remote_plugins/2_156/sudorule.py +@@ -24,7 +24,7 @@ give certain users (or groups of users) the ability to run some (or all) + commands as root or another user while providing an audit trail of the + commands and their arguments. + +-FreeIPA provides a means to configure the various aspects of Sudo: ++IPA provides a means to configure the various aspects of Sudo: + Users: The user(s)/group(s) allowed to invoke Sudo. + Hosts: The host(s)/hostgroup(s) which the user is allowed to to invoke Sudo. + Allow Command: The specific command(s) permitted to be run via Sudo. +@@ -37,7 +37,7 @@ An order can be added to a sudorule to control the order in which they + are evaluated (if the client supports it). This order is an integer and + must be unique. + +-FreeIPA provides a designated binddn to use with Sudo located at: ++IPA provides a designated binddn to use with Sudo located at: + uid=sudo,cn=sysaccounts,cn=etc,dc=example,dc=com + + To enable the binddn run the following command to set the password: +-- +2.28.0 + + +From dc5781178e7902c2aa99e34d1f59add4a4289ceb Mon Sep 17 00:00:00 2001 +From: Thomas Woerner <twoerner@redhat.com> +Date: Wed, 18 Nov 2020 17:38:57 +0100 +Subject: [PATCH 83/93] ipaclient/remote_plugins/2_164/certprofile.py: Change + branding to IPA and Identity Management + +--- + ipaclient/remote_plugins/2_164/certprofile.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/ipaclient/remote_plugins/2_164/certprofile.py b/ipaclient/remote_plugins/2_164/certprofile.py +index b612342..1727f6d 100644 +--- a/ipaclient/remote_plugins/2_164/certprofile.py ++++ b/ipaclient/remote_plugins/2_164/certprofile.py +@@ -55,7 +55,7 @@ PROFILE CONFIGURATION FORMAT: + The profile configuration format is the raw property-list format + used by Dogtag Certificate System. The XML format is not supported. + +-The following restrictions apply to profiles managed by FreeIPA: ++The following restrictions apply to profiles managed by IPA: + + - When importing a profile the "profileId" field, if present, must + match the ID given on the command line. +-- +2.28.0 + + +From c9fdd62a896eac4a9a1ab1c49dce93701a12b2b8 Mon Sep 17 00:00:00 2001 +From: Thomas Woerner <twoerner@redhat.com> +Date: Wed, 18 Nov 2020 17:38:57 +0100 +Subject: [PATCH 84/93] ipaclient/remote_plugins/2_164/sudorule.py: Change + branding to IPA and Identity Management + +--- + ipaclient/remote_plugins/2_164/sudorule.py | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/ipaclient/remote_plugins/2_164/sudorule.py b/ipaclient/remote_plugins/2_164/sudorule.py +index 5d185ed..d475e68 100644 +--- a/ipaclient/remote_plugins/2_164/sudorule.py ++++ b/ipaclient/remote_plugins/2_164/sudorule.py +@@ -24,7 +24,7 @@ give certain users (or groups of users) the ability to run some (or all) + commands as root or another user while providing an audit trail of the + commands and their arguments. + +-FreeIPA provides a means to configure the various aspects of Sudo: ++IPA provides a means to configure the various aspects of Sudo: + Users: The user(s)/group(s) allowed to invoke Sudo. + Hosts: The host(s)/hostgroup(s) which the user is allowed to to invoke Sudo. + Allow Command: The specific command(s) permitted to be run via Sudo. +@@ -37,7 +37,7 @@ An order can be added to a sudorule to control the order in which they + are evaluated (if the client supports it). This order is an integer and + must be unique. + +-FreeIPA provides a designated binddn to use with Sudo located at: ++IPA provides a designated binddn to use with Sudo located at: + uid=sudo,cn=sysaccounts,cn=etc,dc=example,dc=com + + To enable the binddn run the following command to set the password: +-- +2.28.0 + + +From a7f9d11f32a6f2ff0cbba60e078c2557704703a9 Mon Sep 17 00:00:00 2001 +From: Thomas Woerner <twoerner@redhat.com> +Date: Wed, 18 Nov 2020 17:38:57 +0100 +Subject: [PATCH 85/93] ipaclient/remote_plugins/2_49/sudorule.py: Change + branding to IPA and Identity Management + +--- + ipaclient/remote_plugins/2_49/sudorule.py | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/ipaclient/remote_plugins/2_49/sudorule.py b/ipaclient/remote_plugins/2_49/sudorule.py +index 3d01ecd..912a0b1 100644 +--- a/ipaclient/remote_plugins/2_49/sudorule.py ++++ b/ipaclient/remote_plugins/2_49/sudorule.py +@@ -24,7 +24,7 @@ give certain users (or groups of users) the ability to run some (or all) + commands as root or another user while providing an audit trail of the + commands and their arguments. + +-FreeIPA provides a means to configure the various aspects of Sudo: ++IPA provides a means to configure the various aspects of Sudo: + Users: The user(s)/group(s) allowed to invoke Sudo. + Hosts: The host(s)/hostgroup(s) which the user is allowed to to invoke Sudo. + Allow Command: The specific command(s) permitted to be run via Sudo. +@@ -37,13 +37,13 @@ An order can be added to a sudorule to control the order in which they + are evaluated (if the client supports it). This order is an integer and + must be unique. + +-FreeIPA provides a designated binddn to use with Sudo located at: ++IPA provides a designated binddn to use with Sudo located at: + uid=sudo,cn=sysaccounts,cn=etc,dc=example,dc=com + + To enable the binddn run the following command to set the password: + LDAPTLS_CACERT=/etc/ipa/ca.crt /usr/bin/ldappasswd -S -W -h ipa.example.com -ZZ -D "cn=Directory Manager" uid=sudo,cn=sysaccounts,cn=etc,dc=example,dc=com + +-For more information, see the FreeIPA Documentation to Sudo. ++For more information, see the IPA Documentation to Sudo. + """) + + register = Registry() +-- +2.28.0 + + +From d121657377c727b7c444045e3a980572476a31af Mon Sep 17 00:00:00 2001 +From: Thomas Woerner <twoerner@redhat.com> +Date: Wed, 18 Nov 2020 18:07:58 +0100 +Subject: [PATCH 86/93] po/de.po: Change branding to IPA and Identity + Management + +--- + po/de.po | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/po/de.po b/po/de.po +index 0685c23..275ac3f 100644 +--- a/po/de.po ++++ b/po/de.po +@@ -3642,7 +3642,7 @@ msgstr "TOTP Sychnronisierungsfenster" + msgid "TOTP authentication Window" + msgstr "TOTP Authentifizierungsfenster" + +-msgid "TOTP token / FreeIPA server time difference" ++msgid "TOTP token / IPA server time difference" + msgstr "Differenz zwischen Token und Serverzeit" + + msgid "Target" +-- +2.28.0 + + +From d1ee5f4c8f60e390b6dc5b82514cde56c41aab4e Mon Sep 17 00:00:00 2001 +From: Thomas Woerner <twoerner@redhat.com> +Date: Wed, 18 Nov 2020 18:07:58 +0100 +Subject: [PATCH 87/93] po/es.po: Change branding to IPA and Identity + Management + +--- + po/es.po | 20 ++++++++++---------- + 1 file changed, 10 insertions(+), 10 deletions(-) + +diff --git a/po/es.po b/po/es.po +index 89c0ee1..9d94232 100644 +--- a/po/es.po ++++ b/po/es.po +@@ -3056,7 +3056,7 @@ msgid "" + "The profile configuration format is the raw property-list format\n" + "used by Dogtag Certificate System. The XML format is not supported.\n" + "\n" +-"The following restrictions apply to profiles managed by FreeIPA:\n" ++"The following restrictions apply to profiles managed by IPA:\n" + "\n" + "- When importing a profile the \"profileId\" field, if present, must\n" + " match the ID given on the command line.\n" +@@ -3114,7 +3114,7 @@ msgstr "" + "propiedad\n" + "usado por Dogtag Certificate System. No está soportado el formato XML.\n" + "\n" +-"A los perfiles manejados por FreeIPA se les aplican las siguientes " ++"A los perfiles manejados por IPA se les aplican las siguientes " + "restricciones:\n" + "\n" + "- Cuando se importa un perfil el campo \"profileId\", si está presente, debe " +@@ -4903,7 +4903,7 @@ msgid "" + "commands as root or another user while providing an audit trail of the\n" + "commands and their arguments.\n" + "\n" +-"FreeIPA provides a means to configure the various aspects of Sudo:\n" ++"IPA provides a means to configure the various aspects of Sudo:\n" + " Users: The user(s)/group(s) allowed to invoke Sudo.\n" + " Hosts: The host(s)/hostgroup(s) which the user is allowed to to invoke " + "Sudo.\n" +@@ -4918,7 +4918,7 @@ msgid "" + "are evaluated (if the client supports it). This order is an integer and\n" + "must be unique.\n" + "\n" +-"FreeIPA provides a designated binddn to use with Sudo located at:\n" ++"IPA provides a designated binddn to use with Sudo located at:\n" + "uid=sudo,cn=sysaccounts,cn=etc,dc=example,dc=com\n" + "\n" + "To enable the binddn run the following command to set the password:\n" +@@ -4926,7 +4926,7 @@ msgid "" + "ZZ -D \"cn=Directory Manager\" uid=sudo,cn=sysaccounts,cn=etc,dc=example," + "dc=com\n" + "\n" +-"For more information, see the FreeIPA Documentation to Sudo.\n" ++"For more information, see the IPA Documentation to Sudo.\n" + msgstr "" + "\n" + "Reglas Sudo\n" +@@ -4939,7 +4939,7 @@ msgstr "" + "auditoria de\n" + " los comandos y sus argumentos.\n" + "\n" +-"FreeIPA proporciona un medio para configurar diversos aspectos de Sudo:\n" ++"IPA proporciona un medio para configurar diversos aspectos de Sudo:\n" + " Users: Los usuario(s)/grupos(s) que tienen permitido llamar a Sudo.\n" + " Hosts: Loshost(s)/grupo(s) de host a los que el usuario permite llamar a " + "Sudo.\n" +@@ -4957,7 +4957,7 @@ msgstr "" + "será evaluada\n" + "(si el cliente lo soporta). Este orden es un entero y debe ser único.\n" + "\n" +-"FreeIPA suministra un binddn designado para usar con Sudo situado en :\n" ++"IPA suministra un binddn designado para usar con Sudo situado en :\n" + "uid=sudo,cn=sysaccounts,cn=etc,dc=example,dc=com\n" + "\n" + "Para habilitar el binddn ejecute el siguiente comando para fijar la " +@@ -4966,7 +4966,7 @@ msgstr "" + "ZZ -D \"cn=Directory Manager\" uid=sudo,cn=sysaccounts,cn=etc,dc=example," + "dc=com\n" + "\n" +-"Para más información, vea la Documentación FreeIPA para Sudo.\n" ++"Para más información, vea la Documentación IPA para Sudo.\n" + + msgid "" + "\n" +@@ -12604,8 +12604,8 @@ msgstr "Variación del tiempo de autenticación TOTP (segundos)" + msgid "TOTP synchronization time variance (seconds)" + msgstr "Variación del tiempo de sincronización TOTP (segundos)" + +-msgid "TOTP token / FreeIPA server time difference" +-msgstr "Ficha TOTP / Diferencia de hora del servidor FreeIPA" ++msgid "TOTP token / IPA server time difference" ++msgstr "Ficha TOTP / Diferencia de hora del servidor IPA" + + msgid "Take a revoked certificate off hold." + msgstr "Tomar un certificado revocado de espera." +-- +2.28.0 + + +From c21b51f2d19889f928202452ca6572f042ff8d72 Mon Sep 17 00:00:00 2001 +From: Thomas Woerner <twoerner@redhat.com> +Date: Wed, 18 Nov 2020 18:07:58 +0100 +Subject: [PATCH 88/93] po/fr.po: Change branding to IPA and Identity + Management + +--- + po/fr.po | 16 ++++++++-------- + 1 file changed, 8 insertions(+), 8 deletions(-) + +diff --git a/po/fr.po b/po/fr.po +index c8b99e2..ac602cc 100644 +--- a/po/fr.po ++++ b/po/fr.po +@@ -2575,17 +2575,17 @@ msgstr "" + + msgid "" + "\n" +-"FreeIPA provides a designated binddn to use with Sudo located at:\n" ++"IPA provides a designated binddn to use with Sudo located at:\n" + "uid=sudo,cn=sysaccounts,cn=etc,dc=example,dc=com\n" + msgstr "" + "\n" +-"FreeIPA permet la désignation d'un « binddn » à utiliser avec sudo situé " ++"IPA permet la désignation d'un « binddn » à utiliser avec sudo situé " + "à :\n" + "uid=sudo,cn=sysaccounts,cn=etc,dc=example,dc=com\n" + + msgid "" + "\n" +-"FreeIPA provides a means to configure the various aspects of Sudo:\n" +"IPA provides a means to configure the various aspects of Sudo:\n" " Users: The user(s)/group(s) allowed to invoke Sudo.\n" " Hosts: The host(s)/hostgroup(s) which the user is allowed to to invoke " @@ -2259,7 +3064,7 @@ index 88253e172..23a4ba3ea 100644 "\n" "- Lors de l'import d'un profil, le champ « profileId » s'il est présent " "doit\n" -@@ -15658,8 +15658,8 @@ msgstr "Durée de la fenêtre d'authentification TOTP (secondes)" +@@ -15617,8 +15617,8 @@ msgstr "Durée de la fenêtre d'authentification TOTP (secondes)" msgid "TOTP synchronization time variance (seconds)" msgstr "Variance temporelle de synchronisation TOTP (secondes)" @@ -2271,12 +3076,38 @@ index 88253e172..23a4ba3ea 100644 msgid "TSIG record" msgstr "Enregistrement TSIG" -- -2.21.1 +2.28.0 -From 28d5217ccc838e037f60dbdfce72ae0eaa1fbdd8 Mon Sep 17 00:00:00 2001 -From: Alexander Bokovoy <abokovoy@redhat.com> -Date: Sun, 7 Oct 2018 12:25:41 +0300 -Subject: [PATCH 69/78] po/ru.po: Change branding to IPA and Identity + +From b9123b82127a918effcb62b06c537f0f1e1193ff Mon Sep 17 00:00:00 2001 +From: Thomas Woerner <twoerner@redhat.com> +Date: Wed, 18 Nov 2020 18:07:58 +0100 +Subject: [PATCH 89/93] po/ipa.pot: Change branding to IPA and Identity + Management + +--- + po/ipa.pot | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/po/ipa.pot b/po/ipa.pot +index 56dab55..8848bb9 100644 +--- a/po/ipa.pot ++++ b/po/ipa.pot +@@ -1,5 +1,5 @@ + # SOME DESCRIPTIVE TITLE. +-# Copyright (C) YEAR FreeIPA Contributors ++# Copyright (C) YEAR IPA Contributors + # This file is distributed under the same license as the freeipa package. + # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. + # +-- +2.28.0 + + +From bddd0a70b16f2921b498aaa39f353401fd37466c Mon Sep 17 00:00:00 2001 +From: Thomas Woerner <twoerner@redhat.com> +Date: Wed, 18 Nov 2020 18:07:58 +0100 +Subject: [PATCH 90/93] po/ru.po: Change branding to IPA and Identity Management --- @@ -2284,10 +3115,10 @@ Subject: [PATCH 69/78] po/ru.po: Change branding to IPA and Identity 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/po/ru.po b/po/ru.po -index 7d663a7a8..699979b74 100644 +index 47ae8a4..ffeb889 100644 --- a/po/ru.po +++ b/po/ru.po -@@ -5308,17 +5308,17 @@ msgstr "" +@@ -5261,17 +5261,17 @@ msgstr "" msgid "" "\n" @@ -2308,7 +3139,7 @@ index 7d663a7a8..699979b74 100644 " Users: The user(s)/group(s) allowed to invoke Sudo.\n" " Hosts: The host(s)/hostgroup(s) which the user is allowed to to invoke " "Sudo.\n" -@@ -5330,7 +5330,7 @@ msgid "" +@@ -5283,7 +5283,7 @@ msgid "" " Options: The various Sudoers Options that can modify Sudo's behavior.\n" msgstr "" "\n" @@ -2317,7 +3148,7 @@ index 7d663a7a8..699979b74 100644 " Users: пользователь (пользователи) или группа (группы), которые могут " "вызывать Sudo.\n" " Hosts: узел (узлы) или группа (группы) узлов, пользователи которых могут " -@@ -7826,7 +7826,7 @@ msgid "" +@@ -7779,7 +7779,7 @@ msgid "" "The profile configuration format is the raw property-list format\n" "used by Dogtag Certificate System. The XML format is not supported.\n" "\n" @@ -2326,7 +3157,7 @@ index 7d663a7a8..699979b74 100644 "\n" "- When importing a profile the \"profileId\" field, if present, must\n" " match the ID given on the command line.\n" -@@ -7880,7 +7880,7 @@ msgstr "" +@@ -7833,7 +7833,7 @@ msgstr "" "свойств, который используется системой сертификации Dogtag Certificate " "System. Поддержка формата XML не предусмотрена.\n" "\n" @@ -2335,7 +3166,7 @@ index 7d663a7a8..699979b74 100644 "\n" "- При импорте профиля значение поля \"profileId\", если это поле имеется, " "должно совпадать с идентификатором, указанным в командной строке.\n" -@@ -7936,7 +7936,7 @@ msgid "" +@@ -7889,7 +7889,7 @@ msgid "" "The profile configuration format is the raw property-list format\n" "used by Dogtag Certificate System. The XML format is not supported.\n" "\n" @@ -2344,7 +3175,7 @@ index 7d663a7a8..699979b74 100644 "\n" "- When importing a profile the \"profileId\" field, if present, must\n" " match the ID given on the command line.\n" -@@ -7992,7 +7992,7 @@ msgstr "" +@@ -7945,7 +7945,7 @@ msgstr "" "свойств, который используется системой сертификации Dogtag Certificate " "System. Поддержка формата XML не предусмотрена.\n" "\n" @@ -2353,7 +3184,7 @@ index 7d663a7a8..699979b74 100644 "\n" "- При импорте профиля значение поля \"profileId\", если это поле имеется, " "должно совпадать с идентификатором, указанным в командной строке.\n" -@@ -13772,7 +13772,7 @@ msgid "" +@@ -13725,7 +13725,7 @@ msgid "" "commands as root or another user while providing an audit trail of the\n" "commands and their arguments.\n" "\n" @@ -2362,7 +3193,7 @@ index 7d663a7a8..699979b74 100644 " Users: The user(s)/group(s) allowed to invoke Sudo.\n" " Hosts: The host(s)/hostgroup(s) which the user is allowed to to invoke " "Sudo.\n" -@@ -13787,7 +13787,7 @@ msgid "" +@@ -13740,7 +13740,7 @@ msgid "" "are evaluated (if the client supports it). This order is an integer and\n" "must be unique.\n" "\n" @@ -2371,7 +3202,7 @@ index 7d663a7a8..699979b74 100644 "uid=sudo,cn=sysaccounts,cn=etc,dc=example,dc=com\n" "\n" "To enable the binddn run the following command to set the password:\n" -@@ -13825,7 +13825,7 @@ msgstr "" +@@ -13778,7 +13778,7 @@ msgstr "" "пользователя \"root\" или другого пользователя, вместе с тем предоставляя " "журнал аудита команд и их аргументов.\n" "\n" @@ -2380,7 +3211,7 @@ index 7d663a7a8..699979b74 100644 " Users: пользователь (пользователи) или группа (группы), которые могут " "вызывать Sudo.\n" " Hosts: узел (узлы) или группа (группы) узлов, пользователи которых могут " -@@ -13846,7 +13846,7 @@ msgstr "" +@@ -13799,7 +13799,7 @@ msgstr "" "Порядок определяется числовым индексом (целое число), который не должен " "повторяться.\n" "\n" @@ -2389,7 +3220,7 @@ index 7d663a7a8..699979b74 100644 "Sudo:\n" "uid=sudo,cn=sysaccounts,cn=etc,dc=example,dc=com\n" "\n" -@@ -13887,7 +13887,7 @@ msgid "" +@@ -13840,7 +13840,7 @@ msgid "" "commands as root or another user while providing an audit trail of the\n" "commands and their arguments.\n" "\n" @@ -2398,7 +3229,7 @@ index 7d663a7a8..699979b74 100644 " Users: The user(s)/group(s) allowed to invoke Sudo.\n" " Hosts: The host(s)/hostgroup(s) which the user is allowed to to invoke " "Sudo.\n" -@@ -13902,7 +13902,7 @@ msgid "" +@@ -13855,7 +13855,7 @@ msgid "" "are evaluated (if the client supports it). This order is an integer and\n" "must be unique.\n" "\n" @@ -2407,7 +3238,7 @@ index 7d663a7a8..699979b74 100644 "uid=sudo,cn=sysaccounts,cn=etc,dc=example,dc=com\n" "\n" "To enable the binddn run the following command to set the password:\n" -@@ -13910,7 +13910,7 @@ msgid "" +@@ -13863,7 +13863,7 @@ msgid "" "ZZ -D \"cn=Directory Manager\" uid=sudo,cn=sysaccounts,cn=etc,dc=example," "dc=com\n" "\n" @@ -2416,7 +3247,7 @@ index 7d663a7a8..699979b74 100644 msgstr "" "\n" "Правила Sudo\n" -@@ -13921,7 +13921,7 @@ msgstr "" +@@ -13874,7 +13874,7 @@ msgstr "" "пользователя \"root\" или другого пользователя, вместе с тем предоставляя " "журнал аудита команд и их аргументов.\n" "\n" @@ -2425,7 +3256,7 @@ index 7d663a7a8..699979b74 100644 " Users: пользователь (пользователи) или группа (группы), которые могут " "вызывать Sudo.\n" " Hosts: узел (узлы) или группа (группы) узлов, пользователи которых могут " -@@ -13942,7 +13942,7 @@ msgstr "" +@@ -13895,7 +13895,7 @@ msgstr "" "Порядок определяется числовым индексом (целое число), который не должен " "повторяться.\n" "\n" @@ -2434,7 +3265,7 @@ index 7d663a7a8..699979b74 100644 "Sudo:\n" "uid=sudo,cn=sysaccounts,cn=etc,dc=example,dc=com\n" "\n" -@@ -13951,7 +13951,7 @@ msgstr "" +@@ -13904,7 +13904,7 @@ msgstr "" "ZZ -D \"cn=Directory Manager\" uid=sudo,cn=sysaccounts,cn=etc,dc=example," "dc=com\n" "\n" @@ -2443,7 +3274,7 @@ index 7d663a7a8..699979b74 100644 msgid "" "\n" -@@ -27252,8 +27252,8 @@ msgstr "Отклонение по времени TOTP-аутентификаци +@@ -27149,8 +27149,8 @@ msgstr "Отклонение по времени TOTP-аутентификаци msgid "TOTP synchronization time variance (seconds)" msgstr "Отклонение по времени TOTP-синхронизации (в секундах)" @@ -2455,12 +3286,38 @@ index 7d663a7a8..699979b74 100644 msgid "TSIG record" msgstr "Запись TSIG" -- -2.21.1 +2.28.0 -From 41e8beb8aa6bcaf48de38b48939fdf40cf8819b5 Mon Sep 17 00:00:00 2001 -From: Alexander Bokovoy <abokovoy@redhat.com> -Date: Sun, 7 Oct 2018 12:25:41 +0300 -Subject: [PATCH 70/78] po/uk.po: Change branding to IPA and Identity + +From 2f862e5f4c7601a8bc50c9334ca5d3a59d7f8a57 Mon Sep 17 00:00:00 2001 +From: Thomas Woerner <twoerner@redhat.com> +Date: Wed, 18 Nov 2020 18:07:58 +0100 +Subject: [PATCH 91/93] po/tr.po: Change branding to IPA and Identity + Management + +--- + po/tr.po | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/po/tr.po b/po/tr.po +index 9eccfe4..cf9b98a 100644 +--- a/po/tr.po ++++ b/po/tr.po +@@ -1,5 +1,5 @@ + # SOME DESCRIPTIVE TITLE. +-# Copyright (C) YEAR FreeIPA Contributors ++# Copyright (C) YEAR IPA Contributors + # This file is distributed under the same license as the freeipa package. + # Oğuz Ersen <oguzersen@protonmail.com>, 2020. + msgid "" +-- +2.28.0 + + +From aa4d887e7cef21959c4b4b3db57f6bd9ced965eb Mon Sep 17 00:00:00 2001 +From: Thomas Woerner <twoerner@redhat.com> +Date: Wed, 18 Nov 2020 18:07:58 +0100 +Subject: [PATCH 92/93] po/uk.po: Change branding to IPA and Identity Management --- @@ -2468,10 +3325,10 @@ Subject: [PATCH 70/78] po/uk.po: Change branding to IPA and Identity 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/po/uk.po b/po/uk.po -index a17396796..ca864c8a4 100644 +index 0757e2f..fd1de90 100644 --- a/po/uk.po +++ b/po/uk.po -@@ -5403,17 +5403,17 @@ msgstr "" +@@ -5411,17 +5411,17 @@ msgstr "" msgid "" "\n" @@ -2492,7 +3349,7 @@ index a17396796..ca864c8a4 100644 " Users: The user(s)/group(s) allowed to invoke Sudo.\n" " Hosts: The host(s)/hostgroup(s) which the user is allowed to to invoke " "Sudo.\n" -@@ -5425,7 +5425,7 @@ msgid "" +@@ -5433,7 +5433,7 @@ msgid "" " Options: The various Sudoers Options that can modify Sudo's behavior.\n" msgstr "" "\n" @@ -2501,7 +3358,7 @@ index a17396796..ca864c8a4 100644 " Users: користувачі або групи, які можуть викликати sudo.\n" " Hosts: вузли або групи вузлів, користувачі якого можуть викликати sudo.\n" " Allow Command: специфічні команди, які можна виконувати за допомогою " -@@ -7948,7 +7948,7 @@ msgid "" +@@ -9393,7 +9393,7 @@ msgid "" "The profile configuration format is the raw property-list format\n" "used by Dogtag Certificate System. The XML format is not supported.\n" "\n" @@ -2510,7 +3367,7 @@ index a17396796..ca864c8a4 100644 "\n" "- When importing a profile the \"profileId\" field, if present, must\n" " match the ID given on the command line.\n" -@@ -8002,7 +8002,7 @@ msgstr "" +@@ -9447,7 +9447,7 @@ msgstr "" "властивостей, що використовується системою сертифікації Dogtag.\n" "Підтримки формату XML не передбачено.\n" "\n" @@ -2519,7 +3376,7 @@ index a17396796..ca864c8a4 100644 "\n" "- Під час імпортування профілю поле «profileId», якщо таке є, має\n" " містити значення, що збігається з ідентифікатором, вказаним у рядку " -@@ -8059,7 +8059,7 @@ msgid "" +@@ -9504,7 +9504,7 @@ msgid "" "The profile configuration format is the raw property-list format\n" "used by Dogtag Certificate System. The XML format is not supported.\n" "\n" @@ -2528,7 +3385,7 @@ index a17396796..ca864c8a4 100644 "\n" "- When importing a profile the \"profileId\" field, if present, must\n" " match the ID given on the command line.\n" -@@ -8114,7 +8114,7 @@ msgstr "" +@@ -9559,7 +9559,7 @@ msgstr "" "властивостей, що використовується системою сертифікації Dogtag.\n" "Підтримки формату XML не передбачено.\n" "\n" @@ -2537,7 +3394,7 @@ index a17396796..ca864c8a4 100644 "\n" "- Під час імпортування профілю поле «profileId», якщо таке є, має\n" " містити значення, що збігається з ідентифікатором, вказаним у рядку " -@@ -13887,7 +13887,7 @@ msgid "" +@@ -15481,7 +15481,7 @@ msgid "" "commands as root or another user while providing an audit trail of the\n" "commands and their arguments.\n" "\n" @@ -2546,7 +3403,7 @@ index a17396796..ca864c8a4 100644 " Users: The user(s)/group(s) allowed to invoke Sudo.\n" " Hosts: The host(s)/hostgroup(s) which the user is allowed to to invoke " "Sudo.\n" -@@ -13902,7 +13902,7 @@ msgid "" +@@ -15496,7 +15496,7 @@ msgid "" "are evaluated (if the client supports it). This order is an integer and\n" "must be unique.\n" "\n" @@ -2555,7 +3412,7 @@ index a17396796..ca864c8a4 100644 "uid=sudo,cn=sysaccounts,cn=etc,dc=example,dc=com\n" "\n" "To enable the binddn run the following command to set the password:\n" -@@ -13940,7 +13940,7 @@ msgstr "" +@@ -15534,7 +15534,7 @@ msgstr "" "користувача, зберігаючи водночас журнал виконання команд та\n" "аргументів.\n" "\n" @@ -2564,7 +3421,7 @@ index a17396796..ca864c8a4 100644 " Users: користувачі або групи, які можуть викликати sudo.\n" " Hosts: вузли або групи вузлів, користувачі якого можуть викликати sudo.\n" " Allow Command: специфічні команди, які можна виконувати за допомогою " -@@ -13958,7 +13958,7 @@ msgstr "" +@@ -15552,7 +15552,7 @@ msgstr "" "обробки записів (якщо такий порядок передбачено на клієнтському боці).\n" "Порядок визначається числовим індексом, який не повинен повторюватися.\n" "\n" @@ -2573,7 +3430,7 @@ index a17396796..ca864c8a4 100644 "розташовано у\n" "uid=sudo,cn=sysaccounts,cn=etc,dc=example,dc=com\n" "\n" -@@ -13998,7 +13998,7 @@ msgid "" +@@ -15592,7 +15592,7 @@ msgid "" "commands as root or another user while providing an audit trail of the\n" "commands and their arguments.\n" "\n" @@ -2582,7 +3439,7 @@ index a17396796..ca864c8a4 100644 " Users: The user(s)/group(s) allowed to invoke Sudo.\n" " Hosts: The host(s)/hostgroup(s) which the user is allowed to to invoke " "Sudo.\n" -@@ -14013,7 +14013,7 @@ msgid "" +@@ -15607,7 +15607,7 @@ msgid "" "are evaluated (if the client supports it). This order is an integer and\n" "must be unique.\n" "\n" @@ -2591,7 +3448,7 @@ index a17396796..ca864c8a4 100644 "uid=sudo,cn=sysaccounts,cn=etc,dc=example,dc=com\n" "\n" "To enable the binddn run the following command to set the password:\n" -@@ -14021,7 +14021,7 @@ msgid "" +@@ -15615,7 +15615,7 @@ msgid "" "ZZ -D \"cn=Directory Manager\" uid=sudo,cn=sysaccounts,cn=etc,dc=example," "dc=com\n" "\n" @@ -2600,7 +3457,7 @@ index a17396796..ca864c8a4 100644 msgstr "" "\n" "Правила sudo\n" -@@ -14032,7 +14032,7 @@ msgstr "" +@@ -15626,7 +15626,7 @@ msgstr "" "користувача, зберігаючи водночас журнал виконання команд та\n" "аргументів.\n" "\n" @@ -2609,7 +3466,7 @@ index a17396796..ca864c8a4 100644 " Users: користувачі або групи, які можуть викликати sudo.\n" " Hosts: вузли або групи вузлів, користувачі якого можуть викликати sudo.\n" " Allow Command: специфічні команди, які можна виконувати за допомогою " -@@ -14050,7 +14050,7 @@ msgstr "" +@@ -15644,7 +15644,7 @@ msgstr "" "обробки записів (якщо такий порядок передбачено на клієнтському боці).\n" "Порядок визначається числовим індексом, який не повинен повторюватися.\n" "\n" @@ -2618,7 +3475,7 @@ index a17396796..ca864c8a4 100644 "розташовано у\n" "uid=sudo,cn=sysaccounts,cn=etc,dc=example,dc=com\n" "\n" -@@ -14059,7 +14059,7 @@ msgstr "" +@@ -15653,7 +15653,7 @@ msgstr "" "ZZ -D \"cn=Directory Manager\" uid=sudo,cn=sysaccounts,cn=etc,dc=example," "dc=com\n" "\n" @@ -2627,24 +3484,25 @@ index a17396796..ca864c8a4 100644 msgid "" "\n" -@@ -27264,8 +27264,8 @@ msgstr "Відхилення часу розпізнавання TOTP (у сек +@@ -29242,8 +29242,8 @@ msgstr "Відхилення часу розпізнавання TOTP (у сек msgid "TOTP synchronization time variance (seconds)" msgstr "Відхилення часу синхронізації TOTP (у секундах)" -msgid "TOTP token / FreeIPA server time difference" --msgstr "Часова розбіжність між ключем TOTP і сервером FreeIPA" +-msgstr "Часова розбіжність між ключем TOTP і сервером FreeIPA" +msgid "TOTP token / IPA server time difference" -+msgstr "Часова розбіжність між ключем TOTP і сервером IPA" ++msgstr "Часова розбіжність між ключем TOTP і сервером IPA" msgid "TSIG record" msgstr "Запис TSIG" -- -2.21.1 +2.28.0 -From 703f4aa1ba942db3f614190de1dc291216d20e86 Mon Sep 17 00:00:00 2001 -From: Alexander Bokovoy <abokovoy@redhat.com> -Date: Sun, 7 Oct 2018 12:25:41 +0300 -Subject: [PATCH 71/78] po/zh_CN.po: Change branding to IPA and Identity + +From 9de5307e8111992181a775d3bd9bf279033c1b1e Mon Sep 17 00:00:00 2001 +From: Thomas Woerner <twoerner@redhat.com> +Date: Wed, 18 Nov 2020 18:07:59 +0100 +Subject: [PATCH 93/93] po/zh_CN.po: Change branding to IPA and Identity Management --- @@ -2652,7 +3510,7 @@ Subject: [PATCH 71/78] po/zh_CN.po: Change branding to IPA and Identity 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/po/zh_CN.po b/po/zh_CN.po -index dec79967d..bc2269701 100644 +index 1963a5f..480c958 100644 --- a/po/zh_CN.po +++ b/po/zh_CN.po @@ -298,7 +298,7 @@ msgstr "" @@ -2673,7 +3531,7 @@ index dec79967d..bc2269701 100644 " 用户:用户/用户组允许调用Sudo。\n" " 主机:主机/主机组上的用户允许调用Sudo。\n" " 允许的命令:指定命令允许通过Sudo来运行。\n" -@@ -9923,8 +9923,8 @@ msgstr "TOTP认证时间差异(秒)" +@@ -9885,8 +9885,8 @@ msgstr "TOTP认证时间差异(秒)" msgid "TOTP synchronization time variance (seconds)" msgstr "TOTP同步时间差异(秒)" @@ -2685,222 +3543,5 @@ index dec79967d..bc2269701 100644 msgid "TSIG record" msgstr "TSIG记录" -- -2.21.1 - -From 51756934d7214104a0da2a5a57d74194ecb054c9 Mon Sep 17 00:00:00 2001 -From: Thomas Woerner <twoerner@redhat.com> -Date: Fri, 3 Apr 2020 14:27:35 +0200 -Subject: [PATCH 72/78] client/man/ipa-client-samba.1: Change branding to IPA - and Identity Management - ---- - client/man/ipa-client-samba.1 | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/client/man/ipa-client-samba.1 b/client/man/ipa-client-samba.1 -index ea83715ff..5ed6c7150 100644 ---- a/client/man/ipa-client-samba.1 -+++ b/client/man/ipa-client-samba.1 -@@ -1,7 +1,7 @@ - .\" A man page for ipa-client-samba - .\" Copyright (C) 2008-2016 FreeIPA Contributors see COPYING for license - .\" --.TH "ipa-client-samba" "1" "Jun 10 2019" "FreeIPA" "FreeIPA Manual Pages" -+.TH "ipa-client-samba" "1" "Jun 10 2019" "IPA" "IPA Manual Pages" - .SH "NAME" - ipa\-client\-samba \- Configure Samba file server on an IPA client - .SH "SYNOPSIS" -@@ -39,7 +39,7 @@ The ipa\-client\-samba script assumes that the machine has alreaby been enrolled - .SS "IPA Master Requirements" - At least one IPA master must hold a \fBTrust Controller\fR role. This can be achieved by running ipa\-adtrust\-install on the IPA master. The utility will configure IPA master to be a domain controller for IPA domain. - --IPA master holding a \fBTrust Controller\fR role has also to have support for a special service command to create SMB service, \fBipa service-add-smb\fR. This command is available with FreeIPA 4.8.0 or later release. -+IPA master holding a \fBTrust Controller\fR role has also to have support for a special service command to create SMB service, \fBipa service-add-smb\fR. This command is available with IPA 4.8.0 or later release. - - .SH "OPTIONS" - .SS "BASIC OPTIONS" --- -2.21.1 - -From 9cb31fd0f81511252170f539b354a67b2bd1e96a Mon Sep 17 00:00:00 2001 -From: Thomas Woerner <twoerner@redhat.com> -Date: Fri, 3 Apr 2020 14:28:22 +0200 -Subject: [PATCH 73/78] contrib/lite-server.py: Change branding to IPA and - Identity Management - ---- - contrib/lite-server.py | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/contrib/lite-server.py b/contrib/lite-server.py -index bd73b0763..9feffdada 100755 ---- a/contrib/lite-server.py -+++ b/contrib/lite-server.py -@@ -139,7 +139,7 @@ class StaticFilesMiddleware(SharedDataMiddleware): - - - def init_api(ccname): -- """Initialize FreeIPA API from command line -+ """Initialize IPA API from command line - """ - from ipalib import __file__ as ipalib_file - from ipalib import api --- -2.21.1 - -From a8bc392551a963cb33e3e9748a771fd0f1201541 Mon Sep 17 00:00:00 2001 -From: Thomas Woerner <twoerner@redhat.com> -Date: Fri, 3 Apr 2020 14:28:56 +0200 -Subject: [PATCH 74/78] ipaserver/dcerpc.py: Change branding to IPA and - Identity Management - ---- - ipaserver/dcerpc.py | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/ipaserver/dcerpc.py b/ipaserver/dcerpc.py -index 27d075425..8d3384f12 100644 ---- a/ipaserver/dcerpc.py -+++ b/ipaserver/dcerpc.py -@@ -1483,7 +1483,7 @@ def fetch_domains(api, mydomain, trustdomain, creds=None, server=None): - def communicate(td): - td.init_lsa_pipe(td.info['dc']) - netr_pipe = netlogon.netlogon(td.binding, td.parm, td.creds) -- # Older FreeIPA versions used netr_DsrEnumerateDomainTrusts call -+ # Older IPA versions used netr_DsrEnumerateDomainTrusts call - # but it doesn't provide information about non-domain UPNs associated - # with the forest, thus we have to use netr_DsRGetForestTrustInformation - domains = netr_pipe.netr_DsRGetForestTrustInformation(td.info['dc'], None, 0) --- -2.21.1 - -From 8bcae9d325453cae61cbc18b9114e9ba8b716993 Mon Sep 17 00:00:00 2001 -From: Thomas Woerner <twoerner@redhat.com> -Date: Fri, 3 Apr 2020 14:29:21 +0200 -Subject: [PATCH 75/78] ipaserver/install/ipa_cert_fix.py: Change branding to - IPA and Identity Management - ---- - ipaserver/install/ipa_cert_fix.py | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/ipaserver/install/ipa_cert_fix.py b/ipaserver/install/ipa_cert_fix.py -index 6b952d34f..e79d7ddc4 100644 ---- a/ipaserver/install/ipa_cert_fix.py -+++ b/ipaserver/install/ipa_cert_fix.py -@@ -45,7 +45,7 @@ msg = """ - WARNING - - ipa-cert-fix is intended for recovery when expired certificates --prevent the normal operation of FreeIPA. It should ONLY be used -+prevent the normal operation of IPA. It should ONLY be used - in such scenarios, and backup of the system, especially certificates - and keys, is STRONGLY RECOMMENDED. - --- -2.21.1 - -From 8e3fb91139f51439164b38003cf0917af137158d Mon Sep 17 00:00:00 2001 -From: Thomas Woerner <twoerner@redhat.com> -Date: Fri, 3 Apr 2020 14:29:43 +0200 -Subject: [PATCH 76/78] ipaserver/plugins/config.py: Change branding to IPA and - Identity Management - ---- - ipaserver/plugins/config.py | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/ipaserver/plugins/config.py b/ipaserver/plugins/config.py -index e96e51971..ace66e589 100644 ---- a/ipaserver/plugins/config.py -+++ b/ipaserver/plugins/config.py -@@ -462,7 +462,7 @@ class config(LDAPObject): - - known_domains = self.gather_trusted_domains() - -- # add FreeIPA domain to the list of domains. This one is always enabled -+ # add IPA domain to the list of domains. This one is always enabled - known_domains.update({self.api.env.domain: True}) - - for domain in submitted_domains: --- -2.21.1 - -From 65a663bd7fb5559316f1a8e5f04e0d4827bfb0b6 Mon Sep 17 00:00:00 2001 -From: Thomas Woerner <twoerner@redhat.com> -Date: Fri, 3 Apr 2020 14:30:01 +0200 -Subject: [PATCH 77/78] ipaserver/plugins/certprofile.py: Change branding to - IPA and Identity Management - ---- - ipaserver/plugins/certprofile.py | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/ipaserver/plugins/certprofile.py b/ipaserver/plugins/certprofile.py -index 6e2e91dc6..03fbe4d3e 100644 ---- a/ipaserver/plugins/certprofile.py -+++ b/ipaserver/plugins/certprofile.py -@@ -57,7 +57,7 @@ PROFILE CONFIGURATION FORMAT: - The profile configuration format is the raw property-list format - used by Dogtag Certificate System. The XML format is not supported. - --The following restrictions apply to profiles managed by FreeIPA: -+The following restrictions apply to profiles managed by IPA: - - - When importing a profile the "profileId" field, if present, must - match the ID given on the command line. --- -2.21.1 - -From 0801d5ad45d4fa9b64e0bfb4152af658ead0e514 Mon Sep 17 00:00:00 2001 -From: Thomas Woerner <twoerner@redhat.com> -Date: Fri, 3 Apr 2020 14:30:20 +0200 -Subject: [PATCH 78/78] doc/designs/adtrust/samba-domain-member.md: Change - branding to IPA and Identity Management - ---- - doc/designs/adtrust/samba-domain-member.md | 12 ++++++------ - 1 file changed, 6 insertions(+), 6 deletions(-) - -diff --git a/doc/designs/adtrust/samba-domain-member.md b/doc/designs/adtrust/samba-domain-member.md -index 95e3c014c..83e84ddb8 100644 ---- a/doc/designs/adtrust/samba-domain-member.md -+++ b/doc/designs/adtrust/samba-domain-member.md -@@ -46,11 +46,11 @@ performing a remote authentication using Kerberos, a remote system has to - present a Kerberos ticket to the domain member's SMB service, like with any - other Kerberos services. - --To operate as a domain member in a FreeIPA domain, thus, Samba needs a FreeIPA --master to be configured as a domain controller and a FreeIPA client needs to be -+To operate as a domain member in a IPA domain, thus, Samba needs a IPA -+master to be configured as a domain controller and a IPA client needs to be - configured in a specific way to allow Samba to talk to a domain controller. - This document overviews a set of implementation tasks to achieve the domain --member operation. Most of these tasks are related to FreeIPA components but -+member operation. Most of these tasks are related to IPA components but - some of changes required do belong to Samba itself. - - ## Domain member configuration overview -@@ -102,16 +102,16 @@ password rotation. - - The knowledge of the machine account password is recorded in a special - database, `secrets.tdb`, during the process of a machine join to the domain. --For FreeIPA client the join process is different from the one Samba uses for -+For IPA client the join process is different from the one Samba uses for - Active Directory, thus we need to seed the machine account password separately --to enrolling FreeIPA client. Note that FreeIPA machine enrollment does not -+to enrolling IPA client. Note that IPA machine enrollment does not - allow to share clear text machine account password as it is not recorded - anywhere. - - ## Domain controller side configuration overview - - See [samba-domain-controller] for the details of how Samba domain controller is --set up and configured in FreeIPA. -+set up and configured in IPA. - - ## Changes required on domain member - --- -2.21.1 +2.28.0 diff --git a/SOURCES/1002-4.8.0-Remove-csrgen.patch b/SOURCES/1002-4.8.0-Remove-csrgen.patch index 8b7e374..e6ba316 100644 --- a/SOURCES/1002-4.8.0-Remove-csrgen.patch +++ b/SOURCES/1002-4.8.0-Remove-csrgen.patch @@ -100,23 +100,23 @@ https://bugzilla.redhat.com/show_bug.cgi?id=1432630 delete mode 100644 ipatests/test_ipaclient/data/test_csrgen/templates/identity_base.tmpl delete mode 100644 ipatests/test_ipaclient/test_csrgen.py -diff -urN freeipa-4.8.0/freeipa.spec.in freeipa-4.8.0.removed_csrgen/freeipa.spec.in ---- freeipa-4.8.0/freeipa.spec.in 2019-06-29 10:01:30.458735813 +0200 -+++ freeipa-4.8.0.removed_csrgen/freeipa.spec.in 2019-07-03 13:24:38.471222723 +0200 -@@ -1247,13 +1247,6 @@ - %dir %{python3_sitelib}/ipaclient/remote_plugins/2_* - %{python3_sitelib}/ipaclient/remote_plugins/2_*/*.py - %{python3_sitelib}/ipaclient/remote_plugins/2_*/__pycache__/*.py* --%dir %{python3_sitelib}/ipaclient/csrgen --%dir %{python3_sitelib}/ipaclient/csrgen/profiles --%{python3_sitelib}/ipaclient/csrgen/profiles/*.json --%dir %{python3_sitelib}/ipaclient/csrgen/rules --%{python3_sitelib}/ipaclient/csrgen/rules/*.json --%dir %{python3_sitelib}/ipaclient/csrgen/templates --%{python3_sitelib}/ipaclient/csrgen/templates/*.tmpl - %{python3_sitelib}/ipaclient-*.egg-info - - +#diff -urN freeipa-4.8.0/freeipa.spec.in freeipa-4.8.0.removed_csrgen/freeipa.spec.in +#--- freeipa-4.8.0/freeipa.spec.in 2019-06-29 10:01:30.458735813 +0200 +#+++ freeipa-4.8.0.removed_csrgen/freeipa.spec.in 2019-07-03 13:24:38.471222723 +0200 +#@@ -1247,13 +1247,6 @@ +# %dir %{python3_sitelib}/ipaclient/remote_plugins/2_* +# %{python3_sitelib}/ipaclient/remote_plugins/2_*/*.py +# %{python3_sitelib}/ipaclient/remote_plugins/2_*/__pycache__/*.py* +#-%dir %{python3_sitelib}/ipaclient/csrgen +#-%dir %{python3_sitelib}/ipaclient/csrgen/profiles +#-%{python3_sitelib}/ipaclient/csrgen/profiles/*.json +#-%dir %{python3_sitelib}/ipaclient/csrgen/rules +#-%{python3_sitelib}/ipaclient/csrgen/rules/*.json +#-%dir %{python3_sitelib}/ipaclient/csrgen/templates +#-%{python3_sitelib}/ipaclient/csrgen/templates/*.tmpl +# %{python3_sitelib}/ipaclient-*.egg-info +# +# diff -urN freeipa-4.8.0/ipaclient/csrgen/profiles/caIPAserviceCert.json freeipa-4.8.0.removed_csrgen/ipaclient/csrgen/profiles/caIPAserviceCert.json --- freeipa-4.8.0/ipaclient/csrgen/profiles/caIPAserviceCert.json 2019-07-03 08:42:41.844539797 +0200 +++ freeipa-4.8.0.removed_csrgen/ipaclient/csrgen/profiles/caIPAserviceCert.json 1970-01-01 01:00:00.000000000 +0100 diff --git a/SOURCES/1003-Revert-WebUI-use-python3-rjsmin-to-minify-JavaScript.patch b/SOURCES/1003-Revert-WebUI-use-python3-rjsmin-to-minify-JavaScript.patch index 981d18c..1c9c5b8 100644 --- a/SOURCES/1003-Revert-WebUI-use-python3-rjsmin-to-minify-JavaScript.patch +++ b/SOURCES/1003-Revert-WebUI-use-python3-rjsmin-to-minify-JavaScript.patch @@ -35,19 +35,19 @@ This reverts commit d986e844bbd37ccc7a532175631a55acd315cda3. # - systemd # - 389-ds-base-dev # - libssl-dev -diff --git a/freeipa.spec.in b/freeipa.spec.in -index b6eb79593..a4682497a 100755 ---- a/freeipa.spec.in -+++ b/freeipa.spec.in -@@ -191,7 +191,7 @@ BuildRequires: libsss_idmap-devel - BuildRequires: libsss_certmap-devel - BuildRequires: libsss_nss_idmap-devel >= %{sssd_version} - BuildRequires: nodejs(abi) --BuildRequires: python3-rjsmin -+BuildRequires: uglify-js - BuildRequires: libverto-devel - BuildRequires: libunistring-devel - # 0.13.0: https://bugzilla.redhat.com/show_bug.cgi?id=1584773 +#diff --git a/freeipa.spec.in b/freeipa.spec.in +#index b6eb79593..a4682497a 100755 +#--- a/freeipa.spec.in +#+++ b/freeipa.spec.in +#@@ -191,7 +191,7 @@ BuildRequires: libsss_idmap-devel +# BuildRequires: libsss_certmap-devel +# BuildRequires: libsss_nss_idmap-devel >= %{sssd_version} +# BuildRequires: nodejs(abi) +#-BuildRequires: python3-rjsmin +#+BuildRequires: uglify-js +# BuildRequires: libverto-devel +# BuildRequires: libunistring-devel +# # 0.13.0: https://bugzilla.redhat.com/show_bug.cgi?id=1584773 diff --git a/install/ui/build/freeipa/Makefile.am b/install/ui/build/freeipa/Makefile.am index f4d97819e..05e82f4da 100644 --- a/install/ui/build/freeipa/Makefile.am @@ -98,37 +98,37 @@ index 2c4e0ecac..0772532d4 100644 -Full Dojo license is in LICENSE file. +Full Dojo license is in LICENSE file. \ No newline at end of file -diff --git a/install/ui/util/compile.sh b/install/ui/util/compile.sh -index 1516b815f..d14f90ab0 100755 ---- a/install/ui/util/compile.sh -+++ b/install/ui/util/compile.sh -@@ -26,14 +26,14 @@ RDIR=$DIR/../release - usage() { - cat <<-__EOF__; - NAME -- compile.sh - Compiles layer file of Dojo build using Python rjsmin. -+ compile.sh - Compiles layer file of Dojo build using uglify.js. - Deletes all other files. - - SYNOPSIS - path/to/compile.sh [--help] --release RELEASE --layer NAME/NAME - - DESCRIPTION -- Compiles layer file of Dojo build output using Python rjsmin. -+ Compiles layer file of Dojo build output using uglify.js. - Deletes all other files. - - OPTIONS -@@ -105,7 +105,7 @@ if [[ ! $OUTPUT_FILE ]] ; then - OUTPUT_FILE=$RDIR/$RELEASE/$LAYER.js - fi - --# compile using python rjsmin -+# compile using uglifyjs - echo "Minimizing: $RDIR/$RELEASE/$LAYER.js" - echo "Target file: $OUTPUT_FILE" --${PYTHON:-python3} -m rjsmin < $RDIR/$RELEASE/$LAYER.js > $OUTPUT_FILE -+uglifyjs $RDIR/$RELEASE/$LAYER.js > $OUTPUT_FILE --- -2.26.2 +#diff --git a/install/ui/util/compile.sh b/install/ui/util/compile.sh +#index 1516b815f..d14f90ab0 100755 +#--- a/install/ui/util/compile.sh +#+++ b/install/ui/util/compile.sh +#@@ -26,14 +26,14 @@ RDIR=$DIR/../release +# usage() { +# cat <<-__EOF__; +# NAME +#- compile.sh - Compiles layer file of Dojo build using Python rjsmin. +#+ compile.sh - Compiles layer file of Dojo build using uglify.js. +# Deletes all other files. +# +# SYNOPSIS +# path/to/compile.sh [--help] --release RELEASE --layer NAME/NAME +# +# DESCRIPTION +#- Compiles layer file of Dojo build output using Python rjsmin. +#+ Compiles layer file of Dojo build output using uglify.js. +# Deletes all other files. +# +# OPTIONS +#@@ -105,7 +105,7 @@ if [[ ! $OUTPUT_FILE ]] ; then +# OUTPUT_FILE=$RDIR/$RELEASE/$LAYER.js +# fi +# +#-# compile using python rjsmin +#+# compile using uglifyjs +# echo "Minimizing: $RDIR/$RELEASE/$LAYER.js" +# echo "Target file: $OUTPUT_FILE" +#-${PYTHON:-python3} -m rjsmin < $RDIR/$RELEASE/$LAYER.js > $OUTPUT_FILE +#+uglifyjs $RDIR/$RELEASE/$LAYER.js > $OUTPUT_FILE +#-- +#2.26.2 diff --git a/SOURCES/freeipa-4.8.7.tar.gz.asc b/SOURCES/freeipa-4.8.7.tar.gz.asc deleted file mode 100644 index 0dae99e..0000000 --- a/SOURCES/freeipa-4.8.7.tar.gz.asc +++ /dev/null @@ -1,16 +0,0 @@ ------BEGIN PGP SIGNATURE----- - -iQIzBAABCgAdFiEEhAodHH8+xLL+UwQ1RxniuKu/YhoFAl7hNhYACgkQRxniuKu/ -Yhq2rxAAnK8YHbQtivjssWz6BBRiU5TKootA3fSqfvbhACYG14629/Dpc5IIkYZ1 -0AE4CUFA7Oi92emFbxrLJyeSuxuzTxSVmydJ5HW/OTkRRSnmjL5oeBg2D++B9OaO -qVAXRZbi5YNfW5y//9BIRzCGw0RHpbR/QjZ1ipDymky6nr5IS+EhfZ0iHeEyiNXd -OP3OJv538HSvRrv3mJvz52pKVfegw1OTd8yUnmuPEc9ClQfPQHjXqsOeFYCbR8fg -59y0twMMrOc2J4eL0OkNE/By+o+1vAMUwEs736sCdbJJPigerfuK0e7ZxP+x98BP -bmIBxv7eUf20Rn3An7+vTqQP60V4tS+FOnc2LD3OpHH4vy34ovWZfYZWVKbg0z1+ -5E/0TWifhlibbRZctDaxkZfFVchQnixHnO0Awv8wNxRzh/XvvsTPz1zJXk5kHk3r -Ws2/GbeWTiJLe8sIXJz0MNTayWLnsDJG6BCRf+K0HwCdL80p4TG71dTwa9PW5HEy -UklxW/zfr+chS1AszNgb8wJa6WtDHfQnktJwSSj7CkD3JdUVx+L/cJiOfbCM+WUi -BRzhVhNUDX/FkpGUyvC4AYXX+wcwHph9BDChUDqcG886aIK28TAsie3Vwz/F7hKP -TYpF1+YIImcRfUQ737pnbHL12o5yzfhkBfD2GMsojEd0x71B3PY= -=B33Z ------END PGP SIGNATURE----- diff --git a/SOURCES/freeipa-4.9.0rc3.tar.gz.asc b/SOURCES/freeipa-4.9.0rc3.tar.gz.asc new file mode 100644 index 0000000..a53a7fa --- /dev/null +++ b/SOURCES/freeipa-4.9.0rc3.tar.gz.asc @@ -0,0 +1,16 @@ +-----BEGIN PGP SIGNATURE----- + +iQIzBAABCgAdFiEEhAodHH8+xLL+UwQ1RxniuKu/YhoFAl/SSecACgkQRxniuKu/ +YhrlPQ//a+dJrg29AsJIYlLbFqcR3IEtCtt7H2Mr6TJ2xWWg1oLTJhQslrf82YeN +WznHHj09cHV1Ga0kGJmg+KhudpC7OFviUvxrz69+N3j6/+39OeWvOAEUQgCphZ7G +/UnBTxW2Fhf8zklFf+vT7phcE0YemY4GNjyYJqni4/9uua0Q8pJJQTy30Yw6UrDL +pXHjTVXgQv7Ryf/LWEMOaHKUGiZCsL59Chrp5uaefzIat8pHG2xnf1Ah6tUwG4Fs +rf4QfgUW7Q2nwrAmZKzPvp3wQVFZZ5CiklSO9hfRwZ9De1wIdlUD66cmcE2TeJla +7DpsfQPSCrghwmvPYpeJcwG2DrPoz3i1j14BQ//LqhAmsvJy5iFg3+tF1YcNYqnP +neGK3/6QeUvKKe5H7VGMAA4N4YDMri8a8/QKgqG1lWf+X7x8d2lwlib2JNpNnN7N +TlVTRWhKRvQyBn23uSdcLXdaVdU4Z++7yhHcveyGGDVtElFWeSV83d3ekVZ4rsoq +stv7S2Ay8D6pH7fVd2aXA9i+r12BCF3Lmrikc+g+aAuJV5K3GwoCBwgWLCs0WXru +Q67j99HZ4R+A4cNMZ8+VAUIzZT7S62aHX75lGgw/e3CvGoiIEosa01YdXiP+DT6V +JFH5PnuKStu8LqrFpICgHFrFKQAHopKO9JVINGHwQB426xycwaM= +=0OcN +-----END PGP SIGNATURE----- diff --git a/SPECS/ipa.spec b/SPECS/ipa.spec index ba9d77e..db3673a 100644 --- a/SPECS/ipa.spec +++ b/SPECS/ipa.spec @@ -1,12 +1,24 @@ +# ipatests enabled by default, can be disabled with --without ipatests +%bcond_without ipatests +# default to not use XML-RPC in Rawhide, can be turned around with --with ipa_join_xml +# On RHEL 8 we should use --with ipa_join_xml +%bcond_without ipa_join_xml + +# Linting is disabled by default, needed for upstream testing +%bcond_with lint + +# Build documentation with sphinx +%bcond_with doc + +# Build Python wheels +%bcond_with wheels + # 389-ds-base 1.4 no longer supports i686 platform, build only client # packages, https://bugzilla.redhat.com/show_bug.cgi?id=1544386 -%if 0%{?fedora} >= 28 || 0%{?rhel} > 7 - %ifarch %{ix86} - %{!?ONLY_CLIENT:%global ONLY_CLIENT 1} - %endif +%ifarch %{ix86} + %{!?ONLY_CLIENT:%global ONLY_CLIENT 1} %endif - # Define ONLY_CLIENT to only make the ipa-client and ipa-python # subpackages %{!?ONLY_CLIENT:%global ONLY_CLIENT 0} @@ -16,37 +28,27 @@ %global enable_server_option --enable-server %endif -# Build ipatests -%if 0%{?rhel} +%if %{ONLY_CLIENT} %global with_ipatests 0 %endif -%if ! %{ONLY_CLIENT} - %{!?with_ipatests:%global with_ipatests 1} -%endif -%if 0%{?with_ipatests} + +# Whether to build ipatests +%if %{with ipatests} %global with_ipatests_option --with-ipatests %else %global with_ipatests_option --without-ipatests %endif -# Python 2/3 packages and default Python interpreter -%if 0%{?rhel} > 7 - %global with_default_python 3 -%endif - -%if 0%{?fedora} >= 29 - # F29 only supports Python 3 as default Python - %global with_default_python 3 +# Whether to use XML-RPC with ipa-join +%if %{with ipa_join_xml} + %global with_ipa_join_xml_option --with-ipa-join-xml +%else + %global with_ipa_join_xml_option --without-ipa-join-xml %endif -%{!?with_default_python:%global with_default_python 3} - -%global with_python3 1 -%global python %{__python3} - # lint is not executed during rpmbuild # %%global with_lint 1 -%if 0%{?with_lint} +%if %{with lint} %global linter_options --enable-pylint --with-jslint %else %global linter_options --disable-pylint --without-jslint @@ -68,43 +70,45 @@ %global python_netaddr_version 0.7.19 # Require 4.7.0 which brings Python 3 bindings %global samba_version 4.12.3-12 -%global slapi_nis_version 0.56.4 -# Require 3.14.3-24 - Allow ipa_ods_exporter_t domain to read krb5_keytab files -# SELinux context for /etc/named directory, RHBZ#1759495 %global selinux_policy_version 3.14.3-52 -%global slapi_nis_version 0.56.1-4 +%global slapi_nis_version 0.56.4 %global python_ldap_version 3.1.0-1 # python3-lib389 # Fix for "Installation fails: Replica Busy" # https://pagure.io/389-ds-base/issue/49818 %global ds_version 1.4.2.4-6 -%global httpd_version 2.4.6-31 +# Fix for TLS 1.3 PHA, RHBZ#1775158 +%global httpd_version 2.4.37-21 +%global bind_version 9.11.20-6 %else # Fedora %global package_name freeipa %global alt_name ipa -# Fix for CVE-2018-20217 -%global krb5_version 1.17-17 -%global krb5_kdb_version 7.0 +# Fix for CVE-2020-28196 +%global krb5_version 1.18.2-29 # 0.7.16: https://github.com/drkjam/netaddr/issues/71 %global python_netaddr_version 0.7.16 # Require 4.7.0 which brings Python 3 bindings # Require 4.12 which has DsRGetForestTrustInformation access rights fixes -#global samba_version 2:4.12 -%global samba_version 2:4.9.0 -# SELinux context for /etc/named directory, RHBZ#1759495 -#global selinux_policy_version 3.14.3-52 -%global selinux_policy_version 3.14.3-41 -#global slapi_nis_version 0.56.4 -%global slapi_nis_version 0.56.3 +%global samba_version 2:4.12.10 + +# 3.14.5-45 or later includes a number of interfaces fixes for IPA interface +%global selinux_policy_version 3.14.5-45 +%global slapi_nis_version 0.56.5 + +%global krb5_kdb_version 8.0 # fix for segfault in python3-ldap, https://pagure.io/freeipa/issue/7324 %global python_ldap_version 3.1.0-1 -# Fix for create suffix -# https://pagure.io/389-ds-base/issue/49984 -%global ds_version 1.4.1.1 +# 1.4.3 moved nsslapd-db-locks to cn=bdb sub-entry +# https://pagure.io/freeipa/issue/8515 +%global ds_version 1.4.3 + +# Fix for TLS 1.3 PHA, RHBZ#1775146 +%global httpd_version 2.4.41-9 +%global bind_version 9.11.24-1 # Don't use Fedora's Python dependency generator on Fedora 30/rawhide yet. # Some packages don't provide new dist aliases. # https://docs.fedoraproject.org/en-US/packaging-guidelines/Python/ @@ -112,26 +116,45 @@ # Fedora %endif +# BIND employs 'pkcs11' OpenSSL engine instead of native PKCS11 +# Fedora 31+ uses OpenSSL engine, as well as Fedora ELN (RHEL9) +%if 0%{?fedora} || 0%{?rhel} >= 9 + %global openssl_pkcs11_version 0.4.10-6 + %global softhsm_version 2.5.0-4 +%else + %global with_bind_pkcs11 1 +%endif + +%if 0%{?rhel} == 8 # PKIConnection has been modified to always validate certs. # https://pagure.io/freeipa/issue/8379 %global pki_version 10.9.0-0.4 +%else +# New KRA profile, ACME support +# https://pagure.io/freeipa/issue/8545 +%global pki_version 10.10.0-2 +%endif -# https://pagure.io/certmonger/issue/90 +# RHEL 8.3+, F32+ has 0.79.13 %global certmonger_version 0.79.7-3 -# NSS release with fix for p11-kit-proxy issue, affects F28 -# https://pagure.io/freeipa/issue/7810 -%if 0%{?fedora} == 28 -%global nss_version 3.41.0-3 -%else +# RHEL 8.2+, F32+ has 3.58 %global nss_version 3.44.0-4 -%endif -%global sssd_version 2.2.3-11 +# RHEL 8.3+, F32+ +%global sssd_version 2.4.0 -%define krb5_base_version %(LC_ALL=C rpm -q --qf '%%{VERSION}' krb5-devel | grep -Eo '^[^.]+\.[^.]+') +%define krb5_base_version %(LC_ALL=C /usr/bin/pkgconf --modversion krb5 | grep -Eo '^[^.]+\.[^.]+' || echo %krb5_version) %global kdcproxy_version 0.4-3 +%if 0%{?fedora} >= 33 || 0%{?rhel} >= 9 +# systemd with resolved enabled +# see https://pagure.io/freeipa/issue/8275 +%global systemd_version 246.6-3 +%else +%global systemd_version 239 +%endif + %global plugin_dir %{_libdir}/dirsrv/plugins %global etc_systemd_dir %{_sysconfdir}/systemd/system %global gettext_domain ipa @@ -140,22 +163,29 @@ # Work-around fact that RPM SPEC parser does not accept # "Version: @VERSION@" in freeipa.spec.in used for Autoconf string replacement -%define IPA_VERSION 4.8.7 +%define IPA_VERSION 4.9.0 +# Release candidate version -- uncomment with one percent for RC versions +%global rc_version rc3 %define AT_SIGN @ # redefine IPA_VERSION only if its value matches the Autoconf placeholder %if "%{IPA_VERSION}" == "%{AT_SIGN}VERSION%{AT_SIGN}" %define IPA_VERSION nonsense.to.please.RPM.SPEC.parser %endif +%define NON_DEVELOPER_BUILD ("%{lua: print(rpm.expand('%{suffix:%IPA_VERSION}'):find('^dev'))}" == "nil") + Name: %{package_name} Version: %{IPA_VERSION} -Release: 12%{?dist} +Release: 0.5%{?rc_version:.%rc_version}%{?dist} Summary: The Identity, Policy and Audit system License: GPLv3+ URL: http://www.freeipa.org/ -Source0: https://releases.pagure.org/freeipa/freeipa-%{version}.tar.gz -Source1: https://releases.pagure.org/freeipa/freeipa-%{version}.tar.gz.asc +Source0: https://releases.pagure.org/freeipa/freeipa-%{version}%{?rc_version}.tar.gz +# Only use detached signature for the distribution builds. If it is a developer build, skip it +%if %{NON_DEVELOPER_BUILD} +Source1: https://releases.pagure.org/freeipa/freeipa-%{version}%{?rc_version}.tar.gz.asc +%endif # RHEL spec file only: START: Change branding to IPA and Identity Management # Moved branding logos and background to redhat-logos-ipa-80.4: @@ -164,31 +194,14 @@ Source1: https://releases.pagure.org/freeipa/freeipa-%{version}.tar.gz.as # RHEL spec file only: END: Change branding to IPA and Identity Management # RHEL spec file only: START -Patch0001: 0001-WebUI-Fix-IPA-Error-3007-RequirmentError-while-addin_rhbz#1757045.patch -Patch0002: 0002-EPN-does-not-ship-its-default-configuration_rhbz#1847999.patch -Patch0003: 0003-Use-256-bit-AJP-secret_rhbz#1849914.patch -Patch0004: 0004-baseuser-fix-ipanthomedirectorydrive-option-name_rhbz#1851411.patch -Patch0005: 0005-selinux-don-t-audit-rules-deny-fetching-trust-topology_rhbz#1845596.patch -Patch0006: 0006-fix-iPAddress-cert-issuance-for-1-host-service_rhbz#1846352.patch -Patch0007: 0007-Specify-cert_paths-when-calling-PKIConnection_rhbz#1849155.patch -Patch0008: 0008-Add-missing-SELinux-rule-for-ipa-custodia.sock_rhbz#1857157.patch -Patch0009: 0009-ipa-client-install-use-the-authselect-backup-during_rhbz#1810179.patch -Patch0010: 0010-Replace-SSLCertVerificationError-with-CertificateErr_rhbz#1858318.patch -Patch0011: 0011-Fix-AVC-denial-during-ipa-adtrust-install---add-agents_rhbz#1859213.patch -Patch0012: 0012-CAless-installation-set-the-perms-on-KDC-cert-file_rhbz#1863616.patch -Patch0013: 0013-IPA-EPN-Use-a-helper-to-retrieve-LDAP-attributes-fro_rhbz#1866938.patch -Patch0014: 0014-IPA-EPN-enhance-input-validation_rhbz#1866291.patch -Patch0015: 0015-IPA-EPN-Fix-SMTP-connection-error-handling_rhbz#1863079.patch -Patch0016: 0016-Set-mode-of-etc-ipa-ca.crt-to-0644-in-CA-less-instal_rhbz#1870202.patch -Patch0017: 0017-SELinux-Policy-let-custodia-replicate-keys_rhbz#1868432.patch -Patch0018: 0018-dogtaginstance.py-add-debug-to-pkispawn_rhbz#1879604.patch -Patch0019: 0019-SELinux-add-dedicated-policy-for-ipa-pki-retrieve-key-ipatests-enhance-TestSubCAkeyReplication_rhbz#1870202.patch -Patch0020: 0020-SELinux-do-not-double-define-node_t-and-pki_tomcat_c_rhbz#1870202.patch +%if 0%{?rhel} == 8 && %{NON_DEVELOPER_BUILD} Patch1001: 1001-Change-branding-to-IPA-and-Identity-Management.patch Patch1002: 1002-4.8.0-Remove-csrgen.patch Patch1003: 1003-Revert-WebUI-use-python3-rjsmin-to-minify-JavaScript.patch +%endif # RHEL spec file only: END + # For the timestamp trick in patch application BuildRequires: diffstat @@ -198,20 +211,29 @@ BuildRequires: openldap-devel # DAL version change may cause code crash or memory leaks, it is better to fail early. BuildRequires: krb5-kdb-version = %{krb5_kdb_version} BuildRequires: krb5-kdb-devel-version = %{krb5_kdb_version} +BuildRequires: krb5-devel >= %{krb5_version} +BuildRequires: pkgconfig(krb5) +%if %{with ipa_join_xml} # 1.27.4: xmlrpc_curl_xportparms.gssapi_delegation BuildRequires: xmlrpc-c-devel >= 1.27.4 +%else +BuildRequires: libcurl-devel +BuildRequires: jansson-devel +%endif BuildRequires: popt-devel BuildRequires: gcc BuildRequires: make BuildRequires: pkgconfig +BuildRequires: pkgconf BuildRequires: autoconf BuildRequires: automake +BuildRequires: make BuildRequires: libtool BuildRequires: gettext BuildRequires: gettext-devel BuildRequires: python3-devel BuildRequires: python3-setuptools -BuildRequires: systemd +BuildRequires: systemd >= %{systemd_version} # systemd-tmpfiles which is executed from make install requires apache user BuildRequires: httpd BuildRequires: nspr-devel @@ -224,17 +246,23 @@ BuildRequires: samba-devel >= %{samba_version} BuildRequires: libtalloc-devel BuildRequires: libtevent-devel BuildRequires: libuuid-devel +BuildRequires: libpwquality-devel BuildRequires: libsss_idmap-devel BuildRequires: libsss_certmap-devel -# 1.15.3: sss_nss_getlistbycert (https://pagure.io/SSSD/sssd/issue/3050) BuildRequires: libsss_nss_idmap-devel >= %{sssd_version} -BuildRequires: nodejs +BuildRequires: nodejs(abi) +# use old dependency on RHEL 8 for now +%if 0%{?fedora} >= 31 || 0%{?rhel} >= 9 +BuildRequires: python3-rjsmin +%else BuildRequires: uglify-js +%endif BuildRequires: libverto-devel BuildRequires: libunistring-devel # 0.13.0: https://bugzilla.redhat.com/show_bug.cgi?id=1584773 # 0.13.0-2: fix for missing dependency on python-six BuildRequires: python3-lesscpy >= 0.13.0-2 +BuildRequires: cracklib-dicts # ONLY_CLIENT %endif @@ -249,11 +277,12 @@ BuildRequires: python3-netaddr >= %{python_netaddr_version} BuildRequires: python3-pyasn1 BuildRequires: python3-pyasn1-modules BuildRequires: python3-six +BuildRequires: python3-psutil # # Build dependencies for wheel packaging and PyPI upload # -%if 0%{?with_wheels} +%if %{with wheels} BuildRequires: dbus-glib-devel BuildRequires: libffi-devel BuildRequires: python3-tox @@ -266,14 +295,22 @@ BuildRequires: python3-wheel # with_wheels %endif +%if %{with doc} +BuildRequires: python3-sphinx +BuildRequires: python3-m2r +%endif + # # Build dependencies for lint and fastcheck # -%if 0%{?with_lint} +%if %{with lint} +BuildRequires: git BuildRequires: jsl +BuildRequires: nss-tools BuildRequires: rpmlint BuildRequires: softhsm +BuildRequires: keyutils BuildRequires: python3-augeas BuildRequires: python3-cffi BuildRequires: python3-cryptography >= 1.6 @@ -281,6 +318,7 @@ BuildRequires: python3-custodia >= 0.3.1 BuildRequires: python3-dateutil BuildRequires: python3-dbus BuildRequires: python3-dns >= 1.15 +BuildRequires: python3-docker BuildRequires: python3-gssapi >= 1.2.0 BuildRequires: python3-jinja2 BuildRequires: python3-jwcrypto >= 0.4.2 @@ -298,7 +336,7 @@ BuildRequires: python3-polib BuildRequires: python3-pyasn1 BuildRequires: python3-pyasn1-modules BuildRequires: python3-pycodestyle -%if 0%{?fedora} >= 29 +%if 0%{?fedora} || 0%{?rhel} > 8 # https://bugzilla.redhat.com/show_bug.cgi?id=1648299 BuildRequires: python3-pylint >= 2.1.1-2 %else @@ -313,6 +351,7 @@ BuildRequires: python3-sss BuildRequires: python3-sss-murmur BuildRequires: python3-sssdconfig >= %{sssd_version} BuildRequires: python3-systemd +BuildRequires: python3-yaml BuildRequires: python3-yubico # with_lint %endif @@ -328,7 +367,7 @@ BuildRequires: krb5-server >= %{krb5_version} %endif # Build dependencies for SELinux policy -%if 0%{?with_selinux} +%if %{with selinux} BuildRequires: selinux-policy-devel >= %{selinux_policy_version} %endif @@ -353,7 +392,8 @@ Requires: 389-ds-base >= %{ds_version} Requires: openldap-clients > 2.4.35-4 Requires: nss-tools >= %{nss_version} Requires(post): krb5-server >= %{krb5_version} -Requires(post): krb5-kdb-version = %{krb5_kdb_version} +Requires(post): krb5-server >= %{krb5_base_version} +Requires: krb5-kdb-version = %{krb5_kdb_version} Requires: krb5-pkinit-openssl >= %{krb5_version} Requires: cyrus-sasl-gssapi%{?_isa} Requires: chrony @@ -369,17 +409,19 @@ Requires: mod_session >= %{httpd_version} # 0.9.9: https://github.com/adelton/mod_lookup_identity/pull/3 Requires: mod_lookup_identity >= 0.9.9 Requires: acl -Requires: systemd-units >= 38 +Requires: systemd-units >= %{systemd_version} +Requires(pre): systemd-units >= %{systemd_version} +Requires(post): systemd-units >= %{systemd_version} +Requires(preun): systemd-units >= %{systemd_version} +Requires(postun): systemd-units >= %{systemd_version} Requires(pre): shadow-utils -Requires(pre): systemd-units -Requires(post): systemd-units Requires: selinux-policy >= %{selinux_policy_version} Requires(post): selinux-policy-base >= %{selinux_policy_version} Requires: slapi-nis >= %{slapi_nis_version} Requires: pki-ca >= %{pki_version} Requires: pki-kra >= %{pki_version} -Requires(preun): systemd-units -Requires(postun): systemd-units +# pki-acme package was split out in pki-10.10.0 +Requires: (pki-acme >= %{pki_version} if pki-ca >= 10.10.0) Requires: policycoreutils >= 2.1.12-5 Requires: tar Requires(pre): certmonger >= %{certmonger_version} @@ -395,6 +437,8 @@ Requires: oddjob # 0.7.0-2: https://pagure.io/gssproxy/pull-request/172 Requires: gssproxy >= 0.7.0-2 Requires: sssd-dbus >= %{sssd_version} +Requires: libpwquality +Requires: cracklib-dicts Provides: %{alt_name}-server = %{version} Conflicts: %{alt_name}-server @@ -412,8 +456,10 @@ Obsoletes: %{name}-server <= 4.2.0 Conflicts: nss-pam-ldapd < 0.8.4 # RHEL spec file only: START: Do not build tests +%if 0%{?rhel} == 8 # ipa-tests subpackage was moved to separate srpm Conflicts: ipa-tests < 3.3.3-9 +%endif # RHEL spec file only: END: Do not build tests %description server @@ -444,7 +490,14 @@ Requires: python3-lxml Requires: python3-pki >= %{pki_version} Requires: python3-pyasn1 >= 0.3.2-2 Requires: python3-sssdconfig >= %{sssd_version} +Requires: python3-psutil Requires: rpm-libs +# Indirect dependency: use newer urllib3 with TLS 1.3 PHA support +%if 0%{?rhel} +Requires: python3-urllib3 >= 1.24.2-3 +%else +Requires: python3-urllib3 >= 1.25.7 +%endif %description -n python3-ipaserver IPA is an integrated solution to provide centrally managed Identity (users, @@ -460,9 +513,9 @@ Summary: Common files used by IPA server BuildArch: noarch Requires: %{name}-client-common = %{version}-%{release} Requires: httpd >= %{httpd_version} -Requires: systemd-units >= 38 +Requires: systemd-units >= %{systemd_version} Requires: custodia >= 0.3.1 -%if 0%{?rhel} > 7 +%if 0%{?rhel} >= 8 Requires: redhat-logos-ipa >= 80.4 %endif @@ -484,11 +537,18 @@ Summary: IPA integrated DNS server with support for automatic DNSSEC signing BuildArch: noarch Requires: %{name}-server = %{version}-%{release} Requires: bind-dyndb-ldap >= 11.2-2 -Requires: bind >= 9.11.0-6.P2 -Requires: bind-utils >= 9.11.0-6.P2 -Requires: bind-pkcs11 >= 9.11.0-6.P2 -Requires: bind-pkcs11-utils >= 9.11.0-6.P2 -Requires: opendnssec >= 1.4.6-4 +Requires: bind >= %{bind_version} +Requires: bind-utils >= %{bind_version} +%if %{with bind_pkcs11} +Requires: bind-pkcs11 >= %{bind_version} +Requires: bind-pkcs11-utils >= %{bind_version} +%else +Requires: softhsm >= %{softhsm_version} +Requires: openssl-pkcs11 >= %{openssl_pkcs11_version} +%endif +# See https://bugzilla.redhat.com/show_bug.cgi?id=1825812 +# RHEL 8.3+ and Fedora 32+ have 2.1 +Requires: opendnssec >= 2.1.6-5 %{?systemd_requires} Provides: %{alt_name}-server-dns = %{version} @@ -511,8 +571,9 @@ Requires: %{name}-common = %{version}-%{release} Requires: samba >= %{samba_version} Requires: samba-winbind Requires: libsss_idmap +%if 0%{?rhel} Obsoletes: ipa-idoverride-memberof-plugin <= 0.1 - +%endif Requires(post): python3 Requires: python3-samba Requires: python3-libsss_nss_idmap @@ -553,9 +614,14 @@ Requires: krb5-workstation >= %{krb5_version} Requires: authselect >= 0.4-2 Requires: curl # NIS domain name config: /usr/lib/systemd/system/*-domainname.service +# All Fedora 28+ and RHEL8+ contain the service in hostname package Requires: hostname Requires: libcurl >= 7.21.7-2 +%if %{with ipa_join_xml} Requires: xmlrpc-c >= 1.27.4 +%else +Requires: jansson +%endif Requires: sssd-ipa >= %{sssd_version} Requires: certmonger >= %{certmonger_version} Requires: nss-tools >= %{nss_version} @@ -579,8 +645,10 @@ Obsoletes: %{alt_name}-admintools < 4.4.1 Obsoletes: %{name}-admintools < 4.4.1 Provides: %{name}-admintools = %{version}-%{release} +%if 0%{?rhel} == 8 # Conflict with crypto-policies < 20200629-1 to get AD-SUPPORT policy module Conflicts: crypto-policies < 20200629-1 +%endif %description client IPA is an integrated solution to provide centrally managed Identity (users, @@ -609,16 +677,18 @@ Requires: cifs-utils This package provides command-line tools to deploy Samba domain member on the machine enrolled into a FreeIPA environment -%if ! %{ONLY_CLIENT} %package client-epn Summary: Tools to configure Expiring Password Notification in IPA Group: System Environment/Base Requires: %{name}-client = %{version}-%{release} +Requires: systemd-units >= %{systemd_version} +Requires(post): systemd-units >= %{systemd_version} +Requires(preun): systemd-units >= %{systemd_version} +Requires(postun): systemd-units >= %{systemd_version} %description client-epn This package provides a service to collect and send expiring password notifications via email (SMTP). -%endif %package -n python3-ipaclient Summary: Python libraries used by IPA client @@ -630,7 +700,6 @@ Requires: python3-ipalib = %{version}-%{release} Requires: python3-augeas Requires: python3-dns >= 1.15 Requires: python3-jinja2 -# RHEL spec file only: DELETED: Remove csrgen %description -n python3-ipaclient IPA is an integrated solution to provide centrally managed Identity (users, @@ -641,7 +710,6 @@ and integration with Active Directory based infrastructures (Trusts). If your network uses IPA for authentication, this package should be installed on every client machine. - %package client-common Summary: Common files used by IPA client BuildArch: noarch @@ -649,6 +717,12 @@ BuildArch: noarch Provides: %{alt_name}-client-common = %{version} Conflicts: %{alt_name}-client-common Obsoletes: %{alt_name}-client-common < %{version} +# python2-ipa* packages are no longer available in 4.8. +Obsoletes: python2-ipaclient < 4.8.0-1 +Obsoletes: python2-ipalib < 4.8.0-1 +Obsoletes: python2-ipaserver < 4.8.0-1 +Obsoletes: python2-ipatests < 4.8.0-1 + %description client-common IPA is an integrated solution to provide centrally managed Identity (users, @@ -744,11 +818,11 @@ Obsoletes: %{alt_name}-common < %{version} Conflicts: %{alt_name}-python < %{version} -%if 0%{?with_selinux} +%if %{with selinux} # This ensures that the *-selinux package and all it’s dependencies are not # pulled into containers and other systems that do not use SELinux. The # policy defines types and file contexts for client and server. -Requires: (%{name}-selinux = %{version}-%{release} if selinux-policy-%{selinuxtype}) +Requires: (%{name}-selinux if selinux-policy-%{selinuxtype}) %endif %description common @@ -760,7 +834,7 @@ and integration with Active Directory based infrastructures (Trusts). If you are using IPA, you need to install this package. -%if 0%{?with_ipatests} +%if %{with ipatests} %package -n python3-ipatests Summary: IPA tests and test tools @@ -769,18 +843,25 @@ BuildArch: noarch Requires: python3-ipaclient = %{version}-%{release} Requires: python3-ipaserver = %{version}-%{release} Requires: iptables -Requires: ldns-utils Requires: python3-coverage Requires: python3-cryptography >= 1.6 +%if 0%{?fedora} +# These packages do not exist on RHEL and for ipatests use +# they are installed on the controller through other means +Requires: ldns-utils Requires: python3-polib Requires: python3-pytest >= 3.9.1 Requires: python3-pytest-multihost >= 0.5 Requires: python3-pytest-sourceorder +Requires: sshpass +%endif Requires: python3-sssdconfig >= %{sssd_version} Requires: tar Requires: xz Requires: openssh-clients -Requires: sshpass +%if 0%{?rhel} +AutoReqProv: no +%endif %description -n python3-ipatests IPA is an integrated solution to provide centrally managed Identity (users, @@ -790,11 +871,11 @@ features for further integration with Linux based clients (SUDO, automount) and integration with Active Directory based infrastructures (Trusts). This package contains tests that verify IPA functionality under Python 3. -# with_ipatests +# with ipatests %endif -%if 0%{?with_selinux} +%if %{with selinux} # SELinux subpackage %package selinux Summary: FreeIPA SELinux policy @@ -805,12 +886,11 @@ Requires(post): selinux-policy-%{selinuxtype} %description selinux Custom SELinux policy module for FreeIPA -# with_selinux +# with selinux %endif %prep -# RHEL spec file only: START # Update timestamps on the files touched by a patch, to avoid non-equal # .pyc/.pyo files across the multilib peers within a build, where "Level" # is the patch prefix option (e.g. -p1) @@ -826,9 +906,7 @@ UpdateTimestamps() { done } -%setup -n freeipa-%{version} -q - -# RHEL spec file only: START +%setup -n freeipa-%{version}%{?rc_version} -q # To allow proper application patches to the stripped po files, strip originals pushd po @@ -843,28 +921,17 @@ for p in %patches ; do UpdateTimestamps -p1 $p done -# RHEL spec file only: END - -# RHEL spec file only: START -# Moved branding logos and background to redhat-logos-ipa-80.4: -# header-logo.png, login-screen-background.jpg, login-screen-logo.png, -# product-name.png -# RHEL spec file only: END - %build -# RHEL spec file only: START -autoreconf -i -f -# RHEL spec file only: END - # PATH is workaround for https://bugzilla.redhat.com/show_bug.cgi?id=1005235 export PATH=/usr/bin:/usr/sbin:$PATH export PYTHON=%{__python3} +autoreconf -ivf %configure --with-vendor-suffix=-%{release} \ %{enable_server_option} \ %{with_ipatests_option} \ - %{linter_options} \ - --with-ipaplatform=rhel + %{with_ipa_join_xml_option} \ + %{linter_options} # run build in default dir # -Onone is workaround for https://bugzilla.redhat.com/show_bug.cgi?id=1398405 @@ -884,18 +951,29 @@ make %{?_smp_mflags} check VERBOSE=yes LIBDIR=%{_libdir} # All files and directories created by spec install should be marked as ghost. # (These are typically configuration files created by IPA installer.) # All other artifacts should be created by make install. -# -%{__make} python_install DESTDIR=%{?buildroot} INSTALL="%{__install} -p" - -# default installation -# This installs all Python packages twice and overrides the ipa-test -# commands. We'll fix the command links later with ln --force. %make_install +# don't package ipasphinx for now +rm -rf %{buildroot}%{python3_sitelib}/ipasphinx* + +%if %{with ipatests} +mv %{buildroot}%{_bindir}/ipa-run-tests %{buildroot}%{_bindir}/ipa-run-tests-%{python3_version} +mv %{buildroot}%{_bindir}/ipa-test-config %{buildroot}%{_bindir}/ipa-test-config-%{python3_version} +mv %{buildroot}%{_bindir}/ipa-test-task %{buildroot}%{_bindir}/ipa-test-task-%{python3_version} +ln -rs %{buildroot}%{_bindir}/ipa-run-tests-%{python3_version} %{buildroot}%{_bindir}/ipa-run-tests-3 +ln -rs %{buildroot}%{_bindir}/ipa-test-config-%{python3_version} %{buildroot}%{_bindir}/ipa-test-config-3 +ln -rs %{buildroot}%{_bindir}/ipa-test-task-%{python3_version} %{buildroot}%{_bindir}/ipa-test-task-3 +ln -frs %{buildroot}%{_bindir}/ipa-run-tests-%{python3_version} %{buildroot}%{_bindir}/ipa-run-tests +ln -frs %{buildroot}%{_bindir}/ipa-test-config-%{python3_version} %{buildroot}%{_bindir}/ipa-test-config +ln -frs %{buildroot}%{_bindir}/ipa-test-task-%{python3_version} %{buildroot}%{_bindir}/ipa-test-task +# with_ipatests +%endif + # remove files which are useful only for make uninstall find %{buildroot} -wholename '*/site-packages/*/install_files.txt' -exec rm {} \; +%if 0%{?rhel} # RHEL spec file only: START # Moved branding logos and background to redhat-logos-ipa-80.4: # header-logo.png, login-screen-background.jpg, login-screen-logo.png, @@ -904,6 +982,7 @@ rm -f %{buildroot}%{_usr}/share/ipa/ui/images/header-logo.png rm -f %{buildroot}%{_usr}/share/ipa/ui/images/login-screen-background.jpg rm -f %{buildroot}%{_usr}/share/ipa/ui/images/login-screen-logo.png rm -f %{buildroot}%{_usr}/share/ipa/ui/images/product-name.png +%endif # RHEL spec file only: END %find_lang %{gettext_domain} @@ -955,18 +1034,6 @@ mkdir -p %{buildroot}%{_sysconfdir}/cron.d # ONLY_CLIENT %endif -%if %{ONLY_CLIENT} -# Remove ipa-epn parts as we don't have ipa-epn systemd integration generated -# for client-only build -rm %{buildroot}/%{_sbindir}/ipa-epn -rm %{buildroot}/%{_sysconfdir}/ipa/epn.conf -rm -rf %{buildroot}/%{_sysconfdir}/ipa/epn -rm %{buildroot}/%{_mandir}/man1/ipa-epn.1* -rm %{buildroot}/%{_mandir}/man5/epn.conf.5* -rm %{buildroot}/%{_unitdir}/ipa-epn.service -rm %{buildroot}/%{_unitdir}/ipa-epn.timer -%endif - %if ! %{ONLY_CLIENT} %post server @@ -983,7 +1050,7 @@ fi %posttrans server # don't execute upgrade and restart of IPA when server is not installed -%{python} -c "import sys; from ipaserver.install import installutils; sys.exit(0 if installutils.is_ipa_configured() else 1);" > /dev/null 2>&1 +%{__python3} -c "import sys; from ipalib import facts; sys.exit(0 if facts.is_ipa_configured() else 1);" > /dev/null 2>&1 if [ $? -eq 0 ]; then # This is necessary for Fedora system upgrades which by default @@ -999,6 +1066,11 @@ if [ $? -eq 0 ]; then if [ $? -eq 0 ]; then /bin/systemctl restart ipa.service >/dev/null fi + + /bin/systemctl is-enabled ipa-ccache-sweep.timer >/dev/null 2>&1 + if [ $? -eq 1 ]; then + /bin/systemctl enable ipa-ccache-sweep.timer>/dev/null + fi fi # END @@ -1062,7 +1134,7 @@ fi %posttrans server-trust-ad -%{python} -c "import sys; from ipaserver.install import installutils; sys.exit(0 if installutils.is_ipa_configured() else 1);" > /dev/null 2>&1 +%{__python3} -c "import sys; from ipalib import facts; sys.exit(0 if facts.is_ipa_configured() else 1);" > /dev/null 2>&1 if [ $? -eq 0 ]; then # NOTE: systemd specific section /bin/systemctl try-restart httpd.service >/dev/null 2>&1 || : @@ -1080,6 +1152,17 @@ fi # ONLY_CLIENT %endif +%preun client-epn +%systemd_preun ipa-epn.service +%systemd_preun ipa-epn.timer + +%postun client-epn +%systemd_postun ipa-epn.service +%systemd_postun ipa-epn.timer + +%post client-epn +%systemd_post ipa-epn.service +%systemd_post ipa-epn.timer %post client if [ $1 -gt 1 ] ; then @@ -1103,20 +1186,17 @@ if [ $1 -gt 1 ] ; then cp /etc/ipa/ca.crt /var/lib/ipa-client/pki/ca-bundle.pem fi - %{python} -c 'from ipaclient.install.client import configure_krb5_snippet; configure_krb5_snippet()' >>/var/log/ipaupgrade.log 2>&1 - fi - - if [ $restore -ge 2 ]; then - %{python} -c 'from ipaclient.install.client import update_ipa_nssdb; update_ipa_nssdb()' >/var/log/ipaupgrade.log 2>&1 - fi - - if [ $restore -ge 2 ]; then - sed -E --in-place=.orig 's/^(HostKeyAlgorithms ssh-rsa,ssh-dss)$/# disabled by ipa-client update\n# \1/' /etc/ssh/ssh_config + %{__python3} -c 'from ipaclient.install.client import configure_krb5_snippet; configure_krb5_snippet()' >>/var/log/ipaupgrade.log 2>&1 + %{__python3} -c 'from ipaclient.install.client import update_ipa_nssdb; update_ipa_nssdb()' >>/var/log/ipaupgrade.log 2>&1 + SSH_CLIENT_SYSTEM_CONF="/etc/ssh/ssh_config" + if [ -f "$SSH_CLIENT_SYSTEM_CONF" ]; then + sed -E --in-place=.orig 's/^(HostKeyAlgorithms ssh-rsa,ssh-dss)$/# disabled by ipa-client update\n# \1/' "$SSH_CLIENT_SYSTEM_CONF" + fi fi fi -%if 0%{?with_selinux} +%if %{with selinux} # SELinux contexts are saved so that only affected files can be # relabeled after the policy module installation %pre selinux @@ -1138,7 +1218,7 @@ fi %endif -%triggerin client -- openssh-server +%triggerin client -- openssh-server < 8.2 # Has the client been configured? restore=0 test -f '/var/lib/ipa-client/sysrestore/sysrestore.index' && restore=$(wc -l '/var/lib/ipa-client/sysrestore/sysrestore.index' | awk '{print $1}') @@ -1174,6 +1254,38 @@ if [ -f '/etc/ssh/sshd_config' -a $restore -ge 2 ]; then fi +%triggerin client -- openssh-server >= 8.2 +# Has the client been configured? +restore=0 +test -f '/var/lib/ipa-client/sysrestore/sysrestore.index' && restore=$(wc -l '/var/lib/ipa-client/sysrestore/sysrestore.index' | awk '{print $1}') + +if [ -f '/etc/ssh/sshd_config' -a $restore -ge 2 ]; then + # If the snippet already exists, skip + if [ ! -f '/etc/ssh/sshd_config.d/04-ipa.conf' ]; then + # Take the values from /etc/ssh/sshd_config and put them in 04-ipa.conf + grep -E '^(PubkeyAuthentication|KerberosAuthentication|GSSAPIAuthentication|UsePAM|ChallengeResponseAuthentication|AuthorizedKeysCommand|AuthorizedKeysCommandUser)' /etc/ssh/sshd_config 2>/dev/null > /etc/ssh/sshd_config.d/04-ipa.conf + # Remove the values from sshd_conf + sed -ri ' + /^(PubkeyAuthentication|KerberosAuthentication|GSSAPIAuthentication|UsePAM|ChallengeResponseAuthentication|AuthorizedKeysCommand|AuthorizedKeysCommandUser)[ \t]/ d + ' /etc/ssh/sshd_config + + /bin/systemctl condrestart sshd.service 2>&1 || : + fi + # If the snippet has been created, ensure that it is included + # either by /etc/ssh/sshd_config.d/*.conf or directly + if [ -f '/etc/ssh/sshd_config.d/04-ipa.conf' ]; then + if ! grep -E -q '^\s*Include\s*/etc/ssh/sshd_config.d/\*\.conf' /etc/ssh/sshd_config 2> /dev/null ; then + if ! grep -E -q '^\s*Include\s*/etc/ssh/sshd_config.d/04-ipa\.conf' /etc/ssh/sshd_config 2> /dev/null ; then + # Include the snippet + echo "Include /etc/ssh/sshd_config.d/04-ipa.conf" > /etc/ssh/sshd_config.ipanew + cat /etc/ssh/sshd_config >> /etc/ssh/sshd_config.ipanew + mv -fZ --backup=existing --suffix .ipaold /etc/ssh/sshd_config.ipanew /etc/ssh/sshd_config + fi + fi + fi +fi + + %if ! %{ONLY_CLIENT} %files server @@ -1202,14 +1314,11 @@ fi %{_sbindir}/ipa-pkinit-manage %{_sbindir}/ipa-crlgen-manage %{_sbindir}/ipa-cert-fix +%{_sbindir}/ipa-acme-manage %{_libexecdir}/certmonger/dogtag-ipa-ca-renew-agent-submit %{_libexecdir}/certmonger/ipa-server-guard %dir %{_libexecdir}/ipa -%dir %{_libexecdir}/ipa/custodia -%attr(755,root,root) %{_libexecdir}/ipa/custodia/ipa-custodia-dmldap -%attr(755,root,root) %{_libexecdir}/ipa/custodia/ipa-custodia-pki-tomcat -%attr(755,root,root) %{_libexecdir}/ipa/custodia/ipa-custodia-pki-tomcat-wrapped -%attr(755,root,root) %{_libexecdir}/ipa/custodia/ipa-custodia-ra-agent +%{_libexecdir}/ipa/ipa-ccache-sweeper %{_libexecdir}/ipa/ipa-custodia %{_libexecdir}/ipa/ipa-custodia-check %{_libexecdir}/ipa/ipa-httpd-kdcproxy @@ -1218,6 +1327,11 @@ fi %{_libexecdir}/ipa/ipa-pki-wait-running %{_libexecdir}/ipa/ipa-otpd %{_libexecdir}/ipa/ipa-print-pac +%dir %{_libexecdir}/ipa/custodia +%attr(755,root,root) %{_libexecdir}/ipa/custodia/ipa-custodia-dmldap +%attr(755,root,root) %{_libexecdir}/ipa/custodia/ipa-custodia-pki-tomcat +%attr(755,root,root) %{_libexecdir}/ipa/custodia/ipa-custodia-pki-tomcat-wrapped +%attr(755,root,root) %{_libexecdir}/ipa/custodia/ipa-custodia-ra-agent %dir %{_libexecdir}/ipa/oddjob %attr(0755,root,root) %{_libexecdir}/ipa/oddjob/org.freeipa.server.conncheck %attr(0755,root,root) %{_libexecdir}/ipa/oddjob/org.freeipa.server.trust-enable-agent @@ -1229,6 +1343,8 @@ fi %attr(644,root,root) %{_unitdir}/ipa.service %attr(644,root,root) %{_unitdir}/ipa-otpd.socket %attr(644,root,root) %{_unitdir}/ipa-otpd@.service +%attr(644,root,root) %{_unitdir}/ipa-ccache-sweep.service +%attr(644,root,root) %{_unitdir}/ipa-ccache-sweep.timer # END %attr(755,root,root) %{plugin_dir}/libipa_pwd_extop.so %attr(755,root,root) %{plugin_dir}/libipa_enrollment_extop.so @@ -1237,7 +1353,6 @@ fi %attr(755,root,root) %{plugin_dir}/libipa_uuid.so %attr(755,root,root) %{plugin_dir}/libipa_modrdn.so %attr(755,root,root) %{plugin_dir}/libipa_lockout.so -%attr(755,root,root) %{plugin_dir}/libipa_cldap.so %attr(755,root,root) %{plugin_dir}/libipa_dns.so %attr(755,root,root) %{plugin_dir}/libipa_range_check.so %attr(755,root,root) %{plugin_dir}/libipa_otp_counter.so @@ -1270,6 +1385,7 @@ fi %{_mandir}/man1/ipa-pkinit-manage.1* %{_mandir}/man1/ipa-crlgen-manage.1* %{_mandir}/man1/ipa-cert-fix.1* +%{_mandir}/man1/ipa-acme-manage.1* %files -n python3-ipaserver @@ -1294,6 +1410,7 @@ fi %{_usr}/share/ipa/kdcproxy.wsgi %{_usr}/share/ipa/ipaca*.ini %{_usr}/share/ipa/*.ldif +%exclude %{_datadir}/ipa/ipa-cldap-conf.ldif %{_usr}/share/ipa/*.uldif %{_usr}/share/ipa/*.template %dir %{_usr}/share/ipa/advise @@ -1326,10 +1443,15 @@ fi %{_usr}/share/ipa/ui/js/freeipa/core.js %dir %{_usr}/share/ipa/ui/js/plugins %dir %{_usr}/share/ipa/ui/images +%if 0%{?rhel} %{_usr}/share/ipa/ui/images/facet-*.png # Moved branding logos and background to redhat-logos-ipa-80.4: # header-logo.png, login-screen-background.jpg, login-screen-logo.png, # product-name.png +%else +%{_usr}/share/ipa/ui/images/*.jpg +%{_usr}/share/ipa/ui/images/*.png +%endif %dir %{_usr}/share/ipa/wsgi %{_usr}/share/ipa/wsgi/plugins.py* %dir %{_sysconfdir}/ipa @@ -1387,6 +1509,8 @@ fi %{_sbindir}/ipa-adtrust-install %{_usr}/share/ipa/smb.conf.empty %attr(755,root,root) %{_libdir}/samba/pdb/ipasam.so +%attr(755,root,root) %{plugin_dir}/libipa_cldap.so +%{_datadir}/ipa/ipa-cldap-conf.ldif %{_mandir}/man1/ipa-adtrust-install.1* %ghost %{_libdir}/krb5/plugins/libkrb5/winbind_krb5_locator.so %{_sysconfdir}/dbus-1/system.d/oddjob-ipa-trust.conf @@ -1416,6 +1540,8 @@ fi %{_mandir}/man1/ipa-client-automount.1* %{_mandir}/man1/ipa-certupdate.1* %{_mandir}/man1/ipa-join.1* +%dir %{_libexecdir}/ipa/acme +%{_libexecdir}/ipa/acme/certbot-dns-ipa %files client-samba %doc README.md Contributors.txt @@ -1423,7 +1549,7 @@ fi %{_sbindir}/ipa-client-samba %{_mandir}/man1/ipa-client-samba.1* -%if ! %{ONLY_CLIENT} + %files client-epn %doc README.md Contributors.txt %dir %{_sysconfdir}/ipa/epn @@ -1435,7 +1561,7 @@ fi %attr(644,root,root) %{_unitdir}/ipa-epn.timer %attr(600,root,root) %config(noreplace) %{_sysconfdir}/ipa/epn.conf %attr(644,root,root) %config(noreplace) %{_sysconfdir}/ipa/epn/expire_msg.template -%endif + %files -n python3-ipaclient %doc README.md Contributors.txt @@ -1455,7 +1581,17 @@ fi %dir %{python3_sitelib}/ipaclient/remote_plugins/2_* %{python3_sitelib}/ipaclient/remote_plugins/2_*/*.py %{python3_sitelib}/ipaclient/remote_plugins/2_*/__pycache__/*.py* +%if 0%{?rhel} # RHEL spec file only: DELETED: Remove csrgen +%else +%dir %{python3_sitelib}/ipaclient/csrgen +%dir %{python3_sitelib}/ipaclient/csrgen/profiles +%{python3_sitelib}/ipaclient/csrgen/profiles/*.json +%dir %{python3_sitelib}/ipaclient/csrgen/rules +%{python3_sitelib}/ipaclient/csrgen/rules/*.json +%dir %{python3_sitelib}/ipaclient/csrgen/templates +%{python3_sitelib}/ipaclient/csrgen/templates/*.tmpl +%endif %{python3_sitelib}/ipaclient-*.egg-info @@ -1493,7 +1629,7 @@ fi %doc README.md Contributors.txt %license COPYING %dir %{_usr}/share/ipa - +%dir %{_libexecdir}/ipa %files -n python3-ipalib %doc README.md Contributors.txt @@ -1507,7 +1643,7 @@ fi %{python3_sitelib}/ipaplatform-*.egg-info -%if 0%{?with_ipatests} +%if %{with ipatests} %files -n python3-ipatests @@ -1515,6 +1651,12 @@ fi %license COPYING %{python3_sitelib}/ipatests %{python3_sitelib}/ipatests-*.egg-info +%{_bindir}/ipa-run-tests-3 +%{_bindir}/ipa-test-config-3 +%{_bindir}/ipa-test-task-3 +%{_bindir}/ipa-run-tests-%{python3_version} +%{_bindir}/ipa-test-config-%{python3_version} +%{_bindir}/ipa-test-task-%{python3_version} %{_bindir}/ipa-run-tests %{_bindir}/ipa-test-config %{_bindir}/ipa-test-task @@ -1522,28 +1664,84 @@ fi %{_mandir}/man1/ipa-test-config.1* %{_mandir}/man1/ipa-test-task.1* -# with_ipatests +# with ipatests %endif -%if 0%{?with_selinux} +%if %{with selinux} %files selinux %{_datadir}/selinux/packages/%{selinuxtype}/%{modulename}.pp.* %ghost %{_sharedstatedir}/selinux/%{selinuxtype}/active/modules/200/%{modulename} -# with_selinux +# with selinux %endif %changelog -* Wed Sep 23 2020 Thomas Woerner <twoerner@redhat.com> - 4.8.7-12 -- Require selinux sub package in the proper version - Related: RHBZ#1868432 -- SELinux: do not double-define node_t and pki_tomcat_cert_t - Related: RHBZ#1868432 -- SELinux: add dedicated policy for ipa-pki-retrieve-key + ipatests - Related: RHBZ#1868432 -- dogtaginstance.py: add --debug to pkispawn - Resolves: RHBZ#1879604 +* Fri Dec 11 2020 Thomas Woerner <twoerner@redhat.com> - 4.9.0-0.5.rc3 +- Upstream pre release FreeIPA 4.9.0rc3 + Related: RHBZ#1891832 + +* Fri Dec 4 2020 Alexander Bokovoy <abokovoy@redhat.com> - 4.9.0-0.3.rc2 +- Remove ipa-server dependency from ipa-selinux subpackage +- Related: RHBZ#1891832 + +* Fri Dec 4 2020 Thomas Woerner <twoerner@redhat.com> - 4.9.0-0.2.rc2 +- Upstream pre release FreeIPA 4.9.0rc2 + Related: RHBZ#1891832 +- Synchronize spec file with upstream and Fedora + Related: RHBZ#1891832 +- Traceback while doing ipa-backup + Resolves: RHBZ#1901068 +- ipa-client-install changes system wide ssh configuration + Resolves: RRBZ#1544379 +- ipa-kdb: support subordinate/superior UPN suffixes + Resolves: RHBZ#1891056 +- KRA Transport and Storage Certificates do not renew + Resolves: RHBZ#1872603 +- Move where the restore state is marked during IPA server upgrade + Resolves: RHBZ#1569011 +- Intermittent IdM Client Registration Failures + Resolves: RHBZ#1812871 +- Nightly test failure in test_acme.py::TestACME::test_third_party_certs + (updates-testing) + Resolves: RHBZ#1903025 +- Add IPA RA Agent to ACME group on the CA + Resolves: RHBZ#1902727 + +* Mon Nov 23 2020 Thomas Woerner <twoerner@redhat.com> - 4.9.0-0.1.rc1 +- Fix requirement for python3-kdcproxy, add no autoreqprov for ipatests sub + package + Related: RHBZ#1891832 + +* Mon Nov 23 2020 Thomas Woerner <twoerner@redhat.com> - 4.9.0-0.rc1 +- Upstream pre release FreeIPA 4.9.0rc1 + Resolves: RHBZ#1891832 +- Requirements and design for libpwquality integration + Resolves: RHBZ#1340463 +- When parsing options require name/value pairs + Resolves: RHBZ#1357495 +- WebUI: Fix issue with opening links in new tab/window + Resolves: RHBZ#1484088 +- Use a state to determine if a 389-ds upgrade is in progress + Resolves: RHBZ#1569011 +- Unlock user accounts after a password reset and replicate that unlock to + all IdM servers + Resolves: RHBZ#1784657 +- Set the certmonger subject with a string, not an object + Resolves: RHBZ#1810148 +- Implement ACME certificate enrolment + Resolves: RHBZ#1851835 +- [WebUI] Backport jQuery patches from newer versions of the library (e.g. + 3.5.0) + Resolves: RHBZ#1859249 +- It is not possible to edit KDC database when the FreeIPA server is running + Resolves: RHBZ#1875001 +- Fix nsslapd-db-lock tuning of BDB backend + Resolves: RHBZ#1882340 +- ipa-kdb: support subordinate/superior UPN suffixes + Resolves: RHBZ#1891056 +- wgi/plugins.py: ignore empty plugin directories + Resolves: RHBZ#1894800 * Thu Sep 10 2020 Thomas Woerner <twoerner@redhat.com> - 4.8.7-11 - SELinux Policy: let custodia replicate keys