]> git.ipfire.org Git - thirdparty/curl.git/commitdiff
impacket: some more Python 3 code compatibility updates
authorMarc Hoersken <info@marc-hoersken.de>
Thu, 12 Mar 2020 08:26:56 +0000 (09:26 +0100)
committerMarc Hoersken <info@marc-hoersken.de>
Fri, 13 Mar 2020 01:49:07 +0000 (02:49 +0100)
This makes smbserver load on Python 3, but still not work completely.

tests/python_dependencies/impacket/smb.py
tests/python_dependencies/impacket/smbserver.py
tests/python_dependencies/impacket/spnego.py

index c4ea6fc68a31cf984b9a563d40157a70611e9212..fa3a3d4fe5acb8b98db456fd63c6f174b1e6a471 100644 (file)
@@ -57,10 +57,14 @@ import hashlib
 unicode_support = 0
 unicode_convert = 1
 
-try:
-    from cStringIO import StringIO
-except ImportError:
-    from StringIO import StringIO
+import sys
+if sys.version_info.major >= 3:
+    from io import StringIO
+else:
+    try:
+        from cStringIO import StringIO
+    except ImportError:
+        from StringIO import StringIO
 
 # Dialect for SMB1
 SMB_DIALECT = 'NT LM 0.12'
index 902d22f9c0b6380629db32580edc35a3e0b2e8a6..a74bd94144a5cd84909c3c7c7f371ed8b63b60ef 100644 (file)
@@ -29,9 +29,10 @@ import struct
 import sys
 if sys.version_info.major >= 3:
     import configparser
+    import socketserver
 else:
     import ConfigParser as configparser
-import SocketServer
+    import SocketServer as socketserver
 import threading
 import logging
 import logging.config
@@ -3519,7 +3520,7 @@ class Ioctls:
         return validateNegotiateInfo.getData(), errorCode
 
 
-class SMBSERVERHandler(SocketServer.BaseRequestHandler):
+class SMBSERVERHandler(socketserver.BaseRequestHandler):
     def __init__(self, request, client_address, server, select_poll = False):
         self.__SMB = server
         self.__ip, self.__port = client_address
@@ -3528,7 +3529,7 @@ class SMBSERVERHandler(SocketServer.BaseRequestHandler):
         self.__timeOut = 60*5
         self.__select_poll = select_poll
         #self.__connId = os.getpid()
-        SocketServer.BaseRequestHandler.__init__(self, request, client_address, server)
+        socketserver.BaseRequestHandler.__init__(self, request, client_address, server)
 
     def handle(self):
         self.__SMB.log("Incoming connection (%s,%d)" % (self.__ip, self.__port))
@@ -3570,13 +3571,13 @@ class SMBSERVERHandler(SocketServer.BaseRequestHandler):
         # Thread/process is dying, we should tell the main SMB thread to remove all this thread data
         self.__SMB.log("Closing down connection (%s,%d)" % (self.__ip, self.__port))
         self.__SMB.removeConnection(self.__connId)
-        return SocketServer.BaseRequestHandler.finish(self)
+        return socketserver.BaseRequestHandler.finish(self)
 
-class SMBSERVER(SocketServer.ThreadingMixIn, SocketServer.TCPServer):
-#class SMBSERVER(SocketServer.ForkingMixIn, SocketServer.TCPServer):
+class SMBSERVER(socketserver.ThreadingMixIn, socketserver.TCPServer):
+#class SMBSERVER(socketserver.ForkingMixIn, socketserver.TCPServer):
     def __init__(self, server_address, handler_class=SMBSERVERHandler, config_parser = None):
-        SocketServer.TCPServer.allow_reuse_address = True
-        SocketServer.TCPServer.__init__(self, server_address, handler_class)
+        socketserver.TCPServer.allow_reuse_address = True
+        socketserver.TCPServer.__init__(self, server_address, handler_class)
 
         # Server name and OS to be presented whenever is necessary
         self.__serverName   = ''
index 98069f579c82a9c83b638fa4b28947b980c9f1c6..ceea1c58a3125e4198321e24cf2a521b8fe1fb84 100644 (file)
@@ -31,7 +31,7 @@ MechTypes = {
 '*\x86H\x86\xf7\x12\x01\x02\x02': 'KRB5 - Kerberos 5',
 '*\x86H\x86\xf7\x12\x01\x02\x02\x03': 'KRB5 - Kerberos 5 - User to User'
 }
-TypesMech = dict((v,k) for k, v in MechTypes.iteritems())
+TypesMech = dict((v,k) for k, v in MechTypes.items())
 
 def asn1encode(data = ''):
     #res = asn1.SEQUENCE(str).encode()