Bug 50755

Summary: Не работает выключение механизмов групповых политик
Product: Sisyphus Reporter: Сергей Сысоев <sysoevsa>
Component: gpupdateAssignee: Danila Skachedubov <skachedubovda>
Status: CLOSED FIXED QA Contact: qa-sisyphus
Severity: major    
Priority: P5 CC: greh, nir, sin, skachedubovda, sysoevsa
Version: unstable   
Hardware: x86_64   
OS: Linux   
Attachments:
Description Flags
пример исправления none

Description Сергей Сысоев 2024-06-26 12:36:42 MSK
Created attachment 16336 [details]
пример исправления

Альт Рабочая Станция К 10.3, 6.1.94-un-def-alt1, все последние обновления
+ установлен gpupdate 0.10.3 из задания 351174.

Отключаем в групповой политике какой-либо из механизмов GPUpdate (например, Поддержка конфигурирования брандмауэра).

В /etc/dconf/db/policy.d/policy.ini видим как и должно быть:
[Software/BaseALT/Policies/GPUpdate]
FirewallApplier = 0

НО! Политики по брандмауэру всё равно применяются:
2024-06-26 13:09:14.383|[D00117]| Запуск применение настроек Firewall для машины|{}
2024-06-26 13:09:14.383|[D00119]| Firewall отключен, настройки будут сброшены|{}

Немного поизучали проблему, дошли до:
https://github.com/altlinux/gpupdate/blob/c57d1bac9e813d85663e29e02bfdc1a800411344/gpoa/frontend/applier_frontend.py#L52

Получается, что когда параметр не сконфигурирован (str("")) или параметр отключен (установлен в int(0)), проверка "if flag:" всегда ложная, и до нужной ветки result=false никогда не добраться.

Топорное, но рабочее решение - заменить
    if flag:
на 
    if len(str(flag))>0:

Прошу сразу собрать таск также в p10

Спасибо!
Comment 1 Сергей Сысоев 2024-06-26 13:15:40 MSK
Добвавлю, что проверка в функции check_windows_mapping_enabled(storage) скорей всего тоже некорректно работает:
    if flag and '0' == str(flag):

https://github.com/altlinux/gpupdate/blob/c57d1bac9e813d85663e29e02bfdc1a800411344/gpoa/frontend/applier_frontend.py#L40
Comment 2 Repository Robot 2024-06-27 17:07:41 MSK
gpupdate-0.10.4-alt1 -> sisyphus:

 Thu Jun 27 2024 Valery Sinelnikov <greh@altlinux> 0.10.4-alt1
 - Fixed the definition of the module activation check (closes: 50755)
 - Fixed sorting of scripts (closes: 50756)
 - Fixed reading key values from dconf
 - Changed the method for getting the list of packages for pkcon_runner