[jira] [Created] (MYNEWT-751) BLE Host - Policy for SM key overflow

2017-05-10 Thread Christopher Collins (JIRA)
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

2017-05-10 Thread Christopher Collins (JIRA)
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] [Created] (MYNEWT-749) BLE Host - Crash during key persistence if key-dist settings are 0

2017-05-10 Thread Christopher Collins (JIRA)
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

2017-05-10 Thread Vipul Rahane (JIRA)
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)