new file mode 100644
@@ -0,0 +1,45 @@
+From f7a3d8f1366c7df6578d79af3b5d28a316011be0 Mon Sep 17 00:00:00 2001
+From: Joe Orton <jorton@redhat.com>
+Date: Thu, 7 Mar 2019 09:56:57 +0000
+Subject: [PATCH 1/4] Temporarily disable redirect.c:no_redirect
+
+Upstream-Status: Backport
+[https://github.com/notroj/neon/commit/f7a3d8f1366c7df6578d79af3b5d28a316011be0]
+Signed-off-by: Bindu Bhabu <bhabu.bindu@kpit.com>
+---
+ test/redirect.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/test/redirect.c b/test/redirect.c
+index c93b388..920c481 100644
+--- a/test/redirect.c
++++ b/test/redirect.c
+@@ -162,6 +162,7 @@ static int fail_loop(void)
+ }
+ #endif
+
++#if 0
+ /* ensure that ne_redirect_location returns NULL when no redirect has
+ * been encountered, or redirect hooks aren't registered. */
+ static int no_redirect(void)
+@@ -187,6 +188,7 @@ static int no_redirect(void)
+ ne_session_destroy(sess);
+ return OK;
+ }
++#endif
+
+ ne_test tests[] = {
+ T(lookup_localhost),
+@@ -194,7 +196,9 @@ ne_test tests[] = {
+ T(non_absolute),
+ T(relative_1),
+ T(relative_2),
++#if 0
+ T(no_redirect),
++#endif
+ T(NULL)
+ };
+
+--
+2.34.1
+
new file mode 100644
@@ -0,0 +1,50 @@
+From 0f8dec6c8e7d672f74bb5f81fc7c6bd0d5c56619 Mon Sep 17 00:00:00 2001
+From: Joe Orton <jorton@redhat.com>
+Date: Mon, 8 Apr 2019 10:22:52 +0100
+Subject: [PATCH 2/4] * test/redirect: Try re-enabling no_redirect with more
+ debugging.
+
+Upstream-Status: Backport
+[https://github.com/notroj/neon/commit/0f8dec6c8e7d672f74bb5f81fc7c6bd0d5c56619]
+Signed-off-by: Bindu Bhabu <bhabu.bindu@kpit.com>
+---
+ test/redirect.c | 9 ++++++---
+ 1 file changed, 6 insertions(+), 3 deletions(-)
+
+diff --git a/test/redirect.c b/test/redirect.c
+index 920c481..e7ecc19 100644
+--- a/test/redirect.c
++++ b/test/redirect.c
+@@ -64,7 +64,10 @@ static int serve_redir(ne_socket *sock, void *ud)
+ static int process_redir(ne_session *sess, const char *path,
+ const ne_uri **redir)
+ {
+- ONN("did not get NE_REDIRECT", any_request(sess, path) != NE_REDIRECT);
++ int ret = any_request(sess, path);
++ ONV(ret != NE_REDIRECT,
++ ("request got %d (%s) rather than NE_REDIRECT",
++ ret, ne_get_error(sess)));
+ *redir = ne_redirect_location(sess);
+ return OK;
+ }
+@@ -162,7 +165,7 @@ static int fail_loop(void)
+ }
+ #endif
+
+-#if 0
++#if 01
+ /* ensure that ne_redirect_location returns NULL when no redirect has
+ * been encountered, or redirect hooks aren't registered. */
+ static int no_redirect(void)
+@@ -196,7 +199,7 @@ ne_test tests[] = {
+ T(non_absolute),
+ T(relative_1),
+ T(relative_2),
+-#if 0
++#if 1
+ T(no_redirect),
+ #endif
+ T(NULL)
+--
+2.34.1
+
new file mode 100644
@@ -0,0 +1,48 @@
+From 1e562888d85efc492c434474c8d90cef3aaa8b18 Mon Sep 17 00:00:00 2001
+From: Joe Orton <jorton@redhat.com>
+Date: Mon, 8 Apr 2019 10:32:27 +0100
+Subject: [PATCH 3/4] * test/redirect.c (no_redirect): Switch to using
+ double_serve_sstring.
+
+Upstream-Status: Backport
+[https://github.com/notroj/neon/commit/1e562888d85efc492c434474c8d90cef3aaa8b18]
+Signed-off-by: Bindu Bhabu <bhabu.bindu@kpit.com>
+---
+ test/redirect.c | 14 ++++++++++----
+ 1 file changed, 10 insertions(+), 4 deletions(-)
+
+diff --git a/test/redirect.c b/test/redirect.c
+index e7ecc19..42deadb 100644
+--- a/test/redirect.c
++++ b/test/redirect.c
+@@ -166,17 +166,23 @@ static int fail_loop(void)
+ #endif
+
+ #if 01
++
++#define RESP1 "HTTP/1.1 200 OK\r\n" "Content-Length: 0\r\n\r\n"
++#define RESP2 "HTTP/1.0 302 Get Ye Away\r\n" "Location: /blah\r\n" "\r\n"
+ /* ensure that ne_redirect_location returns NULL when no redirect has
+ * been encountered, or redirect hooks aren't registered. */
+ static int no_redirect(void)
+ {
+ ne_session *sess;
+ const ne_uri *loc;
++ struct double_serve_args resp;
++
++ resp.first.data = RESP1;
++ resp.first.len = strlen(RESP1);
++ resp.second.data = RESP2;
++ resp.second.len = strlen(RESP2);
+
+- CALL(session_server(&sess, single_serve_string,
+- "HTTP/1.1 200 OK\r\n" "Content-Length: 0\r\n\r\n"
+- "HTTP/1.0 302 Get Ye Away\r\n"
+- "Location: /blah\r\n" "\r\n"));
++ CALL(session_server(&sess, double_serve_sstring, &resp));
+ ONN("redirect non-NULL before register", ne_redirect_location(sess));
+ ne_redirect_register(sess);
+ ONN("initial redirect non-NULL", ne_redirect_location(sess));
+--
+2.34.1
+
new file mode 100644
@@ -0,0 +1,49 @@
+From 9e836bb63bf41fd78e12175cd7b35bfb07a031e3 Mon Sep 17 00:00:00 2001
+From: Joe Orton <jorton@redhat.com>
+Date: Mon, 8 Apr 2019 10:35:42 +0100
+Subject: [PATCH 4/4] * test/redirect.c: Cleanup.
+
+Upstream-Status: Backport
+[https://github.com/notroj/neon/commit/9e836bb63bf41fd78e12175cd7b35bfb07a031e3]
+Signed-off-by: Bindu Bhabu <bhabu.bindu@kpit.com>
+---
+ test/redirect.c | 6 +-----
+ 1 file changed, 1 insertion(+), 5 deletions(-)
+
+diff --git a/test/redirect.c b/test/redirect.c
+index 42deadb..682097d 100644
+--- a/test/redirect.c
++++ b/test/redirect.c
+@@ -165,10 +165,9 @@ static int fail_loop(void)
+ }
+ #endif
+
+-#if 01
+-
+ #define RESP1 "HTTP/1.1 200 OK\r\n" "Content-Length: 0\r\n\r\n"
+ #define RESP2 "HTTP/1.0 302 Get Ye Away\r\n" "Location: /blah\r\n" "\r\n"
++
+ /* ensure that ne_redirect_location returns NULL when no redirect has
+ * been encountered, or redirect hooks aren't registered. */
+ static int no_redirect(void)
+@@ -197,7 +196,6 @@ static int no_redirect(void)
+ ne_session_destroy(sess);
+ return OK;
+ }
+-#endif
+
+ ne_test tests[] = {
+ T(lookup_localhost),
+@@ -205,9 +203,7 @@ ne_test tests[] = {
+ T(non_absolute),
+ T(relative_1),
+ T(relative_2),
+-#if 1
+ T(no_redirect),
+-#endif
+ T(NULL)
+ };
+
+--
+2.34.1
+
@@ -9,6 +9,10 @@ SRC_URI = "${DEBIAN_MIRROR}/main/n/neon27/neon27_${PV}.orig.tar.gz \
file://pkgconfig.patch \
file://fix-package-check-for-libxml2.patch \
file://run-ptest \
+ file://0001-Temporarily-disable-no_redirect.patch \
+ file://0002-Re-enabling-no_redirect-with-more-debugging.patch \
+ file://0003-no_redirect-Switch-to-using-double_serve_sstring.patch \
+ file://0004-test-redirect.c-Cleanup.patch \
"
SRC_URI[md5sum] = "e28d77bf14032d7f5046b3930704ef41"
The redirect test in neon 0.30.2 intermittently fails with "did not get NE_REDIRECT", making it hard to debug. Backport relevant upstream changes from updated neon version to: - log actual return value when NE_REDIRECT is not received - use double_serve_sstring for improved test reliability Upstream-Status: Backport [https://github.com/notroj/neon/commit/f7a3d8f1366c7df6578d79af3b5d28a316011be0] [https://github.com/notroj/neon/commit/0f8dec6c8e7d672f74bb5f81fc7c6bd0d5c56619] [https://github.com/notroj/neon/commit/1e562888d85efc492c434474c8d90cef3aaa8b18] [https://github.com/notroj/neon/commit/9e836bb63bf41fd78e12175cd7b35bfb07a031e3] Signed-off-by: Bhabu Bindu <bhabu.bindu@kpit.com> --- ...0001-Temporarily-disable-no_redirect.patch | 45 +++++++++++++++++ ...ling-no_redirect-with-more-debugging.patch | 50 +++++++++++++++++++ ...Switch-to-using-double_serve_sstring.patch | 48 ++++++++++++++++++ .../neon/0004-test-redirect.c-Cleanup.patch | 49 ++++++++++++++++++ meta-oe/recipes-support/neon/neon_0.30.2.bb | 4 ++ 5 files changed, 196 insertions(+) create mode 100644 meta-oe/recipes-support/neon/neon/0001-Temporarily-disable-no_redirect.patch create mode 100644 meta-oe/recipes-support/neon/neon/0002-Re-enabling-no_redirect-with-more-debugging.patch create mode 100644 meta-oe/recipes-support/neon/neon/0003-no_redirect-Switch-to-using-double_serve_sstring.patch create mode 100644 meta-oe/recipes-support/neon/neon/0004-test-redirect.c-Cleanup.patch