diff --git a/common/os_calls.c b/common/os_calls.c index 46bc0e8a..04b2ac38 100644 --- a/common/os_calls.c +++ b/common/os_calls.c @@ -479,7 +479,11 @@ g_tcp_socket(void) { if (option_value != 0) { +#if defined(XRDP_ENABLE_IPV6ONLY) + option_value = 1; +#else option_value = 0; +#endif option_len = sizeof(option_value); if (setsockopt(rv, IPPROTO_IPV6, IPV6_V6ONLY, (char*)&option_value, option_len) < 0) diff --git a/configure.ac b/configure.ac index bf51cc53..26917325 100644 --- a/configure.ac +++ b/configure.ac @@ -32,6 +32,9 @@ AM_CONDITIONAL(SESMAN_NOPAM, [test x$enable_pam != xyes]) AC_ARG_ENABLE(ipv6, AS_HELP_STRING([--enable-ipv6], [Build IPv6 support (default: no, experimental)]), [], [enable_ipv6=no]) +AC_ARG_ENABLE(ipv6only, AS_HELP_STRING([--enable-ipv6only], + [Build IPv6-only (default: no)]), + [], [enable_ipv6only=no]) AC_ARG_ENABLE(kerberos, AS_HELP_STRING([--enable-kerberos], [Build kerberos support (default: no)]), [], [enable_kerberos=no]) @@ -106,6 +109,12 @@ then fi fi +if test "x$enable_ipv6only" = "xyes" +then + enable_ipv6=yes + AC_DEFINE([XRDP_ENABLE_IPV6ONLY],1,[Enable IPv6 only]) +fi + if test "x$enable_ipv6" = "xyes" then AC_DEFINE([XRDP_ENABLE_IPV6],1,[Enable IPv6])