Commit Graph

244 Commits

Author SHA1 Message Date
Chinmay Chhajed
d73ebb570b Bluedroid: Fixes for some vulnerabilities.
This commit fixes 'Impersonation in Passkey entry protocol'
(CVE-2020-26558) and suggests fixes for other vulnerabilites like
'Impersonation in the Pin Pairing Protocol' (CVE-2020-26555) and
'Authentication of the LE Legacy Pairing Protocol'

CVE-2020-26558 can be easily implemented if the peer device can
impersonate our public key. This commit adds a check by comparing our
and received public key and returns failed pairing if keys are same.

This commit also adds comments suggesting to use secure connection when
supported by all devices.
2020-12-24 10:52:12 +00:00
Jiang Jiang Jian
52e66cb143 Merge branch 'bugfix/fix_spp_vfs_dynamic_memory_bugs' into 'master'
component_bt/fix spp vfs demo crash when use dynamic memory

See merge request espressif/esp-idf!11502
2020-12-23 12:36:44 +08:00
wangcheng
cc7dbc6177 components/bt: Fixed the problem of early release of pointer(p_ccb) in funcion 2020-12-17 10:54:56 +08:00
liqigan
478cef9b75 fix spp vfs demo crash when use dynamic memory 2020-12-09 19:46:43 +08:00
xiewenxiang
945606b658 component/bt: support BLE Read Attribute value by UUID 2020-12-02 20:04:36 +08:00
xiewenxiang
7e5e0ba7de component/bt: refactor ble random address setting 2020-12-02 09:08:31 +08:00
XieWenxiang
e840191a0c component/bt: support BLE Application Layer Encryption key size check 2020-12-02 09:08:03 +08:00
XieWenxiang
366b036ba5 component/bt: support BLE Authorization 2020-12-02 09:07:24 +08:00
xiewenxiang
3d8eb26fe1 component/bt: fix incorrect encryption flag setting 2020-12-02 09:06:44 +08:00
Artem Godlevskyi
3caa9699ae Added missing MYNEWT_VAL_BLE_L2CAP_COC_MPS definition
Signed-off-by: Prasad Alatkar <prasad.alatkar@espressif.com>

Merges https://github.com/espressif/esp-idf/pull/5825
2020-11-27 11:50:03 +00:00
Prasad Alatkar
922a994896 NimBLE: Fix misc coverity issues in NimBLE host
- NimBLE NVS : Additional check to account for NVS operation failure
- NimBLE host: Fix minor bug in ble_eddystone_set_adv_data_gen
- NimBLE host: remove recursive call, upstream PR: https://github.com/apache/mynewt-nimble/pull/857
2020-11-27 11:50:03 +00:00
wangcheng
d1bf93e055 component/bt: Add a macro to control the compilation of blufi. 2020-11-24 10:43:18 +08:00
wangcheng
714d88e426 component/bt: Fix a potential double free error. 2020-11-24 10:22:40 +08:00
wangcheng
709ad66d44 blufi: fix an error caused by incorrect conn_id parameters. 2020-11-24 10:22:32 +08:00
Angus Gratton
66fb5a29bb Whitespace: Automated whitespace fixes (large commit)
Apply the pre-commit hook whitespace fixes to all files in the repo.

(Line endings, blank lines at end of file, trailing whitespace)
2020-11-11 07:36:35 +00:00
weitianhua
08eace5a26 Fix crash cause by calling a2dp deinit when connected 2020-11-10 07:25:57 +00:00
Jiang Jiang Jian
6bed9ec70c Merge branch 'bugfix/fix_ag_outging_callback_not_triggered' into 'master'
Bugfix/Fix Ag Example Outgoing Callback Not Triggered

Closes BTCI-50

See merge request espressif/esp-idf!10828
2020-10-28 19:57:02 +08:00
lly
5f146455f3 component/bt: Fix gatt clcb use-after-free issue 2020-10-28 02:42:28 +00:00
Jiang Jiang Jian
b3ce1db97a Merge branch 'bugfix/fix_spp_read_flow_control' into 'master'
component_bt/fix spp flow control and vfs write

Closes BT-1011

See merge request espressif/esp-idf!10331
2020-10-20 20:26:19 +08:00
liqigan
743c1c1f20 fix ag example outgoing callback not triggered
Closes https://github.com/espressif/esp-idf/issues/4967
2020-10-14 09:47:16 +08:00
Chinmay Chhajed
3c0f06adb2 NimBLE: host_rcv_pkt event buf size check.
Check if the size of HCI event buffer is greater than the received HCI
packet. If not then abort with the error message.
2020-10-05 12:14:47 +00:00
liqigan
93ba9ba15c replace list and ringbuffer with fixed queue
use eventgroup to sync spp_vfs_write

each connection has a switch_delay_timer not sharing a one

revert functions like spp_find_slot_by_xxx

fix vfs read bug when peer close
2020-09-29 17:19:29 +08:00
liqigan
14f48d35bd move flow control to btc layer
defer free slot in btc layer when receive BTA_JV_RFCOMM_CLOSE_EVT
2020-09-29 17:15:11 +08:00
liqigan
eff892933c add event when calling spp API failed 2020-09-29 17:15:11 +08:00
Jiang Jiang Jian
96d59ff3e9 Merge branch 'bugfix/fix_bredr_read_rssi_delta' into 'master'
Bugfix/Fix Read Rssi Delta Bug in Bredr

Closes IDFGH-3739

See merge request espressif/esp-idf!10574
2020-09-29 16:47:43 +08:00
Jiang Jiang Jian
caba103d51 Merge branch 'bugfix/add_clear_bond_complete_evt' into 'master'
componenet_bt/bugfix: add remove bond device complete event

Closes BT-1013

See merge request espressif/esp-idf!10342
2020-09-28 14:39:40 +08:00
baohongde
acce9e5fea components/bt: Replace task post with btc_inter_profile_call, when post message from btc_dm to btc_gap 2020-09-27 19:55:12 +08:00
baohongde
dac798afbb components/bt: Fix crash in BTM_SetPowerMode after disconnect
Introduced by commit 0583a049
2020-09-27 19:55:12 +08:00
baohongde
ecd75ec652 components/bt: Fix clear bond fail when connected without ble included 2020-09-27 19:55:12 +08:00
xiongweichao
4e4c86b267 add remove bond device complete event 2020-09-27 19:55:12 +08:00
liqigan
ba51da8c91 1. fix read rssi delta bug in bredr
2. modify read rssi related function names

Closes https://github.com/espressif/esp-idf/issues/5660
2020-09-27 10:44:18 +08:00
xiongweichao
b0c4988d69 1.revert dummy command
2.fix send MEDIA_CTRL command in disconnect
2020-09-25 11:14:24 +08:00
xiongweichao
84cacaba51 1.fix test case dummy
2.fix sink send media control ESP_A2D_MEDIA_CHECK_SRC_RDY
2020-09-25 10:54:13 +08:00
weitianhua
31df07c5d7 Redesign separating AVRC & A2DP
1. Add g_av_with_rc to avrc_tg_init function
2. Remove g_av_open_fail
3. Add comment in API files
4. Add a2dp init & deinit state variable to inidcate a2dp statement
2020-09-14 17:22:41 +08:00
weitianhua
57b695be10 Add global header and change declaration position 2020-09-11 14:31:18 +08:00
weitianhua
04a7771f33 Remove uneccessary macro
Separate AVRC from A2DP when AVRC not Initialized
2020-09-11 14:31:18 +08:00
weitianhua
af52df8b83 Rewrite a2dp clean_up function 2020-09-11 14:31:18 +08:00
weitianhua
87bf47bd90 Add bda_addr for esp_bt_a2dp_disconn_req API
1. Add reaction for a2dp snk & src disconn req when no link up
  2. Change state machine set before EVT upto APP layer in some cases
  3. Add bool open_fail to choose whether post disconnection evt to app layer
2020-09-11 14:31:18 +08:00
Jiang Jiang Jian
74e932c73f Merge branch 'bugfix/btdm_spp_null_ptr_with_dynamic_memory' into 'master'
components/bt: Fix SPP using NULL point with dynamic memory

Closes BT-1024

See merge request espressif/esp-idf!10188
2020-09-10 17:38:53 +08:00
baohongde
898baf20f8 components/bt: Fix SPP using NULL point with dynamic memory 2020-09-07 15:41:30 +08:00
Jiang Jiang Jian
472c40f84e Merge branch 'bugfix/l2cap_link_timeout_llcp_prog_btu_wtd' into 'master'
Bugfix/l2cap link timeout llcp prog btu wtd

Closes BT-941 and BT-973

See merge request espressif/esp-idf!10119
2020-09-07 14:10:46 +08:00
wangcheng
d635320871 component/bt: Fixed the watchdog timeout of btu task during multi-connection 2020-09-04 16:21:40 +08:00
Jiang Jiang Jian
36720504f9 Merge branch 'bugfix/add_protection_for_spp_api' into 'master'
componnet_bt:/ Add protection for btc and some comment correction

Closes BT-899 and BTCI-78

See merge request espressif/esp-idf!9329
2020-09-02 12:01:34 +08:00
Island
cfd13d8c90 Merge branch 'bugfix/btdm_blufi_data_sequence_not_reset_after_disconnect' into 'master'
component/bt: fix Blufi sends data after disconnecting the seq still increase

See merge request espressif/esp-idf!10217
2020-09-01 15:38:26 +08:00
XieWenxiang
e92c2f553b component/bt: fix Blufi sends data after disconnect the seq still increase 2020-09-01 09:54:14 +08:00
xiewenxiang
5979111109 component/bt: add link role param for gatt connection event 2020-08-28 08:47:54 +08:00
wangcheng
f8fd58d7f6 components/bt: Fixed the state not synchronized between controller and host when disconnected. 2020-08-27 14:46:27 +08:00
weitianhua
8a9bfd3e92 Add protection for rfcomm close API in SPP 2020-08-26 15:17:28 +08:00
weitianhua
7e772d2195 Add some debug log for bt:
1. Add logs for SPP not enabled successfully
2. Add information to Applicatioin layer that the A2DP is connecting to peer device

Regular BTC and BTU Task name & Add BTC Init protection

1. Regular the BTC Task Name to Close a Github issue

   Closes https://github.com/espressif/esp-idf/issues/4966

2. Add BTC Init failure protection

3. Regular BTU Task Name with BTC

4. Correct the comment of
   a. SDP_ServiceSearchRequest and SDP_ServiceSearchRequest2
   b. l2cu_create_conn_after_switch

5. Correct comment of esp_bt_hf_vra();

6. Fix cpp compilier region
2020-08-26 15:17:28 +08:00
baohongde
060a36352c components/bt: Add mode change event 2020-08-12 09:20:04 +00:00
Jiang Jiang Jian
97b47f117b Merge branch 'bugfix/bluedroid_ble_provisioning_gatt_deregister_fix' into 'master'
Bluedroid: Fix BLE provisioning failure with bluedroid stack

See merge request espressif/esp-idf!9833
2020-08-05 23:50:14 +08:00
XieWenxiang
fa729f3805 component/bt: fix Blufi sends longer customer data will will lead congested 2020-08-03 14:55:12 +08:00
sushant.chougule
70eb9abdee Bluedroid: Fix BLE provisioning failure with bluedroid stack 2020-07-28 21:54:05 +05:30
Jiang Jiang Jian
1ec35ba5a7 Merge branch 'bugfix/bt_linkup_fallback_event' into 'master'
Bluedroid: Fixes cases having fallback to link up event.

Closes BT-944

See merge request espressif/esp-idf!9671
2020-07-27 16:09:42 +08:00
sushant.chougule
a7d8d2c8da Bluedroid: Fix gatt clcb allocation and deallocation error 2020-07-25 01:48:48 +00:00
Prasad Alatkar
0b56a27e4a NimBLE: Add Non-Resolvable private address support and misc bug fixes
- Merges https://github.com/espressif/esp-nimble/pull/12
- Fixes repeated pairing failure in RPA feature

Closes https://github.com/espressif/esp-idf/issues/5530
2020-07-22 14:10:01 +05:30
Chinmay Chhajed
4a0c137188 Bluedroid: Fixes cases having fallback to link up event.
Signed-off-by: Chinmay Chhajed <chinmay.chhajed@espressif.com>
2020-07-17 17:11:33 +05:30
Jiang Jiang Jian
84aebc6a78 Merge branch 'feature/bluedroid_link_based_dynamic_allocation' into 'master'
Bluedroid stack dynamic allocation changes to optimise DRAM usage

See merge request espressif/esp-idf!9461
2020-07-16 00:06:10 +08:00
sushant.chougule
0583a04969 Bluedroid stack dynamic allocation changes to optimise DRAM usage
Structures allocated dynamically:
tACL_CONN, tBTM_PM_MCB, tBTM_SEC_DEV_REC, tGATT_TCB, tGATT_CLCB, tL2C_LCB, tL2C_CCB, tSDP_RECORD
Total dynamic allocation size ~19KB.
Peak dram usage reduced by ~12KB when in BT classic + BLE scenario(1 a2dp sink + 1 BLE gatt server)
2020-07-15 14:44:10 +05:30
Jiang Jiang Jian
d65af31309 Merge branch 'bugfix/fix_hci_max_page_num' into 'master'
bugfix/Support for more Bluetooth HID devices

Closes IDFGH-3515

See merge request espressif/esp-idf!9621
2020-07-15 15:51:00 +08:00
Jiang Jiang Jian
170b4c9eff Merge branch 'bugfix/fix_get_bond_device_list' into 'master'
bugfix/fix esp_bt_gap_get_bond_device_list bug

Closes BT-852 and BTCI-88

See merge request espressif/esp-idf!9542
2020-07-15 15:50:32 +08:00
Li Qi Gan
f6f2d9780b add API esp_spp_stop_srv() and fix the error parameter in esp-idf/examples/bluetooth/bluedroid/classic_bt/bt_spp_initiator/main/example_spp_initiator_demo.c
Closes https://github.com/espressif/esp-idf/issues/5409
Closes https://github.com/espressif/esp-idf/pull/5408

See merge request espressif/esp-idf!9114
2020-07-15 15:49:37 +08:00
DerfJagged
5705c786e3 Support for more Bluetooth HID devices
Some Bluetooth devices - such as an Xbox One S controller (model 1708) - report more than two external features pages and are rejected immediately. Pages 1 and 2 are marked as unhandled in btm_devctl.c anyway, so there is no reason to block devices with more pages.
(IDFGH-3515)

Signed-off-by: liqigan <liqigan@espressif.com>

Merges https://github.com/espressif/esp-idf/pull/5481
Closes https://github.com/espressif/esp-idf/issues/5470
2020-07-15 11:54:26 +08:00
Jiang Jiang Jian
0376b23c7c Merge branch 'component/seperate_bta_jv_l2c' into 'master'
component_bt:/ separate BTA_JV_L2CAP for less bin size

See merge request espressif/esp-idf!9158
2020-07-15 11:38:16 +08:00
Jiang Jiang Jian
583f6e5e16 Merge branch 'docs/fix_event_typo' into 'master'
docs/fix event typo

Closes IDFGH-3488

See merge request espressif/esp-idf!9376
2020-07-12 21:23:50 +08:00
Jiang Jiang Jian
0ca62e4f16 Merge branch 'bugfix/fix_ag_return_result' into 'master'
bugfix/Fix error of AG API return line

Closes BTCI-102

See merge request espressif/esp-idf!9565
2020-07-10 16:51:32 +08:00
weitianhua
c40953f4e0 Fix error of AG API return line
Closes https://github.com/espressif/esp-idf/issues/5554
2020-07-10 10:50:27 +08:00
boblane
4293f0320f fix esp_bt_gap_get_bond_device_list bug
Closes https://github.com/espressif/esp-idf/issues/5395
2020-07-09 11:58:10 +08:00
weitianhua
abbf19926e Seperate BTA_JV_L2CAP for less bin size 2020-07-08 17:50:19 +08:00
wangcheng
7d39074d57 component/bt: Fixed ble memory leak issue, buff_semaphore was not released. 2020-07-07 21:00:56 +08:00
liminyang
02f3d39858 docs:fix event typo
1.In the description of the ESP_API header file, it should be the event that the application layer needs to handle, not the BTA layer.
2.Fix name typo of BTA_GATTS_CREATE_SRVC_EVT event

Closes https://github.com/espressif/esp-idf/issues/5446
2020-06-29 11:57:36 +08:00
Chinmay Chhajed
e3350e7861 Bluedroid: Authentication fixes in Legacy and Secure Connection.
Prevent a remote device from doing a Bluetooth Impersonation Attack
(BIAS) by:

- Preventing remote device to downgrade secure connection
feature mask. Secure connection feature mask should remain same or
increase to enabled in link key generation and authentication.

- Doing a mutual authentication during Legacy Authentication.

Signed-off-by: Chinmay Chhajed <chinmay.chhajed@espressif.com>
2020-06-25 15:37:01 +05:30
Jiang Jiang Jian
8c7c3ff899 Merge branch 'bugfix/btdm_ESP_BT_GAP_DISCOVERY_STOPPED_evt_come_twice' into 'master'
Bugfix/fix event bug in GAP API

Closes BT-594 and BT-595

See merge request espressif/esp-idf!8808
2020-06-16 21:22:40 +08:00
Jiang Jiang Jian
d93b8b2939 Merge branch 'bugfix/blufi_buffer_overflow_report' into 'master'
Bugfix/blufi buffer overflow report

See merge request espressif/esp-idf!9177
2020-06-16 15:58:25 +08:00
wangcheng
999ca60657 blufi: When the format of the received data packet is wrong, reply with an error response 2020-06-15 19:33:28 +08:00
Wang Cheng
c65bd02d87 components/bt: Add a detailed description for the user to distinguish the function of the query buffer api. 2020-06-15 18:52:48 +08:00
Geng Yu Chao
c453c2b919 Update the limited of function esp_ble_get_sendable_packets_num. 2020-06-15 18:02:34 +08:00
wangcheng
e87a42f46c components/bt: Add api to query the number of available buffers for the current connection 2020-06-13 14:27:48 +08:00
wangcheng
9c7896f2c2 components/bt: Fixed the problem of incomplete data packets caused by disordered acl data packets 2020-06-13 14:25:51 +08:00
wangcheng
d767adcbfa components/bt: Consider link_xmit_data_q in congest events to prevent excessive memory usage 2020-06-13 14:22:30 +08:00
zhiweijian
6d593eb6fc component/bt: add clear white list API 2020-06-02 11:29:51 +08:00
liqigan
6cf659f293 components/bt: Adjust the description of esp_bt_gap_start_discovery and esp_bt_gap_cancel_discovery.
Add some comments to explain why `ESP_BT_GAP_DISC_STATE_CHANGED_EVT` is not reported.
2020-05-28 14:47:51 +08:00
liqigan
55f6a927b5 btdm:fix emit ESP_BT_GAP_DISC_STATE_CHANGED_EVT event when call API esp_bt_gap_start_discovery
closes BT-594

See merge request espressif/esp-idf!8808
2020-05-20 22:43:44 +08:00
Jiang Jiang Jian
05f4668ad0 Merge branch 'nimble/update_nimble_submodule' into 'master'
NimBLE: Include upstream fixes and use macros for log level filtering

See merge request espressif/esp-idf!8448
2020-05-20 11:23:46 +08:00
zhiweijian
ec6c7558ef add congest direct callback and fix malloc failed when multi_connection notify performance test 2020-05-15 15:35:39 +08:00
wangcheng
418b32e71b master missing BLE_AUTH_CMPL_EVT after restart 2020-05-13 20:33:24 +08:00
wangcheng
a5ac789725 fix bta_dm_deinit_cb crash 2020-05-13 20:18:27 +08:00
Prasad Alatkar
2ef489005b NimBLE: Include upstream fixes and use macros for log level filtering
Change list:
- Reduces the size of the compiled binary, PR: https://github.com/espressif/esp-nimble/pull/6
- Null pointer check, PR: https://github.com/apache/mynewt-nimble/pull/701
- Pairing procedure abort on unexpected req: https://github.com/apache/mynewt-nimble/pull/710
- Fix conn flags after pairing: https://github.com/apache/mynewt-nimble/pull/730
- Remove notification for update process timeout (Vol 6, Part B, section 5.2 ):
  https://github.com/apache/mynewt-nimble/pull/782
- CCCD fix : https://github.com/apache/mynewt-nimble/pull/790 and
  https://github.com/apache/mynewt-nimble/pull/804
- Host based Privacy (RPA) fix: https://github.com/espressif/esp-nimble/pull/7

 Closes https://github.com/espressif/esp-nimble/issues/10

 Closes https://github.com/espressif/esp-idf/issues/4413
2020-05-11 05:36:50 +00:00
Hristo Gochkov
25281ef4de Add HID Support to IDF
- Adds HID Host support in Buedroid
- Adds BLE HID Host and Device support
- Adds some general HID utilities and definitions to help integrate with other stacks and native USB
2020-04-29 17:24:01 +08:00
Prasad Alatkar
be8c847b06 NimBLE: Reset master and slave states on host reset
Closes IDFGH-2743 & IDFGH-2956
2020-04-01 10:09:26 +00:00
xiewenxiang
5d0b6da6a0 component/bt: fix don't dequeue the command queue after process the read_by_type_req 2020-03-31 15:10:01 +08:00
Prasad Alatkar
38fc242914 NimBLE: Fix build failures due to non static declarations in RPA feature
CLoses IDFGH-2891
2020-03-27 14:06:55 +08:00
Prasad Alatkar
2bc28bbd5a NimBLE: Fix NIMBLE_HS_FLOW_CTRL_TX_ON_DISCONNECT in esp_nimble_cfg and bleprph README 2020-03-27 14:05:32 +08:00
Hrishikesh Dhayagude
67a6fd6f3b NimBLE: Add support to IRAM allocation strategy
Added IRAM allocation provision under nimble_platform_mem_malloc()
2020-03-19 04:47:39 +00:00
weitianhua
0d2790a429 Remove (x2) variable in BCM_STRNCPY_S and BCM_STRCPY_S when performance optimization enabled 2020-03-12 16:20:58 +08:00
Prasad Alatkar
48bd2d74b4 NimBLE: Add Host based privacy (RPA) feature support
- This feature removes dependency on controller to use privacy (RPA)
2020-03-06 11:02:18 +08:00
Prasad Alatkar
ee1ab95b98 NimBLE: Fix check for static random address & add MSYS_1 in menuconfig
Closes BT-522 & BT-523
2020-03-05 13:53:04 +08:00
weitianhua
477e584f7d Bugfix for HFP and some Github issue.
1. Bugfix for AG audio crash (change the return position)
2. Fix the error macro name and error return in hfp_hf demo
3. Fix the annotation error using UTF-8 ' (from Github)
4. Change or remove the log in SCO related code region.
5. Correct error of introduction of a function.
2020-02-25 18:03:54 +08:00
Jiang Jiang Jian
959b0295f3 Merge branch 'bugfix/coex_a2dp_stuck_after_creating_anther_connection' into 'master'
components/coex: Fix a2dp stuck after creating another connection

See merge request espressif/esp-idf!7651
2020-02-20 14:15:22 +08:00
baohongde
d11a86076f Fix bugs about role switch
Jitter in FHS
Jitter in first PULL
Receive EDR packet fail after role switch
2020-02-19 20:14:47 +08:00