From bf7dd29a2d59e759325d7270acf0b493f2cf8380 Mon Sep 17 00:00:00 2001 From: Jarrod Johnson Date: Tue, 25 Mar 2014 14:26:13 -0400 Subject: [PATCH] Tolerate unicode strings as username and password In case of unicode username and password values, just utf-8 encode them. Here, the encoding shouldn't matter much. All parties must agree on encoding, but UTF-8 is fine. Change-Id: Ia4a8a4fcbc5ea9b12ee45ebcc566abe4713b544a --- pyghmi/ipmi/private/session.py | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/pyghmi/ipmi/private/session.py b/pyghmi/ipmi/private/session.py index a29b0082..56fc0986 100644 --- a/pyghmi/ipmi/private/session.py +++ b/pyghmi/ipmi/private/session.py @@ -330,16 +330,24 @@ class Session(object): self.cleaningup = False self.lastpayload = None self.bmc = bmc - self.userid = userid - self.password = password + try: + self.userid = userid.encode('utf-8') + self.password = password.encode('utf-8') + except AttributeError: + self.userid = userid + self.password = password self.nowait = False self.pendingpayloads = collections.deque([]) self.request_entry = [] self.kgo = kg if kg is not None: + try: + kg = kg.encode('utf-8') + except AttributeError: + pass self.kg = kg else: - self.kg = password + self.kg = self.password self.port = port if (onlogon is None): self.async = False