bus driver: Omit container type, name from GetConnectionCredentials

On the session bus, the container type and name might be
uncontroversial, but on the system bus, it's questionable how far
they can be trusted: they're supplied by the initiator of the
per-container server, so we only have their word for it. While we
think about what to do about this, remove them, leaving only the
instance (which can be used to look up the rest).

Signed-off-by: Simon McVittie <smcv@collabora.com>
Reviewed-by: Philip Withnall <withnall@endlessm.com>
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=104610
This commit is contained in:
Simon McVittie 2018-01-10 15:01:33 +00:00
parent 2b60ee640c
commit d7840fe7b4

View file

@ -1915,10 +1915,8 @@ bus_driver_handle_get_connection_credentials (DBusConnection *connection,
DBusMessageIter array_iter;
unsigned long ulong_uid, ulong_pid;
char *s;
const char *name;
const char *path;
const char *service;
const char *type;
BusDriverFound found;
_DBUS_ASSERT_ERROR_IS_CLEAR (error);
@ -2007,15 +2005,11 @@ bus_driver_handle_get_connection_credentials (DBusConnection *connection,
}
if (found == BUS_DRIVER_FOUND_PEER &&
bus_containers_connection_is_contained (conn, &path, &type, &name))
bus_containers_connection_is_contained (conn, &path, NULL, NULL))
{
if (!_dbus_asv_add_object_path (&array_iter,
DBUS_INTERFACE_CONTAINERS1 ".Instance",
path) ||
!_dbus_asv_add_string (&array_iter,
DBUS_INTERFACE_CONTAINERS1 ".Type", type) ||
!_dbus_asv_add_string (&array_iter,
DBUS_INTERFACE_CONTAINERS1 ".Name", name))
path))
goto oom;
}