]> granicus.if.org Git - python/commitdiff
Reformulate security check using getsockname().
authorGuido van Rossum <guido@python.org>
Sat, 19 Jul 1997 21:29:28 +0000 (21:29 +0000)
committerGuido van Rossum <guido@python.org>
Sat, 19 Jul 1997 21:29:28 +0000 (21:29 +0000)
Demo/pysvr/pysvr.py

index 329909b686bca53682a0c8c1756fed65d48d38e5..a62fc5c013dd0a88df7bc00a6ba7bb420a915b43 100755 (executable)
@@ -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")