summaryrefslogtreecommitdiffstats
path: root/ipaserver/install/bindinstance.py
diff options
context:
space:
mode:
authorMartin Basti <mbasti@redhat.com>2014-12-12 14:23:32 +0100
committerMartin Kosek <mkosek@redhat.com>2015-01-12 17:10:22 +0100
commit727f8099af9ace4a7a8e4489b34aa2db440336b2 (patch)
treecbb6c62d353db9d274701fbb2ac702f7127b3bde /ipaserver/install/bindinstance.py
parent9225624fd8f61f57a530e6bd696024e9c58e9579 (diff)
downloadfreeipa-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>
Diffstat (limited to 'ipaserver/install/bindinstance.py')
-rw-r--r--ipaserver/install/bindinstance.py9
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