docs: audit server information router stubs

This commit is contained in:
Mario Fetka
2026-06-02 17:48:18 +00:00
parent 41ac880916
commit c7ed10a290
3 changed files with 63 additions and 19 deletions

31
AI.md
View File

@@ -766,25 +766,24 @@ Latest endpoint audit checkpoint from patch 0235:
- Remaining `123/40` and higher protocol-stack, router/SAP, server/set-command,
and compression information selectors still need later follow-up auditing.
Latest endpoint audit checkpoint from patch 0236:
Latest endpoint audit checkpoint from patch 0237:
- SDK `0x2222/123` / wire `0x7b` server information/statistics now records the
protocol-stack/media selector run behind `MARS_NWE_4` in `src/nwconn.c`:
`123/40` Active Protocol Stacks, `123/41` Get Protocol Stack Configuration
Information, `123/42` Get Protocol Stack Statistics Information, `123/43`
Get Protocol Stack Custom Information, `123/44` Get Protocol Stack Numbers
by Media Number, `123/45` Get Protocol Stack Numbers by LAN Board Number,
`123/46` Get Media Name by Media Number, and `123/47` Get Loaded Media
Number.
router/SAP/server/source selector run behind `MARS_NWE_4` in `src/nwconn.c`:
`123/50` Get General Router and SAP Information, `123/51` Get Network
Router Information, `123/52` Get Network Routers Information, `123/53` Get
Known Networks Information, `123/54` Get Server Information, `123/55` Get
Server Sources Information, and `123/56` Get Known Servers Information.
- This block was checked against the local NDK/Core Protocols PDF plus the
uploaded WebSDK/include `nwfse` material. PDF/WebSDK/includes jump from
`123/47` to the router/SAP group at `123/50`; do not invent `123/48` or
`123/49` selector slots unless a new primary source is found.
`123/56` to the server set-command group at `123/60`; do not invent
`123/57`..`123/59` selector slots unless a new primary source is found.
- Future ownership remains the `servermgmt`/information provider boundary with
transport/provider input for real protocol-stack/media binding state. Do not
synthesize fake protocol stacks, LAN bindings, or loaded media types, and do
not route these read-only data-plane requests through `nwserv`.
- Remaining `123/50` and higher router/SAP, server/source/set-command, and
compression information selectors still need later follow-up auditing.
IPX/SAP/RIP transport/provider input for real routing and advertised-server
state. Do not synthesize fake routers, known networks, SAP server lists, or
server-source records, and do not route these read-only data-plane requests
through `nwserv`.
- Remaining `123/60` and higher server set-command and compression information
selectors still need later follow-up auditing.
Next patch number should be `0237`.
Next patch number should be `0238`.

11
TODO.md
View File

@@ -287,9 +287,14 @@ SDK-listed blocks that do not currently show a top-level handler in
Statistics Information, `123/43` Get Protocol Stack Custom Information,
`123/44` Get Protocol Stack Numbers by Media Number, `123/45` Get Protocol
Stack Numbers by LAN Board Number, `123/46` Get Media Name by Media Number,
and `123/47` Get Loaded Media Number. The remaining `123/50` and higher
router/SAP, set-command, server/source, and compression information selectors
still need follow-up auditing before any additional stubs are added.
and `123/47` Get Loaded Media Number. Patch 0237 adds the router/SAP and
server/source selector run: `123/50` Get General Router and SAP Information,
`123/51` Get Network Router Information, `123/52` Get Network Routers
Information, `123/53` Get Known Networks Information, `123/54` Get Server
Information, `123/55` Get Server Sources Information, and `123/56` Get Known
Servers Information. The remaining `123/60` and higher set-command and
compression information selectors still need follow-up auditing before any
additional stubs are added.
Follow-up:

View File

@@ -7768,6 +7768,46 @@ static int handle_ncp_serv(void)
* Keep this with the protocol-stack/provider
* model; do not synthesize fake media types.
*/
case 0x32: /* 123/50 Get General Router and SAP
* Information.
* Reply carries RIP/SAP socket and router/SAP
* flags. Future owner is servermgmt plus the
* IPX/SAP/RIP transport state; do not expose
* guessed router status.
*/
case 0x33: /* 123/51 Get Network Router Information.
* Request selects a NetworkNumber. Reply
* returns one router information structure for
* that network from provider-backed RIP state.
*/
case 0x34: /* 123/52 Get Network Routers Information.
* Request selects NetworkNumber and carries
* StartNumber. Reply returns a window of
* RoutersInfo records.
*/
case 0x35: /* 123/53 Get Known Networks Information.
* Request carries StartNumber. Reply returns
* a window of KnownRoutes entries from real
* routing state.
*/
case 0x36: /* 123/54 Get Server Information.
* Request selects a server by name/type.
* Reply returns SAP-style server information;
* source of truth must be servermgmt plus SAP
* advertisements/registry state.
*/
case 0x37: /* 123/55 Get Server Sources Information.
* Request carries StartNumber and selects
* ServerType plus ServerName. Reply carries
* source records for matching servers.
* Requires real SAP/source state.
*/
case 0x38: /* 123/56 Get Known Servers Information.
* Request carries StartNumber and ServerType.
* Reply returns a window of KnownServStruc
* entries. Do not synthesize a server list
* merely to satisfy this compatibility call.
*/
completition = 0xfb;
break;
default: completition = 0xfb;