diff options
author | Eamon Walsh <ewalsh@tycho.nsa.gov> | 2007-12-28 11:56:54 -0500 |
---|---|---|
committer | Eamon Walsh <ewalsh@moss-charon.epoch.ncsc.mil> | 2007-12-28 13:27:28 -0500 |
commit | f4bc333fc1e8d9fa9911771d2072df4df741c553 (patch) | |
tree | 1a69fc6a1da4b417898b79a5dad509e652d8a3ef /Xext/xselinux.c | |
parent | f3780ece528ed3ead809ba6a388fa0f8aab2a775 (diff) |
xselinux: don't FatalError on an invalid class mapping, just disable support.
Diffstat (limited to 'Xext/xselinux.c')
-rw-r--r-- | Xext/xselinux.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/Xext/xselinux.c b/Xext/xselinux.c index d7c73227d..f3a84571e 100644 --- a/Xext/xselinux.c +++ b/Xext/xselinux.c @@ -1376,15 +1376,20 @@ XSELinuxExtensionInit(INITARGS) /* Setup SELinux stuff */ if (!is_selinux_enabled()) { - ErrorF("XSELinux: Extension failed to load: SELinux not enabled\n"); + ErrorF("XSELinux: SELinux not enabled, disabling SELinux support.\n"); return; } selinux_set_callback(SELINUX_CB_LOG, (union selinux_callback)SELinuxLog); selinux_set_callback(SELINUX_CB_AUDIT, (union selinux_callback)SELinuxAudit); - if (selinux_set_mapping(map) < 0) + if (selinux_set_mapping(map) < 0) { + if (errno == EINVAL) { + ErrorF("XSELinux: Invalid object class mapping, disabling SELinux support.\n"); + return; + } FatalError("XSELinux: Failed to set up security class mapping\n"); + } if (avc_open(NULL, 0) < 0) FatalError("XSELinux: Couldn't initialize SELinux userspace AVC\n"); |