diff options
author | JP Abgrall <jpa@google.com> | 2011-06-10 23:09:53 -0700 |
---|---|---|
committer | JP Abgrall <jpa@google.com> | 2011-06-10 23:09:53 -0700 |
commit | 8b4807f0a1d98f1d980d3d616ad565c9b72d7c49 (patch) | |
tree | 321b8fe61a5fd5325e9a9eecd7f6b0a1db22b8b0 | |
parent | ebf81627b1a2f50fd47add49f9976ed430a19673 (diff) | |
download | android_external_iptables-8b4807f0a1d98f1d980d3d616ad565c9b72d7c49.tar.gz android_external_iptables-8b4807f0a1d98f1d980d3d616ad565c9b72d7c49.tar.bz2 android_external_iptables-8b4807f0a1d98f1d980d3d616ad565c9b72d7c49.zip |
Post-merge fixup. Add new Android.mk, re-checkin generated files
They have no more compilable files in the top dir.
Created extra Android.mk for each subdir.
Regenerated the
include/iptables/internal.h and
include/xtables.h
with
./autogen.sh
export ANDROID_ROOT=$(gettop)/prebuilt/linux-x86/toolchain/arm-linux-androideabi-4.4.x/
./configure -host=arm-eabi CC=arm-linux-androideabi-gcc CPPFLAGS="$funky_includes" CFLAGS="-nostdlib" LDFLAGS="-Wl,-rpath-link=$ANDROID_ROOT/arm-linux-androideabi/lib -L$ANDROID_ROOT/arm-linux-androideabi/lib"
Change-Id: Ia57ed699edd32ffce16e94e2f13fb93d94924a04
-rw-r--r-- | Android.mk | 361 | ||||
-rw-r--r-- | extensions/Android.mk | 209 | ||||
-rw-r--r-- | include/iptables/internal.h | 2 | ||||
-rw-r--r-- | include/xtables.h | 16 | ||||
-rw-r--r-- | iptables/Android.mk | 87 | ||||
-rw-r--r-- | libiptc/Android.mk | 46 |
6 files changed, 352 insertions, 369 deletions
@@ -6,367 +6,8 @@ ifeq ($(BUILD_IPTABLES_V14),1) LOCAL_PATH:= $(call my-dir) -# -# Build libraries -# +include $(call all-subdir-makefiles) #---------------------------------------------------------------- -# libip4tc - -include $(CLEAR_VARS) - -LOCAL_C_INCLUDES:= \ - $(KERNEL_HEADERS) \ - $(LOCAL_PATH)/include/ - -# Accommodate arm-eabi-4.4.3 tools that don't set __ANDROID__ -LOCAL_CFLAGS:=-D__ANDROID__ - -LOCAL_SRC_FILES:= \ - libiptc/libip4tc.c \ - - -LOCAL_MODULE_TAGS:= -LOCAL_MODULE:=libip4tc - -include $(BUILD_STATIC_LIBRARY) - - -#---------------------------------------------------------------- -# libip6tc - -include $(CLEAR_VARS) - -LOCAL_C_INCLUDES:= \ - $(KERNEL_HEADERS) \ - $(LOCAL_PATH)/include/ - -# Accommodate arm-eabi-4.4.3 tools that don't set __ANDROID__ -LOCAL_CFLAGS:=-D__ANDROID__ - -LOCAL_SRC_FILES:= \ - libiptc/libip6tc.c \ - - -LOCAL_MODULE_TAGS:= -LOCAL_MODULE:=libip6tc - -include $(BUILD_STATIC_LIBRARY) - -#---------------------------------------------------------------- -# libiptc - -#include $(CLEAR_VARS) -# -#LOCAL_C_INCLUDES:= \ -# $(KERNEL_HEADERS) \ -# $(LOCAL_PATH)/include/ -# -#LOCAL_CFLAGS:=-DNO_SHARED_LIBS=1 -# -#LOCAL_SRC_FILES:= -# -# -#LOCAL_MODULE_TAGS:= -#LOCAL_MODULE:=libiptc -# -#LOCAL_STATIC_LIBRARIES := \ -# libip4tc \ -# libip6tc \ -# -#include $(BUILD_STATIC_LIBRARY) - -#---------------------------------------------------------------- -# libxtables - -include $(CLEAR_VARS) - -LOCAL_C_INCLUDES:= \ - $(LOCAL_PATH)/include/ \ - $(KERNEL_HEADERS) \ - -LOCAL_CFLAGS:=-DNO_SHARED_LIBS=1 -LOCAL_CFLAGS+=-DXTABLES_INTERNAL -LOCAL_CFLAGS+=-DXTABLES_LIBDIR=\"xtables_libdir_not_used\" -# Accommodate arm-eabi-4.4.3 tools that don't set __ANDROID__ -LOCAL_CFLAGS+=-D__ANDROID__ - -LOCAL_LDFLAGS:=-version-info 5:0:0 -LOCAL_SRC_FILES:= \ - xtables.c xtoptions.c - - -LOCAL_MODULE_TAGS:= -LOCAL_MODULE:=libxtables - -include $(BUILD_STATIC_LIBRARY) - -#---------------------------------------------------------------- -#---------------------------------------------------------------- -## extentsion - -MY_srcdir:=$(LOCAL_PATH)/extensions -# Exclude some modules that are problematic to compile (types/header). -MY_excluded_modules:=TCPOPTSTRIP - -MY_pfx_build_mod := $(patsubst ${MY_srcdir}/libxt_%.c,%,$(wildcard ${MY_srcdir}/libxt_*.c)) -MY_pf4_build_mod := $(patsubst ${MY_srcdir}/libipt_%.c,%,$(wildcard ${MY_srcdir}/libipt_*.c)) -MY_pf6_build_mod := $(patsubst ${MY_srcdir}/libip6t_%.c,%,$(wildcard ${MY_srcdir}/libip6t_*.c)) -MY_pfx_build_mod := $(filter-out ${MY_excluded_modules} dccp ipvs,${MY_pfx_build_mod}) -MY_pf4_build_mod := $(filter-out ${MY_excluded_modules} dccp ipvs,${MY_pf4_build_mod}) -MY_pf6_build_mod := $(filter-out ${MY_excluded_modules} dccp ipvs,${MY_pf6_build_mod}) -MY_pfx_objs := $(patsubst %,libxt_%.o,${MY_pfx_build_mod}) -MY_pf4_objs := $(patsubst %,libipt_%.o,${MY_pf4_build_mod}) -MY_pf6_objs := $(patsubst %,libip6t_%.o,${MY_pf6_build_mod}) - -#---------------------------------------------------------------- -# libext -# TODO(jpa): Trun this into a function/macro as libext{,4,6} are all the same. - -include $(CLEAR_VARS) - -LOCAL_MODULE_TAGS:= -LOCAL_MODULE:=libext - -# LOCAL_MODULE_CLASS must be defined before calling $(local-intermediates-dir) -# -LOCAL_MODULE_CLASS := STATIC_LIBRARIES -MY_intermediates := $(call local-intermediates-dir) - -# LOCAL_PATH/extensions needed because of dirty #include "blabla.c" -LOCAL_C_INCLUDES:= \ - $(LOCAL_PATH)/include/ \ - $(KERNEL_HEADERS) \ - $(MY_intermediates)/extensions/ \ - $(LOCAL_PATH)/extensions/ - -LOCAL_CFLAGS:=-DNO_SHARED_LIBS=1 -# The $* does not work as expected. It ends up empty. Even with SECONDEXPANSION. -# LOCAL_CFLAGS+=-D_INIT=lib$*_init -LOCAL_CFLAGS+=-DXTABLES_INTERNAL -# Accommodate arm-eabi-4.4.3 tools that don't set __ANDROID__ -LOCAL_CFLAGS+=-D__ANDROID__ - -MY_initext_func := $(addprefix xt_,${MY_pfx_build_mod}) -MY_GEN_INITEXT:= $(MY_intermediates)/extensions/initext.c -$(MY_GEN_INITEXT): - @mkdir -p $(dir $@) - @( \ - echo "" >$@; \ - for i in ${MY_initext_func}; do \ - echo "extern void lib$${i}_init(void);" >>$@; \ - done; \ - echo "void init_extensions(void);" >>$@; \ - echo "void init_extensions(void)" >>$@; \ - echo "{" >>$@; \ - for i in ${MY_initext_func}; do \ - echo " ""lib$${i}_init();" >>$@; \ - done; \ - echo "}" >>$@; \ - ); - -MY_lib_sources:= \ - $(patsubst %,$(LOCAL_PATH)/extensions/libxt_%.c,${MY_pfx_build_mod}) - -MY_gen_lib_sources:= $(patsubst $(LOCAL_PATH)/%,${MY_intermediates}/%,${MY_lib_sources}) - -${MY_gen_lib_sources}: PRIVATE_PATH := $(LOCAL_PATH) -${MY_gen_lib_sources}: PRIVATE_CUSTOM_TOOL = $(PRIVATE_PATH)/extensions/filter_init $(PRIVATE_PATH)/extensions/$(notdir $@) > $@ -${MY_gen_lib_sources}: PRIVATE_MODULE := $(LOCAL_MODULE) -${MY_gen_lib_sources}: PRIVATE_C_INCLUDES := $(LOCAL_C_INCLUDES) -${MY_gen_lib_sources}: $(MY_lib_sources) - $(transform-generated-source) - -$(MY_intermediates)/extensions/initext.o : $(MY_GEN_INITEXT) $(MY_gen_lib_sources) - -LOCAL_GENERATED_SOURCES:= $(MY_GEN_INITEXT) $(MY_gen_lib_sources) - -include $(BUILD_STATIC_LIBRARY) - -#---------------------------------------------------------------- -# libext4 - -include $(CLEAR_VARS) - -LOCAL_MODULE_TAGS:= -LOCAL_MODULE:=libext4 - -# LOCAL_MODULE_CLASS must be defined before calling $(local-intermediates-dir) -# -LOCAL_MODULE_CLASS := STATIC_LIBRARIES -MY_intermediates := $(call local-intermediates-dir) - -# LOCAL_PATH/extensions needed because of dirty #include "blabla.c" -LOCAL_C_INCLUDES:= \ - $(LOCAL_PATH)/include/ \ - $(KERNEL_HEADERS) \ - $(MY_intermediates)/extensions/ \ - $(LOCAL_PATH)/extensions/ - -LOCAL_CFLAGS:=-DNO_SHARED_LIBS=1 -# The $* does not work as expected. It ends up empty. Even with SECONDEXPANSION. -# LOCAL_CFLAGS+=-D_INIT=lib$*_init -LOCAL_CFLAGS+=-DXTABLES_INTERNAL -# Accommodate arm-eabi-4.4.3 tools that don't set __ANDROID__ -LOCAL_CFLAGS+=-D__ANDROID__ - -MY_initext4_func := $(addprefix ipt_,${MY_pf4_build_mod}) -MY_GEN_INITEXT4:= $(MY_intermediates)/extensions/initext4.c -$(MY_GEN_INITEXT4): - @mkdir -p $(dir $@) - @( \ - echo "" >$@; \ - for i in ${MY_initext4_func}; do \ - echo "extern void lib$${i}_init(void);" >>$@; \ - done; \ - echo "void init_extensions4(void);" >>$@; \ - echo "void init_extensions4(void)" >>$@; \ - echo "{" >>$@; \ - for i in ${MY_initext4_func}; do \ - echo " ""lib$${i}_init();" >>$@; \ - done; \ - echo "}" >>$@; \ - ); - -MY_lib_sources:= \ - $(patsubst %,$(LOCAL_PATH)/extensions/libipt_%.c,${MY_pf4_build_mod}) - -MY_gen_lib_sources:= $(patsubst $(LOCAL_PATH)/%,${MY_intermediates}/%,${MY_lib_sources}) - -${MY_gen_lib_sources}: PRIVATE_PATH := $(LOCAL_PATH) -${MY_gen_lib_sources}: PRIVATE_CUSTOM_TOOL = $(PRIVATE_PATH)/extensions/filter_init $(PRIVATE_PATH)/extensions/$(notdir $@) > $@ -${MY_gen_lib_sources}: PRIVATE_MODULE := $(LOCAL_MODULE) -${MY_gen_lib_sources}: PRIVATE_C_INCLUDES := $(LOCAL_C_INCLUDES) -${MY_gen_lib_sources}: $(MY_lib_sources) - $(transform-generated-source) - -$(MY_intermediates)/extensions/initext4.o : $(MY_GEN_INITEXT4) $(MY_gen_lib_sources) - -LOCAL_GENERATED_SOURCES:= $(MY_GEN_INITEXT4) ${MY_gen_lib_sources} - -include $(BUILD_STATIC_LIBRARY) - -#---------------------------------------------------------------- -# libext6 - -include $(CLEAR_VARS) - -LOCAL_MODULE_TAGS:= -LOCAL_MODULE:=libext6 - -# LOCAL_MODULE_CLASS must be defined before calling $(local-intermediates-dir) -# -LOCAL_MODULE_CLASS := STATIC_LIBRARIES -MY_intermediates := $(call local-intermediates-dir) - -# LOCAL_PATH/extensions needed because of dirty #include "blabla.c" -LOCAL_C_INCLUDES:= \ - $(LOCAL_PATH)/include/ \ - $(KERNEL_HEADERS) \ - $(MY_intermediates)/extensions/ \ - $(LOCAL_PATH)/extensions/ - -LOCAL_CFLAGS:=-DNO_SHARED_LIBS=1 -# The $* does not work as expected. It ends up empty. Even with SECONDEXPANSION. -# LOCAL_CFLAGS+=-D_INIT=lib$*_init -LOCAL_CFLAGS+=-DXTABLES_INTERNAL -# Accommodate arm-eabi-4.4.3 tools that don't set __ANDROID__ -LOCAL_CFLAGS+=-D__ANDROID__ - -MY_initext6_func := $(addprefix ip6t_,${MY_pf6_build_mod}) -MY_GEN_INITEXT6:= $(MY_intermediates)/extensions/initext6.c -$(MY_GEN_INITEXT6): - @mkdir -p $(dir $@) - @( \ - echo "" >$@; \ - for i in ${MY_initext6_func}; do \ - echo "extern void lib$${i}_init(void);" >>$@; \ - done; \ - echo "void init_extensions6(void);" >>$@; \ - echo "void init_extensions6(void)" >>$@; \ - echo "{" >>$@; \ - for i in ${MY_initext6_func}; do \ - echo " ""lib$${i}_init();" >>$@; \ - done; \ - echo "}" >>$@; \ - ); - -MY_lib_sources:= \ - $(patsubst %,$(LOCAL_PATH)/extensions/libip6t_%.c,${MY_pf6_build_mod}) - -MY_gen_lib_sources:= $(patsubst $(LOCAL_PATH)/%,${MY_intermediates}/%,${MY_lib_sources}) - -${MY_gen_lib_sources}: PRIVATE_PATH := $(LOCAL_PATH) -${MY_gen_lib_sources}: PRIVATE_CUSTOM_TOOL = $(PRIVATE_PATH)/extensions/filter_init $(PRIVATE_PATH)/extensions/$(notdir $@) > $@ -${MY_gen_lib_sources}: PRIVATE_MODULE := $(LOCAL_MODULE) -${MY_gen_lib_sources}: PRIVATE_C_INCLUDES := $(LOCAL_C_INCLUDES) -${MY_gen_lib_sources}: $(MY_lib_sources) - $(transform-generated-source) - -$(MY_intermediates)/extensions/initext6.o : $(MY_GEN_INITEXT6) $(MY_gen_lib_sources) - -LOCAL_GENERATED_SOURCES:= $(MY_GEN_INITEXT6) $(MY_gen_lib_sources) - -include $(BUILD_STATIC_LIBRARY) - -#---------------------------------------------------------------- -# iptables - - -include $(CLEAR_VARS) - -LOCAL_C_INCLUDES:= \ - $(LOCAL_PATH)/include/ - -LOCAL_CFLAGS:=-DNO_SHARED_LIBS=1 -LOCAL_CFLAGS+=-DALL_INCLUSIVE -LOCAL_CFLAGS+=-DXTABLES_INTERNAL -# Accommodate arm-eabi-4.4.3 tools that don't set __ANDROID__ -LOCAL_CFLAGS+=-D__ANDROID__ - -LOCAL_SRC_FILES:= \ - iptables-standalone.c iptables.c xshared.c - - -LOCAL_MODULE_TAGS:=debug -LOCAL_MODULE:=iptables - -LOCAL_STATIC_LIBRARIES := \ - libext \ - libext4 \ - libip4tc \ - libxtables - -include $(BUILD_EXECUTABLE) - -#---------------------------------------------------------------- -# ip6tables -include $(CLEAR_VARS) - -LOCAL_C_INCLUDES:= \ - $(LOCAL_PATH)/include/ - -LOCAL_CFLAGS:=-DNO_SHARED_LIBS=1 -LOCAL_CFLAGS+=-DALL_INCLUSIVE -LOCAL_CFLAGS+=-DXTABLES_INTERNAL -# Accommodate arm-eabi-4.4.3 tools that don't set __ANDROID__ -LOCAL_CFLAGS+=-D__ANDROID__ - -LOCAL_SRC_FILES:= \ - ip6tables-standalone.c ip6tables.c xshared.c - - -LOCAL_MODULE_TAGS:=debug -LOCAL_MODULE:=ip6tables - -LOCAL_STATIC_LIBRARIES := \ - libext \ - libext6 \ - libip6tc \ - libxtables - -include $(BUILD_EXECUTABLE) - - #---------------------------------------------------------------- endif diff --git a/extensions/Android.mk b/extensions/Android.mk new file mode 100644 index 0000000..07694b0 --- /dev/null +++ b/extensions/Android.mk @@ -0,0 +1,209 @@ +LOCAL_PATH:= $(call my-dir) +#---------------------------------------------------------------- +## extension + +MY_srcdir:=$(LOCAL_PATH) +# Exclude some modules that are problematic to compile (types/header). +MY_excluded_modules:=TCPOPTSTRIP + +MY_pfx_build_mod := $(patsubst ${MY_srcdir}/libxt_%.c,%,$(wildcard ${MY_srcdir}/libxt_*.c)) +MY_pf4_build_mod := $(patsubst ${MY_srcdir}/libipt_%.c,%,$(wildcard ${MY_srcdir}/libipt_*.c)) +MY_pf6_build_mod := $(patsubst ${MY_srcdir}/libip6t_%.c,%,$(wildcard ${MY_srcdir}/libip6t_*.c)) +MY_pfx_build_mod := $(filter-out ${MY_excluded_modules} dccp ipvs,${MY_pfx_build_mod}) +MY_pf4_build_mod := $(filter-out ${MY_excluded_modules} dccp ipvs,${MY_pf4_build_mod}) +MY_pf6_build_mod := $(filter-out ${MY_excluded_modules} dccp ipvs,${MY_pf6_build_mod}) +MY_pfx_objs := $(patsubst %,libxt_%.o,${MY_pfx_build_mod}) +MY_pf4_objs := $(patsubst %,libipt_%.o,${MY_pf4_build_mod}) +MY_pf6_objs := $(patsubst %,libip6t_%.o,${MY_pf6_build_mod}) + +#---------------------------------------------------------------- +# libext +# TODO(jpa): Trun this into a function/macro as libext{,4,6} are all the same. + +include $(CLEAR_VARS) + +LOCAL_MODULE_TAGS:= +LOCAL_MODULE:=libext + +# LOCAL_MODULE_CLASS must be defined before calling $(local-intermediates-dir) +# +LOCAL_MODULE_CLASS := STATIC_LIBRARIES +MY_intermediates := $(call local-intermediates-dir) + +# LOCAL_PATH needed because of dirty #include "blabla.c" +LOCAL_C_INCLUDES:= \ + $(LOCAL_PATH)/../include/ \ + $(KERNEL_HEADERS) \ + $(MY_intermediates) \ + $(LOCAL_PATH) + +LOCAL_CFLAGS:=-DNO_SHARED_LIBS=1 +# The $* does not work as expected. It ends up empty. Even with SECONDEXPANSION. +# LOCAL_CFLAGS+=-D_INIT=lib$*_init +LOCAL_CFLAGS+=-DXTABLES_INTERNAL +# Accommodate arm-eabi-4.4.3 tools that don't set __ANDROID__ +LOCAL_CFLAGS+=-D__ANDROID__ + +MY_initext_func := $(addprefix xt_,${MY_pfx_build_mod}) +MY_GEN_INITEXT:= $(MY_intermediates)/initext.c +$(MY_GEN_INITEXT): + @mkdir -p $(dir $@) + @( \ + echo "" >$@; \ + for i in ${MY_initext_func}; do \ + echo "extern void lib$${i}_init(void);" >>$@; \ + done; \ + echo "void init_extensions(void);" >>$@; \ + echo "void init_extensions(void)" >>$@; \ + echo "{" >>$@; \ + for i in ${MY_initext_func}; do \ + echo " ""lib$${i}_init();" >>$@; \ + done; \ + echo "}" >>$@; \ + ); + +MY_lib_sources:= \ + $(patsubst %,$(LOCAL_PATH)/libxt_%.c,${MY_pfx_build_mod}) + +MY_gen_lib_sources:= $(patsubst $(LOCAL_PATH)/%,${MY_intermediates}/%,${MY_lib_sources}) + +${MY_gen_lib_sources}: PRIVATE_PATH := $(LOCAL_PATH) +${MY_gen_lib_sources}: PRIVATE_CUSTOM_TOOL = $(PRIVATE_PATH)/filter_init $(PRIVATE_PATH)/$(notdir $@) > $@ +${MY_gen_lib_sources}: PRIVATE_MODULE := $(LOCAL_MODULE) +${MY_gen_lib_sources}: PRIVATE_C_INCLUDES := $(LOCAL_C_INCLUDES) +${MY_gen_lib_sources}: $(MY_lib_sources) + $(transform-generated-source) + +$(MY_intermediates)/initext.o : $(MY_GEN_INITEXT) $(MY_gen_lib_sources) + +LOCAL_GENERATED_SOURCES:= $(MY_GEN_INITEXT) $(MY_gen_lib_sources) + +include $(BUILD_STATIC_LIBRARY) + +#---------------------------------------------------------------- +# libext4 + +include $(CLEAR_VARS) + +LOCAL_MODULE_TAGS:= +LOCAL_MODULE:=libext4 + +# LOCAL_MODULE_CLASS must be defined before calling $(local-intermediates-dir) +# +LOCAL_MODULE_CLASS := STATIC_LIBRARIES +MY_intermediates := $(call local-intermediates-dir) + +# LOCAL_PATH needed because of dirty #include "blabla.c" +LOCAL_C_INCLUDES:= \ + $(LOCAL_PATH)/../include/ \ + $(KERNEL_HEADERS) \ + $(MY_intermediates)/ \ + $(LOCAL_PATH)/ + +LOCAL_CFLAGS:=-DNO_SHARED_LIBS=1 +# The $* does not work as expected. It ends up empty. Even with SECONDEXPANSION. +# LOCAL_CFLAGS+=-D_INIT=lib$*_init +LOCAL_CFLAGS+=-DXTABLES_INTERNAL +# Accommodate arm-eabi-4.4.3 tools that don't set __ANDROID__ +LOCAL_CFLAGS+=-D__ANDROID__ + +MY_initext4_func := $(addprefix ipt_,${MY_pf4_build_mod}) +MY_GEN_INITEXT4:= $(MY_intermediates)/initext4.c +$(MY_GEN_INITEXT4): + @mkdir -p $(dir $@) + @( \ + echo "" >$@; \ + for i in ${MY_initext4_func}; do \ + echo "extern void lib$${i}_init(void);" >>$@; \ + done; \ + echo "void init_extensions4(void);" >>$@; \ + echo "void init_extensions4(void)" >>$@; \ + echo "{" >>$@; \ + for i in ${MY_initext4_func}; do \ + echo " ""lib$${i}_init();" >>$@; \ + done; \ + echo "}" >>$@; \ + ); + +MY_lib_sources:= \ + $(patsubst %,$(LOCAL_PATH)/libipt_%.c,${MY_pf4_build_mod}) + +MY_gen_lib_sources:= $(patsubst $(LOCAL_PATH)/%,${MY_intermediates}/%,${MY_lib_sources}) + +${MY_gen_lib_sources}: PRIVATE_PATH := $(LOCAL_PATH) +${MY_gen_lib_sources}: PRIVATE_CUSTOM_TOOL = $(PRIVATE_PATH)/filter_init $(PRIVATE_PATH)/$(notdir $@) > $@ +${MY_gen_lib_sources}: PRIVATE_MODULE := $(LOCAL_MODULE) +${MY_gen_lib_sources}: PRIVATE_C_INCLUDES := $(LOCAL_C_INCLUDES) +${MY_gen_lib_sources}: $(MY_lib_sources) + $(transform-generated-source) + +$(MY_intermediates)/initext4.o : $(MY_GEN_INITEXT4) $(MY_gen_lib_sources) + +LOCAL_GENERATED_SOURCES:= $(MY_GEN_INITEXT4) ${MY_gen_lib_sources} + +include $(BUILD_STATIC_LIBRARY) + +#---------------------------------------------------------------- +# libext6 + +include $(CLEAR_VARS) + +LOCAL_MODULE_TAGS:= +LOCAL_MODULE:=libext6 + +# LOCAL_MODULE_CLASS must be defined before calling $(local-intermediates-dir) +# +LOCAL_MODULE_CLASS := STATIC_LIBRARIES +MY_intermediates := $(call local-intermediates-dir) + +# LOCAL_PATH needed because of dirty #include "blabla.c" +LOCAL_C_INCLUDES:= \ + $(LOCAL_PATH)/../include/ \ + $(KERNEL_HEADERS) \ + $(MY_intermediates) \ + $(LOCAL_PATH) + +LOCAL_CFLAGS:=-DNO_SHARED_LIBS=1 +# The $* does not work as expected. It ends up empty. Even with SECONDEXPANSION. +# LOCAL_CFLAGS+=-D_INIT=lib$*_init +LOCAL_CFLAGS+=-DXTABLES_INTERNAL +# Accommodate arm-eabi-4.4.3 tools that don't set __ANDROID__ +LOCAL_CFLAGS+=-D__ANDROID__ + +MY_initext6_func := $(addprefix ip6t_,${MY_pf6_build_mod}) +MY_GEN_INITEXT6:= $(MY_intermediates)/initext6.c +$(MY_GEN_INITEXT6): + @mkdir -p $(dir $@) + @( \ + echo "" >$@; \ + for i in ${MY_initext6_func}; do \ + echo "extern void lib$${i}_init(void);" >>$@; \ + done; \ + echo "void init_extensions6(void);" >>$@; \ + echo "void init_extensions6(void)" >>$@; \ + echo "{" >>$@; \ + for i in ${MY_initext6_func}; do \ + echo " ""lib$${i}_init();" >>$@; \ + done; \ + echo "}" >>$@; \ + ); + +MY_lib_sources:= \ + $(patsubst %,$(LOCAL_PATH)/libip6t_%.c,${MY_pf6_build_mod}) + +MY_gen_lib_sources:= $(patsubst $(LOCAL_PATH)/%,${MY_intermediates}/%,${MY_lib_sources}) + +${MY_gen_lib_sources}: PRIVATE_PATH := $(LOCAL_PATH) +${MY_gen_lib_sources}: PRIVATE_CUSTOM_TOOL = $(PRIVATE_PATH)/filter_init $(PRIVATE_PATH)/$(notdir $@) > $@ +${MY_gen_lib_sources}: PRIVATE_MODULE := $(LOCAL_MODULE) +${MY_gen_lib_sources}: PRIVATE_C_INCLUDES := $(LOCAL_C_INCLUDES) +${MY_gen_lib_sources}: $(MY_lib_sources) + $(transform-generated-source) + +$(MY_intermediates)/initext6.o : $(MY_GEN_INITEXT6) $(MY_gen_lib_sources) + +LOCAL_GENERATED_SOURCES:= $(MY_GEN_INITEXT6) $(MY_gen_lib_sources) + +include $(BUILD_STATIC_LIBRARY) + +#---------------------------------------------------------------- diff --git a/include/iptables/internal.h b/include/iptables/internal.h index 03f381c..8d8f023 100644 --- a/include/iptables/internal.h +++ b/include/iptables/internal.h @@ -1,7 +1,7 @@ #ifndef IPTABLES_INTERNAL_H #define IPTABLES_INTERNAL_H 1 -#define IPTABLES_VERSION "1.4.10" +#define IPTABLES_VERSION "1.4.11.1" /** * Program's own name and version. diff --git a/include/xtables.h b/include/xtables.h index cba7e5b..b5cd9e9 100644 --- a/include/xtables.h +++ b/include/xtables.h @@ -64,10 +64,9 @@ struct in_addr; * %XTTYPE_HOSTMASK: one host or address, with an optional prefix length * (ptr: union nf_inet_addr; only host portion is stored) * %XTTYPE_PROTOCOL: protocol number/name from /etc/protocols (ptr: uint8_t) - * %XTTYPE_PORT: 16-bit port name or number - * %XTTYPE_PORT_NE: 16-bit port name or number, stored as network-endian - * %XTTYPE_PORTRC: colon-separated port range (names acceptable) - * %XTTYPE_PORTRC_NE: same as %XTTYPE_PORTRC, stored in network-endian + * %XTTYPE_PORT: 16-bit port name or number (supports %XTOPT_NBO) + * %XTTYPE_PORTRC: colon-separated port range (names acceptable), + * (supports %XTOPT_NBO) * %XTTYPE_PLEN: prefix length * %XTTYPE_PLENMASK: prefix length (ptr: union nf_inet_addr) * %XTTYPE_ETHERMAC: Ethernet MAC address in hex form @@ -91,9 +90,7 @@ enum xt_option_type { XTTYPE_HOSTMASK, XTTYPE_PROTOCOL, XTTYPE_PORT, - XTTYPE_PORT_NE, XTTYPE_PORTRC, - XTTYPE_PORTRC_NE, XTTYPE_PLEN, XTTYPE_PLENMASK, XTTYPE_ETHERMAC, @@ -104,12 +101,15 @@ enum xt_option_type { * %XTOPT_MAND: option is mandatory * %XTOPT_MULTI: option may be specified multiple times * %XTOPT_PUT: store value into memory at @ptroff + * %XTOPT_NBO: store value in network-byte order + * (only certain XTTYPEs recognize this) */ enum xt_option_flags { XTOPT_INVERT = 1 << 0, XTOPT_MAND = 1 << 1, XTOPT_MULTI = 1 << 2, XTOPT_PUT = 1 << 3, + XTOPT_NBO = 1 << 4, }; /** @@ -408,8 +408,8 @@ extern void xtables_register_matches(struct xtables_match *, unsigned int); extern void xtables_register_target(struct xtables_target *me); extern void xtables_register_targets(struct xtables_target *, unsigned int); -extern bool xtables_strtoul(const char *, char **, unsigned long long *, - unsigned long, unsigned long); +extern bool xtables_strtoul(const char *, char **, uintmax_t *, + uintmax_t, uintmax_t); extern bool xtables_strtoui(const char *, char **, unsigned int *, unsigned int, unsigned int); extern int xtables_service_to_port(const char *name, const char *proto); diff --git a/iptables/Android.mk b/iptables/Android.mk new file mode 100644 index 0000000..61fe849 --- /dev/null +++ b/iptables/Android.mk @@ -0,0 +1,87 @@ +LOCAL_PATH:= $(call my-dir) +My_intermediaries := $(call local-intermediates-dir) +#---------------------------------------------------------------- +# libxtables + +include $(CLEAR_VARS) + +LOCAL_C_INCLUDES:= \ + $(LOCAL_PATH)/../include/ \ + $(KERNEL_HEADERS) \ + +LOCAL_CFLAGS:=-DNO_SHARED_LIBS=1 +LOCAL_CFLAGS+=-DXTABLES_INTERNAL +LOCAL_CFLAGS+=-DXTABLES_LIBDIR=\"xtables_libdir_not_used\" +# Accommodate arm-eabi-4.4.3 tools that don't set __ANDROID__ +LOCAL_CFLAGS+=-D__ANDROID__ + +LOCAL_LDFLAGS:=-version-info 6:0:0 +LOCAL_SRC_FILES:= \ + xtables.c xtoptions.c + + +LOCAL_MODULE_TAGS:= +LOCAL_MODULE:=libxtables + +include $(BUILD_STATIC_LIBRARY) + +#---------------------------------------------------------------- +# iptables + + +include $(CLEAR_VARS) + +LOCAL_C_INCLUDES:= \ + $(LOCAL_PATH)/../include/ + +LOCAL_CFLAGS:=-DNO_SHARED_LIBS=1 +LOCAL_CFLAGS+=-DALL_INCLUSIVE +LOCAL_CFLAGS+=-DXTABLES_INTERNAL +# Accommodate arm-eabi-4.4.3 tools that don't set __ANDROID__ +LOCAL_CFLAGS+=-D__ANDROID__ + +LOCAL_SRC_FILES:= \ + iptables-standalone.c iptables.c xshared.c + + +LOCAL_MODULE_TAGS:=debug +LOCAL_MODULE:=iptables + +LOCAL_STATIC_LIBRARIES := \ + libext \ + libext4 \ + libip4tc \ + libxtables + +include $(BUILD_EXECUTABLE) + +#---------------------------------------------------------------- +# ip6tables +include $(CLEAR_VARS) + +LOCAL_C_INCLUDES:= \ + $(LOCAL_PATH)/../include/ + +LOCAL_CFLAGS:=-DNO_SHARED_LIBS=1 +LOCAL_CFLAGS+=-DALL_INCLUSIVE +LOCAL_CFLAGS+=-DXTABLES_INTERNAL +# Accommodate arm-eabi-4.4.3 tools that don't set __ANDROID__ +LOCAL_CFLAGS+=-D__ANDROID__ + +LOCAL_SRC_FILES:= \ + ip6tables-standalone.c ip6tables.c xshared.c + + +LOCAL_MODULE_TAGS:=debug +LOCAL_MODULE:=ip6tables + +LOCAL_STATIC_LIBRARIES := \ + libext \ + libext6 \ + libip6tc \ + libxtables + +include $(BUILD_EXECUTABLE) + + +#---------------------------------------------------------------- diff --git a/libiptc/Android.mk b/libiptc/Android.mk new file mode 100644 index 0000000..85cab61 --- /dev/null +++ b/libiptc/Android.mk @@ -0,0 +1,46 @@ +LOCAL_PATH:= $(call my-dir) + +#---------------------------------------------------------------- +# libip4tc + +include $(CLEAR_VARS) + +LOCAL_C_INCLUDES:= \ + $(KERNEL_HEADERS) \ + $(LOCAL_PATH)/../include/ + +# Accommodate arm-eabi-4.4.3 tools that don't set __ANDROID__ +LOCAL_CFLAGS:=-D__ANDROID__ + +LOCAL_SRC_FILES:= \ + libip4tc.c \ + + +LOCAL_MODULE_TAGS:= +LOCAL_MODULE:=libip4tc + +include $(BUILD_STATIC_LIBRARY) + + +#---------------------------------------------------------------- +# libip6tc + +include $(CLEAR_VARS) + +LOCAL_C_INCLUDES:= \ + $(KERNEL_HEADERS) \ + $(LOCAL_PATH)/../include/ + +# Accommodate arm-eabi-4.4.3 tools that don't set __ANDROID__ +LOCAL_CFLAGS:=-D__ANDROID__ + +LOCAL_SRC_FILES:= \ + libip6tc.c \ + + +LOCAL_MODULE_TAGS:= +LOCAL_MODULE:=libip6tc + +include $(BUILD_STATIC_LIBRARY) + +#---------------------------------------------------------------- |