curl / Mailing Lists / curl-library / Single Mail


Re: CoAP support in libcurl for the Internet of Things

From: Olaf Bergmann <>
Date: Tue, 08 May 2018 08:37:02 +0200

Hi Remy,

Thank you for picking up this discussion. Let me give my two cents here:

"Remy 'Sieben' Leone" <> writes:

> CoAP was designed from the get-go to take an approach very close to HTTP.
> Verbs, URL, stateless, ...
> IoT developpers are using it. You can see a list of implementations on this site:

And in particular, it is the IETF standardized protocol for the Internet
of Things (RFC 7252) and thus has been adopted by many other SDOs
e.g. OCF, and IPSO. Products that use this protocol are already
available, e.g. the IKEA Trådfri light system. Recently, OSS projects
have started using the command line client 'coap-client' from libcoap
not only for testing purposes but also to control smart home devices via

> > - Would you prefer to simply link to a third party library such as libcoap?
> > It would mean adding an optional dependency to libcurl build.
> Sure, but it would only be a dependency for those who choose to build with
> that support enabled. At least until we see an increased interest, we should
> make the CoAP changes as limited as possible to only affect those who actively
> enable its support.
> If I would be negative about something, then it is that libcoap is seriously
> badly documented ("here's a link to my doxygen-generated index page, which btw
> happens to be blank") and I strongly dislike the feeling of not being able to
> quickly browse the API to get a sense of how it works.
> I think new improvements to the documentation are shipped. Maybe Olaf can jump in and
> tell us more about it.

Since libcoap has evolved from a low-level implementation for embedded
developers who really know (and want to know) their code into a package
for major Linux distributions such as Debian, Ubuntu, Arch, the API as
well as the documentation have been improved a lot. The current
development branch that is intended to become the next major release
soon already has a good amount of manual pages that document the
API. The web site re-factoring and user guide writing are in progress.

> It is also yet another dependency that relies on its own TLS library, which
> seems to mostly be OpenSSL on posix systems.

libcoap comes with an interface to enable intergration of different TLS
libraries. For now, these are OpenSSL and tinyDTLS, but GnuTLS
integration is in development as well.

Finally, it might be worthwhile pointing out that libcoap currently runs
on Linux, MacOS, and Windows and has an actively contributing community.


Received on 2018-05-08