don't do SSL over SSL and correctly shutdown SSL sockets.
This commit is contained in:
parent
1dc1adf073
commit
fb5d58de11
1 changed files with 7 additions and 3 deletions
|
@ -770,6 +770,9 @@ class Socks5:
|
||||||
if self.queue.listener.connections == []:
|
if self.queue.listener.connections == []:
|
||||||
self.queue.listener.disconnect()
|
self.queue.listener.disconnect()
|
||||||
try:
|
try:
|
||||||
|
if isinstance(self._sock, OpenSSL.SSL.Connection):
|
||||||
|
self._sock.shutdown()
|
||||||
|
else:
|
||||||
self._sock.shutdown(socket.SHUT_RDWR)
|
self._sock.shutdown(socket.SHUT_RDWR)
|
||||||
self._sock.close()
|
self._sock.close()
|
||||||
except Exception:
|
except Exception:
|
||||||
|
@ -901,7 +904,8 @@ class Socks5Sender(IdleObject):
|
||||||
self._sock = _sock
|
self._sock = _sock
|
||||||
|
|
||||||
if _sock is not None:
|
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(
|
self._sock = OpenSSL.SSL.Connection(
|
||||||
jingle_xtls.get_context('server'), _sock)
|
jingle_xtls.get_context('server'), _sock)
|
||||||
else:
|
else:
|
||||||
|
@ -938,7 +942,7 @@ class Socks5Sender(IdleObject):
|
||||||
|
|
||||||
if self.fingerprint is not None:
|
if self.fingerprint is not None:
|
||||||
self._sock = OpenSSL.SSL.Connection(
|
self._sock = OpenSSL.SSL.Connection(
|
||||||
jingle_xtls.get_context('client'), self._sock)
|
jingle_xtls.get_context('client'), _sock)
|
||||||
else:
|
else:
|
||||||
self._sock.setblocking(False)
|
self._sock.setblocking(False)
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue