# Light wrapper for binary type
-class HMFBin(str):
+class HMFBin(bytes):
pass
if type(f) in [list, dict]:
ret = ret + binary_write(f)
- elif type(f) in [str, HMFBin]:
+ elif type(f) in [str]:
ret = ret + f.encode()
+ elif type(f) in [HMFBin]:
+ ret = ret + f
elif type(f) == int:
while f:
ret = ret + struct.pack("B", (f & 0xFF))
# Create passwd digest
def htsp_digest(user, passwd, chal):
import hashlib
- ret = hashlib.sha1(passwd + chal).digest()
- return ret
+ salted = passwd.encode('utf-8') + chal
+ return hashlib.sha1(salted).digest()
# Client object
-#!/usr/bin/env python
+#!/usr/bin/env python2
#
# Copyright (C) 2012 Adam Sutton <dev@adamsutton.me.uk>
#
"""
# System imports
-import os, sys, pprint
+import os, sys, pprint, traceback
from optparse import OptionParser
# System path
except KeyboardInterrupt: pass
except Exception as e:
log.error(e)
+ traceback.print_exc()
sys.exit(1)
# ############################################################################