diff -up firewalld-0.3.9/src/firewall/core/fw_zone.py.RHBZ#993650_add2 firewalld-0.3.9/src/firewall/core/fw_zone.py --- firewalld-0.3.9/src/firewall/core/fw_zone.py.RHBZ#993650_add2 2015-01-13 17:37:22.250118707 +0100 +++ firewalld-0.3.9/src/firewall/core/fw_zone.py 2015-01-13 17:37:22.319118393 +0100 @@ -364,6 +364,21 @@ class FirewallZone: if len(obj.interfaces) == 0 and len(obj.sources) == 0: self.unapply_zone_settings(zone) + def get_config_with_settings(self, zone): + """ + :return: exported config updated with runtime settings + """ + config = self.get_zone(zone).export_config() + config = config[:5] + (self.list_services(zone), + self.list_ports(zone), + self.list_icmp_blocks(zone), + self.query_masquerade(zone), + self.list_forward_ports(zone), + self.list_interfaces(zone), + self.list_sources(zone), + self.list_rules(zone)) + return config + # handle chains, modules and rules for a zone def handle_cmr(self, zone, chains, modules, rules, enable): cleanup_chains = None diff -up firewalld-0.3.9/src/firewall/server/firewalld.py.RHBZ#993650_add2 firewalld-0.3.9/src/firewall/server/firewalld.py --- firewalld-0.3.9/src/firewall/server/firewalld.py.RHBZ#993650_add2 2015-01-13 17:37:22.320118388 +0100 +++ firewalld-0.3.9/src/firewall/server/firewalld.py 2015-01-13 17:38:26.464825878 +0100 @@ -731,7 +731,7 @@ class FirewallD(slip.dbus.service.Object # returns zone settings for zone zone = dbus_to_python(zone) log.debug1("getZoneSettings(%s)", zone) - return self.fw.zone.get_zone(zone).export_config() + return self.fw.zone.get_config_with_settings(zone) @slip.dbus.polkit.require_auth(PK_ACTION_INFO) @dbus_service_method(DBUS_INTERFACE, in_signature='',