Bug #81616 [Nab]: Windows binaries comes by default with libidn instead of libidn2
| From: | cmb@php.net | Date: | Fri, 12 Nov 2021 14:28:01 +0000 |
| Subject: | Bug #81616 [Nab]: Windows binaries comes by default with libidn instead of libidn2 | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-237729@lists.php.net to get a copy of this message | ||
Edit report at https://bugs.php.net/bug.php?id=81616&edit=1
ID: 81616
Updated by: cmb@php.net
Reported by: gblanchet at cofomo dot com
Summary: Windows binaries comes by default with libidn
instead of libidn2
Status: Not a bug
Type: Bug
Package: cURL related
Operating System: Windows
PHP Version: 8.0.12
Assigned To: cmb
Block user comment: N
Private report: N
New Comment:
Oh, forgot to link to our configure line:
<https://github.com/winlibs/winlib-builder/blob/8167993484d58b390d93f26f660953d9fec59875/.github/workflows/curl.yml#L46>
Previous Comments:
------------------------------------------------------------------------
[2021-11-12 14:11:08] cmb@php.net
As far as I know, only Windows IDN APIs are supported on
Windows[1]. These are not disabled for our builds (there is an
apparently erroneous USE_IDN=yes, but since ENABLE_IDN defaults to
yes, that shouldn't be an issue).
So there's nothing we can do.
[1] <https://github.com/curl/curl/blob/master/winbuild/README.md?plain=1#L90-L91>
------------------------------------------------------------------------
[2021-11-12 11:43:57] gblanchet at cofomo dot com
Description:
------------
WHAT I DID:
I installed PHP8 on my Windows machine using binaries from https://windows.php.net/download
WHAT I WANTED TO HAPPEN:
I wanted to use the cURL extension to query an IDN hostname.
WHAT ACTUALLY HAPPENED:
I realized cURL was using the old IDNA2003 protocol instead of the new one: IDN2008 because the
German letter "Ã" was translated to "ss" in the a-label queried. I check the
curl_version() and I found the cause: on Windows, PHP8 seems to be bundled with libidn instead of
libidn2. Please ensure the cURL extension is compiled with libidn2 instead of libidn to generate the
Windows binaries.
Test script:
---------------
php > var_dump(curl_version());
php shell code:1:
array(16) {
[...]
'version' =>
string(6) "7.76.1"
[...]
'libidn' =>
string(0) ""
[...]
}
------------------------------------------------------------------------
--
Edit this bug report at https://bugs.php.net/bug.php?id=81616&edit=1