summaryrefslogtreecommitdiff
path: root/test
AgeCommit message (Collapse)Author
2026-06-06Added copyright headers to files missing themFrédéric Desbiens
Applied the standard MIT license header to all project-owned C, header, assembly, shell, and Python files that were missing a copyright notice. Third-party, toolchain startup, and auto-generated files were excluded. Co-authored-by: Copilot <[email protected]>
2026-06-04chore: update submodules to latest dev commitsFrédéric Desbiens
2026-05-29Added BSD recvfromto support (#376)mzgrebnak
* recvfromto support * nx_bsd_inet_aton, disabling other format than four numbers separated by dots. Otherwise used in nx_bsd_inet_pton It accepts unallowed format of IP address. * bsd: address PR review feedback - Fix build failure: add missing nx_bsd_recvfromto() prototype to nxd_bsd.h near the other receive prototypes. The nx_bsd_recvfromto macro maps to recvfromto, but without a prior declaration the compiler emits -Werror=missing-declarations. - Revert inet_aton() change: restore the 1-part, 2-part and 3-part abbreviated IPv4 address formats (a.b.c and a.b). The PR removed them, breaking existing tests that rely on these forms. - Add IPv6 destination address support in recvfromto(): when the receiving BSD socket is AF_INET6, extract the destination IPv6 address from the IPv6 packet header and populate a sockaddr_in6 in toAddr, mirroring the existing IPv4 path. - Add regression test netx_bsd_recvfromto_test covering: * recvfromto() populates fromAddr (sender) and toAddr (destination) with correct address/port values for IPv4 UDP * recvfromto() with NULL toAddr/toAddrLen works like recvfrom() * inet_aton() still accepts abbreviated a.b and a.b.c forms Register test in regression/CMakeLists.txt. --------- Co-authored-by: Frédéric Desbiens <[email protected]> Co-authored-by: Copilot <[email protected]>
2026-05-29Implemented BSD select improvements (#375)mzgrebnak
* initial support * bsd: address PR review feedback - Fix accept() regression: preserve accepted socket FD even when recreating the secondary listen socket fails due to slot exhaustion. Set secondary_socket_id = NX_BSD_MAX_SOCKETS to invalidate the slot for future accept() calls, but still return the already-accepted FD. - Restore select() writefds 'not in use' case: closed/unallocated descriptors must be reported immediately as writable per BSD semantics. Several tests (netx_bsd_tcp_basic_blocking_test, _rcvbuf_test, _getaddrinfo_test) depend on this behaviour. - Fix select() exceptfds race with readfds: the readfds scan calls nx_tcp_socket_receive() which dequeues the head packet; a subsequent peek at nx_tcp_socket_receive_queue_head in the exceptfds scan then finds NULL. Move the URG/push-flag check into the readfds scan immediately after the successful dequeue while the packet is still accessible. - Add regression test netx_bsd_select_improvements_test covering: * zero-timeout select clears all fdsets without blocking * normal TCP data sets readfds, not exceptfds * a not-in-use descriptor appears in writefds Register test in regression/CMakeLists.txt. --------- Co-authored-by: Frédéric Desbiens <[email protected]> Co-authored-by: Copilot <[email protected]>
2026-05-28Implemented BSD socket options improvements (#374)mzgrebnak
● - initial support - bsd: address PR review feedback - Fix build failure: so_linger was stored on NX_TCP_SOCKET which has no such field. Linger state is now kept in NX_BSD_SOCKET using the new nx_bsd_option_linger field and the existing NX_BSD_SOCKET_ENABLE_OPTION_LINGER flag. - Fix sign-conversion warning in setsockopt(IP_TOS): read the value as INT, validate range 0..0xFF, then cast to ULONG. - Reject out-of-range INT values (< 0 or > 255) in setsockopt(IP_TTL). - Add lower-bound check for IPPROTO_IP options in getsockopt and setsockopt so that SO_* option numbers are no longer silently accepted at the IPPROTO_IP level. - Add null check for raw sockets in IP_TOS and IP_TTL get/set paths; return ENOPROTOOPT instead of dereferencing a NULL pointer. - Validate *option_length before writing in SO_BROADCAST, TCP_NODELAY, SO_LINGER and IP_TOS getsockopt paths; set *option_length to the actual size returned on success. - Separate ENOPROTOOPT (wrong socket type) from EINVAL (wrong length) in SO_LINGER get/set error handling. - Remove unused so_linger local variable from getsockopt. - Replace C++-style // comments in the close/linger path with C99 /* */ comments. - Add regression test netx_bsd_socket_options_test covering SO_LINGER, IP_TOS, IP_TTL, SO_BROADCAST and TCP_NODELAY round-trips and error paths; register in bsd_test_cases in regression/CMakeLists.txt. Co-authored-by: Frédéric Desbiens [email protected] Co-authored-by: Copilot [email protected]
2026-05-28Ftp server: implemented lcall to ogout callback on client timeout for ↵Valentin Batz
consistency (#372) ftp server: call logout callback on client timeout for consistency Otherwise this is not symmetric with the other case where logout is also called when the client disconnects. Refactor performing the logout into a separate helper to avoid duplication. Fix security bug: stale authenticated flag after inactivity timeout. Moving nx_ftp_client_request_authenticated = NX_FALSE into the _nx_ftp_server_logout_client helper ensures every call site (QUIT, disconnect, and now timeout) consistently resets auth state. Before this fix, a new TCP connection accepted on a timed-out socket slot could issue commands without USER/PASS. Remove the now-redundant per-callsite authenticated resets in the QUIT handler and the control-disconnect processing path. Fix AUTHOR field in _nx_ftp_server_logout_client (was 'TBD'). Remove trailing whitespace from the new function comment block and from the blank line following the QUIT logout call. Add regression test netx_ftp_server_activity_timeout_test that forces the inactivity timer to fire, asserts the logout callback is invoked, uses a raw TCP connection to verify commands are rejected with 530 before USER/PASS (demonstrating the auth-reset fix), and confirms a fresh authenticated session works normally. Co-authored-by: Frédéric Desbiens <[email protected]> Co-authored-by: Copilot <[email protected]>
2026-05-28Added support for parsing ASN.1 GeneralizedTime in X509 Certificates (#267)Simon Scurrell
* add support for parsing ASN.1 GeneralizedTime * fix validity format field error * changed CertMsg notBefore format to be in GeneralizedTime format * changed notBefore time to be in GeneralizedTime format * changed notAfter time to be in GeneralizedTime format * expand tests for invalid date format * update function comments * update function comments --------- Co-authored-by: Frédéric Desbiens <[email protected]>
2026-05-28Fixed issues in the PSK implementation (#386)Frédéric Desbiens
* Fixed server PSK identity selection for ECDHE-PSK * Fixed selected client PSK identity preservation Implemented logic to cache the PSK store entry selected by the server identity hint so ClientKeyExchange emits the matching identity when clients use the PSK store path. Cast the ECC supported-group test value to USHORT so the PSK identity regression builds cleanly with -Werror on Linux. Assisted-By: Codex (OpenAI GPT-5.5) <[email protected]>
2026-05-25Fixed key_size_in_bits shift direction in _nx_crypto_method_hkdf_init (#265)Simon Scurrell
* key_size_in_bits should be shifted right to convert to bytes * Add HKDF init length regression coverage --------- Co-authored-by: Frédéric Desbiens <[email protected]>
2026-03-07Updated copyright headers and version strings. Removed version historyFrédéric Desbiens
2026-03-06Merge branch 'eclipse-threadx:dev' into devFrédéric Desbiens
2026-03-06Restored build and run scripts to their prior versions.Frédéric Desbiens
2026-03-06Updated FileX and TreadX submodules to the latest commitv6.5.0.202601_preFrédéric Desbiens
2026-03-06Added regression test and enhanced select fix for Issue #366Frédéric Desbiens
2025-10-06Fixed issues with websocket changes and updated tests (#345)Frédéric Desbiens
* Restored ECC_CIPHERSUITE ifdef code. * Remove unused variables. * Replaced faulty comparisons with ifdefs. * Fixed regression tests.
2025-09-29Merge pull request #313 from mdkf/devFrédéric Desbiens
#312 Handle HTTP code 429
2025-09-29Merge commit from forkFrédéric Desbiens
Fix length checking in supported version extension, add test
2025-05-22Add length check for supported versions extension and regression testHuan Nguyen
2025-05-22Fix broken bounds check and add regression testHuan Nguyen
The check is in the function _nx_secure_tls_process_clienthello_psk_extension and was reported as a vulnerability.
2025-05-15Update FileX submoduleHuan Nguyen
Need to update to include the CMake version changes so that the NetXDuo build scripts succeed.
2025-05-15Try to help user if build script failsHuan Nguyen
A common error condition is that the user cloned the repo without the --recursive option. We'll try to get the submodules for them. We remove the git clone command because the submodule update should fix the issue.
2025-05-14Add FileX and ThreadX as proper submodulesHuan Nguyen
2025-05-14Remove submodules improperly added via cloneHuan Nguyen
2025-04-17Update testsMichael Fowler
2025-03-18Updated version numbers to 6.4.3Frédéric Desbiens
2025-02-20.gitgnore tweak.Frédéric Desbiens
2025-02-20Updated the CMake minimal version.Frédéric Desbiens
2024-01-29Update copyright.Bo Chen (from Dev Box)
2024-01-12Update link in the run.shTiejunZhou
2024-01-11Update run.shEric Wolz
2024-01-11Update run.shEric Wolz
2024-01-11Update run.shEric Wolz
2024-01-11Update run.shEric Wolz
2024-01-11Update run.shEric Wolz
2024-01-11Update run.shEric Wolz
2023-12-28Updated version and date for 6.4.0 (#229)v6.4.0_relBo Chen
2023-12-28Removed IoT Security Module. (#227)Bo Chen
2023-12-27Add condition check fo mDNS test case and fix PPPoE in ram driverTiejunZhou
2023-12-27Add missing test case to netxtestcontrol.cTiejunZhou
2023-12-27Fix regression testTiejunZhou
2023-12-27Fix compiler issuesTiejunZhou
2023-12-27Fix interface used in ram network driverTiejunZhou
2023-12-27Add test infrastructure for TSNTiejunZhou
2023-12-26Add MQTT interoperability test. (#223)Wenhui Xie
2023-12-24Fixed unstable test case. (#224)Wenhui Xie
2023-12-22Add secure interoperability test. (#222)Wenhui Xie
2023-12-14Add secure and crypto regression test. (#218)Wenhui Xie
2023-12-13Add Azure IoT test. (#217)Wenhui Xie
2023-12-11Add netxduo64 and fast test. (#216)Wenhui Xie
2023-12-05Add MQTT regression test. (#215)Wenhui Xie