Received: from theta.ikke.info (theta.ikke.info [178.21.117.236]) by gbr-app-1.alpinelinux.org (Postfix) with ESMTPS id 897092236D1 for <~alpine/devel@lists.alpinelinux.org>; Fri, 13 Jan 2023 20:34:52 +0000 (UTC) Received: from bbea3f19b1bb (mutt_mutt_run_145a96208cdf.postfix_default [192.168.80.4]) by theta.ikke.info (Postfix) with ESMTPS id D937814081B; Fri, 13 Jan 2023 20:32:28 +0000 (UTC) Date: Fri, 13 Jan 2023 20:32:28 +0000 From: Kevin Daudt To: Frederick Lafleche Cc: ~alpine/devel@lists.alpinelinux.org Subject: Re: Curl Feature Regression in Alpine 3.16+ Message-ID: References: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: On Fri, Jan 13, 2023 at 12:01:12PM -0500, Frederick Lafleche wrote: > Hi, > > I just noticed that since Alpine release 3.16.x the curl option > --dns-server does not work anymore. The following error message is > displayed: > > curl: option --dns-server: the installed libcurl version > doesn't support this > > After some investigation I found that Curl (7.83.x) changed how the > build manages c-ares. > > configure: remove support for "embedded ares" #8397 > https://github.com/curl/curl/pull/8397) > > Based on the commit comment the option --enable-ares must now be > explicitly given. > > I'm now wondering how to proceed. Is this something that can be > changed in Alpine? Should a defect be opened? Submit a patch? What > would be the preferred method? > > Thank you in advance, > > Fred If I look at the buildlogs for curl on 3.15[0] or 3.14[1], I see: > checking whether to enable c-ares for DNS lookups... no so c-ares was not enabled then either. The pull request that you refer to mentions: > In March 2010 (commit 4259d2d) we removed the embedded 'ares' > directory from the curl source tree So c-ares was already not embedded for a long time, and hence, could not have been used. The history of the curl package also does not show c-ares was ever pulled in as a dependency. So my conclusion is that whatever has changed since 3.16, it's not the lack of c-ares that causes the issue. Comparing the configure output of those buildlogs, I do not see any obvious differences which could explain why it's no longer supported. This issue[2] mentions: > The option --dns-servers only works if libcurl was built to use c-ares > and it seems your build does not. Previously curl would just silently > ignore that problem, but it still wouldn't (couldn't) use the option. So apparently, it would have never worked, curl just didn't complain about it. Kevin [0]:https://build.alpinelinux.org/buildlogs/build-3-15-x86_64/main/curl/curl-7.80.0-r5.log [1]:https://build.alpinelinux.org/buildlogs/build-3-14-x86_64/main/curl/curl-7.79.1-r4.log [2]:https://github.com/curl/curl/issues/8551#issuecomment-1060280243