New demo client app.
Update some of the memory sizes.
New coap_lwip_dump_memory_pools() to dump LwIP memory pool usage.
Add in logic to handle new client sessions.
New coap_io_process() to handle LwIP which can invoke a callback handler
to wait / timeout for the next input handler.
New coap_lwip_set_input_wait_handler() to define this handler.
Update coap_io_prepare_io() to handle LwIP.
Support re-use of pbuf for PDU re-transmissions.
Make sure that NSTART is correctly obeyed.
Build the client with client only libcoap code.
Build the server with server only libcoap code.
Update LwIP source to latest stable release.
Reserve memory for a response PDU.
New coap_lwip(3) man page.
Update directory structures for config files.
Update files contained in "make dist" and check lwip rebuilds
in the github workflows.
Fix the link for the last entry in the name list where asciidoc
converts the minus sign to an extended dash (em dash)
Remove the updating of navtree.js as it is done differently in later
versions of doxygen.
Add in the missing name entry for coap_attribute.
Add in a new index tag for all the functions defined within the man pages.
Highlight the occurrence of that function name in the appropriate displayed
page.
For the man pages that have been restructured to break out the individual
functions, jump to the function definition.
A unique Request-Tag is added to any PUT/POST/FETCH request that contains
a large body. The server is then able to differentiate between concurrent
sending of large data using the same session.
If a server responds with a 4.01 and includes an Echo option, then the libcoap
client retransmits the request adding in the received Echo option with the same
value.
If the server responds normally with an Echo option, then the next request
from the libcoap client (internally added by libcoap) will contain that Echo
option.
It is the responsibility of the server application to add in the Echo
option if required and validate the next request unless the Echo is triggered
by OSCORE (RFC8613 Appendix B.1.2).
doc/module_api_wrap.h: New
Used to split modules into Application and Internal only.
include/coap/*.h:
Module (@defgroup) description put into group application_api or internal_api
as appropriate.
Add in @file information if missing.
src/*.c
Add in @file information.
This change adds 'SPDX-License-Identifier: BSD-2-Clause' [1] to
the source code files that originate in the libcoap project.
Note that not all files are tagged because they are pulled in
from other sources and thus may fall under a different license.
More information about these is contained in the LICENSE file.
[1] https://spdx.org/licenses/BSD-2-Clause.html
As it is not that intuitive when to use coap_send() or coap_send_large()
in applications, rename libcoap usage of coap_send() to coap_send_internal()
and then all usages of coap_send_large() to coap_send() so that only
coap_send() is required in applications.
Documentation updated accordingly.
If --enable-add-default-names is set (the default), then the installed default
libraries and installed default example executables will point to the
appropriate object that has the (D)TLS library type in the name. E.g.
libcoap-3.so -> libcoap-3-openssl.so
coap-client -> coap-client-openssl
If --enable-add-default-names is not set, then this will not happen.
As well as the libraries, the example binaries are now created with the (D)TLS
library extension in all cases.
Ensure that EXTRA_DIST contents are included in make dist even
if configured without documentation. CLEANFILES is also set
outside the conditional area to enable proper cleanup.
Include README and COPYING as well, so that they can be a part of a library
distribution.
Make this optional with ./configure --enable-license-install
which is enabled by default.
The target man-page-build requires the update pages' html to be
present. To avoid race conditions with `make -k`, upg-page-build now
has become a prerequisite for the target man-page-build.
The man pages are still not built - otherwise all the doxygen documentation
is built.
Add back in missing "Bug List" to the Makefile version which is there in
the cmake version.
configure.ac:
remove reference to doc/build_man_files.sh as it is no longer used
doc/Makefile.am:
Correct BASE definition to be that of the filename without any suffix so
Doxygen can properly @ref the file
Remove usage of 'cat'
Tidy up debug comments and indentation
Make sure cp overwrites destination files if they exist
Support building doc/ if asciidoc (a2x) is not available (the nam pages will
not get generated and included though.
If we work out of tree some files are build in top_builddir and not in
top_souredir.
Also fix up the used libcoap API versin by using a global variable here.
Use a new template doc/build_man_files.sh.in to include @top_srcdir@/doc
@top_srcdir@/man as appropropriate.
Update doc/Doxyfile.in in a similar way (and coap/ to coap2/)
Makefile.am autogen.sh configure.ac taught about doc/build_man_files.sh.in
Update doc/Makefile.am to include $(top_srcdir) and $(top_builddir)
Added in a new landing page for Main Page
doc/main.md (new)
Enabled Tree View of whats available
Disable Related Pages TAB as it fills up with the man pages
- updated doc/Doxyfile.in
Get a2x to also generate html man pages which are then included. These
html files are updated to correct the lowercasing of NAME and SYNOPSIS.
The SEE ALSO references to other man pages are made hyper links.
- done by doc/build_man_files.sh (new)
Created a new TAB Manual Pages
Created a new TAB Depricated Items
- done by modifing DoxygenLayout.xml file using doc/build_man_files.sh
Updated .gitignore to ignore additional files and autogen.sh to clean them up
man/coap*txt.in updated to display as expected in Doxygen.
This only updates documentation
.gitignore
Makefile.am
autogen.sh
doc/Doxyfile.in
doc/Makefile.am
doc/build_man_files.sh (New)
doc/main.md (New)
include/coap/debug.h
include/coap/encode.h
include/coap/option.h
include/coap/pdu.h
include/coap/prng.h
man/Makefile.am
man/coap.txt.in
man/coap_attribute.txt.in
man/coap_context.txt.in
man/coap_encryption.txt.in
man/coap_handler.txt.in
man/coap_logging.txt.in
man/coap_observe.txt.in
man/coap_pdu_setup.txt.in
man/coap_recovery.txt.in
man/coap_resource.txt.in
man/coap_session.txt.in
man/coap_tls_library.txt.in
The build environment was lacking the possibility to get libcoap
buildable out of tree, simply checkable by the running 'make distcheck'.
Without this fix the users are impossible to build libcoap in a own
folder that's independed from the source containing folder. Typical use
case would be:
$ mkdir libcoap-build && cd libcoap-build
$ /path/to/libcoap-source/configure \
--srcdir=/path/to/libcoap-source \
--prefix=/somethere/to-install
This commit enables the out of tree build by adding and changing some
needed variables.
Doxygen creates various hashfiles (*.md5) to check which files needs to
be re created if the input files has been changed. The user don't need
those hashfiles so let's remove these from final install target.
The FreeSans font isn't shipped by doxygen anymore so we can not asumme
that the font is available on the system of the user.
Just let doxygen pick up a usable font by itself.
The old behavior didn't allow a additonal setting of the DESTDIR
variable. This is a serious problem while building within a chroot for
example. Also the implementation of the stamp file was triggering
multiple builds in some cirumstances. This handling is reverted with the
remove of the old stamp file handling.