[apparmor] [patch] Add severity() to BaseRule class
Steve Beattie
steve at nxnw.org
Fri May 29 21:31:22 UTC 2015
On Sun, May 24, 2015 at 05:59:58PM +0200, Christian Boltz wrote:
> Hello,
>
> this patch adds severity() to the BaseRule class
>
> severity() will, surprise!, return the severity of a rule, or
> '--' if a *Rule class doesn't implement the severity() function
This seems like an error state/bug if it's not implemented. Wouldn't it
be better to raise AppArmorBug() here? We already do this for other
unimplemented abstract methods (which is also a hint that the method
should get the FIXME comment like the other abstract methods have).
> Also add a test that checks the return value in BaseRule.
>
> [ 19-baserule-add-severity.diff ]
>
> === modified file utils/apparmor/rule/__init__.py
> --- utils/apparmor/rule/__init__.py 2015-05-24 15:09:45.053491065 +0200
> +++ utils/apparmor/rule/__init__.py 2015-05-24 17:06:10.870529896 +0200
> @@ -135,6 +135,12 @@
> '''compare if rule-specific variables are equal'''
> raise AppArmorBug("'%s' needs to implement is_equal_localvars(), but didn't" % (str(self)))
>
> + def severity(self, sev_db):
> + '''return severity of this rule (a number between 0 and 10, where 0 means harmless and 10 means critical),
> + or '--' if no severity check is implemented for this rule type.
> + sev_db must be an apparmor.severity.Severity object.'''
> + return '--'
> +
> def modifiers_str(self):
> '''return the allow/deny and audit keyword as string, including whitespace'''
>
> === modified file utils/test/test-baserule.py
> --- utils/test/test-baserule.py 2015-04-24 22:05:14.737651024 +0200
> +++ utils/test/test-baserule.py 2015-05-24 17:04:12.643586340 +0200
> @@ -51,6 +51,10 @@
> with self.assertRaises(AppArmorBug):
> parse_modifiers(matches)
>
> + def test_default_severity(self):
> + obj = BaseRule()
> + rank = obj.severity(None)
> + self.assertEqual(rank, '--')
>
>
> setup_all_loops(__name__)
>
--
Steve Beattie
<sbeattie at ubuntu.com>
http://NxNW.org/~steve/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <https://lists.ubuntu.com/archives/apparmor/attachments/20150529/1ff19620/attachment.pgp>
More information about the AppArmor
mailing list