Control: retitle -1 php-net-publicsuffix: FTBFS: PHP Fatal error: Uncaught 
ValueError: idn_to_ascii(): Argument #1 ($domain) must not be empty
Control: reassign -1 php-net-publicsuffix

Sorry, but no - the usage of idn_to_ascii() is invalid in php-net-publicsuffix 
and you need to fix it there.

The missing check got fixed in 
https://github.com/php/php-src/commit/33f1cf202ef1 and it's OK to make small 
changes like this when changing major versions.

Ondrej
--
Ondřej Surý (He/Him)
[email protected]

> On 23. 5. 2025, at 19:15, наб <[email protected]> wrote:
> 
> Control: retitle -1 php8.4-intl: idn_to_ascii("") throws ValueError ‒ 
> regression from bookworm
> Control: reassign -1 php8.4-intl 8.4.6-2
> Control: affects -1 php-net-publicsuffix
> 
> On Mon, Dec 16, 2024 at 05:51:30PM +0000, Santiago Vila wrote:
>> Package: src:php-net-publicsuffix
>> Version: 0.2-1.1
>> Severity: serious
>> Tags: ftbfs
>> 
>> Dear maintainer:
>> 
>> During a rebuild of all packages in unstable, your package failed to build:
>> 
>> --------------------------------------------------------------------------------
>> [...]
>> debian/rules build
>> dh build
>> dh: warning: Compatibility levels before 10 are deprecated (level 9 in use)
>>   dh_update_autotools_config
>>   debian/rules override_dh_auto_test
>> make[1]: Entering directory '/<<PKGBUILDDIR>>'
>> ./test.php
>> PHP Fatal error:  Uncaught ValueError: idn_to_ascii(): Argument #1 ($domain) 
>> must not be empty in /<<PKGBUILDDIR>>/Net/PublicSuffix.php:89
>> Stack trace:
>> #0 /<<PKGBUILDDIR>>/Net/PublicSuffix.php(89): idn_to_ascii()
>> #1 /<<PKGBUILDDIR>>/Net/PublicSuffix.php(144): 
>> Net_PublicSuffix::_canonicalize()
>> #2 /<<PKGBUILDDIR>>/Net/PublicSuffix.php(47): 
>> Net_PublicSuffix->get_registered_domain()
>> #3 /<<PKGBUILDDIR>>/test.php(21): Net_PublicSuffix::registered_domain()
>> #4 /<<PKGBUILDDIR>>/test.php(33) : eval()'d code(5): checkPublicSuffix()
>> #5 /<<PKGBUILDDIR>>/test.php(33): eval()
>> #6 {main}
>>  thrown in /<<PKGBUILDDIR>>/Net/PublicSuffix.php on line 89
>> make[1]: *** [debian/rules:6: override_dh_auto_test] Error 255
>> make[1]: Leaving directory '/<<PKGBUILDDIR>>'
>> make: *** [debian/rules:3: build] Error 2
>> dpkg-buildpackage: error: debian/rules build subprocess returned exit status 
>> 2
> 
> This is a regression from bookworm php8.2-intl 8.2.28-1~deb12u1:
>  $ cat a.php
>  <?php
>  print(idn_to_ascii("gaming") . "\n");
>  print(idn_to_ascii("гаминг") . "\n");
>  print(idn_to_ascii("") . "\n");
>  bookworm$ php a.php
>  gaming
>  xn--80afbtth
> 
>  sid$ php a.php
>  gaming
>  xn--80afbtth
>  PHP Fatal error:  Uncaught ValueError: idn_to_ascii(): Argument #1 ($domain) 
> must not be empty in /srv/a.php:4
>  Stack trace:
>  #0 /srv/a.php(4): idn_to_ascii()
>  #1 {main}
>    thrown in /srv/a.php on line 4
> 
> Nothing on https://www.php.net/manual/en/function.idn-to-ascii.php
> indicates a change after PHP 8 or this being invalid at all.
> 
> Best,

Reply via email to