Commit Graph

182 Commits

Author SHA1 Message Date
Wang Meng Yang
06f2f1c6b2 Merge branch 'bugfix/fix_null_pointer_deference_issue_4.3_mr' into 'release/v4.3'
Fix the null pointer deference issue via Reconnection Spamming

See merge request espressif/esp-idf!16638
2022-01-10 08:44:25 +00:00
Wang Meng Yang
b9c5ef1717 Merge branch 'bugfix/fix_spp_open_err_bda_v4.3' into 'release/v4.3'
Component_bt/Fix SPP acceptor open with wrong remote address[backport 4.3]

See merge request espressif/esp-idf!16614
2022-01-06 04:06:42 +00:00
“YangZhao”
74f4d07c3b There is an issue that if the the btm_cb.p_sec_dev_rec_list is full,but at the same
time we can't find old device to be replaced,then this can cause crash. So we need
to change the way to malloc the new device or replace the old in the list.
2022-01-04 11:09:44 +08:00
liqigan
04bea91b38 fix SPP open with wrong remote bd_addr 2021-12-30 16:36:51 +08:00
xiewenxiang
abacbb1d12 components/bt: Fix bluedroid compile issue 2021-12-30 11:58:21 +08:00
xiewenxiang
ab2148a390 component/bt: fix periodic adv parameters detection issue 2021-12-29 15:03:28 +08:00
Jiang Jiang Jian
31d1156c6d Merge branch 'bugfix/fix_can_not_find_mac_addr_error_mr_4.3' into 'release/v4.3'
fix can not find mac addr error

See merge request espressif/esp-idf!16146
2021-12-22 13:33:29 +00:00
Wang Meng Yang
450b05a64a Merge branch 'bugfix/fix_spp_listen_err_v4.3' into 'release/v4.3'
Component_bt/Fix SPP cannot malloc slot bugs[backport v4.3]

See merge request espressif/esp-idf!16384
2021-12-21 04:35:07 +00:00
Wang Meng Yang
91d7557579 Merge branch 'feature/support_ble_direct_ind_low_adv_v4.3' into 'release/v4.3'
components/bt: Support low duty cycle directed advertising(backport release/v4.3)

See merge request espressif/esp-idf!16378
2021-12-21 03:27:09 +00:00
liqigan
a269df84e9 fix SPP server bugs when the BTC layer can not allocate a slot for the listen port 2021-12-14 11:07:29 +08:00
xiewenxiang
a7900f871f components/bt: Fix high duty cycle directed advertising will not be stopped when timeout 2021-12-14 09:33:24 +08:00
xiewenxiang
d4cc192782 components/bt: Support low duty cycle directed advertising 2021-12-14 09:33:17 +08:00
Yang Zhao
f2d6cb7298 Add the feature that switch random address to origin mac addr in the ADV
report data.
2021-11-30 14:27:32 +08:00
Jiang Jiang Jian
0c77b89e13 Merge branch 'feature/add_coex_hci_command_v4.3' into 'release/v4.3'
Add hci command to set coexistence status (4.3)

See merge request espressif/esp-idf!16054
2021-11-25 08:02:14 +00:00
Jiang Jiang Jian
96b284bcd3 Merge branch 'bugfix/fix_static_check_error_mr_4.3' into 'release/v4.3'
Fix the high-impact issues from the code analysis report from customer.

See merge request espressif/esp-idf!16045
2021-11-23 06:36:23 +00:00
xiongweichao
8a9ca26d61 Add hci command to set coexistence status 2021-11-23 11:40:17 +08:00
“YangZhao”
911847e3ea Fix the high-impact issues from the code analysis report from customer.
For the CID10564,10384,10280,10098,10038,The memory was released in other place.
For the CID10365,it release the memory in the function when sent successfully.
For the CID10268,10011, we need not change the code.
2021-11-22 19:46:14 +08:00
xiongweichao
97e728a9aa Dereference null return value 2021-11-22 10:47:23 +08:00
xiongweichao
a977434855 already defined in bt_target.h 2021-11-22 10:47:12 +08:00
xiongweichao
50f34eb553 Dereference after null check 2021-11-22 10:47:07 +08:00
xiongweichao
a7f26d24d9 Dereference before null check 2021-11-22 10:47:01 +08:00
xiongweichao
6576cee0e8 Logically dead code 2021-11-22 10:46:55 +08:00
Wang Meng Yang
625bd4f767 Merge branch 'bugfix/btdm_fix_some_bluedroid_issues_v4.3' into 'release/v4.3'
Fix some bluedroid issues(backport v4.3)

See merge request espressif/esp-idf!15230
2021-10-21 03:49:20 +00:00
xiewenxiang
594f604e7d component/bt: fix data length update failed 2021-10-13 19:55:43 +08:00
xiewenxiang
5a26d7008d component/bt: set ext adv param failed when stop ext adv 2021-10-08 11:58:15 +08:00
Jiang Jiang Jian
28b768807e Merge branch 'bugfix/bt_legacy_paring_wrong_pin_code_err_v4.3' into 'release/v4.3'
bugfix/fix the crash when using legacy paring with wrong pin code (v4.3)

See merge request espressif/esp-idf!15298
2021-09-30 01:12:54 +00:00
jincheng
e08f69aaff bugfix/fix the crash when using legacy paring with wrong pin code
Close https://github.com/espressif/esp-idf/issues/7556
2021-09-22 14:55:53 +08:00
Wang Meng Yang
5e7d08d083 Merge branch 'bugfix/build_warning_unused_variable' into 'release/v4.3'
bugfix/remove unused variable which caused to build warnings

See merge request espressif/esp-idf!15105
2021-09-08 11:56:04 +00:00
jincheng
2845b70f83 remove unused variable which caused to build warning 2021-09-07 19:15:36 +08:00
liqigan
fb53ea7d22 add FAQ in SPP demo README 2021-08-16 09:18:12 +08:00
xiewenxiang
032f6d34d1 component/bt: add local irk to controller 2021-08-06 18:19:25 +08:00
xiewenxiang
192aa18c31 Fixed ESP32 BLE can't resolve the peer address when enable white list 2021-07-30 15:09:00 +08:00
“sonalipatil”
00b9df2937 Add support of NimBLE host to Blufi
Merges https://github.com/espressif/esp-idf/pull/6904
2021-07-01 09:06:15 +05:30
zwj
dc209757b1 - fix data length update failed
- fix no callback when the value being used is the same as the value to be set
2021-06-25 15:32:28 +08:00
xiongweichao
15dcd2eca1 fix spp acceptor deadlock
Closes: https://github.com/espressif/esp-idf/issues/6948
2021-06-22 20:37:51 +08:00
Wang Meng Yang
0c3173874e Merge branch 'bugfix/bt_impersonation_passkey_fix_v4.3' into 'release/v4.3'
Bluedroid: Check only x component of passkey to avoid passkey impersonation attack. (v4.3)

See merge request espressif/esp-idf!13758
2021-06-16 08:59:13 +00:00
zhiweijian
9e2ce84a9a Fixed ANON_ADV address error 2021-06-01 11:49:21 +08:00
Chinmay Chhajed
24035f698d Bluedroid: Check only x component of passkey to avoid passkey impersonation attack. 2021-05-28 19:24:27 +05:30
zwj
7d1fe0b553 Fixed BLE reconnect failed when using rpa public address 2021-05-27 08:17:18 +00:00
zwj
1957025f4a fix C3/S3 ble multi-connection failed when device acts as master and slave 2021-05-10 13:12:01 +00:00
zwj
2a7df3bcd8 optimize C3 multi-connection 2021-04-20 02:53:07 +00:00
zwj
67b09d3db5 add option to enable multi-connection 2021-04-20 02:53:07 +00:00
zwj
5717f8f2fb update con state when getting connection cancle complete 2021-04-20 02:53:07 +00:00
zwj
fe2f3bfe1e fix ble 5.0 SMP failed 2021-04-20 02:53:07 +00:00
zwj
e2af75b5e4 add BLE connection establishment retry 2021-04-20 02:53:07 +00:00
zwj
ac8ea9e9e5 fix multi-connection pair failed 2021-03-24 16:44:45 +08:00
wangmengyang
cc8ef3660a components/bt: shorten some log messages for bluedroid 2021-03-24 03:38:56 +00:00
liqigan
9c884b3ba9 fix l2cap repeat cid 2021-03-12 15:53:48 +08:00
zwj
8a2155f95e fix ble connection event report remote address error 2021-03-12 11:44:13 +08:00
zwj
aa652adc12 fix crash caused by spp pairing cancel 2021-02-26 19:17:51 +08:00
Chinmay Chhajed
fb3a382fe4 Bluedroid: Do not initiate/accept connection with device having same BDADDR.
Added BD_ADDR comparison in l2cu_lcp_allocate and removed check from
security connection request handler as it's handled in l2cu_lcp_allocate
for both connection request and create connection.
2021-02-09 12:09:15 +05:30
Chinmay Chhajed
5596f37af1 bt: removed esp_bt_get_mac()
There was no need for this function as there is already a way present to
fetch own mac address. Own mac addr can be fetched by calling
controller_get_interface().
2021-02-09 12:09:15 +05:30
zwj
00fdbfcddc fix ble connection maximum latency is 499 2021-01-27 16:13:17 +08:00
zwj
b937485ad1 add ble examples default sdkconfig for esp32s3 2021-01-27 15:57:20 +08:00
zwj
bdafdbbf3d disable bluedroid congest error log print 2021-01-27 14:45:03 +08:00
zwj
081e474baf fix a2dp sink crash due to ble 5.0 code 2021-01-27 14:45:03 +08:00
zwj
ea42d8e043 fix bluedroid deinit crash 2021-01-15 21:08:14 +08:00
zwj
d624675087 fix connection param update timeout 2021-01-15 18:05:39 +08:00
zwj
ad09955b1f fix crash when creating aux open failed, fix GAP_22026 failed 2021-01-15 18:05:18 +08:00
zwj
273d2fd5ec fix multi-connection crash (smp-08003) 2021-01-15 18:05:04 +08:00
zhiweijian
e81104f377 fix add white list failed 2021-01-15 18:04:45 +08:00
zwj
61b1a4b7b8 fix bluedroid repair faild if the two most significant bits of public address is '01' 2021-01-15 18:04:27 +08:00
zhiweijian@espressif.com
d4619584d7 fix ble connect crash 2021-01-15 18:04:16 +08:00
zwj
1d1754e4b4 - fix congest return value
- fix system no rsp when doing disconnect
- fix no congest event when ssc do writing performance
2021-01-15 18:03:56 +08:00
zwj
0880c7bcf9 fix ble read multi char err when the number of handles is more than 10 2021-01-15 18:03:39 +08:00
zwj
4a719daa78 fix scan rsp length err 2021-01-15 18:03:27 +08:00
zwj
796a959fa5 fix vendor hci memory leak 2021-01-15 18:03:15 +08:00
zwj
7c1c669799 component/bt: add BLE v5.0 feature for bluedroid host 2021-01-15 17:55:12 +08:00
Chinmay Chhajed
e016b6b79b Bluedroid: Do not connect if peer BD_ADDR is same as own BD_ADDR. 2021-01-05 14:54:15 +05:30
Bao Hong De
64d30fa6c4 Add API to config QoS 2021-01-05 10:32:47 +08:00
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
wangcheng
cc7dbc6177 components/bt: Fixed the problem of early release of pointer(p_ccb) in funcion 2020-12-17 10:54:56 +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
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
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
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
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
baohongde
dac798afbb components/bt: Fix crash in BTM_SetPowerMode after disconnect
Introduced by commit 0583a049
2020-09-27 19:55:12 +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
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
sushant.chougule
70eb9abdee Bluedroid: Fix BLE provisioning failure with bluedroid stack 2020-07-28 21:54:05 +05:30
sushant.chougule
a7d8d2c8da Bluedroid: Fix gatt clcb allocation and deallocation error 2020-07-25 01:48:48 +00:00
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
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
wangcheng
7d39074d57 component/bt: Fixed ble memory leak issue, buff_semaphore was not released. 2020-07-07 21:00:56 +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
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