From: CSBVAX::MRGATE!@KL.SRI.Com:leichter-jerry@yale-venus.ARPA@SMTP 9-AUG-1987 22:12 To: EVERHART Subj: Re: Problems defining MAIL$EDIT to be CALLABLE_TPU Received: from yale-venus.ARPA by KL.SRI.COM with TCP; Sun 9 Aug 87 13:51:17-PDT Date: 9 AUG 1987 16:45:38 EST From: To: TOLLIVER%ORN.MFENET@nmfecc.arpa cc: INFO-VAX@KL.SRI.COM Subject: Re: Problems defining MAIL$EDIT to be CALLABLE_TPU Reply-To: ...Suppose one's private section file uses the TPU built-in CALL_USER to invoke some external routine whose identity is defined by the TPU$CALLUSER logical name. That works fine normally, i.e., when invoking TPU directly from DCL via EDIT/TPU. But when trying MAIL/EDIT, [with MAIL$EDIT defined as CALLABLE_TPU] the proper section file is picked up (i.e., properly translating TPUSECINI) but "it" doesn't seem to know about the TPU$CALLUSER definition and complains of (approximately) "error activating SYS$LIBRARY:TPU$CALLUSER.EXE" and then says something like "Could not find a routine for CALL_USER to invoke." In summary, "it" (i.e., callable_TPU (or somebody)), can translate TPUSECINI from the process table, but it seems unable to translate TPU$CALLUSER from the same table.... The MAIL image is installed with elevated privileges. Such an image, when it attempts to map a shareable image - either statically, by being linked against it, or dynamically, using LIB$FIND_IMAGE_SYMBOL (which is what TPU does to find your CALL_USER code) - is subject to two restrictions: - Only EXEC mode logicals are examined; - The shareable image found must itself be INSTALL'ed. (The reason for this is security: If I could cause MAIL to run my own code, I could have it use MAIL's installed privileges - which include SYSPRV - to do whatever I wanted to the system. TPU section files don't contain executable code as such - they are interpreted by TPU - so these restrictions don't apply.) I can't think of any work-arounds, other than using a spawned editor, or INSTALL'ing image containing your CALL_USER code (which might be practical in some situtations, e.g., a private workstation). -- Jerry -------