From 46d9e2693d202b3484853b433a947ed29cb3c1f6 Mon Sep 17 00:00:00 2001 From: Szymon Janc Date: Fri, 15 Feb 2013 13:09:15 +0100 Subject: [PATCH] neard: Restrict method calls only to neard process Disallow methods calls from processes other than registered to as agent. --- plugins/neard.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/plugins/neard.c b/plugins/neard.c index 650ee3e29..88a62291a 100644 --- a/plugins/neard.c +++ b/plugins/neard.c @@ -637,6 +637,10 @@ static DBusMessage *push_oob(DBusConnection *conn, DBusMessage *msg, void *data) uint8_t io_cap; int err; + if (neard_service == NULL || + !g_str_equal(neard_service, dbus_message_get_sender(msg))) + return error_reply(msg, EPERM); + DBG(""); adapter = btd_adapter_get_default(); @@ -714,6 +718,10 @@ static DBusMessage *request_oob(DBusConnection *conn, DBusMessage *msg, struct btd_device *device; int err; + if (neard_service == NULL || + !g_str_equal(neard_service, dbus_message_get_sender(msg))) + return error_reply(msg, EPERM); + DBG(""); adapter = btd_adapter_get_default(); @@ -776,6 +784,10 @@ read_local: static DBusMessage *release(DBusConnection *conn, DBusMessage *msg, void *user_data) { + if (neard_service == NULL || + !g_str_equal(neard_service, dbus_message_get_sender(msg))) + return error_reply(msg, EPERM); + DBG(""); g_free(neard_service); -- 2.47.3