X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;ds=sidebyside;f=src%2Fhelper%2Fhelper-nfacct-rule.c;h=d75c3f3e33fd8b69f81024a15ebef2b7b9ece010;hb=refs%2Fchanges%2F17%2F187917%2F5;hp=70b29a518fb2cae4def591781774714fcdf9bb88;hpb=3e067501d1a56cb9004db07aea4dfbbc09dbd501;p=platform%2Fcore%2Fconnectivity%2Fstc-manager.git diff --git a/src/helper/helper-nfacct-rule.c b/src/helper/helper-nfacct-rule.c index 70b29a5..d75c3f3 100644 --- a/src/helper/helper-nfacct-rule.c +++ b/src/helper/helper-nfacct-rule.c @@ -285,6 +285,14 @@ bool recreate_counter_by_name(char *cnt_name, nfacct_rule_s *cnt) STRING_SAVE_COPY(cnt->name, cnt_name); +#if 0 + /* ======================================================== + * NOTE:- + * Below parsing for tethering case is not in use + * stc-manager needs to ignore this for NFACCT_TETH_COUNTER + * this is disbaled for future use. + * =======================================================*/ + //LCOV_EXCL_START if (cnt->intend == NFACCT_TETH_COUNTER) { char ifname_buf[MAX_IFACE_LENGTH]; @@ -322,6 +330,7 @@ bool recreate_counter_by_name(char *cnt_name, nfacct_rule_s *cnt) return true; } //LCOV_EXCL_STOP +#endif io_part = strtok_r(name, "_", &save_ptr); if (io_part != NULL) @@ -449,8 +458,10 @@ static stc_error_e exec_iptables_cmd(nfacct_rule_s *rule) iptables_rule.ifname = g_strdup(rule->ifname); iptables_rule.target = g_strdup(get_iptables_jump(rule->jump)); - /* In case of tehering use chain 'STC_TETHER' */ - if (rule->intend == NFACCT_TETH_COUNTER) + /* In case of tehering rules use chain 'STC_TETHER' */ + if (rule->intend == NFACCT_TETH_COUNTER || + rule->intend == NFACCT_TETH_ALLOW || + rule->intend == NFACCT_TETH_BLOCK) iptables_rule.chain = g_strdup(STC_TETHER_CHAIN); else iptables_rule.chain = g_strdup(get_iptables_chain(rule->iotype)); @@ -531,7 +542,9 @@ static stc_error_e produce_app_rule(nfacct_rule_s *rule) /* cgroup extention on FORWARD chain are not allowed * remove classid info in case of tethering rules */ - if (rule->intend == NFACCT_TETH_COUNTER) { + if (rule->intend == NFACCT_TETH_COUNTER || + rule->intend == NFACCT_TETH_ALLOW || + rule->intend == NFACCT_TETH_BLOCK) { classid = rule->classid; rule->classid = 0; } @@ -539,7 +552,9 @@ static stc_error_e produce_app_rule(nfacct_rule_s *rule) ret = exec_iptables_cmd(rule); /* restore the classid info in case of tethering rule */ - if (rule->intend == NFACCT_TETH_COUNTER) + if (rule->intend == NFACCT_TETH_COUNTER || + rule->intend == NFACCT_TETH_ALLOW || + rule->intend == NFACCT_TETH_BLOCK) rule->classid = classid; ret_value_msg_if(ret != STC_ERROR_NONE, STC_ERROR_FAIL, @@ -586,7 +601,9 @@ static stc_error_e produce_app_rule(nfacct_rule_s *rule) /* cgroup extention on FORWARD chain are not allowed * remove classid info in case of tethering rules */ - if (rule->intend == NFACCT_TETH_COUNTER) { + if (rule->intend == NFACCT_TETH_COUNTER || + rule->intend == NFACCT_TETH_ALLOW || + rule->intend == NFACCT_TETH_BLOCK) { classid = rule->classid; rule->classid = 0; } @@ -594,7 +611,9 @@ static stc_error_e produce_app_rule(nfacct_rule_s *rule) ret = exec_iptables_cmd(rule); /* restore the classid info in case of tethering rule */ - if (rule->intend == NFACCT_TETH_COUNTER) + if (rule->intend == NFACCT_TETH_COUNTER || + rule->intend == NFACCT_TETH_ALLOW || + rule->intend == NFACCT_TETH_BLOCK) rule->classid = classid; ret_value_msg_if(ret != STC_ERROR_NONE, STC_ERROR_FAIL, @@ -795,12 +814,17 @@ void generate_counter_name(nfacct_rule_s *counter) STRING_SAVE_COPY(counter->ifname, iftype_name); } - if (counter->intend == NFACCT_WARN) + if (counter->intend == NFACCT_WARN || + counter->intend == NFACCT_TETH_WARN) warn_symbol = 'w'; - else if (counter->intend == NFACCT_BLOCK) + else if (counter->intend == NFACCT_BLOCK || + counter->intend == NFACCT_TETH_BLOCK) warn_symbol = 'r'; - else if (counter->intend == NFACCT_ALLOW) + else if (counter->intend == NFACCT_ALLOW || + counter->intend == NFACCT_TETH_ALLOW) warn_symbol = 'a'; + else if (counter->intend == NFACCT_TETH_COUNTER) + warn_symbol = 't'; snprintf(counter->name, NFACCT_NAME_MAX, "%c%d_%d_%d_%s", warn_symbol, counter->iotype, counter->iftype, counter->classid, counter->ifname);