<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Wrong image name identified in IMGNAME error message in Operating System - OpenVMS</title>
    <link>https://community.hpe.com/t5/operating-system-openvms/wrong-image-name-identified-in-imgname-error-message/m-p/3744762#M33879</link>
    <description>Richard,&lt;BR /&gt;&lt;BR /&gt;&amp;gt; I, personally, think that's wrong and&lt;BR /&gt;&amp;gt;it should be reporting the error on LIBRTL&lt;BR /&gt;&lt;BR /&gt;  A reasonable opinion, and one that I tend to agree with, but unfortunately for us, the person who implemented the code didn't.&lt;BR /&gt;&lt;BR /&gt;  The error is, technically correct. We failed to activate "DIR_WATCH_EXEC" and the reason was "PRIVINSTAL":&lt;BR /&gt;&lt;BR /&gt;"o An attempt was made to run a privileged image with uninstalled shareable images."&lt;BR /&gt;&lt;BR /&gt;  Obviously it would be more informative to name the image which caused the problem rather than the victim, but that's just semantics.&lt;BR /&gt;&lt;BR /&gt;  A little history... there are (were?) two camps of opinion in issuing error messages. I call them the "paranoids" and the "pragmatists".&lt;BR /&gt;&lt;BR /&gt;The philosophy of the paranoids was to LIMIT the amount of information revealed by an error message in order to hinder hackers. Hence "NOPRIV" and "EXQUOTA" -"Don't actually TELL them which privilege or quota, then they know what to shoot for. Any legitimate user should already know"&lt;BR /&gt;&lt;BR /&gt;The pragmatists say that's a crock, and complain about the hours of wasted time by legitimate users trying to figure out WHICH quota or privilege was missing.&lt;BR /&gt;&lt;BR /&gt;For many years the paranoids held on, but around V6, the pragmatists finally won through, and a whole set of new, more specific messages were created NOPRIV_CMKRNL, EXQUOTA_BYTLM etc... All new code is supposed to use the more informative status codes.&lt;BR /&gt;&lt;BR /&gt;However, old code paths still use the old, paranoid codes. As code is revised, some MAY be updated, but the stuff that's deep down in the kernel will probably remain (especially if everyone stops paying support contracts and starves OpenVMS engineering of funding).&lt;BR /&gt;&lt;BR /&gt;To debug this kind of error, try IMAGETREE.COM from the freeware, it displays the shareable image dependence tree for a given image. It's then a matter of checking each image in the path.&lt;BR /&gt;&lt;BR /&gt;Trusted logical names are EXEC mode in the EXEC mode path of LNM$FILE_DEV&lt;BR /&gt;&lt;BR /&gt;$ SHOW LOG/TABLE=*DIRECTORY LNM$FILE*/FULL&lt;BR /&gt;&lt;BR /&gt;So, you can set up a process specific redirection.</description>
    <pubDate>Mon, 06 Mar 2006 16:48:15 GMT</pubDate>
    <dc:creator>John Gillings</dc:creator>
    <dc:date>2006-03-06T16:48:15Z</dc:date>
    <item>
      <title>Wrong image name identified in IMGNAME error message</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/wrong-image-name-identified-in-imgname-error-message/m-p/3744758#M33875</link>
      <description>Hi,&lt;BR /&gt;&lt;BR /&gt;If after running the attached DCL command file, (please also see brief documentation at EOF) you were to define LIBRTL to point to a non-INSTALLed copy in your local directory, before entering: - &lt;BR /&gt;&lt;BR /&gt;$ run test_dir&lt;BR /&gt;&lt;BR /&gt;You would be greeted with the following message: -&lt;BR /&gt;&lt;BR /&gt;%DCL-W-ACTIMAGE, error activating image DIR_WATCH_EXEC&lt;BR /&gt;-CLI-E-IMGNAME, image file TIER3$DKA200:[SYS0.SYSCOMMON.][SYSLIB]DIR_WATCH_EXEC.EXE&lt;BR /&gt;-SYSTEM-F-PRIVINSTALL, shareable images must be installed to run privileged image&lt;BR /&gt;&lt;BR /&gt;I, personally, think that's wrong and it should be reporting the error on LIBRTL as DIR_WATCH_EXEC is happily installed and doing all it has to.&lt;BR /&gt;&lt;BR /&gt;FYI.&lt;BR /&gt;&lt;BR /&gt;Cheers Richard&lt;BR /&gt;&lt;BR /&gt;+&lt;BR /&gt;--------------------------------------------------------------------------------&lt;BR /&gt;WAITFR_FILE &lt;BR /&gt;                &lt;BR /&gt;                Monitor an on-disk directory until the user-specified file has &lt;BR /&gt;                been created. This service completes asynchronously.&lt;BR /&gt;&lt;BR /&gt;                For additional information about system service completion, &lt;BR /&gt;                refer to the Synchronize ($SYNCH) service&lt;BR /&gt;&lt;BR /&gt;--------------------------------------------------------------------------------&lt;BR /&gt;FORMAT          SYS$WAITFR_FILE [efn] ,filespec ,resultant-filespec&lt;BR /&gt;                                [,iosb] [,astadr] [,astprm]&lt;BR /&gt;&lt;BR /&gt;--------------------------------------------------------------------------------&lt;BR /&gt;ARGUMENTS       efn&lt;BR /&gt;                OpenVMS usage:  ef_number  &lt;BR /&gt;                type:           longword (unsigned) &lt;BR /&gt;                access:         read only &lt;BR /&gt;                mechanism:      by value &lt;BR /&gt;&lt;BR /&gt;                Event flag that SYS$WAITFR_FILE is to set once this service &lt;BR /&gt;                detects that the user-specified file has been created. The efn &lt;BR /&gt;                argument is a longword value containing the number of the event &lt;BR /&gt;                flag; however, SYS$WAITFR_FILE uses only the low-order byte. If&lt;BR /&gt;                you do not specify efn, event flag 0 is set. &lt;BR /&gt;&lt;BR /&gt;                When SYS$WAITFR_FILE begins execution, it clears the specified &lt;BR /&gt;                event flag or event flag 0 if efn was not specified. &lt;BR /&gt;&lt;BR /&gt;                filespec&lt;BR /&gt;                VMS usage:      char_string&lt;BR /&gt;                type:           character-coded text&lt;BR /&gt;                access:         read only&lt;BR /&gt;                mechanism:      by descriptor--fixed length string descriptor&lt;BR /&gt;&lt;BR /&gt;                File specification, which may not contain wildcards, that &lt;BR /&gt;                SYS$WAITFR_FILE uses to search for the desired file. The &lt;BR /&gt;                filespec argument is the address of a descriptor pointing to &lt;BR /&gt;                the file specification. The maximum length of the file &lt;BR /&gt;                specification is 255 bytes.&lt;BR /&gt;&lt;BR /&gt;                Additionally, the file specification may not contain a search &lt;BR /&gt;                list logical name, a node specification or a device name that&lt;BR /&gt;                refers to a device other than a disk device.&lt;BR /&gt;&lt;BR /&gt;                SYS$WAITFR_FILE uses RMS to parse the filespec argument. If RMS&lt;BR /&gt;                is unable to parse the file specification then SYS$WAITFR_FILE&lt;BR /&gt;                will place the secondary RMS error status (STV) into the first&lt;BR /&gt;                longword of the iosb argument.&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;+&lt;BR /&gt;                resultant-filespec&lt;BR /&gt;&lt;BR /&gt;                OpenVMS usage:  char_string&lt;BR /&gt;                type:           character string&lt;BR /&gt;                access:         modify&lt;BR /&gt;                mechanism:      by descriptor--fixed length string descriptor&lt;BR /&gt;&lt;BR /&gt;                Resultant file specification that SYS$WAITFR_FILE returns when&lt;BR /&gt;                it has successfully parsed the specification in the filespec&lt;BR /&gt;                argument. All concealed logical names will have been translated&lt;BR /&gt;                in this expanded file specification.&lt;BR /&gt;&lt;BR /&gt;                iosb&lt;BR /&gt;&lt;BR /&gt;                OpenVMS usage:  io_status_block  &lt;BR /&gt;                type:           quadword (unsigned) &lt;BR /&gt;                access:         write only &lt;BR /&gt;                mechanism:      by 32-bit reference &lt;BR /&gt;&lt;BR /&gt;                I/O status block that is to receive the final completion status.&lt;BR /&gt;                The iosb argument is the 32-bit address of the quadword I/O &lt;BR /&gt;                status block. &lt;BR /&gt;&lt;BR /&gt;                SYS$WAITFR_FILE sets the quadword to 0 upon request initiation. &lt;BR /&gt;                Upon request completion, a condition value is returned to the &lt;BR /&gt;                first longword; the second longword is reserved for future use. &lt;BR /&gt;&lt;BR /&gt;                Though this argument is optional, TIER3 strongly recommends that&lt;BR /&gt;                you specify it, for the following reasons: &lt;BR /&gt;&lt;BR /&gt;                . If you are using an event flag to signal the completion of the &lt;BR /&gt;                service, you can test the I/O status block for a condition value&lt;BR /&gt;                to be sure that the event flag was not set by an event other &lt;BR /&gt;                than service completion. &lt;BR /&gt;&lt;BR /&gt;                . If you are using the $SYNCH service to synchronize completion &lt;BR /&gt;                of the service, the I/O status block is a required argument for&lt;BR /&gt;                $SYNCH. &lt;BR /&gt;&lt;BR /&gt;                . The condition value returned in R0 and the condition value &lt;BR /&gt;                returned in the I/O status block provide information about &lt;BR /&gt;                different aspects of the call to the SYS$WAITFR_FILE service. &lt;BR /&gt;                The condition value returned in R0 gives you information about &lt;BR /&gt;                the success or failure of the service call itself; the condition&lt;BR /&gt;                value returned in the I/O status block gives you information &lt;BR /&gt;                about the success or failure of the service operation. &lt;BR /&gt;                Therefore, to accurately assess the success or failure of the &lt;BR /&gt;                call to SYS$WAITFR_FILE, you must check the condition values &lt;BR /&gt;                returned in both R0 and the I/O status block. &lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;+&lt;BR /&gt;                astadr&lt;BR /&gt;&lt;BR /&gt;                OpenVMS usage:  ast_procedure &lt;BR /&gt;                type:           procedure value &lt;BR /&gt;                access:         call without stack unwinding &lt;BR /&gt;                mechanism:      by 32-bit reference &lt;BR /&gt;&lt;BR /&gt;                AST service routine to be executed when SYS$WAITFR_FILE &lt;BR /&gt;                completes. The astadr argument is the 32-bit address of this &lt;BR /&gt;                routine. &lt;BR /&gt;&lt;BR /&gt;                If you specify astadr, the AST routine executes at user mode&lt;BR /&gt;                regardless of the access mode of the caller of the service. &lt;BR /&gt;&lt;BR /&gt;                astprm&lt;BR /&gt;&lt;BR /&gt;                OpenVMS usage:  user_arg  &lt;BR /&gt;                type:           longword (unsigned) &lt;BR /&gt;                access:         read only &lt;BR /&gt;                mechanism:      by value &lt;BR /&gt;&lt;BR /&gt;                AST parameter to be passed to the AST service routine specified&lt;BR /&gt;                by the astadr argument. The astprm argument is the longword &lt;BR /&gt;                parameter. &lt;BR /&gt;&lt;BR /&gt;--------------------------------------------------------------------------------&lt;BR /&gt;DESCRIPTION     &lt;BR /&gt;                Control returns to your program immediately following successful&lt;BR /&gt;                completion of this service. Once SYS$WAITFR_FILE detects that&lt;BR /&gt;                the file specified by filespec has been created, this service&lt;BR /&gt;                will inform your program by setting the event flag specified by&lt;BR /&gt;                efn and, if specified, delivering the AST. &lt;BR /&gt;&lt;BR /&gt;                For each VMS Process, there can only be one SYS$WAITFR_FILE &lt;BR /&gt;                service 'active' at any given time. Therefore it is not &lt;BR /&gt;                currently possible to implement OR type waits with &lt;BR /&gt;                SYS$WAITFR_FILE. That is, you can not choose to wait for this &lt;BR /&gt;                file OR that file.&lt;BR /&gt;&lt;BR /&gt;                Required Privileges &lt;BR /&gt;&lt;BR /&gt;                You must have read access to the disk and directory that you are&lt;BR /&gt;                monitoring.&lt;BR /&gt;&lt;BR /&gt;                Related Services &lt;BR /&gt;&lt;BR /&gt;                SYS$WAITFR_FILE_CANCEL&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;+&lt;BR /&gt;--------------------------------------------------------------------------------&lt;BR /&gt;CONDITION       SS$_NORMAL              The service completed successfully. The&lt;BR /&gt;VALUES                                  directory watch has been initiated.&lt;BR /&gt;RETURNED        SS$_INSFARG             Insufficient call arguments specified.&lt;BR /&gt;                                        Although astadr and astprm arguments are&lt;BR /&gt;                                        optional they must still be specified as&lt;BR /&gt;                                        zero.&lt;BR /&gt;                SS$_ABORT               A call to SYS$WAITFR_FILE is already &lt;BR /&gt;                                        active. Only one call to this service &lt;BR /&gt;                                        per process, is permitted at any given&lt;BR /&gt;                                        time. Review your code or cancel the &lt;BR /&gt;                                        outstanding directory watch with &lt;BR /&gt;                                        SYS$WAITFR_FILE_CANCEL.&lt;BR /&gt;                SS$_ACCVIO              Filespec could not be read by the caller&lt;BR /&gt;                                        or either the resultant-filespec or iosb&lt;BR /&gt;                                        arguments could not be written to by the &lt;BR /&gt;                                        caller.&lt;BR /&gt;                SS$_BADPARAM            One or more of the following conditions&lt;BR /&gt;                                        is true: -&lt;BR /&gt;                                        . filespec is longer than 255 characters&lt;BR /&gt;                                        . filespec contained a wildcard * or %&lt;BR /&gt;                                        . filespec contained a node name&lt;BR /&gt;                                        . filespec contained a searchlist&lt;BR /&gt;                SS$_UNSUPPORTED         No FID could be obtained for the &lt;BR /&gt;                                        directory specification or the specified&lt;BR /&gt;                                        device is not a disk device.&lt;BR /&gt;&lt;BR /&gt;                Any errors returned by the following services:-&lt;BR /&gt;                                        SYS$PARSE&lt;BR /&gt;                                        SYS$ASSIGN&lt;BR /&gt;                                        SYS$GETDVIW&lt;BR /&gt;                                        SYS$ENQ&lt;BR /&gt;                                        LIB$GET_EF&lt;BR /&gt;&lt;BR /&gt;--------------------------------------------------------------------------------&lt;BR /&gt;CONDITION       SS$_NORMAL              The file that you have been waiting for&lt;BR /&gt;VALUES                                  has been created.&lt;BR /&gt;RETURNED        SS$_CANCEL              The wait was cancelled by a call to&lt;BR /&gt;IN THE I/O                              SYS$WAITFR_FILE_CANCEL&lt;BR /&gt;STATUS          fab$l_stv               Secondary RMS error status. This will&lt;BR /&gt;BLOCK                                   only occur if SYS$WAITFR_FILE failed&lt;BR /&gt;                                        while attempting to call SYS$PARSE.&lt;BR /&gt;&lt;BR /&gt;--------------------------------------------------------------------------------&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;+&lt;BR /&gt;--------------------------------------------------------------------------------&lt;BR /&gt;WAITFR_FILE_CANCEL &lt;BR /&gt;                &lt;BR /&gt;                The cancel wait for file service will abort a file watch that &lt;BR /&gt;                was previously set in motion by a call to SYS$WAITFR_FILE.&lt;BR /&gt;&lt;BR /&gt;--------------------------------------------------------------------------------&lt;BR /&gt;FORMAT          SYS$WAITFR_FILE_CANCEL  &lt;BR /&gt;&lt;BR /&gt;--------------------------------------------------------------------------------&lt;BR /&gt;ARGUMENTS       &lt;BR /&gt;                None.&lt;BR /&gt;&lt;BR /&gt;--------------------------------------------------------------------------------&lt;BR /&gt;DESCRIPTION     The cancel file wait service is used to prematurely terminate a&lt;BR /&gt;                previous call to SYS$WAITFR_FILE.&lt;BR /&gt;&lt;BR /&gt;                SYS$WAITFR_FILE_CANCEL relinquishes all system resources &lt;BR /&gt;                obtained by SYS$WAITFR_FILE, sets the specified event flag, and &lt;BR /&gt;                delivers the AST to the calling process, if one was requested.&lt;BR /&gt;&lt;BR /&gt;                In order to identify the abnormal termination of the wait for &lt;BR /&gt;                file service SYS$WAITFR_FILE_CANCEL sets the IOSB status to &lt;BR /&gt;                SS$_CANCEL.&lt;BR /&gt;&lt;BR /&gt;                It is not a requirement of SYS$WAITFR_FILE that this routine be&lt;BR /&gt;                called. The equivalent processing, except for AST delivery and&lt;BR /&gt;                event flag setting is implied at image exit.&lt;BR /&gt;&lt;BR /&gt;                Required Privileges &lt;BR /&gt;&lt;BR /&gt;                None.&lt;BR /&gt;&lt;BR /&gt;                Related Services &lt;BR /&gt;&lt;BR /&gt;                SYS$WAITFR_FILE&lt;BR /&gt;&lt;BR /&gt;--------------------------------------------------------------------------------&lt;BR /&gt;CONDITION       SS$_NORMAL              The service completed successfully.&lt;BR /&gt;VALUES&lt;BR /&gt;RETURNED        &lt;BR /&gt;&lt;BR /&gt;</description>
      <pubDate>Sun, 05 Mar 2006 20:37:52 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/wrong-image-name-identified-in-imgname-error-message/m-p/3744758#M33875</guid>
      <dc:creator>Richard J Maher</dc:creator>
      <dc:date>2006-03-05T20:37:52Z</dc:date>
    </item>
    <item>
      <title>Re: Wrong image name identified in IMGNAME error message</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/wrong-image-name-identified-in-imgname-error-message/m-p/3744759#M33876</link>
      <description>Hi,&lt;BR /&gt;&lt;BR /&gt;But I hasten to add, maybe dir_watch_exec should be linked with /PROTECT and shouldn't be calling out to LIBRTL at all? Maybe the LIB$*_EF calls should be moved to the dir_watch_user module? Who knows?&lt;BR /&gt;&lt;BR /&gt;But then John says that MOVC3 translates to an OTS$ lib call? So should we code around that?&lt;BR /&gt;&lt;BR /&gt;It's time to refer to "Them" rules. . . Doh!&lt;BR /&gt;&lt;BR /&gt;Cheers Richard</description>
      <pubDate>Sun, 05 Mar 2006 20:45:34 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/wrong-image-name-identified-in-imgname-error-message/m-p/3744759#M33876</guid>
      <dc:creator>Richard J Maher</dc:creator>
      <dc:date>2006-03-05T20:45:34Z</dc:date>
    </item>
    <item>
      <title>Re: Wrong image name identified in IMGNAME error message</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/wrong-image-name-identified-in-imgname-error-message/m-p/3744760#M33877</link>
      <description>Opinion only - I disagree.&lt;BR /&gt;The error message isn't caused by librtl or a call to librtl, it is the image activator checking your image and finding problems.&lt;BR /&gt;You may think that "DIR_WATCH_EXEC is happily installed and doing all it has to",&lt;BR /&gt;but vms thinks that "I have a privileged image that may try to get around security restrictions by calling an untrusted image".&lt;BR /&gt;If you define your librtl as an executive logical name, then the vms image activator will allow dir_watch_exe to run.&lt;BR /&gt;(you probably knew this already)&lt;BR /&gt;Phil&lt;BR /&gt;&lt;BR /&gt;</description>
      <pubDate>Sun, 05 Mar 2006 23:22:59 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/wrong-image-name-identified-in-imgname-error-message/m-p/3744760#M33877</guid>
      <dc:creator>Phil.Howell</dc:creator>
      <dc:date>2006-03-05T23:22:59Z</dc:date>
    </item>
    <item>
      <title>Re: Wrong image name identified in IMGNAME error message</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/wrong-image-name-identified-in-imgname-error-message/m-p/3744761#M33878</link>
      <description>Phil,&lt;BR /&gt;&lt;BR /&gt;Can you please include the output from the testing that you conducted on this, as I appear to get different results from you? Especially the bit where you have an unINSTALLED LIBRTL (albeit pointed to by a /SYS/EXEC logical name) being activated when called from a UWSS. I, for one, would really like to see that.&lt;BR /&gt;&lt;BR /&gt;Please see the "User Action" bit below. If the local copy of LIBRTL is in fact installed then everything is peachy. So once again I submit to the panel that LIBRTL is the image that needs to be installed so LIBRTL is the image that needs to be in the error message. &lt;BR /&gt;&lt;BR /&gt;As to the reason why the image activator is happy to pursue a non /sys/exec logical name for LIBRTL when it appears to bypass them for others is, at present, a mystery to me. The good news is, regardless of logical name resolution, VMS appears to insist on all images being installed. This is the mut's nuts!&lt;BR /&gt;&lt;BR /&gt;Cheers Richard&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt; PRIVINSTALL,  shareable images must be installed to run privileged&lt;BR /&gt;               image&lt;BR /&gt;&lt;BR /&gt;  Facility:     SYSTEM, System Services&lt;BR /&gt;&lt;BR /&gt;  Explanation:  Two possible reasons for this error are:&lt;BR /&gt;&lt;BR /&gt;                o An attempt was made to run a privileged image with&lt;BR /&gt;                  uninstalled shareable images.&lt;BR /&gt;&lt;BR /&gt;                o An uninstalled shareable image was referenced when the main&lt;BR /&gt;                  program was installed with the /EXECUTE_ONLY qualifier.&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;  User Action:  Ask the system manager to install all shareable images used by&lt;BR /&gt;                executable images.&lt;BR /&gt;</description>
      <pubDate>Mon, 06 Mar 2006 02:40:49 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/wrong-image-name-identified-in-imgname-error-message/m-p/3744761#M33878</guid>
      <dc:creator>Richard J Maher</dc:creator>
      <dc:date>2006-03-06T02:40:49Z</dc:date>
    </item>
    <item>
      <title>Re: Wrong image name identified in IMGNAME error message</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/wrong-image-name-identified-in-imgname-error-message/m-p/3744762#M33879</link>
      <description>Richard,&lt;BR /&gt;&lt;BR /&gt;&amp;gt; I, personally, think that's wrong and&lt;BR /&gt;&amp;gt;it should be reporting the error on LIBRTL&lt;BR /&gt;&lt;BR /&gt;  A reasonable opinion, and one that I tend to agree with, but unfortunately for us, the person who implemented the code didn't.&lt;BR /&gt;&lt;BR /&gt;  The error is, technically correct. We failed to activate "DIR_WATCH_EXEC" and the reason was "PRIVINSTAL":&lt;BR /&gt;&lt;BR /&gt;"o An attempt was made to run a privileged image with uninstalled shareable images."&lt;BR /&gt;&lt;BR /&gt;  Obviously it would be more informative to name the image which caused the problem rather than the victim, but that's just semantics.&lt;BR /&gt;&lt;BR /&gt;  A little history... there are (were?) two camps of opinion in issuing error messages. I call them the "paranoids" and the "pragmatists".&lt;BR /&gt;&lt;BR /&gt;The philosophy of the paranoids was to LIMIT the amount of information revealed by an error message in order to hinder hackers. Hence "NOPRIV" and "EXQUOTA" -"Don't actually TELL them which privilege or quota, then they know what to shoot for. Any legitimate user should already know"&lt;BR /&gt;&lt;BR /&gt;The pragmatists say that's a crock, and complain about the hours of wasted time by legitimate users trying to figure out WHICH quota or privilege was missing.&lt;BR /&gt;&lt;BR /&gt;For many years the paranoids held on, but around V6, the pragmatists finally won through, and a whole set of new, more specific messages were created NOPRIV_CMKRNL, EXQUOTA_BYTLM etc... All new code is supposed to use the more informative status codes.&lt;BR /&gt;&lt;BR /&gt;However, old code paths still use the old, paranoid codes. As code is revised, some MAY be updated, but the stuff that's deep down in the kernel will probably remain (especially if everyone stops paying support contracts and starves OpenVMS engineering of funding).&lt;BR /&gt;&lt;BR /&gt;To debug this kind of error, try IMAGETREE.COM from the freeware, it displays the shareable image dependence tree for a given image. It's then a matter of checking each image in the path.&lt;BR /&gt;&lt;BR /&gt;Trusted logical names are EXEC mode in the EXEC mode path of LNM$FILE_DEV&lt;BR /&gt;&lt;BR /&gt;$ SHOW LOG/TABLE=*DIRECTORY LNM$FILE*/FULL&lt;BR /&gt;&lt;BR /&gt;So, you can set up a process specific redirection.</description>
      <pubDate>Mon, 06 Mar 2006 16:48:15 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/wrong-image-name-identified-in-imgname-error-message/m-p/3744762#M33879</guid>
      <dc:creator>John Gillings</dc:creator>
      <dc:date>2006-03-06T16:48:15Z</dc:date>
    </item>
    <item>
      <title>Re: Wrong image name identified in IMGNAME error message</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/wrong-image-name-identified-in-imgname-error-message/m-p/3744763#M33880</link>
      <description>Richard,&lt;BR /&gt;&lt;BR /&gt;  Note that you're not supposed to call user mode routines from inner modes. You might be able to, BUT beware that you may be opening security holes or creating system crashers. Once you're inside a protected image, you OWN the system. Security and system integrity is entirely in your hands. For a start, I'd want to see some far more extensive validation of arguments before deploying your code on one of my systems.&lt;BR /&gt;&lt;BR /&gt;  Please check your assumptions carefully. I've tried that approach before. It's very expensive as your lock will be triggered by many more events than just file creations. My conclusion was it was actually cheaper, and certainly safer to just poll the directory. It also tells you when the file was created, not when it gets closed (which is presumably far more interesting and useful). I'm also certain that you can do all that without resorting to inner mode.&lt;BR /&gt;&lt;BR /&gt;See:&lt;BR /&gt;&lt;A href="http://forums1.itrc.hp.com/service/forums/questionanswer.do?threadId=940030" target="_blank"&gt;http://forums1.itrc.hp.com/service/forums/questionanswer.do?threadId=940030&lt;/A&gt;</description>
      <pubDate>Mon, 06 Mar 2006 17:46:21 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/wrong-image-name-identified-in-imgname-error-message/m-p/3744763#M33880</guid>
      <dc:creator>John Gillings</dc:creator>
      <dc:date>2006-03-06T17:46:21Z</dc:date>
    </item>
    <item>
      <title>Re: Wrong image name identified in IMGNAME error message</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/wrong-image-name-identified-in-imgname-error-message/m-p/3744764#M33881</link>
      <description>Hi John,&lt;BR /&gt;&lt;BR /&gt;Thanks for the reply. (It's not that I stopped paying a support contract, I just never had one :-) I do have a SDK license and a DSPP membership and I'm a nice bloke.&lt;BR /&gt;&lt;BR /&gt;I think I follow your argument, but that should leave us with either a message with *no* image name or a message with the *correct* image name. We currently have neither of those options.&lt;BR /&gt;&lt;BR /&gt;Anyway, who cares? I honestly couldn't give two proverbials as to what image name shows up, and it was really only another chance to extract more information from you and to show off some code I had lying around but please answer me this: -&lt;BR /&gt;&lt;BR /&gt;Why do you discuss "trusted" logical names at EXEC mode when the image activator is clearly *and evidently* happy to persue SUPERVISOR mode logical names for LIBRTL?&lt;BR /&gt;&lt;BR /&gt;TIER3&amp;gt; @dir_watch&lt;BR /&gt;%COPY-S-COPIED, TIER3_SYSMAN:[MAHER_R.TRASH]DIR_WATCH_EXEC.EXE;2 copied to SYS$COMMON:[SYSLIB]DIR_WATCH_EXEC.EXE;4 (20 blocks)&lt;BR /&gt;%COPY-S-COPIED, TIER3_SYSMAN:[MAHER_R.TRASH]DIR_WATCH_USER.EXE;2 copied to SYS$COMMON:[SYSLIB]DIR_WATCH_USER.EXE;4 (7 blocks)&lt;BR /&gt;TIER3&amp;gt; define librtl TIER3_SYSMAN:[MAHER_R.UWSS]librtl&lt;BR /&gt;TIER3&amp;gt; run test_dir&lt;BR /&gt;%DCL-W-ACTIMAGE, error activating image DIR_WATCH_EXEC&lt;BR /&gt;-CLI-E-IMGNAME, image file TIER3$DKA200:[SYS0.SYSCOMMON.][SYSLIB]DIR_WATCH_EXEC.EXE&lt;BR /&gt;-SYSTEM-F-PRIVINSTALL, shareable images must be installed to run privileged image&lt;BR /&gt;TIER3&amp;gt; sh log librtl/full&lt;BR /&gt;   "LIBRTL" [super] = "TIER3_SYSMAN:[MAHER_R.UWSS]LIBRTL" (LNM$PROCESS_TABLE)&lt;BR /&gt;&lt;BR /&gt;Not trying to be funny John, but do you see the bit that says *[SUPER]*? Am I misunderstanding something?&lt;BR /&gt;&lt;BR /&gt;If only developers could look up "Them" rules then we could save us all a lot of time! Where are they?&lt;BR /&gt;&lt;BR /&gt;Cheers Richard&lt;BR /&gt;&lt;BR /&gt;PS. Do you stop looking at threads once the little rabbit has been assigned? Should I hold off assigning points until a thread has been exhausted?</description>
      <pubDate>Mon, 06 Mar 2006 17:57:22 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/wrong-image-name-identified-in-imgname-error-message/m-p/3744764#M33881</guid>
      <dc:creator>Richard J Maher</dc:creator>
      <dc:date>2006-03-06T17:57:22Z</dc:date>
    </item>
    <item>
      <title>Re: Wrong image name identified in IMGNAME error message</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/wrong-image-name-identified-in-imgname-error-message/m-p/3744765#M33882</link>
      <description>Hi,&lt;BR /&gt;&lt;BR /&gt;[ For a start, I'd want to see some far more extensive validation of arguments before deploying your code on one of my systems.]&lt;BR /&gt;&lt;BR /&gt;Oh really? Which ones? (Specifically) I'm going out the door right now but I think "them" rules of coutesy and far play require some substantiation and a right-of-reply on my behalf. If it needs fixing then please let me know.&lt;BR /&gt;&lt;BR /&gt;I'll address your other points when I get back, but can we try to leave the "there be dragons" arguments outside and try to concentrate on the science? If we can move forward on the premise that everyone has lay prostrate in from of the EXEC alter and UWSSs are an essential part of VMS functionality *and* that it is in *everyone's* best interest that they get written properly, then that would be just peachy!&lt;BR /&gt;&lt;BR /&gt;Cheers Richard.</description>
      <pubDate>Mon, 06 Mar 2006 18:34:03 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/wrong-image-name-identified-in-imgname-error-message/m-p/3744765#M33882</guid>
      <dc:creator>Richard J Maher</dc:creator>
      <dc:date>2006-03-06T18:34:03Z</dc:date>
    </item>
    <item>
      <title>Re: Wrong image name identified in IMGNAME error message</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/wrong-image-name-identified-in-imgname-error-message/m-p/3744766#M33883</link>
      <description>I do get different results from you, :)&lt;BR /&gt;but not in the way that I expected. :(&lt;BR /&gt;&lt;BR /&gt;I would have expected test_dir to have been installed with privilege to achieve your results.&lt;BR /&gt;&lt;BR /&gt;Was it installed? what privs?&lt;BR /&gt;&lt;BR /&gt;If you answer you own questions in this forum, can you award yourself points?&lt;BR /&gt;&lt;BR /&gt;Phil&lt;BR /&gt;&lt;BR /&gt;</description>
      <pubDate>Tue, 07 Mar 2006 01:59:43 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/wrong-image-name-identified-in-imgname-error-message/m-p/3744766#M33883</guid>
      <dc:creator>Phil.Howell</dc:creator>
      <dc:date>2006-03-07T01:59:43Z</dc:date>
    </item>
    <item>
      <title>Re: Wrong image name identified in IMGNAME error message</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/wrong-image-name-identified-in-imgname-error-message/m-p/3744767#M33884</link>
      <description>Richard,&lt;BR /&gt;&lt;BR /&gt;&amp;gt;Oh really? Which ones? (Specifically) &lt;BR /&gt;&lt;BR /&gt;See the code in your MACRO defining the service:&lt;BR /&gt;&lt;BR /&gt;         cmpb    (ap),#narg&lt;BR /&gt;         bgeq    endmacro&lt;BR /&gt;         movzwl  #ss$_insfarg,r0&lt;BR /&gt;         ret&lt;BR /&gt;&lt;BR /&gt;This checks the argument count, but doesn't check that AP points anywhere first. A null argument list will result in an ACCVIO. In kernel mode that takes out the whole system. Even if the argument COUNT is valid, there's no attempt to make sure the entire (apparent) argument list is accessible. The AP could point to the last longword in mapped memory. Referencing 4(AP) or beyond could ACCVIO. You're already in kernel or exec mode at this time, so NOTHING the user gives you can be trusted.&lt;BR /&gt;&lt;BR /&gt;&amp;gt;Do you stop looking at threads once &lt;BR /&gt;&amp;gt;the little rabbit has been assigned?&lt;BR /&gt;&lt;BR /&gt;  ITRC is entirely voluntary. It's pretty much at the bottom of my priorities. I will contribute when I have time, and believe it's well spent. I don't come here to "spar" or score points (figurative or literal). If I get the impression my opinion or advice is not wanted, or will be ignored, I don't waste anyone's time by posting it.&lt;BR /&gt;&lt;BR /&gt;  In this case my opinion is there is no need to be doing any of this in kernel or exec mode. I recommend you step back, consider what you're really trying to achieve and look at safer means to achieve it.</description>
      <pubDate>Tue, 07 Mar 2006 16:03:06 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/wrong-image-name-identified-in-imgname-error-message/m-p/3744767#M33884</guid>
      <dc:creator>John Gillings</dc:creator>
      <dc:date>2006-03-07T16:03:06Z</dc:date>
    </item>
    <item>
      <title>Re: Wrong image name identified in IMGNAME error message</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/wrong-image-name-identified-in-imgname-error-message/m-p/3744768#M33885</link>
      <description>Hi,&lt;BR /&gt;&lt;BR /&gt;Below is the dispatcher snippet and attached is the six-year old discussion from COV.&lt;BR /&gt;&lt;BR /&gt;Cheers Richard.&lt;BR /&gt;&lt;BR /&gt;                             00C0         14820 ; If there are more than 6arguments, they must be copied from the&lt;BR /&gt;&lt;BR /&gt;SYSTEM_SERVICE_DISPATCHER       Change Mode System Service Disp 19-NOV-2004 08:30:51  MACRO-64 V1.2-108-367CC           Page 23&lt;BR /&gt;X-52                            Change Mode to EXEC Dispatcher  20-JUL-2004 21:14:13  [SYS_2.SRC]SYSTEM_SERVICE_DISPATCHER.M64;1&lt;BR /&gt;&lt;BR /&gt;                             00C0         14821 ; caller's to the inner mode stack.  We neither validate the argument&lt;BR /&gt;                             00C0         14822 ; count nor probe the accessibility of the data pointed to by the&lt;BR /&gt;                             00C0         14823 ; arguments.  However, we have to make certain we can access the&lt;BR /&gt;                             00C0         14824 ; arguments themselves.&lt;BR /&gt;                             00C0         14825 ;&lt;BR /&gt;                  *Optimized*             14826         AND     R25, #255,R22          ; isolate number of arguments&lt;BR /&gt;                  *Optimized*             14827         OR      R16, R31, R2           ; Save prvmod&lt;BR /&gt;                  *Optimized*             14828         SUBQ    R22, #6, R22           ; get number of arguments &amp;gt; 6&lt;BR /&gt;                  *Optimized*             14829         BLE     R22, 30$               ; if LEQ, 6 or fewer&lt;BR /&gt;                             00D0         14830&lt;BR /&gt;                  *Optimized*             14831         OR      R17, R31, R6           ; Save additional argument registers&lt;BR /&gt;                  *Optimized*             14832         OR      R18, R31, R1&lt;BR /&gt;                             00D8         14833 ;&lt;BR /&gt;                             00D8         14834 ; Set up to probe the caller's excess parameters.  These are&lt;BR /&gt;                             00D8         14835 ; on top of caller's stack, whose address has been saved in R28.&lt;BR /&gt;                             00D8         14836 ;&lt;BR /&gt;                  *Optimized*             14837         OR      R16, R31,R18           ; copy caller's CURMOD for PROBE&lt;BR /&gt;                  *Optimized*             14838         OR      R28, R31,R16           ; PROBE wants address in R16&lt;BR /&gt;                  *Optimized*             14839         S8SUBQ  R22, #1, R17           ; point to last datum&lt;BR /&gt;                             00E4         14840 ;&lt;BR /&gt;                             00E4         14841 ; Probe caller's stack to insure we can read the arguments themselves&lt;BR /&gt;                             00E4         14842 ; (not what they point to).&lt;BR /&gt;                             00E4         14843 ; Because the maximum number of arguments is 255 we will not span more&lt;BR /&gt;                             00E4         14844 ; than two Alpha pages.&lt;BR /&gt;                             00E4         14845 ;&lt;BR /&gt;                  *Optimized*             14846         PROBER                         ; can we read the argument list?&lt;BR /&gt;                  *Optimized*             14847         BLBC    R0,KERNEL_ACCVIO       ; no, fail service&lt;BR /&gt;                             00EC         14848                                        ;   (NOTE: caller R26 still intact)&lt;BR /&gt;                  *Optimized*             14849         SUBL    SP, R17, SP            ; make room for arguments&lt;BR /&gt;                  *Optimized*             14850         BIC     SP, #15, SP            ; force OCTAWORD alignment&lt;BR /&gt;                  *Optimized*             14851         OR      SP, R31, R18           ; copy pointer to inner stack&lt;BR /&gt;                             00F8         14852&lt;BR /&gt;                             00F8         14853 ;&lt;BR /&gt;                             00F8         14854 ; Determine if sign extension checking should be performed for the stack-based&lt;BR /&gt;                             00F8         14855 ; arguments.&lt;BR /&gt;                             00F8         14856 ;&lt;BR /&gt;                             00F8         14857 20$:&lt;BR /&gt;                  *Optimized*             14858         AND     R5,#SSFLAG_K_64_BIT_ARGS, R28&lt;BR /&gt;                  *Optimized*             14859         BNE     R28, 27$&lt;BR /&gt;                             0100         14860&lt;BR /&gt;                             0100         14861 ;&lt;BR /&gt;                             0100         14862 ; R18 -&amp;gt; inner stack&lt;BR /&gt;                             0100         14863 ; R16 -&amp;gt; caller stack&lt;BR /&gt;                             0100         14864 ; R22 = number of excess parameters to be copied&lt;BR /&gt;                             0100         14865 ; Copy doing sign extension check.&lt;BR /&gt;                             0100         14866 ;&lt;BR /&gt;                             0100         14867 25$:&lt;BR /&gt;                  *Optimized*             14868         LDQ     R28, (R16)             ; get caller's datum&lt;BR /&gt;                             0104         14869         IS_32_BITS R28, R0             ; check if arg is sign extended&lt;BR /&gt;                  *Optimized*             14870         STQ     R28, (R18)             ; store in inner stack&lt;BR /&gt;                  *Optimized*             14871         LDA     R16, 8(R16)            ; autoincrement&lt;BR /&gt;                  *Optimized*             14872         LDA     R18, 8(R18)&lt;BR /&gt;                  *Optimized*             14873         SUBL    R22, #1, R22           ; count it&lt;BR /&gt;                  *Optimized*             14874         BGT     R22, 25$               ; loop if not done&lt;BR /&gt;                  *Optimized*             14875         BR      R31, 29$               ; branch around non-sign extended check copy&lt;BR /&gt;                  *Optimized*             14875 ing&lt;BR /&gt;                             0128         14876&lt;BR /&gt;&lt;BR /&gt;SYSTEM_SERVICE_DISPATCHER       Change Mode System Service Disp 19-NOV-2004 08:30:51  MACRO-64 V1.2-108-367CC           Page 24&lt;BR /&gt;X-52                            Change Mode to EXEC Dispatcher  20-JUL-2004 21:14:13  [SYS_2.SRC]SYSTEM_SERVICE_DISPATCHER.M64;1&lt;BR /&gt;&lt;BR /&gt;                             0128         14877 ;&lt;BR /&gt;                             0128         14878 ; Copy stack arguments without sign-extension checking.&lt;BR /&gt;                             0128         14879 ;&lt;BR /&gt;                             0128         14880 27$:&lt;BR /&gt;                  *Optimized*             14881         LDQ     R28, (R16)             ; get caller's datum&lt;BR /&gt;                  *Optimized*             14882         STQ     R28, (R18)             ; store in inner stack&lt;BR /&gt;                  *Optimized*             14883         LDA     R16, 8(R16)            ; autoincrement&lt;BR /&gt;                  *Optimized*             14884         LDA     R18, 8(R18)&lt;BR /&gt;                  *Optimized*             14885         SUBL    R22, #1, R22           ; count it&lt;BR /&gt;                  *Optimized*             14886         BGT     R22, 27$               ; loop if not done&lt;BR /&gt;                             0140         14887&lt;BR /&gt;                             0140         14888 29$:&lt;BR /&gt;                  *Optimized*             14889         OR      R6, R31, R17           ; Restore registers saved across PROBE&lt;BR /&gt;                  *Optimized*             14890         OR      R1, R31, R18&lt;BR /&gt;</description>
      <pubDate>Wed, 08 Mar 2006 10:30:26 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/wrong-image-name-identified-in-imgname-error-message/m-p/3744768#M33885</guid>
      <dc:creator>Richard J Maher</dc:creator>
      <dc:date>2006-03-08T10:30:26Z</dc:date>
    </item>
    <item>
      <title>Re: Wrong image name identified in IMGNAME error message</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/wrong-image-name-identified-in-imgname-error-message/m-p/3744769#M33886</link>
      <description>Richard,&lt;BR /&gt;&lt;BR /&gt;  Are you actually looking for help and advice, or are you just here to insult people?&lt;BR /&gt;&lt;BR /&gt;  Consider:&lt;BR /&gt;&lt;BR /&gt;  CLRL R0&lt;BR /&gt;  CALLG (R0),your-routine&lt;BR /&gt;&lt;BR /&gt;upon entry to your routine, AP will be zero. Therefore the instruction:&lt;BR /&gt;&lt;BR /&gt;  CMPB (AP),#anything&lt;BR /&gt;&lt;BR /&gt;will ACCVIO.&lt;BR /&gt;&lt;BR /&gt;  Try it on a VAX, look it up in the architecture manual (section 8.4 in my 1977 first edition). That's how the CALL instruction is defined.&lt;BR /&gt;&lt;BR /&gt;  Now, as it *happens*, in some cases the Alpha MACRO-32 compiler may generate code for the CALL in such a way as to result in an ACCVIO *before* actually calling the target routine. That may protect you from this particular exploit, but depending on coincidences is entirely the wrong attitude when coding in inner modes.&lt;BR /&gt;&lt;BR /&gt;  The first rule of inner mode, is to do your best to AVOID it. The second is to not trust anything sent to you. That includes the AP and everything it points to.&lt;BR /&gt;&lt;BR /&gt;  Again, I suggest that you look at what you're trying to achieve and use the available user mode mechanisms.</description>
      <pubDate>Wed, 08 Mar 2006 15:53:26 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/wrong-image-name-identified-in-imgname-error-message/m-p/3744769#M33886</guid>
      <dc:creator>John Gillings</dc:creator>
      <dc:date>2006-03-08T15:53:26Z</dc:date>
    </item>
    <item>
      <title>Re: Wrong image name identified in IMGNAME error message</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/wrong-image-name-identified-in-imgname-error-message/m-p/3744770#M33887</link>
      <description>&lt;BR /&gt;Richard, I respect your techincal insights and probing questions and sense of humor. But replies are no longer constructive,  sarcastic, cynical or funny but crossed in to the ugly world of personal attacks. Please don't.&lt;BR /&gt;&lt;BR /&gt;&lt;THIS space="" intentionally="" left="" blank=""&gt;&lt;BR /&gt;&lt;BR /&gt;Regards,&lt;BR /&gt;Hein van den Heuvel.&lt;BR /&gt;&lt;/THIS&gt;</description>
      <pubDate>Sun, 12 Mar 2006 13:44:44 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/wrong-image-name-identified-in-imgname-error-message/m-p/3744770#M33887</guid>
      <dc:creator>Hein van den Heuvel</dc:creator>
      <dc:date>2006-03-12T13:44:44Z</dc:date>
    </item>
    <item>
      <title>Re: Wrong image name identified in IMGNAME error message</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/wrong-image-name-identified-in-imgname-error-message/m-p/3744771#M33888</link>
      <description>ok back to the original questions...&lt;BR /&gt;&lt;BR /&gt;Q1: Without the use of enhanced privileges and with the Main Executable Image not having being INSTALLed: - Can a call from an inner-mode UWSS out to any other shareable image (/PROTECTED or otherwise) be spoofed and redirected to another shareable image?&lt;BR /&gt;&lt;BR /&gt;No - until proved otherwise.&lt;BR /&gt;(what do have against installing your executable image with privilege?)&lt;BR /&gt;&lt;BR /&gt;My testing to-date indicates that the image activator insists on all shareable images being INSTALLed. Is this supported and architected behaviour?&lt;BR /&gt;&lt;BR /&gt;Yes - but only if the executable is privileged, or any shared image referenced by the executable image is protected, or if the executable image is installed as /execute_only&lt;BR /&gt;Shared images that do not have any security implications do not have to be installed.&lt;BR /&gt;&lt;BR /&gt;From Install utility reference:&lt;BR /&gt;" any routine called by the privileged image must also be trusted. For this reason, any shareable images activated for use by a privileged image must be installed. Only trusted logical names (names defined in executive and kernel mode) can be used in locating shareable images to be used by a privileged image."&lt;BR /&gt;&lt;BR /&gt;Q2: When a LIB$ routine is called from an EXEC Mode UWSS, why does the image activator consider Non-Trusted, Supervisor-Mode Logical Names when activating LIBRTL? Furthermore, why does the image activator then appear to ignore non-trusted logical names when activating other shareable images? Is there something peculiar about LIBRTL?&lt;BR /&gt;&lt;BR /&gt;When I tried your code, it worked when I wasn't expecting it to, so I'll pass on this one while I re-check what I did.&lt;BR /&gt;&lt;BR /&gt;One question&lt;BR /&gt;$install/list shows installed image details&lt;BR /&gt;what determines if an image is listed as&lt;BR /&gt;"Shared" or "SharAddr"&lt;BR /&gt;&lt;BR /&gt;Phil&lt;BR /&gt;&lt;BR /&gt;</description>
      <pubDate>Sun, 12 Mar 2006 20:11:06 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/wrong-image-name-identified-in-imgname-error-message/m-p/3744771#M33888</guid>
      <dc:creator>Phil.Howell</dc:creator>
      <dc:date>2006-03-12T20:11:06Z</dc:date>
    </item>
    <item>
      <title>Re: Wrong image name identified in IMGNAME error message</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/wrong-image-name-identified-in-imgname-error-message/m-p/3744772#M33889</link>
      <description>As one of the forum's moderators I have &lt;BR /&gt;deleted some answers I considered inappropriate.&lt;BR /&gt;&lt;BR /&gt;John Gillings is one of the best VMS people&lt;BR /&gt;on planet earth.&lt;BR /&gt;&lt;BR /&gt;Guy Peleg&lt;BR /&gt;OpenVMS Engineering&lt;BR /&gt;</description>
      <pubDate>Sat, 18 Mar 2006 13:23:57 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/wrong-image-name-identified-in-imgname-error-message/m-p/3744772#M33889</guid>
      <dc:creator>Guy Peleg</dc:creator>
      <dc:date>2006-03-18T13:23:57Z</dc:date>
    </item>
  </channel>
</rss>

