Improve pair_two
Removing device on unexpected PropertiesChanged
signals introduces a
race condition if a signal occurs between the security confirmation request
and the reply by the remote device, ending by discarding the pairing.
This removes the Force removal
process, and replace it by
performing device removal in a loop until it is correctly removed during
program start.
The "Fix pairing failure detection" commit (e86cbcb8) uncovers a bug
in the pairing agent replies, when pairing in non "secure simple pairing"
mode. This prevents request_pincode()
to send the pincode.
The systemd DBus implementation checks the expected reply signature, so
each reply signatures should be defined sd_bus_vtable
.
The list of variable to return are not NULL terminated in
sd_bus_reply_method_return
, but defined by the reply signature.
Signed-off-by: Frédéric Danis frederic.danis@collabora.com