From bb1f7f92a4655ea1779a67ead0b190d742a7b6f2 Mon Sep 17 00:00:00 2001 From: Frédéric Desbiens Date: Mon, 6 Oct 2025 12:03:32 -0400 Subject: Fixed issues with websocket changes and updated tests (#345) * Restored ECC_CIPHERSUITE ifdef code. * Remove unused variables. * Replaced faulty comparisons with ifdefs. * Fixed regression tests. --- addons/websocket/nx_websocket_client.h | 6 ++++-- common/src/nx_ip_packet_receive.c | 2 ++ .../websocket_test/netx_websocket_16_bit_payload_length_test.c | 2 ++ test/regression/websocket_test/netx_websocket_connect_test.c | 4 ++++ test/regression/websocket_test/netx_websocket_delete_test.c | 2 ++ test/regression/websocket_test/netx_websocket_disconnect_test.c | 2 ++ test/regression/websocket_test/netx_websocket_fin_test.c | 2 ++ test/regression/websocket_test/netx_websocket_mask_test.c | 2 ++ test/regression/websocket_test/netx_websocket_multi_instance_test.c | 3 +++ test/regression/websocket_test/netx_websocket_non_block_test.c | 3 +++ .../websocket_test/netx_websocket_one_frame_in_packets_test.c | 2 ++ .../netx_websocket_one_packet_with_multi_frames_test.c | 2 ++ test/regression/websocket_test/netx_websocket_opcode_test.c | 3 +++ .../websocket_test/netx_websocket_send_chain_packets_test.c | 2 ++ 14 files changed, 35 insertions(+), 2 deletions(-) diff --git a/addons/websocket/nx_websocket_client.h b/addons/websocket/nx_websocket_client.h index 3e9e6f13..135d6c71 100644 --- a/addons/websocket/nx_websocket_client.h +++ b/addons/websocket/nx_websocket_client.h @@ -265,12 +265,14 @@ UINT nx_websocket_client_packet_allocate(NX_WEBSOCKET_CLIENT *client_ptr, NX_PA UINT nx_websocket_client_connect(NX_WEBSOCKET_CLIENT *client_ptr, NX_TCP_SOCKET *socket_ptr, UCHAR *host, UINT host_length, UCHAR *uri_path, UINT uri_path_length, - UCHAR *protocol, UINT protocol_length,UINT wait_option); + UCHAR *protocol, UINT protocol_length, + UCHAR *bearer, UINT bearer_length, UINT wait_option); #ifdef NX_SECURE_ENABLE UINT nx_websocket_client_secure_connect(NX_WEBSOCKET_CLIENT *client_ptr, NX_SECURE_TLS_SESSION *tls_session, UCHAR *host, UINT host_length, UCHAR *uri_path, UINT uri_path_length, - UCHAR *protocol, UINT protocol_length,UINT wait_option); + UCHAR *protocol, UINT protocol_length, + UCHAR *bearer, UINT bearer_length, UINT wait_option); #endif /* NX_SECURE_ENABLE */ UINT nx_websocket_client_disconnect(NX_WEBSOCKET_CLIENT *client_ptr, UINT wait_option); UINT nx_websocket_client_send(NX_WEBSOCKET_CLIENT *client_ptr, NX_PACKET *packet_ptr, UINT code, UINT is_final, UINT wait_option); diff --git a/common/src/nx_ip_packet_receive.c b/common/src/nx_ip_packet_receive.c index 153e903d..0eef603d 100644 --- a/common/src/nx_ip_packet_receive.c +++ b/common/src/nx_ip_packet_receive.c @@ -101,6 +101,7 @@ UCHAR version_byte; packet_ptr -> nx_packet_address.nx_packet_interface_ptr = &(ip_ptr -> nx_ip_interface[0]); } +#ifndef NX_DISABLE_IPV4 /* GHSA-pf5q-r6q5-6j2f: This is an IPv4 packet. Therefore the header length must be at least 20 bytes. Validate the payload size before accessing the IP header. */ @@ -113,6 +114,7 @@ UCHAR version_byte; return; } +#endif /* It's assumed that the IP link driver has positioned the top pointer in the packet to the start of the IP address... so that's where we will start. */ diff --git a/test/regression/websocket_test/netx_websocket_16_bit_payload_length_test.c b/test/regression/websocket_test/netx_websocket_16_bit_payload_length_test.c index 3ae2b047..c0fa75a0 100644 --- a/test/regression/websocket_test/netx_websocket_16_bit_payload_length_test.c +++ b/test/regression/websocket_test/netx_websocket_16_bit_payload_length_test.c @@ -47,6 +47,7 @@ static void thread_server_entry(ULONG thread_input); #define TEST_HOST_NAME "1.2.3.4" #define TEST_URI_PATH "/test" #define TEST_PROTOCOL "test" +#define TEST_BEARER "" static UCHAR server_switch_101[] = { @@ -322,6 +323,7 @@ UINT code; TEST_HOST_NAME, sizeof(TEST_HOST_NAME) - 1, (UCHAR *)TEST_URI_PATH, sizeof(TEST_URI_PATH) - 1, (UCHAR *)TEST_PROTOCOL, sizeof(TEST_PROTOCOL) - 1, + (UCHAR *)TEST_BEARER, sizeof(TEST_BEARER) -1, NX_WAIT_FOREVER); if (status) diff --git a/test/regression/websocket_test/netx_websocket_connect_test.c b/test/regression/websocket_test/netx_websocket_connect_test.c index 59619e98..f29c86bc 100644 --- a/test/regression/websocket_test/netx_websocket_connect_test.c +++ b/test/regression/websocket_test/netx_websocket_connect_test.c @@ -71,6 +71,7 @@ static void thread_server_entry(ULONG thread_input); #define TEST_HOST_NAME "1.2.3.4" #define TEST_URI_PATH "/test" #define TEST_PROTOCOL "test" +#define TEST_BEARER "" static UCHAR bad_server_switch_101[] = { @@ -314,6 +315,7 @@ UINT code; TEST_HOST_NAME, sizeof(TEST_HOST_NAME) - 1, (UCHAR *)TEST_URI_PATH, sizeof(TEST_URI_PATH) - 1, (UCHAR *)TEST_PROTOCOL, sizeof(TEST_PROTOCOL) - 1, + (UCHAR *)TEST_BEARER, sizeof(TEST_BEARER) -1, NX_WAIT_FOREVER); /* The first time is to test whether the bad response from server will be checked and found */ @@ -325,6 +327,7 @@ UINT code; TEST_HOST_NAME, sizeof(TEST_HOST_NAME) - 1, (UCHAR *)TEST_URI_PATH, sizeof(TEST_URI_PATH) - 1, (UCHAR *)TEST_PROTOCOL, sizeof(TEST_PROTOCOL) - 1, + (UCHAR *)TEST_BEARER, sizeof(TEST_BEARER) -1, NX_WAIT_FOREVER); if (status || client_websocket.nx_websocket_client_mutex.tx_mutex_ownership_count != 0) SET_ERROR_COUNTER(&error_counter, __FILE__, __LINE__); @@ -348,6 +351,7 @@ UINT code; TEST_HOST_NAME, sizeof(TEST_HOST_NAME) - 1, (UCHAR *)TEST_URI_PATH, sizeof(TEST_URI_PATH) - 1, (UCHAR *)TEST_PROTOCOL, sizeof(TEST_PROTOCOL) - 1, + (UCHAR *)TEST_BEARER, sizeof(TEST_BEARER) -1, NX_WAIT_FOREVER); if (status || client_websocket.nx_websocket_client_mutex.tx_mutex_ownership_count != 0) SET_ERROR_COUNTER(&error_counter, __FILE__, __LINE__); diff --git a/test/regression/websocket_test/netx_websocket_delete_test.c b/test/regression/websocket_test/netx_websocket_delete_test.c index a5be9cd6..de7c1c99 100644 --- a/test/regression/websocket_test/netx_websocket_delete_test.c +++ b/test/regression/websocket_test/netx_websocket_delete_test.c @@ -48,6 +48,7 @@ static void thread_server_entry(ULONG thread_input); #define TEST_HOST_NAME "1.2.3.4" #define TEST_URI_PATH "/test" #define TEST_PROTOCOL "test" +#define TEST_BEARER "" static UCHAR server_switch_101[] = { @@ -226,6 +227,7 @@ UINT code; TEST_HOST_NAME, sizeof(TEST_HOST_NAME) - 1, (UCHAR *)TEST_URI_PATH, sizeof(TEST_URI_PATH) - 1, (UCHAR *)TEST_PROTOCOL, sizeof(TEST_PROTOCOL) - 1, + (UCHAR *)TEST_BEARER, sizeof(TEST_BEARER) -1, NX_WAIT_FOREVER); if (status) diff --git a/test/regression/websocket_test/netx_websocket_disconnect_test.c b/test/regression/websocket_test/netx_websocket_disconnect_test.c index 449407c2..63723ef2 100644 --- a/test/regression/websocket_test/netx_websocket_disconnect_test.c +++ b/test/regression/websocket_test/netx_websocket_disconnect_test.c @@ -48,6 +48,7 @@ static void thread_server_entry(ULONG thread_input); #define TEST_HOST_NAME "1.2.3.4" #define TEST_URI_PATH "/test" #define TEST_PROTOCOL "test" +#define TEST_BEARER "" static UCHAR server_switch_101[] = { @@ -229,6 +230,7 @@ UINT code; TEST_HOST_NAME, sizeof(TEST_HOST_NAME) - 1, (UCHAR *)TEST_URI_PATH, sizeof(TEST_URI_PATH) - 1, (UCHAR *)TEST_PROTOCOL, sizeof(TEST_PROTOCOL) - 1, + (UCHAR *)TEST_BEARER, sizeof(TEST_BEARER) -1, NX_WAIT_FOREVER); if (status) diff --git a/test/regression/websocket_test/netx_websocket_fin_test.c b/test/regression/websocket_test/netx_websocket_fin_test.c index 82dadf7c..5a45e71b 100644 --- a/test/regression/websocket_test/netx_websocket_fin_test.c +++ b/test/regression/websocket_test/netx_websocket_fin_test.c @@ -47,6 +47,7 @@ static void thread_server_entry(ULONG thread_input); #define TEST_HOST_NAME "1.2.3.4" #define TEST_URI_PATH "/test" #define TEST_PROTOCOL "test" +#define TEST_BEARER "" static UCHAR server_switch_101[] = { @@ -233,6 +234,7 @@ UINT code; TEST_HOST_NAME, sizeof(TEST_HOST_NAME) - 1, (UCHAR *)TEST_URI_PATH, sizeof(TEST_URI_PATH) - 1, (UCHAR *)TEST_PROTOCOL, sizeof(TEST_PROTOCOL) - 1, + (UCHAR *)TEST_BEARER, sizeof(TEST_BEARER) -1, NX_WAIT_FOREVER); if(status) diff --git a/test/regression/websocket_test/netx_websocket_mask_test.c b/test/regression/websocket_test/netx_websocket_mask_test.c index dadbe8ec..e4784e22 100644 --- a/test/regression/websocket_test/netx_websocket_mask_test.c +++ b/test/regression/websocket_test/netx_websocket_mask_test.c @@ -49,6 +49,7 @@ static void thread_server_entry(ULONG thread_input); #define TEST_HOST_NAME "1.2.3.4" #define TEST_URI_PATH "/test" #define TEST_PROTOCOL "test" +#define TEST_BEARER "" static UCHAR server_switch_101[] = { @@ -235,6 +236,7 @@ UINT code; TEST_HOST_NAME, sizeof(TEST_HOST_NAME) - 1, (UCHAR *)TEST_URI_PATH, sizeof(TEST_URI_PATH) - 1, (UCHAR *)TEST_PROTOCOL, sizeof(TEST_PROTOCOL) - 1, + (UCHAR *)TEST_BEARER, sizeof(TEST_BEARER) -1, NX_WAIT_FOREVER); if(status) diff --git a/test/regression/websocket_test/netx_websocket_multi_instance_test.c b/test/regression/websocket_test/netx_websocket_multi_instance_test.c index 6641ad84..3c75b0cd 100644 --- a/test/regression/websocket_test/netx_websocket_multi_instance_test.c +++ b/test/regression/websocket_test/netx_websocket_multi_instance_test.c @@ -48,6 +48,7 @@ static void thread_server_entry(ULONG thread_input); #define TEST_HOST_NAME "1.2.3.4" #define TEST_URI_PATH "/test" #define TEST_PROTOCOL "test" +#define TEST_BEARER "" static UCHAR server_switch_101[] = { @@ -293,6 +294,7 @@ UINT code; TEST_HOST_NAME, sizeof(TEST_HOST_NAME) - 1, (UCHAR *)TEST_URI_PATH, sizeof(TEST_URI_PATH) - 1, (UCHAR *)TEST_PROTOCOL, sizeof(TEST_PROTOCOL) - 1, + (UCHAR *)TEST_BEARER, sizeof(TEST_BEARER) -1, NX_WAIT_FOREVER); if (status || client_websocket.nx_websocket_client_mutex.tx_mutex_ownership_count != 0) @@ -486,6 +488,7 @@ UINT code; TEST1_HOST_NAME, sizeof(TEST1_HOST_NAME) - 1, (UCHAR *)TEST1_URI_PATH, sizeof(TEST1_URI_PATH) - 1, (UCHAR *)TEST1_PROTOCOL, sizeof(TEST1_PROTOCOL) - 1, + (UCHAR *)TEST_BEARER, sizeof(TEST_BEARER) -1, NX_WAIT_FOREVER); if (status || client1_websocket.nx_websocket_client_mutex.tx_mutex_ownership_count != 0) diff --git a/test/regression/websocket_test/netx_websocket_non_block_test.c b/test/regression/websocket_test/netx_websocket_non_block_test.c index 5e93ffab..b3eb6a85 100644 --- a/test/regression/websocket_test/netx_websocket_non_block_test.c +++ b/test/regression/websocket_test/netx_websocket_non_block_test.c @@ -74,6 +74,7 @@ static void thread_server_entry(ULONG thread_input); #define TEST_HOST_NAME "1.2.3.4" #define TEST_URI_PATH "/test" #define TEST_PROTOCOL "test" +#define TEST_BEARER "" static UCHAR server_switch_101[] = { @@ -325,6 +326,7 @@ UINT code; TEST_HOST_NAME, sizeof(TEST_HOST_NAME) - 1, (UCHAR *)TEST_URI_PATH, sizeof(TEST_URI_PATH) - 1, (UCHAR *)TEST_PROTOCOL, sizeof(TEST_PROTOCOL) - 1, + (UCHAR *)TEST_BEARER, sizeof(TEST_BEARER) -1, NX_NO_WAIT); /* Set 0 to do non-blocking test */ if (status != NX_IN_PROGRESS || client_websocket.nx_websocket_client_mutex.tx_mutex_ownership_count != 0) SET_ERROR_COUNTER(&error_counter, __FILE__, __LINE__); @@ -376,6 +378,7 @@ UINT code; TEST_HOST_NAME, sizeof(TEST_HOST_NAME) - 1, (UCHAR *)TEST_URI_PATH, sizeof(TEST_URI_PATH) - 1, (UCHAR *)TEST_PROTOCOL, sizeof(TEST_PROTOCOL) - 1, + (UCHAR *)TEST_BEARER, sizeof(TEST_BEARER) -1, NX_NO_WAIT); if (status != NX_IN_PROGRESS || client_websocket.nx_websocket_client_mutex.tx_mutex_ownership_count != 0) SET_ERROR_COUNTER(&error_counter, __FILE__, __LINE__); diff --git a/test/regression/websocket_test/netx_websocket_one_frame_in_packets_test.c b/test/regression/websocket_test/netx_websocket_one_frame_in_packets_test.c index 5325323b..447eec11 100644 --- a/test/regression/websocket_test/netx_websocket_one_frame_in_packets_test.c +++ b/test/regression/websocket_test/netx_websocket_one_frame_in_packets_test.c @@ -47,6 +47,7 @@ static void thread_server_entry(ULONG thread_input); #define TEST_HOST_NAME "1.2.3.4" #define TEST_URI_PATH "/test" #define TEST_PROTOCOL "test" +#define TEST_BEARER "" static UCHAR server_switch_101[] = { @@ -233,6 +234,7 @@ UINT code; TEST_HOST_NAME, sizeof(TEST_HOST_NAME) - 1, (UCHAR *)TEST_URI_PATH, sizeof(TEST_URI_PATH) - 1, (UCHAR *)TEST_PROTOCOL, sizeof(TEST_PROTOCOL) - 1, + (UCHAR *)TEST_BEARER, sizeof(TEST_BEARER) -1, NX_WAIT_FOREVER); if (status) diff --git a/test/regression/websocket_test/netx_websocket_one_packet_with_multi_frames_test.c b/test/regression/websocket_test/netx_websocket_one_packet_with_multi_frames_test.c index ea865117..7310062a 100644 --- a/test/regression/websocket_test/netx_websocket_one_packet_with_multi_frames_test.c +++ b/test/regression/websocket_test/netx_websocket_one_packet_with_multi_frames_test.c @@ -47,6 +47,7 @@ static void thread_server_entry(ULONG thread_input); #define TEST_HOST_NAME "1.2.3.4" #define TEST_URI_PATH "/test" #define TEST_PROTOCOL "test" +#define TEST_BEARER "" static UCHAR server_switch_101[] = { @@ -293,6 +294,7 @@ UINT code; TEST_HOST_NAME, sizeof(TEST_HOST_NAME) - 1, (UCHAR *)TEST_URI_PATH, sizeof(TEST_URI_PATH) - 1, (UCHAR *)TEST_PROTOCOL, sizeof(TEST_PROTOCOL) - 1, + (UCHAR *)TEST_BEARER, sizeof(TEST_BEARER) -1, NX_WAIT_FOREVER); if (status || client_websocket.nx_websocket_client_mutex.tx_mutex_ownership_count != 0) diff --git a/test/regression/websocket_test/netx_websocket_opcode_test.c b/test/regression/websocket_test/netx_websocket_opcode_test.c index 02d9d471..07b10cdf 100644 --- a/test/regression/websocket_test/netx_websocket_opcode_test.c +++ b/test/regression/websocket_test/netx_websocket_opcode_test.c @@ -15,6 +15,7 @@ extern void test_control_return(UINT); #define TEST_HOST_NAME "1.2.3.4" #define TEST_URI_PATH "/test" #define TEST_PROTOCOL "test" +#define TEST_BEARER "" /* Define device drivers. */ extern void _nx_ram_network_driver_1024(NX_IP_DRIVER *driver_req_ptr); @@ -47,6 +48,7 @@ static void thread_server_entry(ULONG thread_input); #define TEST_SERVER_ADDRESS IP_ADDRESS(1,2,3,4) #define TEST_CLIENT_ADDRESS IP_ADDRESS(1,2,3,5) #define TEST_SERVER_PORT 80 +#define TEST_BEARER "" static UCHAR server_switch_101[] = { @@ -233,6 +235,7 @@ UINT code; TEST_HOST_NAME, sizeof(TEST_HOST_NAME) - 1, (UCHAR *)TEST_URI_PATH, sizeof(TEST_URI_PATH) - 1, (UCHAR *)TEST_PROTOCOL, sizeof(TEST_PROTOCOL) - 1, + (UCHAR *)TEST_BEARER, sizeof(TEST_BEARER) -1, NX_WAIT_FOREVER); if(status) diff --git a/test/regression/websocket_test/netx_websocket_send_chain_packets_test.c b/test/regression/websocket_test/netx_websocket_send_chain_packets_test.c index 81d021b1..218c236f 100644 --- a/test/regression/websocket_test/netx_websocket_send_chain_packets_test.c +++ b/test/regression/websocket_test/netx_websocket_send_chain_packets_test.c @@ -47,6 +47,7 @@ static void thread_server_entry(ULONG thread_input); #define TEST_HOST_NAME "1.2.3.4" #define TEST_URI_PATH "/test" #define TEST_PROTOCOL "test" +#define TEST_BEARER "" static UCHAR server_switch_101[] = { @@ -265,6 +266,7 @@ UINT code; TEST_HOST_NAME, sizeof(TEST_HOST_NAME) - 1, (UCHAR *)TEST_URI_PATH, sizeof(TEST_URI_PATH) - 1, (UCHAR *)TEST_PROTOCOL, sizeof(TEST_PROTOCOL) - 1, + (UCHAR *)TEST_BEARER, sizeof(TEST_BEARER) -1, NX_WAIT_FOREVER); if (status) -- cgit v1.3.1