tests: make Impacket (SMB server) Python 3 compatible

Closes #3731
Fixes #3289
This commit is contained in:
cclauss 2019-04-05 01:32:39 +02:00 committed by Daniel Stenberg
parent cd3edb0827
commit aba1c51553
No known key found for this signature in database
GPG key ID: 5CC908FDB71E12C2
9 changed files with 352 additions and 342 deletions

View file

@ -629,9 +629,9 @@ class SharedFile:
@staticmethod
def __convert_smbtime(t):
x = t >> 32
y = t & 0xffffffffL
y = t & 0xffffffff
geo_cal_offset = 11644473600.0 # = 369.0 * 365.25 * 24 * 60 * 60 - (3.0 * 24 * 60 * 60 + 6.0 * 60 * 60)
return (x * 4.0 * (1 << 30) + (y & 0xfff00000L)) * 1.0e-7 - geo_cal_offset
return (x * 4.0 * (1 << 30) + (y & 0xfff00000)) * 1.0e-7 - geo_cal_offset
# Contain information about a SMB machine
@ -676,12 +676,12 @@ class NewSMBPacket(Structure):
def __init__(self, **kargs):
Structure.__init__(self, **kargs)
if self.fields.has_key('Flags2') is False:
if ('Flags2' in self.fields) is False:
self['Flags2'] = 0
if self.fields.has_key('Flags1') is False:
if ('Flags1' in self.fields) is False:
self['Flags1'] = 0
if not kargs.has_key('data'):
if 'data' not in kargs:
self['Data'] = []
def addCommand(self, command):
@ -709,9 +709,9 @@ class NewSMBPacket(Structure):
return 1
elif self.isMoreProcessingRequired():
return 1
raise SessionError, ("SMB Library Error", self['ErrorClass'] + (self['_reserved'] << 8), self['ErrorCode'], self['Flags2'] & SMB.FLAGS2_NT_STATUS)
raise SessionError("SMB Library Error", self['ErrorClass'] + (self['_reserved'] << 8), self['ErrorCode'], self['Flags2'] & SMB.FLAGS2_NT_STATUS)
else:
raise UnsupportedFeature, ("Unexpected answer from server: Got %d, Expected %d" % (self['Command'], cmd))
raise UnsupportedFeature("Unexpected answer from server: Got %d, Expected %d" % (self['Command'], cmd))
class SMBCommand(Structure):
@ -2550,7 +2550,7 @@ class SMB:
if s.get_error_class() == 0x00 and s.get_error_code() == 0x00:
return 1
else:
raise SessionError, ( "SMB Library Error", s.get_error_class()+ (s.get_reserved() << 8), s.get_error_code() , s.get_flags2() & SMB.FLAGS2_NT_STATUS )
raise SessionError( "SMB Library Error", s.get_error_class()+ (s.get_reserved() << 8), s.get_error_code() , s.get_flags2() & SMB.FLAGS2_NT_STATUS)
else:
break
return 0
@ -2583,7 +2583,7 @@ class SMB:
self.__server_name = self._dialects_data['ServerName']
if self._dialects_parameters['DialectIndex'] == 0xffff:
raise UnsupportedFeature,"Remote server does not know NT LM 0.12"
raise UnsupportedFeature("Remote server does not know NT LM 0.12")
return 1
else:
return 0
@ -2734,7 +2734,7 @@ class SMB:
self._SigningSessionKey = key
def get_encryption_key(self):
if self._dialects_data.fields.has_key('Challenge'):
if 'Challenge' in self._dialects_data.fields:
return self._dialects_data['Challenge']
else:
return None
@ -3241,7 +3241,7 @@ class SMB:
pass
# Parse Version to know the target Operating system name. Not provided elsewhere anymore
if ntlmChallenge.fields.has_key('Version'):
if 'Version' in ntlmChallenge.fields:
version = ntlmChallenge['Version']
if len(version) >= 4: