resource/csdk/connectivity/lib/libcoap-4.1.1
this one is obsolete and should have no new features added. It should
be deleted as soon as all builds pass with the newer libcoap.
That's always been the plan.
My fork is the current working version and is what should be used today
The github libcoap is what we should try to use in the future, but they didn't
accept iotivity's libcoap changes and instead made non-compatible changes
so that it would require a bunch of iotivity work before we can actually use
it. For example, it has an RFC-compliant COAP-over-TCP implementation
that differs from the one that iotivity uses. And iotivity just uses libcoap
to compose/parse packets, not for the business logic, which in my view
is bad. Iotivity should really be rewritten to be a clean layer on top of the
normal libcoap APIs. I don't expect that to happen any time soon though
as I've not heard anyone signing up for significant work.
Dave
-----Original Message-----
From: [email protected]
[mailto:[email protected]] On Behalf Of Mats Wichmann
Sent: Tuesday, December 5, 2017 11:18 AM
To: IoTivity Developer List <[email protected]>
Subject: [dev] which libcoap to use in master branch?
revisiting a topic which never had an action decided...
Currently, there are three possible versions of coap libraries.
Most iotivity builds use a forked copy which lives in
resource/csdk/connectivity/lib/libcoap-4.1.1. This is the current default.
If WITH_UPSTREAM_LIBCOAP is defined/nonzero, a build is instead done against a
git tree pulled from github. At the moment, if run.bat is used to do a Windows
build, WITH_UPSTREAM_LIBCOAP is set by default, though it can be disabled at
build time.
execept... use of the upstream libcoap is at the moment commented out in favor
of another fork, Dave Thaler's, which adds the tag our build is currently keyed
to work against, and presumably some code changes to go with that.
Meanwhile, real upstream has moved on to add proper DTLS support, which I
assume we'd want to make use of (unless it's somehow not in sync with our use
of mbedtls - I have no idea about this).
I would propose in iotivity project master branch we immediately switch to
defaulting WITH_UPSTREAM_LIBCOAP to enabled, so all platforms build with this
same version (this build was broken at least for Linux but has recently been
fixed).
We should then investigate moving forward to later versions of upstream well
before the next iotivity release, so there's no last-minute compatibility
excitement.
Thoughts?
_______________________________________________
iotivity-dev mailing list
[email protected]
https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.iotivity.org%2Fmailman%2Flistinfo%2Fiotivity-dev&data=02%7C01%7Cdthaler%40microsoft.com%7C7557a1d6dd1047beb7b808d53c153d0a%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636480984323225218&sdata=6KCbAUNNyyv0YRpTwIS7563Aoz1OeA5ada1KBUc%2FVCM%3D&reserved=0
_______________________________________________
iotivity-dev mailing list
[email protected]
https://lists.iotivity.org/mailman/listinfo/iotivity-dev