[apparmor] Cache update broken
John Johansen
john.johansen at canonical.com
Tue Aug 7 21:06:26 UTC 2012
On 08/07/2012 01:34 PM, Christian Boltz wrote:
> Hello,
>
> John, thanks for honoring the golden rules of bad programming in your
> patch! I'm especially talking about rule 18 - "take great care in
> setting bad defaults" ;-)
>
Hehe I did it on purpose to get a discussion of what it should be on
list :)
Basically I was hoping for more input than just our little discussion,
and the change is really easy to make so a 2nd iteration won't take
very long.
> Am Dienstag, 7. August 2012 schrieb Seth Arnold:
>> I expect --clear-cache-if-needed to be the default set in the config
>> file
>
> Let me ask a simple question: Can you give me a good reason _not_ to
> automatically clear the cache if .features differs, and to keep an
> outdated cache? [1]
>
well I can think of a corner case where you are booting between different
kernels, and want to keep one. But I don't really think that is a good
reason, and I think the proper solution for that is having separate caches
for each kernel.
> IMHO most people want their cache updated automatically, and it doesn't
> make much sense to force everybody to add --clear-cache-if-needed to the
> initscript or the config file.
>
> Can we please make it the default _without_ the need for an additional
> parameter or config option?
>
>
Well I suspect that is what we will do
> If you really want, feel free to introduce a
> --never-clear-cache-automatically
> parrameter / config file option - but I doubt many people will use it
> ;-)
>
>> -- redundant for ubuntu but also a chance to bring both
>> initscripts together again -- at least for this feature.
>
> I don't know the history and background why there are separate
> initscripts (pointers welcome), but I'm a big fan of avoiding duplicate
> work (especially if I have to maintain the duplicate ;-))
>
Well the history is fairly simple, Ubuntu added caching support when it
was in a very early iteration in the parser. I can't remember whether
there was even time stamp checks in the first iteration that shipped
(you could do that by dumping the profile out using -S and using a
separate utility to do the actual load).
But I do know that timestamp changes within include files where not taken
into account and cache clearing was being done by a script.
The goal has always been to merge back changes where appropriate or
replace the code as thing in the upstream project progressed. So keeping
the old script behavior isn't necessarily a goal. Using the --write-cache
with cache-clearing will have to be brought up and discussed.
I specifically mentioned that suse was going to use this for its cache
in my reply to Seth because I misunderstood what he was saying about a
debug option. Of course he is right, a clear cache option that isn't
default does feel like an admin debug option.
>> A direct --clear-cache would just be a debugging tool for admins, and
>> rarely used (hopefully) at that.
>
> Indeed. It might be a nice feature, but I'd give it a low priority [2].
> The avarage admin most probably knows how to delete all files in a
> directory ;-)
>
yeah well thankfully that debug option is really easy to do now.
>
> Regards,
>
> Christian Boltz
>
> [1] oh, now I remember:
> rule 22 - "invent new ways to make your program slow"
> ;-)
>
Having broken cache management is a new way to make your program slow?
:)
> [2] aa-enable is more important IMHO because it needs to
> a) delete a symlink
> b) load the profile
>
sure that make sense, but I'll way it against I am in the patch right
now and can add it with just a few lines of code while its fresh in
my mind.
More information about the AppArmor
mailing list