Skip to content

Commit

Permalink
Fix moving cert on Android 14 with Magisk Canary 26.4
Browse files Browse the repository at this point in the history
  • Loading branch information
sfionov committed Jan 18, 2024
1 parent 9b0fe1e commit 200d778
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 2 deletions.
2 changes: 1 addition & 1 deletion module/module.prop
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
id=adguardcert
name=AdGuard Certificate
version=v2.0
version=v2.1-beta1
versionCode=35
author=AdGuard
description=Moves AdGuard's root CA certificate from the user certificate store to the system certificate store.
Expand Down
6 changes: 5 additions & 1 deletion module/post-fs-data.sh
Original file line number Diff line number Diff line change
Expand Up @@ -57,14 +57,18 @@ if [ -d /apex/com.android.conscrypt/cacerts ]; then
cp -f /apex/com.android.conscrypt/cacerts/* /data/local/tmp/adg-ca-copy/
# Do the same as in Magisk module
cp -f ${AG_CERT_FILE} /data/local/tmp/adg-ca-copy
cp -f ${AG_CERT_FILE} /data/local/tmp/adg-ca-copy/${AG_CERT_HASH}.0
chown -R 0:0 /data/local/tmp/adg-ca-copy
set_context /apex/com.android.conscrypt/cacerts /data/local/tmp/adg-ca-copy
# Mount directory inside APEX if it is valid, and remove temporary one.
CERTS_NUM="$(ls -1 /data/local/tmp/adg-ca-copy | wc -l)"
if [ "$CERTS_NUM" -gt 10 ]; then
mount --bind /data/local/tmp/adg-ca-copy /apex/com.android.conscrypt/cacerts
for pid in 1 $(pgrep zygote) $(pgrep zygote64); do
nsenter --mount=/proc/${pid}/ns/mnt -- \
/bin/mount --bind /data/local/tmp/adg-ca-copy /apex/com.android.conscrypt/cacerts
done
else
echo "Cancelling replacing CA storage due to safety"
fi
Expand Down

0 comments on commit 200d778

Please sign in to comment.