Att data structure passed to read_type callback wasn't set properly
with connection data. This cause parsing att struct set to 0 (casted
in cb, set in att_read_type_rsp). Wrong att data caused parsing wrong
mtu size and whole conn structure.
Change-Id: Ib0aa4b8edca4965afd746e7186a08cfa34e62cf3
Signed-off-by: Grzegorz Kolodziejczyk <grzegorz.kolodziejczyk@tieto.com>
UUID format in 4-byte hex is more readable format than unsigned int.
Change-Id: I5e7fa3771d628705b9991c0064c102313573b8e4
Signed-off-by: Grzegorz Kolodziejczyk <grzegorz.kolodziejczyk@tieto.com>
The net/ip/contiki/tools directory was not in proper place
as it contains also non Contiki code. The net/ip/tools is
a more suitable location.
Change-Id: I1eb621680d4247d56d67ea977120f3c67c013599
Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
The observe client routines need to allocate a net_buf that
will hold the sent UDP data.
Change-Id: Ia04aacdde266aa93de1b9941eeed0c8292ca83b8
Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
When a transaction is retransmitted, we need to allocate a
net_buf that will hold the actual UDP packet to be sent.
Change-Id: Ie0d51694b5531938cd1da5c330a308e3e9fd1764
Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
Add coap_context_connect() function so that client can use
it both in DTLS and normal connections.
Change-Id: Ibd8cff904e79a97f97ed6ff20d92078eff110e35
Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
Use only integer arithmetics when calculating the timeout
value.
Change-Id: Ifc61e1eee4a9a680e9c4f8c89f146417d6cc5ba4
Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
If the transaction allocation fails, then print additional
information in order to find the place of the failure.
Change-Id: Idd59969b2c5eff53170b51a471583ec8c837416a
Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
The mid needs to be init from server and client code so
create a new function for it.
Change-Id: I662b64c207ac69288648ffbdc950896edd5ade52
Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
Refactor etimer and timer Contiki APIs to use the native
Zephyr timers. The Contiki way did not work well anyway
as we do not really have the process concept in Zephyr.
Change-Id: I14743707f3cf43eddfe914717b069204cde4bd65
Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
The clock_seconds() API returned wrong number of seconds since
initialization.
Change-Id: I4f0f6197327f4ebe12e2c37588d9611ec40d7643
Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
Print additional information about how many net buffers
are available when allocating (get) or de-allocating (put)
them. The prints are only available if Kconfig option
CONFIG_NETWORKING_WITH_LOGGING is set.
Change-Id: I85e6a5813356d8fe00f0ba633c3ebf5379e56bff
Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
Have a separate network buffer pool for received and transmitted
data. This way incoming packet flood cannot prevent from sending
IP packets out.
Change-Id: I2aae3bcb4ea63f36355f758de44532b167edfdb8
Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
Add simple CoAP client that can be used to test
the CoAP server running in Zephyr inside qemu.
The coap-client is run in the host.
Change-Id: I50e4b0e13aa657a0d805b0438050b8b9187d3839
Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
Adding CoAP client support to Kconfig and Makefile.
Change-Id: I857169feac8b6c4347af4369b0cdfb806c6aedb0
Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
Add CoAP switches to Kconfig and enable them in Makefile.
Change-Id: I3d5e18f34c0ab0853838c2e883748dd4ae62aed2
Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
The use of CoAP context is needed as we do not have
global buffers any longer. This commit adds support
for CoAP context when user does not have DTLS enabled.
Change-Id: Ief716e2a3290bd1f7e5a3286a20deba690b3c1c5
Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
Make the DTLS code in CoAP context to work in Zephyr.
Change-Id: I0c9cd30a02fa6b3f0221f78e1dadd1d476bad646
Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
Initial port of er-coap code into Zephyr.
Change-Id: Icb45903387eb08418a3610c1bd0933a9a9c6f8dd
Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
Use the debug macros from uip-debug.h so that they are
in one place.
Change-Id: I342d727d4c6af9a655729db6245668968bee4b07
Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
This is originally from git@github.com:YanziNetworks/netcontiki.git
commit e7d7ee5b142fb7b0695677dac9cc1899620b0fe0
Change-Id: I606b26420b9df841f03bc955039f25970553e481
Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
This is originally from git@github.com:YanziNetworks/netcontiki.git
commit 02bb8eed066c012b4b6033cbe17a31ff15879a24
Change-Id: I4b19302266a6ff562532c493bb34b7cd9a27ee5d
Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
conn->dst might already contain identity address from previous
pairing. In order to store IRK distributed in new pairing we
should check address used in connection.
Change-Id: If4bfaf445d31684125246cc98cfad1aab45875ca
Signed-off-by: Szymon Janc <ext.szymon.janc@tieto.com>
This callback is called if security level of a connection was changed.
Change-Id: I268da245cf4b7f6d2bfbd57969ce2da6c34fc69f
Signed-off-by: Szymon Janc <ext.szymon.janc@tieto.com>
bt_conn role can be set when LE Connection Complete event is received.
Controller indicates to both Hosts forming the connection their role
in this connection.
Change-Id: I35455eff54afa30665611415ac52e19089f2e649
Signed-off-by: Mariusz Skamra <mariusz.skamra@tieto.com>
This callback is called if identity was resolved for remote device
that was using Resolvable Private Address while connection. From
now on only Identity Address is used.
Change-Id: I5976be575a8e4ad8c13f56d7bc274d751ae37511
Signed-off-by: Szymon Janc <ext.szymon.janc@tieto.com>
Since initiator and responder addresses are already tracked it is
no longer needed to store source address in bt_conn structure.
Change-Id: I048e4d4659f4b7d29b101f9f3c5708f66c773906
Signed-off-by: Szymon Janc <ext.szymon.janc@tieto.com>
When remote device initiate pairing but its IRK is already known
identity address was used to calculate confirmation value. This
resulted in 'Confirm Value Failed' error and pairing failure.
To avoid any confusion simply track initiator and responder addresses
used for connection.
This fix re-enabling security with iPhone if device was unpaired
only on iPhone side.
Change-Id: I07d9589bee5fea7f6b028472b1709090a5755e31
Signed-off-by: Szymon Janc <ext.szymon.janc@tieto.com>
When sending security request for connection with pending high
security level, authentication requirements should indicate that
MITM is required.
< ACL Data TX: Handle 64 flags 0x00 dlen 6
SMP: Security Request (0x0b) len 1
Authentication requirement: Bonding, MITM, Legacy,
No Keypresses (0x05)
Change-Id: Ie78e021726063b0eee415bfa7189962fe0b2d94b
Signed-off-by: Szymon Janc <ext.szymon.janc@tieto.com>
When re-pairing was successful (indicated by enabling encryption with
STK) old keys are no longer needed as those will be replaced by keys
distributed in new pairing.
Change-Id: If2a81e8e94f35eb04ce9a7e4d782094632cbd77a
Signed-off-by: Szymon Janc <ext.szymon.janc@tieto.com>
The -i (interface) option was not described in usage.
Change-Id: I50d01f0e639d3258234c5573abd8836a7144584e
Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
Add note about possible firewall issue in host.
Make sure you run echo-server as a root user.
Change-Id: I9ebe06db799eef8664d7d7ccb38827280e338f9d
Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
So return 0 if all the tests run ok, and !=0 if some failed.
Change-Id: Ib66d84dbcc6cc29e5e46609b1e2b1b1748ce6fcc
Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
Print information who allocated or freed mac net buffer.
Change-Id: I106e1703b7f5c3e5363d53d63c599a12b65577cb
Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
Use more generic stack analyze functions that are now
found in net_buf.h
Change-Id: I473665bbad8aa1a6749a4c5dc1d6952bdb56da5d
Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
Generalize the stack analyze functions so that they
can be used by other fibers.
Change-Id: If1fae51db45010b75f6ac58cd8d874b31ca336e2
Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
Make sure we are not trying to release a NULL net_buf.
Change-Id: Ie4d2e7cdbd4f85c5543874471cc7c7ce3bc0b9df
Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
If the net_buf allocation fails, then return and do not
try to access it.
Change-Id: Ib4c4a0b3a6669f6e6030357f3f2dd9af4dc638c8
Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
Use the new NET_BUF_IP() and NET_BUF_UDP() macros to access
IP and UDP data in the received network buffer.
Change-Id: Ic35ddf6fa8641aa6334b1207a8c2f1f19a39866f
Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
Fail if we have keys that are stronger than keys that will be
distributed in new pairing. This is to avoid replacing authenticated
keys with unauthenticated ones.
Change-Id: If81b158f68a818d7a6e5d2854b482f34516b4737
Signed-off-by: Szymon Janc <ext.szymon.janc@tieto.com>
Keys from same pairing have are of similar key type and
this can be stored in single place.
Change-Id: I38426c282604769424098af6ee26e0cf9cb5f358
Signed-off-by: Szymon Janc <ext.szymon.janc@tieto.com>
There is no need for separate lists of each key type as this
lookup optimization is of little benefit. Removing those results in
much simpler and smaller code. Using array over list also improves
data locality and thus cache utilization.
This patch results in following code size reduction:
keys.o from 14208 to 10028 bytes
microkernel.elf from 599417 to 597091 bytes
Change-Id: Ia8fe21ca3d79f668d8550c4376fa403e8778861e
Signed-off-by: Szymon Janc <ext.szymon.janc@tieto.com>
Ensure smp->remote_dist tracks unreceived PDUs both for slave and
master role, and use the same logic in all PDU handlers for
remote_dist and allowed_cmds.
Change-Id: If4769d0be0118e8e764d7483f0d93ef8b61fa398
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
Other function name was used "bt_gatt_attr_read_included" by include
than the implementation "bt_gatt_attr_read_include" has.
Function naming mismatch caused linker error if used included service
define.
Change-Id: Ib4b4d07050d634cb1578c8a8948322acad85a307
Signed-off-by: Grzegorz Kolodziejczyk <grzegorz.kolodziejczyk@tieto.com>
This fix following build error:
CC net/bluetooth/hci_core.o
In file included from net/bluetooth/hci_core.c:43:0:
net/bluetooth/hci_core.c: In function 'update_conn_params':
net/bluetooth/hci_core.c:751:49: error: 'evt' undeclared
(first use in this function)
BT_DBG("status %u, handle %u,features 0x%x\n", evt->status, handle,
Change-Id: Ic3c15d17c73b26d44913327df577495afc80f356
Signed-off-by: Szymon Janc <ext.szymon.janc@tieto.com>
Adds host bits to initiate LL LE Exchange Feature procedure if
supported. Both the master and slave can initate it for controllers
newer than 4.0. For 4.0 controllers only master can do that.
Inform upper stack layers of the slave about the connection is ready
to use only when LE Exchange Feature isn't supported. Otherwise
upper layers shall be notified about new connection when Connection
Parameters Update procedure is finished.
Change-Id: Ief29744e498873f79fc6f62f98c083fecaeae24e
Signed-off-by: Arkadiusz Lichwa <arkadiusz.lichwa@tieto.com>
Signed-off-by: Mariusz Skamra <mariusz.skamra@tieto.com>
Since then bt_conn_connected as well as bt_l2cap_disconnected callback
can be called from bt_conn_set_state directly.
Also connected cb could be called from there, however
eg. introduction of some additional state is required TBD.
Change-Id: Ida6906272e1468ef5b41ba8dba2a936db049d308
Signed-off-by: Mariusz Skamra <mariusz.skamra@tieto.com>
Makes bt_l2cap_update_conn_param to return an error if command was not
sent.
Change-Id: Ie7351040bd371bb161afc2f2a2c10e015bcdc8e4
Signed-off-by: Mariusz Skamra <mariusz.skamra@tieto.com>
There is no need to have sparate bool in context structure while
flags field is available.
Change-Id: Ib1bcf9794c32268897b0a873787566a620f3097b
Signed-off-by: Szymon Janc <ext.szymon.janc@tieto.com>
If ref is zero other struct bt_conn fields should be considered
garbage. Using ref count instead of address is also faster.
Change-Id: Ic3b30c0fdbce8f93f81095d3671be0e54eac1455
Signed-off-by: Szymon Janc <ext.szymon.janc@tieto.com>
If slave is requesting MITM protection verify if LTK is authenticated
before enabling encryption.
Change-Id: I6642f88945b0ca0310880935edbcfa2a6764c8d8
Signed-off-by: Szymon Janc <ext.szymon.janc@tieto.com>
If authenticated key was used for encryption resulting security
level is high. If resulting security level is lower then
requested level link is disconnected.
Change-Id: Ib66f722e6bb52e943d2b5cefb58f018707ce725b
Signed-off-by: Szymon Janc <ext.szymon.janc@tieto.com>
If high security is required but keys are unauthenticated start
pairing instead of encrypting with too weak keys.
Change-Id: I35e5f0c1ab86660479288908152d61823ffb102e
Signed-off-by: Szymon Janc <ext.szymon.janc@tieto.com>
There is no point in initializing security if required security level
is not reachable due to local IO capabilities.
Change-Id: I00d3cc552fcce4d1aac9498c90dcd826735dcb2b
Signed-off-by: Szymon Janc <ext.szymon.janc@tieto.com>
This allows to store information if key was generated during
authenticated or unauthenticated pairing.
Change-Id: Idd398749c869e6278bf10909cfb768ba09565d54
Signed-off-by: Szymon Janc <ext.szymon.janc@tieto.com>
This monitor_15_4 tool is run in the host side. It will connect
to Zephyr via UART using pipes. Test app1 in qemu send data
through the uart and pipe, this tool read data from pipe1
and writes it to pipe2 where test app2 running in qemu2
will read data from it and vice-versa. In between tool store
data in pcap format for further wireshark packet analyzation.
Change-Id: If5c998591edf4253fbd5e249c6c9e48fa1792715
Signed-off-by: Ravi kumar Veeramally <ravikumar.veeramally@linux.intel.com>
Cache input type and validate TLV according to it. Check
uart_send return values.
Change-Id: Ib1f784a776176763773fead2d464330a4325ba19
Signed-off-by: Ravi kumar Veeramally <ravikumar.veeramally@linux.intel.com>
If JustWorks pairing is used for pairing don't report failure.
Change-Id: I23cee54a74dd021c1f273d987ca67066452d7801
Signed-off-by: Szymon Janc <ext.szymon.janc@tieto.com>
Flags for indicating if stored TK is valid and if confirm sending
was delayed are required for properly handling passkey entry input.
This is to avoid using incorrent TK or sending SMP commands in invalid
order.
Change-Id: I11e162331e93311f292f0723fc9f860c753d7d96
Signed-off-by: Szymon Janc <ext.szymon.janc@tieto.com>
This allows to request passkey being entered by user.
Change-Id: I6a56c65ca689473659a13c19f8578058476d2685
Signed-off-by: Szymon Janc <ext.szymon.janc@tieto.com>
This allows to track which pairing method was used and is
a preparation for storing information if resulting keys
are authenticated.
Change-Id: Ib9fc762d19bd4add6f0b431745eeb9e2780016d4
Signed-off-by: Szymon Janc <ext.szymon.janc@tieto.com>
This makes the code more consistent by always trying to name bt_buf
variables as buf.
Change-Id: I10d54260c5cf2f6aea5300668d5eb68f3da2a8ba
Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
This dtls-server app is run in the host side. It will
connect to Zephyr via UART using SLIP. The app will
listen DTLS data in socket 4242 and will reverse the returned
bytes and send them back to the sender. The application
supports both IPv4 and IPv6 protocols.
Change-Id: I8d37b0d3318bf6a3a5365e7d2c64eae83a1f3285
Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
The option NET_BUF_SIZE was all over the place due to
missing dependency. Use menuconfig for networking and
put everything inside an if statement.
Change-Id: Id61d777cd4079a2a0a8975b7f32fdd795557fb3a
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
The term 'context' is vague and overloaded. Its usage for 'an execution
context' is now referred as such, in both comments and some APIs' names.
When the execution context can only be a fiber or a task (i.e. not an
ISR), it is referred to as a 'thread', again in comments and everywhere
in the code.
APIs that had their names changed:
- nano_context_id_t is now nano_thread_id_t
- context_self_get() is now sys_thread_self_get()
- context_type_get() is now sys_execution_context_type_get()
- context_custom_data_set/get() are now
sys_thread_custom_data_set/get()
The 'context' prefix namespace does not have to be reserved by the
kernel anymore.
The Context Control Structure (CCS) data structure is now the Thread
Control Structure (TCS):
- struct ccs is now struct tcs
- tCCS is now tTCS
Change-Id: I7526a76c5b01e7c86333078e2d2e77c9feef5364
Signed-off-by: Benjamin Walsh <benjamin.walsh@windriver.com>
Include all headers to signature verification process.
Change-Id: I14e152e8529bca380faeb8e9a1be00e4e8d84f9a
Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
Verify that message is signed correctly using early distributed CSRK
key.
Change-Id: I30b24e90f3503907449c310dd4f59f32e6acca6f
Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
Add support for signed write with sign parameter for write without
response.
Change-Id: I79008532d88b10d34db1f68898ad4258dd3e761b
Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
cnt is in le byte order so print keys->remote_csrk.cnt instead.
Change-Id: I2c2970f0bdf91960d978fea248bc0dbc23fdfd53
Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
bt_smp_sign_packet() signs data packet adding signature and count at
the end of data.
Change-Id: I6cca931cf33d74a765f4b4aa126aae10bee7ef4c
Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
This adds validation for passed callbacks. Previously registered
callbacks need to be explicitly unregistered by passing NULL.
It is no longer possible to implicitly overwrite callback
structure.
Input Output Capabilities generation is factored out to separate
function. This is in preparation for adding more callbacks.
Change-Id: Ie809ea2daa80f9c54585efb459b49af1107007d3
Signed-off-by: Szymon Janc <ext.szymon.janc@tieto.com>
This allows to register agent with display capability resulting
in DisplayOnly InputOuput Capability being used.
Change-Id: I98931af35c51a71882b60303c0f5d4da19eefbc4
Signed-off-by: Szymon Janc <ext.szymon.janc@tieto.com>
This dtls-client app is run in the host side. It will
connect to Zephyr via UART using SLIP. The app will
send data to server using the established DTLS connection.
The dtls-server will echo the data back and dtls-client
will verify that it got back same bytes that it sent
to server.
Change-Id: Ia18d75e887b38e08bc06b660c60dac4043f7d605
Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
This will print incorrect warning if we have tinyDTLS
server functionality in use.
Change-Id: I21689b69190621329ee7ae2c7ebe6577937c561a
Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
This is not a likely scenario but make sure that we
return NULL if there are problems when user is trying
to receive network packets.
Change-Id: I637306d127d20a95c4a2f420b9a3061b707311c2
Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
Print error if IP stack is corrupted, best option would
be to reboot the device.
Change-Id: Ie92782de2fe0f323c9461fa21e90e545ccd23449
Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
Use the data length in net_buf as a master value when
replying the data.
Change-Id: I2184890b0ed8d26b700ee75b9e4b6d5a466e649c
Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
Make sure that the default link MTU for IPv6 networks
is used (1280 bytes). If this is left out the default would
be 128 bytes. This setting is only needed because the values
are used in tinyDTLS project.
Change-Id: I6873b8383be6355d616910aa58a03317e92dc8f8
Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
Use net_buf when sending data in order to allow bigger
messages to be sent. Earlier the max. msg length was
200 bytes, now it is 1280 bytes.
Change-Id: Id5550de45b61c6fa6410258776cd8240efb1570e
Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
Using appdata pointer is more logical here. There was no
error in earlier code either.
Change-Id: Ic1557f01b2b016484d75fdff00f3fc02c9debac5
Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
Instead of having IP address and UDP port as separate fields
in session struct, place them inside an address struct.
This way the session size field will have a proper size
and we can use the dtls_session_init() function when initializing
the session.
Change-Id: I0560750bdd7189e24bf720a3bad240df2a3fc7fe
Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
The PROCESS_CONTEXT_END() macro used wrong variable. This is
only cosmetic as the variable is not used in macro but for
consistency use the proper variable name.
Change-Id: Ia9537f4c78e6573b955fd91482e033d96cdaf66b
Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
Use sys_clock_ticks_per_sec that is defined from Kconfig,
to set the Contiki clock.
Change-Id: I1d0198fb39e83a59258b7c067107c25b63db50ed
Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
User is able to enable tinyDTLS support via Makefile.
Change-Id: I383bf69756fe3540b63bcd5793e2a1a31231d6b1
Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
This is originally from git@github.com:YanziNetworks/tinyDTLS.git
commit d7ca5120e7e853f76e9743db2a0236a26ba71363
Change-Id: I6e6c2da76e11b473ead1b0ddac929f8bd670d7e3
Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
bt_smp_sign_verify() checks signature if csrk is present.
Change-Id: I90be8be769539860a245b141bf27549a3506a111
Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
Sign data using AES-CMAC algorithm and add test to self-tests executed
at init.
Change-Id: If01ec38a9897f74c26d1ba5c32304114d208549a
Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
Make menuconfig screen more logical placing self-tests option inside
Bluetooth block. Currently self-tests looks not belonging to
Bluetooth.
Change-Id: I1ad2826b1dd09fb7c9b67aace1ad5f280543104d
Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
Checking for (!conn && conn->state != BT_CONN_CONNECTED) makes NULL
dereference in a case conn is NULL.
Change-Id: I73c93e4eefad046eecb76958184880ef8b72676e
Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
This split the use of ATT Write Command and ATT Write Request since with
the former it is possible to sign the data thus making combinations of
parameters in bt_gatt_write complex/confusing.
Change-Id: I0349acd16d22ea4e38ac3e5ad8c3cdc318851633
Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
Importing patch 9974bb6599333cface655bd63b01dfbbfe5dcead from Contiki.
Original commit by Niclas Finne <nfi@sics.se>
Change-Id: I90e6da7c596edca6f8c78f667cc14723b9e3f2d7
Signed-off-by: Ravi kumar Veeramally <ravikumar.veeramally@linux.intel.com>
Importing patch b541cd24725591f586162497b493f37902120217 from Contiki.
Original commit by Niclas Finne <nfi@sics.se>
Change-Id: Id8a287c2cd21966039397ab7a596d978a14941f2
Signed-off-by: Ravi kumar Veeramally <ravikumar.veeramally@linux.intel.com>
Add support for handling multiple interleaved fragmented
IPv6 packets. Non fragmented packets will no longer disturb
the reassembly at all.
Importing patch 8489582746e401e0c52b9f7e861bdd759924017e from Contiki.
Original commit by Joakim Eriksson <joakime@sics.se>
Change-Id: I2202779cb71dd12c0cbe05e8a96e34ded2e65995
Signed-off-by: Ravi kumar Veeramally <ravikumar.veeramally@linux.intel.com>
Importing patch e5616fc4687827818b78e66825e7da6d37de858a from Contiki.
Original commit by Joakim Eriksson <joakime@sics.se>
Change-Id: Ic53fb92f33d1d77d659c2368cc13b1314de11ea6
Signed-off-by: Ravi kumar Veeramally <ravikumar.veeramally@linux.intel.com>
Importing patch b21deba19914d95e6dfe92a902d1a406d167be43 from Contiki.
Original commit by Niclas Finne <nfi@sics.se>
Change-Id: I2be1719f169394f0a9fd0f43b1ae878e018e95c3
Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
Importing patch 565ff0b3dcaca5d0c31ba388447e3f71c914ccc8 from Contiki.
Original commit by Niclas Finne <nfi@sics.se>
Change-Id: I27014bf0af0770cd7f572655f288b6c382fdd659
Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
Importing patch 5eea977ea24145b2181a4faf182951016cf3a199 from Contiki.
Original commit by Niclas Finne <nfi@sics.se>
Added callback to DIO handling for application control if a RPL DAG
should be joined or not (originally implemented by Joakim).
Change-Id: If22bfea13c456d5e170cc2c952a8d6ad48a6b37d
Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
Importing patch 778e6536b022fe24398d3c026bb99ff35b07495b from Contiki.
Original commit by Maciej Wasilak <wasilak@gmail.com>
Change-Id: I70f5cf2b1abd8f3748623d0217d9f0ef830e128c
Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
Importing patch d935acc7c115503ad5192e30ef832796d3dd6795 from Contiki.
Original commit by Niclas Finne <nfi@sics.se>
Change-Id: I4c3a9c23bde26631bbe5917568a17574898713f9
Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
Importing patch 9782a760b1165af7849a742a7a30767f2d4c7137 from Contiki.
Original commit by Laurent Deru <laurent.deru@cetic.be>
Change-Id: Ife33e5c38fcf00dab592df79fb8c843240ef39a4
Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
Cast clock_time_t to unsigned for portable printout
in rpl_print_neighbor_list().
Importing patch fc178dab876ea8ac72f4c0f1395fea1f71f9df81 from Contiki.
Original commit by Simon Duquennoy <simonduq@sics.se>
Change-Id: If5a0adcbc8aafd0a2bda8788173000bd8c4c9d7f
Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
When no probing target is found, probe least recently updated parent.
Importing patch 9ced5b7bac2150f993ba0c6e602f279e7b27127f from Contiki.
Original commit by Simon Duquennoy <simonduq@sics.se>
Change-Id: If494663ed7df38865d3a8776c56de74bf2d2fc04
Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
Importing patch 832a4d3e01349458a48a585e2e1af72ec6be0411 from Contiki.
Original commit by Simon Duquennoy <simonduq@sics.se>
Change-Id: Ida5dff1a5d592f77fb1a21b4016ea4fd4c10db80
Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
Made the first argument to uip_connect() const, to ensure it isn't altered
Importing patch daef1ea252feca2ae540c2c06f5f49496231a209 from Contiki.
Original commit by Adam Dunkels <adam@thingsquare.com>
Change-Id: I92a8c389b0331c2cddcdac0190965209a4488eb3
Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
Importing patch daef1ea252feca2ae540c2c06f5f49496231a209 from Contiki.
Original commit by Adam Dunkels <adam@thingsquare.com>
Cast the addresses when copying IPv4 and IPv6 addresses using
the IPv4 and IPv6 copy macros.
Change-Id: Id34a294c653ec3310ef8152e600db3eb39778ae1
Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
Importing patch 06daa08ffc4da0f0e2e5d32c222c0f513d273cec from Contiki.
Original commit by Adam Dunkels <adam@thingsquare.com>
Change-Id: I20b69b440923061f1993f7063c668351ee304a77
Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
Importing patch 6a5f238255a3a3450db2588cba7383d1be8529a0 from Contiki.
Original commit by Simon Duquennoy <simonduq@sics.se>
Change-Id: I4684d403a8a3d65f442f11f2d66f53c6968709aa
Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
Will now probe the least recently updated parent from time to time.
Importing patch 2dd182f4a8a322867f90cdbc8f1a983b972ac7cd from Contiki.
Original commit by Simon Duquennoy <simonduq@sics.se>
Change-Id: Ifa87485a3a5fdb895cf3fc375ef9589cbbb950f6
Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
Importing patch 47ba4c0c4bd81fd429ba23557aa44ee75daa2b3a from Contiki.
Original commit by Simon Duquennoy <simonduq@sics.se>
Change-Id: I30da9aac6f1057239fc3689996aa45b0a019f6f6
Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
Importing patch 529376be7758eec8320e695c1efb5e416f2d8c1c from Contiki.
Original commit by Simon Duquennoy <simonduq@sics.se>
Change-Id: I21aebbdff3687e6d29c4c28afa7d8095e185dc8b
Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
Importing patch 8344290e0898bb54a68d0e417a7a1c6dee992200 from Contiki.
Original commit by Simon Duquennoy <simonduq@sics.se>
Change-Id: I46ab31bbba06a54f020ec792a4e12ef60ae3caff
Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
Importing patch 9d94c4efae9c7604790034264d22e6cbf7fb61cd from Contiki.
Original commit by Laurent Deru <laurent.deru@cetic.be>
Change-Id: Iffd51ce5b4e68acf7e15b4559843f128cf5f13d0
Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
Importing patch 49bfb1308db8eff186677bcd8f1dd3861d9b26d8 from Contiki.
Original commit by Laurent Deru <laurent.deru@cetic.be>
Change-Id: I307fbec3ff6325a06c895411b83b811c2a392d44
Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
Make sure to use the correct fifo wait function for microkernel.
Change-Id: Ie3e365a2e24836485d028c05c936c30dfce91ba4
Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
This debug print will flood the console is certain scenarios
so remove it.
Change-Id: I9e1d04ef48d9a6acf21c360c5ebb0dfa15c0173f
Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
Added comment how UDP packet is handled when receiving it.
Change-Id: If1e10c5bde55cb2cf7a8928b0f1ec38dd6ab84b4
Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
This echo-server app is run in the host side. It will
connect to Zephyr via UART using SLIP. The app will
listen data in socket 4242 and will reverse the returned
bytes and send them back to the sender. The application
supports both IPv4 and IPv6 protocols and it will also
listen multicast packets sent to it.
Change-Id: Icf0805794a16842e70fbb5e8a3f843a3782e1968
Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
We must not touch uip_len(buf) value as Contiki IP stack
will use it to determine what it should do with the
received packet. So after we have received the packet,
we update separate datalen variable in net_buf that will
store the correct length of the packet.
Change-Id: Iab79b741508e95e581d1727645e6b1d1eacded4c
Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
We were clearing too many contexts in net_context_put().
Change-Id: Ie65fc7d4f3949cca4035bc459c0127179038bd85
Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
Allow caller to specify a timeout in ticks while waiting
network data. The timeout value has following meaning:
TICKS_UNLIMITED wait forever
TICKS_NONE do not wait
value > 0 timeout value (only applicaple if
CONFIG_NANO_TIMEOUTS is defined)
Change-Id: Icbb33fa0eeb462659d4006dd9d948a04f39a87a9
Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
User is able to tweak the number of network buffers via
Kconfig file. Default value of network buffers is 2.
Each buffer will occupy 1280 bytes and can either hold
received or sent IPv6 or IPv4 packet.
Change-Id: I81c099bc5d97972ec9cc1cae775f891f8b8f887c
Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
Useful in order to see what is going on in the stack.
Change-Id: I9fa7d12d836d449b253a0339c70bb25f471059df
Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
UDP reply handler was not freeing net_buf properly if the
context was not passed properly to the callback. This
happened because the callback user data pointer was having
incorrect value.
Change-Id: Idfefd37b29674129252aa8f903fa9fe55de191cb
Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
When sending data to network, make sure to check the return
code from network driver. The driver should return these codes:
0 : If packet could not be sent. In this case buf should
not be released.
1 : If the packet was sent successfully. In this case the buf
should be released by either the send() or some other
lower layer function.
<0: If there is an error, the buf should not be released by
send() function.
Fixed the relevant part in Contiki code so that the tcpip_output()
return correct value
0 = packet was not sent, caller needs to free it
1 = packet was sent, network driver will free the net_buf
after sending it to medium
Change-Id: I4380d7747985fc057f5ef73ca97b76f6e9888a55
Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
Make the debug prints a bit more useful by printing also
the relevant IP addresses.
Change-Id: I2029f7a7bc5e888d184467dee19802af9621e36e
Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
This enables writing from offset using Prepare Write + Execute Write
procedures including Long Write procedure when the data is bigger than
the MTU.
Change-Id: Id35d66c011ba582a4ba92ffe75444226e479335a
Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
This can be used to check what is the configured MTU for the given
connection.
Change-Id: I292b06dbe079fbd567cd8d39615cfbc3dad6b2a5
Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
Follow Key Distribution order: CSRK shall be sent after BDADDR Info.
Change-Id: I08a784ebc56d5f891e81bb9f2c7d215d47f1f6a5
Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
This leads to unexpected responses where the data can be bigger than
the MTU negotiated.
Change-Id: I395f85ce8b132b3c1727978eed8491ae4745b078
Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
Store remote CSRK key upon receiving SMP Signing Info command.
Change-Id: I62e8fafc9bef5fd765edc5455b7eb17ea0961605
Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
Include CSRK to Key Distribution fields in Pairing Request and
Response.
Change-Id: I0a564bd2675760b6b30f0288b6f26e24a161811f
Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
Connection Signature Resolving Keys allows to sign data sent over not
encrypted connection.
Change-Id: Ia73e5572acc99f53a183f94597d57865563279d1
Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
If a device is disconnected and has not been paired remove any
subscriptions to the device since it wont be notifying once reconnected
the application will have to subscribe again.
Change-Id: I8ca7de0ccaefbc543b723ce5280ab8ee5f9157d1
Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>