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
107 lines
2.6 KiB
Markdown
107 lines
2.6 KiB
Markdown
# 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:
|
|
|
|
1. **Logged in**: `\NPUBLIC\SLIST` vs `\PUBLIC\SLIST`.
|
|
2. **Logged out**: `\NLOGIN\SLIST.EXE` vs `\LOGIN\SLIST.EXE`, copied to a local
|
|
`C:\SLSTTMP` helper 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:
|
|
|
|
```bat
|
|
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:
|
|
|
|
```bat
|
|
SLSTZIP
|
|
```
|
|
|
|
Result ZIP:
|
|
|
|
```text
|
|
F:\SLSTCMP\SLSTSTA.ZIP
|
|
```
|
|
|
|
## Result layout
|
|
|
|
```text
|
|
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`:
|
|
|
|
```text
|
|
\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:
|
|
|
|
1. runs `LOGOUT`,
|
|
2. runs both SLIST copies while no user is logged in,
|
|
3. logs back in as `SUPERVISOR` using `LOGIN /PWD:%LGNTPWD%`,
|
|
4. queues `F:\SLSTSTA.BAT PART2` through the local `DLYSTRT.EXE`.
|
|
|
|
## Coverage
|
|
|
|
Each phase captures the same matrix:
|
|
|
|
```text
|
|
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:
|
|
|
|
```text
|
|
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.
|