Commit Graph
12 Commits
Author SHA1 Message Date
Jon Shallow aef27f2e68 coap_proxy.c: Support enabling multicast forwarding requests
Missed pushing a commit.
2025-11-20 17:01:20 +00:00
Jon Shallow 7039c70100 coap_proxy.c: Support enabling multicast forwarding requests
Now configurable, previously the multicast request was just forwarded.
2025-11-20 16:47:51 +00:00
Jon Shallow ea01661faf Zephyr: Support C++ builds
Some of the Zephyr include files need to be C++, not C based. The 'extern "C"'
wrapper in include/coap3/coap.h means that all #include are treated as being C.

Remove 'extern "C"' wrapper from include/coap3/coap.h and add wrapper to
include files after #include and before any function / structure definitions.

Add in a C++ build test for CI.
2025-08-21 12:17:41 +01:00
Jon Shallow daa4e05e18 Proxy: Add in support for multiplexing Observe requests
Add in limited caching for multiple clients requesting an Observe subscription
for the same upstream session resource so that only a single observation request
is sent upstream and any unsolicited response is sent back to all the
requesting clients.

This requires a change in the recently added handler registered to
coap_register_proxy_response_handler(), which no longer should no longer call
coap_proxy_forward_response(), but just return a PDU for forwarding on.
2025-05-05 09:46:53 +01:00
Jon Shallow 84778a7bb4 Proxy: Provide support for a proxy to create a client session
Add in functions
 coap_new_client_session_proxy()
 coap_register_proxy_response_handler()
2025-04-04 11:35:23 +01:00
Jon Shallow 499341c4f6 Proxy: Make upstream server handling more rigorous
Allow re-establishment with upstream server when server restarts.

When upstream server re-connects, re-establish any (D)TLS sessions
and active observe subscriptions.

Supported by a new function coap_context_set_session_reconnect_time().
2025-04-03 08:30:57 +01:00
Jon Shallow df95d5bcc3 Proxy: Ignore idle timeout if observe subscription on session
Ignore the idle_timeout_secs parameter for a server if there is one
or more active observe subscriptions for the server session.
2025-03-24 16:17:14 +00:00
Jon Shallow c4d933a969 Proxy: Update documentation, streamline the code
Tidy up naming to reduce confusion between supported proxy types.

Provides simpler proxy examples.

Fixes issue with COAP_PROXY_REVERSE_STRIP.

Support upstream server using AF_UNIX.
2025-02-20 10:12:05 +00:00
Jon Shallow 4289cb072d Copyright: Update to 2025 where appropriate 2025-02-17 09:37:55 +00:00
Jon Shallow 18274073da Proxy Support: Update documentation 2025-02-13 19:36:53 +00:00
Jon Shallow 92198b00b3 Supported: Break out run-time checks and libcoap build #defines
Group together and document the run-time checks available for checking
the libcoap built-in functionality based on the ./cconfigure and / or
CMakeLists.txt options.

Create include/coap3/coap_defines.h file that contains a list of
COAP_ #defines created from the options defined when running ./configure
or cmake.

Add additional coap_*_is_supported() functions.
2024-08-07 10:23:19 +01:00
Jon Shallow 5f3d7eb244 reverse-proxy: Add in reverse proxy support to coap-server
Tidy up the general proxy logic by moving common functionality
into libcoap.

New functions coap_proxy_forward_request(), coap_proxy_forward_response()
and coap_proxy_is_supported() added.

New --enable-proxy-code support added to configure.

New ENABLE_PROXY_CODE support added to CMakeLists.txt.

Support for common shared connection to next hop.

Support for round-robin balancing across multiple next hops.
2024-08-07 09:33:46 +01:00