summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--slirp/socket.h1
-rw-r--r--slirp/tcp_subr.c1
2 files changed, 2 insertions, 0 deletions
diff --git a/slirp/socket.h b/slirp/socket.h
index 979b1915c1..d241a48ca2 100644
--- a/slirp/socket.h
+++ b/slirp/socket.h
@@ -73,6 +73,7 @@ struct socket {
 
 #define SS_PERSISTENT_MASK	0xf000	/* Unremovable state bits */
 #define SS_HOSTFWD		0x1000	/* Socket describes host->guest forwarding */
+#define SS_INCOMING		0x2000	/* Connection was initiated by a host on the internet */
 
 extern struct socket tcb;
 
diff --git a/slirp/tcp_subr.c b/slirp/tcp_subr.c
index 6fa4223a4e..219f1dd005 100644
--- a/slirp/tcp_subr.c
+++ b/slirp/tcp_subr.c
@@ -483,6 +483,7 @@ tcp_connect(struct socket *inso)
 					   /* if it's not FACCEPTONCE, it's already NOFDREF */
 	}
 	so->s = s;
+	so->so_state |= SS_INCOMING;
 
 	so->so_iptos = tcp_tos(so);
 	tp = sototcpcb(so);