Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
adam.huang
Pkg Iptables
Commits
9caffe92
"vscode:/vscode.git/clone" did not exist on "214468eab616f08dac88f1769a760472605a5434"
Commit
9caffe92
authored
Nov 09, 2020
by
Arturo Borrero Gonzalez
Browse files
New upstream version 1.8.6
parent
eb1d7c5f
Changes
44
Show whitespace changes
Inline
Side-by-side
Makefile.in
View file @
9caffe92
...
...
@@ -316,6 +316,7 @@ SET_MAKE = @SET_MAKE@
SHELL
=
@SHELL@
STRIP
=
@STRIP@
VERSION
=
@VERSION@
XT_LOCK_NAME
=
@XT_LOCK_NAME@
abs_builddir
=
@abs_builddir@
abs_srcdir
=
@abs_srcdir@
abs_top_builddir
=
@abs_top_builddir@
...
...
configure
View file @
9caffe92
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.69 for iptables 1.8.
5
.
# Generated by GNU Autoconf 2.69 for iptables 1.8.
6
.
#
#
# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
...
...
@@ -587,8 +587,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME
=
'iptables'
PACKAGE_TARNAME
=
'iptables'
PACKAGE_VERSION
=
'1.8.
5
'
PACKAGE_STRING
=
'iptables 1.8.
5
'
PACKAGE_VERSION
=
'1.8.
6
'
PACKAGE_STRING
=
'iptables 1.8.
6
'
PACKAGE_BUGREPORT
=
''
PACKAGE_URL
=
''
...
...
@@ -632,6 +632,7 @@ ac_subst_vars='am__EXEEXT_FALSE
am__EXEEXT_TRUE
LTLIBOBJS
LIBOBJS
XT_LOCK_NAME
libxtables_vmajor
libxtables_vage
libxtables_vcurrent
...
...
@@ -1405,7 +1406,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat
<<
_ACEOF
\`
configure' configures iptables 1.8.
5
to adapt to many kinds of systems.
\`
configure' configures iptables 1.8.
6
to adapt to many kinds of systems.
Usage:
$0
[OPTION]... [VAR=VALUE]...
...
...
@@ -1476,7 +1477,7 @@ fi
if
test
-n
"
$ac_init_help
"
;
then
case
$ac_init_help
in
short
|
recursive
)
echo
"Configuration of iptables 1.8.
5
:"
;;
short
|
recursive
)
echo
"Configuration of iptables 1.8.
6
:"
;;
esac
cat
<<
\
_ACEOF
...
...
@@ -1627,7 +1628,7 @@ fi
test
-n
"
$ac_init_help
"
&&
exit
$ac_status
if
$ac_init_version
;
then
cat
<<
\
_ACEOF
iptables configure 1.8.
5
iptables configure 1.8.
6
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
...
...
@@ -2175,7 +2176,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
It was created by iptables
$as_me
1.8.
5
, which was
It was created by iptables
$as_me
1.8.
6
, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0
$@
...
...
@@ -3046,7 +3047,7 @@ fi
# Define the identity of the package.
PACKAGE
=
'iptables'
VERSION
=
'1.8.
5
'
VERSION
=
'1.8.
6
'
cat
>>
confdefs.h
<<
_ACEOF
...
...
@@ -13284,6 +13285,8 @@ cat >>confdefs.h <<_ACEOF
#define XT_LOCK_NAME "
${
xt_lock_name
}
"
_ACEOF
XT_LOCK_NAME
=
"
${
xt_lock_name
}
"
ac_config_files
=
"
$ac_config_files
Makefile extensions/GNUmakefile include/Makefile iptables/Makefile iptables/xtables.pc iptables/iptables.8 iptables/iptables-extensions.8.tmpl iptables/iptables-save.8 iptables/iptables-restore.8 iptables/iptables-apply.8 iptables/iptables-xml.1 libipq/Makefile libipq/libipq.pc libiptc/Makefile libiptc/libiptc.pc libiptc/libip4tc.pc libiptc/libip6tc.pc libxtables/Makefile utils/Makefile include/xtables-version.h iptables/xtables-monitor.8 utils/nfnl_osf.8 utils/nfbpf_compile.8"
...
...
@@ -13877,7 +13880,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
This file was extended by iptables
$as_me
1.8.
5
, which was
This file was extended by iptables
$as_me
1.8.
6
, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES =
$CONFIG_FILES
...
...
@@ -13943,7 +13946,7 @@ _ACEOF
cat
>>
$CONFIG_STATUS
<<
_ACEOF
|| ac_write_fail=1
ac_cs_config="`
$as_echo
"
$ac_configure_args
" | sed 's/^ //; s/[
\\
""
\`\$
]/
\\\\
&/g'`"
ac_cs_version="
\\
iptables config.status 1.8.
5
iptables config.status 1.8.
6
configured by
$0
, generated by GNU Autoconf 2.69,
with options
\\
"
\$
ac_cs_config
\\
"
...
...
configure.ac
View file @
9caffe92
AC_INIT([iptables], [1.8.
5
])
AC_INIT([iptables], [1.8.
6
])
# See libtool.info "Libtool's versioning system"
libxtables_vcurrent=15
...
...
@@ -219,6 +219,7 @@ AC_SUBST([libxtables_vmajor])
AC_DEFINE_UNQUOTED([XT_LOCK_NAME], "${xt_lock_name}",
[Location of the iptables lock file])
AC_SUBST([XT_LOCK_NAME], "${xt_lock_name}")
AC_CONFIG_FILES([Makefile extensions/GNUmakefile include/Makefile
iptables/Makefile iptables/xtables.pc
...
...
extensions/GNUmakefile.in
View file @
9caffe92
...
...
@@ -79,7 +79,7 @@ targets_install :=
.SECONDARY:
.PHONY: all install clean distclean FORCE
.PHONY: all install
uninstall
clean distclean FORCE
all: ${targets}
...
...
@@ -92,6 +92,19 @@ install: ${targets_install} ${symlinks_install}
cp -P ${symlinks_install} "${DESTDIR}${xtlibdir}/"; \
fi;
uninstall:
dir=${DESTDIR}${xtlibdir}; { \
test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; \
} || { \
test -z "${targets_install}" || ( \
cd "$$dir" && rm -f ${targets_install} \
); \
test -z "${symlinks_install}" || ( \
cd "$$dir" && rm -f ${symlinks_install} \
); \
rmdir -p --ignore-fail-on-non-empty "$$dir"; \
}
clean:
rm -f *.o *.oo *.so *.a {matches,targets}.man initext.c initext4.c initext6.c initextb.c initexta.c;
rm -f .*.d .*.dd;
...
...
extensions/libip6t_REJECT.man
View file @
9caffe92
...
...
@@ -30,3 +30,23 @@ TCP RST packet to be sent back. This is mainly useful for blocking
hosts (which won't accept your mail otherwise).
\fBtcp\-reset\fP
can only be used with kernel versions 2.6.14 or later.
.PP
\fIWarning:\fP You should not indiscriminately apply the REJECT target to
packets whose connection state is classified as INVALID; instead, you should
only DROP these.
.PP
Consider a source host transmitting a packet P, with P experiencing so much
delay along its path that the source host issues a retransmission, P_2, with
P_2 being successful in reaching its destination and advancing the connection
state normally. It is conceivable that the late-arriving P may be considered
not to be associated with any connection tracking entry. Generating a reject
response for a packet so classed would then terminate the healthy connection.
.PP
So, instead of:
.PP
-A INPUT ... -j REJECT
.PP
do consider using:
.PP
-A INPUT ... -m conntrack --ctstate INVALID -j DROP
-A INPUT ... -j REJECT
extensions/libipt_REJECT.man
View file @
9caffe92
...
...
@@ -30,3 +30,23 @@ TCP RST packet to be sent back. This is mainly useful for blocking
hosts (which won't accept your mail otherwise).
.IP
(*) Using icmp\-admin\-prohibited with kernels that do not support it will result in a plain DROP instead of REJECT
.PP
\fIWarning:\fP You should not indiscriminately apply the REJECT target to
packets whose connection state is classified as INVALID; instead, you should
only DROP these.
.PP
Consider a source host transmitting a packet P, with P experiencing so much
delay along its path that the source host issues a retransmission, P_2, with
P_2 being successful in reaching its destination and advancing the connection
state normally. It is conceivable that the late-arriving P may be considered
not to be associated with any connection tracking entry. Generating a reject
response for a packet so classed would then terminate the healthy connection.
.PP
So, instead of:
.PP
-A INPUT ... -j REJECT
.PP
do consider using:
.PP
-A INPUT ... -m conntrack --ctstate INVALID -j DROP
-A INPUT ... -j REJECT
extensions/libipt_icmp.c
View file @
9caffe92
...
...
@@ -256,6 +256,11 @@ static int icmp_xlate(struct xt_xlate *xl,
if
(
!
type_xlate_print
(
xl
,
info
->
type
,
info
->
code
[
0
],
info
->
code
[
1
]))
return
0
;
}
else
{
/* '-m icmp --icmp-type any' is a noop by itself,
* but it eats a (mandatory) previous '-p icmp' so
* emit it here */
xt_xlate_add
(
xl
,
"ip protocol icmp"
);
}
return
1
;
}
...
...
extensions/libipt_icmp.txlate
View file @
9caffe92
...
...
@@ -6,3 +6,6 @@ nft add rule ip filter INPUT icmp type destination-unreachable counter accept
iptables-translate -t filter -A INPUT -m icmp ! --icmp-type 3 -j ACCEPT
nft add rule ip filter INPUT icmp type != destination-unreachable counter accept
iptables-translate -t filter -A INPUT -m icmp --icmp-type any -j ACCEPT
nft add rule ip filter INPUT ip protocol icmp counter accept
extensions/libxt_conntrack.c
View file @
9caffe92
...
...
@@ -1249,12 +1249,20 @@ static int _conntrack3_mt_xlate(struct xt_xlate *xl,
}
if
(
sinfo
->
match_flags
&
XT_CONNTRACK_STATE
)
{
if
((
sinfo
->
state_mask
&
XT_CONNTRACK_STATE_SNAT
)
||
(
sinfo
->
state_mask
&
XT_CONNTRACK_STATE_DNAT
))
{
xt_xlate_add
(
xl
,
"%sct status %s%s"
,
space
,
sinfo
->
invert_flags
&
XT_CONNTRACK_STATUS
?
"!="
:
""
,
sinfo
->
state_mask
&
XT_CONNTRACK_STATE_SNAT
?
"snat"
:
"dnat"
);
space
=
" "
;
}
else
{
xt_xlate_add
(
xl
,
"%sct state %s"
,
space
,
sinfo
->
invert_flags
&
XT_CONNTRACK_STATE
?
"!= "
:
""
);
state_xlate_print
(
xl
,
sinfo
->
state_mask
);
space
=
" "
;
}
}
if
(
sinfo
->
match_flags
&
XT_CONNTRACK_STATUS
)
{
xt_xlate_add
(
xl
,
"%sct status %s"
,
space
,
...
...
extensions/libxt_conntrack.txlate
View file @
9caffe92
...
...
@@ -42,3 +42,10 @@ nft add rule ip filter INPUT ct direction original counter accept
iptables-translate -t filter -A INPUT -m conntrack --ctstate NEW --ctproto tcp --ctorigsrc 192.168.0.1 --ctorigdst 192.168.0.1 --ctreplsrc 192.168.0.1 --ctrepldst 192.168.0.1 --ctorigsrcport 12 --ctorigdstport 14 --ctreplsrcport 16 --ctrepldstport 18 --ctexpire 10 --ctstatus SEEN_REPLY --ctdir ORIGINAL -j ACCEPT
nft add rule ip filter INPUT ct direction original ct original protocol 6 ct state new ct status seen-reply ct expiration 10 ct original saddr 192.168.0.1 ct original daddr 192.168.0.1 ct reply saddr 192.168.0.1 ct reply daddr 192.168.0.1 ct original proto-src 12 ct original proto-dst 14 ct reply proto-src 16 ct reply proto-dst 18 counter accept
iptables-translate -t filter -A INPUT -m conntrack --ctstate SNAT -j ACCEPT
nft add rule ip filter INPUT ct status snat counter accept
iptables-translate -t filter -A INPUT -m conntrack --ctstate DNAT -j ACCEPT
nft add rule ip filter INPUT ct status dnat counter accept
include/Makefile.am
View file @
9caffe92
...
...
@@ -10,3 +10,8 @@ endif
nobase_include_HEADERS
+=
\
libiptc/ipt_kernel_headers.h libiptc/libiptc.h
\
libiptc/libip6tc.h libiptc/libxtc.h libiptc/xtcshared.h
uninstall-hook
:
dir
=
${includedir}
/libiptc
;
{
\
test
!
-d
"
$$
dir"
&&
test
!
-f
"
$$
dir"
&&
test
!
-r
"
$$
dir"
;
\
}
||
rmdir
-p
--ignore-fail-on-non-empty
"
$$
dir"
include/Makefile.in
View file @
9caffe92
...
...
@@ -241,6 +241,7 @@ SET_MAKE = @SET_MAKE@
SHELL
=
@SHELL@
STRIP
=
@STRIP@
VERSION
=
@VERSION@
XT_LOCK_NAME
=
@XT_LOCK_NAME@
abs_builddir
=
@abs_builddir@
abs_srcdir
=
@abs_srcdir@
abs_top_builddir
=
@abs_top_builddir@
...
...
@@ -596,8 +597,9 @@ ps: ps-am
ps-am
:
uninstall-am
:
uninstall-includeHEADERS uninstall-nobase_includeHEADERS
.MAKE
:
install-am install-strip
@
$(NORMAL_INSTALL)
$(MAKE)
$(AM_MAKEFLAGS)
uninstall-hook
.MAKE
:
install-am install-strip uninstall-am
.PHONY
:
CTAGS GTAGS TAGS all all-am check check-am clean clean-generic
\
clean-libtool cscopelist-am ctags ctags-am distclean
\
...
...
@@ -611,12 +613,17 @@ uninstall-am: uninstall-includeHEADERS uninstall-nobase_includeHEADERS
installcheck installcheck-am installdirs maintainer-clean
\
maintainer-clean-generic mostlyclean mostlyclean-generic
\
mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall
\
uninstall-am uninstall-includeHEADERS
\
uninstall-am
uninstall-hook
uninstall-includeHEADERS
\
uninstall-nobase_includeHEADERS
.PRECIOUS
:
Makefile
uninstall-hook
:
dir
=
${includedir}
/libiptc
;
{
\
test
!
-d
"
$$
dir"
&&
test
!
-f
"
$$
dir"
&&
test
!
-r
"
$$
dir"
;
\
}
||
rmdir
-p
--ignore-fail-on-non-empty
"
$$
dir"
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT
:
iptables/Makefile.am
View file @
9caffe92
...
...
@@ -56,7 +56,7 @@ man_MANS = iptables.8 iptables-restore.8 iptables-save.8 \
ip6tables-save.8 iptables-extensions.8
\
iptables-apply.8 ip6tables-apply.8
sbin_SCRIPT
=
iptables-apply
sbin_SCRIPT
S
=
iptables-apply
if
ENABLE_NFTABLES
man_MANS
+=
xtables-nft.8 xtables-translate.8 xtables-legacy.8
\
...
...
@@ -67,6 +67,10 @@ man_MANS += xtables-nft.8 xtables-translate.8 xtables-legacy.8 \
ebtables-nft.8
endif
CLEANFILES
=
iptables.8 xtables-monitor.8
\
iptables-xml.1 iptables-apply.8
\
iptables-extensions.8 iptables-extensions.8.tmpl
\
iptables-restore.8 iptables-save.8
\
iptables-restore-translate.8 ip6tables-restore-translate.8
\
iptables-translate.8 ip6tables-translate.8
vx_bin_links
=
iptables-xml
...
...
@@ -111,3 +115,26 @@ install-exec-hook:
for
i
in
${v6_sbin_links}
;
do
${LN_S}
-f
xtables-legacy-multi
"
${DESTDIR}${sbindir}
/
$$
i"
;
done
;
for
i
in
${x_sbin_links}
;
do
${LN_S}
-f
xtables-nft-multi
"
${DESTDIR}${sbindir}
/
$$
i"
;
done
;
${LN_S}
-f
iptables-apply
"
${DESTDIR}${sbindir}
/ip6tables-apply"
uninstall-hook
:
dir
=
${DESTDIR}${bindir}
;
{
\
test
!
-d
"
$$
dir"
&&
test
!
-f
"
$$
dir"
&&
test
!
-r
"
$$
dir"
;
\
}
||
{
\
test
-z
"
${vx_bin_links}
"
||
(
\
cd
"
$$
dir"
&&
rm
-f
${vx_bin_links}
\
)
\
}
dir
=
${DESTDIR}${sbindir}
;
{
\
test
!
-d
"
$$
dir"
&&
test
!
-f
"
$$
dir"
&&
test
!
-r
"
$$
dir"
;
\
}
||
{
\
test
-z
"
${v4_sbin_links}
"
||
(
\
cd
"
$$
dir"
&&
rm
-f
${v4_sbin_links}
\
)
;
\
test
-z
"
${v6_sbin_links}
"
||
(
\
cd
"
$$
dir"
&&
rm
-f
${v6_sbin_links}
\
)
;
\
test
-z
"
${x_sbin_links}
"
||
(
\
cd
"
$$
dir"
&&
rm
-f
${x_sbin_links}
\
)
;
\
(
cd
"
$$
dir"
&&
rm
-f
ip6tables-apply
)
;
\
}
iptables/Makefile.in
View file @
9caffe92
...
...
@@ -17,6 +17,7 @@
# -*- Makefile -*-
VPATH
=
@srcdir@
am__is_gnu_make
=
{
\
if
test
-z
'
$(MAKELEVEL)
'
;
then
\
...
...
@@ -123,8 +124,9 @@ CONFIG_CLEAN_FILES = xtables.pc iptables.8 iptables-extensions.8.tmpl \
iptables-xml.1 xtables-monitor.8
CONFIG_CLEAN_VPATH_FILES
=
@ENABLE_NFTABLES_TRUE@
am__EXEEXT_1
=
xtables-nft-multi
$(EXEEXT)
am__installdirs
=
"
$(DESTDIR)$(sbindir)
"
"
$(DESTDIR)$(man1dir)
"
\
"
$(DESTDIR)$(man8dir)
"
"
$(DESTDIR)$(pkgconfigdir)
"
am__installdirs
=
"
$(DESTDIR)$(sbindir)
"
"
$(DESTDIR)$(sbindir)
"
\
"
$(DESTDIR)$(man1dir)
"
"
$(DESTDIR)$(man8dir)
"
\
"
$(DESTDIR)$(pkgconfigdir)
"
PROGRAMS
=
$(sbin_PROGRAMS)
am__xtables_legacy_multi_SOURCES_DIST
=
xtables-legacy-multi.c
\
iptables-xml.c iptables-standalone.c iptables.c
\
...
...
@@ -197,6 +199,34 @@ xtables_nft_multi_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
$(AM_LIBTOOLFLAGS)
$(LIBTOOLFLAGS)
--mode
=
link
$(CCLD)
\
$(xtables_nft_multi_CFLAGS)
$(CFLAGS)
$(AM_LDFLAGS)
$(LDFLAGS)
\
-o
$@
am__vpath_adj_setup
=
srcdirstrip
=
`
echo
"
$(srcdir)
"
|
sed
's|.|.|g'
`
;
am__vpath_adj
=
case
$$
p
in
\
$(srcdir)
/
*
)
f
=
`
echo
"
$$
p"
|
sed
"s|^
$$
srcdirstrip/||"
`
;;
\
*
)
f
=
$$
p
;;
\
esac
;
am__strip_dir
=
f
=
`
echo
$$
p |
sed
-e
's|^.*/||'
`
;
am__install_max
=
40
am__nobase_strip_setup
=
\
srcdirstrip
=
`
echo
"
$(srcdir)
"
|
sed
's/[].[^$$\\*|]/\\\\&/g'
`
am__nobase_strip
=
\
for
p
in
$$
list
;
do
echo
"
$$
p"
;
done
|
sed
-e
"s|
$$
srcdirstrip/||"
am__nobase_list
=
$(am__nobase_strip_setup)
;
\
for
p
in
$$
list
;
do
echo
"
$$
p
$$
p"
;
done
|
\
sed
"s|
$$
srcdirstrip/| |;"
' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,'
|
\
$(AWK)
'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
if (++n[$$2] ==
$(am__install_max)
) \
{ print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
END { for (dir in files) print dir, files[dir] }'
am__base_list
=
\
sed
'$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
|
\
sed
'$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
am__uninstall_files_from_dir
=
{
\
test
-z
"
$$
files"
\
||
{
test
!
-d
"
$$
dir"
&&
test
!
-f
"
$$
dir"
&&
test
!
-r
"
$$
dir"
;
}
\
||
{
echo
" ( cd '
$$
dir' && rm -f"
$$
files
")"
;
\
$(am__cd)
"
$$
dir"
&&
rm
-f
$$
files
;
}
;
\
}
SCRIPTS
=
$(sbin_SCRIPTS)
AM_V_P
=
$
(
am__v_P_@AM_V@
)
am__v_P_
=
$
(
am__v_P_@AM_DEFAULT_V@
)
am__v_P_0
=
false
...
...
@@ -271,33 +301,6 @@ am__can_run_installinfo = \
n|no|NO
)
false
;;
\
*
)
(
install-info
--version
)
>
/dev/null 2>&1
;;
\
esac
am__vpath_adj_setup
=
srcdirstrip
=
`
echo
"
$(srcdir)
"
|
sed
's|.|.|g'
`
;
am__vpath_adj
=
case
$$
p
in
\
$(srcdir)
/
*
)
f
=
`
echo
"
$$
p"
|
sed
"s|^
$$
srcdirstrip/||"
`
;;
\
*
)
f
=
$$
p
;;
\
esac
;
am__strip_dir
=
f
=
`
echo
$$
p |
sed
-e
's|^.*/||'
`
;
am__install_max
=
40
am__nobase_strip_setup
=
\
srcdirstrip
=
`
echo
"
$(srcdir)
"
|
sed
's/[].[^$$\\*|]/\\\\&/g'
`
am__nobase_strip
=
\
for
p
in
$$
list
;
do
echo
"
$$
p"
;
done
|
sed
-e
"s|
$$
srcdirstrip/||"
am__nobase_list
=
$(am__nobase_strip_setup)
;
\
for
p
in
$$
list
;
do
echo
"
$$
p
$$
p"
;
done
|
\
sed
"s|
$$
srcdirstrip/| |;"
' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,'
|
\
$(AWK)
'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
if (++n[$$2] ==
$(am__install_max)
) \
{ print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
END { for (dir in files) print dir, files[dir] }'
am__base_list
=
\
sed
'$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
|
\
sed
'$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
am__uninstall_files_from_dir
=
{
\
test
-z
"
$$
files"
\
||
{
test
!
-d
"
$$
dir"
&&
test
!
-f
"
$$
dir"
&&
test
!
-r
"
$$
dir"
;
}
\
||
{
echo
" ( cd '
$$
dir' && rm -f"
$$
files
")"
;
\
$(am__cd)
"
$$
dir"
&&
rm
-f
$$
files
;
}
;
\
}
man1dir
=
$(mandir)
/man1
man8dir
=
$(mandir)
/man8
NROFF
=
nroff
...
...
@@ -396,6 +399,7 @@ SET_MAKE = @SET_MAKE@
SHELL
=
@SHELL@
STRIP
=
@STRIP@
VERSION
=
@VERSION@
XT_LOCK_NAME
=
@XT_LOCK_NAME@
abs_builddir
=
@abs_builddir@
abs_srcdir
=
@abs_srcdir@
abs_top_builddir
=
@abs_top_builddir@
...
...
@@ -513,8 +517,12 @@ man_MANS = iptables.8 iptables-restore.8 iptables-save.8 \
iptables-xml.1 ip6tables.8 ip6tables-restore.8
\
ip6tables-save.8 iptables-extensions.8 iptables-apply.8
\
ip6tables-apply.8
$(am__append_10)
sbin_SCRIPT
=
iptables-apply
sbin_SCRIPT
S
=
iptables-apply
CLEANFILES
=
iptables.8 xtables-monitor.8
\
iptables-xml.1 iptables-apply.8
\
iptables-extensions.8 iptables-extensions.8.tmpl
\
iptables-restore.8 iptables-save.8
\
iptables-restore-translate.8 ip6tables-restore-translate.8
\
iptables-translate.8 ip6tables-translate.8
vx_bin_links
=
iptables-xml
...
...
@@ -644,6 +652,41 @@ xtables-legacy-multi$(EXEEXT): $(xtables_legacy_multi_OBJECTS) $(xtables_legacy_
xtables-nft-multi$(EXEEXT)
:
$(xtables_nft_multi_OBJECTS) $(xtables_nft_multi_DEPENDENCIES) $(EXTRA_xtables_nft_multi_DEPENDENCIES)
@
rm
-f
xtables-nft-multi
$(EXEEXT)
$(AM_V_CCLD)$(xtables_nft_multi_LINK)
$(xtables_nft_multi_OBJECTS)
$(xtables_nft_multi_LDADD)
$(LIBS)
install-sbinSCRIPTS
:
$(sbin_SCRIPTS)
@
$(NORMAL_INSTALL)
@
list
=
'
$(sbin_SCRIPTS)
'
;
test
-n
"
$(sbindir)
"
||
list
=
;
\
if
test
-n
"
$$
list"
;
then
\
echo
"
$(MKDIR_P)
'
$(DESTDIR)$(sbindir)
'"
;
\
$(MKDIR_P)
"
$(DESTDIR)$(sbindir)
"
||
exit
1
;
\
fi
;
\
for
p
in
$$
list
;
do
\
if
test
-f
"
$$
p"
;
then
d
=
;
else
d
=
"
$(srcdir)
/"
;
fi
;
\
if
test
-f
"
$$
d
$$
p"
;
then
echo
"
$$
d
$$
p"
;
echo
"
$$
p"
;
else
:
;
fi
;
\
done
|
\
sed
-e
'p;s,.*/,,;n'
\
-e
'h;s|.*|.|'
\
-e
'p;x;s,.*/,,;
$(transform)
'
|
sed
'N;N;N;s,\n, ,g'
|
\
$(AWK)
'BEGIN { files["."] = ""; dirs["."] = 1; } \
{ d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
if ($$2 == $$4) { files[d] = files[d] " " $$1; \
if (++n[d] ==
$(am__install_max)
) { \
print "f", d, files[d]; n[d] = 0; files[d] = "" } } \
else { print "f", d "/" $$4, $$1 } } \
END { for (d in files) print "f", d, files[d] }'
|
\
while
read type dir
files
;
do
\
if
test
"
$$
dir"
=
.
;
then
dir
=
;
else
dir
=
/
$$
dir
;
fi
;
\
test
-z
"
$$
files"
||
{
\
echo
"
$(INSTALL_SCRIPT)
$$
files '
$(DESTDIR)$(sbindir)$$
dir'"
;
\
$(INSTALL_SCRIPT)
$$
files
"
$(DESTDIR)$(sbindir)$$
dir"
||
exit
$$
?
;
\
}
\
;
done
uninstall-sbinSCRIPTS
:
@
$(NORMAL_UNINSTALL)
@
list
=
'
$(sbin_SCRIPTS)
'
;
test
-n
"
$(sbindir)
"
||
exit
0
;
\
files
=
`
for
p
in
$$
list
;
do
echo
"
$$
p"
;
done
|
\
sed
-e
's,.*/,,;
$(transform)
'
`
;
\
dir
=
'
$(DESTDIR)$(sbindir)
'
;
$(am__uninstall_files_from_dir)
mostlyclean-compile
:
-
rm
-f
*
.
$(OBJEXT)
...
...
@@ -1345,9 +1388,9 @@ distdir-am: $(DISTFILES)
check-am
:
all-am
check
:
$(BUILT_SOURCES)
$(MAKE)
$(AM_MAKEFLAGS)
check-am
all-am
:
Makefile $(PROGRAMS) $(MANS) $(DATA)
all-am
:
Makefile $(PROGRAMS)
$(SCRIPTS)
$(MANS) $(DATA)
installdirs
:
for
dir
in
"
$(DESTDIR)$(sbindir)
"
"
$(DESTDIR)$(man1dir)
"
"
$(DESTDIR)$(man8dir)
"
"
$(DESTDIR)$(pkgconfigdir)
"
;
do
\
for
dir
in
"
$(DESTDIR)$(sbindir)
"
"
$(DESTDIR)$(sbindir)
"
"
$(DESTDIR)$(man1dir)
"
"
$(DESTDIR)$(man8dir)
"
"
$(DESTDIR)$(pkgconfigdir)
"
;
do
\
test
-z
"
$$
dir"
||
$(MKDIR_P)
"
$$
dir"
;
\
done
install
:
$(BUILT_SOURCES)
...
...
@@ -1442,7 +1485,7 @@ install-dvi: install-dvi-am
install-dvi-am
:
install-exec-am
:
install-sbinPROGRAMS
install-exec-am
:
install-sbinPROGRAMS
install-sbinSCRIPTS
@
$(NORMAL_INSTALL)
$(MAKE)
$(AM_MAKEFLAGS)
install-exec-hook
install-html
:
install-html-am
...
...
@@ -1514,11 +1557,13 @@ ps: ps-am
ps-am
:
uninstall-am
:
uninstall-man uninstall-pkgconfigDATA
\
uninstall-sbinPROGRAMS
uninstall-sbinPROGRAMS uninstall-sbinSCRIPTS
@
$(NORMAL_INSTALL)
$(MAKE)
$(AM_MAKEFLAGS)
uninstall-hook
uninstall-man
:
uninstall-man1 uninstall-man8
.MAKE
:
all check install install-am install-exec-am install-strip
.MAKE
:
all check install install-am install-exec-am install-strip
\
uninstall-am
.PHONY
:
CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean
\
clean-generic clean-libtool clean-sbinPROGRAMS cscopelist-am
\
...
...
@@ -1529,13 +1574,14 @@ uninstall-man: uninstall-man1 uninstall-man8
install-exec-am install-exec-hook install-html install-html-am
\
install-info install-info-am install-man install-man1
\
install-man8 install-pdf install-pdf-am install-pkgconfigDATA
\
install-ps install-ps-am install-sbinPROGRAMS install-strip
\
installcheck installcheck-am installdirs maintainer-clean
\
maintainer-clean-generic mostlyclean mostlyclean-compile
\
mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am
\
tags tags-am uninstall uninstall-am uninstall-man
\
uninstall-man1 uninstall-man8 uninstall-pkgconfigDATA
\
uninstall-sbinPROGRAMS
install-ps install-ps-am install-sbinPROGRAMS
\
install-sbinSCRIPTS install-strip installcheck installcheck-am
\
installdirs maintainer-clean maintainer-clean-generic
\
mostlyclean mostlyclean-compile mostlyclean-generic
\
mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall
\
uninstall-am uninstall-hook uninstall-man uninstall-man1
\
uninstall-man8 uninstall-pkgconfigDATA uninstall-sbinPROGRAMS
\
uninstall-sbinSCRIPTS
.PRECIOUS
:
Makefile
...
...
@@ -1558,6 +1604,29 @@ install-exec-hook:
for
i
in
${x_sbin_links}
;
do
${LN_S}
-f
xtables-nft-multi
"
${DESTDIR}${sbindir}
/
$$
i"
;
done
;
${LN_S}
-f
iptables-apply
"
${DESTDIR}${sbindir}
/ip6tables-apply"
uninstall-hook
:
dir
=
${DESTDIR}${bindir}
;
{
\
test
!
-d
"
$$
dir"
&&
test
!
-f
"
$$
dir"
&&
test
!
-r
"
$$
dir"
;
\
}
||
{
\
test
-z
"
${vx_bin_links}
"
||
(
\
cd
"
$$
dir"
&&
rm
-f
${vx_bin_links}
\
)
\
}
dir
=
${DESTDIR}${sbindir}
;
{
\
test
!
-d
"
$$
dir"
&&
test
!
-f
"
$$
dir"
&&
test
!
-r
"
$$
dir"
;
\
}
||
{
\
test
-z
"
${v4_sbin_links}
"
||
(
\
cd
"
$$
dir"
&&
rm
-f
${v4_sbin_links}
\
)
;
\
test
-z
"
${v6_sbin_links}
"
||
(
\
cd
"
$$
dir"
&&
rm
-f
${v6_sbin_links}
\
)
;
\
test
-z
"
${x_sbin_links}
"
||
(
\
cd
"
$$
dir"
&&
rm
-f
${x_sbin_links}
\
)
;
\
(
cd
"
$$
dir"
&&
rm
-f
ip6tables-apply
)
;
\
}
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT
:
iptables/iptables.8.in
View file @
9caffe92
...
...
@@ -397,6 +397,14 @@ corresponding to that rule's position in the chain.
\fB\-\-modprobe=\fP\fIcommand\fP
When adding or inserting rules into a chain, use \fIcommand\fP
to load any necessary modules (targets, match extensions, etc).
.SH LOCK FILE
iptables uses the \fI@XT_LOCK_NAME@\fP file to take an exclusive lock at
launch.
The \fBXTABLES_LOCKFILE\fP environment variable can be used to override
the default setting.
.SH MATCH AND TARGET EXTENSIONS
.PP
iptables can use extended packet matching and target modules.
...
...
iptables/nft-cache.c
View file @
9caffe92
...
...
@@ -109,48 +109,44 @@ static void mnl_genid_get(struct nft_handle *h, uint32_t *genid)
static
int
nftnl_table_list_cb
(
const
struct
nlmsghdr
*
nlh
,
void
*
data
)
{
struct
nftnl_table
*
t
;
struct
nftnl_table_list
*
list
=
data
;
struct
nftnl_table
*
nftnl
=
nftnl_table_alloc
();
const
struct
builtin_table
*
t
;
struct
nft_handle
*
h
=
data
;
const
char
*
name
;
t
=
nftnl_table_alloc
();
if
(
t
==
NULL
)
goto
err
;
if
(
!
nftnl
)
return
MNL_CB_OK
;
if
(
nftnl_table_nlmsg_parse
(
nlh
,
t
)
<
0
)
if
(
nftnl_table_nlmsg_parse
(
nlh
,
nftnl
)
<
0
)
goto
out
;
nftnl_table_list_add_tail
(
t
,
list
);
name
=
nftnl_table_get_str
(
nftnl
,
NFTNL_TABLE_NAME
);
if
(
!
name
)
goto
out
;
return
MNL_CB_OK
;
t
=
nft_table_builtin_find
(
h
,
name
);
if
(
!
t
)
goto
out
;
h
->
cache
->
table
[
t
->
type
].
exists
=
true
;
out:
nftnl_table_free
(
t
);
err:
nftnl_table_free
(
nftnl
);
return
MNL_CB_OK
;
}
static
int
fetch_table_cache
(
struct
nft_handle
*
h
)
{
char
buf
[
16536
];
struct
nlmsghdr
*
nlh
;
struct
nftnl_table_list
*
list
;
char
buf
[
16536
]
;
int
i
,
ret
;
if
(
h
->
cache
->
tables
)
return
0
;
list
=
nftnl_table_list_alloc
();
if
(
list
==
NULL
)
return
0
;
nlh
=
nftnl_rule_nlmsg_build_hdr
(
buf
,
NFT_MSG_GETTABLE
,
h
->
family
,
NLM_F_DUMP
,
h
->
seq
);
ret
=
mnl_talk
(
h
,
nlh
,
nftnl_table_list_cb
,
list
);
ret
=
mnl_talk
(
h
,
nlh
,
nftnl_table_list_cb
,
h
);
if
(
ret
<
0
&&
errno
==
EINTR
)
assert
(
nft_restart
(
h
)
>=
0
);
h
->
cache
->
tables
=
list
;
for
(
i
=
0
;
i
<
NFT_TABLE_MAX
;
i
++
)
{
enum
nft_table_type
type
=
h
->
tables
[
i
].
type
;
...
...
@@ -180,8 +176,8 @@ static int nftnl_chain_list_cb(const struct nlmsghdr *nlh, void *data)
const
struct
builtin_table
*
t
=
d
->
t
;
struct
nftnl_chain_list
*
list
;
struct
nft_handle
*
h
=
d
->
h
;
const
char
*
tname
,
*
cname
;
struct
nftnl_chain
*
c
;
const
char
*
tname
;
c
=
nftnl_chain_alloc
();
if
(
c
==
NULL
)
...
...
@@ -201,11 +197,6 @@ static int nftnl_chain_list_cb(const struct nlmsghdr *nlh, void *data)
}
list
=
h
->
cache
->
table
[
t
->
type
].
chains
;
cname
=
nftnl_chain_get_str
(
c
,
NFTNL_CHAIN_NAME
);
if
(
nftnl_chain_list_lookup_byname
(
list
,
cname
))
goto
out
;
nftnl_chain_list_add_tail
(
c
,
list
);
return
MNL_CB_OK
;
...
...
@@ -511,14 +502,14 @@ retry:
if
(
req
->
level
>=
NFT_CL_TABLES
)
fetch_table_cache
(
h
);
if
(
req
->
level
==
NFT_CL_FAKE
)
return
;
goto
genid_check
;
if
(
req
->
level
>=
NFT_CL_CHAINS
)
fetch_chain_cache
(
h
,
t
,
chains
);
if
(
req
->
level
>=
NFT_CL_SETS
)
fetch_set_cache
(
h
,
t
,
NULL
);
if
(
req
->
level
>=
NFT_CL_RULES
)
fetch_rule_cache
(
h
,
t
);
genid_check:
mnl_genid_get
(
h
,
&
genid_check
);
if
(
h
->
nft_genid
!=
genid_check
)
{
flush_cache
(
h
,
h
->
cache
,
NULL
);
...
...
@@ -612,10 +603,8 @@ static int flush_cache(struct nft_handle *h, struct nft_cache *c,
nftnl_set_list_free
(
c
->
table
[
i
].
sets
);
c
->
table
[
i
].
sets
=
NULL
;
}
}
if
(
c
->
tables
)
{
nftnl_table_list_free
(
c
->
tables
);
c
->
tables
=
NULL
;
c
->
table
[
i
].
exists
=
false
;
}
return
1
;
...
...
@@ -689,11 +678,6 @@ void nft_release_cache(struct nft_handle *h)
}
}
struct
nftnl_table_list
*
nftnl_table_list_get
(
struct
nft_handle
*
h
)
{
return
h
->
cache
->
tables
;
}
struct
nftnl_set_list
*
nft_set_list_get
(
struct
nft_handle
*
h
,
const
char
*
table
,
const
char
*
set
)
{
...
...
iptables/nft-cache.h
View file @
9caffe92
...
...
@@ -17,6 +17,5 @@ struct nftnl_chain_list *
nft_chain_list_get
(
struct
nft_handle
*
h
,
const
char
*
table
,
const
char
*
chain
);
struct
nftnl_set_list
*
nft_set_list_get
(
struct
nft_handle
*
h
,
const
char
*
table
,
const
char
*
set
);
struct
nftnl_table_list
*
nftnl_table_list_get
(
struct
nft_handle
*
h
);
#endif
/* _NFT_CACHE_H_ */
iptables/nft-cmd.c
View file @
9caffe92
...
...
@@ -311,10 +311,15 @@ int nft_cmd_chain_set(struct nft_handle *h, const char *table,
return
1
;
}
int
nft_cmd_table_flush
(
struct
nft_handle
*
h
,
const
char
*
table
)
int
nft_cmd_table_flush
(
struct
nft_handle
*
h
,
const
char
*
table
,
bool
verbose
)
{
struct
nft_cmd
*
cmd
;
if
(
verbose
)
{
return
nft_cmd_rule_flush
(
h
,
NULL
,
table
,
verbose
)
&&
nft_cmd_chain_user_del
(
h
,
NULL
,
table
,
verbose
);
}
cmd
=
nft_cmd_new
(
h
,
NFT_COMPAT_TABLE_FLUSH
,
table
,
NULL
,
NULL
,
-
1
,
false
);
if
(
!
cmd
)
...
...
@@ -388,8 +393,3 @@ int ebt_cmd_user_chain_policy(struct nft_handle *h, const char *table,
return
1
;
}
void
nft_cmd_table_new
(
struct
nft_handle
*
h
,
const
char
*
table
)
{
nft_cmd_new
(
h
,
NFT_COMPAT_TABLE_NEW
,
table
,
NULL
,
NULL
,
-
1
,
false
);
}
iptables/nft-cmd.h
View file @
9caffe92
...
...
@@ -65,7 +65,7 @@ int nft_cmd_chain_user_rename(struct nft_handle *h,const char *chain,
int
nft_cmd_rule_replace
(
struct
nft_handle
*
h
,
const
char
*
chain
,
const
char
*
table
,
void
*
data
,
int
rulenum
,
bool
verbose
);
int
nft_cmd_table_flush
(
struct
nft_handle
*
h
,
const
char
*
table
);
int
nft_cmd_table_flush
(
struct
nft_handle
*
h
,
const
char
*
table
,
bool
verbose
);
int
nft_cmd_chain_restore
(
struct
nft_handle
*
h
,
const
char
*
chain
,
const
char
*
table
);
int
nft_cmd_rule_zero_counters
(
struct
nft_handle
*
h
,
const
char
*
chain
,
...
...
iptables/nft-shared.c
View file @
9caffe92
...
...
@@ -165,7 +165,7 @@ void add_outiface(struct nftnl_rule *r, char *iface, uint32_t op)
void
add_addr
(
struct
nftnl_rule
*
r
,
int
offset
,
void
*
data
,
void
*
mask
,
size_t
len
,
uint32_t
op
)
{
const
char
*
m
=
mask
;
const
unsigned
char
*
m
=
mask
;
int
i
;
add_payload
(
r
,
offset
,
len
,
NFT_PAYLOAD_NETWORK_HEADER
);
...
...
Prev
1
2
3
Next
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment