summaryrefslogtreecommitdiff
path: root/tests/python_dependencies/impacket/smb3.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/python_dependencies/impacket/smb3.py')
-rw-r--r--tests/python_dependencies/impacket/smb3.py69
1 files changed, 35 insertions, 34 deletions
diff --git a/tests/python_dependencies/impacket/smb3.py b/tests/python_dependencies/impacket/smb3.py
index 5548e4b0c..d81c7e117 100644
--- a/tests/python_dependencies/impacket/smb3.py
+++ b/tests/python_dependencies/impacket/smb3.py
@@ -1,3 +1,4 @@
+from __future__ import print_function
# Copyright (c) 2003-2016 CORE Security Technologies
#
# This software is provided under under a slightly modified version
@@ -231,13 +232,13 @@ class SMB3:
self.negotiateSession(preferredDialect)
def printStatus(self):
- print "CONNECTION"
+ print("CONNECTION")
for i in self._Connection.items():
- print "%-40s : %s" % i
- print
- print "SESSION"
+ print("%-40s : %s" % i)
+ print()
+ print("SESSION")
for i in self._Session.items():
- print "%-40s : %s" % i
+ print("%-40s : %s" % i)
def getServerName(self):
return self._Session['ServerName']
@@ -308,7 +309,7 @@ class SMB3:
packet['SessionID'] = self._Session['SessionID']
# Default the credit charge to 1 unless set by the caller
- if packet.fields.has_key('CreditCharge') is False:
+ if ('CreditCharge' in packet.fields) is False:
packet['CreditCharge'] = 1
# Standard credit request after negotiating protocol
@@ -318,7 +319,7 @@ class SMB3:
messageId = packet['MessageID']
if self._Session['SigningActivated'] is True and self._Connection['SequenceWindow'] > 2:
- if packet['TreeID'] > 0 and self._Session['TreeConnectTable'].has_key(packet['TreeID']) is True:
+ if packet['TreeID'] > 0 and (packet['TreeID'] in self._Session['TreeConnectTable']) is True:
if self._Session['TreeConnectTable'][packet['TreeID']]['EncryptData'] is False:
packet['Flags'] = SMB2_FLAGS_SIGNED
self.signSMB(packet)
@@ -350,7 +351,7 @@ class SMB3:
def recvSMB(self, packetID = None):
# First, verify we don't have the packet already
- if self._Connection['OutstandingResponses'].has_key(packetID):
+ if packetID in self._Connection['OutstandingResponses']:
return self._Connection['OutstandingResponses'].pop(packetID)
data = self._NetBIOSSession.recv_packet(self._timeout)
@@ -727,7 +728,7 @@ class SMB3:
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:
@@ -785,7 +786,7 @@ class SMB3:
#print self._Session['TreeConnectTable']
share = share.split('\\')[-1]
- if self._Session['TreeConnectTable'].has_key(share):
+ if share in self._Session['TreeConnectTable']:
# Already connected, no need to reconnect
treeEntry = self._Session['TreeConnectTable'][share]
treeEntry['NumberOfUses'] += 1
@@ -837,10 +838,10 @@ class SMB3:
return packet['TreeID']
def disconnectTree(self, treeId):
- if self._Session['TreeConnectTable'].has_key(treeId) is False:
+ if (treeId in self._Session['TreeConnectTable']) is False:
raise SessionError(STATUS_INVALID_PARAMETER)
- if self._Session['TreeConnectTable'].has_key(treeId):
+ if treeId in self._Session['TreeConnectTable']:
# More than 1 use? descrease it and return, if not, send the packet
if self._Session['TreeConnectTable'][treeId]['NumberOfUses'] > 1:
treeEntry = self._Session['TreeConnectTable'][treeId]
@@ -862,7 +863,7 @@ class SMB3:
return True
def create(self, treeId, fileName, desiredAccess, shareMode, creationOptions, creationDisposition, fileAttributes, impersonationLevel = SMB2_IL_IMPERSONATION, securityFlags = 0, oplockLevel = SMB2_OPLOCK_LEVEL_NONE, createContexts = None):
- if self._Session['TreeConnectTable'].has_key(treeId) is False:
+ if (treeId in self._Session['TreeConnectTable']) is False:
raise SessionError(STATUS_INVALID_PARAMETER)
fileName = string.replace(fileName, '/', '\\')
@@ -885,7 +886,7 @@ class SMB3:
# Is this file NOT on the root directory?
if len(fileName.split('\\')) > 2:
parentDir = ntpath.dirname(pathName)
- if self.GlobalFileTable.has_key(parentDir):
+ if parentDir in self.GlobalFileTable:
LOG.critical("Don't know what to do now! :-o")
raise
else:
@@ -957,9 +958,9 @@ class SMB3:
return str(createResponse['FileID'])
def close(self, treeId, fileId):
- if self._Session['TreeConnectTable'].has_key(treeId) is False:
+ if (treeId in self._Session['TreeConnectTable']) is False:
raise SessionError(STATUS_INVALID_PARAMETER)
- if self._Session['OpenTable'].has_key(fileId) is False:
+ if (fileId in self._Session['OpenTable']) is False:
raise SessionError(STATUS_INVALID_PARAMETER)
packet = self.SMB_PACKET()
@@ -988,9 +989,9 @@ class SMB3:
# This function should NOT be used for reading files directly, but another higher
# level function should be used that will break the read into smaller pieces
- if self._Session['TreeConnectTable'].has_key(treeId) is False:
+ if (treeId in self._Session['TreeConnectTable']) is False:
raise SessionError(STATUS_INVALID_PARAMETER)
- if self._Session['OpenTable'].has_key(fileId) is False:
+ if (fileId in self._Session['OpenTable']) is False:
raise SessionError(STATUS_INVALID_PARAMETER)
packet = self.SMB_PACKET()
@@ -1030,9 +1031,9 @@ class SMB3:
# This function should NOT be used for writing directly to files, but another higher
# level function should be used that will break the writes into smaller pieces
- if self._Session['TreeConnectTable'].has_key(treeId) is False:
+ if (treeId in self._Session['TreeConnectTable']) is False:
raise SessionError(STATUS_INVALID_PARAMETER)
- if self._Session['OpenTable'].has_key(fileId) is False:
+ if (fileId in self._Session['OpenTable']) is False:
raise SessionError(STATUS_INVALID_PARAMETER)
packet = self.SMB_PACKET()
@@ -1071,9 +1072,9 @@ class SMB3:
return bytesWritten
def queryDirectory(self, treeId, fileId, searchString = '*', resumeIndex = 0, informationClass = FILENAMES_INFORMATION, maxBufferSize = None, enumRestart = False, singleEntry = False):
- if self._Session['TreeConnectTable'].has_key(treeId) is False:
+ if (treeId in self._Session['TreeConnectTable']) is False:
raise SessionError(STATUS_INVALID_PARAMETER)
- if self._Session['OpenTable'].has_key(fileId) is False:
+ if (fileId in self._Session['OpenTable']) is False:
raise SessionError(STATUS_INVALID_PARAMETER)
packet = self.SMB_PACKET()
@@ -1124,12 +1125,12 @@ class SMB3:
self.sendSMB(packet)
def ioctl(self, treeId, fileId = None, ctlCode = -1, flags = 0, inputBlob = '', maxInputResponse = None, maxOutputResponse = None, waitAnswer = 1):
- if self._Session['TreeConnectTable'].has_key(treeId) is False:
+ if (treeId in self._Session['TreeConnectTable']) is False:
raise SessionError(STATUS_INVALID_PARAMETER)
if fileId is None:
fileId = '\xff'*16
else:
- if self._Session['OpenTable'].has_key(fileId) is False:
+ if (fileId in self._Session['OpenTable']) is False:
raise SessionError(STATUS_INVALID_PARAMETER)
packet = self.SMB_PACKET()
@@ -1165,9 +1166,9 @@ class SMB3:
return smbIoctlResponse['Buffer']
def flush(self,treeId, fileId):
- if self._Session['TreeConnectTable'].has_key(treeId) is False:
+ if (treeId in self._Session['TreeConnectTable']) is False:
raise SessionError(STATUS_INVALID_PARAMETER)
- if self._Session['OpenTable'].has_key(fileId) is False:
+ if (fileId in self._Session['OpenTable']) is False:
raise SessionError(STATUS_INVALID_PARAMETER)
packet = self.SMB_PACKET()
@@ -1186,9 +1187,9 @@ class SMB3:
return True
def lock(self, treeId, fileId, locks, lockSequence = 0):
- if self._Session['TreeConnectTable'].has_key(treeId) is False:
+ if (treeId in self._Session['TreeConnectTable']) is False:
raise SessionError(STATUS_INVALID_PARAMETER)
- if self._Session['OpenTable'].has_key(fileId) is False:
+ if (fileId in self._Session['OpenTable']) is False:
raise SessionError(STATUS_INVALID_PARAMETER)
packet = self.SMB_PACKET()
@@ -1248,9 +1249,9 @@ class SMB3:
return True
def queryInfo(self, treeId, fileId, inputBlob = '', infoType = SMB2_0_INFO_FILE, fileInfoClass = SMB2_FILE_STANDARD_INFO, additionalInformation = 0, flags = 0 ):
- if self._Session['TreeConnectTable'].has_key(treeId) is False:
+ if (treeId in self._Session['TreeConnectTable']) is False:
raise SessionError(STATUS_INVALID_PARAMETER)
- if self._Session['OpenTable'].has_key(fileId) is False:
+ if (fileId in self._Session['OpenTable']) is False:
raise SessionError(STATUS_INVALID_PARAMETER)
packet = self.SMB_PACKET()
@@ -1280,9 +1281,9 @@ class SMB3:
return queryResponse['Buffer']
def setInfo(self, treeId, fileId, inputBlob = '', infoType = SMB2_0_INFO_FILE, fileInfoClass = SMB2_FILE_STANDARD_INFO, additionalInformation = 0 ):
- if self._Session['TreeConnectTable'].has_key(treeId) is False:
+ if (treeId in self._Session['TreeConnectTable']) is False:
raise SessionError(STATUS_INVALID_PARAMETER)
- if self._Session['OpenTable'].has_key(fileId) is False:
+ if (fileId in self._Session['OpenTable']) is False:
raise SessionError(STATUS_INVALID_PARAMETER)
packet = self.SMB_PACKET()
@@ -1385,7 +1386,7 @@ class SMB3:
files.append(smb.SharedFile(fileInfo['CreationTime'],fileInfo['LastAccessTime'],fileInfo['LastChangeTime'],fileInfo['EndOfFile'],fileInfo['AllocationSize'],fileInfo['ExtFileAttributes'],fileInfo['FileName'].decode('utf-16le'), fileInfo['FileName'].decode('utf-16le')))
nextOffset = fileInfo['NextEntryOffset']
res = res[nextOffset:]
- except SessionError, e:
+ except SessionError as e:
if (e.get_error_code()) != STATUS_NO_MORE_FILES:
raise
break
@@ -1512,7 +1513,7 @@ class SMB3:
def waitNamedPipe(self, treeId, pipename, timeout = 5):
pipename = ntpath.basename(pipename)
- if self._Session['TreeConnectTable'].has_key(treeId) is False:
+ if (treeId in self._Session['TreeConnectTable']) is False:
raise SessionError(STATUS_INVALID_PARAMETER)
if len(pipename) > 0xffff:
raise SessionError(STATUS_INVALID_PARAMETER)