ipv6_fixes.diff 1.3 KB

1234567891011121314151617181920212223242526272829303132
  1. diff --git a/thirdparty/libwebsockets/lib/plat/unix/unix-sockets.c b/thirdparty/libwebsockets/lib/plat/unix/unix-sockets.c
  2. index 693efd28e..192dddee6 100644
  3. --- a/thirdparty/libwebsockets/lib/plat/unix/unix-sockets.c
  4. +++ b/thirdparty/libwebsockets/lib/plat/unix/unix-sockets.c
  5. @@ -73,6 +73,11 @@ lws_plat_set_socket_options(struct lws_vhost *vhost, int fd, int unix_skt)
  6. int optval = 1;
  7. socklen_t optlen = sizeof(optval);
  8. +#ifdef LWS_WITH_IPV6
  9. + optval = 0;
  10. + setsockopt(fd, IPPROTO_IPV6, IPV6_V6ONLY, (const void*)&optval, optlen);
  11. +#endif
  12. +
  13. #if defined(__APPLE__) || \
  14. defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || \
  15. defined(__NetBSD__) || \
  16. diff --git a/thirdparty/libwebsockets/lib/plat/windows/windows-sockets.c b/thirdparty/libwebsockets/lib/plat/windows/windows-sockets.c
  17. index bf0935057..62a0a4984 100644
  18. --- a/thirdparty/libwebsockets/lib/plat/windows/windows-sockets.c
  19. +++ b/thirdparty/libwebsockets/lib/plat/windows/windows-sockets.c
  20. @@ -56,6 +56,11 @@ lws_plat_set_socket_options(struct lws_vhost *vhost, lws_sockfd_type fd,
  21. struct protoent *tcp_proto;
  22. #endif
  23. +#ifdef LWS_WITH_IPV6
  24. + optval = 0;
  25. + setsockopt(fd, IPPROTO_IPV6, IPV6_V6ONLY, (const void*)&optval, optlen);
  26. +#endif
  27. +
  28. if (vhost->ka_time) {
  29. /* enable keepalive on this socket */
  30. optval = 1;