From 9d52694bca477b119a59be8b1db4ebd1e796f000 Mon Sep 17 00:00:00 2001 From: Thomas Lamprecht Date: Thu, 3 Dec 2020 16:51:30 +0100 Subject: [PATCH] followup comment/code cleanups actually explain why we set to undef and not use `delete`. Signed-off-by: Thomas Lamprecht --- src/PVE/Tools.pm | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/PVE/Tools.pm b/src/PVE/Tools.pm index bda236a..7fefa52 100644 --- a/src/PVE/Tools.pm +++ b/src/PVE/Tools.pm @@ -808,17 +808,16 @@ sub extract_param { return $res; } +# For extracting sensitive keys (e.g. password), to avoid writing them to www-data owned configs sub extract_sensitive_params :prototype($$$) { my ($param, $sensitive_list, $delete_list) = @_; - my $sensitive; - my %delete = map { $_ => 1 } ($delete_list || [])->@*; - # always extract sensitive keys, so they don't get written to the www-data readable scfg + my $sensitive = {}; for my $opt (@$sensitive_list) { - # First handle deletions as explicitly setting `undef`, afterwards new values may override - # it. + # handle deletions as explicitly setting `undef`, so subs which only have $param but not + # $delete_list available can recognize them. Afterwards new values may override. if (exists($delete{$opt})) { $sensitive->{$opt} = undef; } -- 2.39.2