forked from lix-project/lix
Only add the importNative primop if the allow-arbitrary-code-during-evaluation option is true (default false)
This commit is contained in:
parent
5cd022d6c0
commit
d62f46e500
|
@ -1368,6 +1368,7 @@ void EvalState::createBaseEnv()
|
||||||
mkApp(v, *baseEnv.values[baseEnvDispl - 1], *v2);
|
mkApp(v, *baseEnv.values[baseEnvDispl - 1], *v2);
|
||||||
forceValue(v);
|
forceValue(v);
|
||||||
addConstant("import", v);
|
addConstant("import", v);
|
||||||
|
if (settings.enableImportNative)
|
||||||
addPrimOp("__importNative", 2, prim_importNative);
|
addPrimOp("__importNative", 2, prim_importNative);
|
||||||
addPrimOp("__typeOf", 1, prim_typeOf);
|
addPrimOp("__typeOf", 1, prim_typeOf);
|
||||||
addPrimOp("isNull", 1, prim_isNull);
|
addPrimOp("isNull", 1, prim_isNull);
|
||||||
|
|
|
@ -61,6 +61,7 @@ Settings::Settings()
|
||||||
envKeepDerivations = false;
|
envKeepDerivations = false;
|
||||||
lockCPU = getEnv("NIX_AFFINITY_HACK", "1") == "1";
|
lockCPU = getEnv("NIX_AFFINITY_HACK", "1") == "1";
|
||||||
showTrace = false;
|
showTrace = false;
|
||||||
|
enableImportNative = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -148,6 +149,7 @@ void Settings::update()
|
||||||
get(sshSubstituterHosts, "ssh-substituter-hosts");
|
get(sshSubstituterHosts, "ssh-substituter-hosts");
|
||||||
get(useSshSubstituter, "use-ssh-substituter");
|
get(useSshSubstituter, "use-ssh-substituter");
|
||||||
get(logServers, "log-servers");
|
get(logServers, "log-servers");
|
||||||
|
get(enableImportNative, "allow-arbitrary-code-during-evaluation");
|
||||||
|
|
||||||
string subs = getEnv("NIX_SUBSTITUTERS", "default");
|
string subs = getEnv("NIX_SUBSTITUTERS", "default");
|
||||||
if (subs == "default") {
|
if (subs == "default") {
|
||||||
|
|
|
@ -200,6 +200,9 @@ struct Settings {
|
||||||
/* A list of URL prefixes that can return Nix build logs. */
|
/* A list of URL prefixes that can return Nix build logs. */
|
||||||
Strings logServers;
|
Strings logServers;
|
||||||
|
|
||||||
|
/* Whether the importNative primop should be enabled */
|
||||||
|
bool enableImportNative;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
SettingsMap settings, overrides;
|
SettingsMap settings, overrides;
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue