X-Git-Url: http://git.openwrt.org/?a=blobdiff_plain;f=forwards.c;h=997c30712614373ae3b8f9fd94b02cdc2f8ebc2a;hb=c328d1f6fe982888b5f5852423ee0a41cee3adb1;hp=5911732799969a9f14d1d1686bf28adc178fafd4;hpb=be8ead27f625b3e4ed383f270dcfee2d158231ec;p=project%2Ffirewall3.git diff --git a/forwards.c b/forwards.c index 5911732..997c307 100644 --- a/forwards.c +++ b/forwards.c @@ -83,21 +83,18 @@ fw3_load_forwards(struct fw3_state *state, struct uci_package *p) continue; } + list_add_tail(&forward->list, &state->forwards); + continue; + } + + list_for_each_entry(forward, &state->forwards, list) + { /* NB: forward family... */ if (forward->_dest) { - setbit(forward->_dest->flags[0], FW3_FLAG_ACCEPT); - setbit(forward->_dest->flags[1], FW3_FLAG_ACCEPT); - - if (forward->_src && - (forward->_src->conntrack || forward->_dest->conntrack)) - { - forward->_src->conntrack = forward->_dest->conntrack = true; - } + fw3_setbit(forward->_dest->flags[0], FW3_FLAG_ACCEPT); + fw3_setbit(forward->_dest->flags[1], FW3_FLAG_ACCEPT); } - - list_add_tail(&forward->list, &state->forwards); - continue; } }