changeset 7a4fd6fbf98c in /home/hg/repos/python-nbxmpp
details:http://hg.gajim.org/python-nbxmpp?cmd=changeset;node=7a4fd6fbf98c description: store all SSL errors
diffstat:
nbxmpp/tls_nb.py | 12 ++++++------ nbxmpp/transports_nb.py | 6 ++++++ 2 files changed, 12 insertions(+), 6 deletions(-)
diffs (45 lines):
diff -r dacd58839ca8 -r 7a4fd6fbf98c nbxmpp/tls_nb.py --- a/nbxmpp/tls_nb.py Sun Dec 09 21:08:11 2012 +0100 +++ b/nbxmpp/tls_nb.py Sun Dec 23 17:47:21 2012 +0100 @@ -393,7 +393,7 @@ flags |= 16384 tcpsock._sslContext.set_options(flags)
- tcpsock.ssl_errnum = 0 + tcpsock.ssl_errnum = [0] tcpsock._sslContext.set_verify(OpenSSL.SSL.VERIFY_PEER, self._ssl_verify_callback) try: @@ -449,11 +449,11 @@ def _ssl_verify_callback(self, sslconn, cert, errnum, depth, ok): # Exceptions can't propagate up through this callback, so print them here. try: - self._owner.ssl_fingerprint_sha1 = cert.digest('sha1') - self._owner.ssl_certificate = cert - self._owner.ssl_errnum = errnum - self._owner.ssl_cert_pem = OpenSSL.crypto.dump_certificate( - OpenSSL.crypto.FILETYPE_PEM, cert) + self._owner.ssl_fingerprint_sha1.append(cert.digest('sha1')) + self._owner.ssl_certificate.append(cert) + self._owner.ssl_errnum.append(errnum) + self._owner.ssl_cert_pem.append(OpenSSL.crypto.dump_certificate( + OpenSSL.crypto.FILETYPE_PEM, cert)) return True except: log.error("Exception caught in _ssl_info_callback:", exc_info=True) diff -r dacd58839ca8 -r 7a4fd6fbf98c nbxmpp/transports_nb.py --- a/nbxmpp/transports_nb.py Sun Dec 09 21:08:11 2012 +0100 +++ b/nbxmpp/transports_nb.py Sun Dec 23 17:47:21 2012 +0100 @@ -310,6 +310,12 @@ self.proxy_dict = proxy_dict self.on_remote_disconnect = self.disconnect
+ # ssl variables + self.ssl_fingerprint_sha1 = [] + self.ssl_certificate = [] + self.ssl_errnum = [] + self.ssl_cert_pem = [] + # FIXME: transport should not be aware xmpp def start_disconnect(self): NonBlockingTransport.start_disconnect(self)