From 9a10bf32a9261e69de6c6375c2f57429569452c4 Mon Sep 17 00:00:00 2001 From: Mario Fetka Date: Tue, 2 Jun 2026 17:58:08 +0000 Subject: [PATCH] docs: audit server information compression stubs --- AI.md | 30 +++++++++++++++++++++++++++--- TODO.md | 11 ++++++++--- src/nwconn.c | 23 +++++++++++++++++++++++ 3 files changed, 58 insertions(+), 6 deletions(-) diff --git a/AI.md b/AI.md index 3825c06..6c1a0b1 100644 --- a/AI.md +++ b/AI.md @@ -801,7 +801,31 @@ Latest endpoint audit checkpoint from patch 0238: The SET command/category views should expose real mars-nwe configuration and runtime state once modeled; do not synthesize a fake NetWare SET database or route these read-only data-plane requests through `nwserv`. -- Remaining in-scope `123/70`..`123/72` compression/decompression information - selectors still need later follow-up auditing. +- Patch 0239 records the final in-scope compression/decompression selector run: + `123/70` Get Current Compressing File, `123/71` Get Current DeCompressing + File Info List, and `123/72` Get Compression and Decompression Time and + Counts. -Next patch number should be `0239`. +Latest endpoint audit checkpoint from patch 0239: + +- SDK `0x2222/123` / wire `0x7b` server information/statistics now records the + NetWare-4.x compression/decompression information selector run behind + `MARS_NWE_4` in `src/nwconn.c`: `123/70` Get Current Compressing File, + `123/71` Get Current DeCompressing File Info List, and `123/72` Get + Compression and Decompression Time and Counts. +- This block was checked against the local NDK/Core Protocols PDF plus the + uploaded WebSDK/include `nwfse` material. The PDF/WebSDK/include material + jumps from the NetWare-5.x-only `123/62` SET-by-name selector to the + compression group at `123/70`; do not invent `123/63`..`123/69` selector + slots unless a new primary source is found. +- Future ownership remains the `servermgmt`/information provider boundary with + filesystem/volume compression state as the source of truth. Do not + synthesize fake current-compression files, decompression file lists, or + compression byte/tick counters, and do not route these read-only data-plane + requests through `nwserv`. +- This completes the currently identified in-scope `123/xx` NetWare-4.x + server-information/statistics source-stub audit. The next endpoint-audit + block should be selected from a different SDK family after rechecking active + dispatch and handoff paths. + +Next patch number should be `0240`. diff --git a/TODO.md b/TODO.md index b63d826..7d19007 100644 --- a/TODO.md +++ b/TODO.md @@ -296,9 +296,14 @@ SDK-listed blocks that do not currently show a top-level handler in run: `123/60` Get Server Set Commands Information and `123/61` Get Server Set Categories. PDF-listed `123/62` Get Server Set Commands Information By Name is NetWare 5.x and remains prose-only/out of the current source-stub scope. - The remaining in-scope `123/70`..`123/72` compression/decompression - information selectors still need follow-up auditing before any additional - stubs are added. + Patch 0239 adds the final currently identified in-scope compression/ + decompression selector run: `123/70` Get Current Compressing File, `123/71` + Get Current DeCompressing File Info List, and `123/72` Get Compression and + Decompression Time and Counts. The PDF/WebSDK/include material jumps from + `123/62` to `123/70`; do not invent `123/63`..`123/69` selector slots + without a new primary source. Future implementation belongs to + servermgmt-backed filesystem/volume compression state, not fake active file + lists or synthetic compression counters. Follow-up: diff --git a/src/nwconn.c b/src/nwconn.c index 635a056..3e76bd5 100644 --- a/src/nwconn.c +++ b/src/nwconn.c @@ -7821,6 +7821,29 @@ static int handle_ncp_serv(void) * ASCIIZ category names registered by the * servermgmt/config provider. */ + case 0x46: /* 123/70 Get Current Compressing File. + * Request selects VolumeNumber. Reply carries + * parent/directory entry numbers, compression + * stage and block counters, flags, projected + * and original sizes, compression volume, and + * DOS file name. Future implementation must + * come from real filesystem/volume compression + * state; do not fabricate an active compressor. + */ + case 0x47: /* 123/71 Get Current DeCompressing File Info + * List. Request selects VolumeNumber. Reply + * carries FileListCount plus up to 32 + * FileInfoStruct entries for files currently + * being decompressed on that volume. + */ + case 0x48: /* 123/72 Get Compression and Decompression + * Time and Counts. + * Request selects VolumeNumber. Reply carries + * compression/decompression tick and byte + * counters. Provider state belongs with + * filesystem/volume compression accounting + * exposed through servermgmt. + */ completition = 0xfb; break; default: completition = 0xfb;