mirror of
https://github.com/denoland/deno.git
synced 2024-11-28 16:20:57 -05:00
fix(flags): --allow-all should conflict with lower permissions (#25909)
Using `--allow-all` with other `--allow-x` permission flags should cause an error since `--allow-all` is a superset of `--allow-x`. Closes #25901
This commit is contained in:
parent
0f617be84a
commit
a8d1ab5276
3 changed files with 35 additions and 0 deletions
|
@ -3603,6 +3603,14 @@ fn allow_all_arg() -> Arg {
|
||||||
Arg::new("allow-all")
|
Arg::new("allow-all")
|
||||||
.short('A')
|
.short('A')
|
||||||
.long("allow-all")
|
.long("allow-all")
|
||||||
|
.conflicts_with("allow-read")
|
||||||
|
.conflicts_with("allow-write")
|
||||||
|
.conflicts_with("allow-net")
|
||||||
|
.conflicts_with("allow-env")
|
||||||
|
.conflicts_with("allow-run")
|
||||||
|
.conflicts_with("allow-sys")
|
||||||
|
.conflicts_with("allow-ffi")
|
||||||
|
.conflicts_with("allow-import")
|
||||||
.action(ArgAction::SetTrue)
|
.action(ArgAction::SetTrue)
|
||||||
.help("Allow all permissions")
|
.help("Allow all permissions")
|
||||||
}
|
}
|
||||||
|
@ -11007,4 +11015,23 @@ Usage: deno repl [OPTIONS] [-- [ARGS]...]\n"
|
||||||
);
|
);
|
||||||
assert_eq!(parse("file:///example.com"), None);
|
assert_eq!(parse("file:///example.com"), None);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn allow_all_conflicts_allow_perms() {
|
||||||
|
let flags = [
|
||||||
|
"--allow-read",
|
||||||
|
"--allow-write",
|
||||||
|
"--allow-net",
|
||||||
|
"--allow-env",
|
||||||
|
"--allow-run",
|
||||||
|
"--allow-sys",
|
||||||
|
"--allow-ffi",
|
||||||
|
"--allow-import",
|
||||||
|
];
|
||||||
|
for flag in flags {
|
||||||
|
let r =
|
||||||
|
flags_from_vec(svec!["deno", "run", "--allow-all", flag, "foo.ts"]);
|
||||||
|
assert!(r.is_err());
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -34,6 +34,11 @@
|
||||||
"output": "run.out",
|
"output": "run.out",
|
||||||
"exitCode": 1
|
"exitCode": 1
|
||||||
},
|
},
|
||||||
|
"run_allow_all": {
|
||||||
|
"args": "run --quiet --allow-all success.ts",
|
||||||
|
"output": "3\n",
|
||||||
|
"exitCode": 0
|
||||||
|
},
|
||||||
"serve": {
|
"serve": {
|
||||||
"args": "serve main.ts",
|
"args": "serve main.ts",
|
||||||
"output": "serve.out",
|
"output": "serve.out",
|
||||||
|
|
3
tests/specs/permission/allow_import/success.ts
Normal file
3
tests/specs/permission/allow_import/success.ts
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
import { add } from "http://localhost:4545/add.ts";
|
||||||
|
|
||||||
|
console.log(add(1, 2));
|
Loading…
Reference in a new issue