[pve-devel] [PATCH pve-network] dhcp: dnsmasq: Use dir_glob_foreach for deleting configuration files
Stefan Hanreich
s.hanreich at proxmox.com
Tue Nov 28 09:58:57 CET 2023
The current invocation is quite unsafe and triggers the taint mode of
Perl. Replacing it with dir_glob_foreach solves those issues.
Reported-By: Friedrich Weber <f.weber at proxmox.com>
Signed-off-by: Stefan Hanreich <s.hanreich at proxmox.com>
---
I wasn't sure whether directly unlinking the files in the callback
would influence the iteration, hence why I store them in an
intermediate array. Also, unlinking them all at once probably is
better than unlinking them one-by-one (although it shouldn't matter
with the low amount of files here..)
src/PVE/Network/SDN/Dhcp/Dnsmasq.pm | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/src/PVE/Network/SDN/Dhcp/Dnsmasq.pm b/src/PVE/Network/SDN/Dhcp/Dnsmasq.pm
index e65e973..2844943 100644
--- a/src/PVE/Network/SDN/Dhcp/Dnsmasq.pm
+++ b/src/PVE/Network/SDN/Dhcp/Dnsmasq.pm
@@ -234,7 +234,13 @@ CFG
$default_dnsmasq_config
);
- unlink glob "$config_directory/10-*.conf";
+ my @config_files = ();
+ PVE::Tools::dir_glob_foreach($config_directory, '10-.*\.conf', sub {
+ my ($file) = @_;
+ push @config_files, "$config_directory/$file";
+ });
+
+ unlink @config_files;
}
sub after_configure {
--
2.39.2
More information about the pve-devel
mailing list