When using the Top Secret simulator, TSSSIM, it does not show the correct results with the $VOLUME class. For example:
TSS WHOHAS VOLUME(vvvvvv)
VOLUME = vvv(G) OWNER(dddddd )
XAUTH = vvv(G) ACID(*ALL* )
ACCESS = NONE
TSSSIM shows access is allowed, when it should be denied because the only matching permit is in the ALL record with ACCESS(NONE).
TSSSIM
LOGON ACID(aaaaaa) FAC(fac) TRACE
TSS8370I SIMULATED SESSION SUCCESSFULLY ESTABLISHED.
TSSSIM
$VOLUME(vvvvvv) ACCESS(UDPATE)
TSS8385I FRACHECK R15 = 04 RC = 04 DRC = 00
TSS8386I <NO FEEDBACK MESSAGES>
TSS8380I SIMULATED RESOURCE ACCESS GRANTED.
TSS8390I RESOURCE = (00E5) vvvvvv
TSS8391I TSS SVC=00 RC=04 DRC=00 VDRC=00 XSW=00 ALG=00
TSS8392I REQUESTED ACCESS = UPDATE
TSS8393I OVERRIDES = <NONE>
You have to use $DASDVOL instead of $VOLUME with TSSSIM since the VOLUME permission is done with (G).
TSSSIM
LOGON ACID(aaaaaa) FAC(fac) TRACE
TSS8370I SIMULATED SESSION SUCCESSFULLY ESTABLISHED.
TSSSIM
$DASDVOL(vvvvvv) ACCESS(UPDATE)
TSS8385I RACHECK R15 = 08 RC = 08 DRC = 77
TSS7207E Volume vvvvvv Requested Access Level (UPDATE ) Not Authorized
TSS8381I SIMULATED RESOURCE ACCESS DENIED.
TSS8390I RESOURCE = (00E6) vvvvvv
TSS8391I TSS SVC=82 RC=08 DRC=77 VDRC=00 XSW=10 ALG=00
TSS8392I REQUESTED ACCESS = UPDATE
TSS8392I VOLUME ACCESS = NONE
TSS8393I OVERRIDES = <NONE>
TSS8394I VOL ORIGIN = PERMITTED *ALL*
TSS8395I VOL RULE # = 3
TSS8397I ---------------- SECURITY PERMISSION ---------------
TSS8397I VOLUME = vvv (G)
TSS8397I ACCESS = NONE
TSS8397I ---------------------------------------------------
TSS8398I VOL FEEDBACK: 00 00 00 00
TSS8399I SUBRTN FLAGS: 80 00 00 04 01
TSS8400I PARENT SVC = 00 CALLING SVC = 13
TSS8401I CURRENT/PARENT/BOTTOM PRIVPGMS: TSSSIM CALL TSSSIM00
For additional information about TSSSIM go here