mirror of
https://github.com/espressif/esp-idf.git
synced 2025-07-31 11:17:20 +02:00
Merge branch 'bugfix/ignore_null_valued_comb_key_4_1' into 'release/v4.1'
Bugfix/ignore null valued comb key 4 1 See merge request espressif/esp-idf!12408
This commit is contained in:
@ -404,8 +404,6 @@ SOC_RESERVE_MEMORY_REGION(SOC_MEM_BT_DATA_START, SOC_MEM_BT_DATA_END,
|
|||||||
|
|
||||||
static DRAM_ATTR struct osi_funcs_t *osi_funcs_p;
|
static DRAM_ATTR struct osi_funcs_t *osi_funcs_p;
|
||||||
|
|
||||||
static uint8_t own_bda[6];
|
|
||||||
|
|
||||||
#if CONFIG_SPIRAM_USE_MALLOC
|
#if CONFIG_SPIRAM_USE_MALLOC
|
||||||
static DRAM_ATTR btdm_queue_item_t btdm_queue_table[BTDM_MAX_QUEUE_NUM];
|
static DRAM_ATTR btdm_queue_item_t btdm_queue_table[BTDM_MAX_QUEUE_NUM];
|
||||||
static DRAM_ATTR SemaphoreHandle_t btdm_queue_table_mux = NULL;
|
static DRAM_ATTR SemaphoreHandle_t btdm_queue_table_mux = NULL;
|
||||||
@ -1358,7 +1356,6 @@ esp_err_t esp_bt_controller_init(esp_bt_controller_config_t *cfg)
|
|||||||
cfg->bt_max_sync_conn = CONFIG_BTDM_CTRL_BR_EDR_MAX_SYNC_CONN_EFF;
|
cfg->bt_max_sync_conn = CONFIG_BTDM_CTRL_BR_EDR_MAX_SYNC_CONN_EFF;
|
||||||
cfg->magic = ESP_BT_CONTROLLER_CONFIG_MAGIC_VAL;
|
cfg->magic = ESP_BT_CONTROLLER_CONFIG_MAGIC_VAL;
|
||||||
|
|
||||||
read_mac_wrapper(own_bda);
|
|
||||||
if (((cfg->mode & ESP_BT_MODE_BLE) && (cfg->ble_max_conn <= 0 || cfg->ble_max_conn > BTDM_CONTROLLER_BLE_MAX_CONN_LIMIT))
|
if (((cfg->mode & ESP_BT_MODE_BLE) && (cfg->ble_max_conn <= 0 || cfg->ble_max_conn > BTDM_CONTROLLER_BLE_MAX_CONN_LIMIT))
|
||||||
|| ((cfg->mode & ESP_BT_MODE_CLASSIC_BT) && (cfg->bt_max_acl_conn <= 0 || cfg->bt_max_acl_conn > BTDM_CONTROLLER_BR_EDR_MAX_ACL_CONN_LIMIT))
|
|| ((cfg->mode & ESP_BT_MODE_CLASSIC_BT) && (cfg->bt_max_acl_conn <= 0 || cfg->bt_max_acl_conn > BTDM_CONTROLLER_BR_EDR_MAX_ACL_CONN_LIMIT))
|
||||||
|| ((cfg->mode & ESP_BT_MODE_CLASSIC_BT) && (cfg->bt_max_sync_conn > BTDM_CONTROLLER_BR_EDR_MAX_SYNC_CONN_LIMIT))) {
|
|| ((cfg->mode & ESP_BT_MODE_CLASSIC_BT) && (cfg->bt_max_sync_conn > BTDM_CONTROLLER_BR_EDR_MAX_SYNC_CONN_LIMIT))) {
|
||||||
@ -1647,12 +1644,6 @@ esp_bt_controller_status_t esp_bt_controller_get_status(void)
|
|||||||
return btdm_controller_status;
|
return btdm_controller_status;
|
||||||
}
|
}
|
||||||
|
|
||||||
uint8_t* esp_bt_get_mac(void)
|
|
||||||
{
|
|
||||||
return own_bda;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/* extra functions */
|
/* extra functions */
|
||||||
esp_err_t esp_ble_tx_power_set(esp_ble_power_type_t power_type, esp_power_level_t power_level)
|
esp_err_t esp_ble_tx_power_set(esp_ble_power_type_t power_type, esp_power_level_t power_level)
|
||||||
{
|
{
|
||||||
|
Submodule components/bt/controller/lib updated: 73fa0bcb51...0a7edb5acf
@ -36,7 +36,6 @@
|
|||||||
#include "osi/fixed_queue.h"
|
#include "osi/fixed_queue.h"
|
||||||
#include "osi/alarm.h"
|
#include "osi/alarm.h"
|
||||||
#include "stack/btm_ble_api.h"
|
#include "stack/btm_ble_api.h"
|
||||||
#include "esp_bt.h"
|
|
||||||
|
|
||||||
#if (BT_USE_TRACES == TRUE && BT_TRACE_VERBOSE == FALSE)
|
#if (BT_USE_TRACES == TRUE && BT_TRACE_VERBOSE == FALSE)
|
||||||
/* needed for sprintf() */
|
/* needed for sprintf() */
|
||||||
@ -2631,15 +2630,6 @@ void btm_sec_conn_req (UINT8 *bda, UINT8 *dc)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Check if peer device's and our BD_ADDR is same or not. It
|
|
||||||
should be different to avoid 'Impersonation in the Pin Pairing
|
|
||||||
Protocol' (CVE-2020-26555) vulnerability. */
|
|
||||||
if (memcmp(bda, esp_bt_get_mac(), sizeof (BD_ADDR)) == 0) {
|
|
||||||
BTM_TRACE_ERROR ("Security Manager: connect request from device with same BD_ADDR\n");
|
|
||||||
btsnd_hcic_reject_conn (bda, HCI_ERR_HOST_REJECT_DEVICE);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Security guys wants us not to allow connection from not paired devices */
|
/* Security guys wants us not to allow connection from not paired devices */
|
||||||
|
|
||||||
/* Check if connection is allowed for only paired devices */
|
/* Check if connection is allowed for only paired devices */
|
||||||
|
@ -52,6 +52,16 @@ tL2C_LCB *l2cu_allocate_lcb (BD_ADDR p_bd_addr, BOOLEAN is_bonding, tBT_TRANSPOR
|
|||||||
int xx;
|
int xx;
|
||||||
tL2C_LCB *p_lcb = &l2cb.lcb_pool[0];
|
tL2C_LCB *p_lcb = &l2cb.lcb_pool[0];
|
||||||
|
|
||||||
|
#if (CLASSIC_BT_INCLUDED == TRUE)
|
||||||
|
/* Check if peer device's and our BD_ADDR is same or not. It
|
||||||
|
should be different to avoid 'Impersonation in the Pin Pairing
|
||||||
|
Protocol' (CVE-2020-26555) vulnerability. */
|
||||||
|
if (memcmp((uint8_t *)p_bd_addr, (uint8_t *)&controller_get_interface()->get_address()->address, sizeof (BD_ADDR)) == 0) {
|
||||||
|
L2CAP_TRACE_ERROR ("%s connection rejected due to same BD ADDR", __func__);
|
||||||
|
return (NULL);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
for (xx = 0; xx < MAX_L2CAP_LINKS; xx++, p_lcb++) {
|
for (xx = 0; xx < MAX_L2CAP_LINKS; xx++, p_lcb++) {
|
||||||
if (!p_lcb->in_use) {
|
if (!p_lcb->in_use) {
|
||||||
btu_free_timer(&p_lcb->timer_entry);
|
btu_free_timer(&p_lcb->timer_entry);
|
||||||
|
Reference in New Issue
Block a user