diff options
Diffstat (limited to 'src/dbus-hci.c')
-rw-r--r-- | src/dbus-hci.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/dbus-hci.c b/src/dbus-hci.c index 994e25cc..e340d4e9 100644 --- a/src/dbus-hci.c +++ b/src/dbus-hci.c @@ -1277,8 +1277,14 @@ int hcid_dbus_get_io_cap(bdaddr_t *local, bdaddr_t *remote, if (*auth == 0x00) { /* If remote requests dedicated bonding follow that lead */ if (device_get_auth(device) == 0x02 || - device_get_auth(device) == 0x03) - *auth = 0x02; + device_get_auth(device) == 0x03) { + /* If the remote has NoInputNoOutput then don't require + * MITM, otherwise require it */ + if (device_get_cap(device) == 0x03) + *auth = 0x02; + else + *auth = 0x03; + } /* If remote requires MITM then also require it */ if (device_get_auth(device) & 0x01) |