code wiki / wiki / nx_wiki_https_daemon_mv.nx

nx_wiki_https_daemon_mv.nx

buildroot/runtime/wiki/nx_wiki_https_daemon_mv.nx

20045 B454 linesdepth 18pulls 135 transitivereach 0 importersview sourcekind tooltopic wiki
docsdependenciesstructsconstsfunctions

about

nx_wiki_https_daemon_mv.nx -- V-HOST-2.5: multi-vhost wiki HTTPS daemon. One substrate process serves N sovereign wiki sites (e.g., nishifamily.com + andelinwest.com + jasonewest.com). Composes: wiki/nx_wiki_vhost_table -- per-host wiki state registry wiki/nx_wiki_https_daemon -- single-vhost reference for per-conn pattern All existing TLS / wiki / search / archive / artifact primitives Per Cardinal 19 (API stability): NEW file parallel to single-vhost daemon. Existing nx_wiki_https_daemon unchanged. Operator picks which to boot based on site count. V-HOST-2.5 SCOPE: - Multi-SAN cert (one cert covering all hosted domains; SAN list per V-HOST-4d nx_cert_gen) - Per-Host-header dispatch via NxWikiVHostTable - Per-site doc_store + archive_store + artifact_store - Shared admin_cfg + search_flow (V+1: per-site) - Fallback vhost on no match (or 404) V-HOST-2.5 NON-SCOPE (queued): - SNI-aware cert selection during TLS handshake (V-HOST-2.5.5) - Per-site cert (V-HOST-2.5.5) - Per-site admin auth (V-HOST-2.5.7) - Hot-reload vhost table (V-PROV-3) Status: V-HOST-2.5. 2026-05-27.

dependencies 19 imports · 0 importers

nx_syscalls.nx nx_csprng.nx nx_http_server.nx nx_http_io.nx nx_http_header_find.nx nx_tls13_server_session.nx nx_tls13_server_session_run.nx nx_tls13_server_session_app_data.n nx_modern_auth_flow.nx nx_user_account_store.nx nx_wiki_https_daemon_mv.nx

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

imports: nx_syscalls.nxnx_csprng.nxnx_http_server.nxnx_http_io.nxnx_http_header_find.nxnx_tls13_server_session.nxnx_tls13_server_session_run.nxnx_tls13_server_session_app_data.nxnx_modern_auth_flow.nxnx_user_account_store.nxnx_search_handler_flow.nxnx_kv_store.nxnx_search_inverted.nxnx_wiki_routes.nxnx_wiki_index_builder.nxnx_wiki_archive_router.nxnx_artifact_store.nxnx_wiki_vhost_table.nxnx_wiki_content_loader.nx

imported by: nobody (leaf or entry point)

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

main sys_mmap sys_read_file sys_openat_rd sys_lseek sys_mmap ↻ sys_read sys_close nx_csprng_fill sys_mmap ↻ nx_csprng_urandom_path sys_openat_rd ↻ sys_read ↻ sys_close ↻ sys_mkdir nx_uas_server_keys_load_or sys_mmap ↻ sys_read_file ↻ _uas_hex_dec _uas_nib nx_csprng_fill ↻ 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 u256_alloc ↻ _opq_reduce_48be_mod_n

structs

none

consts

52const NX_MV_OK: i64 = 0
53const NX_MV_BAD_INPUT: i64 = 3830
54const NX_MV_CERT_LOAD_FAILED: i64 = 3831
55const NX_MV_BIND_FAILED: i64 = 3832
56const NX_MV_HS_FAILED: i64 = 3833
57const NX_MV_RECV_FAILED: i64 = 3834
58const NX_MV_PARSE_FAILED: i64 = 3835
59const NX_MV_NO_VHOST: i64 = 3836
60const NX_MV_DISPATCH_FAILED: i64 = 3837
61const NX_MV_SEND_FAILED: i64 = 3838
64const NX_MV_LISTEN_PORT: i64 = 8443
65const NX_MV_BACKLOG: i64 = 32
66const NX_MV_REQ_REC_CAP: i64 = 16384
67const NX_MV_PLAIN_CAP: i64 = 16384
68const NX_MV_RESP_CAP: i64 = 1048576
69const NX_MV_OUT_REC_CAP: i64 = 1048768
70const NX_MV_REQUEST_BUDGET: i64 = 100000
75const NX_MV_DEFAULT_CERT_PATH: *u8 = "/volume1/homes/elderwesto/nishihost/certs/multi_san_cert.der" as *u8
76const NX_MV_DEFAULT_PRIV_PATH: *u8 = "/volume1/homes/elderwesto/nishihost/certs/multi_san_priv.bin" as *u8
79const NX_MV_AUTH_DIR: *u8 = "/volume1/homes/elderwesto/nishihost/auth" as *u8
80const NX_MV_AUTH_KEYS_PATH: *u8 = "/volume1/homes/elderwesto/nishihost/auth/nishi_auth.keys.v1" as *u8
81const NX_MV_AUTH_STORE_PATH: *u8 = "/volume1/homes/elderwesto/nishihost/auth/nishi_auth_accounts.v1.log" as *u8
83const NX_MV_REALM: *u8 = "Nishi Wiki" as *u8
84const NX_MV_REALM_N: i64 = 10
85const NX_MV_ADMIN_USER: *u8 = "elderwesto" as *u8
86const NX_MV_ADMIN_USER_N: i64 = 10
91const NX_MV_CONTENT_MINIMAL: i64 = 0 // landing only (placeholder sites)
92const NX_MV_CONTENT_FULL: i64 = 1 // every charter (nishifamily.com)
93const NX_MV_CONTENT_PORTFOLIO: i64 = 2 // curated 6-charter subset (jasonewest.com)

functions

97func _nx_mv_emit_404_response(out: *u8, out_n: *i64, cap: i64) -> i64
called by 1: nx_mv_handle_one
123func nx_mv_handle_one(
215func nx_mv_setup_site(
269func main() -> i64