netfilter: nf_tables: fix use-after-free when deleting compat expressions
[linux/fpc-iii.git] / net / netfilter / Makefile
blob16895e045b66b97929937a5c96d3c83a828bdb18
1 # SPDX-License-Identifier: GPL-2.0
2 netfilter-objs := core.o nf_log.o nf_queue.o nf_sockopt.o utils.o
4 nf_conntrack-y := nf_conntrack_core.o nf_conntrack_standalone.o nf_conntrack_expect.o nf_conntrack_helper.o \
5 nf_conntrack_proto.o nf_conntrack_proto_generic.o nf_conntrack_proto_tcp.o nf_conntrack_proto_udp.o \
6 nf_conntrack_proto_icmp.o \
7 nf_conntrack_extend.o nf_conntrack_acct.o nf_conntrack_seqadj.o
9 nf_conntrack-$(subst m,y,$(CONFIG_IPV6)) += nf_conntrack_proto_icmpv6.o
10 nf_conntrack-$(CONFIG_NF_CONNTRACK_TIMEOUT) += nf_conntrack_timeout.o
11 nf_conntrack-$(CONFIG_NF_CONNTRACK_TIMESTAMP) += nf_conntrack_timestamp.o
12 nf_conntrack-$(CONFIG_NF_CONNTRACK_EVENTS) += nf_conntrack_ecache.o
13 nf_conntrack-$(CONFIG_NF_CONNTRACK_LABELS) += nf_conntrack_labels.o
14 nf_conntrack-$(CONFIG_NF_CT_PROTO_DCCP) += nf_conntrack_proto_dccp.o
15 nf_conntrack-$(CONFIG_NF_CT_PROTO_SCTP) += nf_conntrack_proto_sctp.o
17 obj-$(CONFIG_NETFILTER) = netfilter.o
19 obj-$(CONFIG_NETFILTER_NETLINK) += nfnetlink.o
20 obj-$(CONFIG_NETFILTER_NETLINK_ACCT) += nfnetlink_acct.o
21 obj-$(CONFIG_NETFILTER_NETLINK_QUEUE) += nfnetlink_queue.o
22 obj-$(CONFIG_NETFILTER_NETLINK_LOG) += nfnetlink_log.o
23 obj-$(CONFIG_NETFILTER_NETLINK_OSF) += nfnetlink_osf.o
25 # connection tracking
26 obj-$(CONFIG_NF_CONNTRACK) += nf_conntrack.o
28 obj-$(CONFIG_NF_CT_PROTO_GRE) += nf_conntrack_proto_gre.o
30 # netlink interface for nf_conntrack
31 obj-$(CONFIG_NF_CT_NETLINK) += nf_conntrack_netlink.o
32 obj-$(CONFIG_NF_CT_NETLINK_TIMEOUT) += nfnetlink_cttimeout.o
33 obj-$(CONFIG_NF_CT_NETLINK_HELPER) += nfnetlink_cthelper.o
35 # connection tracking helpers
36 nf_conntrack_h323-objs := nf_conntrack_h323_main.o nf_conntrack_h323_asn1.o
38 obj-$(CONFIG_NF_CONNTRACK_AMANDA) += nf_conntrack_amanda.o
39 obj-$(CONFIG_NF_CONNTRACK_FTP) += nf_conntrack_ftp.o
40 obj-$(CONFIG_NF_CONNTRACK_H323) += nf_conntrack_h323.o
41 obj-$(CONFIG_NF_CONNTRACK_IRC) += nf_conntrack_irc.o
42 obj-$(CONFIG_NF_CONNTRACK_BROADCAST) += nf_conntrack_broadcast.o
43 obj-$(CONFIG_NF_CONNTRACK_NETBIOS_NS) += nf_conntrack_netbios_ns.o
44 obj-$(CONFIG_NF_CONNTRACK_SNMP) += nf_conntrack_snmp.o
45 obj-$(CONFIG_NF_CONNTRACK_PPTP) += nf_conntrack_pptp.o
46 obj-$(CONFIG_NF_CONNTRACK_SANE) += nf_conntrack_sane.o
47 obj-$(CONFIG_NF_CONNTRACK_SIP) += nf_conntrack_sip.o
48 obj-$(CONFIG_NF_CONNTRACK_TFTP) += nf_conntrack_tftp.o
50 nf_nat-y := nf_nat_core.o nf_nat_proto_unknown.o nf_nat_proto_common.o \
51 nf_nat_proto_udp.o nf_nat_proto_tcp.o nf_nat_helper.o
53 # NAT protocols (nf_nat)
54 nf_nat-$(CONFIG_NF_NAT_PROTO_DCCP) += nf_nat_proto_dccp.o
55 nf_nat-$(CONFIG_NF_NAT_PROTO_SCTP) += nf_nat_proto_sctp.o
57 # generic transport layer logging
58 obj-$(CONFIG_NF_LOG_COMMON) += nf_log_common.o
60 # packet logging for netdev family
61 obj-$(CONFIG_NF_LOG_NETDEV) += nf_log_netdev.o
63 obj-$(CONFIG_NF_NAT) += nf_nat.o
64 nf_nat-$(CONFIG_NF_NAT_REDIRECT) += nf_nat_redirect.o
66 # NAT helpers
67 obj-$(CONFIG_NF_NAT_AMANDA) += nf_nat_amanda.o
68 obj-$(CONFIG_NF_NAT_FTP) += nf_nat_ftp.o
69 obj-$(CONFIG_NF_NAT_IRC) += nf_nat_irc.o
70 obj-$(CONFIG_NF_NAT_SIP) += nf_nat_sip.o
71 obj-$(CONFIG_NF_NAT_TFTP) += nf_nat_tftp.o
73 # SYNPROXY
74 obj-$(CONFIG_NETFILTER_SYNPROXY) += nf_synproxy_core.o
76 obj-$(CONFIG_NETFILTER_CONNCOUNT) += nf_conncount.o
78 # generic packet duplication from netdev family
79 obj-$(CONFIG_NF_DUP_NETDEV) += nf_dup_netdev.o
81 # nf_tables
82 nf_tables-objs := nf_tables_core.o nf_tables_api.o nft_chain_filter.o \
83 nf_tables_trace.o nft_immediate.o nft_cmp.o nft_range.o \
84 nft_bitwise.o nft_byteorder.o nft_payload.o nft_lookup.o \
85 nft_dynset.o nft_meta.o nft_rt.o nft_exthdr.o
87 nf_tables_set-objs := nf_tables_set_core.o \
88 nft_set_hash.o nft_set_bitmap.o nft_set_rbtree.o
90 obj-$(CONFIG_NF_TABLES) += nf_tables.o
91 obj-$(CONFIG_NF_TABLES_SET) += nf_tables_set.o
92 obj-$(CONFIG_NFT_COMPAT) += nft_compat.o
93 obj-$(CONFIG_NFT_CONNLIMIT) += nft_connlimit.o
94 obj-$(CONFIG_NFT_NUMGEN) += nft_numgen.o
95 obj-$(CONFIG_NFT_CT) += nft_ct.o
96 obj-$(CONFIG_NFT_FLOW_OFFLOAD) += nft_flow_offload.o
97 obj-$(CONFIG_NFT_LIMIT) += nft_limit.o
98 obj-$(CONFIG_NFT_NAT) += nft_nat.o
99 obj-$(CONFIG_NFT_OBJREF) += nft_objref.o
100 obj-$(CONFIG_NFT_QUEUE) += nft_queue.o
101 obj-$(CONFIG_NFT_QUOTA) += nft_quota.o
102 obj-$(CONFIG_NFT_REJECT) += nft_reject.o
103 obj-$(CONFIG_NFT_REJECT_INET) += nft_reject_inet.o
104 obj-$(CONFIG_NFT_TUNNEL) += nft_tunnel.o
105 obj-$(CONFIG_NFT_COUNTER) += nft_counter.o
106 obj-$(CONFIG_NFT_LOG) += nft_log.o
107 obj-$(CONFIG_NFT_MASQ) += nft_masq.o
108 obj-$(CONFIG_NFT_REDIR) += nft_redir.o
109 obj-$(CONFIG_NFT_HASH) += nft_hash.o
110 obj-$(CONFIG_NFT_FIB) += nft_fib.o
111 obj-$(CONFIG_NFT_FIB_INET) += nft_fib_inet.o
112 obj-$(CONFIG_NFT_FIB_NETDEV) += nft_fib_netdev.o
113 obj-$(CONFIG_NFT_SOCKET) += nft_socket.o
114 obj-$(CONFIG_NFT_OSF) += nft_osf.o
115 obj-$(CONFIG_NFT_TPROXY) += nft_tproxy.o
117 # nf_tables netdev
118 obj-$(CONFIG_NFT_DUP_NETDEV) += nft_dup_netdev.o
119 obj-$(CONFIG_NFT_FWD_NETDEV) += nft_fwd_netdev.o
121 # flow table infrastructure
122 obj-$(CONFIG_NF_FLOW_TABLE) += nf_flow_table.o
123 nf_flow_table-objs := nf_flow_table_core.o nf_flow_table_ip.o
125 obj-$(CONFIG_NF_FLOW_TABLE_INET) += nf_flow_table_inet.o
127 # generic X tables
128 obj-$(CONFIG_NETFILTER_XTABLES) += x_tables.o xt_tcpudp.o
130 # combos
131 obj-$(CONFIG_NETFILTER_XT_MARK) += xt_mark.o
132 obj-$(CONFIG_NETFILTER_XT_CONNMARK) += xt_connmark.o
133 obj-$(CONFIG_NETFILTER_XT_SET) += xt_set.o
134 obj-$(CONFIG_NETFILTER_XT_NAT) += xt_nat.o
136 # targets
137 obj-$(CONFIG_NETFILTER_XT_TARGET_AUDIT) += xt_AUDIT.o
138 obj-$(CONFIG_NETFILTER_XT_TARGET_CHECKSUM) += xt_CHECKSUM.o
139 obj-$(CONFIG_NETFILTER_XT_TARGET_CLASSIFY) += xt_CLASSIFY.o
140 obj-$(CONFIG_NETFILTER_XT_TARGET_CONNSECMARK) += xt_CONNSECMARK.o
141 obj-$(CONFIG_NETFILTER_XT_TARGET_CT) += xt_CT.o
142 obj-$(CONFIG_NETFILTER_XT_TARGET_DSCP) += xt_DSCP.o
143 obj-$(CONFIG_NETFILTER_XT_TARGET_HL) += xt_HL.o
144 obj-$(CONFIG_NETFILTER_XT_TARGET_HMARK) += xt_HMARK.o
145 obj-$(CONFIG_NETFILTER_XT_TARGET_LED) += xt_LED.o
146 obj-$(CONFIG_NETFILTER_XT_TARGET_LOG) += xt_LOG.o
147 obj-$(CONFIG_NETFILTER_XT_TARGET_NETMAP) += xt_NETMAP.o
148 obj-$(CONFIG_NETFILTER_XT_TARGET_NFLOG) += xt_NFLOG.o
149 obj-$(CONFIG_NETFILTER_XT_TARGET_NFQUEUE) += xt_NFQUEUE.o
150 obj-$(CONFIG_NETFILTER_XT_TARGET_RATEEST) += xt_RATEEST.o
151 obj-$(CONFIG_NETFILTER_XT_TARGET_REDIRECT) += xt_REDIRECT.o
152 obj-$(CONFIG_NETFILTER_XT_TARGET_SECMARK) += xt_SECMARK.o
153 obj-$(CONFIG_NETFILTER_XT_TARGET_TPROXY) += xt_TPROXY.o
154 obj-$(CONFIG_NETFILTER_XT_TARGET_TCPMSS) += xt_TCPMSS.o
155 obj-$(CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP) += xt_TCPOPTSTRIP.o
156 obj-$(CONFIG_NETFILTER_XT_TARGET_TEE) += xt_TEE.o
157 obj-$(CONFIG_NETFILTER_XT_TARGET_TRACE) += xt_TRACE.o
158 obj-$(CONFIG_NETFILTER_XT_TARGET_IDLETIMER) += xt_IDLETIMER.o
160 # matches
161 obj-$(CONFIG_NETFILTER_XT_MATCH_ADDRTYPE) += xt_addrtype.o
162 obj-$(CONFIG_NETFILTER_XT_MATCH_BPF) += xt_bpf.o
163 obj-$(CONFIG_NETFILTER_XT_MATCH_CLUSTER) += xt_cluster.o
164 obj-$(CONFIG_NETFILTER_XT_MATCH_COMMENT) += xt_comment.o
165 obj-$(CONFIG_NETFILTER_XT_MATCH_CONNBYTES) += xt_connbytes.o
166 obj-$(CONFIG_NETFILTER_XT_MATCH_CONNLABEL) += xt_connlabel.o
167 obj-$(CONFIG_NETFILTER_XT_MATCH_CONNLIMIT) += xt_connlimit.o
168 obj-$(CONFIG_NETFILTER_XT_MATCH_CONNTRACK) += xt_conntrack.o
169 obj-$(CONFIG_NETFILTER_XT_MATCH_CPU) += xt_cpu.o
170 obj-$(CONFIG_NETFILTER_XT_MATCH_DCCP) += xt_dccp.o
171 obj-$(CONFIG_NETFILTER_XT_MATCH_DEVGROUP) += xt_devgroup.o
172 obj-$(CONFIG_NETFILTER_XT_MATCH_DSCP) += xt_dscp.o
173 obj-$(CONFIG_NETFILTER_XT_MATCH_ECN) += xt_ecn.o
174 obj-$(CONFIG_NETFILTER_XT_MATCH_ESP) += xt_esp.o
175 obj-$(CONFIG_NETFILTER_XT_MATCH_HASHLIMIT) += xt_hashlimit.o
176 obj-$(CONFIG_NETFILTER_XT_MATCH_HELPER) += xt_helper.o
177 obj-$(CONFIG_NETFILTER_XT_MATCH_HL) += xt_hl.o
178 obj-$(CONFIG_NETFILTER_XT_MATCH_IPCOMP) += xt_ipcomp.o
179 obj-$(CONFIG_NETFILTER_XT_MATCH_IPRANGE) += xt_iprange.o
180 obj-$(CONFIG_NETFILTER_XT_MATCH_IPVS) += xt_ipvs.o
181 obj-$(CONFIG_NETFILTER_XT_MATCH_L2TP) += xt_l2tp.o
182 obj-$(CONFIG_NETFILTER_XT_MATCH_LENGTH) += xt_length.o
183 obj-$(CONFIG_NETFILTER_XT_MATCH_LIMIT) += xt_limit.o
184 obj-$(CONFIG_NETFILTER_XT_MATCH_MAC) += xt_mac.o
185 obj-$(CONFIG_NETFILTER_XT_MATCH_MULTIPORT) += xt_multiport.o
186 obj-$(CONFIG_NETFILTER_XT_MATCH_NFACCT) += xt_nfacct.o
187 obj-$(CONFIG_NETFILTER_XT_MATCH_OSF) += xt_osf.o
188 obj-$(CONFIG_NETFILTER_XT_MATCH_OWNER) += xt_owner.o
189 obj-$(CONFIG_NETFILTER_XT_MATCH_CGROUP) += xt_cgroup.o
190 obj-$(CONFIG_NETFILTER_XT_MATCH_PHYSDEV) += xt_physdev.o
191 obj-$(CONFIG_NETFILTER_XT_MATCH_PKTTYPE) += xt_pkttype.o
192 obj-$(CONFIG_NETFILTER_XT_MATCH_POLICY) += xt_policy.o
193 obj-$(CONFIG_NETFILTER_XT_MATCH_QUOTA) += xt_quota.o
194 obj-$(CONFIG_NETFILTER_XT_MATCH_RATEEST) += xt_rateest.o
195 obj-$(CONFIG_NETFILTER_XT_MATCH_REALM) += xt_realm.o
196 obj-$(CONFIG_NETFILTER_XT_MATCH_RECENT) += xt_recent.o
197 obj-$(CONFIG_NETFILTER_XT_MATCH_SCTP) += xt_sctp.o
198 obj-$(CONFIG_NETFILTER_XT_MATCH_SOCKET) += xt_socket.o
199 obj-$(CONFIG_NETFILTER_XT_MATCH_STATE) += xt_state.o
200 obj-$(CONFIG_NETFILTER_XT_MATCH_STATISTIC) += xt_statistic.o
201 obj-$(CONFIG_NETFILTER_XT_MATCH_STRING) += xt_string.o
202 obj-$(CONFIG_NETFILTER_XT_MATCH_TCPMSS) += xt_tcpmss.o
203 obj-$(CONFIG_NETFILTER_XT_MATCH_TIME) += xt_time.o
204 obj-$(CONFIG_NETFILTER_XT_MATCH_U32) += xt_u32.o
206 # ipset
207 obj-$(CONFIG_IP_SET) += ipset/
209 # IPVS
210 obj-$(CONFIG_IP_VS) += ipvs/