firewall: check for 'qubes-firewall' feature instead of being ProxyVM
This enable better detection whether firewall settings will really be respected. Fixes QubesOS/qubes-issues#2003
This commit is contained in:
		
							parent
							
								
									576299afea
								
							
						
					
					
						commit
						402f1db80d
					
				| @ -383,13 +383,6 @@ class QubesFirewallRulesModel(QAbstractItemModel): | ||||
|         if self.fw_changed: | ||||
|             self.write_firewall_conf(self.__vm, conf) | ||||
| 
 | ||||
|             if self.__vm.is_running(): | ||||
|                 vm = self.__vm.netvm | ||||
|                 while vm is not None: | ||||
|                     if vm.is_proxyvm() and vm.is_running(): | ||||
|                         vm.write_iptables_qubesdb_entry() | ||||
|                     vm = vm.netvm | ||||
| 
 | ||||
|     def index(self, row, column, parent=QModelIndex()): | ||||
|         if not self.hasIndex(row, column, parent): | ||||
|             return QModelIndex() | ||||
|  | ||||
| @ -200,14 +200,17 @@ class VMSettingsWindow(Ui_SettingsDialog, QDialog): | ||||
| 
 | ||||
|     def current_tab_changed(self, idx): | ||||
|         if idx == self.tabs_indices["firewall"]: | ||||
|             if self.vm.netvm is not None and not self.vm.netvm.is_proxyvm(): | ||||
|             netvm = self.vm.netvm | ||||
|             if netvm is not None and \ | ||||
|                     not netvm.features.check_with_template('qubes-firewall', False): | ||||
|                 QMessageBox.warning(None, | ||||
|                     self.tr("VM configuration problem!"), | ||||
|                     self.tr("The '{vm}' AppVM is not network connected to a " | ||||
|                     "FirewallVM!<p>" | ||||
|                     self.tr("The '{vm}' AppVM is network connected to " | ||||
|                         "'{netvm}', which does not support firewall!<br/>" | ||||
|                         "You may edit the '{vm}' VM firewall rules, but these " | ||||
|                         "will not take any effect until you connect it to " | ||||
|                     "a working Firewall VM.").format(vm=self.vm.name)) | ||||
|                         "a working Firewall VM.").format( | ||||
|                             vm=self.vm.name, netvm=netvm.name)) | ||||
| 
 | ||||
| 
 | ||||
|     ######### basic tab | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 Marek Marczykowski-Górecki
						Marek Marczykowski-Górecki