Skip to content

Commit

Permalink
Add BusyBox SELinux support
Browse files Browse the repository at this point in the history
  • Loading branch information
topjohnwu committed Jan 20, 2020
1 parent fb60bea commit c3e77b1
Show file tree
Hide file tree
Showing 5 changed files with 111 additions and 1 deletion.
3 changes: 3 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,9 @@
[submodule "mincrypt"]
path = native/jni/external/mincrypt
url = https://github.com/topjohnwu/mincrypt.git
[submodule "pcre"]
path = native/jni/external/pcre
url = https://android.googlesource.com/platform/external/pcre
[submodule "termux-elf-cleaner"]
path = tools/termux-elf-cleaner
url = https://github.com/termux/termux-elf-cleaner.git
1 change: 1 addition & 0 deletions native/jni/Android.mk
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ LIBSYSTEMPROPERTIES := jni/systemproperties/include
LIBUTILS := jni/utils/include
LIBMINCRYPT := $(EXT_PATH)/mincrypt/include
LIBXZ := $(EXT_PATH)/xz-embedded
LIBPCRE2 := $(EXT_PATH)/pcre/include

########################
# Binaries
Expand Down
105 changes: 105 additions & 0 deletions native/jni/external/Android.mk
Original file line number Diff line number Diff line change
Expand Up @@ -234,4 +234,109 @@ LOCAL_SRC_FILES := \
LOCAL_CFLAGS += -Dgetline=__getline -Wno-implicit-function-declaration
include $(BUILD_STATIC_LIBRARY)

# libpcre2.a
include $(CLEAR_VARS)
LOCAL_MODULE:= libpcre2
LOCAL_CFLAGS := -DHAVE_CONFIG_H
LOCAL_C_INCLUDES := $(LIBPCRE2) $(LIBPCRE2)_internal
LOCAL_SRC_FILES := \
pcre/dist2/src/pcre2_auto_possess.c \
pcre/dist2/src/pcre2_chartables.c \
pcre/dist2/src/pcre2_compile.c \
pcre/dist2/src/pcre2_config.c \
pcre/dist2/src/pcre2_context.c \
pcre/dist2/src/pcre2_convert.c \
pcre/dist2/src/pcre2_dfa_match.c \
pcre/dist2/src/pcre2_error.c \
pcre/dist2/src/pcre2_extuni.c \
pcre/dist2/src/pcre2_find_bracket.c \
pcre/dist2/src/pcre2_fuzzsupport.c \
pcre/dist2/src/pcre2_jit_compile.c \
pcre/dist2/src/pcre2_maketables.c \
pcre/dist2/src/pcre2_match.c \
pcre/dist2/src/pcre2_match_data.c \
pcre/dist2/src/pcre2_newline.c \
pcre/dist2/src/pcre2_ord2utf.c \
pcre/dist2/src/pcre2_pattern_info.c \
pcre/dist2/src/pcre2_script_run.c \
pcre/dist2/src/pcre2_serialize.c \
pcre/dist2/src/pcre2_string_utils.c \
pcre/dist2/src/pcre2_study.c \
pcre/dist2/src/pcre2_substitute.c \
pcre/dist2/src/pcre2_substring.c \
pcre/dist2/src/pcre2_tables.c \
pcre/dist2/src/pcre2_ucd.c \
pcre/dist2/src/pcre2_valid_utf.c \
pcre/dist2/src/pcre2_xclass.c
include $(BUILD_STATIC_LIBRARY)

# libselinux.a
include $(CLEAR_VARS)
LOCAL_MODULE:= libselinux
LOCAL_C_INCLUDES := $(LIBSELINUX) $(LIBPCRE2)
LOCAL_STATIC_LIBRARIES := libpcre2
LOCAL_CFLAGS := \
-Wno-implicit-function-declaration -Wno-int-conversion -Wno-unused-function \
-D_GNU_SOURCE -DUSE_PCRE2 \
-DNO_PERSISTENTLY_STORED_PATTERNS -DDISABLE_SETRANS -DDISABLE_BOOL \
-DNO_MEDIA_BACKEND -DNO_X_BACKEND -DNO_DB_BACKEND -DNO_ANDROID_BACKEND
LOCAL_SRC_FILES := \
selinux/libselinux/src/avc.c \
selinux/libselinux/src/avc_internal.c \
selinux/libselinux/src/avc_sidtab.c \
selinux/libselinux/src/booleans.c \
selinux/libselinux/src/callbacks.c \
selinux/libselinux/src/canonicalize_context.c \
selinux/libselinux/src/checkAccess.c \
selinux/libselinux/src/check_context.c \
selinux/libselinux/src/checkreqprot.c \
selinux/libselinux/src/compute_av.c \
selinux/libselinux/src/compute_create.c \
selinux/libselinux/src/compute_member.c \
selinux/libselinux/src/compute_relabel.c \
selinux/libselinux/src/compute_user.c \
selinux/libselinux/src/context.c \
selinux/libselinux/src/deny_unknown.c \
selinux/libselinux/src/disable.c \
selinux/libselinux/src/enabled.c \
selinux/libselinux/src/fgetfilecon.c \
selinux/libselinux/src/freecon.c \
selinux/libselinux/src/freeconary.c \
selinux/libselinux/src/fsetfilecon.c \
selinux/libselinux/src/get_context_list.c \
selinux/libselinux/src/get_default_type.c \
selinux/libselinux/src/get_initial_context.c \
selinux/libselinux/src/getenforce.c \
selinux/libselinux/src/getfilecon.c \
selinux/libselinux/src/getpeercon.c \
selinux/libselinux/src/init.c \
selinux/libselinux/src/is_customizable_type.c \
selinux/libselinux/src/label.c \
selinux/libselinux/src/label_file.c \
selinux/libselinux/src/label_support.c \
selinux/libselinux/src/lgetfilecon.c \
selinux/libselinux/src/load_policy.c \
selinux/libselinux/src/lsetfilecon.c \
selinux/libselinux/src/mapping.c \
selinux/libselinux/src/matchmediacon.c \
selinux/libselinux/src/matchpathcon.c \
selinux/libselinux/src/policyvers.c \
selinux/libselinux/src/procattr.c \
selinux/libselinux/src/query_user_context.c \
selinux/libselinux/src/regex.c \
selinux/libselinux/src/reject_unknown.c \
selinux/libselinux/src/selinux_check_securetty_context.c \
selinux/libselinux/src/selinux_config.c \
selinux/libselinux/src/selinux_restorecon.c \
selinux/libselinux/src/sestatus.c \
selinux/libselinux/src/setenforce.c \
selinux/libselinux/src/setexecfilecon.c \
selinux/libselinux/src/setfilecon.c \
selinux/libselinux/src/setrans_client.c \
selinux/libselinux/src/seusers.c \
selinux/libselinux/src/sha1.c \
selinux/libselinux/src/stringrep.c \
selinux/libselinux/src/validatetrans.c
include $(BUILD_STATIC_LIBRARY)

include $(EXT_PATH)/mincrypt/Android.mk
2 changes: 1 addition & 1 deletion native/jni/external/busybox
Submodule busybox updated 74 files
+4 −4 Android.mk
+73 −1 Android_src.mk
+1 −0 Makefile
+1 −1 include/NUM_APPLETS.h
+462 −312 include/applet_tables.h
+1,024 −520 include/autoconf.h
+130 −130 include/bbconfigopts.h
+381 −383 include/bbconfigopts_bz2.h
+20 −0 include/embedded_scripts.h
+2 −2 include/libbb.h
+58 −0 include/linux/ipv6_route.h
+19 −1 include/platform.h
+225 −0 include/scsi/scsi.h
+276 −0 include/scsi/sg.h
+34 −0 include/sys/kd.h
+138 −0 include/sys/syslog.h
+6,630 −5,621 include/usage_compressed.h
+27 −0 init/halt.c
+1 −1 init/init.c
+33 −0 init/reboot.c
+3 −0 libbb/Kbuild.src
+88 −0 libbb/missing_syscalls.c
+288 −0 libbb/mntent_r.c
+8 −0 libbb/platform.c
+2 −0 libbb/pw_encrypt.c
+62 −0 libbb/semctl.c
+4 −2 libbb/xconnect.c
+11 −0 libres/Kbuild.src
+32 −0 libres/Makefile
+5 −0 libres/README
+189 −0 libres/dietdns.h
+12 −0 libres/dn_expand.c
+134 −0 libres/dnscruft.c
+132 −0 libres/dnscruft2.c
+6 −0 libres/dnscruft3.c
+14 −0 libres/freeaddrinfo.c
+14 −0 libres/gai_strerror.c
+137 −0 libres/getaddrinfo.c
+35 −0 libres/gethostbyname2_r.c
+1 −0 libres/h_errno.c
+12 −0 libres/res_init.c
+85 −0 libres/res_mkquery.c
+81 −0 libres/res_query.c
+105 −0 libres/test.c
+4 −1 modutils/depmod.c
+29 −4 modutils/modinfo.c
+17 −1 modutils/modprobe.c
+1 −0 networking/arping.c
+6 −3 networking/ether-wake.c
+63 −0 networking/ether_aton_r.c
+33 −0 networking/ether_ntoa_r.c
+29 −0 networking/ether_port.h
+2 −0 networking/ifconfig.c
+2 −0 networking/interface.c
+1 −0 networking/nameif.c
+14 −13 networking/nslookup.c
+3 −0 networking/route.c
+1 −1 networking/tls.h
+1 −0 networking/udhcp/Kbuild.src
+1 −0 networking/udhcp/d6_dhcpc.c
+1 −1 networking/udhcp/d6_socket.c
+4 −0 networking/udhcp/dhcpd.c
+600 −0 networking/udhcp/ifaddrs.c
+54 −0 networking/udhcp/ifaddrs.h
+2 −2 scripts/kconfig/lkc.h
+6 −2 shell/ash.c
+786 −0 shell/glob.c
+113 −0 shell/glob.h
+4 −1 shell/hush.c
+8 −0 shell/sigisemptyset.c
+1 −0 sysklogd/syslogd_and_logger.c
+2 −1 util-linux/ipcrm.c
+2 −1 util-linux/ipcs.c
+2 −0 util-linux/minix.h
1 change: 1 addition & 0 deletions native/jni/external/pcre
Submodule pcre added at 986dc2

0 comments on commit c3e77b1

Please sign in to comment.