diff options
author | Ravi Nagarajan <nravi@broadcom.com> | 2012-05-02 17:21:37 +0530 |
---|---|---|
committer | Matthew Xie <mattx@google.com> | 2012-07-14 11:19:19 -0700 |
commit | defb69c3b383ad0f9b5d6329be625fafc2e3c931 (patch) | |
tree | 1d13985bb9ca12b943aa70474a9a42243e6040a4 /bta | |
parent | cff2b2b29bd9083f0b92e628b225a72a7ef52332 (diff) | |
download | external_bluetooth_bluedroid-defb69c3b383ad0f9b5d6329be625fafc2e3c931.zip external_bluetooth_bluedroid-defb69c3b383ad0f9b5d6329be625fafc2e3c931.tar.gz external_bluetooth_bluedroid-defb69c3b383ad0f9b5d6329be625fafc2e3c931.tar.bz2 |
Resolve JustWorks related pairing issues
1. Per the spec, if both sides are using "No Bonding" for auth requirements, then the key could be considered a session key. Updated the pairing logic to handle this
2. If incoming JustWorks pairing is initiated, prompt the user for consent if the peer's io capabilities reflects DisplayOnly or NoInputNoOutput
Change-Id: If592c96203e7a4b25af3d87056d534131b606e58
Diffstat (limited to 'bta')
-rw-r--r-- | bta/dm/bta_dm_act.c | 2 | ||||
-rw-r--r-- | bta/include/bta_api.h | 2 |
2 files changed, 4 insertions, 0 deletions
diff --git a/bta/dm/bta_dm_act.c b/bta/dm/bta_dm_act.c index 347a3f7..5d80891 100644 --- a/bta/dm/bta_dm_act.c +++ b/bta/dm/bta_dm_act.c @@ -2827,6 +2827,8 @@ static UINT8 bta_dm_sp_cback (tBTM_SP_EVT event, tBTM_SP_EVT_DATA *p_data) bta_dm_cb.just_works = sec_event.cfm_req.just_works = p_data->cfm_req.just_works; sec_event.cfm_req.loc_auth_req = p_data->cfm_req.loc_auth_req; sec_event.cfm_req.rmt_auth_req = p_data->cfm_req.rmt_auth_req; + sec_event.cfm_req.loc_io_caps = p_data->cfm_req.loc_io_caps; + sec_event.cfm_req.rmt_io_caps = p_data->cfm_req.rmt_io_caps; /* continue to next case */ #if (BTM_LOCAL_IO_CAPS != BTM_IO_CAP_NONE) /* Passkey entry mode, mobile device with output capability is very diff --git a/bta/include/bta_api.h b/bta/include/bta_api.h index ebc4f14..b8a4f50 100644 --- a/bta/include/bta_api.h +++ b/bta/include/bta_api.h @@ -624,6 +624,8 @@ typedef struct BOOLEAN just_works; /* TRUE, if "Just Works" association model */ tBTA_AUTH_REQ loc_auth_req; /* Authentication required for local device */ tBTA_AUTH_REQ rmt_auth_req; /* Authentication required for peer device */ + tBTA_IO_CAP loc_io_caps; /* IO Capabilities of local device */ + tBTA_AUTH_REQ rmt_io_caps; /* IO Capabilities of remote device */ } tBTA_DM_SP_CFM_REQ; enum |