Magisk/zip_static/common/magisk_wrapper.sh
2016-09-14 10:31:13 +08:00

42 lines
1.1 KiB
Bash

#!/system/bin/sh
BINDIR=/magisk/.core/bin
# Find where's su binary
for DIR in /magisk /data/magisk /cache/magisk /su/bin; do
[ -f "$DIR/su" ] && break
done
case $1 in
phhsu )
if [ ! -d "/dev/su" ]; then
$DIR/sepolicy-inject --live --auto -s su
exec $DIR/su --daemon
fi
;;
post-fs )
# If su call fails, temporary switch to permissive (workaround)
# This workaround will not always work (e.g. Samsung stock boot images)
if [ `$DIR/su -c "/sbin/magic_mask.sh post-fs" >/dev/null 2>&1; echo $?` -ne 0 ]; then
echo 0 > /sys/fs/selinux/enforce
/sbin/magic_mask.sh post-fs
echo 1 > /sys/fs/selinux/enforce
fi
;;
post-fs-data )
# su call shall always work
if [ `$DIR/su -c "/sbin/magic_mask.sh post-fs-data" >/dev/null 2>&1; echo $?` -ne 0 ]; then
/sbin/magic_mask.sh post-fs-data
fi
;;
service )
# su call shall always work
if [ `$DIR/su -c "/sbin/magic_mask.sh service" >/dev/null 2>&1; echo $?` -ne 0 ]; then
/sbin/magic_mask.sh service
fi
;;
root )
# This will only be used in phh root
$DIR/su -c "/sbin/magic_mask.sh root"
;;
esac