I found two issues in the sbus code while testing the by-certificate
lookups. One was that if parsing the reply with client UID failed, then
errno would have been garbage.
The second is that since we added signal handling, we always receive
NameOwnerChanged after someone binds to the bus. But NameOwnerChanged
sender is the bus itself, which doesn't reveal the sender ID -- the
request to find the sender ID failed and we didn't process the signal at
The only related discussion I found was:
which would indicate that for the bus itself, the UID can't be
retrieved. So I modified the request that reads the UID to return a
special error in this case and lets the caller handle it -- for signals,
we proceed, but for messages, we don't because we can't check the UID
against the ACL.
This is another patch to avoid failing tests
in the CI (make-check-valgrind). This time
the ldap_id_cleanup tests.
Looks like the one second cache timeout was too short
and the tests sometimes failed because they expected the
entries to be still valid for a short while
after they were added to sysdb.
I saw the failures only on Fedora 20 CI machine.
See the attached patch.