View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0005473 | libmicrohttpd | build system | public | 2018-11-06 22:49 | 2018-11-18 13:27 |
Reporter | eworm | Assigned To | Christian Grothoff | ||
Priority | normal | Severity | minor | Reproducibility | always |
Status | closed | Resolution | fixed | ||
Platform | x86_64 | OS | Arch Linux | OS Version | rolling |
Product Version | 0.9.60 | ||||
Target Version | 0.9.61 | Fixed in Version | 0.9.61 | ||
Summary | 0005473: make check fails | ||||
Description | Build succeeds, but make check fails: =========================================================== GNU Libmicrohttpd 0.9.60: src/testcurl/test-suite.log =========================================================== # TOTAL: 36 # PASS: 34 # SKIP: 0 # XFAIL: 0 # FAIL: 2 # XPASS: 0 # ERROR: 0 .. contents:: :depth: 2 FAIL: test_digestauth ===================== Authentication failed, arguments do not match. curl_easy_perform failed: `HTTP response code said error' Error (code: 2) FAIL test_digestauth (exit status: 1) FAIL: test_digestauth_with_arguments ==================================== Authentication failed, arguments do not match. curl_easy_perform failed: `HTTP response code said error' Error (code: 2) FAIL test_digestauth_with_arguments (exit status: 1) | ||||
Steps To Reproduce | ./configure && make && make check | ||||
Additional Information | I do not think so, but if it matters: This is with curl 7.62.0-1. | ||||
Tags | No tags attached. | ||||
|
Whatever causes this... I can reproduce with 0.9.59 as well. Looks like I have to reconsider my statement about curl. BTW, it fails at src/microhttpd/digestauth.c line 694 checking for the number of headers. |
|
The offending commit is: https://github.com/curl/curl/commit/46e164069d1a5230e4e64cbd2ff46c46cce056bb Sadly this is quite invasive... :-/ |
|
The behavior in curl changed, but libmicrohttpd did misuse libcurl before... The patch has the details. 0001-fix-tests-with-curl.patch (2,168 bytes)
From 7ae5cf2b850a9fcdc5628a09c75a250f8bd6f293 Mon Sep 17 00:00:00 2001 From: Christian Hesse <mail@eworm.de> Date: Thu, 8 Nov 2018 00:15:29 +0100 Subject: [PATCH 1/1] fix tests with curl Starting with curl 7.62.0 some tests fail. The commit in question is 46e16406 [0] ("url: use the URL API internally as well"). Analyzing the changed behavior reveals that the url given to curl_easy_setopt() with CURLOPT_URL is no longer encoded. Looking at the documentation [1] this behavior is correct, the "parameter should be a char * to a zero terminated string which must be URL-encoded [...]". So let's just give a valid url... [0] https://github.com/curl/curl/commit/46e164069d1a5230e4e64cbd2ff46c46cce056bb [1] https://curl.haxx.se/libcurl/c/CURLOPT_URL.html Signed-off-by: Christian Hesse <mail@eworm.de> --- src/testcurl/test_digestauth.c | 2 +- src/testcurl/test_digestauth_with_arguments.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/testcurl/test_digestauth.c b/src/testcurl/test_digestauth.c index 48c7a87a..89076608 100644 --- a/src/testcurl/test_digestauth.c +++ b/src/testcurl/test_digestauth.c @@ -218,7 +218,7 @@ testDigestAuth () { MHD_stop_daemon (d); return 32; } port = (int)dinfo->port; } - sprintf(url, "http://127.0.0.1:%d/bar%%20 foo?a=bü%%20", port); + sprintf(url, "http://127.0.0.1:%d/bar%20foo%3Fkey%3Dvalue", port); c = curl_easy_init (); curl_easy_setopt (c, CURLOPT_URL, url); curl_easy_setopt (c, CURLOPT_WRITEFUNCTION, ©Buffer); diff --git a/src/testcurl/test_digestauth_with_arguments.c b/src/testcurl/test_digestauth_with_arguments.c index 107d2256..17d0f7a2 100644 --- a/src/testcurl/test_digestauth_with_arguments.c +++ b/src/testcurl/test_digestauth_with_arguments.c @@ -213,7 +213,7 @@ testDigestAuth () { MHD_stop_daemon (d); return 32; } port = (int)dinfo->port; } - sprintf(url, "http://127.0.0.1:%d/foo?key=value", port); + sprintf(url, "http://127.0.0.1:%d/bar%20foo%3Fkey%3Dvalue", port); c = curl_easy_init (); curl_easy_setopt (c, CURLOPT_URL, url); curl_easy_setopt (c, CURLOPT_WRITEFUNCTION, ©Buffer); |
|
For your information, also happens on Debian. And with libmicrohttpd 0.9.59 (which used to build and pass all tests), the same errors occur. |
|
Fixed as suggested in 2962b6e4..ff551c46 |
Date Modified | Username | Field | Change |
---|---|---|---|
2018-11-06 22:49 | eworm | New Issue | |
2018-11-07 22:32 | eworm | Note Added: 0013322 | |
2018-11-07 22:53 | eworm | Note Added: 0013323 | |
2018-11-08 00:25 | eworm | File Added: 0001-fix-tests-with-curl.patch | |
2018-11-08 00:25 | eworm | Note Added: 0013324 | |
2018-11-11 15:35 | beberking | Note Added: 0013330 | |
2018-11-12 19:49 | Christian Grothoff | Assigned To | => Christian Grothoff |
2018-11-12 19:49 | Christian Grothoff | Status | new => assigned |
2018-11-12 19:49 | Christian Grothoff | Target Version | => 0.9.61 |
2018-11-12 19:53 | Christian Grothoff | Note Added: 0013333 | |
2018-11-12 19:53 | Christian Grothoff | Status | assigned => resolved |
2018-11-12 19:53 | Christian Grothoff | Resolution | open => fixed |
2018-11-12 19:53 | Christian Grothoff | Fixed in Version | => 0.9.61 |
2018-11-18 13:27 | Christian Grothoff | Status | resolved => closed |