2
Description: move netfilter capabilities checking into initcaps(), and call
3
initcaps() only when we need it.
4
Bug-Ubuntu: https://launchpad.net/bugs/1044361
6
Index: ufw-0.33/src/backend_iptables.py
7
===================================================================
8
--- ufw-0.33.orig/src/backend_iptables.py 2012-09-23 09:58:34.000000000 -0500
9
+++ ufw-0.33/src/backend_iptables.py 2012-09-23 09:58:36.000000000 -0500
11
out += "> " + _("Checking raw ip6tables\n")
14
+ # Initialize the capabilities database
17
args = ['-n', '-v', '-x', '-L']
24
+ # Initialize the capabilities database
34
+ # Initialize the capabilities database
41
* updating user rules file
42
* reloading the user rules file if rule is modified
45
+ # Initialize the capabilities database
55
+ # Initialize the capabilities database
60
rules_t = self._get_logging_rules(level)
61
Index: ufw-0.33/src/backend.py
62
===================================================================
63
--- ufw-0.33.orig/src/backend.py 2012-09-23 09:58:34.000000000 -0500
64
+++ ufw-0.33/src/backend.py 2012-09-23 09:59:03.000000000 -0500
69
-from ufw.util import warn, debug
70
+from ufw.util import error, warn, debug
71
from ufw.common import UFWError, config_dir, iptables_dir, UFWRule
72
import ufw.applications
75
err_msg = _("Couldn't determine iptables version")
76
raise UFWError(err_msg)
78
+ # Initialize via initcaps only when we need it (LP: #1044361)
82
+ '''Initialize the capabilities database. This needs to be called
83
+ before accessing the database.'''
85
+ # Only initialize if not initialized already
86
+ if self.caps != None:
90
self.caps['limit'] = {}
93
# Try to get capabilities from the running system if root
94
if self.do_checks and os.getuid() == 0 and not self.dryrun:
96
- nf_caps = ufw.util.get_netfilter_capabilities(self.iptables)
98
+ nf_caps = ufw.util.get_netfilter_capabilities(self.iptables)
99
+ except OSError as e:
100
+ error("initcaps\n%s" % e)
101
if 'recent-set' in nf_caps and 'recent-update' in nf_caps:
102
self.caps['limit']['4'] = True
104
self.caps['limit']['4'] = False
107
- nf_caps = ufw.util.get_netfilter_capabilities(self.ip6tables)
109
+ nf_caps = ufw.util.get_netfilter_capabilities(self.ip6tables)
110
+ except OSError as e:
111
+ error("initcaps\n%s" % e)
112
if 'recent-set' in nf_caps and 'recent-update' in nf_caps:
113
self.caps['limit']['6'] = True