Optimization (#4426)

* Optimization

Add security flags to CFLAGS and LDFLAGS. Use local variables instead of global variables. Clean up and simplify the script.

* Optimizition

Add security flags to CFLAGS and LDFLAGS. Simplify and organize the file. Makefile

* Optimization

Add security flags to CFLAGS and LDFLAGS. Use local variables instead of global variables. Clean up and simplify the script.

* Optimization
This commit is contained in:
Pk-web6936
2025-03-29 06:14:21 +03:30
committed by GitHub
parent 76cb2aaf46
commit d111328541
2 changed files with 99 additions and 99 deletions

View File

@@ -1,32 +1,37 @@
#!/bin/bash #!/bin/bash
set -o errexit set -o errexit
set -o pipefail set -o pipefail
set -o nounset set -o nounset
# Set magic variables for current file & dir # Set magic variables for current file & dir
__dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" __dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
__file="${__dir}/$(basename "${BASH_SOURCE[0]}")" __file="${__dir}/$(basename "${BASH_SOURCE[0]}")"
__base="$(basename ${__file} .sh)" __base="$(basename "${__file}" .sh)"
if [[ ! -d $NDK_HOME ]]; then if [[ ! -d $NDK_HOME ]]; then
echo "Android NDK: NDK_HOME not found. please set env \$NDK_HOME" echo "Android NDK: NDK_HOME not found. please set env \$NDK_HOME"
exit 1 exit 1
fi fi
TMPDIR=$(mktemp -d) TMPDIR=$(mktemp -d)
clear_tmp () { clear_tmp () {
rm -rf $TMPDIR rm -rf "$TMPDIR"
} }
trap 'echo -e "Aborted, error $? in command: $BASH_COMMAND"; trap ERR; clear_tmp; exit 1' ERR INT trap 'echo -e "Aborted, error $? in command: $BASH_COMMAND"; trap ERR; clear_tmp; exit 1' ERR INT
install -m644 $__dir/tun2socks.mk $TMPDIR/
pushd $TMPDIR install -m644 "$__dir/tun2socks.mk" "$TMPDIR/"
ln -s $__dir/badvpn badvpn pushd "$TMPDIR"
ln -s $__dir/libancillary libancillary ln -s "$__dir/badvpn" badvpn
ln -s "$__dir/libancillary" libancillary
$NDK_HOME/ndk-build \ $NDK_HOME/ndk-build \
NDK_PROJECT_PATH=. \ NDK_PROJECT_PATH=. \
APP_BUILD_SCRIPT=./tun2socks.mk \ APP_BUILD_SCRIPT=./tun2socks.mk \
APP_ABI=all \ APP_ABI=all \
APP_PLATFORM=android-21 \ APP_PLATFORM=android-21 \
NDK_LIBS_OUT=$TMPDIR/libs \ NDK_LIBS_OUT="$TMPDIR/libs" \
NDK_OUT=$TMPDIR/tmp \ NDK_OUT="$TMPDIR/tmp" \
APP_SHORT_COMMANDS=false LOCAL_SHORT_COMMANDS=false -B -j4 APP_SHORT_COMMANDS=false LOCAL_SHORT_COMMANDS=false -B -j4
cp -r $TMPDIR/libs $__dir/ cp -r "$TMPDIR/libs" "$__dir/"
popd popd
rm -rf $TMPDIR rm -rf "$TMPDIR"

View File

@@ -15,16 +15,17 @@
# #
LOCAL_PATH := $(call my-dir) LOCAL_PATH := $(call my-dir)
ROOT_PATH := $(LOCAL_PATH) ROOT_PATH := $(LOCAL_PATH)
######################################################## ########################################################
## libancillary ## libancillary
######################################################## ########################################################
include $(CLEAR_VARS) include $(CLEAR_VARS)
ANCILLARY_SOURCE := fd_recv.c fd_send.c ANCILLARY_SOURCE := fd_recv.c fd_send.c
LOCAL_MODULE := libancillary LOCAL_MODULE := libancillary
#LOCAL_CFLAGS += -I$(LOCAL_PATH)/libancillary
LOCAL_C_INCLUDES := $(LOCAL_PATH)/libancillary LOCAL_C_INCLUDES := $(LOCAL_PATH)/libancillary
LOCAL_SRC_FILES := $(addprefix libancillary/, $(ANCILLARY_SOURCE)) LOCAL_SRC_FILES := $(addprefix libancillary/, $(ANCILLARY_SOURCE))
include $(BUILD_STATIC_LIBRARY) include $(BUILD_STATIC_LIBRARY)
######################################################## ########################################################
## tun2socks ## tun2socks
######################################################## ########################################################
@@ -34,7 +35,8 @@ LOCAL_CFLAGS += -DBADVPN_THREADWORK_USE_PTHREAD -DBADVPN_LINUX -DBADVPN_BREACTOR
LOCAL_CFLAGS += -DBADVPN_USE_SIGNALFD -DBADVPN_USE_EPOLL LOCAL_CFLAGS += -DBADVPN_USE_SIGNALFD -DBADVPN_USE_EPOLL
LOCAL_CFLAGS += -DBADVPN_LITTLE_ENDIAN -DBADVPN_THREAD_SAFE LOCAL_CFLAGS += -DBADVPN_LITTLE_ENDIAN -DBADVPN_THREAD_SAFE
LOCAL_CFLAGS += -DNDEBUG -DANDROID LOCAL_CFLAGS += -DNDEBUG -DANDROID
LOCAL_CFLAGS += -I LOCAL_CFLAGS += -fstack-protector-strong -D_FORTIFY_SOURCE=2
LOCAL_LDFLAGS := -Wl,-z,relro,-z,now
LOCAL_STATIC_LIBRARIES := libancillary LOCAL_STATIC_LIBRARIES := libancillary
LOCAL_C_INCLUDES := \ LOCAL_C_INCLUDES := \
$(LOCAL_PATH)/badvpn/lwip/src/include/ipv4 \ $(LOCAL_PATH)/badvpn/lwip/src/include/ipv4 \
@@ -43,6 +45,7 @@ LOCAL_C_INCLUDES := \
$(LOCAL_PATH)/badvpn/lwip/custom \ $(LOCAL_PATH)/badvpn/lwip/custom \
$(LOCAL_PATH)/badvpn \ $(LOCAL_PATH)/badvpn \
$(LOCAL_PATH)/libancillary $(LOCAL_PATH)/libancillary
TUN2SOCKS_SOURCES := \ TUN2SOCKS_SOURCES := \
base/BLog_syslog.c \ base/BLog_syslog.c \
system/BReactor_badvpn.c \ system/BReactor_badvpn.c \
@@ -107,18 +110,10 @@ TUN2SOCKS_SOURCES := \
tun2socks/SocksUdpGwClient.c \ tun2socks/SocksUdpGwClient.c \
udpgw_client/UdpGwClient.c \ udpgw_client/UdpGwClient.c \
socks_udp_client/SocksUdpClient.c socks_udp_client/SocksUdpClient.c
LOCAL_MODULE := tun2socks LOCAL_MODULE := tun2socks
LOCAL_LDLIBS := -ldl -llog LOCAL_LDLIBS := -ldl -llog
LOCAL_LDFLAGS=-Wl,--build-id=none LOCAL_LDFLAGS := -Wl,--build-id=none
LOCAL_SRC_FILES := $(addprefix badvpn/, $(TUN2SOCKS_SOURCES)) LOCAL_SRC_FILES := $(addprefix badvpn/, $(TUN2SOCKS_SOURCES))
LOCAL_BUILD_SCRIPT := BUILD_EXECUTABLE include $(BUILD_EXECUTABLE)
LOCAL_MAKEFILE := $(local-makefile)
$(call check-defined-LOCAL_MODULE,$(LOCAL_BUILD_SCRIPT))
$(call check-LOCAL_MODULE,$(LOCAL_MAKEFILE))
$(call check-LOCAL_MODULE_FILENAME)
# we are building target objects
my := TARGET_
$(call handle-module-filename,lib,$(TARGET_SONAME_EXTENSION))
$(call handle-module-built)
LOCAL_MODULE_CLASS := EXECUTABLE
include $(BUILD_SYSTEM)/build-module.mk include $(BUILD_SYSTEM)/build-module.mk