Ejemplo n.º 1
0
    def test_connection(self):
        sessions = {}
        cap = smtp.smtp(sessions, {'enabled': 'True', 'port': 2525, 'banner': 'Test'})
        socket = create_socket(("0.0.0.0", 2525))
        srv = StreamServer(socket, cap.handle_session)
        srv.start()

        smtp_ = smtplib.SMTP('127.0.0.1', 2525, local_hostname='localhost', timeout=15)
        smtp_.ehlo()
        smtp_.quit()
Ejemplo n.º 2
0
    def test_connection(self):
        """ Tests if the capability is up, and sending
            HTTP 401 (Unauthorized) headers.
        """
        sessions = {}
        cap = http.http(sessions, {'enabled': 'True', 'port': 8080})
        socket = create_socket(("0.0.0.0", 8080))
        srv = StreamServer(socket, cap.handle_session)
        srv.start()

        client = httplib.HTTPConnection('127.0.0.1', 8080)
        client.request("GET", "/")
        response = client.getresponse()
        self.assertEquals(response.status, 401)
Ejemplo n.º 3
0
    def test_AUTH_CRAM_MD5(self):
        sessions = {}
        cap = smtp.smtp(sessions, {'enabled': 'True', 'port': 2500, 'banner': 'Test'})
        socket = create_socket(("0.0.0.0", 2500))
        srv = StreamServer(socket, cap.handle_session)
        srv.start()
        
        def encode_cram_md5(challenge, user, password):
            challenge = base64.decodestring(challenge)
            response = user + " " + hmac.HMAC(password, challenge).hexdigest()
            return base64.b64encode(response)

        smtp_ = smtplib.SMTP('127.0.0.1', 2500, local_hostname='localhost', timeout=15)
        _, resp = smtp_.docmd("AUTH", "CRAM-MD5")
        code, resp = smtp_.docmd(encode_cram_md5(resp, "test", "test"))
        # For now, the server's going to return a 535 code.
        self.assertEqual(code, 535)