From: Cosimo Alfarano Date: Thu, 22 Aug 2013 23:56:48 +0000 (+0200) Subject: Remove transport's call to _dbus_authorization_do_authorization(). X-Git-Tag: dbus-1.8.2~206 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=64e50dd167993fb2344d2d3be18bb0d5820b5b26;p=platform%2Fupstream%2Fdbus.git Remove transport's call to _dbus_authorization_do_authorization(). All mechs do authorization before answering OK/REJECT. There is no reason to run a second round of authorization which will return the same answer of the first time (when OK) or will never be reched (if REJECTed). Bug: http://bugs.freedesktop.org/show_bug.cgi?id=39720 Reviewed-by: Simon McVittie --- diff --git a/dbus/dbus-transport.c b/dbus/dbus-transport.c index db16574..da95d2c 100644 --- a/dbus/dbus-transport.c +++ b/dbus/dbus-transport.c @@ -589,9 +589,6 @@ _dbus_transport_try_to_authenticate (DBusTransport *transport) if (transport->disconnected) return FALSE; - /* paranoia ref since we call user callbacks sometimes */ - _dbus_connection_ref_unlocked (transport->connection); - maybe_authenticated = (!(transport->send_credentials_pending || transport->receive_credentials_pending)); @@ -623,32 +620,12 @@ _dbus_transport_try_to_authenticate (DBusTransport *transport) _dbus_verbose ("Client expected GUID '%s' and we got '%s' from the server\n", transport->expected_guid, server_guid); _dbus_transport_disconnect (transport); - _dbus_connection_unref_unlocked (transport->connection); return FALSE; } } - /* If we're the server, see if we want to allow this identity to proceed. - */ - if (maybe_authenticated && transport->is_server) - { - DBusCredentials *auth_identity; - - auth_identity = _dbus_auth_get_identity (transport->auth); - _dbus_assert (auth_identity != NULL); - - /* If we have an authenticated user, delegate deciding whether auth - * credentials are good enough to the app */ - if (!_dbus_authorization_do_authorization (transport->authorization, auth_identity)) - { - _dbus_transport_disconnect (transport); - maybe_authenticated = FALSE; - } - } - transport->authenticated = maybe_authenticated; - _dbus_connection_unref_unlocked (transport->connection); return maybe_authenticated; } }