diff options
author | Richard Jones <rjones@trick.home.annexia.org> | 2009-08-12 16:10:35 +0100 |
---|---|---|
committer | Richard Jones <rjones@trick.home.annexia.org> | 2009-08-12 17:23:40 +0100 |
commit | 8157503b09e24667ddab833c1d12dd643ceac71b (patch) | |
tree | 0fb16a572fa1fc17cca64a8f0602d0f72412fcc3 /src/guestfs.c | |
parent | bf76b637d25fb70f0320caa63e264104112feaab (diff) | |
download | libguestfs-8157503b09e24667ddab833c1d12dd643ceac71b.tar.gz libguestfs-8157503b09e24667ddab833c1d12dd643ceac71b.tar.xz libguestfs-8157503b09e24667ddab833c1d12dd643ceac71b.zip |
Allow selinux=? kernel flag to be controlled.
Adds new API calls to set and get this flags.
Diffstat (limited to 'src/guestfs.c')
-rw-r--r-- | src/guestfs.c | 29 |
1 files changed, 24 insertions, 5 deletions
diff --git a/src/guestfs.c b/src/guestfs.c index 9560aec0..37869e84 100644 --- a/src/guestfs.c +++ b/src/guestfs.c @@ -177,6 +177,8 @@ struct guestfs_h int memsize; /* Size of RAM (megabytes). */ + int selinux; /* selinux enabled? */ + char *last_error; /* Callbacks. */ @@ -689,6 +691,19 @@ guestfs_get_memsize (guestfs_h *g) } int +guestfs_set_selinux (guestfs_h *g, int selinux) +{ + g->selinux = selinux; + return 0; +} + +int +guestfs_get_selinux (guestfs_h *g) +{ + return g->selinux; +} + +int guestfs_get_pid (guestfs_h *g) { if (g->pid > 0) @@ -1047,15 +1062,19 @@ guestfs_launch (guestfs_h *g) "udevtimeout=300 " /* good for very slow systems (RHBZ#480319) */ \ "noapic " /* workaround for RHBZ#502058 - ok if not SMP */ \ "acpi=off " /* we don't need ACPI, turn it off */ \ - "cgroup_disable=memory " /* saves us about 5 MB of RAM */ \ - "selinux=0 " /* SELinux is messed up if there's no policy */ + "cgroup_disable=memory " /* saves us about 5 MB of RAM */ /* Linux kernel command line. */ snprintf (append, sizeof append, - LINUX_CMDLINE "guestfs=%s:%d%s%s%s", + LINUX_CMDLINE + "guestfs=%s:%d " + "%s" /* (selinux) */ + "%s" /* (verbose) */ + "%s", /* (append) */ VMCHANNEL_ADDR, VMCHANNEL_PORT, - g->verbose ? " guestfs_verbose=1" : "", - g->append ? " " : "", g->append ? g->append : ""); + g->selinux ? "selinux=1 enforcing=0 " : "selinux=0 ", + g->verbose ? "guestfs_verbose=1 " : " ", + g->append ? g->append : ""); snprintf (memsize_str, sizeof memsize_str, "%d", g->memsize); |