Bug 59416

Summary: Проблемы записи спецсимволов в ini-файл
Product: Sisyphus Reporter: Божченко Павел Александрович <bozhchenkopa>
Component: gpupdateAssignee: Valery Sinelnikov <greh>
Status: NEW --- QA Contact: qa-sisyphus
Severity: normal    
Priority: P5 CC: greh, nir, sin
Version: unstable   
Hardware: x86_64   
OS: Linux   

Description Божченко Павел Александрович 2026-06-02 20:56:48 MSK
Версии пакетов:
gpupdate-0.15.0-alt1
gpui-0.2.55-alt1

Пример воспроизведения проблемы спецсимвола ";":
1) Система введена в Samba домен. В GPUI открыть для редактирования GPO, настроить политику для создания Ini-файла: Компьютер -> Настройки -> Настройки Системы -> Ini файлы -> ПКМ по пустому пространству справа -> Новый Ini файл:

Действие: Создать
Путь к файлу: /var/test.ini
Имя секции: common
Имя свойства: name
Значение свойства: a;1

2) Обновить политики, просмотреть содержимое созданного файла: 
# gpupdate -t COMPUTER && cat /var/test.ini

Содержимое:
[common]
name = a;1

3) Изменить политику этого Ini файла:
Действие: Заменить (также воспроизводится с Обновить)
Значение свойства: b

4) Обновить политики и посмотреть содержимое:
# gpupdate -t COMPUTER && cat /var/test.ini

Ожидаемый результат:
[common]
name = b

Фактический результат:
[common]
name = b;1

То есть, в файле остаётся ";1". Если смотреть шире, корень проблемы кажется в том, что нет единого подхода к обработке спецсимволов. В некоторых случаях (как в описанном выше), gpupdate записывает значения в сыром виде как есть, в других - пытается применять правила. Примеры такого:

Введено     | Записано
------------+--------------
"тест"      | "'тест'"
"те'ст"     | "'те'ст'"
["тест"]#=; | "['тест']#=;"
Comment 1 Божченко Павел Александрович 2026-06-03 11:41:43 MSK
В версии admx-basealt-0.8.0-alt1 была добавлена новая политика:
Компьютер -> Административные шаблоны -> Система ALT -> Групповые политики -> Обработка специальных символов в значениях ini-файлов

Во включенном её состоянии ошибка также воспроизводится. Более того, описании политики говорится, что во включенном состоянии значения со спецсимволами записываются без обрамления кавычками. Но всё равно происходит замена двойных кавычек на одинарные:

Введено     | Записано
------------+-----------
"тест"      | 'тест'
["тест"]#=; | ['тест']#=;