From 3f8f9539a2829c5391990f463eac6b350920bdeb Mon Sep 17 00:00:00 2001 From: Jamie Cameron Date: Tue, 14 Oct 2025 21:26:51 -0700 Subject: [PATCH] Fix editing of forwarding rule https://github.com/webmin/webmin/issues/2573 --- firewalld/edit_forward.cgi | 5 ++++- firewalld/firewalld-lib.pl | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/firewalld/edit_forward.cgi b/firewalld/edit_forward.cgi index 21e7c2029..b4a05930b 100755 --- a/firewalld/edit_forward.cgi +++ b/firewalld/edit_forward.cgi @@ -30,10 +30,13 @@ if (!$in{'new'}) { $dstmode = 1; ($dstportlow, $dstporthigh) = ($1, $2); } - else { + elsif ($dstports) { $dstmode = 0; $dstport = $dstports; } + else { + $dstmode = 2; + } } else { &ui_print_header(undef, $text{'forward_create'}, ""); diff --git a/firewalld/firewalld-lib.pl b/firewalld/firewalld-lib.pl index 9f69786ac..efe19dc9f 100644 --- a/firewalld/firewalld-lib.pl +++ b/firewalld/firewalld-lib.pl @@ -280,7 +280,7 @@ return $? ? $out : undef; sub parse_firewalld_forward { my ($str) = @_; -my %w = map { split(/=/, $_) } split(/:/, $str); +my %w = map { split(/=/, $_, 2) } split(/:/, $str); return ($w{'port'}, $w{'proto'}, $w{'toport'}, $w{'toaddr'}); }