Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit d3c884d

Browse files
author
Skip Montanaro
committed
modify testGetServByName so it tries a few different protocols. In this day
and age of rampant computer breakins I imagine there are plenty of systems with telnet disabled. Successful check of at least one getservbyname() call is required for success
1 parent ea0c382 commit d3c884d

1 file changed

Lines changed: 17 additions & 5 deletions

File tree

Lib/test/test_socket.py

Lines changed: 17 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -260,11 +260,23 @@ def testNtoH(self):
260260
def testGetServByName(self):
261261
"""Testing getservbyname()."""
262262
if hasattr(socket, 'getservbyname'):
263-
socket.getservbyname('telnet', 'tcp')
264-
try:
265-
socket.getservbyname('telnet', 'udp')
266-
except socket.error:
267-
pass
263+
# try a few protocols - not everyone has telnet enabled
264+
found = 0
265+
for proto in ("telnet", "ssh", "www", "ftp"):
266+
try:
267+
socket.getservbyname(proto, 'tcp')
268+
found = 1
269+
break
270+
except socket.error:
271+
pass
272+
try:
273+
socket.getservbyname(proto, 'udp')
274+
found = 1
275+
break
276+
except socket.error:
277+
pass
278+
if not found:
279+
raise socket.error
268280

269281
def testDefaultTimeout(self):
270282
"""Testing default timeout."""

0 commit comments

Comments
 (0)