diff options
Diffstat (limited to 'hcid/dbus-service.c')
| -rw-r--r-- | hcid/dbus-service.c | 10 | 
1 files changed, 6 insertions, 4 deletions
diff --git a/hcid/dbus-service.c b/hcid/dbus-service.c index 67c5a7cd..18c9b68e 100644 --- a/hcid/dbus-service.c +++ b/hcid/dbus-service.c @@ -55,6 +55,7 @@  #include "device.h"  #include "dbus-service.h"  #include "dbus-hci.h" +#include "dbus-security.h"  #define SERVICE_INTERFACE "org.bluez.Service" @@ -703,7 +704,8 @@ int service_req_auth(const bdaddr_t *src, const bdaddr_t *dst,  	agent = (device->agent ? : adapter->agent);  	if (!agent) -		return -EPERM; +		return handle_authorize_request_old(service, adapter->path, +					address, uuid, cb, user_data);  	auth = g_try_new0(struct service_auth, 1);  	if (!auth) @@ -715,7 +717,7 @@ int service_req_auth(const bdaddr_t *src, const bdaddr_t *dst,  	return agent_authorize(agent, device->path, uuid, agent_auth_cb, auth);  } -int service_cancel_auth(const bdaddr_t *src) +int service_cancel_auth(const bdaddr_t *src, const bdaddr_t *dst)  {  	struct adapter *adapter = manager_find_adapter(src);  	struct device *device; @@ -725,7 +727,7 @@ int service_cancel_auth(const bdaddr_t *src)  	if (!adapter)  		return -EPERM; -	ba2str(src, address); +	ba2str(dst, address);  	device = adapter_find_device(adapter, address);  	if (!device)  		return -EPERM; @@ -737,7 +739,7 @@ int service_cancel_auth(const bdaddr_t *src)  	agent = (device->agent ? : adapter->agent);  	if (!agent) -		return -EPERM; +		return cancel_authorize_request_old(adapter->path, address);  	return agent_cancel(agent);  }  | 
