Files
mars-dosutils/test/login/LGNTC.BAT
Mario Fetka 4ad455c6df dosutils: add maintainer helpers and compare-ready tools
Add maintainer-only support used by the automated DOS compatibility
tests.

This introduces the MAINTAINER_BUILD option for the DOS tools. In
maintainer builds, LOGIN accepts the hidden /PWD: and /PASSWORD:
arguments for automated test relogin, and the DLYSTRT helper is built to
delay-start DOS batch files after the invoking batch has returned to the
prompt.

Add the WHOAMI utility and wire it into the NET command dispatch. Also
adjust SLIST and RIGHTS output to match Novell behavior more closely,
including server-not-found handling, path formatting, Supervisor rights,
missing-path errors and usage text.

Extend the test scripts to compare NPUBLIC Novell baselines against the
PUBLIC implementations. LOGIN/LOGOUT can now run automatically via
DLYSTRT and the maintainer LOGIN password option. RIGHTS gains an
additional NOPASSUSER effective-rights matrix that covers single rights,
mixed rights, Supervisor rights, ALL/N and file trustee cases.

Normal builds remain free of maintainer-only helpers and hidden password
handling.
2026-05-27 20:14:01 +02:00

88 lines
2.9 KiB
Batchfile

@ECHO OFF
REM LGNTC.BAT
REM Helper for LGNTSTA.BAT. Output survives LOGOUT/LOGIN on local C:.
REM LOGIN/MAP/LOGOUT are copied to C:\LGNTTMP by LGNTSTA.
REM
REM Important: LOGIN can change the current drive/search path. Therefore all
REM tool calls and all redirected output files use absolute C:\LGNTTMP paths.
C:
CD \LGNTTMP
ECHO LGNTC helper started. > C:\LGNTTMP\HELPER.TXT
ECHO This helper intentionally changes login state. >> C:\LGNTTMP\HELPER.TXT
ECHO It was started by DLYSTRT after LGNTSTA Part 1 returned. >> C:\LGNTTMP\HELPER.TXT
ECHO. >> C:\LGNTTMP\HELPER.TXT
ECHO === D01 LOGOUT from initial supervisor session === >> C:\LGNTTMP\HELPER.TXT
C:\LGNTTMP\LOGOUT > C:\LGNTTMP\D01_LOG.OUT
ECHO === D02 LOGIN NOPASSUSER using local Novell LOGIN === >> C:\LGNTTMP\HELPER.TXT
C:\LGNTTMP\LOGIN NOPASSUSER > C:\LGNTTMP\D02_LGIN.OUT
ECHO === D03 MAP after NOPASSUSER login using local Novell MAP === >> C:\LGNTTMP\HELPER.TXT
C:\LGNTTMP\MAP > C:\LGNTTMP\D03_MAP.OUT
ECHO === D04 LOGOUT NOPASSUSER === >> C:\LGNTTMP\HELPER.TXT
C:\LGNTTMP\LOGOUT > C:\LGNTTMP\D04_LGOT.OUT
REM Novell LOGIN /? may print usage directly to the console instead of stdout.
REM Store the observed simple syntax as baseline for later implementation tests.
ECHO Usage: LOGIN [server/]user > C:\LGNTTMP\D99_HELP.OUT
IF "%LGNTPWD%"=="" GOTO MANUAL
ECHO === D05 LOGIN SUPERVISOR using maintainer F:\LOGIN\LOGIN /PWD option === >> C:\LGNTTMP\HELPER.TXT
F:
CD \
IF EXIST \LOGIN\LOGIN.EXE GOTO HAVELOGINF
ECHO F:\LOGIN\LOGIN.EXE not found before supervisor relogin. >> C:\LGNTTMP\HELPER.TXT
ECHO.
ECHO F:\LOGIN\LOGIN.EXE nicht gefunden.
ECHO Bitte manuell als SUPERVISOR einloggen und danach ausfuehren:
ECHO F:
ECHO CD \
ECHO LGNTSTA PART2
GOTO END
:HAVELOGINF
F:
CD \
F:\LOGIN\LOGIN SUPERVISOR /PWD:%LGNTPWD% > C:\LGNTTMP\D05_LGSUP.OUT
ECHO === Check F: before queuing LGNTSTA PART2 === >> C:\LGNTTMP\HELPER.TXT
F:
CD \
IF EXIST \LGNTSTA.BAT GOTO QUEUEP2
ECHO F: not restored or \LGNTSTA.BAT missing after supervisor login. >> C:\LGNTTMP\HELPER.TXT
ECHO.
ECHO F: wurde nicht wiederhergestellt oder \LGNTSTA.BAT fehlt.
ECHO Bitte manuell pruefen und dann ausfuehren:
ECHO F:
ECHO CD \
ECHO LGNTSTA PART2
GOTO END
:QUEUEP2
ECHO F: is available. Queueing delayed LGNTSTA PART2 only. >> C:\LGNTTMP\HELPER.TXT
C:
CD \LGNTTMP
DLYSTRT /T:2 F:\LGNTSTA.BAT PART2 > C:\LGNTTMP\D06_P2.OUT
ECHO LGNTC queued F:\LGNTSTA.BAT PART2. LGNTZIP is intentionally not automatic. >> C:\LGNTTMP\HELPER.TXT
ECHO.
ECHO LGNTC fertig. PART2 wird per DLYSTRT gestartet.
ECHO LGNTZIP danach bei Bedarf manuell ausfuehren.
GOTO END
:MANUAL
ECHO LGNTPWD is not set; automatic SUPERVISOR login skipped. >> C:\LGNTTMP\HELPER.TXT
ECHO.
ECHO LGNTC fertig. Jetzt manuell wieder als SUPERVISOR einloggen:
ECHO F:\LOGIN\LOGIN SUPERVISOR
ECHO Danach ausfuehren:
ECHO F:\LGNTSTA PART2
ECHO LGNTZIP danach bei Bedarf manuell ausfuehren.
ECHO.
:END