Remove coap_list_t structure and replace with coap_optlist_t to maintain
backward code compatability.
Make use of the new coap_optlist_* functions
Use the new coap_optlist_t structure
Remove unneeded header includes
warn() -> coap_log(LOG_WARNING, )
debug() -> coap_log(LOG_DEBUG, )
Upgrade to VS2017. Added a property sheet with user variables to configure the
target installation directory and location of openssl library from within the
Visual Studio GUI and in a manner compatible with msbuild. This method is
inspired by the GTK project. It supports out of tree builds, and separate or
common directories for debug and release builds. The new install project copies
the library files to the selected target directory. It has all other projects
in dependency, so to build the library and utilities, you just build the
"install" target and it will take care of building the library, executable,
then copy to a tree with a unix-like structure (bin, lib, include).
Also fixes missing files in the testdriver project.
This change adds a new m4 macro AX_CHECK_A2X_TO_MANPAGE that
invokes the a2x program passed in the environment variable A2X
to create a minimal manual page. If A2X is set correctly, failing
this test is a good indicator that the docbook DTD or the
docbook XSL stylesheets are missing.
Issue #163 [1] points out that coap_remove_from_queue() may release
the wrong PDU from the retransmit queue due to a false hit in the
do/while loop. This change was proposed by hongnguyen-tma to fix
this issue.
[1] https://github.com/obgm/libcoap/issues/163
As option numbers can be up to 16 bit, the function
coap_register_option() for making new options known to libcoap
must also take at least 16 bit numbers. The data type for
argument type therefore has been changed to uint16_t.
Because of incorrect free order, if there are open TLS connections when
coap_free_context() is called a use after free will occur as OpenSSL tries to
shutdown the connections.
The pre-processor symbols COAP_MAX_STRING_SIZE and COAP_MAX_STRINGS
are to be used on platforms that allocate memory from fixed-size
blocks such as the MEMB allocator on Contiki. As the strings are
used to reassemble URIs (including query strings), the reasonable
string size depends on the application. The current values now are
COAP_MAX_STRING_SIZE = 64, and
COAP_MAX_STRINGS = 8.
These can be changed at build time with compiler flag -D.
Currently, only platform Contiki uses these definitions.
Make LIBCOAP_API_VERSION=2
Set LIBCOAP_NAME_SUFFIX to be $LIBCOAP_API_VERSION{-openssl,-gnutls,-tinydtls}
as appropriate based on the configure build options.
This means that library files will be named
libcoap-2-openssl.a
libcoap-2-openssl.so*
libcoap-2-gnutls.a
libcoap-2-gnutls.so*
libcoap-2-tinydtls.a
libcoap-2.a
libcoap-2.so*
Fix some typos
Use $withval instead of yes so that, say, --without-openssl works as expected.
Replace LIBCOAP_API_VERSON with LIBCOAP_NAME_SUFFIX when refering to building
the library files. configure.ac defines LIBCOAP_NAME_SUFFIX.
libcoap-$LIBCOAP_API_VERSION.{sym,map} remain.
Make distclean clean up temporary src/*.o and src/*.lo files which may be
left lying around from a previous './configure xxx ; make' that was using
a different TLS library.
Add in coap_dtls_*, coap_tls_*, coap_socket_* functions that do not need to
be publically exposed in the libraries
Create a new --enable-doxygen
Make --enable-documentation include both --enable-manpages and --enable-doxygen
and --disable-documentation include --disable-manpages and --disable-doxygen