code wiki / _hdl_build / nx_status_daemon_gate.nx

nx_status_daemon_gate.nx

buildroot/runtime/_hdl_build/nx_status_daemon_gate.nx

7814 B161 linesdepth 17pulls 49 transitivereach 0 importersview sourcekind gate/prooftopic status
docsdependenciesstructsconstsfunctions

about

nx_status_daemon_gate.nx -- SOVEREIGN in-process referee for the modern-auth status daemon. NO socket, NO curl, NO shell -- it arms a realm + registers an admin via the real Modern Auth, then feeds crafted HTTP request BYTES straight into the pure router sd_handle and asserts the response bytes. The whole login -> token -> gated-content -> deny flow, proven inside one Nishi organ. T1 GET /status -> 200 + SPA shell (public) T2 POST /status/login ok -> 200 + {"token":...} (mint a real no-cookie token) T3 GET /content WITH tok -> 200 + the gated body marker T4 GET /content NO tok -> 401 (default-deny) T5 POST /login WRONG pw -> 401 (and same shape as unknown-handle) T6 GET /content BAD tok -> 401 (forged token rejected) GREEN iff T1..T6 hold. Sovereign: nx_status_daemon + nx_modern_auth_flow + nx_syscalls. license_tier: ORIGINAL

dependencies 3 imports · 0 importers

nx_status_daemon.nx nx_modern_auth_flow.nx nx_syscalls.nx nx_status_daemon_gate.nx

imports: nx_status_daemon.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 g_w sys_write g_trunc sys_openat_wr sys_close sys_openat_wr ↻ sys_exit sys_write ↻ g_len 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

structs

none

consts

none

functions

16func g_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: g_rowmain calls 1: sys_write
17func g_len(s: *u8) -> i64 { var n: i64 = 0; while s[n] != (0 as u8) { n = n + 1 } return n }
18func g_row(name: *u8, ok: i64) -> i64
called by 1: main calls 1: g_w
25func g_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 1: main
26func g_cat_n(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 1: main
27func g_trunc(path: *u8) -> i64 { let fd: i64 = sys_openat_wr(path, 0x180); if fd >= 0 { sys_close(fd) } return 0 }
called by 1: main calls 2: sys_openat_wrsys_close
30func g_starts(buf: *u8, n: i64, s: *u8) -> i64
called by 1: main calls 1: g_len
38func g_contains(hay: *u8, n: i64, needle: *u8) -> i64
called by 1: main calls 1: g_len
51func g_extract_token(resp: *u8, n: i64, out: *u8) -> i64
called by 1: main
75func main() -> i64