if (defs->custom_chains)
{
- fw3_pr("-A delegate_input -j input_rule\n");
- fw3_pr("-A delegate_output -j output_rule\n");
- fw3_pr("-A delegate_forward -j forwarding_rule\n");
+ fw3_pr("-A delegate_input -j input_rule "
+ "-m comment --comment \"user chain for input\"\n");
+
+ fw3_pr("-A delegate_output -j output_rule "
+ "-m comment --comment \"user chain for output\"\n");
+
+ fw3_pr("-A delegate_forward -j forwarding_rule "
+ "-m comment --comment \"user chain for forwarding\"\n");
}
for (i = 0; i < ARRAY_SIZE(chains); i++)
case FW3_TABLE_NAT:
if (defs->custom_chains)
{
- fw3_pr("-A delegate_prerouting -j prerouting_rule\n");
- fw3_pr("-A delegate_postrouting -j postrouting_rule\n");
+ fw3_pr("-A delegate_prerouting -j prerouting_rule "
+ "-m comment --comment \"user chain for prerouting\"\n");
+
+ fw3_pr("-A delegate_postrouting -j postrouting_rule "
+ "-m comment --comment \"user chain for postrouting\"\n");
}
break;
}
static void
-reset_policy(enum fw3_table table)
+reset_policy(enum fw3_table table, enum fw3_target policy)
{
if (table != FW3_TABLE_FILTER)
return;
- fw3_pr(":INPUT ACCEPT [0:0]\n");
- fw3_pr(":OUTPUT ACCEPT [0:0]\n");
- fw3_pr(":FORWARD ACCEPT [0:0]\n");
+ fw3_pr(":INPUT %s [0:0]\n", fw3_flag_names[policy]);
+ fw3_pr(":OUTPUT %s [0:0]\n", fw3_flag_names[policy]);
+ fw3_pr(":FORWARD %s [0:0]\n", fw3_flag_names[policy]);
}
void
fw3_flush_rules(enum fw3_table table, enum fw3_family family,
- bool pass2, struct fw3_state *state)
+ bool pass2, struct fw3_state *state, enum fw3_target policy)
{
struct fw3_defaults *d = &state->running_defaults;
uint16_t mask = ~0;
if (!pass2)
{
- reset_policy(table);
+ reset_policy(table, policy);
print_chains(table, family, "-D %s\n", d->flags & mask,
toplevel_rules, ARRAY_SIZE(toplevel_rules));
void
fw3_flush_all(enum fw3_table table)
{
- reset_policy(table);
+ reset_policy(table, FW3_TARGET_ACCEPT);
fw3_pr("-F\n");
fw3_pr("-X\n");