All of lore.kernel.org
 help / color / mirror / Atom feed
* SELinux Userspace Release 2014-08-26-rc2 HLL/CIL query
@ 2014-09-04 13:14 Richard Haines
  2014-09-04 13:44 ` Steve Lawrence
  0 siblings, 1 reply; 3+ messages in thread
From: Richard Haines @ 2014-09-04 13:14 UTC (permalink / raw)
  To: selinux list

I've been attempting to convert a monolithic policy (really a modular base policy with
no modules) to CIL, however it fails with:

Failed to resolve roletype statement at XX of /var/lib/selinux/modular-test/tmp/modules/400/base/cil

when running: semodule -s modular-test -i base.pp


The cause of this appears to be the following in policycoreutils/hll/pp/pp.c where the role
statement is ignored for the base policy:


    case ROLE_ROLE:
        if (scope == SCOPE_DECL) {
            if (pdb->policy_type == SEPOL_POLICY_MOD) {
                // roles are defined twice, once in a module and once in base.
                // CIL doesn't allow duplicate declarations, so only take the
                // roles defined in the modules
                cil_println(indent, "(role %s)", key);

Question: Should these type of policies be supported, if so should the CIL compiler
cope with duplicate role statements or the conversion service modified to remove duplicates.
Also there is a bug in that the CIL module is deleted from the tmp directory so you cannot
view the failed conversion.

I built the CIL module using pp directly  (cat base.pp | ./pp > base.cil), then added the
(role ...) statement, this compiled okay using secilc.


Richard

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2014-09-04 14:32 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-09-04 13:14 SELinux Userspace Release 2014-08-26-rc2 HLL/CIL query Richard Haines
2014-09-04 13:44 ` Steve Lawrence
2014-09-04 14:32   ` James Carter

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.