Update the DOS utilities and test suite with the current Novell comparison state. Validated/updated tool behavior: - improve CREATOR output by showing Novell-style attribute and rights masks - extend FLAGDIR handling with old NCP22 directory attribute read/write fallback paths - expand NDIR Novell-style formatting, filtering, /SUB handling, date output, DI/RI attribute display and richer metadata collection - adjust REVOKE output/grammar, recursive /SUBDIRECTORIES behavior and trustee update/delete paths to better match Novell tools - adjust SLIST header/output behavior for logged-in and logged-out cases - update README status to reflect the currently green/tested tools Test-suite changes: - add/refresh Novell comparison tests for CREATOR, NDIR, REVOKE and SLIST - update NCOPY tests and collection scripts for the current investigation state - refresh per-tool README files and top-level test documentation - keep MAP documented as still separately open NCOPY: - add the current NCOPY implementation and experimental NCP74/server-side-copy scaffolding - build ncopy.c so it stays compile-tested - keep NCOPY disabled in the NET multicall dispatch for now because the server-side-copy/open-handle path is still unsafe and needs further analysis Build: - include ncopy.c in the DOS utility build - drop the temporary MARS_DOSUTILS_VERSION define wiring from CMake
MAP automated test
MAPTSTA.BAT captures a Novell MAP baseline using NPUBLIC\MAP.
This is not yet a PUBLIC-vs-Novell compare; it documents the Novell behavior that the public MAP implementation should match.
LOGIN is intentionally not tested here. PATH, PATHINS, and PATHDEL are
our own tools, so they are not included in this Novell baseline.
NetWare semantics
Verified against real NetWare:
MAP G:=SYS:PUBLIC
sets the current path on G: to \PUBLIC, but it is not a fake root. CD \
returns to SYS:\.
MAP ROOT G:=SYS:PUBLIC
sets SYS:PUBLIC as fake root. CD \ stays inside SYS:PUBLIC.
Run
Run while already logged in and with F: mapped to SYS.
MAPTSTA
Optional pack:
MAPTZIP
Result ZIP:
F:\MAPCMP\MAPTSTA.ZIP
Linux package with server log:
sudo ./mars_packtest_v3.sh maptsta 5 mario
Coverage
- display current maps
- non-root subdir map
G:=SYS:MAPTEST - verify
CD \returns to volume root for non-root map - fake-root map
MAP ROOT G:=SYS:MAPTEST - verify
CD \stays in fake-root for root map - fake-root map to
SYS:NPUBLICand findNDIR.EXE - map
H:toHOME: - map
I:toQUOTA: - fake-root map
J:toQUOTA:USERQUOTA - delete
G:,H:,I:,J: - expected failure after delete
- expected failure for bad target