summaryrefslogtreecommitdiff
path: root/net-firewall/ufw-frontends/files/ufw-frontends-0.3.2-no-log-crash.patch
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2018-01-14 06:41:36 +0000
committerV3n3RiX <venerix@redcorelinux.org>2018-01-14 06:41:36 +0000
commit1900a7850fa1e226743381d851a0a2b44173aea7 (patch)
treecf4e73493a8f41af76ba2fcc1fc726bd0dafe7e5 /net-firewall/ufw-frontends/files/ufw-frontends-0.3.2-no-log-crash.patch
parentd5a56d0a641e1643be1a6587c2757d4f4bf127c1 (diff)
net-firewall/ufw-frontends : revision bump
Diffstat (limited to 'net-firewall/ufw-frontends/files/ufw-frontends-0.3.2-no-log-crash.patch')
-rw-r--r--net-firewall/ufw-frontends/files/ufw-frontends-0.3.2-no-log-crash.patch61
1 files changed, 61 insertions, 0 deletions
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
+