Update to upstream 4.5.1

This commit is contained in:
Tomas Krizek 2017-05-25 15:11:33 +02:00
parent 1a7895e56c
commit c72eb707b4
No known key found for this signature in database
GPG Key ID: 22A2A94B5E49415A
8 changed files with 461 additions and 885 deletions

2
.gitignore vendored
View File

@ -49,3 +49,5 @@
/freeipa-4.4.3.tar.gz
/freeipa-4.4.4.tar.gz
/freeipa-4.4.4.tar.gz.asc
/freeipa-4.5.1.tar.gz
/freeipa-4.5.1.tar.gz.asc

View File

@ -43,9 +43,9 @@ index ee9311e..bb201fa 100644
+
+sys.modules['requests.packages.urllib3.contrib.pyopenssl'] = None
+
from ipaplatform.paths import paths
from ipalib import api
from ipalib.config import Env
from ipalib.constants import DEFAULT_CONFIG
--
2.7.4

View File

@ -1,359 +0,0 @@
From 8ccf7266c6c37cc1e402f9a3fa4c0f15462a2e15 Mon Sep 17 00:00:00 2001
From: Tomas Krizek <tkrizek@redhat.com>
Date: Mon, 16 Jan 2017 13:48:54 +0100
Subject: [PATCH 1/6] Remove obsolete serial_autoincrement from named.conf
parsing
Option serial_autoincrement is no longer supported. Remove it from
the named.conf parser and add it to deprecated options to be removed.
https://fedorahosted.org/freeipa/ticket/6565
Reviewed-By: Martin Basti <mbasti@redhat.com>
---
ipaserver/install/server/upgrade.py | 56 +++----------------------------------
1 file changed, 4 insertions(+), 52 deletions(-)
diff --git a/ipaserver/install/server/upgrade.py b/ipaserver/install/server/upgrade.py
index eb4950d394a6297c13159c9d2de91d17f97a8943..b4c15ba7600bcdadd7a6cc50c9aac2805548dbd5 100644
--- a/ipaserver/install/server/upgrade.py
+++ b/ipaserver/install/server/upgrade.py
@@ -420,8 +420,8 @@ def named_remove_deprecated_options():
From IPA 3.3, persistent search is a default mechanism for new DNS zone
detection.
- Remove psearch, zone_refresh and cache_ttl options, as they have been
- deprecated in bind-dyndb-ldap configuration file.
+ Remove psearch, zone_refresh cache_ttl and serial_autoincrement options,
+ as they have been deprecated in bind-dyndb-ldap configuration file.
When some change in named.conf is done, this functions returns True.
"""
@@ -433,7 +433,8 @@ def named_remove_deprecated_options():
root_logger.info('DNS is not configured')
return False
- deprecated_options = ['zone_refresh', 'psearch', 'cache_ttl']
+ deprecated_options = ['zone_refresh', 'psearch', 'cache_ttl',
+ 'serial_autoincrement']
removed_options = []
try:
@@ -510,54 +511,6 @@ def named_set_minimum_connections():
return changed
-def named_enable_serial_autoincrement():
- """
- Serial autoincrement is a requirement for zone transfers or DNSSEC. It
- should be enabled both for new installs and upgraded servers.
-
- When some change in named.conf is done, this functions returns True
- """
- changed = False
-
- root_logger.info('[Enabling serial autoincrement in DNS]')
-
- if not bindinstance.named_conf_exists():
- # DNS service may not be configured
- root_logger.info('DNS is not configured')
- return changed
-
- try:
- serial_autoincrement = bindinstance.named_conf_get_directive(
- 'serial_autoincrement')
- except IOError as e:
- root_logger.debug('Cannot retrieve psearch option from %s: %s',
- bindinstance.NAMED_CONF, e)
- return changed
- else:
- serial_autoincrement = None if serial_autoincrement is None \
- else serial_autoincrement.lower()
-
- # enable SOA serial autoincrement
- if not sysupgrade.get_upgrade_state('named.conf', 'autoincrement_enabled'):
- if serial_autoincrement != 'yes':
- try:
- bindinstance.named_conf_set_directive('serial_autoincrement',
- 'yes')
- except IOError as e:
- root_logger.error('Cannot enable serial_autoincrement in %s: %s',
- bindinstance.NAMED_CONF, e)
- return changed
- else:
- root_logger.debug('Serial autoincrement enabled')
- changed = True
- else:
- root_logger.debug('Serial autoincrement is alredy enabled')
- sysupgrade.set_upgrade_state('named.conf', 'autoincrement_enabled', True)
- else:
- root_logger.debug('Skip serial autoincrement check')
-
- return changed
-
def named_update_gssapi_configuration():
"""
Update GSSAPI configuration in named.conf to a recent API.
@@ -1755,7 +1708,6 @@ def upgrade_configuration():
named_conf_changes = (
named_remove_deprecated_options(),
named_set_minimum_connections(),
- named_enable_serial_autoincrement(),
named_update_gssapi_configuration(),
named_update_pid_file(),
named_enable_dnssec(),
--
2.9.3
From 465c2a8df87a555162b91a9e34280b3d208ad8b3 Mon Sep 17 00:00:00 2001
From: Tomas Krizek <tkrizek@redhat.com>
Date: Mon, 19 Dec 2016 13:12:19 +0100
Subject: [PATCH 2/6] named.conf template: update API for bind 9.11
Use the new API for bind 9.11. Removed deprecated "serial_autoincrement"
and updated the rest of configuration to conform to the new format.
This only fixes new IPA installations. For existing installations,
named.conf will be transformed when the new version of bind-dyndb-ldap
is installed.
https://fedorahosted.org/freeipa/ticket/6565
Reviewed-By: Martin Basti <mbasti@redhat.com>
---
install/share/bind.named.conf.template | 16 +++++++---------
ipaplatform/redhat/paths.py | 1 +
ipaserver/install/bindinstance.py | 1 +
3 files changed, 9 insertions(+), 9 deletions(-)
diff --git a/install/share/bind.named.conf.template b/install/share/bind.named.conf.template
index e8ea8fba022c4f539fb84a64875b0c5ca46c761b..b7c3a0b78e23f9b5ac2d221dad24a039af201035 100644
--- a/install/share/bind.named.conf.template
+++ b/install/share/bind.named.conf.template
@@ -43,13 +43,11 @@ zone "." IN {
include "$RFC1912_ZONES";
include "$ROOT_KEY";
-dynamic-db "ipa" {
- library "ldap.so";
- arg "uri ldapi://%2fvar%2frun%2fslapd-$SERVER_ID.socket";
- arg "base cn=dns, $SUFFIX";
- arg "server_id $FQDN";
- arg "auth_method sasl";
- arg "sasl_mech GSSAPI";
- arg "sasl_user DNS/$FQDN";
- arg "serial_autoincrement yes";
+dyndb "ipa" "$BIND_LDAP_SO" {
+ uri "ldapi://%2fvar%2frun%2fslapd-$SERVER_ID.socket";
+ base "cn=dns, $SUFFIX";
+ server_id "$FQDN";
+ auth_method "sasl";
+ sasl_mech "GSSAPI";
+ sasl_user "DNS/$FQDN";
};
diff --git a/ipaplatform/redhat/paths.py b/ipaplatform/redhat/paths.py
index b27b065ad52c49852231039a66c47c2b80df3a62..8212f40cf8afcbd9017018ed538befdaceeb2d9d 100644
--- a/ipaplatform/redhat/paths.py
+++ b/ipaplatform/redhat/paths.py
@@ -33,6 +33,7 @@ class RedHatPathNamespace(BasePathNamespace):
if sys.maxsize > 2**32:
LIBSOFTHSM2_SO = BasePathNamespace.LIBSOFTHSM2_SO_64
PAM_KRB5_SO = BasePathNamespace.PAM_KRB5_SO_64
+ BIND_LDAP_SO = BasePathNamespace.BIND_LDAP_SO_64
paths = RedHatPathNamespace()
diff --git a/ipaserver/install/bindinstance.py b/ipaserver/install/bindinstance.py
index 7aa9ed4f4baedc686b929e758d72bf992a68a967..478ec4a168667affe6bb00cdac965e39e1858ebb 100644
--- a/ipaserver/install/bindinstance.py
+++ b/ipaserver/install/bindinstance.py
@@ -798,6 +798,7 @@ class BindInstance(service.Service):
RFC1912_ZONES=paths.NAMED_RFC1912_ZONES,
NAMED_PID=paths.NAMED_PID,
NAMED_VAR_DIR=paths.NAMED_VAR_DIR,
+ BIND_LDAP_SO=paths.BIND_LDAP_SO,
)
def __setup_dns_container(self):
--
2.9.3
From 8cba2c137bd7de298f41f001ab8b27687691fc44 Mon Sep 17 00:00:00 2001
From: Tomas Krizek <tkrizek@redhat.com>
Date: Mon, 19 Dec 2016 16:52:08 +0100
Subject: [PATCH 3/6] bump required version of BIND, bind-dyndb-ldap
bynd-dyndb-ldap used a custom configuration file format. Since BIND 9.11,
an API was accepted upstream. This caused backward incompatible changes
to the named.conf configuration file used to configure the
bind-dyndb-ldap BIND plugin. Version 11.0 of bind-dyndb-ldap plugin and
BIND 9.11 are required to use with the new config file format.
https://fedorahosted.org/freeipa/ticket/6565
Reviewed-By: Martin Basti <mbasti@redhat.com>
---
freeipa.spec.in | 17 +++++------------
1 file changed, 5 insertions(+), 12 deletions(-)
diff --git a/freeipa.spec.in b/freeipa.spec.in
index 8a8e3a592cc0e414dc71202dc8c1f7d9b0526d5c..8b9fa591947a9a5b2bc84eba9b54ef750a9d68e8 100644
--- a/freeipa.spec.in
+++ b/freeipa.spec.in
@@ -257,18 +257,11 @@ Summary: IPA integrated DNS server with support for automatic DNSSEC signing
Group: System Environment/Base
BuildArch: noarch
Requires: %{name}-server = %{version}-%{release}
-Requires: bind-dyndb-ldap >= 10.0
-%if 0%{?fedora} >= 21
-Requires: bind >= 9.9.6-3
-Requires: bind-utils >= 9.9.6-3
-Requires: bind-pkcs11 >= 9.9.6-3
-Requires: bind-pkcs11-utils >= 9.9.6-3
-%else
-Requires: bind >= 9.9.4-21
-Requires: bind-utils >= 9.9.4-21
-Requires: bind-pkcs11 >= 9.9.4-21
-Requires: bind-pkcs11-utils >= 9.9.4-21
-%endif
+Requires: bind-dyndb-ldap >= 11.0
+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
Provides: %{alt_name}-server-dns = %{version}
--
2.9.3
From b6eb03369a7546077f28ff45db27c76c5bc44584 Mon Sep 17 00:00:00 2001
From: Tomas Krizek <tkrizek@redhat.com>
Date: Fri, 10 Feb 2017 11:30:40 +0100
Subject: [PATCH 4/6] PEP8: fix line length for regexs in bindinstance
Reviewed-By: Martin Basti <mbasti@redhat.com>
---
ipaserver/install/bindinstance.py | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/ipaserver/install/bindinstance.py b/ipaserver/install/bindinstance.py
index 478ec4a168667affe6bb00cdac965e39e1858ebb..9c10ac98175e0dd5ea98c54eeadcb3452aac04e5 100644
--- a/ipaserver/install/bindinstance.py
+++ b/ipaserver/install/bindinstance.py
@@ -69,12 +69,15 @@ RESOLV_CONF = paths.RESOLV_CONF
named_conf_section_ipa_start_re = re.compile('\s*dynamic-db\s+"ipa"\s+{')
named_conf_section_options_start_re = re.compile('\s*options\s+{')
named_conf_section_end_re = re.compile('};')
-named_conf_arg_ipa_re = re.compile(r'(?P<indent>\s*)arg\s+"(?P<name>\S+)\s(?P<value>[^"]+)";')
-named_conf_arg_options_re = re.compile(r'(?P<indent>\s*)(?P<name>\S+)\s+"(?P<value>[^"]+)"\s*;')
+named_conf_arg_ipa_re = re.compile(
+ r'(?P<indent>\s*)arg\s+"(?P<name>\S+)\s(?P<value>[^"]+)";')
+named_conf_arg_options_re = re.compile(
+ r'(?P<indent>\s*)(?P<name>\S+)\s+"(?P<value>[^"]+)"\s*;')
named_conf_arg_ipa_template = "%(indent)sarg \"%(name)s %(value)s\";\n"
named_conf_arg_options_template = "%(indent)s%(name)s \"%(value)s\";\n"
# non string args for options section
-named_conf_arg_options_re_nonstr = re.compile(r'(?P<indent>\s*)(?P<name>\S+)\s+(?P<value>[^"]+)\s*;')
+named_conf_arg_options_re_nonstr = re.compile(
+ r'(?P<indent>\s*)(?P<name>\S+)\s+(?P<value>[^"]+)\s*;')
named_conf_arg_options_template_nonstr = "%(indent)s%(name)s %(value)s;\n"
# include directive
named_conf_include_re = re.compile(r'\s*include\s+"(?P<path>)"\s*;')
--
2.9.3
From 06fd56b4f5f57a0cf9258ecede8af8ab40433364 Mon Sep 17 00:00:00 2001
From: Tomas Krizek <tkrizek@redhat.com>
Date: Fri, 10 Feb 2017 11:16:56 +0100
Subject: [PATCH 5/6] bindinstance: fix named.conf parsing regexs
Since named.conf API for bind-dyndb-ldap was updated, our parsing
regexes have to change.
https://fedorahosted.org/freeipa/ticket/6565
Reviewed-By: Martin Basti <mbasti@redhat.com>
---
ipaserver/install/bindinstance.py | 13 ++++++-------
1 file changed, 6 insertions(+), 7 deletions(-)
diff --git a/ipaserver/install/bindinstance.py b/ipaserver/install/bindinstance.py
index 9c10ac98175e0dd5ea98c54eeadcb3452aac04e5..30123b74065c7a209c95baedec35ed25d3e112fd 100644
--- a/ipaserver/install/bindinstance.py
+++ b/ipaserver/install/bindinstance.py
@@ -66,14 +66,14 @@ if six.PY3:
NAMED_CONF = paths.NAMED_CONF
RESOLV_CONF = paths.RESOLV_CONF
-named_conf_section_ipa_start_re = re.compile('\s*dynamic-db\s+"ipa"\s+{')
+named_conf_section_ipa_start_re = re.compile('\s*dyndb\s+"ipa"\s+"[^"]+"\s+{')
named_conf_section_options_start_re = re.compile('\s*options\s+{')
named_conf_section_end_re = re.compile('};')
named_conf_arg_ipa_re = re.compile(
- r'(?P<indent>\s*)arg\s+"(?P<name>\S+)\s(?P<value>[^"]+)";')
+ r'(?P<indent>\s*)(?P<name>\S+)\s"(?P<value>[^"]+)";')
named_conf_arg_options_re = re.compile(
r'(?P<indent>\s*)(?P<name>\S+)\s+"(?P<value>[^"]+)"\s*;')
-named_conf_arg_ipa_template = "%(indent)sarg \"%(name)s %(value)s\";\n"
+named_conf_arg_ipa_template = "%(indent)s%(name)s \"%(value)s\";\n"
named_conf_arg_options_template = "%(indent)s%(name)s \"%(value)s\";\n"
# non string args for options section
named_conf_arg_options_re_nonstr = re.compile(
@@ -92,13 +92,12 @@ def create_reverse():
def named_conf_exists():
try:
- named_fd = open(NAMED_CONF, 'r')
+ with open(NAMED_CONF, 'r') as named_fd:
+ lines = named_fd.readlines()
except IOError:
return False
- lines = named_fd.readlines()
- named_fd.close()
for line in lines:
- if line.startswith('dynamic-db "ipa"'):
+ if named_conf_section_ipa_start_re.match(line):
return True
return False
--
2.9.3
From 7d425b90ebb66f9c3e2f18e78709215b59e4a985 Mon Sep 17 00:00:00 2001
From: Tomas Krizek <tkrizek@redhat.com>
Date: Mon, 13 Feb 2017 18:36:12 +0100
Subject: [PATCH 6/6] Bump required version of bind-dyndb-ldap to 11.0-2
Fedora release bind-dyndb-ldap 11.0-2 transforms existing named.conf
old style API to the new style API. This package version is required
to enable upgrade of existing IPA installations to new version.
https://fedorahosted.org/freeipa/ticket/6565
Reviewed-By: Pavel Vomacka <pvomacka@redhat.com>
---
freeipa.spec.in | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/freeipa.spec.in b/freeipa.spec.in
index 8b9fa591947a9a5b2bc84eba9b54ef750a9d68e8..1dd8d0c60cacfc79554bb3c61fa8297e89b7b192 100644
--- a/freeipa.spec.in
+++ b/freeipa.spec.in
@@ -257,7 +257,7 @@ Summary: IPA integrated DNS server with support for automatic DNSSEC signing
Group: System Environment/Base
BuildArch: noarch
Requires: %{name}-server = %{version}-%{release}
-Requires: bind-dyndb-ldap >= 11.0
+Requires: bind-dyndb-ldap >= 11.0-2
Requires: bind >= 9.11.0-6.P2
Requires: bind-utils >= 9.11.0-6.P2
Requires: bind-pkcs11 >= 9.11.0-6.P2
--
2.9.3

View File

@ -1,106 +0,0 @@
From 307c4bd62609c9ac58633e3ccc61d85e2caacbcc Mon Sep 17 00:00:00 2001
From: Christian Heimes <cheimes@redhat.com>
Date: Wed, 3 May 2017 16:38:21 +0200
Subject: [PATCH] Run ipa-custodia under Python 2
Closes: https://pagure.io/freeipa/issue/6926
Signed-off-by: Christian Heimes <cheimes@redhat.com>
Reviewed-By: Stanislav Laznicka <slaznick@redhat.com>
---
freeipa.spec.in | 10 ++++++----
init/systemd/ipa-custodia.service | 3 +--
install/tools/Makefile.am | 1 +
install/tools/ipa-custodia | 6 ++++++
4 files changed, 14 insertions(+), 6 deletions(-)
create mode 100755 install/tools/ipa-custodia
diff --git a/freeipa.spec.in b/freeipa.spec.in
index e0f1df2..21f2416 100644
--- a/freeipa.spec.in
+++ b/freeipa.spec.in
@@ -112,7 +112,8 @@ BuildRequires: python-pytest-sourceorder
BuildRequires: python-kdcproxy >= 0.3
BuildRequires: python-six
BuildRequires: python-jwcrypto
-BuildRequires: custodia
+# install/tools/ipa-custodia needs custodia 0.2+
+BuildRequires: custodia >= 0.2
BuildRequires: libini_config-devel >= 1.2.0
BuildRequires: dbus-python
BuildRequires: python-netifaces >= 0.10.4
@@ -246,7 +247,7 @@ BuildArch: noarch
Requires: %{name}-client-common = %{version}-%{release}
Requires: httpd >= 2.4.6-31
Requires: systemd-units >= 38
-Requires: custodia
+Requires: custodia >= 0.2
Provides: %{alt_name}-server-common = %{version}
Conflicts: %{alt_name}-server-common
@@ -498,7 +499,7 @@ Requires: python-jwcrypto
Requires: python-cffi
Requires: python-ldap >= 2.4.15
Requires: python-requests
-Requires: python-custodia
+Requires: python-custodia >= 0.2
Requires: python-dns >= 1.13
Requires: python-netifaces >= 0.10.4
Requires: pyusb
@@ -546,7 +547,7 @@ Requires: python3-six
Requires: python3-jwcrypto
Requires: python3-cffi
Requires: python3-pyldap >= 2.4.15
-Requires: python3-custodia
+Requires: python3-custodia >= 0.2
Requires: python3-requests
Requires: python3-dns >= 1.11.1
Requires: python3-netifaces >= 0.10.4
@@ -1069,6 +1070,7 @@ fi
%{_libexecdir}/certmonger/ipa-server-guard
%{_libexecdir}/ipa-otpd
%dir %{_libexecdir}/ipa
+%{_libexecdir}/ipa/ipa-custodia
%{_libexecdir}/ipa/ipa-dnskeysyncd
%{_libexecdir}/ipa/ipa-dnskeysync-replica
%{_libexecdir}/ipa/ipa-ods-exporter
diff --git a/init/systemd/ipa-custodia.service b/init/systemd/ipa-custodia.service
index ff930fb..63246c4 100644
--- a/init/systemd/ipa-custodia.service
+++ b/init/systemd/ipa-custodia.service
@@ -3,8 +3,7 @@ Description=IPA Custodia Service
[Service]
Type=simple
-
-ExecStart=/usr/sbin/custodia /etc/ipa/custodia/custodia.conf
+ExecStart=/usr/libexec/ipa/ipa-custodia /etc/ipa/custodia/custodia.conf
PrivateTmp=yes
Restart=on-failure
RestartSec=60s
diff --git a/install/tools/Makefile.am b/install/tools/Makefile.am
index 2866a30..66ee9e3 100644
--- a/install/tools/Makefile.am
+++ b/install/tools/Makefile.am
@@ -38,6 +38,7 @@ EXTRA_DIST = \
appdir = $(libexecdir)/ipa/
app_SCRIPTS = \
+ ipa-custodia \
ipa-httpd-kdcproxy \
ipa-pki-retrieve-key \
$(NULL)
diff --git a/install/tools/ipa-custodia b/install/tools/ipa-custodia
new file mode 100755
index 0000000..2086a9c
--- /dev/null
+++ b/install/tools/ipa-custodia
@@ -0,0 +1,6 @@
+#!/usr/bin/python2
+# Copyright (C) 2017 IPA Project Contributors, see COPYING for license
+from custodia.server import main
+
+if __name__ == '__main__':
+ main()
--
2.9.3

View File

@ -1,30 +0,0 @@
From 9d5a719a2436d5afca74ce78ae1b14ccdcfbbf0e Mon Sep 17 00:00:00 2001
From: Tomas Krizek <tkrizek@redhat.com>
Date: Wed, 17 May 2017 09:33:42 +0200
Subject: [PATCH] Remove surplus 'the' in output of ipa-adtrust-install
Fixing the typo
https://pagure.io/freeipa/issue/6864
Reviewed-By: Stanislav Laznicka <slaznick@redhat.com>
---
install/tools/ipa-adtrust-install | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/install/tools/ipa-adtrust-install b/install/tools/ipa-adtrust-install
index d738cc6..0f61075 100755
--- a/install/tools/ipa-adtrust-install
+++ b/install/tools/ipa-adtrust-install
@@ -370,7 +370,7 @@ def main():
print("WARNING: %d existing users or groups do not have a SID identifier assigned." \
% len(entries))
print("Installer can run a task to have ipa-sidgen Directory Server plugin generate")
- print("the SID identifier for all these users. Please note, the in case of a high")
+ print("the SID identifier for all these users. Please note, in case of a high")
print("number of users and groups, the operation might lead to high replication")
print("traffic and performance degradation. Refer to ipa-adtrust-install(1) man page")
print("for details.")
--
2.9.3

View File

@ -1,49 +0,0 @@
From 5536b06c0f289f1408d5ca5525a53494a08337a5 Mon Sep 17 00:00:00 2001
From: Abhijeet Kasurde <akasurde@redhat.com>
Date: Thu, 12 Jan 2017 18:38:37 +0530
Subject: [PATCH] Add fix for ipa plugins command
Fix adds count of plugins loaded to return dict
Fixes https://fedorahosted.org/freeipa/ticket/6513
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
Reviewed-By: Martin Basti <mbasti@redhat.com>
Reviewed-By: Martin Babinsky <mbabinsk@redhat.com>
---
ipaserver/plugins/misc.py | 3 ++-
ipatests/test_cmdline/test_cli.py | 3 +++
2 files changed, 5 insertions(+), 1 deletion(-)
diff --git a/ipaserver/plugins/misc.py b/ipaserver/plugins/misc.py
index 7618e23..fa8224f 100644
--- a/ipaserver/plugins/misc.py
+++ b/ipaserver/plugins/misc.py
@@ -138,8 +138,9 @@ class plugins(LocalOrRemote):
for plugin in self.api[namespace]():
cls = type(plugin)
key = '{}.{}'.format(cls.__module__, cls.__name__)
- result.setdefault(key, []).append(namespace)
+ result.setdefault(key, []).append(namespace.decode('utf-8'))
return dict(
result=result,
+ count=len(result),
)
diff --git a/ipatests/test_cmdline/test_cli.py b/ipatests/test_cmdline/test_cli.py
index 07bab23..4585126 100644
--- a/ipatests/test_cmdline/test_cli.py
+++ b/ipatests/test_cmdline/test_cli.py
@@ -51,6 +51,9 @@ class TestCLIParsing(object):
def test_ping(self):
self.check_command('ping', 'ping')
+ def test_plugins(self):
+ self.check_command('plugins', 'plugins')
+
def test_user_show(self):
self.check_command('user-show admin', 'user_show', uid=u'admin')
--
2.9.3

File diff suppressed because it is too large Load Diff

View File

@ -1,2 +1,2 @@
SHA512 (freeipa-4.4.4.tar.gz) = f35d498529cbd487a93098cd70cd0c16de67e58a90ff576746f73e7a9f428ff465302ac50ca9481984fe838d5988fc36fec79b90dabcdef2029f8a2373e44b8c
SHA512 (freeipa-4.4.4.tar.gz.asc) = 174cba773266fe70dee695270da38f5a989f2e8328ef9b5761bcb50b4948a6836d6761e8aeca83db923bfc827ffae8b7760ef55968e5c3855cab158da2f60b1a
SHA512 (freeipa-4.5.1.tar.gz) = d9579a57724384bdbcc264d9749e66e31a49c243c514444819d61f3f687d65ce2e4552c8c1222283cbe16c6fd0e184887ab707752ca1c38e9ebe3a073e3c5a2b
SHA512 (freeipa-4.5.1.tar.gz.asc) = 9cde8cd9ee65e4cdbf9bbfd7acf7c712e07f547c34e1fc0576ba7aa3cc07a0bd1a35b774a6d8ebba715a5e366002c76ffa5eacbdab2982aca2af59464d79d670