소스 검색

Use correct bool properties parsing by default

Boolean properties require specific setter to properly handle literal
"True" and "False" values. Previously it required all bool properties to
include 'setter=qubes.property.bool' in addition to 'type=bool'.
This fixes loading some boolean properties from qubes.xml. Specifically
at least include_in_backups on DispVM class lacked setter, which
resulted in property being reset to True automatically on qubesd
restart.

Fixes QubesOS/qubes-issues#4831
Marek Marczykowski-Górecki 5 년 전
부모
커밋
adbc618545
1개의 변경된 파일2개의 추가작업 그리고 0개의 파일을 삭제
  1. 2 0
      qubes/__init__.py

+ 2 - 0
qubes/__init__.py

@@ -195,6 +195,8 @@ class property:  # pylint: disable=redefined-builtin,invalid-name
             doc=None):
         # pylint: disable=redefined-builtin
         self.__name__ = name
+        if setter is None and type is bool:
+            setter = qubes.property.bool
         self._setter = setter
         self._saver = saver if saver is not None else (
             lambda self, prop, value: str(value))