summaryrefslogtreecommitdiff
path: root/plugins/neard.c
diff options
context:
space:
mode:
authorSzymon Janc <szymon.janc@tieto.com>2013-02-15 13:09:15 +0100
committerJohan Hedberg <johan.hedberg@intel.com>2013-02-15 16:28:48 +0200
commit46d9e2693d202b3484853b433a947ed29cb3c1f6 (patch)
tree5870120536d7208815f33787c70924efcc0a2982 /plugins/neard.c
parent66d880d2327eef57445958a0108430ad227116c3 (diff)
downloadbluez-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.c12
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);