4cab59d | Olaf Bergmann | 18 March 2021, 13:51:57 UTC | configure.ac: bounce version number to v4.3.0rc1 Set library version to LT_LIBCOAP_CURRENT=3 LT_LIBCOAP_REVISION=0 LT_LIBCOAP_AGE=0 | 18 March 2021, 14:05:02 UTC |
f8048b4 | obgm | 18 March 2021, 13:38:00 UTC | Merge pull request #621 from mrdeep1/win32 win32/libcoap.sln: Fix Debug DLL build issue | 18 March 2021, 13:38:00 UTC |
b32ef3f | Jon Shallow | 18 March 2021, 13:11:27 UTC | win32/libcoap.sln: Fix Debug DLL build issue Fix Debug DLL issue and re-order NoTLS entries as updated by VS configuration manager. | 18 March 2021, 13:16:25 UTC |
7906bcf | obgm | 18 March 2021, 12:52:10 UTC | Merge pull request #613 from mrdeep1/message_id message id: clean up documentation usage of transaction which is message id | 18 March 2021, 12:52:10 UTC |
9410aa5 | obgm | 18 March 2021, 12:51:53 UTC | Merge pull request #619 from mrdeep1/large_mcast mcast block2: Support mcast request with block2 responses | 18 March 2021, 12:51:53 UTC |
59fdcd4 | obgm | 17 March 2021, 18:00:13 UTC | Merge pull request #620 from mrdeep1/ms_build build: Add in Visual Studio build | 17 March 2021, 18:00:13 UTC |
877e8d0 | Olaf Bergmann | 17 March 2021, 17:57:40 UTC | Updated Doxyfile.in to version 1.9.1 | 17 March 2021, 17:57:40 UTC |
d717ee2 | obgm | 17 March 2021, 17:47:55 UTC | Merge pull request #617 from mrdeep1/mcast_if multicast: Add in IPv4 and update IPv6 multicast support | 17 March 2021, 17:47:55 UTC |
a34228c | Jon Shallow | 15 March 2021, 15:55:46 UTC | multicast: Add in IPv4 and update IPv6 multicast support include/coap2/net.h: src/net.c: Update code using #587 as a base to fix potential issues. Fixes CID 1502429 CMakeLists.txt: cmake_coap_config.h.in: Test for <net/if.h> examples/coap-rd.c: examples/coap-server.c: man/coap-rd.txt.in: man/coap-server.txt.in: Add in -G option to support specifying interface to use for multicasting. Otherwise, the interface allocated by the O/S is used depending on the address (if any) bound to. man/Makefile.am: man/coap_context.txt.in: Document the coap_join_mcast_group_intf() function. src/coap_debug.c: Make sure that coap_print_addr() returns a NULL terminated buffer. | 17 March 2021, 17:43:14 UTC |
42b2f03 | Szabolcs Szekelyi | 12 November 2020, 08:28:37 UTC | Allow network interface name to be specified when joining multicast group This change renames `coap_join_mcast_group` to `coap_join_mcast_group_intf` and adds an extra `const char *ifname` parameter to specify the interface name. A `coap_join_mcast_group` macro is defined to maintain backwards API compatibility. `coap_is_mcast` has been modified to recognize IPv6-mapped IPv4 multicast addresses. Without this `coap_network_send` treats these addresses as unicast which makes `semdmsg` fail with EINVAL. Examples have been updated to use the new call. | 17 March 2021, 17:25:31 UTC |
a524b23 | Jon Shallow | 17 March 2021, 15:01:42 UTC | build: Add in Visual Studio build Update Windows build files to include a build that does not use OpenSSL (called NoTLS). Include this build in the github workflow. | 17 March 2021, 16:55:07 UTC |
1d300a6 | obgm | 17 March 2021, 16:48:41 UTC | Merge pull request #615 from mrdeep1/block2_fix Block2: Fix ordering issue when calling coap_add_data_large_response() | 17 March 2021, 16:48:41 UTC |
d3cb5f4 | obgm | 17 March 2021, 16:41:13 UTC | Merge pull request #618 from mrdeep1/nit_fixes General: Fix minor issues | 17 March 2021, 16:41:13 UTC |
a713c40 | obgm | 17 March 2021, 16:39:52 UTC | Merge pull request #614 from mrdeep1/coverity_2 Coverity: Fix scan issues | 17 March 2021, 16:39:52 UTC |
74342ab | Jon Shallow | 08 March 2021, 11:37:07 UTC | Coverity: Fix scan issues Fixes CID 1502435: CID 1502432: CID 1502423: False Positives CID 1502434: Cant see why code is not reached CID 1502433: Could make blk_size uint8_t:3 I guess. CID 1502430: Dont know why it is complaining CID 1502427: CID 1502426: Code looks fine to me - context->session could be set. CID 1502424: Fixed by other PRs CID 1502422: #610 CID 1502431: #610 CID 1502428: #610 CID 1502429: #587 with my additional fixes | 17 March 2021, 11:17:18 UTC |
50095d3 | Jon Shallow | 10 March 2021, 12:10:36 UTC | mcast block2: Support mcast request with block2 responses The first block response is unicast, and the client requests the further blocks using unicast. https://tools.ietf.org/html/rfc7959#section-2.8 However, the hash for the server lookup of incoming data is based on coap_addr_tuple_t which includes the local address - which changes between receipt of mcast and unicast requests. This causes 2 sessions to be set up, and the subsequent request/responses are treated as individual block random access causing mismatch of information by the client. Fix is to hash only on the remote address (IP + port) and local port for servers. | 16 March 2021, 11:32:59 UTC |
7b8bd13 | Jon Shallow | 15 March 2021, 16:01:21 UTC | General: Fix minor issues src/coap_tinydtls.c: Replace UNUSED with COAP_UNUSED that got missed from a merge. man/examples-code-check.c: src/pdu.c: tests/oss-fuzz/pdu_parse_target.c: Fix trailing white space. win32/libcoap.vcxproj: win32/testdriver/testdriver.vcxproj: Correct include/coap2 paths. | 15 March 2021, 16:01:21 UTC |
48a6803 | Jon Shallow | 10 March 2021, 13:12:45 UTC | Block2: Fix ordering issue when calling coap_add_data_large_response() If the response code was set after calling coap_add_data_large_response(), the continuing blocks were sent with code 0.00. Now check following call to response handler that the correct code is held within the lg_xmit information. | 10 March 2021, 13:12:45 UTC |
48ae6b0 | Jon Shallow | 05 March 2021, 11:50:00 UTC | message id: clean up documentation usage of transaction which is message id CoAP transaction id was formerly defined as a hash of the remote address and message id of the CoAP PDU. It now only refers to, and is used as, the message id. Replace occurences of 'transaction id' with 'message id' to reflect naming in RFC7252. Correct the definition of coap_tid_t to what it actually represents. Replace occurrences of coap_tid_t with coap_mid_t. Replace uses of tid with mid Remove unused function coap_find_transaction(). | 08 March 2021, 18:49:30 UTC |
ae752e9 | obgm | 08 March 2021, 17:43:45 UTC | Merge pull request #612 from mrdeep1/coap_unused COAP_UNUSED: Remove UNUSED and UNUSED_PARAM and use COAP_UNUSED instead | 08 March 2021, 17:43:45 UTC |
301f6e1 | obgm | 08 March 2021, 17:39:01 UTC | Merge pull request #606 from mrdeep1/refactor_headers include: Move header files into libcoap namespace | 08 March 2021, 17:39:01 UTC |
6965d40 | obgm | 08 March 2021, 17:34:17 UTC | Merge pull request #610 from mrdeep1/large_block_fix RFC7959: Handle both Block1 and Block2 for same request/response | 08 March 2021, 17:34:17 UTC |
0c031d7 | Jon Shallow | 27 February 2021, 22:16:21 UTC | include: Move header files into libcoap namespace I.E. '#include "mem.h"' becomes '#include "coap2/mem.h"' This prevents header name clashes. Replacement for #487 | 08 March 2021, 16:45:02 UTC |
4a264b2 | Jon Shallow | 05 March 2021, 11:49:34 UTC | COAP_UNUSED: Remove UNUSED and UNUSED_PARAM and use COAP_UNUSED instead Remove the UNUSED and UNUSED_PARAM definitions and use a single definition of COAP_UNUSED as defined in libcoap.h Replace all UNUSED / UNUSED_PARAM usages with COAP_UNUSED. | 05 March 2021, 11:49:34 UTC |
e2c8df1 | Jon Shallow | 04 March 2021, 15:31:20 UTC | RFC7959: Handle both Block1 and Block2 for same request/response Correctly track the tokens so that the token that application sees in the response is the same token as used in the initial request. Update coap-server so that response data can be sent back to echo the data that was in the request. Fixes CID 1502431 CID 1502428 CID 1502422 | 04 March 2021, 15:31:20 UTC |
4efb04d | obgm | 04 March 2021, 08:01:52 UTC | Merge pull request #609 from mrdeep1/vs_sizing variables: Remove size changing warnings when using Visual Studio | 04 March 2021, 08:01:52 UTC |
640bb4e | Jon Shallow | 02 March 2021, 16:35:52 UTC | variables: Remove size changing warnings when using Visual Studio Change some of the types of variables, and cast change sizes where known to be safe. There still are some C4116 warning and a couple of C4090 warning which are OK, so disabled by a #pragma. | 03 March 2021, 12:23:25 UTC |
0044c61 | obgm | 03 March 2021, 09:26:23 UTC | Merge pull request #601 from mrdeep1/verify_depth cert_chain_verify_depth: Handle value of 0 | 03 March 2021, 09:26:23 UTC |
b1ababe | obgm | 01 March 2021, 17:26:16 UTC | Merge pull request #607 from mrdeep1/ubuntu_20_4 Ubuntu 20.4: Fix builds as Ubuntu 20.4 will be used by github workflows | 01 March 2021, 17:26:16 UTC |
f930b0a | Olaf Bergmann | 01 March 2021, 17:17:05 UTC | pdu.c: Fix length check in write_{prefix,char} Fix length check in two helper functions that have been introduced in commit 757ca19c. Fixes OSS-Fuzz issue 31479 [1] [1] https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=31479 | 01 March 2021, 17:18:09 UTC |
25db741 | Olaf Bergmann | 01 March 2021, 17:15:44 UTC | Revert "pdu.c: Fix length check in write_{prefix,char}" This reverts commit 34b8484a0c9d13db4c6086c880e40484ef9177dd. | 01 March 2021, 17:15:44 UTC |
34b8484 | Olaf Bergmann | 01 March 2021, 17:06:04 UTC | pdu.c: Fix length check in write_{prefix,char} Fix length check in two helper functions that have been introduced in commit 757ca19c. Fixes OSS-Fuzz issue 31479 [1] [1] https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=31479 | 01 March 2021, 17:07:37 UTC |
dc888cb | Olaf Bergmann | 26 February 2021, 13:19:43 UTC | ut{hash,list}.h: Updated to uthash version 2.3.0 | 01 March 2021, 17:07:37 UTC |
c8ab318 | Jon Shallow | 27 February 2021, 16:03:36 UTC | Ubuntu 20.4: Fix builds as Ubuntu 20.4 will be used by github workflows .github/workflows/main.yml: Build all the cmake TLS variants. CMakeLists.txt: Add in missing file. examples/tiny.c: include/coap2/encode.h: Move COAP_PSEUDOFP_ENCODE_8_4 functions from encode.h to tiny.c. Fix COAP_PSEUDOFP_ENCODE_8_4_DOWN 'ls' ordering complaint. man/examples-code-check.c: Fix compile warning, allow 'Unused but set variables' in examples and set -Werror when compling the examples. examples/lwip/Makefile: Remove compilation option -fpack-struct | 01 March 2021, 15:47:55 UTC |
2360058 | obgm | 01 March 2021, 15:17:19 UTC | Merge pull request #605 from mrdeep1/ack_response_fix net.c: Fix side effect from merging 2 PRs | 01 March 2021, 15:17:19 UTC |
7c7b15f | Jon Shallow | 28 February 2021, 18:39:03 UTC | net.c: Fix side effect from merging 2 PRs Merging #552 and #554 into develop caused Observe CON 2.05 initial block response not to get an ACK from the client and so the Observe response kept getting re-transmitted and caused other CON traffic to get queued up. Troubleshooting highlighted an issue when a PUT/POST was updating the contents of a resource and an Observe was active sending many payloads in a body. src/net.c: Make sure that an ACK is sent (if appropriate) when working with a block based response. examples/coap-server.c: Give dynamic data associated with a resource a reference count, and only free off the data when the reference count has dropped to 0. | 01 March 2021, 13:17:21 UTC |
f5def1a | obgm | 26 February 2021, 17:14:07 UTC | Merge pull request #603 from mrdeep1/more_rigorous_examples examples-code-check.c: Add in function checking as well | 26 February 2021, 17:14:07 UTC |
a7adace | obgm | 26 February 2021, 14:26:07 UTC | Merge pull request #506 from mrdeep1/rename_client coap-client: Rename client.c to coap-client.c | 26 February 2021, 14:26:07 UTC |
a31dcba | Jon Shallow | 06 May 2020, 20:19:50 UTC | coap-client: Rename client.c to coap-client.c Keep the examples source names and executables in the same form for consistency. | 26 February 2021, 14:21:12 UTC |
8770152 | obgm | 26 February 2021, 14:15:20 UTC | Merge pull request #552 from mrdeep1/ack_response net.c: Delay sending ACK until after response_handler() is called | 26 February 2021, 14:15:20 UTC |
25eda91 | obgm | 26 February 2021, 12:31:20 UTC | Merge pull request #596 from mrdeep1/no_respond net.c: Stop reliable sessions returning ACK 0.00 | 26 February 2021, 12:31:20 UTC |
d89c014 | Jon Shallow | 15 February 2021, 09:41:33 UTC | net.c: Stop reliable sessions returning ACK 0.00 The ACK 0.00 is being returned by the server for reliable conections and the client is then reporting that CON 0.00 is invalid (CON, NON, ACK and RST are all resported as CON in a received reliable PDU). coap-client coap+tcp://127.0.0.1/async?1 -v9 demonstrates the issue. src/net.c: Update no_response() to return RESPONSE_DROP for both reliable and non-confirmable if the application handler returns with the response code set to 0.00 in the PDU. This then generally simplifies the code around when calling no_response(). Check for valid multicast responses. If the response is confirmable and piggybacked and being dropped, convert the response to an empty ACK so the client does not continue to retry sending the request. | 26 February 2021, 11:36:26 UTC |
1652108 | obgm | 26 February 2021, 10:40:01 UTC | Merge pull request #604 from mrdeep1/write_char_inlining pdu.c: Remove inline expansion warnings for write_char() | 26 February 2021, 10:40:01 UTC |
9b9f6c8 | Jon Shallow | 26 February 2021, 09:26:57 UTC | pdu.c: Remove inline expansion warnings for write_char() Just make write_char() and write_prefix() static functions. | 26 February 2021, 10:22:48 UTC |
4bbdcc8 | obgm | 26 February 2021, 10:12:26 UTC | Merge pull request #584 from mrdeep1/option_strict_aliasing coap_opt_filter_t: Make it a proper structure | 26 February 2021, 10:12:26 UTC |
e2e7830 | Jon Shallow | 16 December 2020, 12:29:11 UTC | coap_opt_filter_t: Make it a proper structure Update coap_opt_filter_t to be a structure rather than a 16bit array that is aliased with the real structure format. Update code to use pointers where appropriate. | 26 February 2021, 09:24:34 UTC |
b223381 | Jon Shallow | 26 February 2021, 08:59:42 UTC | examples-code-check.c: Add in function checking as well Build dummy functions based on the SYNOPSIS definitions for further checking. Note: COAP_STATIC_INLINE functions have to be excepted. | 26 February 2021, 08:59:42 UTC |
486f97f | obgm | 26 February 2021, 08:37:15 UTC | Merge pull request #599 from mrdeep1/option_encoding pdu.c: Output debug information for broken CoAP Options | 26 February 2021, 08:37:15 UTC |
85c6e00 | obgm | 26 February 2021, 08:16:43 UTC | Merge pull request #602 from mrdeep1/fix_rebase resource.h: Remove function definitions that are duplicated | 26 February 2021, 08:16:43 UTC |
757ca19 | Jon Shallow | 22 February 2021, 10:36:09 UTC | pdu.c: Output debug information for broken CoAP Options Refactor coap_pdu_parse_opt() to additionally output the block options in hex for debugging if there is an error. Fix the two tests that are now reported with the updated code. [Other PDU test are reporting information, but only at LOG_DEBUG which is not output] | 26 February 2021, 08:13:43 UTC |
9f1d96a | obgm | 26 February 2021, 07:46:53 UTC | Merge pull request #600 from mrdeep1/github_workflows workflow: Add in distribution and CMake checks | 26 February 2021, 07:46:53 UTC |
6694006 | Jon Shallow | 25 February 2021, 16:35:59 UTC | resource.h: Remove function definitions that are duplicated Result of a rebase confusion. include/coap2/resource.h: Remove duplicates that are also in coap_subscriber_internal.h. libcoap-2.map: libcoap-2.sym: Remove the now internal only functions. | 25 February 2021, 16:35:59 UTC |
6225fc7 | Jon Shallow | 25 February 2021, 10:28:58 UTC | cert_chain_verify_depth: Handle value of 0 If cert_chain_verify_depth is 0 and cert_chain_validation is set in coap_dtls_pki_t, then a Cert + its signing CA should be valid (no intermediary CAs). src/coap_gnutls.c: src/coap_mbedtls.c: src/coap_openssl.c: Correct set and check cert_chain_verify_depth. src/coap_openssl.c: Fix building on openssl-1.1.0 | 25 February 2021, 10:28:58 UTC |
dc6c5e6 | Jon Shallow | 22 February 2021, 13:17:09 UTC | workflow: Add in distribution and CMake checks .github/workflows/main.yml: Do a 'make check' for matrix builds. Move documentation into separate job to reduce matrix build times Add in CMake job. Add in distribution job. Add in tinydtls job. Add in contiki/lwip job. scripts/github_dist.sh: Do the distribution checks using a script. examples/etsi_iot_01.c: examples/tiny.c: Fix include coap.h directory in old examples. README.md: Update status badges to get only the branch actions and remove CMake status badge. | 24 February 2021, 18:15:25 UTC |
cea8971 | obgm | 24 February 2021, 16:53:29 UTC | Merge pull request #582 from mrdeep1/obfuscate_resource coap_resource_t: Obfuscate coap_resource_t from applications. | 24 February 2021, 16:53:29 UTC |
da18643 | Jon Shallow | 14 December 2020, 09:56:45 UTC | coap_resource_t: Obfuscate coap_resource_t from applications. Create a new include/coap2/coap_resource_internal.h to hold all the information not available to applications. Makefile.am: Include coap_resource_internal.h in EXTRA_DIST. Remove functions no longer visible from CTAGS_IGNORE. examples/coap-rd.c: examples/contiki/server.c: examples/etsi_iot_01.c: tests/test_wellknown.c Replace direct access to coap_resource_t variables with functions as appropriate. include/coap2/resource.h: include/coap2/subscribe.h: include/coap2/coap_resource_internal.h: (New) include/coap2/coap_subscribe_internal.h: Move coap_resource_t, coap_addr_t, non API #defines and non API functions from resource.h into coap_resource_internal.h, coap_subscribe_internal.h and subscribe.h. Replace inline functions accessing coap_resource_t with actual function definitions. Add new functions coap_resource_release_userdata_handler() and coap_attr_get_value(). include/coap2/block.h: Use coap_resource_t typedef. include/coap2/coap_forward_decls.h: Include coap_resource_t and coap_addr_t typedefs. Also typedef coap_context_t to get rid of #include circular requirements. include/coap2/coap_internal.h: win32/libcoap.vcxproj: win32/libcoap.vcxproj.filters: Include coap_resource_internal.h. include/coap2/net.h: Remove "typedef struct coap_context_t" and do this in coap_forward_decls.h. src/resource.c: Update with the replaced inline functions. Add in the new functions coap_resource_release_userdata_handler() and coap_attr_get_value(). libcoap-2.map: libcoap-2.sym: Update with new function visibility. man/Makefile.am: man/coap_attribute.txt.in: man/coap_observe.txt.in: man/coap_resource.txt.in: Update with the new coap_resource_t and coap_attr_t usage. | 24 February 2021, 16:34:27 UTC |
14e75a5 | Jon Shallow | 21 September 2020, 13:06:36 UTC | net.c: Delay sending ACK until after response_handler() is called In handle_response() the ACK is sent before calling ctx->response_handler() so if the response_handler() wants to send RST the server ignores it as the ACK has already been received. By updating coap_response_handler_t to return a value, this can be used to send the ACK (return of COAP_RESPONSE_OK) or a RST (return of COAP_RESPONSE_FAIL) after ctx->response_handler() is called. include/coap2/net.h: man/coap_handler.txt.in: Create a new enum coap_response_t for use as the return value for coap_response_handler_t. Update coap_response_handler_t and associated documentation. src/net.c: Send CoAP ACK or RST depending on return value of ctx->response_handler(). examples/client.c: Update message_handler() to use the new coap_response_handler_t return values (coap_response_t). | 24 February 2021, 09:37:32 UTC |
b0e47d7 | obgm | 24 February 2021, 08:52:33 UTC | Merge pull request #580 from mrdeep1/with_observe Observe: Remove WITHOUT_OBSERVE conditional statements in the library. | 24 February 2021, 08:52:33 UTC |
8724c0c | obgm | 24 February 2021, 08:22:57 UTC | Merge pull request #578 from mrdeep1/icmp_issue_nack_handler ICMP reporting: Call nack handler when ICMP unreachable is received | 24 February 2021, 08:22:57 UTC |
35dbc32 | obgm | 24 February 2021, 08:14:42 UTC | Merge pull request #577 from mrdeep1/observer_fix Observe: Fix coap_free_context() assert when active observe | 24 February 2021, 08:14:42 UTC |
7c54bd7 | obgm | 24 February 2021, 08:09:01 UTC | Merge pull request #554 from mrdeep1/add_data_large RFC7641: Move block handling logic down into libcoap | 24 February 2021, 08:09:01 UTC |
4cd633e | Jon Shallow | 30 September 2020, 19:53:58 UTC | RFC7641: Add in example support using updated libcoap handling of blocks Remove block handling logic from coap-client and coap-server and make use of the new libcoap functionality. Add in new -L option to be able to define how libcoap is to work with block handling. Update documentation accordingly. | 23 February 2021, 18:01:14 UTC |
9cb2f62 | Jon Shallow | 11 March 2020, 08:47:15 UTC | RFC7641: Move block handling logic down into libcoap This change removes the need for applications having to know about handling requests for the next block etc. It also gives the application the ability to pass a large body of data to be transmitted and be told when this body is no longer required. This logic is enabled in libcoap by setting COAP_BLOCK_USE_LIBCOAP using coap_context_set_block_mode() This change breaks down into 4 specific areas 1) Client doing a PUT/POST etc. of a large amount of data (BLOCK1). coap_add_data_large_request() is used which provides a 'finished with data' callback function as well as adding required options to the PDUs. This function calls coap_add_data_large_internal(). Internal coap_handle_response_send_block() sends off the subsequent blocks (using session->lg_xmit). 2) Server receiving PUT/POST etc. of a large amount of data (BLOCK1). Internal coap_handle_request_get_block() acknowledges the appropriate blocks (using session->lg_srcv) and either passes in the individual blocks or the body depending on whether COAP_BLOCK_SINGLE_BODY is set or not using coap_context_set_block_mode(). 3) Server sending a large data response to GET / observe (BLOCK2) coap_add_data_large_response() is used which provides a 'finished with data' callback function. This function calls coap_add_data_large_internal() as well as filling in the necessary options for each PDU. Interal coap_handle_request_send_block() will then send the next requested block (using session->lg_xmit). 4) Client receiving a large data response (BLOCK2) coap_send_large() for the initial request sets this up. Internal coap_handle_response_get_block() will then request the next block when previous block received (using session->lg_crcv) and either passes the individual blocks or the body depending on COAP_BLOCK_SINGLE_BODY being set in coap_context_set_block_mode(). ---- The following new internal functions have been added coap_handle_request_get_block() coap_handle_request_send_block() coap_handle_response_get_block() coap_handle_response_send_block() coap_add_data_large_internal() The following new functions have been added. coap_add_data_large_request() coap_add_data_large_response() coap_context_set_block_mode() coap_get_data_large() coap_pdu_duplicate() coap_send_large() coap_session_init_token() coap_session_new_token() The coap_session_init_token() and coap_session_new_token() were added to make the handling of unique tokens for each request/response easier. https://datatracker.ietf.org/doc/html/draft-ietf-core-echo-request-tag-10#section-4 New files include/coap2/coap_block_internal.h: man/coap_block.txt.in: New memory types COAP_LG_XMIT COAP_LG_SRCV COAP_LG_CRCV | 23 February 2021, 18:01:04 UTC |
b7fed2a | obgm | 23 February 2021, 16:50:06 UTC | Merge pull request #571 from Delsian/develop refactor: replace magic numbers with defines | 23 February 2021, 16:50:06 UTC |
528c029 | Olaf Bergmann | 23 February 2021, 09:56:28 UTC | README.md: Update build status badges As travis-ci gets not triggered anymore, continuous integration has been changed in commit 57a5a7e0 to use GitHub Actions. This change updates the build status badges to report the GitHub Actions result for the branches master and develop. | 23 February 2021, 09:56:28 UTC |
6b58bfa | Eug Krashtan | 17 November 2020, 09:27:32 UTC | examples: replace magic numbers with defines CoAP response codes in examples represented by non-human-readable magic numbers. It makes code harder to read, understand, and maintain. Magic numbers there where replaced by human-readable enums. Signed-off-by: Eug Krashtan <eug.krashtan@gmail.com> | 22 February 2021, 19:20:31 UTC |
f249117 | obgm | 22 February 2021, 16:54:59 UTC | Merge pull request #579 from mrdeep1/keepalive_doc DOC: Clarify coap_keepalive(3) documentation | 22 February 2021, 16:54:59 UTC |
e42d7b7 | obgm | 22 February 2021, 13:11:46 UTC | Merge pull request #598 from mrdeep1/mbedtls_version configure.ac: Determine Mbed TLS library version for validity | 22 February 2021, 13:11:46 UTC |
febed37 | Jon Shallow | 19 February 2021, 11:56:58 UTC | configure.ac: Determine Mbed TLS library version for validity configure.ac: Add in explicit library version checking as .pc file is not available. m4/ac_check_cryptolibs.m4: Add in AX_CHECK_MBEDTLS_VERSION for checking version compatibility. configure.ac: src/coap_mbedtls.c: Correct brand name to Mbed TLS. | 20 February 2021, 11:08:29 UTC |
9f778ca | obgm | 19 February 2021, 15:04:13 UTC | Merge pull request #583 from mrdeep1/doxygen_update doxygen: Tidy up comments and add in missing modules | 19 February 2021, 15:04:13 UTC |
6a08768 | obgm | 19 February 2021, 09:00:16 UTC | Merge pull request #574 from mrdeep1/mbedTLS_naming Mbed TLS: Update MbedTLS and mbedTLS to Mbed TLS to reflect brand name | 19 February 2021, 09:00:16 UTC |
a15b300 | obgm | 19 February 2021, 08:48:55 UTC | Merge pull request #561 from mrdeep1/tls_options PKI: Make (D)TLS operation consistent across all TLS libraries | 19 February 2021, 08:48:55 UTC |
05d30e5 | Jon Shallow | 27 October 2020, 13:24:19 UTC | PKI: Make (D)TLS operation consistent across all TLS libraries The use of the verify_peer_cert and require_peer_cert variables in the coap_dtls_pki_t structure was giving inconsistent results across all the TLS libraries. This primarily was down to the large numbers of options available to control the TLS handshakes in OpenSSL compared to the limited control available to mbedTLS port which followed later. require_peer_cert is not easy to control in mbedTLS as it is an implicit configuration based on how other, not always related, items were configured. require_peer_cert was used by the server to control whether the client could use anonymous certificates or not. This is now controlled by verify_peer_cert. require_peer_cert variable has been replaced with check_common_ca, so that the OpenSSL functionality can continue, but enable GnuTLS / mbedTLS to produce the same results. This allows peers to mutually authenticate (because the peer certs are signed by the same common CA) or not which was in effect controlled by verify_peer_cert previously. If check_common_ca is set, then allow_self_signed is ignored. If is_rpk_not_cert is set, then all certificate validation is ignored. In the examples, use of the -R option unsets check_common_ca, so disables mutual authentication support by having a common CA. This was needed as mbedTLS and GnuTLS only have a single trust store for CAs. configure.ac: Increase the number of mbed libraries to use when checking for mbedTLS. examples/client.c: examples/coap-rd.c: examples/coap-server.c: Add in -n (unset verify_peer_cert) option. In the case of coap-server and coap-rd, make -n refer to verify_peer_cert. Add in TLS library capabilites in usage(). Update usage() documentation as appropriate, with some changes to fit everything into a 80 column output. include/coap2/coap_dtls.h: include/coap2/net.h: Update with variable changes, and make the coap_dtls_pki_t parameter const for the *_context_set_pki() functions. man/coap-client.txt.in: man/coap-rd.txt.in: man/coap-server.txt.in: Update documentation to reflect the examples option usage. man/coap_context.txt.in: man/coap_encryption.txt.in: man/coap_session.txt.in: Update with the new variable name and document as appropriate. src/coap_gnutls.c src/coap_mbedtls.c src/coap_notls.c src/coap_openssl.c coap_tinydtls.c Update to make variable usage consistent. Update logging from LOG_WARNING to LOG_INFO where there is an override of a PKI check failure by one of the coap_dtls_pki_t variables. Timing window closed for TLS where the peer does not like a certificate, sends fatal alert and closes connection. local then fails on writing the next handshake - but now also reads in alert and reports on it. src/coap_io.c: Update logging from LOG_WARNING to LOG_INFO for EPIPE or ECONNRESET errors in coap_socket_write(). src/net.c: Handle the const coap_dtls_pki_t parameter in coap_context_set_pki() function. | 18 February 2021, 16:51:32 UTC |
df6615b | obgm | 16 February 2021, 09:08:23 UTC | Merge pull request #597 from mrdeep1/easier_troubleshoot message id: Report everywhere the hex value for consistency | 16 February 2021, 09:08:23 UTC |
2e6cb55 | Jon Shallow | 15 February 2021, 09:47:02 UTC | message id: Report everywhere the hex value for consistency coap_show_pdu() reports the Message ID (mid) as a hex value prefixes by i:. Elsewhere it is reported as an integer or unsigned making those entries difficult to match up with the reported PDU. examples/coap-rd.c: examples/etsi_iot_01.c: src/async.c: src/coap_session.c: src/net.c: Replace tid=%d, message %d and transaction %d with mid=0x%x for clarity. | 15 February 2021, 09:47:02 UTC |
4756540 | obgm | 15 February 2021, 09:05:33 UTC | Merge pull request #595 from mrdeep1/coap_prng_impl coap_prng.c: Fix missing coap_prng_impl function. | 15 February 2021, 09:05:33 UTC |
b0d46de | Jon Shallow | 12 February 2021, 15:20:35 UTC | coap_prng.c: Fix missing coap_prng_impl function. PR #590 unfortunately broke the standard builds. | 13 February 2021, 10:57:34 UTC |
9b45575 | obgm | 12 February 2021, 14:28:24 UTC | Merge pull request #586 from timgates42/bugfix_typo_updated docs: fix simple typo, udated -> updated | 12 February 2021, 14:28:24 UTC |
85b45e0 | obgm | 12 February 2021, 14:25:28 UTC | Merge pull request #590 from wenwu-glagle/pull_request Fix some compile error in windows visual studio | 12 February 2021, 14:25:28 UTC |
4185e62 | Olaf Bergmann | 12 February 2021, 12:01:39 UTC | [CI] main.yml: Enable building on all relevant events and branches | 12 February 2021, 12:01:39 UTC |
961afc7 | Olaf Bergmann | 04 February 2021, 15:08:40 UTC | [CI] main.yml: Set -Werror in compile matrix | 12 February 2021, 11:44:50 UTC |
16ea2dc | Olaf Bergmann | 04 February 2021, 14:53:30 UTC | [CI] main.yml: Enable more checks | 12 February 2021, 11:44:47 UTC |
391be31 | Olaf Bergmann | 04 February 2021, 13:11:34 UTC | [CI] main.yml: Run unit tests with valgrind | 12 February 2021, 11:40:44 UTC |
57a5a7e | Olaf Bergmann | 03 February 2021, 12:51:20 UTC | [CI] main.yml: basic build steps | 12 February 2021, 11:09:01 UTC |
5bcb0a1 | Olaf Bergmann | 22 January 2021, 14:21:19 UTC | Revert ".github: removed consistently failing github workflow" This reverts commit 610c3f6bf20af053738acf003f4fa2edc0c5e232. | 12 February 2021, 11:09:01 UTC |
2df4850 | Olaf Bergmann | 12 February 2021, 11:06:51 UTC | net.c: Suppress warning for -Wunused-result On systems where read() is declared with the attribute warn_unused_result, a cast to void is not sufficient to suppress the resulting warning. This change therefore checks the result explicitly. | 12 February 2021, 11:06:51 UTC |
f681525 | Olaf Bergmann | 13 January 2021, 14:56:28 UTC | coap-server.c: fix typecast warning for verify_cn_callback This change fixes a warning output by clang for the cast from void* to the potentially smaller enum coap_dtls_role_t (-Wvoid-pointer-to-enum-cast). | 13 January 2021, 14:56:28 UTC |
238fded | Olaf Bergmann | 13 January 2021, 14:34:09 UTC | pdu.c: fix heap overflow in coap_pdu_parse_opt() coap_opt_length() must be called next_option_safe() to avoid out-of-bound reads for malformed options. Thanks to Marten Geuking for providing a detailed bug report. | 13 January 2021, 14:34:09 UTC |
7e6b2a9 | obgm | 07 January 2021, 11:05:37 UTC | Merge pull request #589 from mrdeep1/now_2021 Update general copyrights to 2021 | 07 January 2021, 11:05:37 UTC |
ad01c1d | 沈文武 | 31 December 2020, 03:50:06 UTC | Fix some compile error in windows visual studio 1. since coap_add_option_later() has been removed, so remove coap_add_option_later in lib-coap-2.(map,sym) and pdu.h 2. [PRNG] need include coap_prng.c into visual studio project too, since new functions for generating pseudo numbers replace the old macro-based approach. 3. [PRNG] need define coap_prng() coap_prng_init() coap_set_prng() for windows too since these function are exported in lib-coap-2.(map,sym) | 06 January 2021, 02:47:24 UTC |
12fd8a2 | Jon Shallow | 04 January 2021, 10:37:05 UTC | Update general copyrights to 2021 Update main copyright statements to 2021. | 04 January 2021, 10:37:05 UTC |
f4d4cd6 | Jon Shallow | 30 November 2020, 10:34:29 UTC | Mbed TLS: Update MbedTLS and mbedTLS to Mbed TLS to reflect brand name LICENSE: README.md: include/coap2/coap_dtls.h: man/coap_encryption.txt.in: man/coap_tls_library.txt.in: src/coap_debug.c: src/coap_mbedtls.c: Replace MbedTLS and mbedTLS with "Mbed TLS". | 04 January 2021, 10:18:26 UTC |
3e437e6 | Tim Gates | 17 December 2020, 19:25:34 UTC | docs: fix simple typo, udated -> updated There is a small typo in include/coap2/coap_asn1_internal.h. Should read `updated` rather than `udated`. | 19 December 2020, 20:32:03 UTC |
74fbbd3 | Jon Shallow | 14 December 2020, 12:50:47 UTC | doxygen: Tidy up comments and add in missing modules Make documentation more consistent across doxygen output. Add in caching module. Add in encoding/decoding module. Add in application i/o internal module. Move deprecated items out of respective modules. | 16 December 2020, 12:26:45 UTC |
a12e573 | Jon Shallow | 09 December 2020, 11:06:49 UTC | Observe: Remove WITHOUT_OBSERVE conditional statements in the library. As RFC7641 is now fully supported, these code segments should always be compiled in and WITHOUT_OBSERVE wrappers are no longer required. src/coap_session.c: src/net.c: src/resource.c: Remove WITHOUT_OBSERVE wrappers. include/coap2/async.h: Correct definition for coap_async_state_t and remove references for supporting observing as this is no longer supported. | 09 December 2020, 11:06:49 UTC |
28ef9c4 | Jon Shallow | 08 December 2020, 20:02:35 UTC | DOC: Clarify coap_keepalive(3) documentation Tidy up coap_keepalive(3) documentation. | 08 December 2020, 20:02:35 UTC |
704057e | Jon Shallow | 08 December 2020, 16:48:52 UTC | ICMP reporting: Call nack handler when ICMP unreachable is received coap_session_disconnected() does not call the nack handler for any outstanding CON requests when called with COAP_NACK_ICMP_ISSUE. src/coap_session.c: Call the nack handler if coap_session_disconnected is called with COAP_NACK_ICMP_ISSUE. | 08 December 2020, 16:48:52 UTC |
9de0ff3 | Jon Shallow | 08 December 2020, 16:38:25 UTC | Observe: Fix coap_free_context() assert when active observe src/net.c: Call coap_delete_all_resources() (which may send a CON observe bumping a session ref count) before coap_delete_all() to remove any CON transmissions that are still in flight in cop_free_context(). src/resource.c: Delete observer if GET handler does not return a 2.xx code. | 08 December 2020, 16:38:25 UTC |
f29f053 | obgm | 13 November 2020, 21:58:59 UTC | Merge pull request #569 from mrdeep1/cmdline_read_user cmdline_read_user: Fix NULL terminating code | 13 November 2020, 21:58:59 UTC |
5aa8d0c | Olaf Bergmann | 13 November 2020, 21:57:08 UTC | .gitignore: ignore autosave files | 13 November 2020, 21:57:08 UTC |