From 8707fdf1a6d71e7c449694b433688e9dedbc7db0 Mon Sep 17 00:00:00 2001 From: Cosimo Alfarano Date: Fri, 23 Aug 2013 01:56:48 +0200 Subject: [PATCH] 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). --- dbus/dbus-transport.c | 23 ----------------------- 1 Datei geƤndert, 23 Zeilen entfernt(-) 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; } } -- 1.7.10.4