docs: audit enhanced namespace scope

This commit is contained in:
Mario Fetka
2026-06-02 15:23:24 +00:00
parent b95a774bec
commit 57b3eb7f6e
2 changed files with 60 additions and 31 deletions

42
AI.md
View File

@@ -11,18 +11,18 @@ When the user says this is a new chat or asks to continue mars-nwe work, first
read this file before proposing patches or making assumptions. Then ask for, or
use, the current project status that the user pasted into the chat.
## Current handoff status after patch 0213
## Current handoff status after patch 0215
The current accepted patch line in this chat is expected to include:
- endpoint-audit/documentation patches through `0176-docs-audit-direct-lifecycle-buffer-endpoints.patch`;
- redesign documentation patches `0177` through `0198`;
- endpoint-audit/documentation patches `0199` through `0213`;
- latest expected patch name: `0213-docs-audit-namespace-later-generation-scope.patch`.
- endpoint-audit/documentation patches `0199` through `0215`;
- latest expected patch name: `0215-docs-audit-enhanced-namespace-scope.patch`.
When continuing in a new chat, first ask the user which patch was actually last
applied. If they confirm `0213`, build the next patch as `0214-...` against a
tree that already contains `0213`. If any patch failed or was skipped, rebuild
applied. If they confirm `0215`, build the next patch as `0216-...` against a
tree that already contains `0215`. If any patch failed or was skipped, rebuild
against the last confirmed applied patch instead of assuming the file in
`/mnt/data` was accepted.
@@ -198,24 +198,22 @@ Schema/import direction:
Latest endpoint audit note:
- Patch `0214` audits `NCP 0x2222/35` / wire `0x23` AFP / Mac namespace calls.
The dispatcher uses `afp_request_offset()`, treats `afp_req[0]` as the AFP
SubFunctionCode, maps helper returns `>= 0` to reply `data_len`, and maps
negative helper returns to Completion Code. AFP 35/01 through 35/19 are all
represented in the current source: 35/01+35/13 create directory, 35/02+35/14
create file, 35/03 delete, 35/04 get entry ID from name, 35/05+35/15 get file
information, 35/06 get entry ID from NetWare handle, 35/07 rename, 35/08 open
file fork, 35/09+35/16 set file information, 35/10+35/17 scan file
information, 35/11 allocate temporary directory handle, 35/12 get entry ID
from path name, 35/18 get DOS name from entry ID, and 35/19 get Macintosh info
on deleted file. No new missing-endpoint source stubs were needed. AFP is a
filesystem/Mac namespace provider area, not NDS; keep metadata on the existing
nwatalk/xattr and shared Salvage paths.
- Patch `0215` audits `NCP 0x2222/89` / wire `0x59` Enhanced Name Space for
generation scope. `src/nwconn.c` has no top-level `case 0x59`, and the local
NDK/Core-Protocols Enhanced NCP chapter marks the checked `89/xx` request
pages as a later-generation NetWare 6.5 SP2 family. The group contains
enhanced variants of namespace, trustee, salvage, EA, and rights operations
such as `89/01`..`89/12`, `89/16`, `89/17`, `89/19`, `89/20`, `89/22`,
`89/25`, `89/28`, `89/29`, `89/35`, `89/39`, `89/40`, `89/50`, `89/52`,
`89/53`, `89/54`, and `89/71`. Under the current 1.x/2.x/3.x plus planned
4.x rule, do not add `#if 0` source stubs for this family. If the project
target is extended later, treat `89` as filesystem/namespace provider work,
not NDS.
The next patch number should be `0215` if `0214` was applied. Likely next
blocks are the `89` Enhanced Name Space family as generation-bucketed scope
work, packet burst `0x2222/97`/`101`, deeper `0x2222/23` bindery/property/admin
subfunction coverage, or another user-selected endpoint family.
The next patch number should be `0216` if `0215` was applied. Likely next
blocks are packet burst `0x2222/97`/`101`, deeper `0x2222/23`
bindery/property/admin subfunction coverage, SDK `0x2222/90` generation-scope
work, or another user-selected endpoint family.
## Patch workflow

49
TODO.md
View File

@@ -216,15 +216,15 @@ SDK-listed blocks that do not currently show a top-level handler in
- SDK `0x2222/79`, `0x2222/84`, and `0x2222/85` / wire `0x4f`, `0x54`, and
`0x55` are listed by the SDK/PDF for later file/extended-data functions, but
no top-level handlers have been identified yet.
- SDK `0x2222/89` / wire `0x59` Enhanced Name Space, SDK `0x2222/90` / wire
`0x5a` Data Migration/Compression/Parse Tree, SDK `0x2222/92` / wire `0x5c`
SecretStore, SDK `0x2222/123` / wire `0x7b` service-address enumeration, and
SDK `0x2222/131` / wire `0x83` RPC/NLM-control style calls appear in the
PDF/WebSDK index but do not currently show top-level handlers in
`src/nwconn.c`. These are likely later-generation buckets, but each must be
confirmed against the includes/WebSDK before adding guarded stubs. Only
endpoints bucketed as 1.x/2.x/3.x compatibility or planned 4.x work should
receive disabled source stubs.
- SDK `0x2222/90` / wire `0x5a` Data Migration/Compression/Parse Tree,
SDK `0x2222/92` / wire `0x5c` SecretStore, SDK `0x2222/123` / wire `0x7b`
service-address enumeration, and SDK `0x2222/131` / wire `0x83`
RPC/NLM-control style calls appear in the PDF/WebSDK index but do not
currently show top-level handlers in `src/nwconn.c`. These are likely
later-generation buckets, but each must be confirmed against the
includes/WebSDK before adding guarded stubs. Only endpoints bucketed as
1.x/2.x/3.x compatibility or planned 4.x work should receive disabled source
stubs.
Follow-up:
@@ -1162,6 +1162,37 @@ Follow-up:
documentation, AFP `35`, or another unaudited endpoint family requested by
the user.
### Enhanced Name Space group 0x2222/89
Current status:
- `NCP 0x2222/89` / wire `0x59` Enhanced Name Space has been reviewed for
generation scope. `src/nwconn.c` has no top-level `case 0x59`, and the local
NDK/Core-Protocols Enhanced NCP chapter lists the `89/xx` operations as a
later-generation family, with request pages such as `89/04` and `89/17`
marked for NetWare Servers 6.5 SP2.
- The documented `89` selectors are enhanced variants of namespace, trustee,
salvage, EA, and rights calls already represented for the current scope by the
`86` EA and `87` namespace audits. Examples include `89/01` Open/Create,
`89/02` Initialize Search, `89/03` Search, `89/04` Rename/Move, `89/05` Scan
Trustees, `89/06` Obtain Information, `89/07` Modify DOS Information,
`89/08` Delete, `89/09` Set Short Directory Handle, `89/10` Add Trustee Set,
`89/11` Delete Trustee Set, `89/12` Allocate Short Directory Handle, salvage
and metadata selectors `89/16`, `89/17`, `89/19`, `89/20`, `89/22`, `89/25`,
`89/28`, `89/29`, `89/35`, `89/39`, `89/40`, plus enhanced EA/rights
selectors `89/50`, `89/52`, `89/53`, `89/54`, and `89/71`.
- Under the current target rule, this block is out of source-stub scope because
it is later than the planned NetWare 4.x compatibility target. Do not add a
disabled top-level `case 0x59` or per-selector `#if 0` stubs unless the
project scope is explicitly extended beyond NetWare 4.x.
Follow-up:
- If the target is extended later, treat `89` as a filesystem/namespace provider
family, not NDS. Reuse the normalized selector-path audit style from `87`,
and map any real implementation onto the future filesystem/namespace provider
rather than `nwnds`.
### Retrospective source-stub coverage for already audited blocks