diff options
author | Martin Basti <mbasti@redhat.com> | 2014-12-12 14:23:32 +0100 |
---|---|---|
committer | Martin Kosek <mkosek@redhat.com> | 2015-01-12 17:10:22 +0100 |
commit | 727f8099af9ace4a7a8e4489b34aa2db440336b2 (patch) | |
tree | cbb6c62d353db9d274701fbb2ac702f7127b3bde | |
parent | 9225624fd8f61f57a530e6bd696024e9c58e9579 (diff) | |
download | freeipa-727f8099af9ace4a7a8e4489b34aa2db440336b2.tar.gz freeipa-727f8099af9ace4a7a8e4489b34aa2db440336b2.tar.xz freeipa-727f8099af9ace4a7a8e4489b34aa2db440336b2.zip |
Fix traceback if zonemgr error contains unicode
Ticket: https://fedorahosted.org/freeipa/ticket/4805
Reviewed-By: David Kupka <dkupka@redhat.com>
-rw-r--r-- | ipaserver/install/bindinstance.py | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/ipaserver/install/bindinstance.py b/ipaserver/install/bindinstance.py index 547cf19ee..4e630e8dd 100644 --- a/ipaserver/install/bindinstance.py +++ b/ipaserver/install/bindinstance.py @@ -411,7 +411,14 @@ def zonemgr_callback(option, opt_str, value, parser): value = value.decode(encoding) validate_zonemgr_str(value) except ValueError, e: - parser.error("invalid zonemgr: " + unicode(e)) + # FIXME we can do this in better way + # https://fedorahosted.org/freeipa/ticket/4804 + # decode to proper stderr encoding + stderr_encoding = getattr(sys.stderr, 'encoding', None) + if stderr_encoding is None: + stderr_encoding = 'utf-8' + error = unicode(e).encode(stderr_encoding) + parser.error("invalid zonemgr: " + error) parser.values.zonemgr = value |