diff --git a/qubes/ext/r3compatibility.py b/qubes/ext/r3compatibility.py index 919493db..728ac9f6 100644 --- a/qubes/ext/r3compatibility.py +++ b/qubes/ext/r3compatibility.py @@ -162,7 +162,9 @@ class R3Compatibility(qubes.ext.Extension): def write_services(self, vm): for feature, value in vm.features.items(): - service = self.features_to_services.get(feature, feature) + service = self.features_to_services.get(feature, None) + if service is None: + continue # forcefully convert to '0' or '1' vm.qdb.write('/qubes-service/{}'.format(service), str(int(bool(value)))) diff --git a/qubes/vm/qubesvm.py b/qubes/vm/qubesvm.py index 226cc4fc..83763c54 100644 --- a/qubes/vm/qubesvm.py +++ b/qubes/vm/qubesvm.py @@ -1819,8 +1819,12 @@ class QubesVM(qubes.vm.mix.net.NetVMMixin, qubes.vm.BaseVM): self.qdb.write('/qubes-timezone', tzname) for feature, value in self.features.items(): - self.qdb.write('/features/{0}'.format(feature), - str(value) if value else '') + if not feature.startswith('service/'): + continue + service = feature[len('service/'):] + # forcefully convert to '0' or '1' + self.qdb.write('/qubes-service/{}'.format(service), + str(int(bool(value)))) self.qdb.write('/qubes-block-devices', '')