summaryrefslogtreecommitdiff
path: root/Demo/pysvr
diff options
context:
space:
mode:
authorGuido van Rossum <guido@python.org>1997-07-19 21:29:28 +0000
committerGuido van Rossum <guido@python.org>1997-07-19 21:29:28 +0000
commitbe77f9608449f98fae53e7a154564b78b600ab3a (patch)
tree6c579afc9b45332c5ff3c533c63437c64b302ac3 /Demo/pysvr
parent0f83ba553a2dc8262986960e64999cd49d075017 (diff)
downloadcpython-be77f9608449f98fae53e7a154564b78b600ab3a.tar.gz
Reformulate security check using getsockname().
Diffstat (limited to 'Demo/pysvr')
-rwxr-xr-xDemo/pysvr/pysvr.py7
1 files changed, 4 insertions, 3 deletions
diff --git a/Demo/pysvr/pysvr.py b/Demo/pysvr/pysvr.py
index 329909b686..a62fc5c013 100755
--- a/Demo/pysvr/pysvr.py
+++ b/Demo/pysvr/pysvr.py
@@ -48,14 +48,15 @@ def main_thread(port):
print "Listening on port", port, "..."
while 1:
(conn, addr) = sock.accept()
+ if addr[0] != conn.getsockname()[0]:
+ conn.close()
+ print "Refusing connection from non-local host", addr[0], "."
+ continue
thread.start_new_thread(service_thread, (conn, addr))
del conn, addr
def service_thread(conn, addr):
(caddr, cport) = addr
- if caddr != socket.gethostbyname(socket.gethostname()):
- print "Connection from", caddr, "not accepted."
- return
print "Thread %s has connection from %s.\n" % (str(thread.get_ident()),
caddr),
stdin = conn.makefile("r")