diff options
author | Joyee Cheung <joyeec9h3@gmail.com> | 2018-12-16 03:13:12 +0800 |
---|---|---|
committer | Joyee Cheung <joyeec9h3@gmail.com> | 2018-12-19 02:44:03 +0800 |
commit | 321e296371383fd63131d21c1121e22163ddeb86 (patch) | |
tree | 71113f7b4f3300f706ee1a3f988bae117fc2c8c8 /src/node_internals.h | |
parent | 74a1dfb56e413373064475290a1fd6a9cf8cd9ae (diff) | |
download | android-node-v8-321e296371383fd63131d21c1121e22163ddeb86.tar.gz android-node-v8-321e296371383fd63131d21c1121e22163ddeb86.tar.bz2 android-node-v8-321e296371383fd63131d21c1121e22163ddeb86.zip |
process: move POSIX credential accessors into node_credentials.cc
Expose the POSIX credential accessors through
`internalBinding('credentials')` instead of setting them on the
process or bootstrapper object from C++ directly. Also moves
`SafeGetEnv` from `internalBinding('util')` to
`internalBinding('credentials')` since it's closely related to
the credentials.
In the JS land, instead of wrapping the bindings then writing
to the process object directly in main_thread_only.js, return
the wrapped functions back to bootstrap/node.js where they get
written to the process object conditionally for clarity.
Refs: https://github.com/nodejs/node/issues/24961
PR-URL: https://github.com/nodejs/node/pull/25066
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: James M Snell <jasnell@gmail.com>
Diffstat (limited to 'src/node_internals.h')
-rw-r--r-- | src/node_internals.h | 17 |
1 files changed, 5 insertions, 12 deletions
diff --git a/src/node_internals.h b/src/node_internals.h index d9a72a10a4..2c6aad5b96 100644 --- a/src/node_internals.h +++ b/src/node_internals.h @@ -126,7 +126,6 @@ void RegisterSignalHandler(int signal, bool reset_handler = false); #endif -bool SafeGetenv(const char* key, std::string* text); v8::Local<v8::Object> CreateEnvVarProxy(v8::Local<v8::Context> context, v8::Isolate* isolate, v8::Local<v8::Value> data); @@ -734,19 +733,13 @@ void ProcessTitleSetter(v8::Local<v8::Name> property, const v8::PropertyCallbackInfo<void>& info); #if defined(__POSIX__) && !defined(__ANDROID__) && !defined(__CloudABI__) -void SetGid(const v8::FunctionCallbackInfo<v8::Value>& args); -void SetEGid(const v8::FunctionCallbackInfo<v8::Value>& args); -void SetUid(const v8::FunctionCallbackInfo<v8::Value>& args); -void SetEUid(const v8::FunctionCallbackInfo<v8::Value>& args); -void SetGroups(const v8::FunctionCallbackInfo<v8::Value>& args); -void InitGroups(const v8::FunctionCallbackInfo<v8::Value>& args); -void GetUid(const v8::FunctionCallbackInfo<v8::Value>& args); -void GetGid(const v8::FunctionCallbackInfo<v8::Value>& args); -void GetEUid(const v8::FunctionCallbackInfo<v8::Value>& args); -void GetEGid(const v8::FunctionCallbackInfo<v8::Value>& args); -void GetGroups(const v8::FunctionCallbackInfo<v8::Value>& args); +#define NODE_IMPLEMENTS_POSIX_CREDENTIALS 1 #endif // __POSIX__ && !defined(__ANDROID__) && !defined(__CloudABI__) +namespace credentials { +bool SafeGetenv(const char* key, std::string* text); +} // namespace credentials + void DefineZlibConstants(v8::Local<v8::Object> target); } // namespace node |