Esempio n. 1
0
    def connect(self):
        # ToDo: raise exception
        conn = TCP.connect(self)
        if not self.config.get_value("starttls"):
            return conn

        self._connect(conn)

        conn.send(b"STARTTLS\r\n")
        buf = conn.recv(4096)
        if not buf.startswith(b"220"):
            return None

        return conn
Esempio n. 2
0
    def connect(self):
        # ToDo: raise exception
        conn = TCP.connect(self)
        if not self.config.get_value("starttls"):
            return conn

        self._connect(conn)

        conn.send(b"STARTTLS\r\n")
        buf = conn.recv(4096)
        if not buf.startswith(b"220"):
            raise StartTLSError()

        return conn
Esempio n. 3
0
    def connect(self):
        # ToDo: raise exception
        conn = TCP.connect(self)
        if not self.config.get_value("starttls"):
            return conn

        self._connect(conn)

        conn.send(b". STARTTLS\r\n")
        buf = conn.recv(4096)
        buf = buf.strip()
        if not buf.startswith(b". OK"):
            raise StartTLSError()

        return conn
Esempio n. 4
0
    def connect(self):
        # ToDo: raise exception
        conn = TCP.connect(self)
        if not self.config.get_value("starttls"):
            return conn

        self._connect(conn)

        conn.send(b". STARTTLS\r\n")
        buf = conn.recv(4096)
        buf = buf.strip()
        if not buf.startswith(b". OK"):
            return None

        return conn
Esempio n. 5
0
    def connect(self):
        # ToDo: raise exception
        conn = TCP.connect(self)
        if not self.config.get_value("starttls"):
            return conn

        conn.send(b"0\x1d\x02\x01\x01w\x18\x80\x161.3.6.1.4.1.1466.20037")

        buf = conn.recv(4096)

        # ToDo: Improve parsing
        # b"0\x84\x00\x00\x00(\x02\x01\x01x\x84\x00\x00\x00\x1f\n\x01\x00\x04\x00\x04\x00\x8a\x161.3.6.1.4.1.1466.20037"
        if not buf.endswith(b"1.3.6.1.4.1.1466.20037"):
            raise StartTLSError()

        return conn
Esempio n. 6
0
    def connect(self):
        # ToDo: raise exception
        conn = TCP.connect(self)
        if not self.config.get_value("starttls"):
            return conn

        conn.send(b"0\x1d\x02\x01\x01w\x18\x80\x161.3.6.1.4.1.1466.20037")

        buf = conn.recv(4096)

        # ToDo: Improve parsing
        # b"0\x84\x00\x00\x00(\x02\x01\x01x\x84\x00\x00\x00\x1f\n\x01\x00\x04\x00\x04\x00\x8a\x161.3.6.1.4.1.1466.20037"
        if not buf.endswith(b"1.3.6.1.4.1.1466.20037"):
            raise StartTLSError()

        return conn
Esempio n. 7
0
    def connect(self):
        # ToDo: raise exception
        conn = TCP.connect(self)
        if not self.config.get_value("starttls"):
            return conn

        self._connect(conn)

        conn.send(b"STLS\r\n")
        buf = conn.recv(4096)
        buf = buf.strip()
        # +OK Begin TLS negotiation now'
        print(buf)
        if not buf.startswith(b"+OK Begin"):
            return None

        return conn
Esempio n. 8
0
    def connect(self):
        # ToDo: raise exception
        conn = TCP.connect(self)
        if not self.config.get_value("starttls"):
            return conn

        self._connect(conn)

        conn.send(b"STLS\r\n")
        buf = conn.recv(4096)
        buf = buf.strip()
        # +OK Begin TLS negotiation now'
        print(buf)
        if not buf.startswith(b"+OK Begin"):
            return None

        return conn
Esempio n. 9
0
    def connect(self):
        # ToDo: raise exception
        conn = TCP.connect(self)
        if not self.config.get_value("starttls"):
            return conn

        conn.send(b"\x03\x00\x00\x13\x0E\xE0\x00\x00\x00\x00\x00\x01\x00\x08\x00\x03\x00\x00\x00")

        buf = conn.recv(4)

        if not buf or len(buf) != 4 or buf[:2] != b"\x03\x00":
            raise StartTLSError()

        import struct
        packet_len = struct.unpack(">H", buf[2:])[0] - 4
        data = conn.recv(packet_len)
        if not data or len(data) != packet_len :
            raise StartTLSError()

        return conn
Esempio n. 10
0
 def __init__(self, **kwargs):
     self.port = 143
     TCP.__init__(self, **kwargs)
Esempio n. 11
0
 def __init__(self, **kwargs):
     self.port = 389
     TCP.__init__(self, **kwargs)
Esempio n. 12
0
 def __init__(self, **kwargs):
     self.port = 389
     TCP.__init__(self, **kwargs)
Esempio n. 13
0
 def __init__(self, **kwargs):
     self.port = 143
     TCP.__init__(self, **kwargs)