code wiki / _hdl_build / nx_email_mta_gate.nx

nx_email_mta_gate.nx

buildroot/runtime/_hdl_build/nx_email_mta_gate.nx

6977 B148 linesdepth 4pulls 6 transitivereach 0 importersview sourcekind gate/prooftopic email
docsdependenciesstructsconstsfunctions

about

nx_email_mta_gate.nx -- GATE for EMAIL R7 (receiving MTA, nx_email_mta). The INTEGRATION CAPSTONE: a full inbound SMTP session composed across rungs -- R7 command parse + policy + FSM, R4 (nx_pop3_dedot) to unstuff the DATA stream, R3 (nx_email_mailbox over nx_seg_store) to DELIVER, then fetch the stored message back BYTE-IDENTICAL = receive->store proven end to end. COMPLETENESS : EHLO/MAIL/RCPT/DATA/QUIT classified + correct reply codes (250/250/250/354/221); DATA dot-unstuffed; delivered + fetched byte-exact. POLICY/SEC : RCPT for our domain accepted; RCPT to a foreign domain REFUSED with 550 (open-relay defense). NEG-CONTROL : a command out of sequence (RCPT before MAIL) -> 503. Evidence -> knowledge/status/email_mta.log (MTAGATE ... verdict=GREEN) license_tier: ORIGINAL

dependencies 4 imports · 0 importers

nx_email_mta.nx nx_email_retrieve.nx nx_email_mailbox.nx nx_syscalls.nx nx_email_mta_gate.nx

imports: nx_email_mta.nxnx_email_retrieve.nxnx_email_mailbox.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 sys_mkdir sys_openat_wr sys_close sys_mmap nx_mta_parse_cmd mta_verb_eq mta_upper slen nx_mta_reply_for nx_mta_extract_addr nx_mta_rcpt_accept mta_upper ↻ nx_pop3_dedot memeq nx_mbox_deliver ss_begin ss_begin_cap sys_mmap ↻ ss_add ss_add2 ss_w32 ss_len ss_commit ss_segid_ok sys_mmap ↻ ss_cat ss_catn sys_mmap ↻ sys_write ss_write_seg ss_segid_ok ↻ sys_mmap ↻ ss_cat ↻ ss_catn ↻ sys_write ↻ ss_segname ss_cat ↻ ss_catn ↻ ss_writefile

structs

none

consts

23const MTA_LOG: *u8 = "knowledge/status/email_mta.log"
24const MTA_PREFIX: *u8 = "knowledge/status/mta_test/"
25const OUR_DOMAIN: *u8 = "nishi.test"

functions

27func ew(fd: i64, s: *u8) -> i64 { var n: i64 = 0; while s[n] != (0 as u8) { n = n + 1 } sys_write(fd, s, n); return 0 }
called by 2: epfmain calls 1: sys_write
28func ewn(fd: i64, v: i64) -> i64
called by 1: main calls 2: sys_mmapsys_write
37func epf(fd: i64, label: *u8, pass: i64) -> i64 { ew(fd, label); if pass == 1 { ew(fd, "PASS" as *u8) } else { ew(fd, "FAIL" as *u8) } return 0 }
called by 1: main calls 1: ew
38func slen(s: *u8) -> i64 { var n: i64 = 0; while s[n] != (0 as u8) { n = n + 1 } return n }
called by 1: main
39func memeq(a: *u8, b: *u8, len: i64) -> i64 { var i: i64 = 0; while i < len { if a[i] != b[i] { return 0 } i = i + 1 } return 1 }
called by 1: main
41func main() -> i64