#ifdef LIBDBUSPOLICY
if (worker->dbuspolicy != NULL)
{
- if (g_dbus_message_get_message_type (kmsg->message) == G_DBUS_MESSAGE_TYPE_METHOD_CALL)
+ if (g_dbus_message_get_message_type (kmsg->message) == G_DBUS_MESSAGE_TYPE_METHOD_CALL ||
+ g_dbus_message_get_message_type (kmsg->message) == G_DBUS_MESSAGE_TYPE_SIGNAL)
{
if ((kmsg->sender_euid != (uid_t) -1) && (kmsg->sender_egid != (gid_t) -1) &&
(kmsg->sender_seclabel != NULL))
{
gint check;
+ gchar *destination = g_dbus_message_get_destination (kmsg->message);
+ if (!destination)
+ destination = worker->unique_name;
check = dbuspolicy1_check_in (worker->dbuspolicy,
- g_dbus_message_get_destination (kmsg->message),
+ destination,
kmsg->sender_names,
kmsg->sender_seclabel,
kmsg->sender_euid,
#ifdef LIBDBUSPOLICY
if (worker->dbuspolicy != NULL)
{
- if (g_dbus_message_get_message_type (message) == G_DBUS_MESSAGE_TYPE_METHOD_CALL)
+ if (g_dbus_message_get_message_type (message) == G_DBUS_MESSAGE_TYPE_METHOD_CALL ||
+ (g_dbus_message_get_message_type (message) == G_DBUS_MESSAGE_TYPE_SIGNAL &&
+ g_dbus_message_get_destination (message) != NULL))
{
gint check;