parent
0f03b257ce
commit
b6d8c7fb81
@ -37,6 +37,14 @@ class R3Compatibility(qubes.ext.Extension):
|
||||
'''Maintain VM interface compatibility with R3.0 and R3.1.
|
||||
At lease where possible.
|
||||
'''
|
||||
|
||||
features_to_services = {
|
||||
'services/ntpd': 'ntpd',
|
||||
'check-updates': 'qubes-update-check',
|
||||
'dvm': 'qubes-dvm',
|
||||
|
||||
}
|
||||
|
||||
# noinspection PyUnusedLocal
|
||||
@qubes.ext.handler('qdb-created')
|
||||
def on_qdb_created(self, vm, event):
|
||||
@ -107,6 +115,8 @@ class R3Compatibility(qubes.ext.Extension):
|
||||
vm.qdb.write("/qubes-iptables-error", '')
|
||||
self.write_iptables_qubesdb_entry(vm)
|
||||
|
||||
self.write_services(vm)
|
||||
|
||||
# FIXME use event after creating Xen domain object, but before "resume"
|
||||
@qubes.ext.handler('domain-started')
|
||||
def on_domain_started(self, vm, event, **kwargs):
|
||||
@ -212,3 +222,10 @@ class R3Compatibility(qubes.ext.Extension):
|
||||
# no need for ending -A FORWARD -j DROP, cause default action is DROP
|
||||
|
||||
firewallvm.qdb.write("/qubes-iptables", 'reload')
|
||||
|
||||
def write_services(self, vm):
|
||||
for feature, value in vm.features.items():
|
||||
service = self.features_to_services.get(feature, feature)
|
||||
# forcefully convert to '0' or '1'
|
||||
vm.qdb.write('/qubes-service/{}'.format(service),
|
||||
str(int(bool(value))))
|
||||
|
Loading…
Reference in New Issue
Block a user