Hi Reiner,

Reiner Herrmann:
> thank you for your surf patches!

My pleasure :)

> I'm a bit hesitant to introduce a new binary package for the AppArmor
> profile.

Understood, I'm too.

> What do you think about dropping/commenting the gstreamer part of the
> profile, so there is no longer a dependency to apparmor-profiles-extra.
> This would break some sites with multimedia content when AppArmor is
> enabled, but could also be re-enabled by the user if required.

FYI this approach kinda conflicts with the strategy we've been
following so far with AppArmor in Debian, i.e. essentially "only
enforce by default policy that does not break the confined software".
The rationale behind this strategy is: if a user perceives that
"AppArmor breaks software X", there's a good chance they fully disable
AppArmor on the affected system, possibly even on all their future
systems, and start advertising "disable AppArmor" as a potential
solution to all kind of (possibly unrelated) problems on public fora.
I've seen this happen for SELinux and I've been doing everything
I could to avoid this happening with AppArmor.

Re-enabling specific bits of policy requires learning about AppArmor,
where the policy lives, what's the best way to edit it, how to reload
it. Having to do that merely to have a browser support YouTube and
alike feels like too big a hurdle for users, no? Now, I don't know
much about surf, its users and their expectations. I know that surf is
advertised as "simple", but it's not described as "minimalistic" or
with a restricted set of functionality.

> Or as an alternative (that I would prefer) to merge the content from
> abstractions/gstreamer into the surf profile?

Such duplication is generally frowned upon for good reasons: one has
to maintain the same information in one more place. Now, since the
GStreamer abstraction was added to Debian four years ago, it has been
updated only 3 times, so perhaps in this case it's not such a big deal.

Still, I'm not sure I see the benefit: both options I see on the table
("keep the dependency on apparmor-profiles-extra" and "import a copy
of abstractions/gstreamer into the surf profile") require some amount
of communication and coordination between us; that is, with the
duplication way, whenever we apply important fixes to the GStreamer
abstraction, you'll need to learn about it somehow so you can update
the copy accordingly. As you can see, I'm ready to do my part of this
coordination work, so personally I'm not worried about keeping the
current dependency in place :)

Anyway, I can live with both options. If you decide to ship your own
copy of the gstreamer abstraction, I suggest you do the following:

 - do not inline it in usr.bin.surf; instead, ship it in
   abstractions/surf-gstreamer and include it from usr.bin.surf

 - set up a CI job (possibly an autopkgtest) that compares your copy
   of the GStreamer abstraction with the one shipped by current
   apparmor-profiles-extra and raises a visible warning when they
   differ

Cheers,
-- 
intrigeri

Reply via email to