diff --git a/rinetd.vcxproj b/rinetd.vcxproj
index 2bca0e6..7acde11 100644
--- a/rinetd.vcxproj
+++ b/rinetd.vcxproj
@@ -33,6 +33,9 @@
+
+
+
15.0
{3F1D9D58-3205-48E9-9C93-557291A45D74}
diff --git a/src/net.h b/src/net.h
index 7835d88..8eb23ae 100644
--- a/src/net.h
+++ b/src/net.h
@@ -12,6 +12,8 @@
/* Define this to a reasonably large value */
# define FD_SETSIZE 4096
# include
+# include
+# include
# include
#else
# include
diff --git a/src/rinetd.c b/src/rinetd.c
index 940e832..09639e3 100644
--- a/src/rinetd.c
+++ b/src/rinetd.c
@@ -654,6 +654,7 @@ static void handleAccept(ServerInfo const *srv)
SOCKET nfd;
if (srv->fromProto == protoTcp) {
/* In TCP mode, get remote address using accept(). */
+ // FIXME IPv6: need to reuse addrlen from the bind() call
nfd = accept(srv->fd, &addr, &addrlen);
if (nfd == INVALID_SOCKET) {
syslog(LOG_ERR, "accept(%llu): %m\n", (long long unsigned int)srv->fd);