INFO-VAX Wed, 26 Dec 2007 Volume 2007 : Issue 707 Contents: Re: Volume label. ---------------------------------------------------------------------- Date: Tue, 25 Dec 2007 12:36:50 -0800 (PST) From: AEF Subject: Re: Volume label. Message-ID: <87249ce9-fcdd-4757-8eac-e13c6c8c66a3@i3g2000hsf.googlegroups.com> On Dec 25, 8:05 am, FrankS wrote: > On Dec 24, 3:12 pm, JF Mezei wrote: > > > consider the following: > > > $DEFINE/qualifiers SYSUAF $11$DQA0:[shared]sysuaf.dat > > > without a trans=terminal, someone could define a logical name $11$dqa0 > > to point to another drive (or one they created with the LDdriver). > > In addition to the other comments about how a malicious user would > need SYSNAM to really have an impact, and how /TRANS=TERMINAL doesn't > necessarily stop iterative translation, Who said that? Perhaps you meant something else. The only exmaple I can think of is stuff like this: $ DEFINE BLAH DKA0:[HELLO]/TRAN=TERM $ SET DEFAULT BLAH $ DEFINE DKA0 DKA100: Or if you capture the result of F$TRNLNM("") and use that. Perhaps you meant defining it in another table or access mode that occurs earlier in the search algorithm? If so, that's not what you said. this definition would be a > sign of a bad systems manager. Using a physical device name like this > is just bad style and can make transitioning to other disk interfaces > a nightmare. Given the $MOUNT syntax of > > $ MOUNT /SYSTEM _$11$DQA0: volume_label logical_name > > then the worst-case reference to this drive should be either through > the "logical_name" on the $MOUNT command line or the DISK$volume_label > logical that gets created by OpenVMS. I'll give you the benefit of > the doubt, though, that this was just an example from you and not > something you really do on a production system. Well, what about these: "SYS$COMMON" [exec] = "DSA0:[SYS0.SYSCOMMON.]" [concealed,terminal] "SYS$SPECIFIC" [exec] = "DSA0:[SYS0.]" [concealed,terminal] "SYS$SYSDEVICE" [exec] = "DSA0:" [concealed,terminal] "SYS$SYSROOT" [exec] = "DSA0:[SYS0.]" [concealed,terminal] OK, you're not likely to change the system disk on a running system! So you're still right. > > If a physical device name is really what one wants (despite all the > valid reasons to avoid doing that), then the more appropriate syntax > would be: > > $ DEFINE /qualifiers SYSUAF _$11$DQA0:[SHARED]SYSUAF.DAT > > That would preclude a redefinition from interfering with the system > managers intention. I'll leave the "/qualifiers" open since that's > how you show it. You want /TRANSLATION_ATTRIBUTES=TERMINAL: $ DEFINE BLAH DSA0:[FELDMAN]BLAH.TMP $ DIRECTORY/NOHEAD/NOTRAI BLAH DSA1:[FELDMAN]BLAH.TMP;1 $ DEFINE DSA0 DSA1: %DCL-I-SUPERSEDE, previous value of DSA0 has been superseded $ DIRECTORY/NOHEAD/NOTRAI BLAH DSA1:[FELDMAN]BLAH.TMP;1 $ DEFINE BLAH _DSA0:[FELDMAN]BLAH.TMP %DCL-I-SUPERSEDE, previous value of BLAH has been superseded $ DIRECTORY/NOHEAD/NOTRAI BLAH DSA1:[FELDMAN]BLAH.TMP;1 $ DEFINE _DSA0 DSA1: %DCL-I-SUPERSEDE, previous value of _DSA0 has been superseded $ DIRECTORY/NOHEAD/NOTRAI BLAH DSA1:[FELDMAN]BLAH.TMP;1 $ DEFINE BLAH _DSA0:[FELDMAN]BLAH.TMP /TRANS=TERMINAL %DCL-I-SUPERSEDE, previous value of BLAH has been superseded $ DIRECTORY/NOHEAD/NOTRAI BLAH _DSA0:[FELDMAN]BLAH.TMP;10 $ SH SYS/NOPROCESS OpenVMS V6.2 on node NODEX 25-DEC-2007 15:29:57.84 Uptime 34 05:30:29 You still need /TRAN=TERM. And to avoid mischievous redirection involving important system components, you need to use executive and kernel mode logical names. AEF ------------------------------ End of INFO-VAX 2007.707 ************************