Skip to content

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

Merge request reports