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

Reply via email to