mirror of
https://github.com/fwbuilder/fwbuilder
synced 2026-03-18 17:27:20 +01:00
see #2097 showing "interface" columns in iptables NAT ruels
This commit is contained in:
parent
f8b668e691
commit
cf17bb995c
@ -764,47 +764,55 @@ bool getStatelessFlagForAction(PolicyRule *rule)
|
||||
* Returns translatable string - name of the corresponding rule element.
|
||||
*/
|
||||
QString getReadableRuleElementName(const string &platform,
|
||||
const string &rule_element_type_name)
|
||||
const string &re_type_name)
|
||||
{
|
||||
bool nat_intf_in = Resources::getTargetCapabilityBool(
|
||||
platform, "inbound_interface_in_nat");
|
||||
bool nat_intf_out = Resources::getTargetCapabilityBool(
|
||||
platform, "outbound_interface_in_nat");
|
||||
|
||||
// The following map TYPENAME of RuleElement classes to readable
|
||||
// translatable names.
|
||||
if (rule_element_type_name == "Src") return QObject::tr("Source");
|
||||
if (rule_element_type_name == "Dst") return QObject::tr("Destination");
|
||||
if (rule_element_type_name == "Srv") return QObject::tr("Service");
|
||||
if (rule_element_type_name == "Itf") return QObject::tr("Interface");
|
||||
if (rule_element_type_name == "When") return QObject::tr("Time");
|
||||
if (re_type_name == "Src") return QObject::tr("Source");
|
||||
if (re_type_name == "Dst") return QObject::tr("Destination");
|
||||
if (re_type_name == "Srv") return QObject::tr("Service");
|
||||
if (re_type_name == "Itf") return QObject::tr("Interface");
|
||||
if (re_type_name == "When") return QObject::tr("Time");
|
||||
|
||||
if (rule_element_type_name == "OSrc") return QObject::tr("Original Src");
|
||||
if (rule_element_type_name == "ODst") return QObject::tr("Original Dst");
|
||||
if (rule_element_type_name == "OSrv") return QObject::tr("Original Srv");
|
||||
if (re_type_name == "OSrc") return QObject::tr("Original Src");
|
||||
if (re_type_name == "ODst") return QObject::tr("Original Dst");
|
||||
if (re_type_name == "OSrv") return QObject::tr("Original Srv");
|
||||
|
||||
if (rule_element_type_name == "TSrc") return QObject::tr("Translated Src");
|
||||
if (rule_element_type_name == "TDst") return QObject::tr("Translated Dst");
|
||||
if (rule_element_type_name == "TSrv") return QObject::tr("Translated Srv");
|
||||
if (re_type_name == "TSrc") return QObject::tr("Translated Src");
|
||||
if (re_type_name == "TDst") return QObject::tr("Translated Dst");
|
||||
if (re_type_name == "TSrv") return QObject::tr("Translated Srv");
|
||||
|
||||
if (platform == "pf")
|
||||
if (nat_intf_in != nat_intf_out)
|
||||
{
|
||||
// For PF I hide inbound interface and show outbound interface
|
||||
// column with header "Interface"
|
||||
if (rule_element_type_name == "ItfInb") return QObject::tr("Interface");
|
||||
if (rule_element_type_name == "ItfOutb") return QObject::tr("Interface");
|
||||
// For some platforms I only show one interface column in nat
|
||||
// rules, in this case nat_intf_in and nat_intf_out have
|
||||
// different values. For example, for PF I hide inbound
|
||||
// interface and show outbound interface column. Columns title
|
||||
// should then be just "Interface"
|
||||
if (re_type_name == "ItfInb") return QObject::tr("Interface");
|
||||
if (re_type_name == "ItfOutb") return QObject::tr("Interface");
|
||||
} else
|
||||
{
|
||||
if (rule_element_type_name == "ItfInb") return QObject::tr("Inbound Interface");
|
||||
if (rule_element_type_name == "ItfOutb") return QObject::tr("Outbound Interface");
|
||||
if (re_type_name == "ItfInb") return QObject::tr("Interface In");
|
||||
if (re_type_name == "ItfOutb") return QObject::tr("Interface Out");
|
||||
}
|
||||
|
||||
if (rule_element_type_name == "RDst") return QObject::tr("Destination");
|
||||
if (rule_element_type_name == "RGtw") return QObject::tr("Gateway");
|
||||
if (rule_element_type_name == "RItf") return QObject::tr("Interface");
|
||||
if (re_type_name == "RDst") return QObject::tr("Destination");
|
||||
if (re_type_name == "RGtw") return QObject::tr("Gateway");
|
||||
if (re_type_name == "RItf") return QObject::tr("Interface");
|
||||
|
||||
// as of v3.0.x the following are not real rule elements (not separate
|
||||
// classes with names) but just attributes of corresponding Rule class.
|
||||
if (rule_element_type_name == "Direction") return QObject::tr("Direction");
|
||||
if (rule_element_type_name == "Action") return QObject::tr("Action");
|
||||
if (rule_element_type_name == "Options") return QObject::tr("Options");
|
||||
if (rule_element_type_name == "Metric") return QObject::tr("Metric");
|
||||
if (rule_element_type_name == "Comment") return QObject::tr("Comment");
|
||||
if (re_type_name == "Direction") return QObject::tr("Direction");
|
||||
if (re_type_name == "Action") return QObject::tr("Action");
|
||||
if (re_type_name == "Options") return QObject::tr("Options");
|
||||
if (re_type_name == "Metric") return QObject::tr("Metric");
|
||||
if (re_type_name == "Comment") return QObject::tr("Comment");
|
||||
|
||||
return QString();
|
||||
}
|
||||
|
||||
@ -39,6 +39,8 @@
|
||||
<options_in_policy>True</options_in_policy>
|
||||
<supports_nat>True</supports_nat>
|
||||
<actions_in_nat>True</actions_in_nat>
|
||||
<inbound_interface_in_nat>True</inbound_interface_in_nat>
|
||||
<outbound_interface_in_nat>True</outbound_interface_in_nat>
|
||||
<supports_time>True</supports_time>
|
||||
<supports_accounting>True</supports_accounting>
|
||||
<security_levels>False</security_levels>
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -2,9 +2,9 @@
|
||||
#
|
||||
# This is automatically generated file. DO NOT MODIFY !
|
||||
#
|
||||
# Firewall Builder fwb_ipt v4.2.0.3477
|
||||
# Firewall Builder fwb_ipt v4.2.0.3480
|
||||
#
|
||||
# Generated Tue Feb 15 14:28:49 2011 PST by vadim
|
||||
# Generated Thu Feb 17 15:16:56 2011 PST by vadim
|
||||
#
|
||||
# files: * rc.firewall.local /etc/rc.d//rc.firewall.local
|
||||
#
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user