diff options
author | Luiz Augusto von Dentz <luiz.dentz@openbossa.org> | 2008-06-17 19:37:36 +0000 |
---|---|---|
committer | Luiz Augusto von Dentz <luiz.dentz@openbossa.org> | 2008-06-17 19:37:36 +0000 |
commit | e8ca2351ee3ba3f8b2b99731972234f42ae9b64b (patch) | |
tree | 8a639f9f831dd79ec2b3b8d5d952d649885a59ba /audio/avdtp.c | |
parent | bbec31284f7e4e960c07bddd9fd1d7ee5c990118 (diff) |
Fix authorization mechanism for 3.x.
Diffstat (limited to 'audio/avdtp.c')
-rw-r--r-- | audio/avdtp.c | 34 |
1 files changed, 2 insertions, 32 deletions
diff --git a/audio/avdtp.c b/audio/avdtp.c index b0cd98ba..bda21ac5 100644 --- a/audio/avdtp.c +++ b/audio/avdtp.c @@ -1496,13 +1496,6 @@ static gboolean session_cb(GIOChannel *chan, GIOCondition cond, return TRUE; failed: - if (session->pending_auth) { - manager_cancel_authorize(&session->dst, ADVANCED_AUDIO_UUID, - session->pending_auth); - dbus_pending_call_unref(session->pending_auth); - session->pending_auth = NULL; - } - connection_lost(session, -EIO); return FALSE; @@ -2691,10 +2684,7 @@ static void auth_cb(DBusError *derr, void *user_data) error("Access denied: %s", derr->message); if (dbus_error_has_name(derr, DBUS_ERROR_NO_REPLY)) { debug("Canceling authorization request"); - if (service_cancel_auth(&session->dst) < 0) - manager_cancel_authorize(&session->dst, - ADVANCED_AUDIO_UUID, - NULL); + service_cancel_auth(&session->src, &session->dst); } connection_lost(session, -EACCES); @@ -2721,23 +2711,6 @@ static void auth_cb(DBusError *derr, void *user_data) g_io_channel_unref(io); } -static void auth_cb_old(DBusPendingCall *call, void *data) -{ - struct avdtp *session = data; - DBusMessage *reply = dbus_pending_call_steal_reply(call); - DBusError err; - - dbus_pending_call_unref(session->pending_auth); - session->pending_auth = NULL; - - dbus_error_init(&err); - dbus_set_error_from_message(&err, reply); - auth_cb(&err, data); - dbus_error_free(&err); - - dbus_message_unref(reply); -} - static void avdtp_server_cb(GIOChannel *chan, int err, const bdaddr_t *src, const bdaddr_t *dst, gpointer data) { @@ -2785,10 +2758,7 @@ static void avdtp_server_cb(GIOChannel *chan, int err, const bdaddr_t *src, g_io_channel_unref(chan); if (service_req_auth(src, dst, ADVANCED_AUDIO_UUID, auth_cb, - session) == 0) - return; - else if (!manager_authorize(dst, ADVANCED_AUDIO_UUID, auth_cb_old, - session, &session->pending_auth)) { + session) < 0) { avdtp_unref(session); goto drop; } |