Bug 1637894

Summary: There is no check for the toaddr= option when add-forward-port is used on firewalld
Product: Red Hat Enterprise Linux 7 Reporter: Fani Orestiadou <forestia>
Component: firewalldAssignee: Eric Garver <egarver>
Status: CLOSED ERRATA QA Contact: Jiri Peska <jpeska>
Severity: low Docs Contact:
Priority: unspecified    
Version: 7.5CC: atragler, egarver, jmaxwell, jpeska, sbrivio, todoleza
Target Milestone: rcKeywords: Reopened, TestOnly
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: firewalld-0.5.3-5.el7 Doc Type: No Doc Update
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2020-03-31 20:00:54 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1723958    

Description Fani Orestiadou 2018-10-10 09:54:42 UTC
Description of problem:

It is possible to specify whatever name instead of the "toaddr" option and firewalld is accepting it, but skips the value. 

--add-forward-port=port=portid[-portid]:proto=protocol[:toport=portid[-portid]][:toaddr=address[/mask]] [--timeout=seconds]

Version-Release number of selected component (if applicable):
I was able to reproduce it on all RHEL 7.x versions.

How reproducible:

Type whatever word instead of toaddr option. 

Steps to Reproduce:

$ cat /etc/redhat-release 
Red Hat Enterprise Linux Workstation release 7.5 (Maipo)
$ firewall-cmd  --add-forward-port=port=1213:proto=tcp:toport=22:TOWHATEVER=10.10.10.1
success
$ firewall-cmd --list-all
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: eth0 ens3 ens10 team0
  sources: 
  services: dhcpv6-client ssh
  ports: 22/tcp
  protocols: 
  masquerade: no
  forward-ports: port=1213:proto=tcp:toport=22:toaddr=    <---
  source-ports: 
  icmp-blocks: echo-request
  rich rules: 

Actual results:

The command is successful and the toaddr value is missing

Expected results:
Some error message like
firewall-cmd: invalid parameter TOWHATEVER

Please let me know in case any further details are needed. 

Thank you 
Fani

Additional info:

Comment 2 Eric Garver 2018-10-11 12:28:41 UTC
This has been fixed upstream. Recent versions of firewalld are much better at propagating errors to the UIs/user.

# firewall-cmd  --add-forward-port=port=1213:proto=tcp:toport=22:TOWHATEVER=10.10.10.1
Error: INVALID_FORWARD: invalid forward port arg 'TOWHATEVER'

Comment 4 Eric Garver 2018-10-11 12:36:56 UTC
Mistakenly closed. Reopening.

Comment 10 errata-xmlrpc 2020-03-31 20:00:54 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2020:1109