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.
+
+
+