Summary: | net-libs/libmicrohttpd-1.0.1-r1 fails tests with net-misc/curl-8.13.0 (FAIL: test_tricky_url) | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Toralf Förster <toralf> |
Component: | Current packages | Assignee: | Karlson2k <k2k> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | base-system, k2k, kangie, proxy-maint |
Priority: | Normal | Keywords: | PullRequest, TESTFAILURE |
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
See Also: |
https://github.com/curl/curl/issues/16874 https://bugzilla.opensuse.org/show_bug.cgi?id=1241036 https://bugs.gnunet.org/view.php?id=9664 https://bugs.debian.org/1101232 https://github.com/curl/curl/issues/17029 https://github.com/gentoo/gentoo/pull/41572 |
||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: |
emerge-info.txt
emerge-history.txt environment etc.portage.tar.xz logs.tar.xz net-libs:libmicrohttpd-1.0.1-r1:20250409-232744.log.xz qlist-info.txt temp.tar.xz |
Description
Toralf Förster
![]() Created attachment 924260 [details]
emerge-info.txt
Created attachment 924261 [details]
emerge-history.txt
Created attachment 924262 [details]
environment
Created attachment 924263 [details]
etc.portage.tar.xz
Created attachment 924264 [details]
logs.tar.xz
Created attachment 924265 [details]
net-libs:libmicrohttpd-1.0.1-r1:20250409-232744.log.xz
Created attachment 924266 [details]
qlist-info.txt
Created attachment 924267 [details]
temp.tar.xz
As per the linked issue, not a cURL bug. It's _probably_ safe to skip this test, the actual "issue" is `\r`in a test case URI. The handling has changed between cURL 8.12 and 8.13 where it is now encoded rather than sent as an invalid request; if there _is_ a bug it's the old behaviour. Debian patch via the SUSE bug to skip the test: https://salsa.debian.org/debian/libmicrohttpd/-/blob/master/debian/patches/FTBFS_testcurl_tricky_url.patch According to the logs (test_tricky_url.log): Wrong URI: `/one%0dtwo', line: 304 FAIL test_tricky_url (exit status: 22) It means that initial request URI string "/one\rtwo" is URL-encoded by libcurl. This is wrong, as flag CURLU_URLENCODE is not used for the request. Unrelated, but flags CURLU_PATH_AS_IS and CURLU_ALLOW_SPACE are used for the URL, so libcurl must not change the content. See https://git.gnunet.org/libmicrohttpd.git/tree/src/testcurl/test_tricky.c?h=v1.0.1#n780 https://git.gnunet.org/libmicrohttpd.git/tree/src/testcurl/test_tricky.c?h=v1.0.1#n189 https://curl.se/libcurl/c/curl_url_get.html Looks like libcurl bug. In short: "/one\rtwo" is encoded as "/one%0dtwo", while CURLU_URLENCODE is not set. Wrong link to libcurl documentation. The correct link: https://curl.se/libcurl/c/curl_url_set.html libcurl bug: https://github.com/curl/curl/issues/17029 https://bugs.gnunet.org/view.php?id=9664 https://bugzilla.opensuse.org/show_bug.cgi?id=1241036 https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1101232 I'd already added most of those links to the bug apart from your new one (as it didn't exist at the time), they're in the See Also field. (In reply to Sam James from comment #15) > I'd already added most of those links to the bug apart from your new one (as > it didn't exist at the time), they're in the See Also field. Missed them. My bad. I'll implement a proper patch in the stable libmicrohttpd branch and then add it as patch for net-libs/libmicrohttpd-1.0.1. Should be finished today. (In reply to Karlson2k from comment #16) > (In reply to Sam James from comment #15) > > I'd already added most of those links to the bug apart from your new one (as > > it didn't exist at the time), they're in the See Also field. > > Missed them. My bad. > I'll implement a proper patch in the stable libmicrohttpd branch and then > add it as patch for net-libs/libmicrohttpd-1.0.1. > Should be finished today. No problem -- and thank you! The patch is here: https://git.gnunet.org/libmicrohttpd.git/patch/?id=036f8fdec2802e48e2555b2caf381bb1c565ab82 I'll update ebuild after local testing. The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2d39e230d9f4e899241ff6e7aeb97ebf4cad5a52 commit 2d39e230d9f4e899241ff6e7aeb97ebf4cad5a52 Author: Evgeny Grin (Karlson2k) <k2k@drgrin.dev> AuthorDate: 2025-04-13 13:27:34 +0000 Commit: Sam James <sam@gentoo.org> CommitDate: 2025-04-13 20:37:31 +0000 net-libs/libmicrohttpd: fix tests with curl-8.13 libcurl changed behaviour, tests needs to be adapted. Closes: https://bugs.gentoo.org/953520 Signed-off-by: Evgeny Grin (Karlson2k) <k2k@drgrin.dev> Closes: https://github.com/gentoo/gentoo/pull/41572 Signed-off-by: Sam James <sam@gentoo.org> ...microhttpd-0.9.76-fix-test_tricky-libcurl.patch | 62 ++++++++++++++++++++++ .../libmicrohttpd/libmicrohttpd-0.9.77-r1.ebuild | 6 ++- net-libs/libmicrohttpd/libmicrohttpd-0.9.77.ebuild | 6 ++- .../libmicrohttpd/libmicrohttpd-1.0.1-r1.ebuild | 6 ++- net-libs/libmicrohttpd/libmicrohttpd-1.0.1.ebuild | 6 ++- 5 files changed, 82 insertions(+), 4 deletions(-) |