<div dir="ltr">Hello,<br><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Jun 5, 2015 at 7:15 PM, Christian Boltz <span dir="ltr"><<a href="mailto:apparmor@cboltz.de" target="_blank">apparmor@cboltz.de</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hello,<br>
<br>
this patch changes aa.py delete_duplicates() to loop over the rule<br>
classes.<br>
<br>
That's better than doing copy&paste for each added rule class ;-)<br>
<br>
<br>
[ 45-delete_duplicates-use-loop.diff ]<br>
<br>
=== modified file utils/apparmor/aa.py<br>
--- utils/apparmor/aa.py        2015-06-05 15:19:00.724318954 +0200<br>
+++ utils/apparmor/aa.py        2015-06-05 15:40:36.233292517 +0200<br>
@@ -2066,20 +2066,18 @@<br>
     # Allow rules covered by denied rules shouldn't be deleted<br>
     # only a subset allow rules may actually be denied<br>
<br>
+    ruletypes = ['capability', 'change_profile', 'network', 'rlimit']<br>
+<br></blockquote><div>There is probably a better home for this list than this function where it may even be re-used, for now its fine.<br><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
     if include.get(incname, False):<br>
-        deleted += profile['network'].delete_duplicates(include[incname][incname]['network'])<br>
-        deleted += profile['capability'].delete_duplicates(include[incname][incname]['capability'])<br>
-        deleted += profile['change_profile'].delete_duplicates(include[incname][incname]['change_profile'])<br>
-        deleted += profile['rlimit'].delete_duplicates(include[incname][incname]['rlimit'])<br>
+        for rule_type in ruletypes:<br>
+            deleted += profile[rule_type].delete_duplicates(include[incname][incname][rule_type])<br>
<br>
         deleted += delete_path_duplicates(profile, incname, 'allow')<br>
         deleted += delete_path_duplicates(profile, incname, 'deny')<br>
<br>
     elif filelist.get(incname, False):<br>
-        deleted += profile['network'].delete_duplicates(filelist[incname][incname]['network'])<br>
-        deleted += profile['capability'].delete_duplicates(filelist[incname][incname]['capability'])<br>
-        deleted += profile['change_profile'].delete_duplicates(filelist[incname][incname]['change_profile'])<br>
-        deleted += profile['rlimit'].delete_duplicates(filelist[incname][incname]['rlimit'])<br>
+        for rule_type in ruletypes:<br>
+            deleted += profile[rule_type].delete_duplicates(filelist[incname][incname][rule_type])<br>
<br>
         deleted += delete_path_duplicates(profile, incname, 'allow')<br>
         deleted += delete_path_duplicates(profile, incname, 'deny')<br>
<br>
<br></blockquote><div>Thanks for the patch.<br><br>Acked-by: Kshitij Gupta <<a href="mailto:kgupta8592@gmail.com" target="_blank">kgupta8592@gmail.com</a>>.  <br>   <br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
Regards,<br>
<br>
Christian Boltz<br>
<span class=""><font color="#888888">--<br>
And in those years, you have never had a bigger issue than a tray icon<br>
not working? - Damn! KDE team must be doing one fantastic job!<br>
[Bjørn Lie in opensuse-factory]<br>
<br>
<br>
--<br>
AppArmor mailing list<br>
<a href="mailto:AppArmor@lists.ubuntu.com">AppArmor@lists.ubuntu.com</a><br>
Modify settings or unsubscribe at: <a href="https://lists.ubuntu.com/mailman/listinfo/apparmor" rel="noreferrer" target="_blank">https://lists.ubuntu.com/mailman/listinfo/apparmor</a><br>
</font></span></blockquote></div><br><br clear="all"><br>-- <br><div class="gmail_signature"><div dir="ltr"><div>Regards,<br><br></div>Kshitij Gupta<br></div></div>
</div></div>