* SELinux Userspace Release 2014-08-26-rc2 feedback on Arch
@ 2014-09-06 16:39 Nicolas Iooss
2014-09-08 12:12 ` Steve Lawrence
0 siblings, 1 reply; 2+ messages in thread
From: Nicolas Iooss @ 2014-09-06 16:39 UTC (permalink / raw)
To: selinux
Hi,
I've successfully built and installed components of the SELinux
Userspace Release 2014-08-26-rc2 on my Arch Linux system. I had some
minor issues because:
* "flex" was not up to date on my system. This was easy to fix.
* Some Makefiles use "python" instead of "$(PYTHON)" with Python2 code.
Doing some "sed" commands in the PKGBUILD script worked around this.
* I used LIBEXECDIR="${pkgdir}/usr/lib" but libsemanage still wanted to
use /usr/libexec/selinux/hll/pp. Setting compiler-directory variable
in /etc/selinux/semanage.conf solved this issue.
Now I would like to migrate my policy to the new store. The helper
script fails with this message:
# /usr/lib/selinux/semanage_migrate_store
Migrating from /etc/selinux/refpolicy-patched/modules/active to
/var/lib/selinux/refpolicy-patched/active
Attempting to rebuild policy from /var/lib/selinux
sysnetwork: Warning: 'else' blocks in optional statements are
unsupported in CIL. Dropping from output.
Failed to resolve roletype statement at 14 of
/var/lib/selinux/refpolicy-patched/tmp/modules/100/accountsd/cil
Failed to resolve ast
Traceback (most recent call last):
File "/usr/lib/selinux/semanage_migrate_store", line 313, in
<module>
rebuild_policy()
File "/usr/lib/selinux/semanage_migrate_store", line 212, in
rebuild_policy
rc = semanage.semanage_commit(handle)
OSError: [Errno 0] Error
Moreover doing "semodule -i whatever_module.pp" gives the same error
messages. After some investigation I've found that line 14 of the
reported file is:
(roletype system_r accountsd_t)
... and that system_r is defined as a role in refpolicy in
modules/kernel/kernel.te, which is included in base.pp. This role
definition is eaten by the pp compiler (as expected, according to a
thread in this ML two days ago). As system_r is not defined in any
module, semanage fails.
A quick-and-dirty fix consists in building a new module with only "role
system_r;". Then I've been able to successfully build the policy in its
new store, but this looks dirty. Is there a better way to solve this
issue or does system_r definition needs to be moved in a real module?
By the way, "OSError: [Errno 0] Error" is quite strange...
Best,
Nicolas
^ permalink raw reply [flat|nested] 2+ messages in thread* Re: SELinux Userspace Release 2014-08-26-rc2 feedback on Arch
2014-09-06 16:39 SELinux Userspace Release 2014-08-26-rc2 feedback on Arch Nicolas Iooss
@ 2014-09-08 12:12 ` Steve Lawrence
0 siblings, 0 replies; 2+ messages in thread
From: Steve Lawrence @ 2014-09-08 12:12 UTC (permalink / raw)
To: Nicolas Iooss, selinux
On 09/06/2014 12:39 PM, Nicolas Iooss wrote:
> Hi,
>
> I've successfully built and installed components of the SELinux
> Userspace Release 2014-08-26-rc2 on my Arch Linux system. I had some
> minor issues because:
>
> * "flex" was not up to date on my system. This was easy to fix.
> * Some Makefiles use "python" instead of "$(PYTHON)" with Python2 code.
> Doing some "sed" commands in the PKGBUILD script worked around this.
> * I used LIBEXECDIR="${pkgdir}/usr/lib" but libsemanage still wanted to
> use /usr/libexec/selinux/hll/pp. Setting compiler-directory variable
> in /etc/selinux/semanage.conf solved this issue.
>
> Now I would like to migrate my policy to the new store. The helper
> script fails with this message:
>
> # /usr/lib/selinux/semanage_migrate_store
> Migrating from /etc/selinux/refpolicy-patched/modules/active to
> /var/lib/selinux/refpolicy-patched/active
> Attempting to rebuild policy from /var/lib/selinux
> sysnetwork: Warning: 'else' blocks in optional statements are
> unsupported in CIL. Dropping from output.
> Failed to resolve roletype statement at 14 of
> /var/lib/selinux/refpolicy-patched/tmp/modules/100/accountsd/cil
> Failed to resolve ast
> Traceback (most recent call last):
> File "/usr/lib/selinux/semanage_migrate_store", line 313, in
> <module>
> rebuild_policy()
> File "/usr/lib/selinux/semanage_migrate_store", line 212, in
> rebuild_policy
> rc = semanage.semanage_commit(handle)
> OSError: [Errno 0] Error
>
> Moreover doing "semodule -i whatever_module.pp" gives the same error
> messages. After some investigation I've found that line 14 of the
> reported file is:
>
> (roletype system_r accountsd_t)
>
> ... and that system_r is defined as a role in refpolicy in
> modules/kernel/kernel.te, which is included in base.pp. This role
> definition is eaten by the pp compiler (as expected, according to a
> thread in this ML two days ago). As system_r is not defined in any
> module, semanage fails.
>
> A quick-and-dirty fix consists in building a new module with only "role
> system_r;". Then I've been able to successfully build the policy in its
> new store, but this looks dirty. Is there a better way to solve this
> issue or does system_r definition needs to be moved in a real module?
>
> By the way, "OSError: [Errno 0] Error" is quite strange...
>
Thanks for the feedback. All good. We'll look into these issues. If you
have any already fixed (like the python changes) feel free to submit
them and we can review/pull them in.
As far as the roletype issues, we are actively working on it and should
have a fix this week. In the mean time, your solution of adding a module
that defines the role is probably the best workaround, but should not be
necessary once we get the fixes in.
Thanks,
- Steve
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2014-09-08 12:13 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-09-06 16:39 SELinux Userspace Release 2014-08-26-rc2 feedback on Arch Nicolas Iooss
2014-09-08 12:12 ` Steve Lawrence
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.