[jira] [Created] (MYNEWT-751) BLE Host - Policy for SM key overflow
Christopher Collins created MYNEWT-751: -- Summary: BLE Host - Policy for SM key overflow Key: MYNEWT-751 URL: https://issues.apache.org/jira/browse/MYNEWT-751 Project: Mynewt Issue Type: Bug Components: Nimble Reporter: Christopher Collins Fix For: v1_1_0_rel The BLE host needs a way to handle the case where a security store write fails because the maximum number of entries have already been written. Currently, the host simply fails to persist the record and returns an error code. I propose the following behavior in such a scenario: # Host checks that there is sufficient storage for a bond before it starts a pairing operation. # If there is insufficient space, host notifies application of the issue via the gap event callback. The callback would specify a new event code that specifically indicates security storage exhaustion. # The gap event callback would return an error code indicating which of the following behaviors to perform: ## Reject the pairing request. ## Proceed with the pairing operation (presumably the application would delete a security entry to make room before returning from the callback). This raises two issues: # The pre-check for sufficient storage only works if pairing operations are limited to one at a time. Perhaps the check could include pairing operations in progress in the count of written entries. # There isn't an API for the management of persisted security material. The application would probably need the following functions: ** query the system about which bonds are persisted. ** delete a specified bond from persistence. -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Created] (MYNEWT-750) BLE Host - Reject pairing attempt from already bonded peer
Christopher Collins created MYNEWT-750: -- Summary: BLE Host - Reject pairing attempt from already bonded peer Key: MYNEWT-750 URL: https://issues.apache.org/jira/browse/MYNEWT-750 Project: Mynewt Issue Type: Bug Components: Nimble Reporter: Christopher Collins Fix For: v1_1_0_rel If a device is already bonded, the host should not allow the same device to pair again. Currently, the host blindly proceeds with the pairing operation. This should not be allowed because the second peer could be an imposter masquerading as the original. I propose the following behavior in such a scenario: # Host notifies application of the duplicate pairing attempt via the gap event callback. The callback would specify a new event code that specifically indicates a duplicate pairing attempt. # The gap event callback would return an error code indicating which of the following behaviors to perform: ## Reject the pairing request. ## Delete the original bond and proceed with the pairing operation. -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Updated] (MYNEWT-749) BLE Host - Crash during key persistence if key-dist settings are 0
[ https://issues.apache.org/jira/browse/MYNEWT-749?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Christopher Collins updated MYNEWT-749: --- Fix Version/s: v1_1_0_rel > BLE Host - Crash during key persistence if key-dist settings are 0 > -- > > Key: MYNEWT-749 > URL: https://issues.apache.org/jira/browse/MYNEWT-749 > Project: Mynewt > Issue Type: Bug > Components: Nimble >Reporter: Christopher Collins > Fix For: v1_1_0_rel > > > If BLE_SM_BONDING is enabled, but one of the the following settings is 0: > * BLE_SM_OUR_KEY_DIST > * BLE_SM_THEIR_KEY_DIST > then Mynewt crashes when pairing completes. Here is an example stack trace: > {noformat} > Program received signal SIGTRAP, Trace/breakpoint trap. > __assert_func (file=file@entry=0x0, line=line@entry=0, func=func@entry=0x0, > e=e@entry=0x0) at kernel/os/src/arch/cortex_m4/os_fault.c:137 > 137asm("bkpt"); > (gdb) whe > #0 __assert_func (file=file@entry=0x0, line=line@entry=0, > func=func@entry=0x0, e=e@entry=0x0) at > kernel/os/src/arch/cortex_m4/os_fault.c:137 > #1 0x000181f8 in ble_store_persist_sec (obj_type=, > value_sec=) at net/nimble/host/src/ble_store.c:92 > #2 0x000177ca in ble_sm_persist_keys (proc=0x181f9 > ) at net/nimble/host/src/ble_sm.c:565 > #3 ble_sm_process_result (conn_handle=conn_handle@entry=1, > res=res@entry=0x2000165c ) at > net/nimble/host/src/ble_sm.c:860 > #4 0x0001792c in ble_sm_enc_event_rx (conn_handle=, > evt_status=, encrypted=1) at net/nimble/host/src/ble_sm.c:1042 > #5 0x00017942 in ble_sm_enc_change_rx (evt=evt@entry=0x20001698 > ) at net/nimble/host/src/ble_sm.c:1051 > #6 0x000153be in ble_hs_hci_evt_encrypt_change (event_code=, > data=0x20004c20 "\b\004", len=) at > net/nimble/host/src/ble_hs_hci_evt.c:163 > #7 0x00015438 in ble_hs_hci_evt_process (data=0x20004c20 "\b\004") at > net/nimble/host/src/ble_hs_hci_evt.c:593 > #8 0x9016 in os_eventq_run (evq=) at > kernel/os/src/os_eventq.c:172 > #9 0x879e in main () at apps/bleprph/src/main.c:301 > {noformat} -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Created] (MYNEWT-749) BLE Host - Crash during key persistence if key-dist settings are 0
Christopher Collins created MYNEWT-749: -- Summary: BLE Host - Crash during key persistence if key-dist settings are 0 Key: MYNEWT-749 URL: https://issues.apache.org/jira/browse/MYNEWT-749 Project: Mynewt Issue Type: Bug Components: Nimble Reporter: Christopher Collins If BLE_SM_BONDING is enabled, but one of the the following settings is 0: * BLE_SM_OUR_KEY_DIST * BLE_SM_THEIR_KEY_DIST then Mynewt crashes when pairing completes. Here is an example stack trace: {noformat} Program received signal SIGTRAP, Trace/breakpoint trap. __assert_func (file=file@entry=0x0, line=line@entry=0, func=func@entry=0x0, e=e@entry=0x0) at kernel/os/src/arch/cortex_m4/os_fault.c:137 137asm("bkpt"); (gdb) whe #0 __assert_func (file=file@entry=0x0, line=line@entry=0, func=func@entry=0x0, e=e@entry=0x0) at kernel/os/src/arch/cortex_m4/os_fault.c:137 #1 0x000181f8 in ble_store_persist_sec (obj_type=, value_sec=) at net/nimble/host/src/ble_store.c:92 #2 0x000177ca in ble_sm_persist_keys (proc=0x181f9 ) at net/nimble/host/src/ble_sm.c:565 #3 ble_sm_process_result (conn_handle=conn_handle@entry=1, res=res@entry=0x2000165c ) at net/nimble/host/src/ble_sm.c:860 #4 0x0001792c in ble_sm_enc_event_rx (conn_handle=, evt_status=, encrypted=1) at net/nimble/host/src/ble_sm.c:1042 #5 0x00017942 in ble_sm_enc_change_rx (evt=evt@entry=0x20001698 ) at net/nimble/host/src/ble_sm.c:1051 #6 0x000153be in ble_hs_hci_evt_encrypt_change (event_code=, data=0x20004c20 "\b\004", len=) at net/nimble/host/src/ble_hs_hci_evt.c:163 #7 0x00015438 in ble_hs_hci_evt_process (data=0x20004c20 "\b\004") at net/nimble/host/src/ble_hs_hci_evt.c:593 #8 0x9016 in os_eventq_run (evq=) at kernel/os/src/os_eventq.c:172 #9 0x879e in main () at apps/bleprph/src/main.c:301 {noformat} -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Created] (MYNEWT-748) SensorAPI: Add BME280 support to mynewt along with pressure, temperature and humidity support
Vipul Rahane created MYNEWT-748: --- Summary: SensorAPI: Add BME280 support to mynewt along with pressure, temperature and humidity support Key: MYNEWT-748 URL: https://issues.apache.org/jira/browse/MYNEWT-748 Project: Mynewt Issue Type: New Feature Reporter: Vipul Rahane Assignee: Vipul Rahane Add SPI driver for BME280 along with pressure, temperature and humidity support in SensorAPI. -- This message was sent by Atlassian JIRA (v6.3.15#6346)