changeset 8c9601e7acb6 in /home/hg/repos/gajim

details:http://hg.gajim.org/gajim?cmd=changeset;node=8c9601e7acb6
description: don't do SSL over SSL and correctly shutdown SSL sockets.

diffstat:

 src/common/socks5.py |  10 +++++++---
 1 files changed, 7 insertions(+), 3 deletions(-)

diffs (34 lines):

diff -r 7e48199339b4 -r 8c9601e7acb6 src/common/socks5.py
--- a/src/common/socks5.py      Wed Aug 22 15:30:12 2012 -0400
+++ b/src/common/socks5.py      Thu Aug 23 11:36:51 2012 +0200
@@ -770,7 +770,10 @@
             if self.queue.listener.connections == []:
                 self.queue.listener.disconnect()
         try:
-            self._sock.shutdown(socket.SHUT_RDWR)
+            if isinstance(self._sock, OpenSSL.SSL.Connection):
+                self._sock.shutdown()
+            else:
+                self._sock.shutdown(socket.SHUT_RDWR)
             self._sock.close()
         except Exception:
             # socket is already closed
@@ -901,7 +904,8 @@
         self._sock = _sock
 
         if _sock is not None:
-            if self.fingerprint is not None:
+            if self.fingerprint is not None and not isinstance(self._sock,
+            OpenSSL.SSL.Connection):
                 self._sock = OpenSSL.SSL.Connection(
                     jingle_xtls.get_context('server'), _sock)
             else:
@@ -938,7 +942,7 @@
 
         if self.fingerprint is not None:
             self._sock = OpenSSL.SSL.Connection(
-                jingle_xtls.get_context('client'), self._sock)
+                jingle_xtls.get_context('client'), _sock)
         else:
             self._sock.setblocking(False)
 
_______________________________________________
Commits mailing list
[email protected]
http://lists.gajim.org/cgi-bin/listinfo/commits

Reply via email to