aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Crute <mike@crute.us>2017-10-07 22:37:56 +0000
committerMike Crute <mike@crute.us>2017-10-07 22:37:59 +0000
commita8932e9f004a83cae58ed0b086271e2191a04b83 (patch)
tree5a2f6de303ebdd007d18413faab8a817071ab7ab
parent108b2295dff5d184d5e78f1d99bd743deeca27f8 (diff)
downloadpydora-a8932e9f004a83cae58ed0b086271e2191a04b83.tar.bz2
pydora-a8932e9f004a83cae58ed0b086271e2191a04b83.tar.xz
pydora-a8932e9f004a83cae58ed0b086271e2191a04b83.zip
Make strip_padding python 2 compatible
-rw-r--r--pandora/transport.py10
1 files changed, 8 insertions, 2 deletions
diff --git a/pandora/transport.py b/pandora/transport.py
index 42aba2a..0174eac 100644
--- a/pandora/transport.py
+++ b/pandora/transport.py
@@ -260,9 +260,15 @@ class BlowfishCryptor(object):
260 260
261 @staticmethod 261 @staticmethod
262 def _strip_padding(data): 262 def _strip_padding(data):
263 pad_size = int(data[-1]) 263 try:
264 if not data[-pad_size:] == bytes((pad_size,)) * pad_size: 264 pad_size = int(data[-1]) # python3
265 except ValueError: # pragma: no cover
266 pad_size = ord(data[-1]) # python2
267
268 computed = b"".join([chr(pad_size).encode("ascii")] * pad_size)
269 if not data[-pad_size:] == computed:
265 raise ValueError('Invalid padding') 270 raise ValueError('Invalid padding')
271
266 return data[:-pad_size] 272 return data[:-pad_size]
267 273
268 274