Skip to content

Commit 746cc75

Browse files
atombrellatiran
authored andcommitted
bpo-31853: Replaced socket.method calls with super() in SSLSocket. (#4048)
1 parent d0e31b9 commit 746cc75

File tree

2 files changed

+21
-20
lines changed

2 files changed

+21
-20
lines changed

Lib/ssl.py

Lines changed: 19 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -786,17 +786,16 @@ def __init__(self, sock=None, keyfile=None, certfile=None,
786786
self.do_handshake_on_connect = do_handshake_on_connect
787787
self.suppress_ragged_eofs = suppress_ragged_eofs
788788
if sock is not None:
789-
socket.__init__(self,
790-
family=sock.family,
791-
type=sock.type,
792-
proto=sock.proto,
793-
fileno=sock.fileno())
789+
super().__init__(family=sock.family,
790+
type=sock.type,
791+
proto=sock.proto,
792+
fileno=sock.fileno())
794793
self.settimeout(sock.gettimeout())
795794
sock.detach()
796795
elif fileno is not None:
797-
socket.__init__(self, fileno=fileno)
796+
super().__init__(fileno=fileno)
798797
else:
799-
socket.__init__(self, family=family, type=type, proto=proto)
798+
super().__init__(family=family, type=type, proto=proto)
800799

801800
# See if we are connected
802801
try:
@@ -952,17 +951,17 @@ def send(self, data, flags=0):
952951
self.__class__)
953952
return self._sslobj.write(data)
954953
else:
955-
return socket.send(self, data, flags)
954+
return super().send(data, flags)
956955

957956
def sendto(self, data, flags_or_addr, addr=None):
958957
self._checkClosed()
959958
if self._sslobj:
960959
raise ValueError("sendto not allowed on instances of %s" %
961960
self.__class__)
962961
elif addr is None:
963-
return socket.sendto(self, data, flags_or_addr)
962+
return super().sendto(data, flags_or_addr)
964963
else:
965-
return socket.sendto(self, data, flags_or_addr, addr)
964+
return super().sendto(data, flags_or_addr, addr)
966965

967966
def sendmsg(self, *args, **kwargs):
968967
# Ensure programs don't send data unencrypted if they try to
@@ -984,7 +983,7 @@ def sendall(self, data, flags=0):
984983
v = self.send(byte_view[count:])
985984
count += v
986985
else:
987-
return socket.sendall(self, data, flags)
986+
return super().sendall(data, flags)
988987

989988
def sendfile(self, file, offset=0, count=None):
990989
"""Send a file, possibly by using os.sendfile() if this is a
@@ -1005,7 +1004,7 @@ def recv(self, buflen=1024, flags=0):
10051004
self.__class__)
10061005
return self.read(buflen)
10071006
else:
1008-
return socket.recv(self, buflen, flags)
1007+
return super().recv(buflen, flags)
10091008

10101009
def recv_into(self, buffer, nbytes=None, flags=0):
10111010
self._checkClosed()
@@ -1020,23 +1019,23 @@ def recv_into(self, buffer, nbytes=None, flags=0):
10201019
self.__class__)
10211020
return self.read(nbytes, buffer)
10221021
else:
1023-
return socket.recv_into(self, buffer, nbytes, flags)
1022+
return super().recv_into(buffer, nbytes, flags)
10241023

10251024
def recvfrom(self, buflen=1024, flags=0):
10261025
self._checkClosed()
10271026
if self._sslobj:
10281027
raise ValueError("recvfrom not allowed on instances of %s" %
10291028
self.__class__)
10301029
else:
1031-
return socket.recvfrom(self, buflen, flags)
1030+
return super().recvfrom(buflen, flags)
10321031

10331032
def recvfrom_into(self, buffer, nbytes=None, flags=0):
10341033
self._checkClosed()
10351034
if self._sslobj:
10361035
raise ValueError("recvfrom_into not allowed on instances of %s" %
10371036
self.__class__)
10381037
else:
1039-
return socket.recvfrom_into(self, buffer, nbytes, flags)
1038+
return super().recvfrom_into(buffer, nbytes, flags)
10401039

10411040
def recvmsg(self, *args, **kwargs):
10421041
raise NotImplementedError("recvmsg not allowed on instances of %s" %
@@ -1056,7 +1055,7 @@ def pending(self):
10561055
def shutdown(self, how):
10571056
self._checkClosed()
10581057
self._sslobj = None
1059-
socket.shutdown(self, how)
1058+
super().shutdown(how)
10601059

10611060
def unwrap(self):
10621061
if self._sslobj:
@@ -1068,7 +1067,7 @@ def unwrap(self):
10681067

10691068
def _real_close(self):
10701069
self._sslobj = None
1071-
socket._real_close(self)
1070+
super()._real_close()
10721071

10731072
def do_handshake(self, block=False):
10741073
"""Perform a TLS/SSL handshake."""
@@ -1093,10 +1092,10 @@ def _real_connect(self, addr, connect_ex):
10931092
session=self._session)
10941093
try:
10951094
if connect_ex:
1096-
rc = socket.connect_ex(self, addr)
1095+
rc = super().connect_ex(addr)
10971096
else:
10981097
rc = None
1099-
socket.connect(self, addr)
1098+
super().connect(addr)
11001099
if not rc:
11011100
self._connected = True
11021101
if self.do_handshake_on_connect:
@@ -1121,7 +1120,7 @@ def accept(self):
11211120
a tuple containing that new connection wrapped with a server-side
11221121
SSL channel, and the address of the remote client."""
11231122

1124-
newsock, addr = socket.accept(self)
1123+
newsock, addr = super().accept()
11251124
newsock = self.context.wrap_socket(newsock,
11261125
do_handshake_on_connect=self.do_handshake_on_connect,
11271126
suppress_ragged_eofs=self.suppress_ragged_eofs,
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
Use super().method instead of socket.method in SSLSocket. They were
2+
there most likely for legacy reasons.

0 commit comments

Comments
 (0)