diff -Naur pymsnt-0.11.3/src/avatar.py pymsnt-0.11.3-1/src/avatar.py --- pymsnt-0.11.3/src/avatar.py 2008-02-08 14:55:07.000000000 +0100 +++ pymsnt-0.11.3-1/src/avatar.py 2011-09-04 13:40:02.350321866 +0200 @@ -6,7 +6,12 @@ from twisted.internet import reactor from twisted.words.xish.domish import Element -import sha, base64, os, os.path +import base64, os, os.path + +try: + from hashlib import sha1 +except ImportError: + from sha import sha as sha1 import utils import config @@ -34,7 +39,7 @@ class Avatar: """ Represents an Avatar. Does not store the image in memory. """ def __init__(self, imageData, avatarCache): - self.__imageHash = sha.sha(imageData).hexdigest() + self.__imageHash = sha1(imageData).hexdigest() self.__avatarCache = avatarCache def getImageHash(self): diff -Naur pymsnt-0.11.3/src/legacy/msn/msnp11chl.py pymsnt-0.11.3-1/src/legacy/msn/msnp11chl.py --- pymsnt-0.11.3/src/legacy/msn/msnp11chl.py 2008-02-08 14:55:07.000000000 +0100 +++ pymsnt-0.11.3-1/src/legacy/msn/msnp11chl.py 2011-09-04 13:40:02.351321854 +0200 @@ -1,16 +1,20 @@ # Copyright 2005 James Bunton <james@delx.cjb.net> # Licensed for distribution under the GPL version 2, check COPYING for details -import md5 import struct +try: + from hashlib import md5 +except ImportError: + from md5 import md5 + MSNP11_PRODUCT_ID = "PROD0090YUAUV{2B" MSNP11_PRODUCT_KEY = "YMM8C_H7KCQ2S_KL" MSNP11_MAGIC_NUM = 0x0E79A9C1 def doChallenge(chlData): - md5digest = md5.md5(chlData + MSNP11_PRODUCT_KEY).digest() + md5digest = md5(chlData + MSNP11_PRODUCT_KEY).digest() # Make array of md5 string ints md5Ints = struct.unpack("<llll", md5digest) diff -Naur pymsnt-0.11.3/src/legacy/msn/msn.py pymsnt-0.11.3-1/src/legacy/msn/msn.py --- pymsnt-0.11.3/src/legacy/msn/msn.py 2008-02-08 14:55:07.000000000 +0100 +++ pymsnt-0.11.3-1/src/legacy/msn/msn.py 2011-09-04 13:40:02.351321854 +0200 @@ -106,9 +106,12 @@ # System imports -import types, operator, os, sys, base64, random, struct, random, sha, base64, StringIO, array, codecs, binascii +import types, operator, os, sys, base64, random, struct, random, base64, StringIO, array, codecs, binascii from urllib import quote, unquote - +try: + from hashlib import sha1 +except ImportError: + from sha import sha as sha1 MSN_PROTOCOL_VERSION = "MSNP11 CVR0" # protocol version MSN_PORT = 1863 # default dispatch server port @@ -490,7 +493,7 @@ self.type = 3 self.location = "TMP" + str(random.randint(1000,9999)) self.friendly = "AAA=" - self.sha1d = b64enc(sha.sha(imageData).digest()) + self.sha1d = b64enc(sha1(imageData).digest()) self.makeText() def setNull(self): @@ -518,7 +521,7 @@ h.append(self.friendly) h.append("SHA1D") h.append(self.sha1d) - sha1c = b64enc(sha.sha("".join(h)).digest()) + sha1c = b64enc(sha1("".join(h)).digest()) self.text = '<msnobj Creator="%s" Size="%s" Type="%s" Location="%s" Friendly="%s" SHA1D="%s" SHA1C="%s"/>' % (self.creator, str(self.size), str(self.type), self.location, self.friendly, self.sha1d, sha1c) def parse(self, s): diff -Naur pymsnt-0.11.3/src/utils.py pymsnt-0.11.3-1/src/utils.py --- pymsnt-0.11.3/src/utils.py 2008-02-08 14:55:07.000000000 +0100 +++ pymsnt-0.11.3-1/src/utils.py 2011-09-04 13:40:02.351321854 +0200 @@ -1,17 +1,17 @@ # Copyright 2004-2005 James Bunton <james@delx.cjb.net> # Licensed for distribution under the GPL version 2, check COPYING for details +try: + from hashlib import sha1 +except ImportError: + from sha import sha as sha1 +def socks5Hash(sid, initiator, target): + return sha1("%s%s%s" % (sid, initiator, target)).hexdigest() def getLang(el): return el.getAttribute((u'http://www.w3.org/XML/1998/namespace', u'lang')) - -import sha -def socks5Hash(sid, initiator, target): - return sha.new("%s%s%s" % (sid, initiator, target)).hexdigest() - - import urllib import os.path def getURLBits(url, assumedType=None): diff -Naur pymsnt-0.11.3/src/xdb.py pymsnt-0.11.3-1/src/xdb.py --- pymsnt-0.11.3/src/xdb.py 2008-02-08 14:55:07.000000000 +0100 +++ pymsnt-0.11.3-1/src/xdb.py 2011-09-04 13:40:02.351321854 +0200 @@ -6,9 +6,13 @@ import os import os.path import shutil -import md5 import config +try: + from hashlib import md5 +except ImportError: + from md5 import md5 + X = os.path.sep SPOOL_UMASK = 0077 @@ -23,7 +27,7 @@ return file.replace("@", "%") def makeHash(file): - return md5.md5(file).hexdigest()[0:3] + return md5(file).hexdigest()[0:3] class XDB: