diff --git a/qubesmanager/settings.py b/qubesmanager/settings.py index fa1305b..7f41bab 100755 --- a/qubesmanager/settings.py +++ b/qubesmanager/settings.py @@ -79,9 +79,6 @@ class VMSettingsWindow(ui_settingsdlg.Ui_SettingsDialog, QtGui.QDialog): self.tabWidget.currentChanged.connect(self.current_tab_changed) - self.tabWidget.setTabEnabled(self.tabs_indices["firewall"], - vm.netvm is not None and not vm.provides_network) - ###### basic tab self.__init_basic_tab__() self.rename_vm_button.clicked.connect(self.rename_vm) @@ -223,13 +220,26 @@ class VMSettingsWindow(ui_settingsdlg.Ui_SettingsDialog, QtGui.QDialog): def current_tab_changed(self, idx): if idx == self.tabs_indices["firewall"]: netvm = self.vm.netvm + self.no_netvm_label.setVisible(netvm is None) + self.netvm_no_firewall_label.setVisible( + netvm is not None and + not netvm.features.check_with_template('qubes-firewall', False)) + if netvm is None: + QtGui.QMessageBox.warning( + None, + self.tr("Qube configuration problem!"), + self.tr('This qube has networking disabled ' + '(Basic -> Networking) - network will be disabled. ' + 'If you want to use firewall, ' + 'please enable networking.') + ) if netvm is not None and \ not netvm.features.check_with_template( 'qubes-firewall', False): QtGui.QMessageBox.warning( None, - self.tr("VM configuration problem!"), + self.tr("Qube configuration problem!"), self.tr("The '{vm}' AppVM is network connected to " "'{netvm}', which does not support firewall!
" "You may edit the '{vm}' VM firewall rules, but these " diff --git a/ui/settingsdlg.ui b/ui/settingsdlg.ui index d3f1225..6e241f3 100644 --- a/ui/settingsdlg.ui +++ b/ui/settingsdlg.ui @@ -29,7 +29,7 @@ - 1 + 2 @@ -675,7 +675,7 @@ border-width: 1px; Firewall rules - + @@ -693,14 +693,14 @@ border-width: 1px; - + Qt::Horizontal - + NOTE: To block all network access, set Networking to (none) on the Basic settings tab. This tab provides a very simplified firewall configuration. All DNS requests and ICMP (pings) will be allowed. For more granular control, use the command line tool qvm-firewall. @@ -713,14 +713,14 @@ border-width: 1px; - + List of allowed (whitelisted) addresses: - + true @@ -768,7 +768,7 @@ border-width: 1px; - + QLayout::SetMaximumSize @@ -878,7 +878,7 @@ border-width: 1px; - + @@ -929,6 +929,111 @@ border-width: 1px; + + + + + + + + + 255 + 0 + 0 + + + + + + + + + 255 + 0 + 0 + + + + + + + + + 139 + 142 + 142 + + + + + + + + + 75 + true + true + + + + This qube has no networking - it will not have any network access anyway. + + + true + + + + + + + + + + + + 255 + 0 + 0 + + + + + + + + + 255 + 0 + 0 + + + + + + + + + 139 + 142 + 142 + + + + + + + + + 75 + true + true + + + + Networking qube does not support 'qubes-firewall' - firewall restrictions will not be applied. + + +