[Info-vax] Extended file spec support on CSWS & PHP7

Stephen Hoffman seaohveh at hoffmanlabs.invalid
Fri Aug 28 11:29:23 EDT 2020


On 2020-08-28 09:36:30 +0000, issinoho said:

> I've done some more testing and I now DON'T think this is restricted to 
> extended file names, as I renamed the file and the code to a 
> traditional format and it still can't find it.

Guess...

Smells vaguely like C RTL logical names. One of my favorite code 
smells, performing app settings management via an unbounded list of 
arcanely-named logical names.

For reproducible app startups, we are seemingly intended to add ~forty 
logical name definitions into our app startup logic or app startup 
files, either in associated DCL or in a screwy initialization program 
section (lib$initialize psect) needed during app launch, this for 
reproducible app launches, because of compatibility. And new logical 
names can and occasionally get added to the list of what we should 
configure on launch. Bad idea this design, but here we are.

And for those of you that think you're immune to this because not using 
C, are you sure there's not a C dependency underneath your app 
somewhere, and are you sure that a dependency will never be added?

Here's what was once suggested specifically for using CSWS php on OpenVMS:

     $ DEFINE /NoLog DECC$EFS_CASE_PRESERVE ENABLED
     $ DEFINE /NoLog DECC$EFS_CASE_SPECIAL ENABLED
     $ DEFINE /NoLog DECC$EFS_CHARSET ENABLED
     $ DEFINE /NoLog DECC$FILE_SHARING ENABLED

The C manual suggests the following be defined (though oddly doesn't 
provide recommended settings!):
 DECC$EFS_CHARSET, DECC$DISABLE_TO_VMS_LOGNAME_TRANSLATION, 
DECC$FILENAME_UNIX_NO_VERSION, DECC$FILENAME_UNIX_REPORT, 
DECC$READDIR_DROPDOTNOTYPE, DECC$RENAME_NO_INHERIT

Details:
https://vmssoftware.com/docs/VSI_OpenVMS_BaseOS/VSI_C_RTL_REF_MAN.pdf

Pragmatically, defining all ~40 feature logical names is probably the 
safest approach. That will avoid feature-related surprises. At least 
until a new feature is invented. Either in the app startup, or in 
lib$initialize psect "fun".  (And yes, lib$initialize reportedly can't 
fix everything here, due to the details of the app launch sequencing.)

Poke around in the depths of Apache startup or maybe in the available 
Apache source code, and you may well be able to find the list of 
logical names that's using at run-time.

This whole logical-names-for-management idea can't be tossed in the 
memory hole soon enough, but the hypothetical eventual replacement of 
this scheme means updating the OpenVMS image activator, and hopefully 
also adding room for if not support for code-signing and code 
entitlements and related checks and related functions currently missing 
on OpenVMS. Which is obviously a larger product than adding and 
translating logical names.




-- 
Pure Personal Opinion | HoffmanLabs LLC 




More information about the Info-vax mailing list