summaryrefslogtreecommitdiff
path: root/net-firewall/ufw-frontends/files
diff options
context:
space:
mode:
Diffstat (limited to 'net-firewall/ufw-frontends/files')
-rw-r--r--net-firewall/ufw-frontends/files/org.gentoo.pkexec.ufw-gtk.policy21
-rw-r--r--net-firewall/ufw-frontends/files/ufw-frontends-0.3.2-no-log-crash.patch61
2 files changed, 82 insertions, 0 deletions
diff --git a/net-firewall/ufw-frontends/files/org.gentoo.pkexec.ufw-gtk.policy b/net-firewall/ufw-frontends/files/org.gentoo.pkexec.ufw-gtk.policy
new file mode 100644
index 00000000..7410debb
--- /dev/null
+++ b/net-firewall/ufw-frontends/files/org.gentoo.pkexec.ufw-gtk.policy
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE policyconfig PUBLIC
+ "-//freedesktop//DTD PolicyKit Policy Configuration 1.0//EN"
+ "http://www.freedesktop.org/standards/PolicyKit/1/policyconfig.dtd">
+<policyconfig>
+
+ <vendor>Gentoo</vendor>
+ <vendor_url>http://www.gentoo.org/</vendor_url>
+
+ <action id="org.gentoo.pkexec.ufw-gtk">
+ <message>Authentication is required to run the ufw configuration tool</message>
+ <defaults>
+ <allow_any>auth_admin</allow_any>
+ <allow_inactive>auth_admin</allow_inactive>
+ <allow_active>auth_admin</allow_active>
+ </defaults>
+ <annotate key="org.freedesktop.policykit.exec.path">/usr/sbin/ufw-gtk</annotate>
+ <annotate key="org.freedesktop.policykit.exec.allow_gui">true</annotate>
+ </action>
+
+</policyconfig>
diff --git a/net-firewall/ufw-frontends/files/ufw-frontends-0.3.2-no-log-crash.patch b/net-firewall/ufw-frontends/files/ufw-frontends-0.3.2-no-log-crash.patch
new file mode 100644
index 00000000..f4adb498
--- /dev/null
+++ b/net-firewall/ufw-frontends/files/ufw-frontends-0.3.2-no-log-crash.patch
@@ -0,0 +1,61 @@
+From e7bcf87788588c3a38ce18c9a8d69bbe156860e9 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?S=C5=82awomir=20Nizio?= <slawomir.nizio@sabayon.org>
+Date: Mon, 3 Mar 2014 08:31:47 +0100
+Subject: [PATCH] Fix crash when no log in supported location can be found
+
+This can happen for example on systems that use Journal
+from systemd.
+
+In this case, ufw-gtk exits with a traceback containing:
+IOError: [Errno 2] No such file or directory: '/var/log/messages.log'
+(this is the last log file tried).
+
+The patch works around the issue by handling the error
+and disabling the widget in the "Events" tab.
+---
+ gfw/frontend_gtk.py | 18 +++++++++++++-----
+ 1 file changed, 13 insertions(+), 5 deletions(-)
+
+diff --git a/gfw/frontend_gtk.py b/gfw/frontend_gtk.py
+index 75ebb33..75dfde0 100644
+--- a/gfw/frontend_gtk.py
++++ b/gfw/frontend_gtk.py
+@@ -33,14 +33,21 @@ from gfw.frontend import Frontend
+
+ class Notifier(gfw.event.Notifier):
+
+- def __init__(self, callback):
+- gfw.event.Notifier.__init__(self, callback)
++ def __init__(self, callback, inactive_handler):
++ self._active = False
++ try:
++ gfw.event.Notifier.__init__(self, callback)
++ except IOError:
++ inactive_handler()
++ return
++ self._active = True
+ self._w = gobject.io_add_watch(self._fd, gobject.IO_IN | gobject.IO_PRI,
+ self._trigger)
+
+ def __del__(self):
+- gfw.event.Notifier.__del__(self)
+- gobject.source_remove(self._w)
++ if self._active:
++ gfw.event.Notifier.__del__(self)
++ gobject.source_remove(self._w)
+
+
+ class Builder(gtk.Builder):
+@@ -90,7 +97,8 @@ class GtkFrontend(Frontend):
+ data = (timestamp, event, conn['IN'], conn['OUT'], conn['PROTO'],
+ conn['SRC'], spt, conn['DST'], dpt)
+ self.ui.events_model.append(data)
+- self._notifier = Notifier(callback)
++ self._notifier = Notifier(callback,
++ lambda: self.ui.events_view.set_sensitive(False))
+ self.ui.main_window.show_all()
+ ## FIXME: for the 0.3.0 release, hide the tab for the connections view
+ page = self.ui.view.get_nth_page(2)
+--
+1.9.0
+