diff options
author | Mike Crute <mike@crute.us> | 2017-10-07 22:37:56 +0000 |
---|---|---|
committer | Mike Crute <mike@crute.us> | 2017-10-07 22:37:59 +0000 |
commit | a8932e9f004a83cae58ed0b086271e2191a04b83 (patch) | |
tree | 5a2f6de303ebdd007d18413faab8a817071ab7ab | |
parent | 108b2295dff5d184d5e78f1d99bd743deeca27f8 (diff) | |
download | pydora-a8932e9f004a83cae58ed0b086271e2191a04b83.tar.bz2 pydora-a8932e9f004a83cae58ed0b086271e2191a04b83.tar.xz pydora-a8932e9f004a83cae58ed0b086271e2191a04b83.zip |
Make strip_padding python 2 compatible
-rw-r--r-- | pandora/transport.py | 10 |
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 | ||