r = fw3_ipt_rule_create(handle, NULL, dev, NULL, sub, NULL);
fw3_ipt_rule_target(r, jump_target(t));
fw3_ipt_rule_extra(r, zone->extra_src);
- fw3_ipt_rule_append(r, "zone_%s_src_%s", zone->name,
- fw3_flag_names[t]);
+ fw3_ipt_rule_replace(r, "zone_%s_src_%s", zone->name,
+ fw3_flag_names[t]);
}
if (has(zone->flags, handle->family, t))
r = fw3_ipt_rule_create(handle, NULL, NULL, dev, NULL, sub);
fw3_ipt_rule_target(r, jump_target(t));
fw3_ipt_rule_extra(r, zone->extra_dest);
- fw3_ipt_rule_append(r, "zone_%s_dest_%s", zone->name,
- fw3_flag_names[t]);
+ fw3_ipt_rule_replace(r, "zone_%s_dest_%s", zone->name,
+ fw3_flag_names[t]);
}
}
else
fw3_ipt_rule_extra(r, zone->extra_src);
- fw3_ipt_rule_append(r, "delegate_%s", chains[i]);
+ fw3_ipt_rule_replace(r, "delegate_%s", chains[i]);
}
}
else if (handle->table == FW3_TABLE_NAT)
r = fw3_ipt_rule_create(handle, NULL, dev, NULL, sub, NULL);
fw3_ipt_rule_target(r, "zone_%s_prerouting", zone->name);
fw3_ipt_rule_extra(r, zone->extra_src);
- fw3_ipt_rule_append(r, "delegate_prerouting");
+ fw3_ipt_rule_replace(r, "delegate_prerouting");
}
if (has(zone->flags, handle->family, FW3_FLAG_SNAT))
r = fw3_ipt_rule_create(handle, NULL, NULL, dev, NULL, sub);
fw3_ipt_rule_target(r, "zone_%s_postrouting", zone->name);
fw3_ipt_rule_extra(r, zone->extra_dest);
- fw3_ipt_rule_append(r, "delegate_postrouting");
+ fw3_ipt_rule_replace(r, "delegate_postrouting");
}
}
else if (handle->table == FW3_TABLE_MANGLE)
fw3_ipt_rule_comment(r, "%s (mtu_fix logging)", zone->name);
fw3_ipt_rule_target(r, "LOG");
fw3_ipt_rule_addarg(r, false, "--log-prefix", buf);
- fw3_ipt_rule_append(r, "mssfix");
+ fw3_ipt_rule_replace(r, "mssfix");
}
r = fw3_ipt_rule_create(handle, &tcp, NULL, dev, NULL, sub);
fw3_ipt_rule_comment(r, "%s (mtu_fix)", zone->name);
fw3_ipt_rule_target(r, "TCPMSS");
fw3_ipt_rule_addarg(r, false, "--clamp-mss-to-pmtu", NULL);
- fw3_ipt_rule_append(r, "mssfix");
+ fw3_ipt_rule_replace(r, "mssfix");
}
}
else if (handle->table == FW3_TABLE_RAW)
r = fw3_ipt_rule_create(handle, NULL, dev, NULL, sub, NULL);
fw3_ipt_rule_target(r, "zone_%s_notrack", zone->name);
fw3_ipt_rule_extra(r, zone->extra_src);
- fw3_ipt_rule_append(r, "delegate_notrack");
+ fw3_ipt_rule_replace(r, "delegate_notrack");
}
}
}