chiark / gitweb /
sd-bus: fix response for GetAll on non-existent objects
authorAlan Jenkins <alan.christopher.jenkins@gmail.com>
Sat, 16 Sep 2017 13:39:22 +0000 (14:39 +0100)
committerSven Eden <yamakuzure@gmx.net>
Sat, 16 Sep 2017 13:39:22 +0000 (14:39 +0100)
commit181ff29f0bcf43c18a91b24e26c1b5431c2db1e5
treeaa0f00849c578671340073c5e64af662a251e5fc
parentbe101abd86d769b320fd6d40ff73e881474ca462
sd-bus: fix response for GetAll on non-existent objects

Before this commit, if you run `loginctl user-status` from
debug-shell.service (and you have no login sessions for root), you always
see this output:

0
Linger: no

because Properties.GetAll is returning success but without any properties,
when the only find() callback had returned 0 to mean "no object found".

After:

Could not get properties: Unknown object:
'/org/freedesktop/login1/user/self'

BTW I have a fix for more user-friendly messages from logind in this case.
It is pending in my local branch for #6829 "fix `loginctl enable-linger`".
src/libelogind/sd-bus/bus-objects.c