mirror of
https://github.com/sshuttle/sshuttle.git
synced 2024-11-22 16:03:57 +01:00
socket.SHUT_RD and socket.SHUT_WR don't exist in python 2.3.
Mercifully, socket.socket.shutdown() still does, but it uses hardcoded integer parameters - and the integers correspond to the SHUT_RD and SHUT_WR definitions in later versions - so let's just hardcode them ourselves. See the carnage for yourself: http://docs.python.org/release/2.3.5/lib/socket-objects.html
This commit is contained in:
parent
52fbb2ebbe
commit
b219b523c2
10
ssnet.py
10
ssnet.py
@ -1,6 +1,12 @@
|
|||||||
import struct, socket, errno, select
|
import struct, socket, errno, select
|
||||||
if not globals().get('skip_imports'):
|
if not globals().get('skip_imports'):
|
||||||
from helpers import *
|
from helpers import *
|
||||||
|
|
||||||
|
# these don't exist in the socket module in python 2.3!
|
||||||
|
SHUT_RD = 0
|
||||||
|
SHUT_WR = 1
|
||||||
|
SHUT_RDWR = 2
|
||||||
|
|
||||||
|
|
||||||
HDR_LEN = 8
|
HDR_LEN = 8
|
||||||
|
|
||||||
@ -128,14 +134,14 @@ class SockWrapper:
|
|||||||
if not self.shut_read:
|
if not self.shut_read:
|
||||||
debug2('%r: done reading\n' % self)
|
debug2('%r: done reading\n' % self)
|
||||||
self.shut_read = True
|
self.shut_read = True
|
||||||
#self.rsock.shutdown(socket.SHUT_RD) # doesn't do anything anyway
|
#self.rsock.shutdown(SHUT_RD) # doesn't do anything anyway
|
||||||
|
|
||||||
def nowrite(self):
|
def nowrite(self):
|
||||||
if not self.shut_write:
|
if not self.shut_write:
|
||||||
debug2('%r: done writing\n' % self)
|
debug2('%r: done writing\n' % self)
|
||||||
self.shut_write = True
|
self.shut_write = True
|
||||||
try:
|
try:
|
||||||
self.wsock.shutdown(socket.SHUT_WR)
|
self.wsock.shutdown(SHUT_WR)
|
||||||
except socket.error, e:
|
except socket.error, e:
|
||||||
self.seterr(e)
|
self.seterr(e)
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user