From 6a04bbe07606e973af51df1a124707ba63aa75b3 Mon Sep 17 00:00:00 2001 From: Nathan Whitaker <17734409+nathanwhit@users.noreply.github.com> Date: Thu, 19 Sep 2024 15:03:57 -0700 Subject: fix(cli): Only set allow net flag for deno serve if not already allowed all (#25743) Fixes #25740 --- cli/args/flags.rs | 30 +++++++++++++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) (limited to 'cli/args') diff --git a/cli/args/flags.rs b/cli/args/flags.rs index 79ee38d75..691927353 100644 --- a/cli/args/flags.rs +++ b/cli/args/flags.rs @@ -4738,7 +4738,10 @@ fn serve_parse( format!("{host}:{port}") }])?; match &mut flags.permissions.allow_net { - None => flags.permissions.allow_net = Some(allowed), + None if !flags.permissions.allow_all => { + flags.permissions.allow_net = Some(allowed) + } + None => {} Some(v) => { if !v.is_empty() { v.extend(allowed); @@ -10747,6 +10750,31 @@ mod tests { ); } + #[test] + fn serve_with_allow_all() { + let r = flags_from_vec(svec!["deno", "serve", "--allow-all", "./main.ts"]); + let flags = r.unwrap(); + assert_eq!( + &flags, + &Flags { + subcommand: DenoSubcommand::Serve(ServeFlags::new_default( + "./main.ts".into(), + 8000, + "0.0.0.0" + )), + permissions: PermissionFlags { + allow_all: true, + allow_net: None, + ..Default::default() + }, + code_cache_enabled: true, + ..Default::default() + } + ); + // just make sure this doesn't panic + let _ = flags.permissions.to_options(); + } + #[test] fn escape_and_split_commas_test() { assert_eq!(escape_and_split_commas("foo".to_string()).unwrap(), ["foo"]); -- cgit v1.2.3