[comp.os.vms] CALL_USER routine in CALLABLE_TPU invoked from VMSmail

winalski@psw.DEC.COM (Paul S. Winalski) (08/10/87)

The problem occurs because the MAIL utility is installed with privileges.
Any shareable image invoked from a privileged installed image must itself be
an installed image.  VMS has this rule to prevent users from substituting
trojan horse shared images by (say) redefining a logical name for the shared
image, so that the image activator picks up the trojan horse instead of the
real shared image.

Both TPUSHR and TPU$CCTSHR (which TPUSHR calls) are normally set up as
installed images, so MAIL has no problem image activating them via
LIB$FIND_IMAGE_SYMBOL when it wants to call CALLABLE_TPU.  However, when
TPU in turn calls LIB$FIND_IMAGE_SYMBOL to image activate your TPU$CALLUSER
image, the image activation fails because your TPU$CALLUSER isn't installed.

There are two solutions to the problem:

1) Have your system manager install your TPU$CALLUSER routine by logging in
   as SYSTEM and issuing the command:

	$ RUN SYS$SYSTEM:INSTALL
	INSTALL> filespec
	INSTALL> ^Z
	$

   where "filespec" is the *full* file specification for your calluser image.
   INSTALL assumes SYS$LIBRARY: for the directory, which is why you need the
   full filespec if your file is elsewhere.

2) don't use your CALL_USER routine when in MAIL

--PSW