Reformulate security check using getsockname().

This commit is contained in:
Guido van Rossum 1997-07-19 21:29:28 +00:00
parent eca991df27
commit 42ded89c08
1 changed files with 4 additions and 3 deletions

View File

@ -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")