diff --git a/packages/network/libshairplay/patches/libshairplay-fixipv4ipv6race.patch b/packages/network/libshairplay/patches/libshairplay-fixipv4ipv6race.patch new file mode 100644 index 0000000000..4580d3cf7d --- /dev/null +++ b/packages/network/libshairplay/patches/libshairplay-fixipv4ipv6race.patch @@ -0,0 +1,27 @@ +From ac9240fa569df5a10d534a4cd45740a44ee00f63 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Juho=20V=C3=A4h=C3=A4-Herttua?= +Date: Mon, 24 Mar 2014 20:35:29 +0200 +Subject: [PATCH] Fix #23 on issue tracker. + +There is a race condition if IPv4 and IPv6 connections come at the same time. +--- + src/lib/httpd.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/src/lib/httpd.c b/src/lib/httpd.c +index 1d9e7e2..f081c5e 100644 +--- a/src/lib/httpd.c ++++ b/src/lib/httpd.c +@@ -237,7 +237,8 @@ struct httpd_s { + continue; + } + } +- if (httpd->server_fd6 != -1 && FD_ISSET(httpd->server_fd6, &rfds)) { ++ if (httpd->open_connections < httpd->max_connections && ++ httpd->server_fd6 != -1 && FD_ISSET(httpd->server_fd6, &rfds)) { + ret = httpd_accept_connection(httpd, httpd->server_fd6, 1); + if (ret == -1) { + break; +-- +1.8.5.5 +