Merge "IPACM: fix firewall rule, ecm RT rule missing"
diff --git a/ipacm/src/IPACM_Netlink.cpp b/ipacm/src/IPACM_Netlink.cpp
index f62d8dd..ecb61b7 100644
--- a/ipacm/src/IPACM_Netlink.cpp
+++ b/ipacm/src/IPACM_Netlink.cpp
@@ -1571,7 +1571,7 @@
data_all->ipv4_addr = ntohl(data_all->ipv4_addr);
data_all->iptype = IPA_IP_v4;
}
- else if (msg_ptr->nl_neigh_info.attr_info.local_addr.ss_family == 0)
+ else
{
data_all->iptype = IPA_IP_v6;
}
@@ -1664,7 +1664,7 @@
data_all->ipv4_addr = ntohl(data_all->ipv4_addr);
data_all->iptype = IPA_IP_v4;
}
- else if (msg_ptr->nl_neigh_info.attr_info.local_addr.ss_family == 0)
+ else
{
data_all->iptype = IPA_IP_v6;
}
diff --git a/ipacm/src/IPACM_Wan.cpp b/ipacm/src/IPACM_Wan.cpp
index d81c2a1..4c9710d 100644
--- a/ipacm/src/IPACM_Wan.cpp
+++ b/ipacm/src/IPACM_Wan.cpp
@@ -1582,6 +1582,28 @@
return IPACM_FAILURE;
}
+ /* default firewall is disable and the rule action is drop */
+ memset(&firewall_config, 0, sizeof(firewall_config));
+ strncpy(firewall_config.firewall_config_file, "/etc/mobileap_firewall.xml", sizeof(firewall_config.firewall_config_file));
+
+ if (firewall_config.firewall_config_file)
+ {
+ IPACMDBG("Firewall XML file is %s \n", firewall_config.firewall_config_file);
+ if (IPACM_SUCCESS == IPACM_read_firewall_xml(firewall_config.firewall_config_file, &firewall_config))
+ {
+ IPACMDBG("QCMAP Firewall XML read OK \n");
+ }
+ else
+ {
+ IPACMERR("QCMAP Firewall XML read failed, no that file, use default configuration \n");
+ }
+ }
+ else
+ {
+ IPACMERR("No firewall xml mentioned \n");
+ return IPACM_FAILURE;
+ }
+
if (iptype == IPA_IP_v4)
{
original_num_rules = IPACM_Wan::num_v4_flt_rule;
diff --git a/ipacm/src/IPACM_cfg.xml b/ipacm/src/IPACM_cfg.xml
index 8fbea03..2a0c9c6 100644
--- a/ipacm/src/IPACM_cfg.xml
+++ b/ipacm/src/IPACM_cfg.xml
@@ -3,6 +3,10 @@
<IPACM>
<IPACMIface>
<Iface>
+ <Name>rndis0</Name>
+ <Category>LAN</Category>
+ </Iface>
+ <Iface>
<Name>ecm0</Name>
<Category>LAN</Category>
</Iface>