rbit / pydtls

Datagram Transport Layer Security for Python
Apache License 2.0
72 stars 45 forks source link

Unit Test Failures #2

Closed doneir closed 10 years ago

doneir commented 10 years ago

Unit tests are failing in multiple scenarios, no modifications made.

Also tested with OpenSSL Version 1.0.2 (Devel Snapshot), same unit tests failed.

Suite run: demux: platform-native, protocol: 2
......EFE.E....E....E....
======================================================================
ERROR: test_connect (__main__.NetworkedTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "test/unit.py", line 198, in test_connect
    s.connect(remote)
  File "/usr/lib/python2.7/ssl.py", line 397, in connect
    self._real_connect(addr, False)
  File "/usr/local/lib/python2.7/dist-packages/dtls/patch.py", line 206, in _SSLSocket_real_connect
    raise e
__OpenSSLError: (1, [(336134278, 'error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed')], -1, <CFunctionType object at 0x25d2050>, (<dtls.openssl.SSL object at 0x25e55d0>,))

======================================================================
ERROR: test_get_server_certificate (__main__.NetworkedTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "test/unit.py", line 321, in test_get_server_certificate
    ca_certs=ISSUER_CERTFILE)
  File "/usr/local/lib/python2.7/dist-packages/dtls/patch.py", line 88, in _get_server_certificate
    s.connect(addr)
  File "/usr/lib/python2.7/ssl.py", line 397, in connect
    self._real_connect(addr, False)
  File "/usr/local/lib/python2.7/dist-packages/dtls/patch.py", line 206, in _SSLSocket_real_connect
    raise e
__OpenSSLError: (1, [(336134278, 'error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed')], -1, <CFunctionType object at 0x25d2050>, (<dtls.openssl.SSL object at 0x26a0190>,))

======================================================================
ERROR: test_non_blocking_connect_ex (__main__.NetworkedTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "test/unit.py", line 230, in test_non_blocking_connect_ex
    s.do_handshake()
  File "/usr/lib/python2.7/ssl.py", line 369, in do_handshake
    self._sslobj.do_handshake()
  File "/usr/local/lib/python2.7/dist-packages/dtls/sslconnection.py", line 508, in do_handshake
    ERR_HANDSHAKE_TIMEOUT)
  File "/usr/local/lib/python2.7/dist-packages/dtls/sslconnection.py", line 274, in _wrap_socket_library_call
    return call()
  File "/usr/local/lib/python2.7/dist-packages/dtls/sslconnection.py", line 507, in <lambda>
    lambda: SSL_do_handshake(self._ssl.value),
  File "/usr/local/lib/python2.7/dist-packages/dtls/openssl.py", line 411, in errcheck_ord
    raise_ssl_error(result, func, args, find_ssl_arg(args))
  File "/usr/local/lib/python2.7/dist-packages/dtls/openssl.py", line 402, in raise_ssl_error
    raise openssl_error()(ssl_error, errqueue, result, func, args)
__OpenSSLError: (1, [(336134278, 'error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed')], -1, <CFunctionType object at 0x25d2050>, (<dtls.openssl.SSL object at 0x25e45d0>,))

======================================================================
ERROR: test_getpeercert (__main__.ThreadedTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "test/unit.py", line 999, in test_getpeercert
    s.connect((HOST, server.port))
  File "/usr/lib/python2.7/ssl.py", line 397, in connect
    self._real_connect(addr, False)
  File "/usr/local/lib/python2.7/dist-packages/dtls/patch.py", line 206, in _SSLSocket_real_connect
    raise e
__OpenSSLError: (1, [(336134278, 'error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed')], -1, <CFunctionType object at 0x25d2050>, (<dtls.openssl.SSL object at 0x25e40d0>,))

======================================================================
ERROR: test_protocol_dtlsv1 (__main__.ThreadedTests)
Connecting to a DTLSv1 server with various client options
----------------------------------------------------------------------
Traceback (most recent call last):
  File "test/unit.py", line 1042, in test_protocol_dtlsv1
    ssl.CERT_OPTIONAL)
  File "test/unit.py", line 943, in try_protocol_combo
    ciphers="ALL", chatty=False)
  File "test/unit.py", line 896, in server_params_test
    s.connect((HOST, server.port))
  File "/usr/lib/python2.7/ssl.py", line 397, in connect
    self._real_connect(addr, False)
  File "/usr/local/lib/python2.7/dist-packages/dtls/patch.py", line 206, in _SSLSocket_real_connect
    raise e
__OpenSSLError: (1, [(336134278, 'error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed')], -1, <CFunctionType object at 0x25d2050>, (<dtls.openssl.SSL object at 0x25e4090>,))

======================================================================
FAIL: test_connect_ex (__main__.NetworkedTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "test/unit.py", line 209, in test_connect_ex
    self.assertEqual(0, s.connect_ex(remote))
AssertionError: 0 != None

----------------------------------------------------------------------
Ran 25 tests in 0.844s

FAILED (failures=1, errors=5)
Suite run failed: demux: platform-native, protocol: 2
rbit commented 10 years ago

Thank you for reporting this. The unit tests are fixed with the latest commit.