diff --git a/AI.md b/AI.md index 609eeca..0f1f678 100644 --- a/AI.md +++ b/AI.md @@ -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 diff --git a/TODO.md b/TODO.md index 4afc140..0939442 100644 --- a/TODO.md +++ b/TODO.md @@ -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