-
Notifications
You must be signed in to change notification settings - Fork 2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
libschc: initial import as package #18515
Conversation
a6972ef
to
0f80bc5
Compare
1dd4af8
to
a12018f
Compare
0f439c4
to
b643136
Compare
12604d1
to
a75398d
Compare
a75398d
to
a518385
Compare
f26066f
to
1fa9646
Compare
Co-Authored-By: boortmans <bart.moons@gmail.com>
1fa9646
to
64edbf5
Compare
This PR is ready for review in my opinion and required for me to seriously proceed on #18700. |
The libSCHC version may need some more bumps, but I would rather prefer to do that in master, than keeping track of a moving target here. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ACK.
I tested this branch through #18700 and everything works as expected. Since this is still a (kind of) experimental feature, I think we should get it ASAP and continue improving from there.
Nice work btw!
Squashed and removed the temporary commit that restricted Murdock to the test. |
bors try |
bors cancel |
18515: libschc: initial import as package r=miri64 a=miri64 19331: pkg/tinydtls: Adjust defaults r=miri64 a=chrysn ### Contribution description This adjusts two defaults in tinydtls: * Default verbosity is set to warning. At the info level, this module produces way more output (several lines per new connection, and even per message) than is common in RIOT. * If gcoap is used, the buffer size is adjusted to the gcoap buffer size plus overhead. Otherwise, CoAP-over-DTLS works fine until one happens to request larger resources. ### Testing procedure * Run examples/gcoap_dtls * Send a CoAP request from outside, eg. with `aiocoap-client 'coaps://[fe80::3c63:beff:fe85:ca96%tapbr0]/.well-known/core' --credentials testserver.json` (where testserver.json is `{"coaps://[fe80::3c63:beff:fe85:ca96%tapbr0]/*": {"dtls": {"psk": {"ascii": "secretPSK"}, "client-identity": {"ascii": "Client_identity"}}}}`). Before, there are messages shown for every request; now there are none. Modify `examples/gcoap/server.c` as follows: ```patch diff --git a/examples/gcoap/server.c b/examples/gcoap/server.c index bf2315cd01..28e1faac27 100644 --- a/examples/gcoap/server.c +++ b/examples/gcoap/server.c `@@` -68,7 +68,7 `@@` static const coap_resource_t _resources[] = { }; static const char *_link_params[] = { - ";ct=0;rt=\"count\";obs", + ";ct=0;rt=\"count\";obs;looooooooooooooooooooooong-attribute=\"loooooooooooooooooooooooooooooong\"", NULL }; ``` The request passes; without this patch, it is stuck in retransmissions until "Network error: Retransmissions exceeded". ### Issues/PRs references This contributes to making #19289 usable with a minimum level of security. (That module fills up the gcoap buffer to the brim). While the module handles the verbosity as well as it can (occasionally admitting that it lost bytes of output), the previous verbosity produces an infinite stream of stdout data. (But the default should be quiet immaterial of that particular PR). Co-authored-by: Martine Lenders <m.lenders@fu-berlin.de> Co-authored-by: chrysn <chrysn@fsfe.org>
bors t- |
bors try- |
Or for globs sake, bors try- already! |
Build failed (retrying...): |
Build succeeded: |
Contribution description
This is part 1 of my takeover of #15040. The PR only contains the import of the
pkg
, not the GNRC module, which will be provided in part 2 as a separate PR.I mostly updated to both the current version of libSCHC and RIOT, added tests, and adapted the overall style to be more RIOT-like and following our coding conventions.
Testing already revealed some usage problems (or maybe even bugs) with libSCHC. I will have a call with @bartmoons next week to discuss these.
TODOs
Adapt pre-configured rule inpkg/libschc/include/rules
set more for general RIOT+LoRaWAN use casesIncrease test coverage of testsTesting procedure
Run the provided tests with
on a platform of your choice.
Issues/PRs references
Partial alternative to #15040