commit e47f63a37bf8da79cfd59bb5a6b4fd7ff36f8232
parent aec9938235368161152814e0cfcfda24a055eb93
Author: Evgeny Grin (Karlson2k) <k2k@narod.ru>
Date: Fri, 10 Nov 2023 09:33:06 +0300
MHD_start_daemon(): mark listen as UNIX based on available information
Diffstat:
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/src/microhttpd/daemon.c b/src/microhttpd/daemon.c
@@ -7856,6 +7856,7 @@ MHD_start_daemon_va (unsigned int flags,
#endif
goto free_and_fail;
}
+ daemon->listen_is_unix = _MHD_NO;
/* Apply the socket options according to listening_address_reuse. */
if (0 == daemon->listening_address_reuse)
@@ -8122,6 +8123,8 @@ MHD_start_daemon_va (unsigned int flags,
/* Many non-Linux-based platforms return zero addrlen
* for AF_UNIX sockets */
daemon->port = 0; /* special value for UNIX domain sockets */
+ if (_MHD_UNKNOWN == daemon->listen_is_unix)
+ daemon->listen_is_unix = _MHD_YES;
}
#endif /* __linux__ */
#endif /* MHD_POSIX_SOCKETS */
@@ -8149,14 +8152,16 @@ MHD_start_daemon_va (unsigned int flags,
#ifdef AF_UNIX
case AF_UNIX:
daemon->port = 0; /* special value for UNIX domain sockets */
+ daemon->listen_is_unix = _MHD_YES;
break;
#endif
default:
#ifdef HAVE_MESSAGES
MHD_DLOG (daemon,
- _ ("Unknown address family!\n"));
+ _ ("Listen socket has unknown address family!\n"));
#endif
daemon->port = 0; /* ugh */
+ daemon->listen_is_unix = _MHD_UNKNOWN;
break;
}
}