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
SLSTSTA - SLIST logged-in/logged-out compare test
SLSTSTA.BAT compares Novell SLIST with the current public implementation in
both states in which SLIST is expected to work:
- Logged in:
\NPUBLIC\SLISTvs\PUBLIC\SLIST. - Logged out:
\NLOGIN\SLIST.EXEvs\LOGIN\SLIST.EXE, copied to a localC:\SLSTTMPhelper directory before logout.
SLIST is also installed in SYS:LOGIN, so the logged-out phase is important.
After LOGOUT, the network drive F: is gone; therefore the helper runs from
C:\SLSTTMP and only returns to F: after logging SUPERVISOR back in.
Run
Run while logged in as SUPERVISOR and with F: mapped to SYS:.
For the full logged-in and logged-out comparison:
SET LGNTPWD=your-supervisor-password
F:
CD \
SLSTSTA
If LGNTPWD is not set, only the logged-in NPUBLIC vs PUBLIC comparison is
run. The logged-out phase is skipped.
Package manually after the run:
SLSTZIP
Result ZIP:
F:\SLSTCMP\SLSTSTA.ZIP
Result layout
F:\SLSTCMP\OUT logged-in Novell baseline from \NPUBLIC\SLIST
F:\SLSTCMP\PUBOUT logged-in PUBLIC output from \PUBLIC\SLIST
F:\SLSTCMP\COMPARE.LOG
F:\SLSTCMP\LOUT logged-out Novell baseline from local NLOGIN copy
F:\SLSTCMP\LPUBOUT logged-out LOGIN output from local LOGIN copy
F:\SLSTCMP\LCOMP.LOG
F:\SLSTCMP\RUN.LOG
F:\SLSTCMP\HELPER.TXT
F:\SLSTCMP\SUMMARY.TXT
Logged-out helper flow
SLSTSTA.BAT copies the files required after logout to C:\SLSTTMP:
\NLOGIN\SLIST.EXE -> C:\SLSTTMP\NSLIST.EXE
\LOGIN\SLIST.EXE -> C:\SLSTTMP\SLIST.EXE
\NPUBLIC\LOGOUT.EXE
\LOGIN\LOGIN.EXE
\PUBLIC\DLYSTRT.EXE
F:\SLSTC.BAT
The public SLIST copy is intentionally named SLIST.EXE, not PSLIST.EXE,
because the public DOS tools are a multi-call executable and dispatch by their
own program name.
SLSTC.BAT then:
- runs
LOGOUT, - runs both SLIST copies while no user is logged in,
- logs back in as
SUPERVISORusingLOGIN /PWD:%LGNTPWD%, - queues
F:\SLSTSTA.BAT PART2through the localDLYSTRT.EXE.
Coverage
Each phase captures the same matrix:
SLIST
SLIST MARS
SLIST NWBYGONE01
SLIST /CONTINUE
SLIST MARS /CONTINUE
SLIST NWBYGONE01 /CONTINUE
SLIST /?
MARS is expected to exist. NWBYGONE01 is expected to be missing.
D99_HELP.OUT for the Novell side is intentionally simulated with:
Usage: SLIST [Server] [/Continue]
The Novell SLIST /? text is visible on the console but does not always land in
the redirected output file. The public implementation is redirected normally and
must match this stable baseline.