Issue #11127: Raise a TypeError when trying to pickle a socket object.
This commit is contained in:
parent
b938bcd211
commit
6d58d64919
|
@ -112,6 +112,9 @@ class socket(_socket.socket):
|
||||||
s[7:])
|
s[7:])
|
||||||
return s
|
return s
|
||||||
|
|
||||||
|
def __getstate__(self):
|
||||||
|
raise TypeError("Cannot serialize socket object")
|
||||||
|
|
||||||
def dup(self):
|
def dup(self):
|
||||||
"""dup() -> socket object
|
"""dup() -> socket object
|
||||||
|
|
||||||
|
|
|
@ -18,6 +18,7 @@ import contextlib
|
||||||
from weakref import proxy
|
from weakref import proxy
|
||||||
import signal
|
import signal
|
||||||
import math
|
import math
|
||||||
|
import pickle
|
||||||
try:
|
try:
|
||||||
import fcntl
|
import fcntl
|
||||||
except ImportError:
|
except ImportError:
|
||||||
|
@ -764,6 +765,12 @@ class GeneralModuleTests(unittest.TestCase):
|
||||||
fp.close()
|
fp.close()
|
||||||
self.assertEqual(repr(fp), "<_io.BufferedReader name=-1>")
|
self.assertEqual(repr(fp), "<_io.BufferedReader name=-1>")
|
||||||
|
|
||||||
|
def test_pickle(self):
|
||||||
|
sock = socket.socket()
|
||||||
|
with sock:
|
||||||
|
for protocol in range(pickle.HIGHEST_PROTOCOL + 1):
|
||||||
|
self.assertRaises(TypeError, pickle.dumps, sock, protocol)
|
||||||
|
|
||||||
|
|
||||||
@unittest.skipUnless(thread, 'Threading required for this test.')
|
@unittest.skipUnless(thread, 'Threading required for this test.')
|
||||||
class BasicTCPTest(SocketConnectedTest):
|
class BasicTCPTest(SocketConnectedTest):
|
||||||
|
|
|
@ -83,6 +83,8 @@ Library
|
||||||
|
|
||||||
- Issue #4391: Use proper gettext plural forms in optparse.
|
- Issue #4391: Use proper gettext plural forms in optparse.
|
||||||
|
|
||||||
|
- Issue #11127: Raise a TypeError when trying to pickle a socket object.
|
||||||
|
|
||||||
- Issue #11563: Connection:close header is sent by requests using URLOpener
|
- Issue #11563: Connection:close header is sent by requests using URLOpener
|
||||||
class which helps in closing of sockets after connection is over. Patch
|
class which helps in closing of sockets after connection is over. Patch
|
||||||
contributions by Jeff McNeil and Nadeem Vawda.
|
contributions by Jeff McNeil and Nadeem Vawda.
|
||||||
|
|
Loading…
Reference in New Issue