helpers: implement explicit CT helper assignment support
[project/firewall3.git] / defaults.c
index 8afbf9acf8323071c7ba4f59666987eb76b1a9d7..7b2d9e6f357f2aecdbbc12904882c7651d8b9173 100644 (file)
@@ -54,6 +54,7 @@ const struct fw3_option fw3_flag_opts[] = {
        FW3_OPT("accept_redirects",    bool,     defaults, accept_redirects),
        FW3_OPT("accept_source_route", bool,     defaults, accept_source_route),
 
+       FW3_OPT("auto_helper",         bool,     defaults, auto_helper),
        FW3_OPT("custom_chains",       bool,     defaults, custom_chains),
        FW3_OPT("disable_ipv6",        bool,     defaults, disable_ipv6),
 
@@ -93,6 +94,7 @@ fw3_load_defaults(struct fw3_state *state, struct uci_package *p)
        defs->tcp_syncookies       = true;
        defs->tcp_window_scaling   = true;
        defs->custom_chains        = true;
+       defs->auto_helper          = true;
 
        uci_foreach_element(&p->sections, e)
        {
@@ -107,7 +109,8 @@ fw3_load_defaults(struct fw3_state *state, struct uci_package *p)
                        continue;
                }
 
-               fw3_parse_options(&state->defaults, fw3_flag_opts, s);
+               if(!fw3_parse_options(&state->defaults, fw3_flag_opts, s))
+                       warn_elem(e, "has invalid options");
 
                check_policy(e, &defs->policy_input, "input");
                check_policy(e, &defs->policy_output, "output");