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.
43 lines
1.6 KiB
Markdown
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.
|