This commit ensures that we always furnish a new process with the cleanest, most up-to-date environment variables we can. There is a minor cost here in that WT will no longer pass environment variables that it itself inherited to its child processes. This could be considered a reasonable sacrifice. It will also remove somebody else's TERM, TERM_PROGRAM and TERM_PROGRAM_VERSION from the environment, which could be considered a win. I validated that GetCurrentProcessToken returns a token we're _technically able_ to use with this API; it is roughly equivalent to OpenProcessToken(GetCurrentProcess) in that it returns the current active _access token_ (which is what CreateEnvironmentBlock wants.) There's been discussion about doing a 3-way merge between WT's environment and the new one. This will be complicated and I'd like to scream test the 0-way merge first ;P Related to #1125 (but it does not close it or resolve any of the other issues it calls out.) Fixes #7239 Fixes #7204 ("App Paths" value creeping into wt's environment)
51 lines
444 B
Plaintext
51 lines
444 B
Plaintext
ACCEPTFILES
|
|
ACCESSDENIED
|
|
alignof
|
|
bitfield
|
|
bitfields
|
|
CLASSNOTAVAILABLE
|
|
environstrings
|
|
EXPCMDFLAGS
|
|
EXPCMDSTATE
|
|
fullkbd
|
|
futex
|
|
href
|
|
IAsync
|
|
IBind
|
|
IBox
|
|
IClass
|
|
IComparable
|
|
ICustom
|
|
IDialog
|
|
IDirect
|
|
IExplorer
|
|
IMap
|
|
IObject
|
|
IStorage
|
|
llabs
|
|
LCID
|
|
lround
|
|
LSHIFT
|
|
NCHITTEST
|
|
NCLBUTTONDBLCLK
|
|
NCRBUTTONDBLCLK
|
|
NOAGGREGATION
|
|
NOREDIRECTIONBITMAP
|
|
oaidl
|
|
ocidl
|
|
otms
|
|
OUTLINETEXTMETRICW
|
|
PAGESCROLL
|
|
RETURNCMD
|
|
rfind
|
|
roundf
|
|
RSHIFT
|
|
rx
|
|
SIZENS
|
|
spsc
|
|
STDCPP
|
|
syscall
|
|
tmp
|
|
tx
|
|
userenv
|