code wiki / _hdl_build / nx_media_e2e_gate.nx

nx_media_e2e_gate.nx

buildroot/runtime/_hdl_build/nx_media_e2e_gate.nx

9234 B152 linesdepth 15pulls 48 transitivereach 0 importersview sourcekind gate/prooftopic media
docsdependenciesstructsconstsfunctions

about

nx_media_e2e_gate.nx -- SOVEREIGN end-to-end test of nishifamily.com/media (no shells/curl). Arms a realm + registers a FAMILY member via real Modern Auth, forks the REAL nx_media_server, then drives it over raw sockets: family login works; the SFW library path passes the allowlist; the OWNER-ONLY recordings/NSFW (/mnt/nas_logging) are DENIED (403) even WITH a valid family token; and no token -> 401 (the wall). PRE: ./_offc/nx_sov_build_run.elf nx_media_server --build-only (produces /tmp/nx_media_server.sov.elf) Sovereign: nx_http_client + nx_modern_auth_flow + nx_syscalls. license_tier: ORIGINAL

dependencies 4 imports · 0 importers

nx_http_client.nx nx_connect.nx nx_modern_auth_flow.nx nx_syscalls.nx nx_media_e2e_gate.nx

imports: nx_http_client.nxnx_connect.nxnx_modern_auth_flow.nxnx_syscalls.nx

imported by: nobody (leaf or entry point)

call flow from main pre-order; caps 40 nodes / depth 6 declared; ↻ = already shown

main me_w sys_write me_trunc sys_openat_wr sys_close sys_mmap nx_uas_server_keys_load_or sys_mmap ↻ sys_read_file sys_openat_rd sys_lseek sys_mmap ↻ sys_read sys_close ↻ _uas_hex_dec _uas_nib nx_csprng_fill sys_mmap ↻ nx_csprng_urandom_path sys_openat_rd ↻ sys_read ↻ sys_close ↻ nx_opq_derive_keypair sys_mmap ↻ _voprf_load_context_string u256_alloc nx_scratch nx_scratch_init sys_mmap ↻ nx_scratch_oom sys_write ↻ sys_exit sys_mmap ↻ nx_opq_hash_to_scalar sys_mmap ↻ nx_h2c_expand_message_xmd_ sys_mmap ↻ _h2c_i2osp_1 _h2c_i2osp_2

structs

none

consts

12const ME_PORT: i64 = 8795
13const ME_DAEMON: *u8 = "/tmp/nx_media_server.sov.elf" as *u8

functions

15func me_w(s: *u8) -> i64 { var n: i64=0; while s[n]!=(0 as u8){n=n+1} sys_write(1,s,n); return 0 }
called by 2: me_rowmain calls 1: sys_write
16func me_len(s: *u8) -> i64 { var n: i64=0; while s[n]!=(0 as u8){n=n+1} return n }
called by 1: main
17func me_cat(d: *u8, o: i64, s: *u8) -> i64 { var i: i64=0; while s[i]!=(0 as u8){d[o+i]=s[i];i=i+1} return o+i }
called by 2: me_getfilemain
18func me_catn(d: *u8, o: i64, s: *u8, n: i64) -> i64 { var i: i64=0; while i<n{d[o+i]=s[i];i=i+1} return o+n }
called by 2: me_getfilemain
19func me_has(buf: *u8, n: i64, s: *u8) -> i64
called by 1: main
26func me_row(name: *u8, ok: i64) -> i64 { if ok==1 { me_w(" PASS " as *u8) } else { me_w(" FAIL " as *u8) } me_w(name); me_w("\n" as *u8); return ok }
called by 1: main calls 1: me_w
27func me_trunc(p: *u8) -> i64 { let fd: i64=sys_openat_wr(p, 0x180); if fd>=0 { sys_close(fd) } return 0 }
called by 1: main calls 2: sys_openat_wrsys_close
28func me_extract_token(resp: *u8, n: i64, out: *u8) -> i64
called by 1: main
38func me_send(reqbuf: *u8, reqlen: i64, resp: *u8, cap: i64) -> i64
50func me_getfile(req: *u8, path: *u8, tok: *u8, toklen: i64) -> i64
called by 1: main calls 2: me_catme_catn
59func main() -> i64