From 96ec2d6c26b274a29d159be3a5cbff90d8c830c5 Mon Sep 17 00:00:00 2001 From: Nathan Whitaker Date: Thu, 19 Sep 2024 14:01:51 -0700 Subject: [PATCH] Only set allow net if not allow all --- cli/args/flags.rs | 30 +++++++++++++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git a/cli/args/flags.rs b/cli/args/flags.rs index 79ee38d75b1552..69192735329dd0 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"]);