OpenVMS Undocumented Features
This is the most complete collection of undocumented features we can find for OpenVMS. Some of these have been around since the time when it was called VMS while others are more current and have been added to OpenVMS V8.n. These features:
- Are NOT documented (if they were, they wouldn't belong here)
- Are NOT supported by PARSEC Group or HP
- Are NOT guaranteed to work
- May NOT exist in all versions of OpenVMS; past, present and future
- Are subject to change, removal, enhancement or being documented at the whim of OpenVMS engineering
- May be fun to know the next time you play OpenVMS trivial pursuit
- May help you get your job done easier and faster
- May help you impress your boss with your knowledge of the obscure
Password Checking Utility
A utility exists with OpenVMS to check a password as being too easy to guess from the command line. SYS$UPDATE:VMS$CHKPWD is provided with a password. If the password is considered to easy to guess, then a message is displayed that it is too weak. If it is considered secure enough, then no message is displayed and a success status is returned. This does not check against the password dictionary, only against a short list of predefined words.
$ mcr sys$update:vms$chkpwd howdy2you
$ mcr sys$update:vms$chkpwd test
%SYSTEM-E-PWDWEAK, password is too easy to guess; please choose another string
TCP/IP bug analysis
On OpenVMS VAX and OpenVMS Alpha, V7.3-2 and earlier, TCP/IP Services can analyze its own bugs.
$ analyze /system
OpenVMS (TM) VAX System analyzer
SDA> tcpip show bug
%TCPIP-I-READSYM, reading symbol table SYS$COMMON:[SYSEXE]SYSDEF.STB;1
%TCPIP-I-LINKDATE, TNDRIVER linked on 15-SEP-2003 14:56:39.69
%TCPIP-I-LINKDATE, TCPIP$BGDR linked on 7-NOV-2003 16:26:45.06
%TCPIP-I-LINKDATE, TCPIP$PROXY_SERVICES linked on 19-MAY-2003 13:29:18.83
%TCPIP-I-LINKDATE, TCPIP$INTERNET_SERVICES linked on 7-NOV-2003 16:27:09.79
%TCPIP-I-READSYM, reading symbol table SYS$COMMON:[SYSEXE]TCPIP$NET_GLOBALS.STB;1
%TCPIP-I-READSYM, reading symbol table SYS$COMMON:[SYSEXE]TCPIP$INTERNET_SERVICES.STB;1
%TCPIP-I-READSYM, reading symbol table SYS$COMMON:[SYSEXE]TCPIP$BGDRIVER.STB;1
%TCPIP-I-READSYM, reading symbol table SYS$COMMON:[SYSEXE]TCPIP$INETACP.STB;1
%TCPIP-I-VERSION, TCP/IP Services for OpenVMS Version 5.3
%TCPIP-I-LASTSTART, Driver last started 7-MAR-2007 12:45:55.29
-TCPIP-I-STARTCOUNT, Driver was started 1 time
-TCPIP-I-PREVSTART, Previously started at 7-MAR-2007 12:45:55.22
%TCPIP-I-TRACEINFO, Trace information is not available
%TCPIP-E-NOPWIP, Pathworks-over-IP (PWIP) driver is not present
%TCPIP-I-READSYM, reading symbol table SYS$COMMON:[SYSEXE]TCPIP$TN_GLOBALS.STB;1
%TCPIP-I-READSYM, reading symbol table SYS$COMMON:[SYSEXE]TCPIP$TNDRIVER.STB;1
%TCPIP-E-NONFSSVCS, NFS Services execlet is not present
%TCPIP-I-READSYM, reading symbol table SYS$COMMON:[SYSEXE]TCPIP$PROXY_GLOBALS.STB;1
%TCPIP-I-READSYM, reading symbol table SYS$COMMON:[SYSEXE]TCPIP$PROXY_SERVICES.STB;1
%TCPIP-I-READSYM, reading symbol table SYS$COMMON:[SYSEXE]SYSDEF.STB;1
%TCPIP-W-IFIONLYKNEW, If I could do that, Robert, you'd be out of a job
SDA> exit
TCP/IP Crash Analysis
On OpenVMS VAX and OpenVMS Alpha, V7.3-2 and earlier, TCP/IP Services can determine the cause of a crash.
$ analyze /system
OpenVMS (TM) VAX System analyzer
SDA> tcpip show crash
%TCPIP-I-READSYM, reading symbol table SYS$COMMON:[SYSEXE]SYSDEF.STB;1
%TCPIP-I-LINKDATE, TNDRIVER linked on 15-SEP-2003 14:56:39.69
%TCPIP-I-LINKDATE, TCPIP$BGDR linked on 7-NOV-2003 16:26:45.06
%TCPIP-I-LINKDATE, TCPIP$PROXY_SERVICES linked on 19-MAY-2003 13:29:18.83
%TCPIP-I-LINKDATE, TCPIP$INTERNET_SERVICES linked on 7-NOV-2003 16:27:09.79
%TCPIP-I-READSYM, reading symbol table SYS$COMMON:[SYSEXE]TCPIP$NET_GLOBALS.STB;1
%TCPIP-I-READSYM, reading symbol table SYS$COMMON:[SYSEXE]TCPIP$INTERNET_SERVICES.STB;1
%TCPIP-I-READSYM, reading symbol table SYS$COMMON:[SYSEXE]TCPIP$BGDRIVER.STB;1
%TCPIP-I-READSYM, reading symbol table SYS$COMMON:[SYSEXE]TCPIP$INETACP.STB;1
%TCPIP-I-VERSION, TCP/IP Services for OpenVMS Version 5.3
%TCPIP-I-LASTSTART, Driver last started 7-MAR-2007 12:45:55.29
-TCPIP-I-STARTCOUNT, Driver was started 1 time
-TCPIP-I-PREVSTART, Previously started at 7-MAR-2007 12:45:55.22
%TCPIP-I-TRACEINFO, Trace information is not available
%TCPIP-E-NOPWIP, Pathworks-over-IP (PWIP) driver is not present
%TCPIP-I-READSYM, reading symbol table SYS$COMMON:[SYSEXE]TCPIP$TN_GLOBALS.STB;1
%TCPIP-I-READSYM, reading symbol table SYS$COMMON:[SYSEXE]TCPIP$TNDRIVER.STB;1
%TCPIP-E-NONFSSVCS, NFS Services execlet is not present
%TCPIP-I-READSYM, reading symbol table SYS$COMMON:[SYSEXE]TCPIP$PROXY_GLOBALS.STB;1
%TCPIP-I-READSYM, reading symbol table SYS$COMMON:[SYSEXE]TCPIP$PROXY_SERVICES.STB;1
%TCPIP-I-READSYM, reading symbol table SYS$COMMON:[SYSEXE]SYSDEF.STB;1
%TCPIP-I-THINKING, Thinking ...
%TCPIP-I-THINKING, Thinking ...
%TCPIP-I-THINKING, Thinking ...
%TCPIP-S-EUREKA, Solution: User error
SDA> exit
Unexpected Status Values
The following status values may seem a bit unusual.
Did they charge extra for the eels in my hovercraft?
$ exit %xb70
%SYSTEM-W-FISH, my hovercraft is full of eels
What does the KATIE facility do?
$ exit %x3f30074
%KATIE-F-DEVNOTMBX, device is not a mailbox
It appears there are some avid video gamers in the OpenVMS development group. See wikipedia for more information on the phrase.
$ exit %x34b4
%SYSTEM-F-GAMEOVER, all your base are belong to us
Using !%D and !AD in the F$FAO lexical function
The lexical function F$FAO does not document the ability to use the !%D directive to format a specific date and time value. It is documented to only use the current time by specifying a value of 0 as the argument. It is also not documented that the !AD directive may be used. It is possible to use these two directives to format a specific time.
In this example:
- A file is opened
- The first record read
- A time value extracted from the record
- That value is then formatted using F$FAO
$ open/read inf sys$system:sysgen.exe
$ read inf record
$ close inf
$ binval = f$extract(%xc0,8,record)
$ date = f$fao("!%D",f$cvui(32,32,f$fao("!AD",8,binval)))
$ show symbol date
DATE = "29-JUN-2006 18:19:02.84"
Please enjoy these features at your own risk. If you are aware of other features in OpenVMS which are currently undocumented, you may use our inquiry form to inform us. We may then add it to our list.