Files
mars-dosutils/test/grant/README.md
Mario Fetka 5da600c2a5 dosutils: match Novell paths for flags and trustees
Move FLAG, GRANT and REMOVE closer to the request paths used by the
Novell tools and extend the DOS comparison tests.

FLAG now reads attributes through the old NCP22 directory scan path and
writes them through NCP22/25 Set Directory/File Information. This keeps
extended attributes such as Delete Inhibit and Rename Inhibit intact and
matches the Novell behavior observed in the server logs.

GRANT now prefers NCP22/27 SetTrustee with an NCP87 fallback. Supervisor
rights are expanded like Novell does, so granting S sends and reports the
full SRWCEMFA mask. The visible output, path formatting and error text
are adjusted to match the Novell baseline.

REMOVE now prefers NCP22/2B DelTrustee with an NCP87 fallback. The
DelTrustee request layout is corrected, /SUBDIRS handling is aligned
with Novell, and the output/error text is matched to the baseline.

The FLAG, FLAGDIR, GRANT and REMOVE tests now compare NPUBLIC baselines
against the PUBLIC implementations and add delayed NOPASSUSER readback
checks using DLYSTRT and the maintainer LOGIN password option.
2026-05-28 07:54:41 +02:00

43 lines
1.6 KiB
Markdown

# GRANT comparison test
Scripts:
- `GRNTSTA.BAT` creates `F:\GRNTEST`, compares Novell `\NPUBLIC\GRANT`
output against `\PUBLIC\GRANT`, and uses `NOPASSUSER` as trustee target.
- `GRNTC.BAT` is the delayed user-context helper started through `DLYSTRT`.
It logs in as `NOPASSUSER` and captures effective `RIGHTS` output for the
grants prepared by `GRNTSTA`.
- `GRNTZIP.BAT` packages the result tree as `F:\GRNTCMP\GRNTSTA.ZIP`.
Run as `SUPERVISOR` or an equivalent user.
For the automatic user-context part, set the Supervisor password first:
```bat
SET LGNTPWD=your-supervisor-password
GRNTSTA
```
Result directories:
- `OUT` contains Novell `GRANT` output.
- `PUBOUT` contains public implementation `GRANT` output.
- `COMPARE.LOG` compares `OUT` against `PUBOUT`.
- `UNOV` contains Novell `RIGHTS` output captured as `NOPASSUSER`.
- `UPUB` contains public implementation `RIGHTS` output captured as `NOPASSUSER`.
- `UCOMP.LOG` compares `UNOV` against `UPUB`.
- `SETUP` and `USETUP` contain setup/cleanup command output.
Covered grant cases:
- single rights: `R`, `W`, `C`, `E`, `M`, `F`, `A`, `S`
- combinations: `R F`, `R W`, `R W C`, `R W C E`,
`R W C E M F A`, `S R W C E M F A`, `ALL`, `N`
- mixed combinations: `R E`, `R W F`, `R C M`, `R F A`,
`W C M`, `E M F`, `R W C M F`, `R E M A`, `S R`, `S R F`, `S W C M`
- file trustee cases with `/FILES`
- recursive directory cases with `/SUBDIRECTORIES`
- help, no-argument and error/grammar cases
`GRNTZIP` remains manual so the result tree can be inspected before packaging.