Skip to content
  • David Zeuthen's avatar
    GDBusProxy: Call into well-known name if no name owner currently exists · 5bb94348
    David Zeuthen authored
    This is really what (API) users expect from GDBusProxy - in
    particular, mclasen and I ran into this problem while debugging a
    upower issue, see
    
     https://bugzilla.redhat.com/show_bug.cgi?id=624125
    
    
    
    In a nutshell, the problem is that polkitd crashes while upower holds
    a PolkitAuthority object (which in turns contains a GDBusProxy for the
    well-known name org.freedesktop.PolicyKit1). This means that
    subsequent calls on the PolkitAuthority (which is translated into
    calls into the GDBusProxy) fails since :g-name-owner is NULL.
    
    With this fix, we'll be requesting the bus daemon to launch polkitd
    since we will start calling into org.freedesktop.PolicyKit1 as soon as
    we notice that there is no owner for this name.
    
    Unfortunately our test suite doesn't cover service activation so there
    is no way to reliably test this. I will file a bug about this.
    
    Signed-off-by: default avatarDavid Zeuthen <davidz@redhat.com>
    5bb94348