diff options
author | Szymon Janc <szymon.janc@tieto.com> | 2013-02-15 13:09:15 +0100 |
---|---|---|
committer | Johan Hedberg <johan.hedberg@intel.com> | 2013-02-15 16:28:48 +0200 |
commit | 46d9e2693d202b3484853b433a947ed29cb3c1f6 (patch) | |
tree | 5870120536d7208815f33787c70924efcc0a2982 /plugins/neard.c | |
parent | 66d880d2327eef57445958a0108430ad227116c3 (diff) | |
download | bluez-46d9e2693d202b3484853b433a947ed29cb3c1f6.tar.gz |
neard: Restrict method calls only to neard process
Disallow methods calls from processes other than registered to as
agent.
Diffstat (limited to 'plugins/neard.c')
-rw-r--r-- | plugins/neard.c | 12 |
1 files changed, 12 insertions, 0 deletions
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); |