Supporting multiple OS releases
Stephen Smalley
sds at tycho.nsa.gov
Wed Jul 1 15:00:46 UTC 2009
On Tue, 2009-06-30 at 16:41 -0400, Rob Crittenden wrote:
> Daniel J Walsh wrote:
> > On 06/30/2009 10:08 AM, Rob Crittenden wrote:
> >> In the freeIPA project we have our own SELinux policy. We support RHEL 5
> >> up through Fedora Rawhide. With Fedora 11 we saw some problems compiling
> >> our SELinux module which Dan Walsh provided a patch for. I haven't tried
> >> this on older releases yet but I'm guessing it won't work as expected
> >> (some policies seem to have been renamed, such as
> >> corenet_non_ipsec_sendrecv() -> corenet_all_recvfrom_unlabeled()
> >>
> >> My question is, how can we handle this in our source tree? Are we going
> >> to need to maintain per-release policies or does SELinux support some
> >> sort of versioning conditionals?
> >>
> >> thanks
> >>
> >> rob
> >>
> >>
> >> ------------------------------------------------------------------------
> >>
> >> --
> >> fedora-selinux-list mailing list
> >> fedora-selinux-list at redhat.com
> >> https://www.redhat.com/mailman/listinfo/fedora-selinux-list
> > The old interface will work, it just reports a nasty warning message
> > when you compile it against newer policy. So I think you are safe
> > compiling it on RHEL5 and installing it on F10/F11.
>
> We compile it on the given platform so we need some way to support all
> at once.
>
> For example, the code that builds fine on F-11 fails like this on F-9:
>
> Compiling targeted ipa_webgui module
> /usr/bin/checkmodule: loading policy configuration from tmp/ipa_webgui.tmp
> ipa_webgui.te":77:ERROR 'syntax error' at token
> 'userdom_dontaudit_search_admin_dir' on line 10764:
> userdom_dontaudit_search_admin_dir(ipa_webgui_t)
>
> The diff between F-11 and F-9 being:
>
> -userdom_dontaudit_search_sysadm_home_dirs(ipa_webgui_t)
> +userdom_dontaudit_search_admin_dir(ipa_webgui_t)
Try adding this to your module .if file:
ifdef(`userdom_dontaudit_search_admin_dir', `', ` dnl
interface(`userdom_dontaudit_search_admin_dir', `
userdom_dontaudit_search_sysadm_home_dirs($1)
')
')
And then use userdom_dontaudit_search_admin_dir throughout your
module .te file. Then it should get remapped if not defined.
--
Stephen Smalley
National Security Agency
More information about the fedora-selinux-list
mailing list