[tinydtls] Makefile: Updated PKG_URL
The tinydtls repository has moved from Eclipse Gerrit to GitHub [1].
PKG_URL now points to the new direction and PKG_VERSION was updated
to the HEAD of the develop branch.
[1] https://github.com/eclipse/tinydtls.git
When WITH_RIOT_GNRC is set in CFLAGS, tinydtls will use a more
compact address representation based on ipv6_addr_t instead of
POSIX-style sockaddr_in6 to identify sessions (cf. struct session_t).
When posix_sockets are used (as in libcoap, e.g.), the POSIX
address representation should be selected automatically for
consistency. This change adds -DWITH_RIOT_GNRC to CFLAGS only
when the module posix_sockets is not selected.
The build system contains several instances of
INCLUDES += -I$(RIOTBASE)/sys/posix/include
This is bypassing the module management system, by directly accesing
headers without depending on a module. The module is the posix module.
That line is also added when one of the posix_* modules is requested.
According to the docs, the posix module provides headers only, but in
reality there is also inet.c.
This patch:
- Moves `inet.c` into `posix_inet`, leaving `posix` as a headers-only
module.
- Rename `posix` as `posix_headers` to make it clear the module only
includes headers.
- Makes `posix_*` modules depend on `posix_headers`, thus removing the
explicit `INCLUDES+=...` in `sys/Makefile.include`.
- Ocurrences of `INCLUDES+=...` are replaced by an explicit dependency
on `posix_headers`.
Once the repo is downloaded, the version is not checked gain. This
means that even if a package's Makefile is touched, that will only
cause a rebuild of the previously downloaded version. For packages
that are normally not deleted, like edbg, this renders PKG_VERSION
bumps ineffective, unless the user manually deletes the repo
directory.
This patch fixes that by always checking that the repo is at the
right commit.
If module log is used, log.h should be included. Otherwise, it might lead to compilation problems since LOG_ERROR macro isn't know in expansion of LWIP_PLATFORM_ASSERT macro.
- copy basic objects from client implementation
- fix pkg warnings
- use lwm2m_strdup instead of strdup
- fix alignment problem in lwm2m data struct
- add fix of acc_ctrl object read
It is not 100% clear if 4.12 is the last version the softdevice is able
to interact with, but newer kernel versions than 4.12 definitely
don't work (we tried 4.15 on Ubuntu 18.04 and 4.20 on a quite recent
Arch).
The reason I believe it's the 4.12 that last worked is that in the
documentation of the nRF5 SDK it is mentioned for something called
"legacy mode" [1]. However, we are using the nRF5 *IoT* SDK which
doesn't mention this legacy mode at all.
I don't know if we can update the `pkg` to the other SDK, so I just
updated the documentation accordingly for now.
[1]: https://www.nordicsemi.com/DocLib/Content/SDK_Doc/nRF5_SDK/v15-2-0/group__ble__6lowpan__config?9932#ga5285fd3eaf403092286f607cd66850f3
This is just a compatibility issue waiting to happen as soon as there
is support for a more standard-compliant implementation of BLE (like
e.g. NimBLE ;-)).
Upstream lua has many instances of discarding cont qualifiers through
explicit casting. This disables the warnigns for the package so that
they don't show up when one enables -Wno-cast-qual globally.
Jerryscript was never using INCLUDES so never having the 'newlib-nano' or llvm
includes. It prevented working with `llvm`.
Disable unsupported warnings for ESP32 and ESP8266 newlib that show when
using system includes.
* tested newlib version for ESP32 is 2.2.0
* tested newlib version for ESP8266 is 3.0.0
Build into the BINDIR directory instead of the source repository.
This makes 'clean' work as expected without other intervention.
Also it goes in the direction of having the package source repository
board independent.
Remove unknown rules from .PHONY.
Make 'all' be the default target for jerryscript and execute `all` target.
This way no definition order issue could happen in the future.
Do not include Makefile.base as 'DIRS' are not used here.
Also if 'all' target was to be used, there would be two rules creating
`$(BINDIR)/jerryscript.a`.
By default `Makefile.jerryscript` executes `libjerry` as it is the first
target.
The -Wno-sometimes-uninitialized suppression seems to no longer be
necessary. Removing it as it may mask a real bug.
If the problem reappears, and if the comment is correct about it
being only in an unused function, then instead of adding the CFLAG,
it should be fixed locally via a patch.
Nimble contains a couple of casts that discard alignment information.
This causes a warning with clang's -Wno-address-of-packed-member.
A previous PR (#10503) supressed that warning. This commit re-enables
them and provides a patch to fix the offending code.
The fix has been submitted upstream, see
https://github.com/apache/mynewt-nimble/pull/252
From lwIP CHANGELOG
(STABLE-2.1.2):
++ Bugfixes:
2018-11-21: Jens Nielsen
* netbiosns.c: fix expecting too large packet (bug #55069)
2018-11-19: Dirk Ziegelmeier
* smtp.c: fix compiling with strict C compatibility because of strnlen (bug #55034)
2018-11-12: Simon Goldschmidt
* tcp.c: fix overflow check in tcp_recved triggering invalid assertion (bug #55015)
2018-11-12: Simon Goldschmidt
* tcp.c: fix a bug in sending RST segments (sent from port 0)
(STABLE-2.1.1):
++ Bugfixes:
2018-11-01: Joan Lledó
* sockets.c: fix bad assertion in lwip_poll_dec_sockets_used() (bug #54933)
2018-11-01: Dirk Ziegelmeier
* ip4.c: don't send 127.* to default netif (bug #54670)
2018-10-23: David Girault
* altcp_tls_mbedtls.c: fix use-after free (bug #54774)
2018-10-23: Ognjen Bjelica, Dirk Ziegelmeier
* snmp_scalar.c: Avoid NULL pointer dereference (bug #54886)
2018-10-23: Simon Goldschmidt
* Fix missing standard includes in multiple files
2018-10-17: Ivan Warren
* def.h: fix casting htonX and ntohX to u16_t (bug #54850)
2018-10-12: Simon Goldschmidt
* Revert "tcp_abandon: no need to buffer pcb->local_port" (fix that source port was 0 for RST
called when aborting a connection)
2018-10-11: Jonas Rabenstein
* tcp.c: tcp_recved: check for overflow and warn about too big values (patch #9699)
2018-10-06: Joan Lledó
* sockets.c: alloc_socket(): Check for LWIP_SOCKET_POLL when setting select-
related variables (patch #9696)
2018-10-04: Spencer
* tcp.c: Update prev pointer when skipping entries in tcp_slowtmr (patch #9694)
2018-09-27: Martine Lenders
* lowpan6.c: Fix IEEE 802.15.4 address setting (bug #54749)
This brings 802.15.4 support for native to lwIP. I used this to find
[this bug][1] and thought it might also be useful upstream. Downside:
There is no automated test for it yet.
[1]: https://savannah.nongnu.org/bugs/?54749
This release fixed some bugs related to disabling float support in the
parser.
The float support is now optional and can be enabled by including the
tinycbor_float module. This allows for compiling on AVR as that platform
doesn't support the float specific defines used by tinycbor.
- better handler duty cycle restriction of the MAC when joining and sending
- remove state attribute and rely on internal loramac busy state
- don't join if already joined
Use fixed identity when applying patches, it fixes issues when they are
not set in the build computer or if HOME is not exported.
The commits are only used in the build system so adding the building user
information is useless.
Without this disabled `nanosleep()` is used, which isn't provided for
most our platforms (though the header `<time.h>` is).
Furthermore, that macro is only used in that instance throughout the
JerryScript codebase.
When building `nimble` with LLVM/clang the function
`ble_ll_adv_active_chanset_is_sec()` in `ble_ll_adv.c` is reported to
be unused, it is used within an assertions and `ifdef`s within that
file though. So this just disables that warning.
relic does not build with cmake < 3.6.0. This checks for a minimal version
instead of failing to compile.
cmake version 3.5.2 is not >= to minimal required 3.6.0
Makefile:25: recipe for target '..cmake_version_supported' failed
ccn-lite does not build with cmake < 3.6.0. This checks for a minimal version
instead of failing to compile.
cmake version 3.5.2 is not >= to minimal required 3.6.0
Makefile:25: recipe for target '..cmake_version_supported' failed
Tested with versions 3.5.2, 3.6.0-rc1, 3.6.0, 3.6.3, 3.7.0-rc1, 3.7.0.
Note: the check used does not consider '-rcX' as 'sort -V' does not handle them
properly.
This updates the ccn-lite package version which brings in the
latest upstream fixes for some compiler issues found on macOS
with clang and newer GCC versions.
A minor adaption of the RIOT shell commands is also included.
The binary file size changes when the RIOT directory is moved.
This caused the `libfixmath_unittests` to fail on my computer.
I used RIOT_FILE_NOPATH instead of RIOT_FILE_RELATIVE as 'TEST' is used a lot
and it would allow more boards to be tested, full path is not that important.
Prevents error:
clang: error: unknown argument: '-fstack-usage'
clang: error: unknown argument: '-fconserve-stack'
The flags are here to print debug information and try to optimize stack but are
not required.
Due to all the changes, this is basically a new version for this
example. The main benefit is the use of sock_udp but also the client
side is now more robust and reliable.
The parameters required for the PSK and ECC (e.g. keys) modes are moved
to an unique header.
The integration of TinyDTLS for RIOT has been merged into the
development branch of the official repository.
It will be officially available on the master branch in the next
release of tinyDTLS.
Other minor updates:
- Support for the RIOT's memarray
- tinydtls/sha2 is removed from the compilation for giving priority
to RIOT's sha2 functions.
- Remove file related functions from loader.
* All packages must be builtin.
- Remove os.tmpname.
- Interface with TLSF.
- Don't abort() when out of memory.
Support for monocypher as crypto library. Blazing fast performance, but
double the flash requirement compared to TweetNaCl. Stack usage is
around 70% of TweetNaCl