summaryrefslogtreecommitdiffstats
path: root/hcid/security.c
diff options
context:
space:
mode:
authorMarcel Holtmann <marcel@holtmann.org>2006-10-22 17:35:03 +0000
committerMarcel Holtmann <marcel@holtmann.org>2006-10-22 17:35:03 +0000
commitc6e02b7f95315f1dafa3a6489ea5f2f558ec56cf (patch)
treec3d8dd844da07de1451f5eba8905931f1114223c /hcid/security.c
parentaf34a71cc0f6fdfb3ccd3085fd77030988e229f1 (diff)
Basic integration of confirmation concept
Diffstat (limited to 'hcid/security.c')
-rw-r--r--hcid/security.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/hcid/security.c b/hcid/security.c
index c82fbc00..7d2ff9c1 100644
--- a/hcid/security.c
+++ b/hcid/security.c
@@ -390,13 +390,18 @@ static void pin_code_request(int dev, bdaddr_t *sba, bdaddr_t *dba)
hci_send_cmd(dev, OGF_LINK_CTL, OCF_PIN_CODE_REPLY,
PIN_CODE_REPLY_CP_SIZE, &pr);
} else {
- /* Let PIN helper handle that */
+ /* Request PIN from passkey agent */
hcid_dbus_request_pin(dev, sba, ci);
}
}
} else {
- /* Let PIN helper handle that */
- hcid_dbus_request_pin(dev, sba, ci);
+ if (pinlen > 0) {
+ /* Confirm PIN by passkey agent */
+ hcid_dbus_confirm_pin(dev, sba, ci, pin);
+ } else {
+ /* Request PIN from passkey agent */
+ hcid_dbus_request_pin(dev, sba, ci);
+ }
}
hcid_dbus_pending_pin_req_add(sba, &ci->bdaddr);