code wiki / (root) / nx_tls13_server_session_recv_ch.nx

nx_tls13_server_session_recv_ch.nx

buildroot/runtime/nx_tls13_server_session_recv_ch.nx

13339 B295 linesdepth 11pulls 24 transitivereach 38 importersview sourcekind librarytopic tls13
docsdependenciesstructsconstsfunctions

about

nx_tls13_server_session_recv_ch.nx -- server-side ClientHello receive step (transitions Tls13ServerSession INIT -> CH_RECEIVED). Composes: tls13_client_hello_parse (parse handshake message into offsets) tls13_ext_find (locate key_share extension) nx_tls13_transcript_update (feed CH bytes into transcript hash) Side effects on session: - client_x25519_pub buffer allocated + filled with 32 bytes from the X25519 KeyShareEntry inside the key_share extension - transcript hash state advanced by the ClientHello message - state advanced to NX_TLS13_SSTATE_CH_RECEIVED Public API: nx_tls13_server_session_recv_ch(session, buf, n) buf, n -- bytes starting at the Handshake header (msg_type = 1) Returns NX_TLS13_SSESSION_OK or a non-OK verdict. Per Cardinals 9 + 12 + 19: single-responsibility step; defensive state + null checks at boundaries; composes shipped primitives without modifying any. license_tier: ORIGINAL

dependencies 5 imports · 17 importers

nx_syscalls.nx nx_tls13.nx nx_tls13_hello.nx nx_tls13_transcript.nx nx_tls13_server_session.nx nx_tls13_server_session_recv_c nx_edge_daemon.nx nx_edge_serve_static_test.nx nx_pages_https_daemon.nx nx_tls13_p256_loopback_test.nx nx_tls13_server_full_handshake_tes nx_tls13_server_session_app_data_t nx_tls13_server_session_derive_hs_ nx_tls13_server_session_derive_tra nx_tls13_server_session_emit_certi nx_tls13_server_session_emit_cv_te

diagram shows first 10 each side; +0 more imports, +7 more importers in the complete lists below.

imports: nx_syscalls.nxnx_tls13.nxnx_tls13_hello.nxnx_tls13_transcript.nxnx_tls13_server_session.nx

imported by: nx_edge_daemon.nxnx_edge_serve_static_test.nxnx_pages_https_daemon.nxnx_tls13_p256_loopback_test.nxnx_tls13_server_full_handshake_test.nxnx_tls13_server_session_app_data_test.nxnx_tls13_server_session_derive_hs_test.nxnx_tls13_server_session_derive_traffic_test.nxnx_tls13_server_session_emit_certificate_test.nxnx_tls13_server_session_emit_cv_test.nxnx_tls13_server_session_emit_ee_test.nxnx_tls13_server_session_emit_sf_test.nxnx_tls13_server_session_emit_sh_test.nxnx_tls13_server_session_recv_cf_test.nxnx_tls13_server_session_recv_ch_test.nxnx_tls13_server_session_run.nxnx_tls13_server_session_run_h2.nx

structs

none

consts

32const NX_TLS13_RECV_CH_MIN_CH_BYTES: i64 = 64

functions

41func nx_tls13_recv_ch_extract_x25519_pub(
72func nx_tls13_recv_ch_extract_p256_pub(
102func nx_tls13_recv_ch_sg_has_x25519(ext_data: *u8, ext_data_len: i64) -> i64
120func nx_tls13_recv_ch_pick_cipher(buf: *u8, off: i64, len: i64) -> i64
133func nx_tls13_server_session_recv_ch(