Commit Graph

3024 Commits (mbed-os-5.9.4)

Author SHA1 Message Date
Cruz Monrreal 791620c428
Merge pull request #6932 from paul-szczepanek-arm/security-manager-dev
BLE privacy, signing, persistent security database
2018-05-24 10:07:06 -05:00
Cruz Monrreal 06180e89f7
Merge pull request #6642 from yossi2le/yossi-device-key-driver
Device key implementation
2018-05-24 10:06:14 -05:00
Cruz Monrreal 2f86c152f0
Merge pull request #6794 from RonEld/cc310_porting
Cryptocell 310 support
2018-05-24 10:05:46 -05:00
Kevin Bracey 13dcef63e3
Merge pull request #6847 from ARMmbed/feature-emac
Merge feature-emac branch into master
2018-05-24 16:47:04 +03:00
Hasnain Virk 9973eb3e79 Stability improvements & CRYPTO_ERROR addition
General stability improvements are performed.
A flag is added if a Class C RX2 window is open.
We shouldn't open it again if its already opened.

TX_CRYPTO_ERROR is renamed to CRYPTO_ERROR.
Keeping TX_CRYPTO_ERROR for backwards compatibility.
2018-05-24 15:59:07 +03:00
Hasnain Virk 0feb0efb89 Adding checks for stack initialization
Metadata APIs should return an error if the stack is not initialized yet.
2018-05-24 15:54:32 +03:00
Hasnain Virk 3020d658bf Travis astyle corrections
The scope of style corrections is local to this PR only.
2018-05-24 15:54:32 +03:00
Hasnain Virk 2bc8e4e847 Adding ack expiry handling for class C
In Class C, rx timeout does not take place for RX2 windows, so if we have
not received anything, we would be retrying but if the no. of retries are
maxed out, and we have not recieved anything yet, we need a mechanism to
tell the upper layer that this has happened.
2018-05-24 15:54:32 +03:00
Hasnain Virk b0ce443f5b Doing away with rx_abort()
rx_abort() was sort of dead code as it was doing essentially nothing.
It might have actually meddled with the state machine if it was hit by
invoking on_ack_timeout_timer_event().

State machine and corresponding processors now take care of the ack timeout,
retries and all other bits, so we don't need abort_rx().
2018-05-24 15:54:32 +03:00
Hasnain Virk 375e1b711d Adding useful trace and setting no. of retries
MCPS confirmation should be filled with the current number of retries
if the ack is not recieved for a CONFIRMED message.

Ack retry number needs to be incremented after the retry is made not before
that.

A few traces are added at the crucial junctions of the code just to tally with
the conceptual flow for debug purposes.
2018-05-24 15:54:32 +03:00
Hasnain Virk 26b28f78af Adding ability to cancel outgoing transmission
Application can use cancel_sending() API to stop any outstanding, outgoing
transmission (a TX which is not already queued for transmission). This can
potentially enable use cases where the application could cancel a transmission
and go to sleep if the backoff period is long enough rather than waiting for
the transmission to happen.
2018-05-24 15:54:32 +03:00
Hasnain Virk 8363311c7a Adding acquisition of backoff time value
This API enables the application to get hold of remaining time after which
the transmission will take place. User can query the backoff time whenever
there is a packet in the TX pipe. If the event for the backoff expiry is
already queued, the stack does not provide backoff metadata.
2018-05-24 15:54:32 +03:00
Hasnain Virk 387f56c738 Adding acquisition of RX meta data
User can now inquire about any RX meta data available after a
successful reception.
2018-05-24 15:54:32 +03:00
Hasnain Virk 555d945a42 Adding acquisition of TX Meta-data
An API is added to fetch any meta-data available after a succesful
transmission. The stack will make the meta data available after the
TX interrupt is processed. User can get the tx meta data after receiving
TX_DONE event.
2018-05-24 15:54:32 +03:00
Danny Shavit aa38778a58 Add warning about FEATURE_UVISOR being deprecated 2018-05-24 13:46:30 +03:00
Martin Kojtal d8cb72a0a2
Merge pull request #6273 from bulislaw/update_cmsis_5.3
Update cmsis/rtx to version 5.3
2018-05-24 09:37:40 +02:00
Cruz Monrreal 863259e48b
Merge pull request #6960 from hasnainvirk/msg_flags
LoRaWAN: Message flags correction
2018-05-23 22:22:53 -05:00
Senthil Ramakrishnan 5ef6728c08 Splitting MBED_ERROR macros to support ones with/without error value argument 2018-05-23 12:21:28 -05:00
Senthil Ramakrishnan 693a6c40bb Refactor error reporting 2018-05-23 12:21:11 -05:00
Senthil Ramakrishnan d4fe75731d Adding mbed prefixes to all macros and functions to avoid namespace conflicts 2018-05-23 12:21:10 -05:00
Senthil Ramakrishnan 147d9cac4e Test application/cases optimization for some low memory targets, macro changes and test fixes 2018-05-23 12:21:10 -05:00
Senthil Ramakrishnan 2e28dd95e1 Change set_error/set_error_fatal to warning/error, add itm support and other changes 2018-05-23 12:21:08 -05:00
Senthil Ramakrishnan 9041b475c6 Error handling/logging implementation and tests 2018-05-23 12:21:07 -05:00
Donatien Garnier f08ac2e9b2
Merge pull request #52 from pan-/fix-privacy-nrf52
Fix privacy nrf52
2018-05-23 11:50:28 -05:00
Vincent Coubard db4d14c89d BLE NRF52: Fix advertising filtering when no bonds are present. 2018-05-23 17:27:18 +01:00
Vincent Coubard ef208912a6 BLE NRF52: Report correct own address type for connection
The function that gets the address doesn't work when privacy is enabled; report own address as private resolvable.
2018-05-23 17:27:18 +01:00
Vincent Coubard 30dac7cd8c BLE NRF52: Fix identity address flag in connection request. 2018-05-23 17:27:07 +01:00
Vincent Coubard 1ba5a112f4 BLE: Fix wrong macro name for IAR 2018-05-23 17:11:26 +01:00
Cruz Monrreal eb9435b52e
Merge pull request #6772 from ARMmbed/g-littlefs-eilseq
littlefs: Map LFS_ERR_CORRUPT to EILSEQ
2018-05-23 10:12:19 -05:00
paul-szczepanek-arm de41355c5c Fix not processing all advertising reports if one is filtered out
filtering out individual reports instead of all
2018-05-23 14:24:54 +01:00
Paul Szczepanek f4b7f32793
Merge pull request #49 from pan-/fix-privacy-backward-compatibility
Fix privacy backward compatibility
2018-05-23 14:20:49 +01:00
Asif Rizwan 657ac3f643 WIFI_EMAC class renamed to OdinWiFiEMAC, Formatting
Revert "in ODIN emac initialization required before connection"
2018-05-23 12:25:21 +03:00
Kevin Bracey 7e4eb5c24b LPC546XX: Correct Ethernet length calculations
Subtract 4 from the received packet length - the buffer contains the
CRC, which we shouldn't pass up.

Ensure we allocate receive buffers of a size corresponding to the
rounded-up size we tell the hardware - the hardware was overrunning the
allocation by a couple of bytes.
2018-05-23 12:25:21 +03:00
Mahesh Mahadevan fc0ce8cb72 Add memory configuration for LPC546XX
Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2018-05-23 12:25:20 +03:00
Mahesh Mahadevan 91ac8356ba LPC546XX: Add ENET support
Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2018-05-23 12:25:20 +03:00
Asif Rizwan 0b14f1277e EMAC adaption added, updated ODIN drivers to v2.5.0 RC1 2018-05-23 12:25:18 +03:00
Mika Leppänen ede07217df Corrected lwip netif flags to be set before power up
This enables that link up status callback can be called inside
power up function.
2018-05-23 12:25:17 +03:00
Kevin Bracey f3ec0dacd5 Add NetworkInterface::get_default_instance()
Provide an initial framework to make it easier to find a default network
interface.
2018-05-23 12:25:17 +03:00
Mika Leppänen e481c5ef75 Added memory manager set to add_ethernet_interface() of test stack
This allows that EMAC memory manager can be used to allocate EMAC driver
memory already after the add_ethernet_interface() call.
2018-05-23 12:24:11 +03:00
Mika Leppänen 31b8f73de7 Changed mutexes, delete and DNS call in callback set
- Changed mutexes to platform mutexes
- Removed not needed null check from delete
- Changed nsapi_dns_call_in_set() to use call_in_callback_cb_t and
added prototype to header
2018-05-23 12:24:10 +03:00
Mika Leppänen c4424ff0a1 Corrected more defects
- Serialized the sending of multiple async DNS queries since limits on event
message box sizes
- Added timer function that supervises the total time used to make DNS query
and triggers socket timeouts
- Changed nsapi_error_t to new nsapi_value_or_error_t on interface headers
- Corrected wording of gethostbyname_async return values
- Clarified .json options
- Added a new data type for socket callback that can be used from interrupts
- Corrected variable limits to use INT32_MAX etc. defines
- Changed mallocs to new
- Optimized variable sizes on DNS_QUERY definition
2018-05-23 12:24:10 +03:00
Mika Leppänen 1c01f5dda4 Corrected defects
- Changed call_in/call methods of the stack to callback provided by the stack
- Specified what are limitations for operations that are made in callback
- Added pure virtual class DNS that defines DNS operations
- Added cancel operation and unique ID to DNS request used in cancel
- Added DNS configuration options to netsocket/mbed_lib.json for retries,
  response wait time and cache size
- Changed host name to use dynamic memory in DNS query list and cache,
  set maximum length for the name to 255 bytes.
- Added mutex to asynchronous DNS
- Reworked retries: there is now total retry count and a server specific count
- Ignores invalid incoming UDP socket messages (DNS header is not valid), and retries DNS query
- Reworked DNS module asynchronous operation functions
- Corrected other review issues (nothrow new, missing free, missing mutex unlock etc.)
2018-05-23 12:24:10 +03:00
Mika Leppänen b7e8400c2c Added non-blocking DNS functionality to network interface
- Added non-blocking DNS interface to network interface and
  network stack.
- Added caching of DNS replies.
- Added a network stack function to get DNS addresses from stack.
- Added call and call_in hooks to onboard network stack to
  allow calling functions from onboard stack context.
- Added support to call and call_in functions to LWIP and
  Nanostack.
- Disabled LWIP DNS translator with the exception of DNS
  address storage used in DNS address get.
2018-05-23 12:24:10 +03:00
TomoYamanaka bad530ab0d Implementation of unified EMAC driver for Renesas mbed boards
Implementation of unified EMAC driver for Renesas mbed boards

Based on the driver so far, Renesas implemented the emac driver for GR-PEACH and VK-RZ/A1H.
The mainly changes is below.
- Add the connection part with LWIP according to the unified emac specification.
- Add three new multicast functions(add, remove, set_all).

The Greentea test netsocket and emac test passed.
2018-05-23 12:24:09 +03:00
cyliangtw 7bfa362492 [M487/NUC472] Fix tx frame length and remove GPL license 2018-05-23 12:24:09 +03:00
cyliangtw 401f09c479 [M487/NUC472] Support DHCP & TCP sample, also remove legacy emac 2018-05-23 12:24:09 +03:00
cyliangtw 89209b6cd5 [M487/NUC472] Support new EMAC feature, built OK 2018-05-23 12:24:08 +03:00
Mahesh Mahadevan 82b2a27a1c Kinetis EMAC: Renamed K64F files to Kinetis
This driver is used by more SoC's than K64F

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2018-05-23 12:24:07 +03:00
Mahesh Mahadevan 7bc4c0ec21 K64F, K66F: Update the SYSMPU implementation
Do not disable SYSMPU, instead add access for ENET bus master

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2018-05-23 12:24:07 +03:00
Mika Leppänen de72090d26 Changed STM emac driver to loop RX frame reading 2018-05-23 12:24:06 +03:00
Kevin Bracey 953f1b615a Add EMAC driver README.md with porting guide 2018-05-23 12:24:06 +03:00
Kevin Bracey fbd920777b Add extra labels for Freescale & STM EMAC drivers
Just checking "does the chip have an EMAC" doesn't work - there are
targets using those chips which do not have an Ethernet connector and
don't provide the necessary surrounding infrastructure (eg DISCO_F429ZI,
not providing the board emac config call, and HEXIWEAR not providing PHY
info).

Make the targets that actually do want EMAC define their own local
Freescale_EMAC and STM_EMAC labels, and move the drivers into
the corresponding TARGET_ directories, removing the #ifdefs.
2018-05-23 12:24:06 +03:00
Kevin Bracey d83dec9ea4 Stop drivers checking DEVICE_EMAC
Checking DEVICE_EMAC is problematic - particularly for the Odin W2 where
apps have been shutting this off to disable the Wi-fi interface.

Make drivers check a locally-relevant flag instead, pending new
thoughts on how to achieve application/test-relevant flagging for
XXX:get_default_instance() being provided by a system.

However that is achieved, drivers do require a flag set purely by the
target - they mustn't be tripped up by an add-on module providing itself
as the system's default EMAC.
2018-05-23 12:24:05 +03:00
Mika Leppänen 01b4d97cb4 Corrected STM eth driver flagging, memory allocation and thread init 2018-05-23 12:24:05 +03:00
Kevin Bracey 3c83c62ff7 Nanostack EMAC implementation
Make Nanostack an OnboardNetworkInterface, implementing
add_ethernet_interface so it can use EMAC drivers.

Can now be used via EthernetInterface, and be the system's default
network stack.

Legacy support for NanostackEthernetInterface retained. Some
restructuring of mesh interface code to fit into the
OnboardNetworkStack:::Interface system.
2018-05-23 12:24:04 +03:00
Kevin Bracey a0d374ef00 Extend EMAC multicast APIs 2018-05-23 12:24:02 +03:00
Kevin Bracey 5472a9703f EMAC: check link status callback is set
Nanostack doesn't set the link status callback. Make sure the two
example drivers don't crash if it isn't set.
2018-05-23 12:24:02 +03:00
Kevin Bracey 7ce098acb4 K64F EMAC: Fix TX error path leaks 2018-05-23 12:24:02 +03:00
Mika Leppänen 5da3cd9cce Added preferred alignment to emac and copy to/from to memory manager 2018-05-23 12:24:01 +03:00
Kevin Bracey 4950a993fd Move STM EMAC driver out out lwIP 2018-05-23 12:24:01 +03:00
Mika Leppänen 4e10cc097e Updated STM ethernet driver to use emac and memory manager 2018-05-23 12:24:01 +03:00
Mika Leppänen 668e0821a1 Updated K64F ethernet driver to use memory manager 2018-05-23 12:24:00 +03:00
Mika Leppänen bc5d4d1c0d Created memory manager class to netsocket and updated lwip to use it
instead of old memory interface.
2018-05-23 12:24:00 +03:00
Kevin Bracey b222c25435 Work around Nuvoton #define EMAC 2018-05-23 12:23:58 +03:00
Kevin Bracey 958247265b Tell mbed build to ignore old lwIP+EMAC drivers 2018-05-23 12:23:58 +03:00
Kevin Bracey 0ecf4e4695 Move Freescale EMAC driver out of lwIP 2018-05-23 12:23:58 +03:00
Kevin Bracey 74dfe3423a Add downcast methods to NetworkInterface
As we've introduced virtual inheritance to support EMACInterface, we can
no longer use C-style casts or static_cast to downcast from
NetworkInterface to more specific types. RTTI is disabled in the
toolchains, so dynamic_cast is unavailables.

Add virtual downcast methods to permit conversions to the 6 derived
classes. Probably only needed for EMACInterface, WiFiInterface and
EthInterface, but handles the set.
2018-05-23 12:23:55 +03:00
paul-szczepanek-arm 80137be991 Merge https://github.com/ARMmbed/mbed-os into security-manager-dev 2018-05-23 09:47:06 +01:00
Yossi Levy f33f4dab26 Increase tests timeout to 45 second 2018-05-23 11:29:46 +03:00
Ron Eldor 77e87d3174 Check the size_t isn't larger than 32 bit
Assure that `size_t` isn't larger than 32 bit, with preprocessor check.
Using `#if SIZE_MAX > UINT_MAX`.
2018-05-23 08:37:27 +03:00
Yossi Levy 7401aea36a Remove reset tests. Small change to cmac claculation in get_derived_key 2018-05-22 21:35:33 +03:00
Oren Cohen 076cd42b7c Update uvisor-tests.txt 2018-05-22 17:57:43 +01:00
Vincent Coubard cfe325cf0e BLE NRF51: Do not filter advertising packet in peripheral if the device as no bond. 2018-05-22 17:40:18 +01:00
Vincent Coubard ba61c09ffc BLE NRF51: Resolve private address on connection in peripheral role
Soft device inconsistency: The address is not resolved automatically if the device is a peripheral.
2018-05-22 17:39:03 +01:00
Vincent Coubard 755cf5fa5f BLE NRF51: Defer connection to a common function.
The soft device is not consistent as it is required to force the connection to a resolved resolvable address so it should be known if the  target is an identity address.
2018-05-22 17:37:57 +01:00
Vincent Coubard d427fcfb59 Nordic BLE: Remove dependency to mbedtls for CryptoToolbox::ah. 2018-05-22 17:33:49 +01:00
Yogesh Pande c520baeebf Remove ns_event_loop_thread_start() from NDInterface and ThreadInterface connect().
ns_event_loop_thread_start() is incorrectly used at connect() phase, the initial
setup is already done at init() phase and the eventloop thread is correctly initialized.

Also, the usage of ns_event_loop_thread_start() API should be behind MBED_CONF_NANOSTACK_HAL_EVENT_LOOP_DISPATCH_FROM_APPLICATION
flag as application can decide to use main thread for event loop, which will result in linker error for this API call in
case of ARMCC compiler.
2018-05-22 16:44:40 +03:00
paul-szczepanek-arm 69a0c10f00 removing erroneous (and redundant) check
this is gating on the wrong flag and the call doesn't require a check in the first place
2018-05-22 14:37:02 +01:00
paul-szczepanek-arm 08cb7aefd2 fix not writing flags in the file
flags kept with the rest of data for each entry
2018-05-22 14:08:09 +01:00
Martin Kojtal 02af950f62
Merge pull request #6336 from geky/fat-errors
fatfs: Update error code mapping
2018-05-22 14:27:01 +02:00
Martin Kojtal fc2f7fff95
Merge pull request #6757 from davidsaada/david_buffered_bd
Implement BufferedBlockDevice
2018-05-22 14:25:51 +02:00
paul-szczepanek-arm 84ff831141 measure file size with SEEK_END
I thought that's not portable but the rest of the codebase uses it so no reason not to
2018-05-22 12:25:11 +01:00
paul-szczepanek-arm 1cd0c20fd0 fix opening the file in the wrong mode 2018-05-22 12:11:07 +01:00
paul-szczepanek-arm 7d916a9997 fix not writing version number into the file 2018-05-22 11:45:38 +01:00
Kevin Bracey 6dffe6e4e7 Remove CellularInterface
This has been superceded by CellularBase. Name change occurred late
in review of https://github.com/ARMmbed/mbed-os/pull/4119 and
original unused CellularInterface was left behind.
2018-05-22 11:44:46 +03:00
Kevin Bracey 1c5bbaf4d8 Insert EMACInterface class
Rather than let "EthernetInterface" be the base EMAC NetworkInterface,
insert an "EMACInterface" class.

EthernetInterface then derives from EMACInterface and EthInterface.

A Wi-Fi driver can derive from EMACInterface and WiFiInterface - this
will be more logical than deriving from EthernetInterface and
WiFiInterface.

This does mean adding a couple of virtual inheritances to avoid
duplicate NetworkInterfaces:

                   NetworkInterface
                     /           \
            virtual /             \ virtual
                   /               \
             EMACInterface     WiFiInterface
                   \               /
                    \             /
                     \           /
                  MyCustomWiFiInterface
2018-05-22 11:44:45 +03:00
Kevin Bracey 0386f73719 Networking update: general refactoring, unifying EMAC
Initial work by Bartek Szatkowski in https://github.com/ARMmbed/mbed-os/pull/4079,
reworked following review of https://github.com/ARMmbed/mbed-os/pull/5202 to
transform the entire system into C++, retaining the basic functionality.

Bartek's summary:

* Porting ethernet to EMAC
* Updating EMAC to enable multiple interfaces
* Untangling networking classes, making the abstractions a bit clearer to follow, etc
* General refactoring
* Removal of DEVICE_EMAC flag and introducing DEVICE_ETH and DEVICE_WIFI

Revisions since initial branch:

* Remove lwip depencies
* Correct doxygen warnings
* Remove emac_api.h, replace with C++ EMAC abstract class.
* Create OnboardNetworkInterface, and LWIP implementation.
* Mappings since #4079
     lwip-interface/nsapi_stack_lwip.c -> LWIPStack.cpp
     lwip-interface/ipstack_lwip.c -> LWIPInterface.cpp
     netsocket/mbed_ipstack.h -> OnboardNetworkStack.h
     hal/emac_api.h -> EMAC.h
* Reinstate use of EthInterface abstraction
* Correct and clarify HW address EMAC ops
* Restore MBED_MAC_ADDR implementation
* Integrate PPP support with LWIP::Interface.
* Convert K64F lwIP driver to K64F_EMAC.

To do:

* Convert emac_stack_mem.h to follow this pattern.
* Figure out DEVICE_ETH/EMAC
* Update all drivers to use EMAC
2018-05-22 11:44:45 +03:00
Ron Eldor d2bcf3c356 Change target name
Apply the CC changes to TARGET_MCU_NRF52840 , and not to
the DK target alone
2018-05-22 09:24:37 +03:00
Cruz Monrreal db73ed0751
Merge pull request #6480 from davidsaada/david_nvstore_alloc_key
NVStore: add the allocate_key API (instead of set_alloc_key)
2018-05-21 17:32:00 -05:00
Cruz Monrreal cd1ff94db2
Merge pull request #6866 from geky/fat-erase-disk
fatfs: Add erase disk to format
2018-05-21 17:14:14 -05:00
Yossi Levy b95c5f79c0 Replace UINT16_MAX with (uint16_t)-1 because of build failure 2018-05-21 18:47:39 +03:00
Cruz Monrreal ab5d7e1c2f
Merge pull request #6952 from jeromecoutant/PR_MSP
STM32 ETHERNET : Allow user defined Ethernet PHY init functions
2018-05-21 10:25:06 -05:00
Cruz Monrreal a651cb220f
Merge pull request #6863 from k-stachowiak/update-mbedtls-2.9.0
Update Mbed TLS to version 2.9.0
2018-05-21 10:13:31 -05:00
Cruz Monrreal 16d30776aa
Merge pull request #6905 from kivaisan/remove_common_pal_flags
Lora: Remove obsolete FEATURE_COMMON_PAL flags
2018-05-21 10:11:20 -05:00
Vincent Coubard fb9e0dcbe7 BLE: Fix resolvable private address identification. 2018-05-21 15:30:19 +01:00
Vincent Coubard b973a8a490 BLE: Add default constructor to peer_address_type_t 2018-05-21 15:29:54 +01:00
Hasnain Virk 71348f7d65 Message flags correction
Uplink multicast is not allowed. Proprietary messages cannot be
of type unconfirmed and unconfirmed.
2018-05-21 16:16:58 +03:00
Vincent Coubard bdad5d6496 BLE Generic: Handle peer address type backward compatibility. 2018-05-21 13:29:06 +01:00
Vincent Coubard cc286fe84c BLE: Cordio pal: Handle enhanced connection events. 2018-05-21 13:22:53 +01:00
Vincent Coubard cbba6dd0d6 BLE PAL: Update connection event to support enhanced connection events. 2018-05-21 13:22:31 +01:00
Vincent Coubard 57ffa14b4b Nordic BLE: Backport privacy backward compatibility to NRF51 2018-05-21 13:21:46 +01:00
paul-szczepanek-arm 62ba220100 doxygen fix 2018-05-21 11:42:32 +01:00
Ron Eldor 23ba8bc1f5 Change Cryptocell target to a feature
Change the Cryptocell310 target to `FEATURE_CRYPTOCELL310`
2018-05-21 13:40:43 +03:00
paul-szczepanek-arm 17e8ed9401 forward resolving list init 2018-05-21 11:34:40 +01:00
Vincent Coubard 14a1095c31 Nordic BLE: Disable secure connection support on NRF51. 2018-05-21 10:34:09 +01:00
Vincent Coubard 4c1a309117 Nordic BLE: Set own resolvable address to NULL.
This address is not accessible to the application.
2018-05-21 10:22:01 +01:00
Vincent Coubard d962fc0174 BLE: factor code in GAP. 2018-05-21 10:20:43 +01:00
Vincent Coubard 28766bd873 BLE: Do not pass peer resolvable address in connection event handler 2018-05-21 10:17:44 +01:00
paul-szczepanek-arm cd9f12ab45 return error codes 2018-05-18 13:59:30 +01:00
paul-szczepanek-arm ace491d430 remove duplicate call 2018-05-18 13:54:15 +01:00
paul-szczepanek-arm 9da64e529e refactor into separate functions for readability and correctness of pal matching db 2018-05-18 13:46:55 +01:00
jeromecoutant 7622083da9 STM32 ETHERNET : Allow user defined Ethernet PHY init
If user adds USE_USER_DEFINED_HAL_ETH_MSPINIT macro in the json config,
he can implement his own HAL_ETH_MspDeInit and HAL_ETH_MspDeInit functions.
2018-05-18 14:42:27 +02:00
paul-szczepanek-arm 439d002f7d new API call to change db at runtime 2018-05-18 12:34:52 +01:00
paul-szczepanek-arm 608ad338e8 return error when not initialised 2018-05-18 10:24:16 +01:00
Vincent Coubard c3bcd10cfd BLE NRF52: Implement features related to peer_address_t
The overload of Gap::connect that accept peer_address_t has been added and gap connection and advertising report process have been updated to exploit peer_address_t in a backward compatible fashion.
2018-05-18 10:09:07 +01:00
Vincent Coubard d361960aa3 BLE: Use peer_address_type_t instead of the legacy address in security manager. 2018-05-18 10:04:27 +01:00
Martin Kojtal 79640c6a88
Merge pull request #6940 from JanneKiiskila/nvstore-thread-mstr
NVStore - remove Thread.h include
2018-05-18 09:05:05 +01:00
Cruz Monrreal 4b721583b5
Merge pull request #6559 from davidsaada/david_flash_sim_bd
Implement FlashSimBlockDevice - flash simulated block device over RAM
2018-05-17 21:54:34 -05:00
paul-szczepanek-arm a8ac925b4f privacy doxygen overview 2018-05-17 16:48:49 +01:00
Christopher Haster 5efda4b922 fatfs: Fixed ENOTEMPTY error for removing a directory 2018-05-17 10:26:32 -05:00
Christopher Haster 6d4190bd0b fatfs: Update error code mapping
A lot of the error codes in fatfs were mapped incorrectly. This patch
revisits the error code mapping to try to correct these mistakes.
2018-05-17 10:26:32 -05:00
Cruz Monrreal 54ac02b080
Merge pull request #6865 from jamesbeyond/greentea_fix
fix greentea-client, require a character input between K-V pairs
2018-05-17 10:07:41 -05:00
Cruz Monrreal bce32b097e
Merge pull request #6876 from JuhPuur/master
Nanostack release for Mbed OS 5.9
2018-05-17 10:07:21 -05:00
paul-szczepanek-arm 7e69444458 security manager doxygen overview updated 2018-05-17 14:10:57 +01:00
Vincent Coubard a052afdd40 BLE: Update APIs to take advantage of ble::peer_address_type_t
Deprecation:

* Gap::AdvertisementCallback::addressType has been deprecated in favor of Gap::AdvertisementCallback::peerAddrType.
* Gap::ConnectionCallbackParams::peerAddrType has been deprecated in favor of Gap::ConnectionCallbackParams::peerAddressType.
* Gap::ConnectionCallbackParams::ownAddr has been deprecated in favor of nothing else as this information may be not available.

Overloads added to accept a peer_address_t:

* Gap::connect
* Gap::processConnectionEvent
* Gap::processAdvertisingReport
2018-05-17 13:27:15 +01:00
Janne Kiiskila 16a27a2602 NVStore - remove Thread.h include
As this include is not actually needed. Having it will cause issues
with the bootloader, as this will cause a need to get the full
CMSIS/RTOS package etc., which would bloat the bootloader size.
2018-05-17 13:07:59 +03:00
Vincent Coubard 0eb680a08b GenericGap: Revert changes introduced to accomodate privacy. 2018-05-17 10:56:29 +01:00
Vincent Coubard 7f05fc0e00 BLE: Define peer_address_type_t
This type model a peer address, unlike BLEProtocol::AddressType, it is compatible with privacy concepts.
2018-05-17 10:30:24 +01:00
Vincent Coubard e5d91932fd BLE: Revert address type changes.
The changes made to BLEProtocol::AddressType was not entirelly backward compatible as BLEProtocol::AddressType split random addresses in three category while the type RANDOM is a superset of these types.
2018-05-17 10:26:04 +01:00
Ari Parkkila 3abfa4531f Cellular: Removed obsolete FEATURE_COMMON_PAL flag from trace 2018-05-17 09:41:49 +03:00
Ari Parkkila 6a3dce839e Cellular: Updated coding guidelines 2018-05-17 09:02:54 +03:00
paul-szczepanek-arm b845a9dc95 fixed doxygen 2018-05-16 17:24:17 +01:00
paul-szczepanek-arm 57a02d6329 fixed signature 2018-05-16 16:54:47 +01:00
Vincent Coubard 37c036ca6b Nordic: Port privacy to softdevice v4.
Many things have changed; the identity list isn't shared anymore with the whitelist and resolution is handled by the stack itself.
2018-05-16 16:16:06 +01:00
Vincent Coubard 6c44a78166 Merge branch 'master' of https://github.com/ARMmbed/mbed-os into security-manager-dev 2018-05-16 15:55:15 +01:00
Donatien Garnier ad09ba0dcc Fix handling of security escalation in on_connection_complete() 2018-05-16 13:54:25 +01:00
Ron Eldor 800f71cbd5 Add space
Add space which was lost in previous commit
2018-05-16 14:56:40 +03:00
Yossi Levy 492dc9f1fc Remove uneeded variables 2018-05-16 14:48:30 +03:00
Donatien Garnier 3f7a7a4213 Merge 2018-05-16 12:44:36 +01:00
Donatien Garnier 7ef7ef553c Fix is_random_xxx_address() functions in GenericGap that I had broken :) 2018-05-16 12:04:04 +01:00
Donatien Garnier 1fdb57e82c Removed set_privacy() API and added is_privacy_supported() check to PAL + Generic GAP 2018-05-16 12:02:21 +01:00
Ron Eldor a1ea814f06 Minor style fixes
Fix styls issues and rename ARM to Arm.
Address additional minor comments from review.
2018-05-16 13:58:46 +03:00
paul-szczepanek-arm 1ae13bc80f don't reset db on security manager reset as the docs require 2018-05-16 11:46:36 +01:00
Yossi Levy d816937975 Remove unnecessary remark 2018-05-16 13:24:46 +03:00
paul-szczepanek-arm bcca75973e reseting the security db 2018-05-16 11:23:17 +01:00
paul-szczepanek-arm c2bbc94b44 handle init of an already initialised security db 2018-05-16 11:01:37 +01:00
Ari Parkkila a146e0e7ff Cellular: AT debugging improved 2018-05-16 12:39:30 +03:00
Yossi Levy bf9b2cb6c7 Fix for generate_key_by_trng 2018-05-16 12:17:20 +03:00
Yossi Levy d88f4b3084 Stricter parameter check 2018-05-16 11:44:45 +03:00
Vincent Coubard afcbdfc7dc Merge branch 'security-manager-dev' of https://github.com/paul-szczepanek-arm/mbed-os into filedb 2018-05-16 08:43:52 +01:00
Donatien Garnier 288c3952d8 Address Paul's comments 2018-05-15 18:37:50 +01:00
paul-szczepanek-arm 5c598688e4 templates for reading and writing to avoid repetition 2018-05-15 16:35:54 +01:00
Cruz Monrreal 991d4613b7
Merge pull request #6744 from AriParkkila/yield-to-wait
Cellular: Changed ATHandler yield to wait
2018-05-15 10:08:49 -05:00
Vincent Coubard 2cb6e659a9 Nordic BLE: Backport security fixes from nRF5 to nRF5x 2018-05-15 15:11:33 +01:00
Vincent Coubard ca5a9f359a Nordic BLE: remove unecessary nordic ble libraries. 2018-05-15 14:51:19 +01:00
Vincent Coubard a22b4e5d5e Nordic BLE: Remove nordic gap init.
This initialization is already done in GattServer.
2018-05-15 14:51:18 +01:00
Vincent Coubard dd6a5350e2 Nordic BLE: Remove peer manager handling. 2018-05-15 14:51:18 +01:00
Vincent Coubard 6f24078507 Nordic BLE: route event handling correctly. 2018-05-15 14:51:18 +01:00
Vincent Coubard 167a660ac1 Nordic BLE: use pal security manager. 2018-05-15 14:51:18 +01:00
Vincent Coubard 31f8cd18f7 Nordic BLE: Backport Gap from nRF5 2018-05-15 14:51:18 +01:00
Vincent Coubard 39396955a2 Nordic BLE: simplify whitelist management. 2018-05-15 14:51:17 +01:00
Vincent Coubard 6810c02606 Nordic BLE: Fix processing of events.
If new events are signaled during processing then they should be processed when processEvent is called again. The goal is to let other processing happen and not process sollely ble events.
2018-05-15 14:51:17 +01:00
Vincent Coubard 8fbecf2e0d Nordic BLE: Fix incorrect assignement 2018-05-15 14:51:17 +01:00
Vincent Coubard 68b3288ba8 Nordic BLE: Fix signature of nRF5xGattServer::hwCallback 2018-05-15 14:51:17 +01:00
Vincent Coubard 4a7c9a9a55 Nordic BLE: expose publically btle_handler 2018-05-15 14:51:17 +01:00
Vincent Coubard 2af5508c4c Nordic BLE: Do not conditionnaly assign sm key pointers.
This change has been forced by a change in latest softdevice that requires all key pointers to not be NULL unlike what is indicated in the documentation.
2018-05-15 14:51:17 +01:00
Vincent Coubard dc54da0a2d Nordic BLE: Force signing and link requirements to false. 2018-05-15 14:51:16 +01:00
Vincent Coubard 02e3c13d25 Nordic BLE: Protect event signaled flag. 2018-05-15 14:51:16 +01:00
Vincent Coubard f7f1272647 Nordic: Backport security manager pal for NRF5X targets. 2018-05-15 14:51:15 +01:00
Vincent Coubard 4acb3937e4 Cordio BLE: Fix potential memory leak in GattServer. 2018-05-15 14:32:29 +01:00
Kimmo Vaisanen 3094327e12 Lora: Remove obsolete FEATURE_COMMON_PAL flags
mbed-trace no longer requires COMMON_PAL to be enabled.
2018-05-15 16:08:30 +03:00
Vincent Coubard ee720f30bb BLE: Comment security requirement elevation for signed writes. 2018-05-15 12:17:59 +01:00
Vincent Coubard 2c7ed993ec BLE: Fix security requirements in GattCharacteristic. 2018-05-15 12:17:34 +01:00
Vincent Coubard 2860365a3c BLE: Improve readibility of condition. 2018-05-15 12:16:51 +01:00
paul-szczepanek-arm 49db7e2a2a restoring db file blanks file if set to not restore, allow reusing the db 2018-05-15 11:46:39 +01:00
paul-szczepanek-arm f8244a3d87 review comments, init partly moved to restore, restore setting enabled, null check on filepath 2018-05-15 10:24:59 +01:00
Cruz Monrreal 80e109370d
Merge pull request #6892 from hasnainvirk/bug_fix
LoRaWAN: Wrong type of message check
2018-05-14 17:35:32 -05:00
Christopher Haster 2697ebeb21 littlefs: Map LFS_ERR_CORRUPT to EILSEQ
Previously EBAD (invalid exchange), mapping the error CORRUPT to EILSEQ
(illegal byte sequence) makes more sense as a description of the type of
error.
2018-05-14 14:13:26 -05:00
Yossi Levy 1cb43fa020 Fixing trng_get_bytes return status 2018-05-14 20:01:47 +03:00
David Saada df7fb1667d Implement BufferedBlockDevice
Block device allowing smaller read and program sizes for the underlying BD,
using a cache.
2018-05-14 19:25:41 +03:00
David Saada c90182a02c NVStore: add the allocate_key API (instead of set_alloc_key)
Add the allocate_key API. This replaces the previously added set_alloc_key API
(which allocates a key and sets the value at the same time).
Reason for the change: Key allocation will typically be used by other storage
features (like StorageLite), keeping the allocated keys in another location.
Previous API created problems in the case key allocation and value setting
couldn't be done at the same time (for instance, if the set value was
derived from the allocated key, such as hash or CMAC).
2018-05-14 19:00:46 +03:00
Christopher Haster e77d57e0bc fatfs: Added erase disk to format
Right now, many users are trying out many different filesystems.
Unfortunately, this can leave partially written filesystems on disk
in various states.

A very common pattern for using embedded filesystems is to attempt
a mount, and on failure, format the storage with the filesystem.

Unfortunately, this simply doesn't work if you try to change the
filesystem being used on a piece of storage. Filesystems don't always
use the same regions of storage, and can leave enough metadata lying
around from old filesystems to trick a different mount into thinking a
valid filesystem exists on disk. The filesystems we have were never
designed to check for malicious modification and can't protect against
arbitrary changes.

That being said, it's caused enough problems for users, so as a
workaround this patch adds a disk erase to the FAT filesystem format.
The most common error happens when you use LittleFS, followed by FAT,
followed again by LittleFS.

No other combination of filesystem usage has shown a similar failure,
but it is possible after extensive filesystem use, so it is still
suggested to force a format of the storage when changing filesystems.
2018-05-14 10:54:01 -05:00
Cruz Monrreal 9fd04c4a37
Merge pull request #6839 from kivaisan/fix_lora_au915_build
Lora: fix AU915 build
2018-05-14 10:52:18 -05:00
Cruz Monrreal 6db9a8bb62
Merge pull request #6875 from kivaisan/fix_batterylevel_callback_v2
Lora: Fix battery_level callback
2018-05-14 10:45:03 -05:00
Cruz Monrreal 9923899a8e
Merge pull request #6883 from anttiylitokola/master
Update mbed-coap to version 4.4.3
2018-05-14 10:39:17 -05:00
Cruz Monrreal 506f9a8905
Merge pull request #6882 from kjbracey-arm/lwip-tcp-ooseq
lwIP: Enable TCP out-of-order processing
2018-05-14 10:36:08 -05:00
Juhani Puurula 8bede897e6 Merge commit '03edf998fa6142cb5e3d4c28154c9bdfea98105f'
* commit '03edf998fa6142cb5e3d4c28154c9bdfea98105f':
  Squashed 'features/nanostack/coap-service/' changes from 36d36ce..1cb994e
2018-05-14 17:08:10 +03:00
Donatien Garnier 6c6af1b0d5 Added missing masks and fixed bit ordering in is_random_xx_address() functions 2018-05-14 13:59:32 +01:00
Donatien Garnier d8b63fc03d Reordered initializers in GenericGap 2018-05-14 13:53:50 +01:00
Donatien Garnier 67ec6323fc Added update_random_address() implementation in GenericGap 2018-05-14 13:52:29 +01:00
Donatien Garnier 3523cdb264 Missing initializer in GenericGap 2018-05-14 13:37:37 +01:00
Donatien Garnier 472d3de849 Give GenericGap access to the Security Manager's PAL 2018-05-14 13:36:02 +01:00
Donatien Garnier a3d9d6cebd Business logic for handling non-resolvable private addresses 2018-05-14 13:26:39 +01:00
Bartek Szatkowski 38df9306d7 Update wsf_types.h to support updated CMSIS 2018-05-14 12:18:21 +01:00
Yossi Levy 789eb04617 Changed trng loop condition 2018-05-14 14:07:57 +03:00
Yossi Levy 73d1c8df93 Fix of error macros 2018-05-14 13:52:20 +03:00
Qinghao Shi d48d3aff2b fix a bug in greentea-client
reset "LastChar" after "tok_close" received
fix the bug where greentea-client require a character input between K-V pairs
2018-05-14 11:41:14 +01:00
Hasnain Virk d270105fa8 LoRaWAN: Wrong type of message check
In the reception data path, we needed to check the MCPS CONFIRMATION type
not the MCPS INDICATION type. Indication message type is for downlink message type
which can be UNCONFIRMED even if we have sent a CONFIRMED one, e.g., an ACK.
2018-05-14 13:36:38 +03:00
Ron Eldor adbfdc1149 Remove SW fallback for CCM
Remove SW fallback for CCM mode, and return
`MBEDTLS_ERR_AES_FEATURE_UNAVAILABLE` when trying to set a key
which is not 128 bit size.
2018-05-14 13:15:57 +03:00
Ron Eldor ccaef16f6a Remove AES HW acceleration
Remove AES HW acceleration, as it is targeted future version
2018-05-14 13:15:57 +03:00