• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright (c) 2022 Huawei Device Co., Ltd.
2# Licensed under the Apache License, Version 2.0 (the "License");
3# you may not use this file except in compliance with the License.
4# You may obtain a copy of the License at
5#
6#     http://www.apache.org/licenses/LICENSE-2.0
7#
8# Unless required by applicable law or agreed to in writing, software
9# distributed under the License is distributed on an "AS IS" BASIS,
10# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11# See the License for the specific language governing permissions and
12# limitations under the License.
13
14import("//build/ohos.gni")
15LIBEXT_COMMON_PATH = "//out/gen"
16config("ext_config") {
17  cflags = [
18    "-D_LARGEFILE_SOURCE=1",
19    "-D_LARGE_FILES",
20    "-D_FILE_OFFSET_BITS=64",
21    "-D_REENTRANT",
22    "-DENABLE_IPV4",
23    "-DENABLE_IPV6",
24    "-Wall",
25    "-Wno-error",
26    "-Wno-pointer-arith",
27    "-Wno-sign-compare",
28    "-Wno-unused-parameter",
29    "-DNO_SHARED_LIBS=1",
30    "-DXTABLES_INTERNAL",
31    "-Wno-format",
32    "-Wno-missing-field-initializers",
33    "-Wno-pointer-bool-conversion",
34    "-Wno-tautological-pointer-compare",
35  ]
36}
37
38args_libext = [
39  "libxt_",
40  "[libxt_cgroup.c,libxt_ipvs.c,libxt_TCPOPTSTRIP.c,libxt_connlabel.c,libxt_dccp.c]",
41  "initext.c",
42  "extensions",
43]
44
45exec_script("genInit.py", args_libext)
46
47ohos_static_library("libext") {
48  sources = [
49    "$LIBEXT_COMMON_PATH/initext.c",
50    "$LIBEXT_COMMON_PATH/libxt_AUDIT.c",
51    "$LIBEXT_COMMON_PATH/libxt_CHECKSUM.c",
52    "$LIBEXT_COMMON_PATH/libxt_CLASSIFY.c",
53    "$LIBEXT_COMMON_PATH/libxt_CONNMARK.c",
54    "$LIBEXT_COMMON_PATH/libxt_CONNSECMARK.c",
55    "$LIBEXT_COMMON_PATH/libxt_CT.c",
56    "$LIBEXT_COMMON_PATH/libxt_DSCP.c",
57    "$LIBEXT_COMMON_PATH/libxt_HMARK.c",
58    "$LIBEXT_COMMON_PATH/libxt_IDLETIMER.c",
59    "$LIBEXT_COMMON_PATH/libxt_LED.c",
60    "$LIBEXT_COMMON_PATH/libxt_MARK.c",
61    "$LIBEXT_COMMON_PATH/libxt_NFLOG.c",
62    "$LIBEXT_COMMON_PATH/libxt_NFQUEUE.c",
63    "$LIBEXT_COMMON_PATH/libxt_RATEEST.c",
64    "$LIBEXT_COMMON_PATH/libxt_SECMARK.c",
65    "$LIBEXT_COMMON_PATH/libxt_SET.c",
66    "$LIBEXT_COMMON_PATH/libxt_SYNPROXY.c",
67    "$LIBEXT_COMMON_PATH/libxt_TCPMSS.c",
68    "$LIBEXT_COMMON_PATH/libxt_TEE.c",
69    "$LIBEXT_COMMON_PATH/libxt_TOS.c",
70    "$LIBEXT_COMMON_PATH/libxt_TPROXY.c",
71    "$LIBEXT_COMMON_PATH/libxt_TRACE.c",
72    "$LIBEXT_COMMON_PATH/libxt_addrtype.c",
73    "$LIBEXT_COMMON_PATH/libxt_bpf.c",
74    "$LIBEXT_COMMON_PATH/libxt_cluster.c",
75    "$LIBEXT_COMMON_PATH/libxt_comment.c",
76    "$LIBEXT_COMMON_PATH/libxt_connbytes.c",
77    "$LIBEXT_COMMON_PATH/libxt_connlimit.c",
78    "$LIBEXT_COMMON_PATH/libxt_connmark.c",
79    "$LIBEXT_COMMON_PATH/libxt_conntrack.c",
80    "$LIBEXT_COMMON_PATH/libxt_cpu.c",
81    "$LIBEXT_COMMON_PATH/libxt_devgroup.c",
82    "$LIBEXT_COMMON_PATH/libxt_dscp.c",
83    "$LIBEXT_COMMON_PATH/libxt_ecn.c",
84    "$LIBEXT_COMMON_PATH/libxt_esp.c",
85    "$LIBEXT_COMMON_PATH/libxt_hashlimit.c",
86    "$LIBEXT_COMMON_PATH/libxt_helper.c",
87    "$LIBEXT_COMMON_PATH/libxt_ipcomp.c",
88    "$LIBEXT_COMMON_PATH/libxt_iprange.c",
89    "$LIBEXT_COMMON_PATH/libxt_length.c",
90    "$LIBEXT_COMMON_PATH/libxt_limit.c",
91    "$LIBEXT_COMMON_PATH/libxt_mac.c",
92    "$LIBEXT_COMMON_PATH/libxt_mark.c",
93    "$LIBEXT_COMMON_PATH/libxt_multiport.c",
94    "$LIBEXT_COMMON_PATH/libxt_nfacct.c",
95    "$LIBEXT_COMMON_PATH/libxt_osf.c",
96    "$LIBEXT_COMMON_PATH/libxt_owner.c",
97    "$LIBEXT_COMMON_PATH/libxt_physdev.c",
98    "$LIBEXT_COMMON_PATH/libxt_pkttype.c",
99    "$LIBEXT_COMMON_PATH/libxt_policy.c",
100    "$LIBEXT_COMMON_PATH/libxt_quota.c",
101    "$LIBEXT_COMMON_PATH/libxt_quota2.c",
102    "$LIBEXT_COMMON_PATH/libxt_rateest.c",
103    "$LIBEXT_COMMON_PATH/libxt_recent.c",
104    "$LIBEXT_COMMON_PATH/libxt_rpfilter.c",
105    "$LIBEXT_COMMON_PATH/libxt_sctp.c",
106    "$LIBEXT_COMMON_PATH/libxt_set.c",
107    "$LIBEXT_COMMON_PATH/libxt_socket.c",
108    "$LIBEXT_COMMON_PATH/libxt_standard.c",
109    "$LIBEXT_COMMON_PATH/libxt_statistic.c",
110    "$LIBEXT_COMMON_PATH/libxt_string.c",
111    "$LIBEXT_COMMON_PATH/libxt_tcp.c",
112    "$LIBEXT_COMMON_PATH/libxt_tcpmss.c",
113    "$LIBEXT_COMMON_PATH/libxt_time.c",
114    "$LIBEXT_COMMON_PATH/libxt_tos.c",
115    "$LIBEXT_COMMON_PATH/libxt_u32.c",
116    "$LIBEXT_COMMON_PATH/libxt_udp.c",
117  ]
118  include_dirs = [
119    "//third_party/iptables",
120    "//third_party/iptables/extensions",
121    "//third_party/iptables/include",
122    "//third_party/iptables/iptables",
123    "//third_party/iptables/libiptc",
124  ]
125  configs = [ ":ext_config" ]
126  deps = []
127  part_name = "netmanager_standard"
128  subsystem_name = "communication"
129}
130
131args_libext4 = [
132  "libipt",
133  "[]",
134  "initext4.c",
135  "extensions4",
136]
137
138exec_script("genInit.py", args_libext4)
139
140ohos_static_library("libext4") {
141  sources = [
142    "$LIBEXT_COMMON_PATH/initext4.c",
143    "$LIBEXT_COMMON_PATH/libipt_CLUSTERIP.c",
144    "$LIBEXT_COMMON_PATH/libipt_DNAT.c",
145    "$LIBEXT_COMMON_PATH/libipt_ECN.c",
146    "$LIBEXT_COMMON_PATH/libipt_LOG.c",
147    "$LIBEXT_COMMON_PATH/libipt_MASQUERADE.c",
148    "$LIBEXT_COMMON_PATH/libipt_NETMAP.c",
149    "$LIBEXT_COMMON_PATH/libipt_REDIRECT.c",
150    "$LIBEXT_COMMON_PATH/libipt_REJECT.c",
151    "$LIBEXT_COMMON_PATH/libipt_SNAT.c",
152    "$LIBEXT_COMMON_PATH/libipt_TTL.c",
153    "$LIBEXT_COMMON_PATH/libipt_ULOG.c",
154    "$LIBEXT_COMMON_PATH/libipt_ah.c",
155    "$LIBEXT_COMMON_PATH/libipt_icmp.c",
156    "$LIBEXT_COMMON_PATH/libipt_realm.c",
157    "$LIBEXT_COMMON_PATH/libipt_ttl.c",
158  ]
159  include_dirs = [
160    "//third_party/iptables",
161    "//third_party/iptables/extensions",
162    "//third_party/iptables/include",
163    "//third_party/iptables/iptables",
164    "//third_party/iptables/libiptc",
165  ]
166  cflags = [
167    "-D_LARGEFILE_SOURCE=1",
168    "-D_LARGE_FILES",
169    "-D_FILE_OFFSET_BITS=64",
170    "-D_REENTRANT",
171    "-DENABLE_IPV4",
172    "-DENABLE_IPV6",
173    "-Wall",
174    "-Werror",
175    "-Wno-pointer-arith",
176    "-Wno-sign-compare",
177    "-Wno-unused-parameter",
178    "-DNO_SHARED_LIBS=1",
179    "-DXTABLES_INTERNAL",
180    "-Wno-format",
181    "-Wno-missing-field-initializers",
182    "-Wno-pointer-bool-conversion",
183    "-Wno-tautological-pointer-compare",
184  ]
185  deps = []
186  part_name = "netmanager_base"
187  subsystem_name = "communication"
188}
189
190args_libext6 = [
191  "libip6t_",
192  "[]",
193  "initext6.c",
194  "extensions6",
195]
196
197exec_script("genInit.py", args_libext6)
198
199ohos_static_library("libext6") {
200  sources = [
201    "$LIBEXT_COMMON_PATH/initext6.c",
202    "$LIBEXT_COMMON_PATH/libip6t_DNAT.c",
203    "$LIBEXT_COMMON_PATH/libip6t_DNPT.c",
204    "$LIBEXT_COMMON_PATH/libip6t_HL.c",
205    "$LIBEXT_COMMON_PATH/libip6t_LOG.c",
206    "$LIBEXT_COMMON_PATH/libip6t_MASQUERADE.c",
207    "$LIBEXT_COMMON_PATH/libip6t_NETMAP.c",
208    "$LIBEXT_COMMON_PATH/libip6t_REDIRECT.c",
209    "$LIBEXT_COMMON_PATH/libip6t_REJECT.c",
210    "$LIBEXT_COMMON_PATH/libip6t_SNAT.c",
211    "$LIBEXT_COMMON_PATH/libip6t_SNPT.c",
212    "$LIBEXT_COMMON_PATH/libip6t_ah.c",
213    "$LIBEXT_COMMON_PATH/libip6t_dst.c",
214    "$LIBEXT_COMMON_PATH/libip6t_eui64.c",
215    "$LIBEXT_COMMON_PATH/libip6t_frag.c",
216    "$LIBEXT_COMMON_PATH/libip6t_hbh.c",
217    "$LIBEXT_COMMON_PATH/libip6t_hl.c",
218    "$LIBEXT_COMMON_PATH/libip6t_icmp6.c",
219    "$LIBEXT_COMMON_PATH/libip6t_ipv6header.c",
220    "$LIBEXT_COMMON_PATH/libip6t_mh.c",
221    "$LIBEXT_COMMON_PATH/libip6t_rt.c",
222    "$LIBEXT_COMMON_PATH/libip6t_srh.c",
223  ]
224  include_dirs = [
225    "//third_party/iptables",
226    "//third_party/iptables/extensions",
227    "//third_party/iptables/include",
228    "//third_party/iptables/iptables",
229    "//third_party/iptables/libiptc",
230  ]
231  license_file = "//third_party/iptables/COPYING"
232  cflags = [
233    "-D_LARGEFILE_SOURCE=1",
234    "-D_LARGE_FILES",
235    "-D_FILE_OFFSET_BITS=64",
236    "-D_REENTRANT",
237    "-DENABLE_IPV4",
238    "-DENABLE_IPV6",
239    "-Wall",
240    "-Werror",
241    "-Wno-pointer-arith",
242    "-Wno-sign-compare",
243    "-Wno-unused-parameter",
244    "-DNO_SHARED_LIBS=1",
245    "-DXTABLES_INTERNAL",
246    "-Wno-format",
247    "-Wno-missing-field-initializers",
248    "-Wno-pointer-bool-conversion",
249    "-Wno-tautological-pointer-compare",
250  ]
251  deps = []
252  part_name = "netmanager_base"
253  subsystem_name = "communication"
254}
255