-
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
pkg/tinydtls: enforce the default dtls user params to be configurable #20478
pkg/tinydtls: enforce the default dtls user params to be configurable #20478
Conversation
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.
Thanks for this. I think this should be better off as a tinydtls configuration. For this I'd suggest to contribute the introduction of macros upstream. If, for now, you still want to contribute the patch to RIOT, please check my other comment about making the macros generic.
pkg/tinydtls/patches/0001-build-pkg-tinydtls-make-the-usage-of-extended-master.patch
Outdated
Show resolved
Hide resolved
tinyDTLS is usually pretty good with incorporating our changes upstream, so you might want to directly open a PR in their repo to keep the patches to the pkg to a minimum. |
I'll open a PR in tinydtls repo |
76fa9db
to
a734c23
Compare
I have opened a PR in tinydtls, and they have suggested to adjust the default params via get_user_params() cb. |
That's also a good solution. |
a734c23
to
208e757
Compare
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.
Looks good to me
@leandrolanzieri please link |
Contribution description
Incorporating the tinydtls build package, this code addresses a failure encountered during the DTLS handshake between the client and the server. The issue arose from the client imposing default user parameters, which mandate setting extended master secret and renegotiation info to 1. However, not all servers support these extensions. To ensure greater flexibility, it's more appropriate to make these parameters user-configurable
Testing procedure
I utilized the 'examples/gcoap_dtls' on a native environment for the client. However, for the server, I deployed it on my Ubuntu machine, which lacks support for these extensions
results when the extensions are set to 0:
results when the extensions are set to 1: