Commit Graph
1263 Commits
Author SHA1 Message Date
Olaf Bergmann 837917f272 Merge branch 'develop' of https://github.com/nikosft/libcoap-fork into nikosft-develop
Resolved conflicts in file resource.h.
2018-04-20 10:10:08 +02:00
Olaf Bergmann ddfb94bc92 Merge branch 'PawelWMS-bracket_fixes' into develop
This resolves PR #76 [1].

[1] https://github.com/obgm/libcoap/pull/76
2018-04-20 10:00:34 +02:00
Olaf Bergmann 6d232dfc82 Merge branch 'bracket_fixes' of https://github.com/PawelWMS/libcoap into PawelWMS-bracket_fixes
Resolved merge conflicts (net.c, resource.c)
2018-04-20 09:53:43 +02:00
Olaf Bergmann c4e6601944 net.c: fix PDU find bug in coap_remove_from_queue()
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
2018-04-18 12:01:46 +02:00
Olaf Bergmann 8c35e7625b net.h: fixed data type option number in coap_register_option()
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.
2018-04-18 09:21:02 +02:00
obgm 0af655db70 Merge pull request #169 from spinetix/spx-freetls
net.c: use after free in coap_free_context()
2018-04-17 08:57:46 +02:00
jcmichelou fa5766f642 net.c: use after free in coap_free_context()
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.
2018-04-16 20:48:23 +02:00
Olaf Bergmann 9b62b79ef7 mem.c: allow re-definition of COAP_MAX_STRING_SIZE and COAP_MAX_STRINGS
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.
2018-04-16 11:32:14 +02:00
obgm 132a830b59 Merge pull request #165 from mrdeep1/DTLS-Connection
DTLS session setup retries to establish DTLS many times before failure
2018-04-13 17:53:20 +02:00
Jon Shallow 2582d085f8 examples/client.c: Run at least once per sec to aid debugging 2018-04-13 14:08:08 +01:00
Jon Shallow 36de6d83a7 src/coap_openssl.c: Add in support for DTLS retry counting 2018-04-13 14:07:59 +01:00
Jon Shallow 60fccead90 include/coap/coap_session.h: Add in support for DTLS retry counting 2018-04-13 14:07:51 +01:00
obgm 576aeacfb6 Merge pull request #151 from mrdeep1/builds
Build libraries with a suffix in the name that specifies the TLS library built against
2018-04-13 13:15:43 +02:00
Jon Shallow 653d3f1775 libcoap-1.{map|sym} libcoap-1.pc.in: deleted 2018-04-13 08:43:38 +01:00
Jon Shallow fc0761f24f tests/test_tls.c: Use coap_startup() instead of coap_dtls_startup()
This is done so we do not need to expose coap_dtls_startup()
publically
2018-04-13 08:43:38 +01:00
Jon Shallow fcf30a6afc libcoap-2.{map,sym}: Add in files 2018-04-13 08:43:37 +01:00
Jon Shallow ae5765af2f configure.ac: Bump LIBCOAP_API_VERSION and create LIBCOAP_NAME_SUFFIX
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.
2018-04-13 08:43:37 +01:00
Jon Shallow 2300f94f00 autogen.sh: Update AUTOGEN_FILES= files
Update the new LIBCOAP_API_VERSION of the files
Include examples/Makefile and tests/Makefile that are built by autogen.sh
2018-04-13 08:43:37 +01:00
Jon Shallow dc89f8c203 Makefile.am: Update to support new liboap library naming
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
2018-04-13 08:43:37 +01:00
Jon Shallow 0ac9bb53f6 .gitignore: Include more interim files to ignore 2018-04-13 08:43:37 +01:00
Jon Shallow 153e4dbe72 tests/Makefile.am: Update for new libcoap library naming 2018-04-13 08:43:37 +01:00
Jon Shallow ef6c72bf44 examples/Makefile.am: Update for new libcoap library naming 2018-04-13 08:43:37 +01:00
Jon Shallow b7f1f52a17 BUILDING: New file giving an overview of how to build libcoap 2018-04-13 08:43:31 +01:00
Jon Shallow bed987242d libcoap-2.pc.in: New Packaging file 2018-04-11 14:36:40 +01:00
obgm f889c29881 Merge pull request #139 from mrdeep1/man-pages
Add in man page support for the different exposed functions with examples
2018-04-09 14:01:55 +02:00
Jon Shallow d015c50091 coap-{client|rd|server}.txt.in: Move from examples to man directory 2018-04-07 11:34:44 +01:00
Jon Shallow 747205fb93 man/coap_observe.txt.in: New man page covering Observe usage 2018-04-07 11:34:44 +01:00
Jon Shallow 20cd610c03 examples/Makefile.am: Remove building man pages
Delete building man pages as they are now a part of the man directory
2018-04-07 11:34:44 +01:00
Jon Shallow 3f94f70fbd .gitignore: Add in man page temp files as well as src/ temp files to be ingored 2018-04-07 11:34:44 +01:00
Jon Shallow ebcf8ddb87 man/Makefile.am: New Makefile for building and installing man pages 2018-04-07 11:34:44 +01:00
Jon Shallow d21e0532bc configure.ac: Add in man page building with --enable-manpages
Create a new --enable-doxygen

Make --enable-documentation include both --enable-manpages and --enable-doxygen
and --disable-documentation include --disable-manpages and --disable-doxygen
2018-04-07 11:34:44 +01:00
Jon Shallow d766924954 autogen.sh: add in built man files to AUTOGEN_FILES=
Also add in examples/Makefile
2018-04-07 11:34:44 +01:00
Jon Shallow 050833ff50 Makefile.am: Add in man pages directory if man pages are being built 2018-04-07 11:34:44 +01:00
Jon Shallow c335c1e53e man/coap_tls_library.txt.in: New man page covering TLS library support 2018-04-07 11:34:44 +01:00
Jon Shallow 8b1fe26a7c man/coap_resource.txt.in: New man page covering resources 2018-04-07 11:34:44 +01:00
Jon Shallow 4a655b9840 man/coap_recovery.txt.in: New man page covering transmission recovery 2018-04-07 11:34:39 +01:00
Jon Shallow 3b9b5d2649 man/coap_handler.txt.in: New man page covering handlers 2018-04-06 10:49:56 +01:00
Jon Shallow e15f881af3 man/coap_context.txt.in: New man page convering contexts and session setup 2018-04-06 10:49:51 +01:00
Jon Shallow ee6ede84c2 man/coap_attribute.txt.in: New man page covering attributes 2018-04-06 10:49:46 +01:00
Jon Shallow ea30850d9d man/coap.txt.in: New overview man page 2018-04-06 10:49:35 +01:00
obgm 4cf5ff0c63 Merge pull request #152 from baw-serafin/resource_userdata
resource.h: Introduce new field user_data
2018-04-05 10:27:17 +02:00
obgm 4597c80983 Merge pull request #153 from mrdeep1/observe-fix
Observe additional functions to aid clarity
2018-04-05 10:21:28 +02:00
Jon Shallow b2df649822 libcoap-1.{map,sym}: Update 2018-04-04 18:39:12 +01:00
Jon Shallow ac97aeb9bc resource.c: Implement the coap_resource_notify_observers() function
Reuse coap_resource_set_dirty() and make coap_resource_set_dirty()
call coap_resource_notify_observers().
2018-04-04 18:39:12 +01:00
Jon Shallow 5ecc164caa coap_io.c: Include coap_check_notify() in the coap_write() logic
So that the application does not need to call in in the main i/o loop
2018-04-04 18:39:12 +01:00
Jon Shallow 864ae6df8c resource.h: Add in new Observe functions definitions
Add in

coap_resource_set_get_observable()
coap_resource_notify_observers()
coap_resource_get_uri_path()

Deprecate

coap_resource_set_dirty()
2018-04-04 18:38:14 +01:00
Jon Shallow 849deb2610 examples/contiki/coap-observer.c: Use COAP_OPTION_OBSERVE
As it is Observe that we are talking about here.
2018-04-04 16:46:04 +01:00
Jon Shallow 80cae52441 examples/coap-server.c: Update inline with new Observe functions
As we are talking about Observe here
2018-04-04 16:46:04 +01:00
Jon Shallow 97486e7112 examples/client.c: Change COAP_OPTION_SUBSCRIPTION to COAP_OPTION_OBSERVE
As we are talking about Observe here
2018-04-04 16:46:04 +01:00
Olaf Bergmann db48a839b6 test_uri.c: additional unit tests for URI creation
Added several unit tests for coap_get_uri_path():

* Check corner cases such as one or more zero-length Uri-Paths.
* Check percent-encoding of reserved characters.
* Check non-reserved characters that should not be percent-encoded.

This change also removes a couple of trailing LWS by accident.
2018-04-04 17:40:03 +02:00