diff --git a/TODO.md b/TODO.md index cdadb83..880a72a 100644 --- a/TODO.md +++ b/TODO.md @@ -381,12 +381,10 @@ Current status: Fork, narrow Set File Information metadata writes, NetWare-backed Archive attribute mapping, Modify timestamp writes through `nw_utime_node()`, and a conservative Get DOS Name From Entry ID reverse lookup. -- The latest smoke-suite run for the new Get DOS Name From Entry ID helper - exposed a casing mismatch rather than a transport failure: the server returned - `public/pmdflts.ini` while the helper expected `PUBLIC/pmdflts.ini`. Follow-up - work should decide whether the helper should compare case-insensitively, - whether AFP 0x12 should return canonical NetWare spelling, or whether the - path resolver should expose an existing mars_nwe canonical DOS-name helper. +- The Get DOS Name From Entry ID helper now returns the canonical DOS namespace + spelling from the existing mars_nwe `namedos.c` alias builder. The follow-up + smoke run confirms `PUBLIC/PMDFLTS.INI` for `SYS:PUBLIC/pmdflts.ini`, replacing + the earlier raw Unix/realcase `public/pmdflts.ini` result. Design rule: diff --git a/tests/linux/README.md b/tests/linux/README.md index c831f31..f377879 100644 --- a/tests/linux/README.md +++ b/tests/linux/README.md @@ -693,7 +693,8 @@ entry ID. The reply is a one-byte DOS path length followed by the DOS path string for the matching entry. The smoke helper first resolves the supplied `VOL:PATH` through AFP Get Entry ID From Path Name when `--entry-id` is not provided, then calls AFP Get DOS Name From Entry ID and verifies that the -returned path matches the original path without the volume prefix. +returned path matches the existing mars_nwe DOS namespace spelling without the +volume prefix. Example: @@ -704,9 +705,21 @@ Example: Expected output shape: ```text -AFP Get DOS Name From Entry ID volume=0 entry_id=0x399193ed path=PUBLIC/pmdflts.ini verified +AFP Get DOS Name From Entry ID volume=0 entry_id=0x440cb9b2 path=PUBLIC/PMDFLTS.INI verified ``` + + +A successful post-fix smoke-suite run confirmed the `namedos.c` alias path: + +```text +AFP Get DOS Name From Entry ID volume=0 entry_id=0x440cb9b2 path=PUBLIC/PMDFLTS.INI verified +AFP Get DOS Name From Entry ID: vol=0 entry=0x440cb9b2 path='PUBLIC/PMDFLTS.INI' +``` + +This intentionally returns DOS namespace spelling rather than the raw Unix +realcase path (`public/pmdflts.ini`). + The server implementation deliberately reuses the existing mars_nwe volume table and the `nwatalk_get_entry_id()` metadata probe. It does not create fallback entry IDs while walking the volume; the target entry must already have a cached