netfilter: fix compilation of masquerading without IP_NF_TARGET_MASQUERADE
CONFIG_NF_NAT_MASQUERADE_IPV6=m # CONFIG_IP6_NF_TARGET_MASQUERADE is not set results in: net/ipv6/netfilter/nf_nat_masquerade_ipv6.c: In function ‘nf_nat_masquerade_ipv6’: net/ipv6/netfilter/nf_nat_masquerade_ipv6.c:41:14: error: ‘struct nf_conn_nat’ has no member named ‘masq_index’ nfct_nat(ct)->masq_index = out->ifindex; ^ net/ipv6/netfilter/nf_nat_masquerade_ipv6.c: In function ‘device_cmp’: net/ipv6/netfilter/nf_nat_masquerade_ipv6.c:61:12: error: ‘const struct nf_conn_nat’ has no member named ‘masq_index’ return nat->masq_index == (int)(long)ifindex; ^ net/ipv6/netfilter/nf_nat_masquerade_ipv6.c:62:1: warning: control reaches end of non-void function [-Wreturn-type] } ^ make[3]: *** [net/ipv6/netfilter/nf_nat_masquerade_ipv6.o] Error 1 Fix this by using the new NF_NAT_MASQUERADE_IPV4 and _IPV6 symbols in include/net/netfilter/nf_nat.h. Reported-by: Jim Davis <jim.epost@gmail.com> Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
This commit is contained in:
Родитель
b954d83421
Коммит
67981fefb2
|
@ -32,10 +32,8 @@ struct nf_conn_nat {
|
|||
struct hlist_node bysource;
|
||||
struct nf_conn *ct;
|
||||
union nf_conntrack_nat_help help;
|
||||
#if defined(CONFIG_IP_NF_TARGET_MASQUERADE) || \
|
||||
defined(CONFIG_IP_NF_TARGET_MASQUERADE_MODULE) || \
|
||||
defined(CONFIG_IP6_NF_TARGET_MASQUERADE) || \
|
||||
defined(CONFIG_IP6_NF_TARGET_MASQUERADE_MODULE)
|
||||
#if IS_ENABLED(CONFIG_NF_NAT_MASQUERADE_IPV4) || \
|
||||
IS_ENABLED(CONFIG_NF_NAT_MASQUERADE_IPV6)
|
||||
int masq_index;
|
||||
#endif
|
||||
};
|
||||
|
@ -68,8 +66,8 @@ static inline bool nf_nat_oif_changed(unsigned int hooknum,
|
|||
struct nf_conn_nat *nat,
|
||||
const struct net_device *out)
|
||||
{
|
||||
#if IS_ENABLED(CONFIG_IP_NF_TARGET_MASQUERADE) || \
|
||||
IS_ENABLED(CONFIG_IP6_NF_TARGET_MASQUERADE)
|
||||
#if IS_ENABLED(CONFIG_NF_NAT_MASQUERADE_IPV4) || \
|
||||
IS_ENABLED(CONFIG_NF_NAT_MASQUERADE_IPV6)
|
||||
return nat->masq_index && hooknum == NF_INET_POST_ROUTING &&
|
||||
CTINFO2DIR(ctinfo) == IP_CT_DIR_ORIGINAL &&
|
||||
nat->masq_index != out->ifindex;
|
||||
|
|
Загрузка…
Ссылка в новой задаче