X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fcore%2Fdbus-mount.c;h=0fcceb500d068565835adda04fa381a341ee5c5d;hb=47a0eaa60cb5434d13f0acbe048aa4681bc8b8a8;hp=35d6ea7a1dc0c4c9f8fc5dfb14114ac8d5d81916;hpb=b30e2f4c18ad81b04e4314fd191a5d458553773c;p=elogind.git
diff --git a/src/core/dbus-mount.c b/src/core/dbus-mount.c
index 35d6ea7a1..0fcceb500 100644
--- a/src/core/dbus-mount.c
+++ b/src/core/dbus-mount.c
@@ -6,16 +6,16 @@
Copyright 2010 Lennart Poettering
systemd is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
+ under the terms of the GNU Lesser General Public License as published by
+ the Free Software Foundation; either version 2.1 of the License, or
(at your option) any later version.
systemd is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
+ Lesser General Public License for more details.
- You should have received a copy of the GNU General Public License
+ You should have received a copy of the GNU Lesser General Public License
along with systemd; If not, see .
***/
@@ -23,8 +23,10 @@
#include "dbus-unit.h"
#include "dbus-mount.h"
+#include "dbus-kill.h"
#include "dbus-execute.h"
#include "dbus-common.h"
+#include "selinux-access.h"
#define BUS_MOUNT_INTERFACE \
" \n" \
@@ -37,6 +39,8 @@
BUS_EXEC_COMMAND_INTERFACE("ExecUnmount") \
BUS_EXEC_COMMAND_INTERFACE("ExecRemount") \
BUS_EXEC_CONTEXT_INTERFACE \
+ BUS_KILL_CONTEXT_INTERFACE \
+ BUS_UNIT_CGROUP_INTERFACE \
" \n" \
" \n" \
" \n" \
@@ -80,8 +84,6 @@ static int bus_mount_append_what(DBusMessageIter *i, const char *property, void
d = m->parameters_proc_self_mountinfo.what;
else if (m->from_fragment && m->parameters_fragment.what)
d = m->parameters_fragment.what;
- else if (m->from_etc_fstab && m->parameters_etc_fstab.what)
- d = m->parameters_etc_fstab.what;
else
d = "";
@@ -103,8 +105,6 @@ static int bus_mount_append_options(DBusMessageIter *i, const char *property, vo
d = m->parameters_proc_self_mountinfo.options;
else if (m->from_fragment && m->parameters_fragment.options)
d = m->parameters_fragment.options;
- else if (m->from_etc_fstab && m->parameters_etc_fstab.options)
- d = m->parameters_etc_fstab.options;
else
d = "";
@@ -126,8 +126,6 @@ static int bus_mount_append_type(DBusMessageIter *i, const char *property, void
d = m->parameters_proc_self_mountinfo.fstype;
else if (m->from_fragment && m->parameters_fragment.fstype)
d = m->parameters_fragment.fstype;
- else if (m->from_etc_fstab && m->parameters_etc_fstab.fstype)
- d = m->parameters_etc_fstab.fstype;
else
d = "";
@@ -161,8 +159,12 @@ DBusHandlerResult bus_mount_message_handler(Unit *u, DBusConnection *c, DBusMess
{ "org.freedesktop.systemd1.Unit", bus_unit_properties, u },
{ "org.freedesktop.systemd1.Mount", bus_mount_properties, m },
{ "org.freedesktop.systemd1.Mount", bus_exec_context_properties, &m->exec_context },
+ { "org.freedesktop.systemd1.Mount", bus_kill_context_properties, &m->kill_context },
+ { "org.freedesktop.systemd1.Mount", bus_unit_cgroup_properties, u },
{ NULL, }
};
+ SELINUX_UNIT_ACCESS_CHECK(u, c, message, "status");
+
return bus_default_message_handler(c, message, INTROSPECTION, INTERFACES_LIST, bps );
}