Created attachment 20703 [details] Как это выглядит Версия пакета: pve-access-control-9.0.5-alt1 Проблема с кодировкой возвращаемых строк в веб-интерфейсе при добавлении области. Сервер возвращает некорректное сообщение об ошибке. К примеру, если в CLI выполнить команду (при условии, что нода не резолвит dc.freeipa.testdomain), то получаем корректное сообщение об ошибке: # pvesh create /access/domains --realm freeipa.testdomain --type ldap --base_dn dc=freeipa,dc=testdomain --user_attr uid --server1 dc.freeipa.testdomain --check-connection 1 --port 389 --mode ldap --comment FreeIPA add auth server failed: Неизвестное имя или служба В веб-интерфейсе же получаем: add auth server failed: ÐеизвеÑÑное Ð¸Ð¼Ñ Ð¸Ð»Ð¸ ÑлÑжба (500) Для решения этой проблемы помогло изменение: --- a/usr/share/perl5/PVE/Auth/LDAP.pm +++ b/usr/share/perl5/PVE/Auth/LDAP.pm @@ -516,7 +516,13 @@ sub on_delete_hook { sub check_connection { my ($class, $realm, $config, %param) = @_; - $class->connect_and_bind($config, $realm, \%param); + eval { + $class->connect_and_bind($config, $realm, \%param); + }; + if (my $err = $@) { + utf8::decode($err); + die $err; + } } 1; Теперь сообщение об ошибки отображается корректно, однако при выполнении ранее упомянутой команды в CLI появилось предупреждение: Wide character in die at /usr/share/perl5/PVE/RESTHandler.pm line 1024. Нужен более детальный анализ исходного кода и решение проблемы.
В качестве дополнительной информации. Заголовки ответа: HTTP/1.1 200 OK Cache-Control: max-age=0 Connection: close Connection: Keep-Alive Date: Tue, 17 Feb 2026 09:23:17 GMT Pragma: no-cache Server: pve-api-daemon/3.0 Content-Length: 172 Content-Type: application/json;charset=UTF-8 Expires: Tue, 17 Feb 2026 09:23:17 GMT Сам ответ: {"message":"add auth server failed: ÐеизвеÑÑное Ð¸Ð¼Ñ Ð¸Ð»Ð¸ ÑлÑжба\n","data":null,"status":500,"success":0} Локаль: # locale LANG=ru_RU.UTF-8 LC_CTYPE="ru_RU.UTF-8" LC_NUMERIC="ru_RU.UTF-8" LC_TIME="ru_RU.UTF-8" LC_COLLATE="ru_RU.UTF-8" LC_MONETARY="ru_RU.UTF-8" LC_MESSAGES="ru_RU.UTF-8" LC_PAPER="ru_RU.UTF-8" LC_NAME="ru_RU.UTF-8" LC_ADDRESS="ru_RU.UTF-8" LC_TELEPHONE="ru_RU.UTF-8" LC_MEASUREMENT="ru_RU.UTF-8" LC_IDENTIFICATION="ru_RU.UTF-8" LC_ALL=