polkit: when authorizing via PK let's re-resolve callback/userdata instead of caching it
authorLennart Poettering <lennart@poettering.net>
Wed, 22 Jan 2020 16:07:47 +0000 (17:07 +0100)
committerSalvatore Bonaccorso <carnil@debian.org>
Thu, 8 Jul 2021 13:03:45 +0000 (14:03 +0100)
commitd17d1287e5c6d88286aa7058dac4f657a58752d4
tree0c44a1ef96481a0edba5ce173867273e5c75bd9c
parentf23eac6959e04012ce67116dc96aceb5a7db4f68
polkit: when authorizing via PK let's re-resolve callback/userdata instead of caching it

Previously, when doing an async PK query we'd store the original
callback/userdata pair and call it again after the PK request is
complete. This is problematic, since PK queries might be slow and in the
meantime the userdata might be released and re-acquired. Let's avoid
this by always traversing through the message handlers so that we always
re-resolve the callback and userdata pair and thus can be sure it's
up-to-date and properly valid.

(cherry picked from commit 637486261528e8aa3da9f26a4487dc254f4b7abb)
(cherry picked from commit e2d4cb9843c50eff76e9104fec6b448c0d7c8814)
(cherry picked from commit fb21e13e8ecbe25d80c1219b14e6495795df18ef)
(cherry picked from commit c3141774dfb84b1526c4991bb775457c739eb179)

Gbp-Pq: Name polkit-when-authorizing-via-PK-let-s-re-resolve-callback-.patch
src/shared/bus-polkit.c