1 |
commit: b5ba1ddb6b1eb7fb418d9e8f268fae2dd06d44d2 |
2 |
Author: Zac Medico <zmedico <AT> gentoo <DOT> org> |
3 |
AuthorDate: Sat May 7 03:11:26 2016 +0000 |
4 |
Commit: Zac Medico <zmedico <AT> gentoo <DOT> org> |
5 |
CommitDate: Sat May 7 03:15:06 2016 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b5ba1ddb |
7 |
|
8 |
www-servers/nginx: add segfault fix to 1.10.0 for http_upstream_check (bug 582316) |
9 |
|
10 |
Package-Manager: portage-2.2.28 |
11 |
|
12 |
.../files/check-0.3.0-segfault-on-reload.patch | 26 ++++++++++++++++++++++ |
13 |
www-servers/nginx/nginx-1.10.0.ebuild | 3 +++ |
14 |
2 files changed, 29 insertions(+) |
15 |
|
16 |
diff --git a/www-servers/nginx/files/check-0.3.0-segfault-on-reload.patch b/www-servers/nginx/files/check-0.3.0-segfault-on-reload.patch |
17 |
new file mode 100644 |
18 |
index 0000000..f556aab |
19 |
--- /dev/null |
20 |
+++ b/www-servers/nginx/files/check-0.3.0-segfault-on-reload.patch |
21 |
@@ -0,0 +1,26 @@ |
22 |
+From 2a52fbf565d0d5bdc9f25382b5af6e952216831f Mon Sep 17 00:00:00 2001 |
23 |
+From: Dmitry Saprykin <saprykin.dmitry@×××××.com> |
24 |
+Date: Fri, 5 Dec 2014 11:46:18 +0300 |
25 |
+Subject: [PATCH] * serfault on reload fix |
26 |
+ |
27 |
+--- |
28 |
+ ngx_http_upstream_check_module.c | 6 +++--- |
29 |
+ 1 file changed, 3 insertions(+), 3 deletions(-) |
30 |
+ |
31 |
+diff --git a/ngx_http_upstream_check_module.c b/ngx_http_upstream_check_module.c |
32 |
+index e2a4030..41aa63a 100644 |
33 |
+--- a/ngx_http_upstream_check_module.c |
34 |
++++ b/ngx_http_upstream_check_module.c |
35 |
+@@ -3991,9 +3991,9 @@ ngx_http_upstream_check_find_shm_peer(ngx_http_upstream_check_peers_shm_t *p, |
36 |
+ continue; |
37 |
+ } |
38 |
+ |
39 |
+- if ((ngx_memcmp(addr->sockaddr, peer_shm->sockaddr, addr->socklen) == 0) |
40 |
+- && (ngx_strncmp(upstream_name->data, peer_shm->upstream_name->data, |
41 |
+- upstream_name->len) == 0)) { |
42 |
++ if (ngx_memcmp(addr->sockaddr, peer_shm->sockaddr, addr->socklen) == 0 |
43 |
++ && upstream_name->len == peer_shm->upstream_name->len |
44 |
++ && ngx_strncmp(upstream_name->data, peer_shm->upstream_name->data, upstream_name->len) == 0) { |
45 |
+ return peer_shm; |
46 |
+ } |
47 |
+ } |
48 |
|
49 |
diff --git a/www-servers/nginx/nginx-1.10.0.ebuild b/www-servers/nginx/nginx-1.10.0.ebuild |
50 |
index 159f891..ef851c4 100644 |
51 |
--- a/www-servers/nginx/nginx-1.10.0.ebuild |
52 |
+++ b/www-servers/nginx/nginx-1.10.0.ebuild |
53 |
@@ -329,6 +329,9 @@ src_prepare() { |
54 |
|
55 |
if use nginx_modules_http_upstream_check; then |
56 |
eapply -p0 "${FILESDIR}/check-1.9.2".patch |
57 |
+ pushd "${HTTP_UPSTREAM_CHECK_MODULE_WD}" >/dev/null |
58 |
+ eapply -p1 "${FILESDIR}/check-0.3.0-segfault-on-reload".patch |
59 |
+ popd >/dev/null |
60 |
fi |
61 |
|
62 |
if use nginx_modules_http_lua; then |