diff options
| author | Garrett D'Amore <garrett@damore.org> | 2025-04-27 18:40:40 -0700 |
|---|---|---|
| committer | Garrett D'Amore <garrett@damore.org> | 2025-06-01 22:49:00 -0700 |
| commit | 8bcb82d245a5fce1bd519e2f99250dedf11e763d (patch) | |
| tree | 4d663bedbb043b9d599f061d7f2b5f9509c8f390 /src/sp/transport/ws | |
| parent | 08400bd437149c4fb31af9b2abece2ae44041283 (diff) | |
| download | nng-8bcb82d245a5fce1bd519e2f99250dedf11e763d.tar.gz nng-8bcb82d245a5fce1bd519e2f99250dedf11e763d.tar.bz2 nng-8bcb82d245a5fce1bd519e2f99250dedf11e763d.zip | |
Introduce DTLS transport for NNG.
This introduces a new experimental transport for DTLS, that
provides encryption over UDP. It has a simpler protocol than
the current UDP SP protocol (but we intend to fix that by making
the UDP transport simpler in a follow up!)
There are a few other fixes in the TLS layer itself, and in
the build, that were needed to accomplish this work.
Also there was an endianness bug in the UDP protocol handling, which
is fixed here.
Diffstat (limited to 'src/sp/transport/ws')
| -rw-r--r-- | src/sp/transport/ws/CMakeLists.txt | 15 | ||||
| -rw-r--r-- | src/sp/transport/ws/websocket.c | 8 |
2 files changed, 16 insertions, 7 deletions
diff --git a/src/sp/transport/ws/CMakeLists.txt b/src/sp/transport/ws/CMakeLists.txt index 437d0919..2b477c27 100644 --- a/src/sp/transport/ws/CMakeLists.txt +++ b/src/sp/transport/ws/CMakeLists.txt @@ -12,11 +12,14 @@ nng_directory(ws) if (NNG_TRANSPORT_WS OR NNG_TRANSPORT_WSS) - set(WS_ON ON) + nng_sources(websocket.c) endif() -nng_defines_if(NNG_TRANSPORT_WS NNG_TRANSPORT_WS) -nng_defines_if(NNG_TRANSPORT_WSS NNG_TRANSPORT_WSS) -nng_sources_if(WS_ON websocket.c) -nng_test_if(WS_ON ws_test) -nng_test_if(NNG_TRANSPORT_WSS wss_test) +if (NNG_TRANSPORT_WS) + nng_defines(NNG_TRANSPORT_WS) + nng_test(ws_test) +endif() +if (NNG_TRANSPORT_WSS) + nng_defines(NNG_TRANSPORT_WSS) + nng_test(wss_test) +endif() diff --git a/src/sp/transport/ws/websocket.c b/src/sp/transport/ws/websocket.c index b6045306..515f7b65 100644 --- a/src/sp/transport/ws/websocket.c +++ b/src/sp/transport/ws/websocket.c @@ -328,8 +328,14 @@ wstran_pipe_getopt( return (rv); } +static size_t +wstran_pipe_size(void) +{ + return (sizeof(ws_pipe)); +} + static nni_sp_pipe_ops ws_pipe_ops = { - .p_size = sizeof(ws_pipe), + .p_size = wstran_pipe_size, .p_init = wstran_pipe_init, .p_fini = wstran_pipe_fini, .p_stop = wstran_pipe_stop, |
