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.
148 lines
5.9 KiB
Batchfile
148 lines
5.9 KiB
Batchfile
@ECHO OFF
|
|
REM FDGTSTA.BAT
|
|
REM FLAGDIR compare test.
|
|
REM
|
|
REM Direct part:
|
|
REM OUT = Novell baseline using \NPUBLIC\FLAGDIR
|
|
REM PUBOUT = our implementation using \PUBLIC\FLAGDIR
|
|
REM
|
|
REM User-context part:
|
|
REM NOPASSUSER logs in via DLYSTRT helper and runs the same effective tests.
|
|
|
|
IF "%1"=="" GOTO PART1
|
|
IF "%1"=="PART2" GOTO PART2
|
|
IF "%1"=="part2" GOTO PART2
|
|
IF "%1"=="Part2" GOTO PART2
|
|
ECHO Usage: FDGTSTA [PART2]
|
|
GOTO END
|
|
|
|
:PART1
|
|
F:
|
|
CD \
|
|
|
|
IF EXIST FDGTEST\NUL DELTREE /Y FDGTEST\*.*
|
|
IF EXIST FDGCMP\NUL DELTREE /Y FDGCMP\*.*
|
|
IF EXIST FDGTMP\NUL DELTREE /Y FDGTMP\*.*
|
|
|
|
IF NOT EXIST FDGTEST\NUL MD FDGTEST
|
|
IF NOT EXIST FDGTEST\DIRA\NUL MD FDGTEST\DIRA
|
|
IF NOT EXIST FDGTEST\DIRB\NUL MD FDGTEST\DIRB
|
|
IF NOT EXIST FDGTEST\DIRC\NUL MD FDGTEST\DIRC
|
|
IF NOT EXIST FDGTEST\DIRB\SUB\NUL MD FDGTEST\DIRB\SUB
|
|
IF NOT EXIST FDGCMP\NUL MD FDGCMP
|
|
IF NOT EXIST FDGCMP\OUT\NUL MD FDGCMP\OUT
|
|
IF NOT EXIST FDGCMP\PUBOUT\NUL MD FDGCMP\PUBOUT
|
|
IF NOT EXIST FDGCMP\SETUP\NUL MD FDGCMP\SETUP
|
|
IF NOT EXIST FDGCMP\UNOV\NUL MD FDGCMP\UNOV
|
|
IF NOT EXIST FDGCMP\UPUB\NUL MD FDGCMP\UPUB
|
|
|
|
IF EXIST F:\FDGCMP\RUN.LOG DEL F:\FDGCMP\RUN.LOG
|
|
IF EXIST F:\FDGCMP\SUMMARY.TXT DEL F:\FDGCMP\SUMMARY.TXT
|
|
IF EXIST F:\FDGCMP\COMPARE.LOG DEL F:\FDGCMP\COMPARE.LOG
|
|
IF EXIST F:\FDGCMP\UCOMP.LOG DEL F:\FDGCMP\UCOMP.LOG
|
|
IF EXIST F:\FDGCMP\FDGTSTA.ZIP DEL F:\FDGCMP\FDGTSTA.ZIP
|
|
IF EXIST F:\FDGCMP\ZIP.LOG DEL F:\FDGCMP\ZIP.LOG
|
|
|
|
ECHO SUB FILE > F:\FDGTEST\DIRB\SUB\SUB.TXT
|
|
ECHO FDGTSTA FLAGDIR compare > F:\FDGCMP\RUN.LOG
|
|
|
|
ECHO Starting D10 read normal...
|
|
NPUBLIC\FLAGDIR F:\FDGTEST\DIRA Normal > NUL
|
|
NPUBLIC\FLAGDIR F:\FDGTEST\DIRA > F:\FDGCMP\OUT\D10_READ.OUT
|
|
PUBLIC\FLAGDIR F:\FDGTEST\DIRA > F:\FDGCMP\PUBOUT\D10_READ.OUT
|
|
|
|
ECHO Starting D11 Hidden...
|
|
NPUBLIC\FLAGDIR F:\FDGTEST\DIRA Normal > NUL
|
|
NPUBLIC\FLAGDIR F:\FDGTEST\DIRA Hidden > F:\FDGCMP\OUT\D11_HID.OUT
|
|
NPUBLIC\FLAGDIR F:\FDGTEST\DIRA >> F:\FDGCMP\OUT\D11_HID.OUT
|
|
NPUBLIC\FLAGDIR F:\FDGTEST\DIRA Normal > NUL
|
|
PUBLIC\FLAGDIR F:\FDGTEST\DIRA Hidden > F:\FDGCMP\PUBOUT\D11_HID.OUT
|
|
PUBLIC\FLAGDIR F:\FDGTEST\DIRA >> F:\FDGCMP\PUBOUT\D11_HID.OUT
|
|
|
|
ECHO Starting D12 System...
|
|
NPUBLIC\FLAGDIR F:\FDGTEST\DIRB Normal > NUL
|
|
NPUBLIC\FLAGDIR F:\FDGTEST\DIRB System > F:\FDGCMP\OUT\D12_SYS.OUT
|
|
NPUBLIC\FLAGDIR F:\FDGTEST\DIRB >> F:\FDGCMP\OUT\D12_SYS.OUT
|
|
NPUBLIC\FLAGDIR F:\FDGTEST\DIRB Normal > NUL
|
|
PUBLIC\FLAGDIR F:\FDGTEST\DIRB System > F:\FDGCMP\PUBOUT\D12_SYS.OUT
|
|
PUBLIC\FLAGDIR F:\FDGTEST\DIRB >> F:\FDGCMP\PUBOUT\D12_SYS.OUT
|
|
|
|
ECHO Starting D13 Purge...
|
|
NPUBLIC\FLAGDIR F:\FDGTEST\DIRC Normal > NUL
|
|
NPUBLIC\FLAGDIR F:\FDGTEST\DIRC Purge > F:\FDGCMP\OUT\D13_PUR.OUT
|
|
NPUBLIC\FLAGDIR F:\FDGTEST\DIRC >> F:\FDGCMP\OUT\D13_PUR.OUT
|
|
NPUBLIC\FLAGDIR F:\FDGTEST\DIRC Normal > NUL
|
|
PUBLIC\FLAGDIR F:\FDGTEST\DIRC Purge > F:\FDGCMP\PUBOUT\D13_PUR.OUT
|
|
PUBLIC\FLAGDIR F:\FDGTEST\DIRC >> F:\FDGCMP\PUBOUT\D13_PUR.OUT
|
|
|
|
ECHO Starting D14 Delete/Rename inhibit...
|
|
NPUBLIC\FLAGDIR F:\FDGTEST\DIRB\SUB Normal > NUL
|
|
NPUBLIC\FLAGDIR F:\FDGTEST\DIRB\SUB Deleteinhibit Renameinhibit > F:\FDGCMP\OUT\D14_DIRI.OUT
|
|
NPUBLIC\FLAGDIR F:\FDGTEST\DIRB\SUB >> F:\FDGCMP\OUT\D14_DIRI.OUT
|
|
NPUBLIC\FLAGDIR F:\FDGTEST\DIRB\SUB Normal > NUL
|
|
PUBLIC\FLAGDIR F:\FDGTEST\DIRB\SUB Deleteinhibit Renameinhibit > F:\FDGCMP\PUBOUT\D14_DIRI.OUT
|
|
PUBLIC\FLAGDIR F:\FDGTEST\DIRB\SUB >> F:\FDGCMP\PUBOUT\D14_DIRI.OUT
|
|
|
|
ECHO Starting D15 mixed reset...
|
|
NPUBLIC\FLAGDIR F:\FDGTEST\DIRA Hidden System > NUL
|
|
NPUBLIC\FLAGDIR F:\FDGTEST\DIRA Normal > F:\FDGCMP\OUT\D15_NORM.OUT
|
|
NPUBLIC\FLAGDIR F:\FDGTEST\DIRA >> F:\FDGCMP\OUT\D15_NORM.OUT
|
|
NPUBLIC\FLAGDIR F:\FDGTEST\DIRA Hidden System > NUL
|
|
PUBLIC\FLAGDIR F:\FDGTEST\DIRA Normal > F:\FDGCMP\PUBOUT\D15_NORM.OUT
|
|
PUBLIC\FLAGDIR F:\FDGTEST\DIRA >> F:\FDGCMP\PUBOUT\D15_NORM.OUT
|
|
|
|
ECHO Starting D90 missing dir...
|
|
NPUBLIC\FLAGDIR F:\FDGTEST\MISSING > F:\FDGCMP\OUT\D90_MISS.OUT
|
|
PUBLIC\FLAGDIR F:\FDGTEST\MISSING > F:\FDGCMP\PUBOUT\D90_MISS.OUT
|
|
|
|
ECHO Comparing direct FLAGDIR outputs... > F:\FDGCMP\COMPARE.LOG
|
|
FOR %%F IN (D10_READ.OUT D11_HID.OUT D12_SYS.OUT D13_PUR.OUT D14_DIRI.OUT D15_NORM.OUT D90_MISS.OUT) DO FC F:\FDGCMP\OUT\%%F F:\FDGCMP\PUBOUT\%%F >> F:\FDGCMP\COMPARE.LOG
|
|
|
|
REM Grant NOPASSUSER enough rights for user-context directory flag tests.
|
|
NPUBLIC\GRANT ALL FOR F:\FDGTEST TO USER NOPASSUSER > F:\FDGCMP\SETUP\S01_GRD.OUT
|
|
NPUBLIC\GRANT ALL FOR F:\FDGTEST\DIRA TO USER NOPASSUSER >> F:\FDGCMP\SETUP\S01_GRD.OUT
|
|
NPUBLIC\GRANT ALL FOR F:\FDGTEST\DIRB TO USER NOPASSUSER >> F:\FDGCMP\SETUP\S01_GRD.OUT
|
|
NPUBLIC\GRANT ALL FOR F:\FDGTEST\DIRC TO USER NOPASSUSER >> F:\FDGCMP\SETUP\S01_GRD.OUT
|
|
NPUBLIC\GRANT ALL FOR F:\FDGTEST\DIRB\SUB TO USER NOPASSUSER >> F:\FDGCMP\SETUP\S01_GRD.OUT
|
|
|
|
IF "%LGNTPWD%"=="" GOTO NEEDPWD
|
|
|
|
IF EXIST C:\FDGTMP DELTREE /Y C:\FDGTMP > NUL
|
|
MD C:\FDGTMP
|
|
MD C:\FDGTMP\UNOV
|
|
MD C:\FDGTMP\UPUB
|
|
COPY F:\FDGC.BAT C:\FDGTMP\FDGC.BAT > NUL
|
|
COPY F:\PUBLIC\DLYSTRT.EXE C:\FDGTMP\DLYSTRT.EXE > NUL
|
|
|
|
C:
|
|
CD \FDGTMP
|
|
DLYSTRT /T:2 FDGC.BAT
|
|
GOTO END
|
|
|
|
:NEEDPWD
|
|
ECHO LGNTPWD is not set. User-context FLAGDIR block skipped. >> F:\FDGCMP\RUN.LOG
|
|
ECHO.
|
|
ECHO LGNTPWD ist nicht gesetzt. User-Kontext wurde nicht gestartet.
|
|
GOTO END
|
|
|
|
:PART2
|
|
F:
|
|
CD \
|
|
IF NOT EXIST FDGCMP\UNOV\NUL MD FDGCMP\UNOV
|
|
IF NOT EXIST FDGCMP\UPUB\NUL MD FDGCMP\UPUB
|
|
IF EXIST F:\FDGCMP\UCOMP.LOG DEL F:\FDGCMP\UCOMP.LOG
|
|
COPY C:\FDGTMP\UNOV\*.OUT F:\FDGCMP\UNOV > NUL
|
|
COPY C:\FDGTMP\UPUB\*.OUT F:\FDGCMP\UPUB > NUL
|
|
IF EXIST C:\FDGTMP\HELPER.TXT COPY C:\FDGTMP\HELPER.TXT F:\FDGCMP > NUL
|
|
ECHO Comparing NOPASSUSER FLAGDIR outputs... > F:\FDGCMP\UCOMP.LOG
|
|
FOR %%F IN (U10_READ.OUT U11_HID.OUT U12_SYS.OUT U13_PUR.OUT U14_DIRI.OUT U15_NORM.OUT U90_MISS.OUT) DO FC F:\FDGCMP\UNOV\%%F F:\FDGCMP\UPUB\%%F >> F:\FDGCMP\UCOMP.LOG
|
|
ECHO FDGTSTA summary > F:\FDGCMP\SUMMARY.TXT
|
|
ECHO Direct compare: F:\FDGCMP\COMPARE.LOG >> F:\FDGCMP\SUMMARY.TXT
|
|
ECHO User compare: F:\FDGCMP\UCOMP.LOG >> F:\FDGCMP\SUMMARY.TXT
|
|
ECHO Optional: FDGTZIP ausfuehren. >> F:\FDGCMP\SUMMARY.TXT
|
|
ECHO.
|
|
ECHO FDGTSTA PART2 fertig. Optional FDGTZIP ausfuehren.
|
|
GOTO END
|
|
|
|
:END
|