On 12/9/25 6:14 AM, Christian Hesse wrote:
David C Rankin <[email protected]> on Mon, 2025/12/08 21:38:
Call to undefined function OC\\Security\\idn_to_utf8() in file
/usr/share/webapps/nextcloud/lib/private/Security/RemoteHostValidator.php
line 38
Wondering if this is related to the update of libidn2 [0]. That should not
bring any breaking changes, though.
[0]
https://gitlab.archlinux.org/archlinux/packaging/packages/libidn2/-/commit/7254392fe9adbba2842442e66bafca2fe9cd761c
Thank you Christian,
I have to admit, I'm not smart enough to immediately see how the
change to libidn2 would translate into PHP not being able to find what I
guess is a PHP function? One thing I don't really have experience with
is the internals of Nextcloud as far as the code goes.
The
/usr/share/webapps/nextcloud/lib/private/Security/RemoteHostValidator.php
file is just 56 lines of plain PHP, and the function
https://www.php.net/manual/en/function.idn-to-utf8.php is just a plain
PHP function.
Could this be in the change of php-legacy package from php-8.2.x to
php-8.3.x? Or are you saying the change of the version for libidn2 may
have caused all versions of PHP to consider the idn_to_utf8() function
undefined? Checking the php-legacy PKGBUILD, libidn2 isn't listed as a
dependency, so that is where I'm confused...
There hasn't been any response yet to the help request opened at
https://help.nextcloud.com/t/nextcloud-32-call-to-undefined-function-oc-security-idn-to-utf8/237090
While there are similar issues, none have the same idn_to_utf8()
undefined as the cause. I'll keep you posted on any progress there.
--
David C. Rankin, J.D.,P.E.