topjohnwu
9476e7282d
More borrowing, less copying
2025-08-08 21:06:41 -07:00
topjohnwu
251c3c3e0e
Remove old ffi data structure
2025-08-08 21:06:41 -07:00
topjohnwu
cd0eca20b0
Migrate connect.cpp to Rust
2025-08-08 21:06:41 -07:00
topjohnwu
6839cb9ab2
Keep /system/xbin/su on emulators
2025-08-08 21:06:41 -07:00
topjohnwu
d11a3397d8
Reduce verbose logging in Zygisk
2025-08-08 21:06:41 -07:00
topjohnwu
975120d6a6
Release Magisk v30.2
...
[skip ci]
2025-08-06 03:32:32 -07:00
topjohnwu
e489b3b6dd
Migrate load_modules to Rust
2025-08-05 11:24:55 -07:00
topjohnwu
589a270b8d
Migrate disable/remove modules to Rust
2025-08-05 11:24:55 -07:00
topjohnwu
7961be5cfa
Migrate prepare_modules to Rust
2025-08-05 11:24:55 -07:00
topjohnwu
959430e030
Fix systemless hosts installation
2025-08-05 09:44:51 -07:00
topjohnwu
2923c8ccd1
Add module upgrade test
2025-08-05 09:44:51 -07:00
topjohnwu
7df4a9d74f
Add uninstaller.sh test
2025-08-05 09:44:51 -07:00
topjohnwu
bf4ed295da
Update cargo dependencies
2025-08-02 13:43:27 -07:00
topjohnwu
a5fca960dc
Update gradle and dependencies
2025-08-02 02:29:14 -07:00
topjohnwu
f99912b9db
Update libsystem_properties
2025-07-21 13:47:30 -07:00
5ec1cff
a54bdb54e4
Skip avb 1,0 verify if tail contains avb 2.0 header
...
This way, magiskboot will not print "unexpected ASN.1 DER tag: expected SEQUENCE, got APPLICATION [1] (primitive)".
2025-07-21 00:51:14 -07:00
topjohnwu
cd9851a1fe
Add regression test for #9179
2025-07-18 17:58:29 -07:00
Wang Han
9ca469898c
Use worker for replace feature
...
This fixes https://github.com/topjohnwu/Magisk/issues/9179 .
2025-07-18 16:57:20 -07:00
𝗛𝗼𝗹𝗶
0665549473
Update Turkish
...
Missing parts were filled in and made better
2025-07-14 10:46:05 -07:00
topjohnwu
9d7a14b335
Remove unnecessary return
2025-07-14 10:03:22 -07:00
Wang Han
62e29fee74
Treat bind mount failure same as C++ implementation
...
This fixes #9139 and #9174 .
2025-07-14 00:27:24 -07:00
igor
e472db552b
Update portuguese/english translations
2025-07-11 10:52:21 -07:00
topjohnwu
466e4bd4e1
Update cargo dependencies
2025-07-11 02:04:33 -07:00
topjohnwu
4cf525c588
Add Android canary builds into CI tests
2025-07-11 00:16:39 -07:00
topjohnwu
c8aec2510d
Restrict sccache cache size
2025-07-11 00:16:39 -07:00
topjohnwu
ccbfe0e66e
Update gradle dependencies
2025-07-10 15:55:14 -07:00
南宫雪珊
23ea28de6f
scripts: fix modules_update dir context
2025-07-10 10:59:39 -07:00
topjohnwu
55c3ee3a6f
Move Zygisk code out of module.cpp
2025-07-07 13:43:11 -07:00
vvb2060
2a42ca2b8f
app: fix time i18n
2025-07-07 11:04:18 -07:00
topjohnwu
a897e82fa4
Remove release notes
...
They are embedded into GitHub releases
2025-07-07 10:37:45 -07:00
topjohnwu
ffa15831d3
Add release dates
2025-07-07 10:35:22 -07:00
topjohnwu
a344ebf28c
Add v30.1 changelog
2025-07-03 18:02:27 -07:00
topjohnwu
78f7fa348e
Release Magisk v30.1
...
[skip ci]
2025-07-03 03:10:10 -07:00
pndwal
d8c448b99d
Update faq.md
...
Add information on restoring Magisk App functionality when stub and full apps conflict.
2025-07-03 02:51:01 -07:00
topjohnwu
d4b83b6a44
Fix app compilation
2025-07-03 02:42:08 -07:00
vvb2060
e5d36d1d24
app: support config restrict policy
2025-07-03 02:42:08 -07:00
vvb2060
ff18cb8e70
su: support drop capabilities
2025-07-03 02:42:08 -07:00
topjohnwu
37a9724a54
Apply clippy fix
2025-07-02 21:20:14 -07:00
topjohnwu
d660401063
Treat magisk symlinks differently
2025-07-02 21:20:14 -07:00
topjohnwu
88541d6f49
Fix file attribute copy in module mounting logic
...
Due to various reasons, we cannot directly mount module files in /data
into the real paths. Instead we bind mount the module root directory and
remount this mirror with specific mount-point flags. Relevant to this
bug, the module mount is mounted as read-only, which means the file
attribute copy operation could fail in certain configurations.
The fix here is to always copy file attributes into writable locations,
so either in the tmpfs worker directory, or in the module directory
under /data.
A new test case is added to make sure this regression will no longer
happen again in the future.
Fix #9139
2025-07-02 19:23:46 -07:00
topjohnwu
ecd6129fe5
Add systemless hosts test
2025-07-02 19:23:46 -07:00
topjohnwu
6dfe9df9e2
Run cargo fmt
2025-07-02 19:23:46 -07:00
topjohnwu
e81de7ec36
Release Magisk v30.0
...
[skip ci]
2025-07-01 10:14:43 -07:00
topjohnwu
c78da1ce24
Update v30.0 changelog
2025-07-01 10:00:38 -07:00
Wang Han
7b2d40987c
Refactor magisk bins injection logic
...
Magisk binary mounting logic is not very clear now. In this commit, it
is rewritten in a more robust way. Now it has following cases in mind:
1) Device has a su binary, magisk need to overlay it
2) Choose the PATH with least files to reduce bind mount
3) Filter path which is not suitable
2025-07-01 02:16:16 -07:00
Wang Han
3a37e8c9c5
Don't clone attributes for magisk symlinks
...
This avoids use existing attributes for su, which will obviously break
magisk functions.
2025-07-01 02:16:16 -07:00
igor
58b405bce1
Update portuguese/english translation
2025-07-01 01:32:36 -07:00
Wang Han
810174ef73
Ignore set_context() error if magisktmp is /sbin
...
recreate_sbin() will bind mount original files in /sbin to tmpfs /sbin,
so we have no choice but just log here to let the loop continue.
2025-06-30 17:39:54 -07:00
topjohnwu
690a5ac033
Update to ONDK r28.5
2025-06-30 12:15:43 -07:00
topjohnwu
89aad31f7e
Update gradle dependencies
2025-06-26 09:35:18 -07:00
topjohnwu
7124db98e3
Stop involving JSON in release script
2025-06-20 00:59:38 -07:00
topjohnwu
0860e859f7
Stop updating README for each release
2025-06-20 00:32:11 -07:00
topjohnwu
04008949b8
Deprecate canary channel
2025-06-20 00:22:17 -07:00
Wang Han
39f2940bd1
Skip symlink in restore_tmpcon()
...
If magisktmp is /sbin, there may exist files which is symlink to files in
root dir. As root is RO, setcontext will fail and break iterating loop.
2025-06-16 11:09:33 -07:00
topjohnwu
1460317ebd
Cleanup C++ headers
2025-06-16 02:25:38 -07:00
topjohnwu
12340c9bd5
Update gradle version
2025-06-16 02:17:29 -07:00
topjohnwu
c4590fe2ba
Reorganize buildSrc
2025-06-10 16:51:31 -07:00
topjohnwu
b36066bbcd
Run clippy fix
2025-06-10 16:34:38 -07:00
topjohnwu
65d1c5827c
Update dependencies
2025-06-10 16:33:06 -07:00
AshiVered
1d675c8b2e
Update strings.xml
...
Improve Hebrew translations
2025-06-06 17:08:51 -07:00
Wang Han
0b494ed7df
Avoid throwing error if chmod a symlink
...
It is possible that we want to clone attributes of a regular file to a
symlink. In this case, we don't need to error out if chmod fails. Just
skip it.
2025-06-06 17:08:34 -07:00
topjohnwu
48d9fc24eb
Update release.sh
2025-06-05 11:00:27 -07:00
topjohnwu
83426f7f36
Update check update logic
2025-06-04 12:50:19 -07:00
Wang Han
0e86d4dbcb
Fix file pointer leak on error path
2025-06-03 00:34:52 -07:00
Wang Han
5e050d7456
Check binary existence before injecting zygisk bins
2025-06-03 00:33:40 -07:00
topjohnwu
898580bf90
Update dependencies
2025-06-02 19:51:12 -07:00
topjohnwu
86621a4c46
Fix gradle cache
2025-05-30 11:11:53 -07:00
topjohnwu
a834e72b71
Use sccache for clippy
2025-05-30 11:11:45 -07:00
topjohnwu
d8cf42af16
Reduce unstable feature usage
2025-05-30 11:11:36 -07:00
topjohnwu
8c79d66b7b
Update ONDK r28.4
2025-05-30 01:53:26 -07:00
Wang Han
fada8b148a
Ensure manager can always bypass su access policy
...
This fixes https://github.com/topjohnwu/Magisk/issues/9050 .
2025-05-21 16:14:46 -07:00
topjohnwu
dc0acea47c
Remove C++ I/O streams
2025-05-20 03:26:00 -07:00
topjohnwu
78d1200608
Migrate all compression code to Rust
2025-05-20 03:26:00 -07:00
topjohnwu
527bbc0368
Migrate module mounting to Rust
2025-05-20 03:24:43 -07:00
topjohnwu
4c89c7e2b3
Directly use MagiskJson
2025-05-19 10:40:58 -07:00
topjohnwu
adbea7e313
Improve update check code
2025-05-19 10:23:15 -07:00
vvb2060
76962f965e
app: use github api to check updates
2025-05-19 10:23:15 -07:00
topjohnwu
a4b8c5e46b
Update app dependencies
2025-05-18 22:24:44 -07:00
The Ali Dev
83c707439c
Add Urdu Translation
2025-05-18 22:21:05 -07:00
Radoš Milićev
25dd6121f4
Add author for Serbian translations to .xml files
2025-05-18 21:54:24 -07:00
Radoš Milićev
67f35ad027
Add Serbian latin (values-b+sr+Latn)
2025-05-18 21:54:24 -07:00
topjohnwu
0c4b8afbc5
Simplify JNI hooking code
2025-05-17 02:05:21 -07:00
topjohnwu
34b30d7ce1
Promite Magisk v29.0 to stable
2025-05-16 12:17:53 -07:00
topjohnwu
2215088973
Remove unused files in native directory
2025-05-15 13:48:12 -07:00
topjohnwu
8b7fb6cdde
Improve scripts
2025-05-15 02:56:36 -07:00
topjohnwu
94c7dbedf2
Fix signing config
...
[skip ci]
2025-05-14 15:14:34 -07:00
topjohnwu
b1dc47a047
Release new canary build
...
[skip ci]
2025-05-14 01:41:38 -07:00
topjohnwu
62b1310d97
Release Magisk v29.0
...
[skip ci]
2025-05-14 01:26:05 -07:00
topjohnwu
0a86916d3a
Fix cleanup
2025-05-14 01:23:54 -07:00
topjohnwu
9907ce57aa
Add Magisk r29.0 release notes
2025-05-14 01:13:37 -07:00
topjohnwu
b92626cacc
Use sudo instead of su
2025-05-13 17:26:09 -07:00
topjohnwu
5a762f0a8e
Move all gradle files into folder app
...
Decouple java and native projects
2025-05-13 17:04:41 -07:00
topjohnwu
5dd7a7d804
Better ABI support for build.py
2025-05-13 14:35:57 -07:00
topjohnwu
7831f40691
Make tests more granular
2025-05-13 14:08:54 -07:00
topjohnwu
4f4b1ff885
Add sepolicy.rule patching tests
2025-05-13 14:08:54 -07:00
topjohnwu
97901979dd
Test replace functionality
2025-05-13 14:08:54 -07:00
topjohnwu
287316842c
Fix Android M sepolicy reading
2025-05-13 12:28:10 -07:00
topjohnwu
608786e8f3
Print verbose logs in avd_test.sh and cuttlefish.sh
2025-05-11 02:18:36 -07:00
topjohnwu
9684a35cab
Use rust::String::c_str to ensure nil termination
2025-05-09 16:02:46 -07:00
Radoš Milićev
e3e4202954
Update translation of core strings
2025-05-09 11:06:03 -07:00
Radoš Milićev
23c2054d46
Translate stub strings
2025-05-09 11:06:03 -07:00
Wang Han
a20a2a8fa0
Recognize Samsung custom policy version path
2025-05-09 11:03:58 -07:00
topjohnwu
a2896be4a6
Cargo fmt
...
[skip ci]
2025-05-08 23:29:27 -07:00
LoveSy
e9220a28d9
Use splice to pump tty to avoid userspace copying
2025-05-08 23:20:46 -07:00
vvb2060
cf12087e21
app: disable multiArch
2025-05-08 21:02:26 -07:00
topjohnwu
00c1b36837
Support generating files for C++ IDE
2025-05-07 22:18:44 -07:00
topjohnwu
03e034795d
Implement Ord and PartialOrd for Utf8CStr familiy
2025-05-05 11:33:33 -07:00
LoveSy
79c0fafe43
Fix cleanup pre-init mount
2025-05-05 11:00:39 -07:00
vvb2060
d499819ba0
app: ignore androidx meta prop file
2025-05-02 16:40:37 -07:00
vvb2060
86da917174
core: fix mkdirs
2025-05-02 16:39:46 -07:00
ZGX089
30bd7d6555
feat: Improve Arabic translation (stub)
...
Fixed typos, Grammatical errors and changed/fixed other strings.
2025-05-01 13:47:46 -07:00
ZGX089
e5a12f0f5f
feat: Improve Arabic translation
...
Fix Grammatical errors, typos, and changed/fixed other strings.
2025-05-01 13:47:46 -07:00
topjohnwu
c85a8434c6
Update dependencies
2025-04-29 16:22:45 -07:00
topjohnwu
427a1ca4e5
Release new canary build
...
[skip ci]
2025-04-29 11:54:17 -07:00
topjohnwu
22884e173a
Implement reboot in Rust
2025-04-28 17:22:14 -07:00
topjohnwu
d1829308e9
Move more daemon_start code into Rust
2025-04-28 17:22:14 -07:00
topjohnwu
73840f8721
Migrate selinux.cpp to selinux.rs
2025-04-28 17:22:14 -07:00
topjohnwu
c7d1af9805
Stop using PathBuf in package.rs
2025-04-28 17:22:14 -07:00
topjohnwu
4ad26d3dfb
Better path methods
2025-04-28 17:22:14 -07:00
topjohnwu
0c70b7670c
Cleanup dir implementations
2025-04-28 17:22:14 -07:00
topjohnwu
f44d044095
Remove Utf8CStrBuffer
2025-04-28 17:22:14 -07:00
topjohnwu
5c1cb13472
Remove AsUtf8CStr trait
2025-04-28 17:22:14 -07:00
topjohnwu
3327fc668e
Remove FsPath and FsPathMnt trait
...
Directly use Utf8CStr
2025-04-28 17:22:14 -07:00
topjohnwu
610945ac54
Remove open_fd macro
2025-04-28 17:22:14 -07:00
Howard Wu
ddf5474917
apt-get update before install to fix ci
2025-04-28 11:16:14 -07:00
Howard Wu
6ba1685ade
Fix some seopt log
2025-04-22 03:25:21 -07:00
topjohnwu
e02b5f7868
Rename cstr_buf to cstr::buf
2025-04-22 03:21:00 -07:00
topjohnwu
ab2e5d1e7e
Make FsPathBuf a trait and rename to FsPathBuilder
2025-04-22 03:21:00 -07:00
topjohnwu
f3fef7bfe4
Make FsPath a trait
2025-04-22 03:21:00 -07:00
topjohnwu
c34c7838bb
Cleanup cstr implementation
2025-04-22 03:21:00 -07:00
topjohnwu
c8a16b0e0c
Remove unused code
2025-04-16 17:13:03 -07:00
topjohnwu
14f9ed91a1
Remove unused methods
2025-04-15 11:35:31 -07:00
topjohnwu
7a207d4ccf
Only accept UTF-8 directory entries
2025-04-15 10:26:22 -07:00
topjohnwu
92a42d901f
Move most implementation into Directory
2025-04-15 10:26:22 -07:00
topjohnwu
084d89fcce
Create Utf8CStrBuffer type
2025-04-15 10:26:22 -07:00
topjohnwu
55b036c071
Introduce BorrowedDirectory
2025-04-15 10:26:22 -07:00
topjohnwu
30e79310ab
Make pointers NonNull after error check
2025-04-15 00:18:48 -07:00
topjohnwu
f063fa5054
Cleanup xwrap implementation
2025-04-15 00:18:48 -07:00
topjohnwu
7bd901273c
Provide richer error messages
...
Make sure most syscall/libc calls results are mapped to OsResult
that can produce more detailed error messages.
2025-04-15 00:18:48 -07:00
topjohnwu
c1e061603b
Specify ADB_SERIAL for emulator
2025-04-13 21:43:11 -07:00
topjohnwu
cb08504fe5
Update cargo dependencies
2025-04-11 14:48:16 -07:00
topjohnwu
c0a1fb77be
Code cleanup
2025-04-11 14:48:01 -07:00
LoveSy
4864c1112a
no pty for -c by default, and add -i to force pty
2025-04-11 13:21:10 -07:00
LoveSy
9ddeab034b
Fix wrong tty pump
...
See #1463
2025-04-11 13:21:10 -07:00
LoveSy
c4847ed288
Move pts to rust, and avoid using thread
2025-04-11 13:21:10 -07:00
topjohnwu
b8f1523fb2
Minor code reorg
...
[skip ci]
2025-04-08 17:20:22 -07:00
topjohnwu
fb7fa8a6b3
Update to ONDK r29.1
2025-04-08 12:11:59 -07:00
topjohnwu
9c7d359093
Optimize and format imports
...
[skip ci]
2025-04-08 09:57:09 -07:00
topjohnwu
eb54bc1fd7
Cleanup unused code
2025-04-08 02:33:52 -07:00
topjohnwu
d4a0286e13
Migrate magiskinit selinux.cpp to Rust
2025-04-08 02:33:52 -07:00
Steven Xu
83e66767ff
refactor: use empty navOptions
2025-04-02 09:13:32 -07:00
Steven Xu
7dc010749b
feat: remove animation settings button transition
2025-04-02 09:13:32 -07:00
Steven Xu
8e8d013b1b
feat: remove log overscroll
2025-04-02 09:13:32 -07:00
Steven Xu
bba0373808
feat: remove navigation transition when clicking buttons on the bottom bar
2025-04-02 09:13:32 -07:00
topjohnwu
1fa318dc8c
Use Rust elf-cleaner implementation
2025-04-01 18:32:54 -07:00
cheesetosti
6edc5e2037
Update install.md
...
fixed grammar n stuff
2025-04-01 12:13:29 -07:00
topjohnwu
1523ed9f78
Always go through rustup proxies
2025-04-01 10:01:35 -07:00
topjohnwu
8e604d2ab8
Update cuttlefish CI
2025-03-28 00:12:31 -07:00
topjohnwu
2aba7247a9
Skip stub APK install on emulator
...
Reduce test flakiness
2025-03-26 13:15:12 -07:00
topjohnwu
e66fe8533e
API 36 does not support wait_for_bootanim
2025-03-26 13:15:12 -07:00
vvb2060
b03fbb3917
avd_test: upgrade to android16 beta3
2025-03-26 13:15:12 -07:00
vvb2060
c2ece62e4c
native: delete global 16k option
...
NDK 28 enable 16 KiB page size compatibility option by default, delete the global option to restore 4k alignment for 32-bit arch.
2025-03-26 13:15:12 -07:00
vvb2060
8c972dcf34
app: target sdk 36
2025-03-26 13:15:12 -07:00
topjohnwu
50af14f2a3
Move all MagiskInit entrypoints into init.rs
2025-03-24 17:26:03 -07:00
topjohnwu
e0a356b319
Introduce mount helper methods
2025-03-24 17:26:03 -07:00
topjohnwu
c09a792958
Reorganize magiskinit code
2025-03-24 17:26:03 -07:00
topjohnwu
0bbfe7f44d
Fix 2SI on legacy SAR devices
2025-03-24 17:26:03 -07:00
topjohnwu
a396abf565
Minor changes
...
[skip ci]
2025-03-22 01:16:51 -07:00
topjohnwu
1e3edb8883
Release new canary build
...
[skip ci]
2025-03-21 10:37:49 -07:00
topjohnwu
3b8b61bf35
Remove ZipUtils.kt
2025-03-20 14:54:25 -07:00
topjohnwu
6f90456036
Properly buffer I/O
2025-03-20 13:16:39 -07:00
topjohnwu
f56fd4e215
Always close outputStream in processFile
...
Fix #8735
2025-03-19 17:57:31 -07:00
topjohnwu
aa35aac5d5
Update dependencies
2025-03-19 15:55:06 -07:00
topjohnwu
1f162b819d
Update ONDK r29.0
2025-03-19 10:55:08 -07:00
Wang Han
52ef1d1cb2
Simplify matching selinux context of child zygote ( #8845 )
2025-03-11 01:27:15 -07:00
John Wu
f14e3a89cc
Enable optimize_for_size for Rust std ( #8844 )
2025-03-10 15:50:43 -07:00
topjohnwu
95d3eac2e0
Cleanup xwrap functions
2025-03-09 01:10:41 -08:00
Wang Han
8e73536e02
Remove unused hasGMS variable
2025-03-09 00:16:25 -08:00
LoveSy
12a0870bc9
Replace bzip2 with bz2-rs
2025-03-08 14:37:17 -08:00
topjohnwu
6ff82c4e86
Introduce FsPathFollow
...
Make sure all operations of FsPath do not follow symlinks, and provide
a way to explicitly switch over to a set of operations that DO follow
symlinks by FsPath::follow_link.
2025-03-07 15:51:51 -08:00
LoveSy
c64de35375
Move magiskpolicy cli to argh
2025-03-07 14:29:30 -08:00
topjohnwu
ee5283f4e8
Update release script
2025-03-07 14:14:06 -08:00
LoveSy
bd0e954fea
Replace zlib with zlib-rs
2025-03-07 11:40:02 -08:00
topjohnwu
675471a49e
Upgrade argh to stable release
2025-03-07 02:38:36 -08:00
topjohnwu
c90e73ccec
Migration to Edition 2024
2025-03-07 02:35:25 -08:00
topjohnwu
a43c1267d8
Update Cargo.toml
2025-03-07 02:35:25 -08:00
vvb2060
e8958c6b5c
get_secontext: ignore ENODATA
2025-03-06 20:03:36 -08:00
LoveSy
e8a3bf82c6
set exit code of log ExitOnError to -1
2025-03-06 20:03:15 -08:00
topjohnwu
27fd79176a
Update ONDK to r28.3
2025-03-06 17:41:28 -08:00
topjohnwu
28d86a3454
Update rustup_wrapper
...
[skip ci]
2025-03-06 16:12:35 -08:00
topjohnwu
c6c1a17ae6
Address several clippy warnings
2025-03-03 02:15:14 -08:00
topjohnwu
2b47d47215
Also run clippy with release mode
...
[skip ci]
2025-03-02 23:14:46 -08:00
David K.
0e82df9e10
Support zImage compression types other than gzip.
...
Instead of just searching for the gzip magic, it now incrementally searches the kernel for the first thing that `check_fmt_lg` doesn't report as `UNKNOWN`.
2025-03-02 13:35:13 -08:00
topjohnwu
893821ad88
Skip all tests on master push
2025-03-02 02:30:11 -08:00
topjohnwu
6b80fbfa99
Fix cache save condition
2025-03-02 02:30:11 -08:00
topjohnwu
8c3c7d0194
Build on master push
2025-03-02 01:51:42 -08:00
topjohnwu
b94a3d9f2f
Do not store cache on pull request
2025-03-02 01:51:42 -08:00
Wang Han
442d0b5ddc
Delete bootctl binary if execution fails
...
New devices may use AIDL bootctrl HAL, so if bootctl hal-info fails,
simply remove the temp file and return.
2025-03-01 22:43:55 -08:00
topjohnwu
494615d9a0
Support ./build.py emulator with an APK argument
2025-02-28 17:17:24 -08:00
vvb2060
afbfb81837
docs: add avd_magisk.sh to faq
2025-02-28 17:17:24 -08:00
vvb2060
3ed4e258a3
avd_magisk: add general usage
2025-02-28 17:17:24 -08:00
vvb2060
dddd41c95b
avd_magisk: support rootfs without sbin
2025-02-28 17:17:24 -08:00
topjohnwu
5f2ca81e86
Update AGP
2025-02-28 13:19:16 -08:00
topjohnwu
c9eac0c438
Introduce new sepolicy strategy for legacy devices
...
The existing sepolicy patching strategy looks like this:
1. 2SI: use LD_PRELOAD to hijack `security_load_policy`
2. Split policy: devices using split policy implies it also needs to
do early mount, which means fstab is stored in device tree.
So we do the following:
- Hijack the fstab node in the device tree in sysfs
- Wait for init to mount selinuxfs for us
- Hijack selinuxfs to intercept sepolicy loading
3. Monolithic policy: directly patch `/sepolicy`
Method #1 and #2 both has the magiskinit pre-init daemon handling
the sepolicy patching and loading process, while method #3 gives us
zero control over sepolicy loading process. Downsides:
a. Pre-init daemon bypasses the need to guess which sepolicy init
will load, because the original init will literally send the stock
sepolicy file directly to us with this approach.
b. If we want to add more features/functionalities during the sepolicy
patching process, we will leave out devices using method #3
In order to solve these issues, we completely redesign the sepolicy
patching strategy for non-2SI devices. Instead of limiting usage of
pre-init daemon to early mount devices, we always intercept the
sepolicy loading process regardless of the Android version and device
setup. This will give us a unified implementation for sepolicy patching,
and will make it easier to develop further new features down the line.
2025-02-28 09:39:10 -08:00
topjohnwu
b6b34f7612
Fix overlay.d context preservation
2025-02-27 01:57:25 -08:00
LoveSy
e55c413261
Correctly handle truncated dtb
2025-02-23 20:31:55 -08:00
topjohnwu
0399cde50a
Cleanup logcat.log for each invocation
2025-02-18 01:04:19 -08:00
topjohnwu
019eb03823
Hide or remove mut constructors for Utf8CStr
2025-02-17 11:38:11 -08:00
topjohnwu
363410e1c0
Introduce cstr_buf helper functions
2025-02-17 11:32:21 -08:00
topjohnwu
fc2ef21660
Introduce path! macro for FsPath
2025-02-17 01:46:19 -08:00
topjohnwu
18cb659ff3
Run clippy through build.py
2025-02-17 01:31:59 -08:00
topjohnwu
63231d97ce
Properly handle db downgrades
2025-02-16 17:01:36 -08:00
topjohnwu
9ac81a8a25
Skip module tests on API < 26
2025-02-16 16:20:09 -08:00
topjohnwu
79af2787ae
Workaround potential OOM when signing APKs
2025-02-16 16:20:09 -08:00
topjohnwu
f5f9b285c0
Add module tests
2025-02-16 16:20:09 -08:00
topjohnwu
6c05f2ae85
Test processing Shamiko module zip
2025-02-16 16:20:09 -08:00
topjohnwu
29043e1684
Consolidate setup methods
2025-02-16 16:20:09 -08:00
topjohnwu
b73d4a7022
Fix log_ok()
2025-02-16 12:01:25 -08:00
topjohnwu
ad95e8951b
Skip download in lsposed setup test
...
Download the zip during build time
2025-02-16 01:26:40 -08:00
topjohnwu
bf591fca12
Fix Utf8CString constructor and add more comments
2025-02-16 01:17:48 -08:00
topjohnwu
dcf027884d
Update FsPathBuf
2025-02-15 18:27:45 -08:00
topjohnwu
584f3820fe
Make all Utf8CStrWrite Utf8CStrBuf
2025-02-15 18:27:45 -08:00
topjohnwu
3c7c46307a
Partially cleanup MagiskInit code
2025-02-15 18:27:45 -08:00
vvb2060
4d80361805
core: search for first available dir in PATH
2025-02-15 15:08:26 -08:00
LoveSy
9a74e19117
Add log_ok()
for log().ok()
2025-02-14 14:24:13 -08:00
LoveSy
b1e17706a4
Format code
2025-02-14 14:24:13 -08:00
LoveSy
caad129d69
Move MagiskInit::patch_sepolicy to rust
2025-02-14 14:24:13 -08:00
LoveSy
da58571ce5
Remove redundant rust export
2025-02-14 14:24:13 -08:00
LoveSy
2aa7f1c094
Move MagiskInit::check_two_stage to rust
2025-02-14 14:24:13 -08:00
LoveSy
823e31a91b
Use linker to link vfprintf as tiny_vfprintf
2025-02-14 14:24:13 -08:00
LoveSy
fb926ae302
Move MagiskInit::redirect_second_stage to rust
2025-02-14 14:24:13 -08:00
LoveSy
e0489eeffd
Move MagiskInit::first_stage to rust
2025-02-14 14:24:13 -08:00
LoveSy
dc9d5a4cac
Move MagiskInit::second_stage to rust
2025-02-14 14:24:13 -08:00
LoveSy
143743d0b0
Refactor init.cpp to init.rs
2025-02-14 14:24:13 -08:00
LoveSy
563f0d5ad5
Move BootConfig::print to rust
2025-02-14 14:24:13 -08:00
LoveSy
c99f4a591b
Move MagiskInit::exec_init to rust
2025-02-14 14:24:13 -08:00
LoveSy
449204e380
Move MagiskInit::prepare_data to rust
2025-02-14 14:24:13 -08:00
LoveSy
a85c4c6528
Move MagiskInit::MagiskInit to rust
2025-02-14 14:24:13 -08:00
LoveSy
d203a6fff6
Move MagiskInit to rust
2025-02-14 14:24:13 -08:00
LoveSy
6c612d66d7
Move BootConfig to rust
2025-02-14 14:24:13 -08:00
topjohnwu
540253a55b
Remove unnecessary FFI
2025-02-14 11:24:46 -08:00
topjohnwu
15b7c4ccd1
Fix tmpfs mounts in avd_magisk.sh
2025-02-14 10:17:31 -08:00
topjohnwu
442d5335ea
Consolidate get_module_fds implementation
...
Close #8767
2025-02-12 02:55:27 +08:00
topjohnwu
8a80eea597
Directly deal with Rust &str in sepolicy.cpp
2025-02-12 01:26:06 +08:00
Wang Han
5e35703091
Ensure target path exists before mknod
...
Co-authored-by: LoveSy <shana@zju.edu.cn >
2025-02-12 01:13:56 +08:00
topjohnwu
b7ca73f431
Remove an additional unique_ptr indirection
2025-02-05 14:18:16 +08:00
Wang Han
a14fc90f07
Fix fetching notification settings from db ( #8761 )
...
Co-authored-by: LoveSy <shana@zju.edu.cn >
2025-02-04 17:42:21 +08:00
LoveSy
c913f7ec74
Make sepolicy a shared type between rust and cxx
2025-02-04 00:36:11 +08:00
topjohnwu
7f6c9e8411
Fix zygisk module load
2025-02-03 23:21:51 +08:00
topjohnwu
bb02ea3a20
Fix file descriptor IPC
2025-02-03 18:21:03 +08:00
LoveSy
3981c9665e
Replace rust inner functions to try blocks
2025-02-02 22:09:55 +08:00
topjohnwu
88628fdf3c
Make sure IPC is arch agnostic
2025-02-02 22:08:41 +08:00
topjohnwu
0469817781
Cleanup code and bindings
2025-02-02 22:08:41 +08:00
topjohnwu
a786801141
Implement su_daemon in Rust
2025-02-02 22:08:41 +08:00
topjohnwu
ab86732c89
Implement simple serialization over IPC
2025-02-02 22:08:41 +08:00
topjohnwu
59622d1688
Use static methods in cxx-rs
2025-02-02 02:46:33 +08:00
LoveSy
58a25a3e2b
Fix su with tty
2025-02-01 16:50:53 +08:00
topjohnwu
15dca29a87
Update cxx-rs
2025-02-01 02:02:29 +08:00
Wang Han
46980819c0
Expose safe mode option on 28+
2025-01-31 12:20:02 +08:00
topjohnwu
4fb6a7268c
Fix SDK 27 and 28 tests
2025-01-31 02:52:27 +08:00
topjohnwu
c05e963f37
Address clippy warnings
2025-01-31 02:52:27 +08:00
topjohnwu
7f7f625864
Code reorganization
2025-01-31 02:52:27 +08:00
topjohnwu
b25aa8295a
Move bootstage into Rust
2025-01-31 02:52:27 +08:00
topjohnwu
15a605765c
Fully implement daemon side of Zygisk in Rust
2025-01-31 02:52:27 +08:00
topjohnwu
b575c95710
Implement fd I/O on Rust side
2025-01-31 02:52:27 +08:00
topjohnwu
a48a9c858a
Migrate zygisk handler to Rust
2025-01-31 02:52:27 +08:00
topjohnwu
0d8d6290a3
Move module list into MagiskD
2025-01-31 02:52:27 +08:00
topjohnwu
4dcd733ddd
Minor code cleanup
2025-01-31 02:52:27 +08:00
topjohnwu
b62835cbeb
Release new canary build
2025-01-31 02:36:58 +08:00
Wang Han
6ea740b5ab
Skip clearing install dir if not needed
2025-01-27 12:14:55 +08:00
topjohnwu
7ab98dd5ac
Make ioctl not a special token
2025-01-27 03:01:00 +08:00
anonymix007
fc8b3400fc
Fix sterm parsing logic for ioctl
2025-01-27 03:01:00 +08:00
topjohnwu
54428ba415
Fix Android Studio C++ indexing
2025-01-26 02:24:35 +08:00
topjohnwu
95d1e69d8e
Update to ONDK r28.2
2025-01-21 18:50:12 +08:00
topjohnwu
a0f13ab49f
Move lambda to static function
2025-01-19 18:59:17 +08:00
topjohnwu
c3e8405020
Update libcxx
2025-01-19 18:51:17 +08:00
Pesh4waaa
a93593ea66
Kurdish Language For Magisk
2025-01-19 15:24:03 +08:00
Wang Han
23eff70883
Fix repeated binding of first argument
...
Co-authored-by: LoveSy <shana@zju.edu.cn >
2025-01-19 11:57:09 +08:00
vvb2060
110dd4a8b9
Update dependencies
2025-01-19 11:55:44 +08:00
Wang Han
d9c2bffc9f
Avoid hardcoding max fd size
...
Android changed max fd limit to 32768 since Android 9:
cb5fccc83c
Co-authored-by: LoveSy <shana@zju.edu.cn >
2025-01-19 11:54:26 +08:00
topjohnwu
049db49dc8
Use preprocessor for 64bit detection
2025-01-11 00:15:10 +08:00
Wang Han
7c1d2ec61e
zygisk: Let client send arch info
2025-01-11 00:15:10 +08:00
topjohnwu
a1b2830c06
Address clippy warnings
2025-01-11 00:11:48 +08:00
topjohnwu
82d1d19267
Migrate uid_granted_root to Rust
2025-01-11 00:11:48 +08:00
topjohnwu
4d4195c02d
Migrate prune_su_access to Rust
2025-01-11 00:11:48 +08:00
topjohnwu
5637a258fc
Migrate package detection to Rust
2025-01-11 00:11:48 +08:00
topjohnwu
ee6810f417
Rewrite magisk logging implementation
2025-01-11 00:11:48 +08:00
topjohnwu
7098248c64
Add more functionality into Rust
2025-01-11 00:11:48 +08:00
topjohnwu
0d31d356ef
Use SQLite's internal time function
2025-01-05 05:04:04 -08:00
topjohnwu
b782e7dcb7
Fetch policy table from Rust
2025-01-05 05:04:04 -08:00
Softastur
a4671b4698
Update Asturian translations
...
Fixing and updating
2025-01-05 03:15:31 -08:00
topjohnwu
7edd8be169
Minor changes
2025-01-04 02:24:08 -08:00
topjohnwu
24650eefe4
Bind SQLite to Rust
2025-01-04 02:24:08 -08:00
topjohnwu
8e1a44e7eb
Use argument binding for query
2025-01-04 02:24:08 -08:00
topjohnwu
2722875190
Use better C++ SQL APIs
2025-01-04 02:24:08 -08:00
topjohnwu
3ca6d06f69
Cleanup database code
2025-01-04 02:24:08 -08:00
topjohnwu
10e47248de
Use finer grain sqlite3 APIs
2025-01-04 02:24:08 -08:00
Pzqqt
e73ff679ac
scripts: flash_script.sh: Avoid overly dangerous code
2024-12-27 16:02:24 -08:00
Wang Han
53e401fa2d
Perform authentication if needed for AutomaticResponse setting
2024-12-27 16:00:02 -08:00
LoveSy
d2768357da
Support systemlessly deleting files or folders
...
After we refactor the magic mount and always mount folder as tmpfs,
we can easily support deleting files or folders now. We recognize
dummy devices with major number 0 and minor number 0 as an indicator
for removing files and folders. This indicator is borrowed from
overlayfs.
2024-12-27 15:57:54 -08:00
LoveSy
a6c2ba7c1e
Allow kernel to relabel
2024-12-27 12:35:29 -08:00
LoveSy
aae5b466fb
Use rust to implement collect/reset overlay context
2024-12-27 12:35:29 -08:00
5ec1cff
2b7be8b949
init: reset overlay.d files context after sepolicy loaded
2024-12-27 12:35:29 -08:00
5ec1cff
b6511a510d
Revert "Allow all domains to access tmpfs files"
...
This reverts commit da43ac89a0
.
2024-12-27 12:35:29 -08:00
Wang Han
704541aef2
Use /metadata/watchdog as preinit dir if exists
...
Since Android 15, all domains are allowed to search /metadata so preinit
dir will be exposed. Use /metadata/watchdog when /metadata is chosen as
preinit device, and the dir is available (since Android 11).
2024-12-27 10:35:05 -08:00
topjohnwu
005560a4c5
Always rescan manager APK when database is updated
2024-12-26 12:18:38 -08:00
topjohnwu
231a5d1853
Cleanup test code
2024-12-25 22:26:30 -08:00
topjohnwu
9e2b59060d
Drive app migration tests through instrumentation
...
Make tests less flaky
2024-12-25 22:26:30 -08:00
topjohnwu
08ea937f7c
Test su request via instrumentation
2024-12-25 22:26:30 -08:00
topjohnwu
2baedf74d1
Install and test LSPosed through test app
2024-12-25 22:26:30 -08:00
topjohnwu
32faa4ced6
Redesign test APK architecture
...
The test APK and the main APK share the same process and classloader,
and in the non-hidden case, the test APK's classes take precedence over
the ones in the main APK. This causes issues because the test APK and
main APK share some dependencies, but don't always use the same
version. This is especially problematic for the Kotlin stdlib and
AndroidX dependencies.
The solution here is to rely on R8's obfuscation feature and repackage
all potentially conflicting classes into a separate package in the test
APK. To ensure that the test classes are always using the same classes
as the main APK, we have to directly implement all tests inside the main
APK, making the test APK purely a "test runner with test dependencies".
As a result, the test APK can only be used when built in release mode,
because R8 no longer allow class obfuscation to be enabled when building
for debug versions.
2024-12-25 20:17:57 -08:00
topjohnwu
ccdb0b5d13
Add ability to skip certain test variants
2024-12-25 20:11:21 -08:00
topjohnwu
8506b672ad
Update CI operating system
2024-12-23 22:52:30 -08:00
topjohnwu
ce2e33bb20
Cleanup test scripts
2024-12-23 20:42:54 -08:00
topjohnwu
6707b72260
Fix AVD tests
2024-12-23 20:41:42 -08:00
topjohnwu
5885b8c20d
Add new tests for app hiding
2024-12-18 17:22:31 -08:00
topjohnwu
820710c086
Fix incorrect SQLite syntax
2024-12-18 17:22:31 -08:00
topjohnwu
51cf196bf7
Always use root to hide/restore app
2024-12-18 17:22:31 -08:00
Wang Han
dadba44cf9
Update module installer guide about META-INF
2024-12-17 16:36:40 -08:00
topjohnwu
2ce4a5543b
Make ndk-build happy when Rust libs are missing
2024-12-13 17:00:40 -08:00
topjohnwu
9112a3a4f5
Introduce instrumentation tests
2024-12-13 12:07:42 -08:00
topjohnwu
24615afda1
Remove usage of ProcessLifecycle
2024-12-13 12:07:42 -08:00
topjohnwu
c5778f398b
Cleanup imports
2024-12-13 12:07:42 -08:00
topjohnwu
4eb4097b9b
Split file processing into its own class
2024-12-13 12:07:42 -08:00
vvb2060
c512496847
install_module: simplify script
2024-12-12 10:08:09 -08:00
vvb2060
506961a10d
flash module: ignore META-INF
2024-12-12 10:07:47 -08:00
topjohnwu
3414415907
Support zip files with unsupported compresssion method
2024-12-12 02:50:19 -08:00
topjohnwu
dc2ae7cfd1
Disable CI on master push
...
Changes should be done through PRs for CI
2024-12-12 02:50:19 -08:00
topjohnwu
2e86d21c29
16k pages only work on Android B on x64
2024-12-09 20:13:27 -08:00
topjohnwu
2654382c43
Address clippy warnings
2024-12-09 18:26:39 -08:00
topjohnwu
9e26b73813
Update rust dependencies
2024-12-09 18:26:39 -08:00
topjohnwu
10cd13bf80
Update ONDK r28.1
2024-12-09 18:26:39 -08:00
topjohnwu
f10ee5f887
Test 16K pages with AVD instead of Cuttlefish
2024-12-09 14:16:08 -08:00
topjohnwu
47cc532d96
Release new canary build
2024-12-06 18:19:06 -08:00
topjohnwu
218327f92b
Release Magisk v28.1
2024-12-06 17:45:41 -08:00
topjohnwu
4eae66a1a7
Add v28.1 release notes
2024-12-06 17:38:43 -08:00
vvb2060
b09ceeb43c
scripts: sync avd_magisk.sh with mgiskinit
2024-12-06 02:21:17 -08:00
vvb2060
4fb539c110
core: use a new tmpfs as worker
2024-12-06 02:19:43 -08:00
vvb2060
849b284da5
core: insert symlink magisk_node
2024-12-06 02:19:32 -08:00
topjohnwu
895b5f6cbf
Release new canary build
2024-12-04 01:28:31 -08:00
SonyaMedved
cb3d4ea514
strings.xml
...
The strings have been translated into Ukrainian.
2024-12-04 01:26:39 -08:00
topjohnwu
0d89a2a97d
Update AGP
2024-12-04 01:25:44 -08:00
nedokaka
3ca5913055
Update Russian Translation
2024-12-03 19:52:53 -08:00
topjohnwu
df6b808f49
Cleanup DesugarClassVisitorFactory
2024-12-03 19:52:39 -08:00
topjohnwu
09c7ac754b
Simplify MagiskD Rust/C++ FFI
2024-12-03 15:51:17 -08:00
topjohnwu
805da67c23
Update cxx-rs
2024-12-03 14:16:14 -08:00
topjohnwu
3c6889505b
Stop using polymorphism in magiskinit
2024-12-03 02:18:22 -08:00
topjohnwu
c8e9ce7627
Cleanup mount code in magiskinit
2024-12-03 02:18:22 -08:00
topjohnwu
837c679a31
Update avd_test API versions
2024-12-03 02:18:22 -08:00
LoveSy
06616659b8
Only desugar ZipEntry's methods
2024-12-02 19:55:28 -08:00
topjohnwu
a34c04f999
Release new canary build
2024-12-01 14:59:57 -08:00
topjohnwu
da43ac89a0
Allow all domains to access tmpfs files
...
Fix #8457
2024-11-30 23:21:33 -08:00
vvb2060
830fc758b9
init: Use apex dir to determine whether 2SI
2024-11-30 23:03:29 -08:00
vvb2060
0f3cfef278
Revert "init: support 2SI devices with skip_initramfs"
...
This reverts commit b38fd1ca5f
.
2024-11-30 23:03:29 -08:00
topjohnwu
b32d7bfafd
Update gradle version
2024-11-21 21:05:35 -08:00
topjohnwu
c0899f2939
Update dependencies
2024-11-19 20:29:15 -08:00
topjohnwu
082330808f
Fix building APK
2024-11-19 20:25:10 -08:00
topjohnwu
024da05888
Move several stuff into buildSrc
2024-11-09 20:08:12 -08:00
LoveSy
377b6d0cc2
avoid desugar the Desugar class
2024-11-09 19:41:06 -08:00
Georgi Boiko
c661009b31
docs(ci): update setup action to state correct jdk version
2024-11-04 11:12:01 -08:00
vvb2060
613f2d31c5
app: auto close action fragment only when focus lost
2024-11-04 11:11:41 -08:00
vvb2060
7dbb973db5
daemon: some samsung devices using incorrect mediatek-res path
2024-11-04 11:09:53 -08:00
topjohnwu
f4502f8be8
Add our own API desugaring
...
Magisk Build / Build Magisk artifacts (push) Has been cancelled
Magisk Build / Test building on ${{ matrix.os }} (ubuntu-latest) (push) Has been cancelled
Magisk Build / Test building on ${{ matrix.os }} (windows-latest) (push) Has been cancelled
Magisk Build / Test API ${{ matrix.version }} (x86_64) (, 23) (push) Has been cancelled
Magisk Build / Test API ${{ matrix.version }} (x86_64) (, 24) (push) Has been cancelled
Magisk Build / Test API ${{ matrix.version }} (x86_64) (, 25) (push) Has been cancelled
Magisk Build / Test API ${{ matrix.version }} (x86_64) (, 26) (push) Has been cancelled
Magisk Build / Test API ${{ matrix.version }} (x86_64) (, 27) (push) Has been cancelled
Magisk Build / Test API ${{ matrix.version }} (x86_64) (, 28) (push) Has been cancelled
Magisk Build / Test API ${{ matrix.version }} (x86_64) (, 29) (push) Has been cancelled
Magisk Build / Test API ${{ matrix.version }} (x86_64) (, 30) (push) Has been cancelled
Magisk Build / Test API ${{ matrix.version }} (x86_64) (, 31) (push) Has been cancelled
Magisk Build / Test API ${{ matrix.version }} (x86_64) (, 32) (push) Has been cancelled
Magisk Build / Test API ${{ matrix.version }} (x86_64) (, 33) (push) Has been cancelled
Magisk Build / Test API ${{ matrix.version }} (x86_64) (, 34) (push) Has been cancelled
Magisk Build / Test API ${{ matrix.version }} (x86_64) (google_apis, 35) (push) Has been cancelled
Magisk Build / Test API ${{ matrix.version }} (x86) (23) (push) Has been cancelled
Magisk Build / Test API ${{ matrix.version }} (x86) (24) (push) Has been cancelled
Magisk Build / Test API ${{ matrix.version }} (x86) (25) (push) Has been cancelled
Magisk Build / Test API ${{ matrix.version }} (x86) (26) (push) Has been cancelled
Magisk Build / Test API ${{ matrix.version }} (x86) (27) (push) Has been cancelled
Magisk Build / Test API ${{ matrix.version }} (x86) (28) (push) Has been cancelled
Magisk Build / Test API ${{ matrix.version }} (x86) (29) (push) Has been cancelled
Magisk Build / Test API ${{ matrix.version }} (x86) (30) (push) Has been cancelled
Magisk Build / Test ${{ matrix.device }} (aosp-main, aosp_cf_x86_64_phone) (push) Has been cancelled
Magisk Build / Test ${{ matrix.device }} (aosp-main-throttled, aosp_cf_x86_64_phone_pgagnostic) (push) Has been cancelled
Fix #8452
2024-10-29 12:13:22 -07:00
topjohnwu
455b13b83c
Fix download URL in stub.apk
2024-10-17 19:42:10 -07:00
topjohnwu
8b98709743
Update dependencies
2024-10-17 13:17:46 -07:00
tzagim
1b12f45f39
Update Hebrew Translation
2024-10-15 15:23:21 -07:00
vvb2060
a5cad532ff
ui: fix lock screen orientation
2024-10-12 01:16:24 -07:00
topjohnwu
070719db50
Release new canary build
2024-10-10 02:10:50 -07:00
topjohnwu
28cccdf7aa
Release Magisk v28.0
2024-10-10 01:47:00 -07:00
topjohnwu
b7e0986a5c
Add v28.0 changelog
2024-10-10 01:40:14 -07:00
topjohnwu
da709745dd
Revert #8245
2024-10-09 15:40:23 -07:00
topjohnwu
8b6771d487
Update dependencies
2024-10-08 01:40:09 -07:00
topjohnwu
e1b847fbc5
Find boot image with MagiskInstaller
...
Fix #8211
2024-10-07 16:52:35 -07:00
topjohnwu
7188de1205
Support unaligned boot image file
...
Fix #7733
2024-10-06 03:01:08 -07:00
topjohnwu
44fb7dbcbe
Update Busybox
...
Fix #8403
2024-10-06 01:47:13 -07:00
topjohnwu
8086b5933c
Update crt0
...
Fix #8424
2024-10-02 16:37:07 -07:00
topjohnwu
7f675f4bf7
Update dependencies
2024-09-27 14:38:32 -07:00
vvb2060
5e6b53e0da
AppMigration: put suManager after installation
2024-09-25 12:34:21 -07:00
残页
5b29fefc65
Replace LOGE with LOGW so the process don't abort
...
Co-authored-by: 南宫雪珊 <vvb2060@gmail.com >
2024-09-25 11:59:58 -07:00
残页
16a168535d
Check sepolicy database version in add_xperm_rule
...
Fix #8344
2024-09-25 11:59:58 -07:00
Wang Han
33f70f8f6d
Update zh-rCN strings
2024-09-17 15:01:10 -07:00
topjohnwu
4f18a66d73
Release new canary build
2024-09-17 01:46:04 -07:00
Wang Han
250dc16007
Fix post-fs-data blocking time in doc
...
f7d3d1eeaf
.
2024-09-17 01:28:01 -07:00
Wang Han
7af273e047
Don't append "start logd" in post-fs-data
...
This was first done in b13eb3f
because magiskd was started in
post-fs stage that time. Among all android versions, logd was all
started before post-fs-data.
2024-09-16 00:30:36 -07:00
Arbri çoçka
e381aebaa0
Update strings.xml Albania (sq)
2024-09-16 00:24:47 -07:00
LoveSy
45d91c9658
Upgrade Gradle
2024-09-15 00:14:15 -07:00
igor
4a9158f667
Update Portuguese translation
2024-09-14 23:08:40 -07:00
niels
0d9ee89e7f
magiskboot: cleanup bootconfig and vendor ramdisk dir
2024-09-14 23:08:22 -07:00
topjohnwu
abaff72304
Enable core library desugaring
...
Fix #8343
2024-09-09 01:59:32 -07:00
topjohnwu
b828e2d0b2
Update dependencies
2024-09-08 03:02:09 -07:00
Wang Han
53d7cbc11b
Clarify magiskboot requirements for repacking img
2024-09-08 01:13:46 -07:00
LoveSy
310be7ab47
Return exit value of action.sh
2024-09-08 01:12:30 -07:00
LoveSy
60894e458f
Automatically close action fragment when action exits successfully
2024-09-08 01:12:30 -07:00
LoveSy
fbebb6ac10
Add action.sh
for user to manually trigger modules' functionality from app
2024-09-08 01:12:30 -07:00
LoveSy
a9f8c20703
Upgrade AGP
2024-09-05 21:50:56 -07:00
vvb2060
ae0b15d197
deps: update gradle to 8.10
2024-09-05 21:50:46 -07:00
vvb2060
869aa62328
ci: fix build
2024-09-05 21:50:46 -07:00
vvb2060
dcd3bc58a3
app: target api 35
2024-09-05 21:50:46 -07:00
Salvo Giangreco
a82f17c594
Disable Samsung PROCA
...
Signed-off-by: Salvo Giangreco <giangrecosalvo9@gmail.com >
2024-09-04 01:49:02 -07:00
vvb2060
b38fd1ca5f
init: support 2SI devices with skip_initramfs
2024-09-03 16:33:57 -07:00
topjohnwu
8e82113bce
Release new canary build
2024-08-23 01:07:45 -07:00
vvb2060
f723ef153b
zygisk_node: skip magisk32 if 64bit zygote only
2024-08-22 11:58:29 -07:00
topjohnwu
1dc723fb6d
Attempt to reuse cache on Windows
2024-08-21 22:06:12 -07:00
topjohnwu
8f271c2575
Custom sccache support in CI
2024-08-21 16:51:30 -07:00
topjohnwu
7cf56b4406
Simplify ramdisk test
2024-08-21 16:46:37 -07:00
Wang Han
c2eb603957
Require GMS to be system app
...
Fixes https://github.com/topjohnwu/Magisk/issues/8279 .
2024-08-20 10:36:14 -07:00
topjohnwu
e6bd2ff60f
Fix stock image restore
...
Fix #8211
2024-08-20 02:23:20 -07:00
topjohnwu
5604074eba
Fix module auto install
...
Fix #8208
2024-08-20 01:09:25 -07:00
topjohnwu
3f061c1a1e
Update dependencies
2024-08-19 17:54:02 -07:00
LoveSy
55e78a7b1a
BYD XDJA container support
2024-08-19 17:50:16 -07:00
vvb2060
000f1d6041
Revert "Don't support alternative binary paths"
...
This reverts commit 1eeb2a34a1
.
2024-08-19 11:52:55 -07:00
vvb2060
2cbec20238
find_boot_image: test GKI 1.0
2024-08-19 03:05:24 -07:00
vvb2060
4b724c7257
find_boot_image: test previous kernels (<=4.19)
2024-08-19 03:05:24 -07:00
vvb2060
ab04c6ab39
find_boot_image: keep symlink
2024-08-19 03:05:24 -07:00
topjohnwu
821a6c6954
Only save gradle cache on asset build job
2024-08-18 21:42:28 -07:00
topjohnwu
5f27a62221
Use gradle version catalog
2024-08-18 13:12:23 -07:00
topjohnwu
c76cc4c6bd
Update cuttlefish hostside tools
2024-08-16 15:58:29 -07:00
𝗦𝗵𝗟𝗲𝗿𝗣
52b75c53b6
Update TR Locales
2024-08-16 11:38:36 -07:00
topjohnwu
9db2e99086
Test 16k on Cuttlefish
2024-08-15 22:51:40 -07:00
LoveSy
e9e2ecf2dd
load partition_map
only once
2024-08-15 10:10:18 -07:00
LoveSy
9a9e617c35
Use find_if
2024-08-15 10:10:18 -07:00
LoveSy
3a0becc783
Use parse_impl for partition_map
2024-08-15 10:10:18 -07:00
ChsBuffer
1f974cb220
Use androidboot.partition_map
as a fallback for matching partition names in the preinit finding.
2024-08-15 10:10:18 -07:00
LoveSy
1db80228e8
Move worker mount to magiskinit
2024-08-15 02:39:51 -07:00
LoveSy
838e1e254d
Move devpts mount to magiskinit
2024-08-15 02:39:51 -07:00
topjohnwu
554eda8fe1
Switch to gmake on macOS
2024-08-15 02:37:59 -07:00
topjohnwu
2bdc047c4d
Call sqlite3_free only on sqlite3 malloc-ed objects
2024-08-14 13:23:59 -07:00
topjohnwu
e64f59ce5b
Make CI faster
2024-08-14 00:21:45 -07:00
topjohnwu
b8140ad4e6
Re-enable Windows CI
2024-08-13 21:12:06 -07:00
LoveSy
5a55483698
Set -fno-threadsafe-statics
for crt0
...
Since crt0 has no pthread support, we don't need lock for statics.
2024-08-12 10:57:45 -07:00
vvb2060
2d341863f5
set MAGISKTMP
2024-08-12 02:05:58 -07:00
LoveSy
278046becb
Fix wrong cxx_extern return value
...
This fix UB
2024-08-12 02:05:26 -07:00
topjohnwu
5c0497354f
Temporarily disable Windows CI
2024-08-12 02:04:13 -07:00
topjohnwu
98c258df93
Update AGP
2024-08-11 04:30:01 -07:00
topjohnwu
c578cccfd5
Update to ONDK r27.4
2024-08-11 04:16:19 -07:00
Andrew Gunnerson
07835a3e0e
util_functions.sh: Fix syntax error due to missing then
...
Signed-off-by: Andrew Gunnerson <accounts+github@chiller3.com >
2024-08-06 01:16:19 -07:00
topjohnwu
09131aca89
Fix find_boot_image
...
Close #8255
2024-08-05 11:24:30 -07:00
topjohnwu
9ce998a6df
Fix arab strings
2024-08-04 01:54:28 -07:00
topjohnwu
ca36b42d79
Update release.sh
2024-08-03 01:55:03 -07:00
topjohnwu
37df39ec37
Address clippy warnings
2024-08-03 01:52:16 -07:00
topjohnwu
1701361a73
Update cargo dependencies
2024-08-03 01:49:14 -07:00
topjohnwu
4c14ae33f5
Properly configure Rust builds
2024-08-03 01:28:53 -07:00
topjohnwu
d4a9ef7b7f
Cleanup build.py
2024-08-03 00:05:49 -07:00
topjohnwu
1539cfe888
Support setting custom ABI list
...
Also stop building riscv64 by default
2024-08-01 14:33:08 -07:00
topjohnwu
9093be1329
Run commands through shell on Windows
2024-07-31 17:21:18 -07:00
topjohnwu
606d076251
Build debug with thin lto
2024-07-31 17:00:01 -07:00
残页
46a34e19bc
Check vendor boot ramdisk table size
2024-07-31 16:59:51 -07:00
topjohnwu
5ac7dc0b37
Support vendor boot unpack/repack
...
Fix #6460 , close #6620
2024-07-30 04:00:12 -07:00
topjohnwu
3b27de3715
Output logs to files
2024-07-25 03:48:13 -07:00
topjohnwu
939bfac920
Make sure version is fetched correctly
2024-07-25 03:04:27 -07:00
muhammadbahaa2001
f601bf12d5
Updated Arabic
2024-07-25 03:03:49 -07:00
topjohnwu
0495468d02
Release new canary build
2024-07-24 23:13:21 -07:00
topjohnwu
300a2a242c
Add release script
2024-07-24 23:10:57 -07:00
topjohnwu
33aebb5976
Stop embedding executables
2024-07-24 22:49:48 -07:00
pndwal
b3d6809c0b
Update README.MD
...
Remove redundant Canary changelog link
2024-07-24 19:04:50 -07:00
LoveSy
461f7e9f89
Use metadata even if it is f2fs
2024-07-24 19:02:35 -07:00
LoveSy
9cc50b20d8
Correctly handle comments in sepolicy.rule
2024-07-24 19:02:25 -07:00
LoveSy
f488e9df8f
Fix sepolicy rule path
2024-07-24 19:02:12 -07:00
LoveSy
0dc596e206
Update Chinese translation
2024-07-24 19:01:59 -07:00
topjohnwu
c3bf03190b
Use K2 in kapt
2024-07-24 17:06:41 -07:00
topjohnwu
021ae891a9
Update dependencies
2024-07-24 16:53:15 -07:00
topjohnwu
9c03514eb1
Create :app:clean task
2024-07-24 16:46:47 -07:00
topjohnwu
eb74b266e1
Do not modify args
...
Close #8242
2024-07-24 16:37:22 -07:00
topjohnwu
80eb6ff25a
Update README
2024-07-23 21:37:04 -07:00
topjohnwu
7b81e2d2d1
Release new canary build
2024-07-23 17:23:50 -07:00
topjohnwu
a8789073f1
Run copy_preinit_files in run_migrations
2024-07-23 02:21:49 -07:00
残页
c8fe0f5524
Catch possible exceptions when the receiver is already unregistered
2024-07-23 02:06:15 -07:00
vvb2060
d33b077a13
Remove NVBASE
...
We only move /cache/data_adb/magisk and /data/magisk to /data/adb/magisk (#7638 ), so NVBASE is redundant and we can just use MAGISKBIN.
2024-07-23 02:03:47 -07:00
vvb2060
2282365cf8
clean code
2024-07-23 02:02:56 -07:00
vvb2060
9a00b7b942
update copy_preinit_files
2024-07-23 02:02:56 -07:00
vvb2060
d54baadbed
Use ro.crypto.metadata.enabled
2024-07-23 02:02:56 -07:00
LoveSy
0869a90fe3
Use symlink to setup preinit
2024-07-23 02:02:56 -07:00
LoveSy
2754b1dcf8
Add comment about the choice
2024-07-23 02:02:56 -07:00
LoveSy
0db6314661
Refactor preinit finding
2024-07-23 02:02:56 -07:00
topjohnwu
b5d2ef18e8
Move more data and function into HookContext
2024-07-22 20:36:55 -07:00
topjohnwu
6e22476acc
Update test scripts
2024-07-22 03:39:04 -07:00
topjohnwu
b26db8cee6
Switch over to ANDROID_HOME
...
Keep ANDROID_SDK_ROOT as a fallback
2024-07-21 00:53:13 -07:00
topjohnwu
33cb39c8af
Minor code changes for hook.cpp
2024-07-21 00:52:43 -07:00
LoveSy
f247759a6e
No need _orig to call backup
2024-07-20 21:36:26 -07:00
LoveSy
de7e5bdfe7
Update comments
2024-07-20 21:36:26 -07:00
LoveSy
53a8ba8cfe
Use hookJniNativeMethods
to hook zygote pre/post fork
2024-07-20 21:36:26 -07:00
LoveSy
f2d057baba
Refine hookJniNativeMethods
2024-07-20 21:36:26 -07:00
LoveSy
93bcf2cd25
Correct debug symbol configuration
2024-07-20 20:29:58 -07:00
LoveSy
6d82515cfc
No default features of pb-rs
2024-07-20 20:29:38 -07:00
topjohnwu
a177d3b022
Fix AVD test on API 23
2024-07-20 15:08:06 -07:00
topjohnwu
92b2e06e57
Increase cgu on debug builds
2024-07-20 04:59:20 -07:00
topjohnwu
f919bb0e99
Minor changes
2024-07-20 04:52:25 -07:00
topjohnwu
054971e899
Add permissions
2024-07-20 03:43:06 -07:00
topjohnwu
93c3d36452
Add Cuttlefish tests in CI
2024-07-20 03:10:18 -07:00
topjohnwu
4c38af994d
Sync native and Java implementation
2024-07-19 23:22:08 -07:00
topjohnwu
bbb8efe92c
Support Cuttlefish
2024-07-19 22:08:35 -07:00
topjohnwu
659dd09723
Do not modify system-images contents when patching
2024-07-19 16:47:12 -07:00
LoveSy
4931825912
Fix zygisk v5
2024-07-17 10:52:16 -07:00
topjohnwu
ef81cdab4f
Prebuild Busybox
...
Prebuild with tools in ndk-box-kitchen
2024-07-17 02:58:31 -07:00
topjohnwu
7c0b25cad9
Release new canary build
2024-07-12 15:54:16 -07:00
topjohnwu
b38ab2a7d6
Use K2 to compile buildSrc
...
Make all Kotlin source code build with K2.
K2 seems to have bugs with lazy property assignment, revert it to set().
2024-07-12 15:27:04 -07:00
LoveSy
a97191052b
Upgrade gradle
2024-07-12 13:46:06 -07:00
vvb2060
2963d4ca9e
Rewrite get_manager
2024-07-12 13:45:48 -07:00
vvb2060
6aab856de7
Enhanced denylist app id tracking
2024-07-12 13:45:48 -07:00
topjohnwu
94d1c66f8a
Make AVD test timeout at 10 minutes
2024-07-12 11:39:11 -07:00
topjohnwu
7ff4d7608e
Update dependencies
2024-07-11 23:28:01 -07:00
sn-o-w
46ef915c83
Update Romanian
2024-07-11 22:31:32 -07:00
LoveSy
63b0a0d96b
Fix incomplete native debug symbols
...
See https://github.com/android/ndk/issues/2039
2024-07-11 22:31:09 -07:00
LoveSy
ea4cabdfc5
Use simple property assignment
2024-07-11 22:28:59 -07:00
LoveSy
0185ddf577
Fix building on higher version of jdk
2024-07-11 22:28:59 -07:00
topjohnwu
ddae568741
Move SplashActivity logic into core module
2024-07-11 22:08:01 -07:00
topjohnwu
fcb7ebb090
Cleanup resources
2024-07-11 17:58:52 -07:00
topjohnwu
8d446fcc16
Move all core code into the same parent package
2024-07-11 16:49:01 -07:00
topjohnwu
881d3b5221
App migration minor refactoring
2024-07-11 16:28:56 -07:00
topjohnwu
fe9ec3bc6d
Move app initialization routine into core module
2024-07-11 16:10:49 -07:00
topjohnwu
480198dcd0
Improve package migration
2024-07-11 15:50:40 -07:00
topjohnwu
4ab7bc0d97
Minor SettingsItem cleanup
2024-07-11 02:44:38 -07:00
topjohnwu
7173693d1b
Use platform LocaleManager if possible
2024-07-11 02:44:38 -07:00
topjohnwu
6b81716440
Update stub implementation
2024-07-11 02:44:38 -07:00
topjohnwu
88e8e15607
Create singleton AppContext
2024-07-11 02:44:38 -07:00
LoveSy
69181a6b72
Fix wrong sepolicy rule
2024-07-08 12:09:45 -07:00
Wang Han
b11b81122a
Tighten rules for tmpfs file
...
Before magiskd is executed, all files in magisk tmpfs still shares
tmpfs label. This commit tightens the rule to only allow init, zygote
and shell to access magisk tmpfs files. Zygotes rules is needed
because lower Android versions don't have rule for zygote itself
using memfd even memfd is supported in kernel.
2024-07-08 12:06:49 -07:00
Wang Han
648e3ee36b
Update build.yml
2024-07-08 12:02:51 -07:00
LoveSy
724b94f320
Update README.MD ( #8192 )
...
Co-authored-by: 南宫雪珊 <vvb2060@gmail.com >
2024-07-08 12:02:14 -07:00
topjohnwu
a6e65f9a7e
Fix building release builds
2024-07-06 01:55:09 -07:00
topjohnwu
af5c4d09c4
Re-enable nonTransitiveRClass
2024-07-06 01:31:43 -07:00
topjohnwu
872394cb58
Decouple core module from AppCompatActivity
2024-07-05 00:49:26 -07:00
topjohnwu
fcbbe9a22e
Move :app to :app:apk
2024-07-04 02:27:20 -07:00
topjohnwu
b168163ef0
Move :stub to :app:stub
2024-07-04 00:21:34 -07:00
topjohnwu
3e38b8fed1
Separate core codebase into its own module
...
- Separate UI specific code and resources outside of the core
application logic
- Allow most of the code to move forward and use KSP for annotation
processing and isolate rotton code that is stuck with databinding
- Make full UI rewrite more feasible
2024-07-04 00:02:42 -07:00
kubalav
f90c548f27
Update Slovak translation
2024-07-03 22:55:31 -07:00
igor
c981c40218
Update Portuguese translation
2024-07-03 22:55:12 -07:00
Rom
dcbf37c5e8
Update French translation
...
To match with changes of "Add option to disable filename randomization"
2024-07-03 22:54:47 -07:00
topjohnwu
300b233a27
Simplify MediaStoreUtils
2024-07-02 17:15:27 -07:00
topjohnwu
e32cd03d0b
Update docs to cover riscv64
2024-07-02 14:53:46 -07:00
LoveSy
a07b9315a5
Add riscv64 support
2024-07-02 14:34:22 -07:00
topjohnwu
e9694c6195
Add option to disable filename randomization
2024-07-02 14:28:26 -07:00
Wang Han
4a2a37c87a
Catch PendingIntent.CanceledException caused by send()
...
Accidentally changed in 050a073
.
2024-07-02 14:24:27 -07:00
vvb2060
7dca5b831a
check empty init_boot partition
...
For upgrading devices that continue to use Android 12 or older kernel versions, the generic ramdisk remains where it was with no requirement for a new init_boot image.
2024-07-02 14:23:28 -07:00
topjohnwu
be5ff68140
Exclude apache commons codec resources
2024-07-01 18:56:08 -07:00
topjohnwu
59f40d5fe5
Move manager.sh to app_functions.sh
2024-07-01 18:42:05 -07:00
topjohnwu
1fbd053a42
Prevent polluting global shell env
2024-07-01 18:20:21 -07:00
topjohnwu
966c6314f8
Cleanup configs
2024-07-01 17:23:48 -07:00
Li Hua
c92204c724
Update Simplified Chinese Translation
...
Signed-off-by: Li Hua <lihua@email.com >
2024-07-01 14:51:06 -07:00
igor
bb9947d4d2
Update Portuguese translation
2024-07-01 14:50:52 -07:00
Wang Han
7c8cdb4ad6
Set default visibility of restart button to GONE
...
This fixes the issue that button still shows when installation fails.
2024-07-01 14:50:34 -07:00
Wang Han
bd7f9c9e46
Unset FLAG_ACTIVITY_NO_HISTORY for SuRequestActivity
...
This fixes device credential confirm activity on OnePlus devices
because SuRequestActivity is accidentally finished before a valid
response is delivered to it.
2024-07-01 14:50:09 -07:00
vvb2060
9a33a4dfe2
Fix StackOverflowError
...
Now field from base class java.io.ByteArrayOutputStream shadows the property with custom getter from derived class com.topjohnwu.magisk.core.utils.AXML.RawByteStream. This behavior will be changed soon in favor of the property. Please use explicit cast to java.io.ByteArrayOutputStream if you wish to preserve current behavior. See https://youtrack.jetbrains.com/issue/KT-55017 for details
2024-07-01 14:36:20 -07:00
topjohnwu
47e918bc92
Fix vbmeta.img tar patching
2024-07-01 03:20:09 -07:00
Wang Han
c194168d9b
Fix item match when extracting lib from stub
...
Close #8083 .
2024-06-29 22:14:24 -07:00
topjohnwu
cacc60b1ac
Migrate to Apache commons-compress
...
Close #8121
2024-06-29 22:11:02 -07:00
topjohnwu
52063b3652
Update to Kotlin 2.0.0
2024-06-29 17:04:40 -07:00
topjohnwu
85a4eaff59
Release new canary build
2024-06-28 16:16:41 -07:00
topjohnwu
45fa1fce70
Update libsu
2024-06-28 15:45:40 -07:00
loselarry
2112c916f5
chore: remove repetitive word
...
Signed-off-by: loselarry <bikangning@yeah.net >
2024-06-22 19:17:20 -07:00
LoveSy
d6e159bff9
Use pidfd in more senarios
2024-06-22 19:16:58 -07:00
LoveSy
2f710a564f
allow more -v
for build.py
for more verbose output
2024-06-22 19:16:37 -07:00
Fontan030
27cfc4945c
Kazakh translation
2024-06-22 18:53:14 -07:00
eklerismunir
7cdada92c8
Improve azerbaijani locales and add the missing strings
2024-06-22 18:52:59 -07:00
topjohnwu
8f1e57d4f9
16k pages on x64 is broken
2024-06-22 18:51:44 -07:00
topjohnwu
8178666b49
Add 16k page testing in CI
2024-06-21 03:13:16 -07:00
topjohnwu
313532dcaa
Disable verbose output by default
2024-06-21 02:45:48 -07:00
topjohnwu
2f8f3dc266
Add new test cases
2024-06-20 21:39:30 -07:00
topjohnwu
df6ada5ce3
Update avd_test to support custom type
2024-06-20 18:25:49 -07:00
topjohnwu
a89b9e6af1
Support 16K page size
2024-06-18 22:04:53 -07:00
topjohnwu
23ed275614
Update to ONDK r27.2
2024-06-18 14:34:30 -07:00
topjohnwu
cfd1e0cf22
Update libsu and dependencies
2024-06-18 11:26:18 -07:00
topjohnwu
eb400f19b1
Support Python 3.12+
2024-06-18 03:36:16 -07:00
LoveSy
19f15f16f6
Use icf to further minimize binary size
2024-06-10 14:47:26 -07:00
topjohnwu
e158cfddfa
Update system_properties
2024-06-07 13:51:24 -07:00
pndwal
d0cf93a08d
Fix typos install.md
2024-06-06 21:12:18 -07:00
LoveSy
08ad0e74dd
Upgrade deps
...
Co-authored-by: vvb2060 <vvb2060@gmail.com >
2024-06-06 21:11:52 -07:00
topjohnwu
722374a024
Update system_properties
2024-06-05 18:42:30 -07:00
LoveSy
c6f0762510
Use pidfd_open for setns
...
which is more efficient on newer kernel
2024-05-20 03:26:55 +08:00
LoveSy
941a363c5a
Support waiting on non-exist prop
2024-05-18 13:55:33 +08:00
Arbri çoçka
2afcdc64a0
Update strings.xml sq
2024-05-18 13:52:31 +08:00
VD $ VD171 @ Priv8
3c66c4bbc5
Update PORTUGUESE translation
2024-05-18 13:52:14 +08:00
VD $ VD171 @ Priv8
9f5cd5e1cc
Update PORTUGUESE translation
2024-05-18 13:52:14 +08:00
kubalav
a35f2bb73b
Update Slovak translation
2024-05-18 13:51:59 +08:00
topjohnwu
6cf00130f4
Check Magisk version instead of app version
2024-05-15 12:42:55 +08:00
topjohnwu
6c27ba6b88
Rename db entry name
2024-05-15 12:42:55 +08:00
vvb2060
dd3b9980e7
app: add safe mode config to menu
2024-05-15 12:42:55 +08:00
vvb2060
02e189a029
core: add safe mode config to db
2024-05-15 12:42:55 +08:00
topjohnwu
72b8d12ee4
Update development guide
2024-05-11 20:40:33 -07:00
topjohnwu
eed03080c1
Update to ONDK r27.1
2024-05-09 09:42:40 -07:00
LoveSy
090cb4b0f9
Upgrade AGP to 8.4.0
2024-05-09 09:42:27 -07:00
topjohnwu
6f2c76b898
Fix build script
2024-05-09 02:19:24 -07:00
topjohnwu
f61827cbec
Switch rustup_wrapper to Rust implementation
...
For better Windows portability
2024-05-09 02:19:07 -07:00
topjohnwu
3f2264f2c7
Support rustup wrapper
2024-05-09 00:34:12 -07:00
topjohnwu
c1cadf4bdc
Update build.py to use pathlib
2024-05-09 00:31:41 -07:00
Rodrigo Martínez
0e56991369
Improve and add missing strings for Spanish
2024-04-29 22:23:02 -07:00
LoveSy
4dc1c59040
add missing xz_dec_end
2024-04-29 22:22:47 -07:00
topjohnwu
33b7b8b297
Update resetprop
2024-04-26 16:42:24 -07:00
topjohnwu
e6af5ed460
Address Rust warnings
2024-04-26 16:28:46 -07:00
topjohnwu
b678afa4b6
Update to ONDK r27.0
...
Co-authored-by: LoveSy <shana@zju.edu.cn >
2024-04-26 03:09:44 -07:00
WINZORT
4bac2df4e7
Improve turkish locales and add the missing strings
2024-04-18 02:14:21 -07:00
igor
50416eee09
Improve Portuguese translation
2024-04-18 02:13:50 -07:00
igor
73cf501d33
Improve Brazilian Portuguese translation
2024-04-18 02:13:50 -07:00
Hen_Ry
d2b7907bed
Update german strings.xml
2024-04-18 02:13:28 -07:00
topjohnwu
99d5dd5ea8
Update crt0
2024-04-17 10:12:27 -07:00
cloudchamb3r
5fdb841fa8
Fix typo
...
Fix typo in values-ko/strings.xml
2024-04-17 09:18:14 -07:00
topjohnwu
7c88484d64
Fix #7988
2024-04-16 19:45:01 -07:00
topjohnwu
b22b6a4204
Refactor cpio
2024-04-10 22:46:21 -07:00
topjohnwu
2a3d34c812
Fix mkdirs
2024-04-10 22:36:47 -07:00
topjohnwu
c50ee722a1
Use memmem for finding needle in haystack
2024-04-10 14:57:44 -07:00
topjohnwu
ffc1e38e48
Add 32 bit CI
2024-04-10 02:56:23 -07:00
topjohnwu
6219d5fcbf
Update crt0 for 32 bit
2024-04-10 02:43:37 -07:00
topjohnwu
2e4440b702
Support 32-bit magiskboot
2024-04-09 19:34:14 -07:00
topjohnwu
0d9ec0931b
Code cleanup
2024-04-08 23:00:59 -07:00
vvb2060
60e8415369
Make denylist work when zygisk is disabled
...
Co-authored-by: topjohnwu <topjohnwu@gmail.com >
2024-04-08 23:00:50 -07:00
LoveSy
652a26d5d9
Fix comment of sepolicy
2024-04-03 21:03:41 -07:00
topjohnwu
f57839379a
Update RustCrypto dependencies
2024-04-03 21:03:05 -07:00
LoveSy
36bd00a046
Add p521 to magiskboot
2024-04-03 21:03:05 -07:00
topjohnwu
fb5ee86615
Install one single ABI in ramdisk
2024-03-31 22:01:22 -07:00
topjohnwu
30bf5c8448
Fix typos
2024-03-31 14:17:25 -07:00
topjohnwu
2051836a73
Remove unused code
2024-03-30 21:03:51 -07:00
topjohnwu
2cb0af1ff3
Move revert_unmount into Rust
2024-03-30 02:51:39 -07:00
topjohnwu
a1b6568226
Implement preinit related features in Rust
2024-03-28 14:11:03 -07:00
topjohnwu
1eddbfd72c
Use const_format for const strings
2024-03-26 18:03:40 -07:00
topjohnwu
21ed095601
Update crt0
2024-03-25 16:11:02 -07:00
Js0n
000a2e4d59
Upgrade AGP to 8.3.1
2024-03-22 17:02:18 -07:00
Js0n
7abe635de9
fix: AGP 8.3.X
2024-03-22 17:02:18 -07:00
topjohnwu
9a008c17ba
Optimize for binary size
2024-03-22 16:53:44 -07:00
topjohnwu
08dbf728a4
Allow platform_app to access MagiskSU
2024-03-22 16:53:44 -07:00
topjohnwu
4670f762d3
Disable debug only features
2024-03-22 16:53:44 -07:00
topjohnwu
efa49567fa
Fix parsing logic for term and sterm
2024-03-21 18:17:28 -07:00
topjohnwu
0ffc4527a7
Better error reporting
2024-03-21 15:10:34 -07:00
topjohnwu
dd9d43be96
Move sepolicy parsing error message into Rust
2024-03-21 14:07:28 -07:00
topjohnwu
865fca71a5
Optimize sepolicy rules
...
Close #7916
Co-authored-by: vvb2060 <vvb2060@gmail.com >
2024-03-21 01:51:35 -07:00
topjohnwu
6b4baa3bcd
Change a little parsing handling
2024-03-21 00:04:09 -07:00
topjohnwu
a9ee2d7d18
Fix xperm parsing logic
2024-03-20 23:13:54 -07:00
topjohnwu
d654b9cb97
Several code cleanups in sepolicy
2024-03-20 23:09:22 -07:00
LoveSy
4d2921e742
Rewrite sepolicy statement parsing in Rust
2024-03-20 10:12:23 -07:00
vvb2060
ecc74d45d1
Let magic mount optional
2024-03-19 23:21:41 -07:00
vvb2060
5de597f079
No need to unshare
2024-03-19 23:21:41 -07:00
LoveSy
156b0e67ca
No need extra tmpfs for worker
2024-03-19 23:21:41 -07:00
vvb2060
10069215f4
Rename dir name
2024-03-19 23:21:41 -07:00
LoveSy
92b305a389
Remove unnecessary mirror for magic mount
...
Mirror was previously used for accessing the original file during
magic mount when we are using a tmpfs to cover the target. However,
since we introduce atomic mount, we switch all tmpfs mount in
worker and then move to the target at once. It means that we can
still access the original file when we are constructing the tmpfs
mount point. Thus we no longer need mirror.
2024-03-19 23:21:41 -07:00
topjohnwu
d20b30c771
Update libsepol
...
Close #7915
2024-03-19 02:54:01 -07:00
topjohnwu
83209b21ff
Release new canary build
2024-03-19 00:51:07 -07:00
topjohnwu
81658d45f7
Support tar with files larger than 8GiB
...
Fix #7838
2024-03-14 16:54:46 -07:00
topjohnwu
c951b208a1
Always update stub APK when upgrade
2024-03-14 14:31:02 -07:00
topjohnwu
050a073771
Make all I/O suspendable
2024-03-12 03:24:42 -07:00
topjohnwu
21d374214f
Minor cleanup of DownloadEngine
2024-03-12 03:14:06 -07:00
LoveSy
19ea25a9d0
Upgrade AGP
2024-03-08 17:12:46 -08:00
topjohnwu
dbf6e40dfe
Ensure stub APK is expected
...
Fix #7884
2024-03-08 17:09:54 -08:00
topjohnwu
d56f4fbc90
Fix stub on API 34
2024-03-08 15:57:49 -08:00
topjohnwu
73c3d741a7
Reorganize some code
2024-03-06 18:07:01 -08:00
pndwal
2b5fc75127
Update faq.md
...
Since system Safe Mode may activate without Magisk 'Safe Mode', this clarification will prevent users from erroneously concluding either that Safe Mode doesn't work or that modules are not the issue since 'Safe Mode' was apparently triggered...
Fixes this: #4624
2024-03-06 17:48:54 -08:00
osm0sis
991802ab82
Add no decompression flag to magiskboot split
2024-03-06 16:15:30 -08:00
WindowsFan9600
7f6b5305ba
Improve Turkish language translation
...
Updated "reboot_download" string
2024-03-06 02:37:58 -08:00
canyie
825c6c4316
Reverse format template argument order
2024-03-06 01:39:16 -08:00
canyie
f00408c793
Fix zygote restart monitor
2024-03-06 01:39:16 -08:00
topjohnwu
a6ff3672af
Update crt0
2024-03-04 16:42:25 -08:00
LoveSy
2290ddeb89
Fix segfault when sepolicy.rule has empty line
2024-03-02 06:15:45 -08:00
topjohnwu
74af79ad03
Update crt0
2024-03-02 05:57:48 -08:00
LoveSy
b6c24a3a8a
No more sony init.real
tricks
...
Co-authored-by: canyie <a1364259@163.com >
Co-authored-by: vvb2060 <vvb2060@gmail.com >
2024-02-29 23:40:00 -08:00
LoveSy
a8c2ae223a
Avoid hexpatch /init for 2SI when possible
...
Previous we hexpatch /init from /system/bin/init to /data/magiskinit
to redirect the second stage init. However, some devices like sony
has /init that does not directly invoke /system/bin/init, and thus
the hexpatch fails.
In this patch, we further make use of AOSP `SwitchRoot` to help us
bind mount /data/magisk to /system/bin/init after `SwitchRoot`.
Two important assumption about 2SI are i) that the second stage init
is always /system/bin/init and ii) that the /sdcard (path after
`SwitchRoot`) is always a symlink to `/storage/self/primary`. When
these assumptions hold, during first stage init (before `SwitchRoot`)
we can bind mount magiskinit to /sdcard, and create a symlink
/storage/self/primary to /system/system/bin/init. By these steps,
during `SwitchRoot`, AOSP init will try to mount move /sdcard to
/system/sdcard. And /system/sdcard is symlink to /storage/self/primary,
it will try to mount move /sdcard to /storage/self/primary. And
/storage/self/primary in ramfs is now a symlink that points to
/system/system/bin/init, thus AOSP will try to mount move /sdcard
(which is a bind mount to magiskinit) to /system/system/bin/init.
After chroot done by AOSP init, we then have a magiskinit bind mount
on /system/bin/init, which is the second stage init.
An edge case is that some devices (like meizu) use 2SI but
does not switch root. In this case, they must already have a /sdcard
in the ramfs, thus we can check if /sdcard exists and fallback to
hexpatch.
2024-02-29 23:40:00 -08:00
topjohnwu
953d44302c
Remove ancient NDK binaries
2024-02-29 23:26:58 -08:00
topjohnwu
24e46a5971
Build magiskboot with crt0
2024-02-29 02:36:05 -08:00
topjohnwu
b1297c4192
Less usage of C stdio
2024-02-28 15:52:03 -08:00
topjohnwu
9ae328fd84
Further reduce code size
2024-02-28 11:19:56 -08:00
topjohnwu
625a1d6f44
Remove seek support from streams
2024-02-28 11:07:53 -08:00
topjohnwu
987e5f5413
Address clippy warnings
2024-02-27 21:03:34 -08:00
topjohnwu
715284b70d
Reorganize code
2024-02-27 18:14:30 -08:00
LoveSy
62fc7868ac
Use self implemented parse_mount_info
2024-02-27 17:03:22 -08:00
topjohnwu
1a70796339
Replace all parse_mount_info usage with Rust
2024-02-27 03:49:17 -08:00
topjohnwu
af6965eefa
Update init logging implementation
...
Use less std::fs
2024-02-26 17:49:11 -08:00
topjohnwu
8f7d2e38f7
Make crt0 an external submodule
2024-02-26 17:34:17 -08:00
topjohnwu
be433fa667
Use Rust for formatting
...
The fprintf implementation included in crt0 is too rudimental
2024-02-26 00:26:23 -08:00
topjohnwu
0ccd6e7381
Fix fread and fwrite implementation
2024-02-25 23:20:30 -08:00
topjohnwu
907bbbda41
Remove usage of patched static lib
2024-02-25 22:11:34 -08:00
topjohnwu
4393bc077d
Implement string routines
2024-02-25 21:12:19 -08:00
topjohnwu
365b373480
Make it easy to build without crt0
2024-02-24 22:32:22 -08:00
topjohnwu
47e6dd286d
Minor fixes
2024-02-24 22:00:09 -08:00
topjohnwu
0dbaf52566
Make all platforms build properly
2024-02-24 05:10:54 -08:00
topjohnwu
66f49dfab5
Remove unnecessary lock usage
2024-02-24 04:20:28 -08:00
topjohnwu
f8967e9274
Implement strerror
2024-02-24 04:02:46 -08:00
topjohnwu
a4f008fde5
Reorganize files
2024-02-24 03:41:22 -08:00
topjohnwu
e9980c778b
Implement stub functions
2024-02-24 03:41:03 -08:00
topjohnwu
06b6fb0c33
Add setenv
2024-02-24 03:27:09 -08:00
topjohnwu
38cb3d4105
Add dirent implementation
2024-02-24 03:26:53 -08:00
topjohnwu
db99caf258
Use execve directly
2024-02-24 01:47:11 -08:00
topjohnwu
39dbffadfe
Complete stdio
2024-02-24 01:28:58 -08:00
topjohnwu
b7505c3c9c
Remove fopen usage in magiskinit
2024-02-24 00:45:07 -08:00
topjohnwu
3185e5a7ca
Introduce string/mem functions
2024-02-23 23:56:31 -08:00
topjohnwu
e0cbe28711
Add the generic syscall function
2024-02-23 18:41:39 -08:00
topjohnwu
66cee19cea
Add printf and sscanf family
2024-02-23 17:44:12 -08:00
topjohnwu
2ec29ade79
Add all missing syscalls
2024-02-23 14:35:12 -08:00
topjohnwu
c865d4e187
Add memory allocator
2024-02-22 21:22:27 -08:00
topjohnwu
a42a0a53ce
Declare more symbols
2024-02-22 21:22:27 -08:00
topjohnwu
6d79de7d71
Initial crt0 implementation
...
Builds but cannot link, missing a lot of symbols
2024-02-22 21:22:27 -08:00
topjohnwu
7e9abe6e90
Update ONDK
2024-02-22 20:58:40 -08:00
残页
4d5510be4f
Prompt users to use reboot button in System Updates
...
So the update engine can write verify info of partitions which fixes bootloop on newer Pixel devices
2024-02-19 02:14:12 -08:00
topjohnwu
b04e1394c0
Update README
2024-02-07 14:39:53 -08:00
topjohnwu
2aa923191e
Rename DownloadManager to DownloadEngine
...
Also add some documentation
2024-02-06 17:54:15 -08:00
topjohnwu
4bf1c74164
Disable foreground service on API 34+
2024-02-06 17:29:42 -08:00
topjohnwu
472c7878b2
Update AGP
2024-02-06 17:04:48 -08:00
topjohnwu
38ad871e33
Use user-initiated jobs for download tasks on API 34+
2024-02-06 17:04:39 -08:00
topjohnwu
c5d34670c4
Isolate download logic from service lifecycle
2024-02-06 00:56:14 -08:00
topjohnwu
154121f3dd
Release new canary build
2024-02-02 23:51:35 -08:00
topjohnwu
3d91a561fe
Update README
2024-02-02 23:35:14 -08:00
topjohnwu
2c6adbc69b
Release Magisk v27.0
2024-02-02 22:54:41 -08:00
topjohnwu
5280982363
Add v27.0 changelog
2024-02-02 22:47:35 -08:00
topjohnwu
18c45ae289
Update cxx and Rust dependencies
2024-02-02 14:35:30 -08:00
LoveSy
41fbd2a7be
Upgrade gradle
2024-02-02 10:55:11 -08:00
LoveSy
5e45884af4
Use Apple Silicon for CI
...
https://github.blog/changelog/2024-01-30-github-actions-introducing-the-new-m1-macos-runner-available-to-open-source/
2024-02-01 15:09:42 -08:00
topjohnwu
d78ee171bc
Release new canary build
2024-01-30 15:59:02 -08:00
LoveSy
356ee1febd
Code clean up
2024-01-30 11:07:37 -08:00
LoveSy
cc044ccc4c
Fix zygisk unload
2024-01-30 11:07:37 -08:00
LoveSy
9c638cc463
Remove rust workaround
2024-01-29 15:07:21 -08:00
topjohnwu
df786eb2b6
Separate Linux and other jobs
2024-01-29 01:53:09 -08:00
topjohnwu
8e7186eebb
Try out composite actions
2024-01-29 01:36:51 -08:00
topjohnwu
74b7b84561
Test all APIs on Linux
2024-01-28 00:46:03 -08:00
topjohnwu
308c9999fa
Properly detect package changes
2024-01-28 00:42:43 -08:00
topjohnwu
930bb8687f
Minor zygisk refactoring
2024-01-25 00:17:47 -08:00
topjohnwu
f2c4288d2d
Run pthread_atfork only once
...
Close #7704
2024-01-25 00:17:05 -08:00
topjohnwu
b44141ae39
Run tests on Linux
2024-01-22 18:10:26 -08:00
kam821
86e0020964
Update Polish translation
...
- Added missing strings, fixed translation, escaped quotas.
- Some context dependent values (like target_pid) may require better translation in the future.
- Also, 'DenyList' translation, although correct, could be replaced in the future by better fitting polish equivalent of 'block list' / 'rejection list'.
2024-01-17 16:13:20 -08:00
残页
94d3daeadf
Fix Sony init.real check
2024-01-17 16:09:50 -08:00
LoveSy
79334b7702
One stage zygisk loading
2024-01-11 16:19:39 -08:00
LoveSy
df66458db6
Check full path of init.rc instead of its dir
...
Some devices has `/system/etc/init/hw` but has no init.rc in it.
2024-01-11 16:18:57 -08:00
LoveSy
97705704e2
install or uninstall apk asynchronously
2024-01-11 16:16:36 -08:00
topjohnwu
1206179580
Update dependencies
2024-01-10 15:46:30 -08:00
topjohnwu
a0b8aa4da6
Release new canary build
2023-12-27 01:42:42 +08:00
topjohnwu
65207f96c8
Create custom cxx binding to Utf8CStr
2023-12-26 23:10:55 +08:00
Abhishek Girish
062e498bdd
Update Malayalam translations
2023-12-25 18:46:08 +08:00
topjohnwu
1057cb3e3c
Set serial on Rust binding
2023-12-24 04:36:58 +08:00
topjohnwu
2dd23b2518
Update system_properties
2023-12-24 04:36:58 +08:00
RafaeloxMC
8cab12998c
Update strings.xml / German translation
2023-12-23 16:49:47 +08:00
topjohnwu
48b1c26dc8
Prevent race condition in wait
2023-12-23 06:33:12 +08:00
topjohnwu
f1e0bc3e4a
Use platform implementation if possible
2023-12-23 06:24:20 +08:00
topjohnwu
38527cd58f
Slightly change wait usage and API
2023-12-23 06:23:29 +08:00
LoveSy
e94d65b4b2
Add resetprop -w
for waiting property change
...
It's very easy to wait for property change both in Java and C++,
but it's not the case in shell script. With this patch, developers
can now easily to wait for property change, just like what we have
in `.rc` files, and to wait for boot complete.
2023-12-23 00:12:42 +08:00
LoveSy
27ece3c7df
Keep mirror shared before magic mount
...
This allows mounting during post-fs-data be kept after magic mount
2023-12-22 21:39:03 +08:00
LoveSy
06687abffc
Fix magisk --stop by making mirror shared
...
Previously mirror is private and then unshared to zygote, which
makes magisk --stop cannot propagate umount mirror to zygote.
2023-12-22 21:39:03 +08:00
vvb2060
deedb462a0
Hide magisk internal mount point
2023-12-22 21:38:15 +08:00
igor
c48962bdf7
Update Portuguese translation
2023-12-22 01:31:55 +08:00
Wang Han
1ef3f6e13b
Remove useless rule for prctl PR_SET_MM
...
* There is no use-case for it now.
2023-12-22 00:36:06 +08:00
topjohnwu
83a34a9004
Update emulator
2023-12-21 21:30:35 +08:00
topjohnwu
e30bda6c8d
Rebase libsepol to AOSP main
2023-12-21 19:23:02 +08:00
vvb2060
00e9d76a5a
Revert "Avoid doing any unmounts for SysUI"
2023-12-20 17:23:17 +08:00
LoveSy
6cda6c2fae
Upgrade github action deps
2023-12-18 16:25:56 +08:00
VD $ VD171 @ Priv8
6dfda6dc39
Update Portuguese Translation
2023-12-18 16:24:14 +08:00
LoveSy
f41994cb52
Skip svc for ro properties
...
ro properties' triggers should only be triggered once, otherwise it
may undefined behaviour.
This patch avoids triggering ro properties' actions again when using
resetprop to modify them.
Co-authored-by: 5ec1cff <ewtqyqyewtqyqy@gmail.com >
2023-12-18 16:21:08 +08:00
topjohnwu
a003336497
Update system_properties for pre Android 10
2023-12-18 16:21:08 +08:00
LoveSy
401090d6fe
Avoid zygiskd restarts when boot-complete
2023-12-18 16:21:08 +08:00
LoveSy
90dcc1cd30
Do not always zero initialize for rust resize vec
2023-12-18 16:21:08 +08:00
LoveSy
2ac464b186
Only compress regular file
2023-12-18 16:21:08 +08:00
LoveSy
8b7fae278b
Support compressing during cpio backup
2023-12-18 16:21:08 +08:00
topjohnwu
d73c2daf6d
Use special emulator to make tests less flaky
2023-12-16 15:50:53 +08:00
topjohnwu
ca25935de3
Release new canary build
2023-12-14 03:21:22 +08:00
LoveSy
d7750b7220
uiautomator dump to /data/local/tmp
2023-12-13 03:28:30 +08:00
LoveSy
98861f0b5a
Clone dir attr for tmpfs in advance
2023-12-13 03:28:30 +08:00
topjohnwu
e35925d520
Properly version zygisk APIs
2023-12-13 03:27:38 +08:00
Kieron Quinn
685a2d2101
Fixes for Android 14 QPR2 B2
...
Added new method signatures and arguments
2023-12-13 00:16:54 +08:00
LoveSy
f7e471616d
Fix clone_attr for newly created dirs
2023-12-10 23:37:47 +08:00
残页
c013a349af
Update install guide
...
- Remove boot vbmeta patching because the checkbox is removed in b1363ee
- Remove meaningless slot argument from `fastboot flash` as it will automatically flash the active slot. Fix #7571
2023-12-10 23:37:02 +08:00
topjohnwu
61ea59a27b
API 34 AOSP ATD image is released
2023-12-08 17:59:24 +08:00
VD $ VD171 @ Priv8
e55f338367
Update Portuguese Translation
2023-12-08 17:03:48 +08:00
VD $ VD171 @ Priv8
1425cf4105
Update Portuguese Translation
2023-12-08 17:03:48 +08:00
topjohnwu
b493a985b0
Update dependencies
2023-12-08 17:03:18 +08:00
canyie
1fe9ede940
Update selinux to disable validation for policydb
2023-12-08 16:50:45 +08:00
LoveSy
1fd49e4987
Make tmpfs mount of magic mount atomic
...
This avoid system libraries disappear temporarily during magic mount,
which causes some dynamic executables fails to run during post-fs-data.
2023-12-08 13:59:02 +08:00
LoveSy
d49b02b274
Fix zygiskd not restart when zygote restarts
2023-12-07 20:44:44 +08:00
LoveSy
d47e70cfaa
Fix native symbol strips
...
`ndkVersion` is also needed by app for striping native symbols.
Set it in `setupCommon` instead.
2023-12-04 00:37:09 +08:00
topjohnwu
40cb031af5
Release new canary build
2023-12-04 00:30:46 +08:00
topjohnwu
1dcf325547
Minor cleanup
2023-12-03 19:32:58 +08:00
LoveSy
4e99997013
Upgrade AGP
2023-12-02 15:25:58 +08:00
LoveSy
334554697d
Enable rust parallel front-end
...
See https://blog.rust-lang.org/2023/11/09/parallel-rustc.html
2023-12-02 15:25:41 +08:00
LoveSy
e77cbd0c15
Upgrade gradle
2023-11-30 11:49:40 +08:00
topjohnwu
46ba008b9d
Disable SCCACHE_DIRECT
2023-11-30 01:55:38 +08:00
LoveSy
58aded31c2
Enable iter_intersperse
2023-11-29 23:47:51 +08:00
LoveSy
6f6b0ade06
Correct cpio's norm_path
2023-11-29 23:47:51 +08:00
topjohnwu
d9b67a207b
Update ONDK
2023-11-27 17:41:11 +08:00
topjohnwu
c7083659aa
Directly guard boot state with mutex
2023-11-27 17:40:58 +08:00
topjohnwu
a6d1803105
Update dependencies
2023-11-26 23:09:20 +08:00
Re*Index. (ot_inc)
66eef75673
Update strings.xml
2023-11-26 22:54:53 +08:00
Alessandro Sangiorgi
367f5f7b44
Update italian translation
...
Co-authored-by: Francesco Saltori <francescosaltori@gmail.com >
2023-11-26 22:54:33 +08:00
topjohnwu
0edcb03c45
Update test API levels
2023-11-26 21:41:43 +08:00
canyie
63eef153de
Warn about unsupported installation methods
2023-11-17 13:58:41 -08:00
canyie
68442f38ac
Misc changes
...
- actions: Update all actions/checkout references to v4
- magiskboot: Add missing new line to dtb help message
- docs: Update documents, fix some errors and remove outdated info
2023-11-17 13:58:41 -08:00
topjohnwu
8d5b9e5329
C++/Rust 2 way binding for MagiskD
2023-11-17 13:35:50 -08:00
topjohnwu
6c0966b795
Move some global state into Rust
2023-11-16 15:38:38 -08:00
topjohnwu
7c2e93d266
Introduce owned_fd
2023-11-16 15:38:38 -08:00
topjohnwu
1ff7b9055f
Add LSPosed launch test
2023-11-16 15:38:38 -08:00
topjohnwu
49f241b77c
Allow running scripts with incomplete env
2023-11-10 00:55:05 -08:00
topjohnwu
cfb20b0f86
Zygisk refactoring part 2
2023-11-09 20:55:58 -08:00
topjohnwu
6d6f14fcb3
Use bitflags
2023-11-09 14:35:49 -08:00
topjohnwu
977c981265
Make sure native bridge is restored on daemon restart
2023-11-08 17:55:25 -08:00
topjohnwu
ef48abf19d
Reorganize zygisk code
2023-11-08 17:46:39 -08:00
topjohnwu
65c18f9c09
Restructure project files
2023-11-08 01:46:02 -08:00
残页
ecb31eed40
Prevent Zygisk from closing new fds created by Zygote itself
2023-11-08 00:34:38 -08:00
topjohnwu
a80cadf587
Refactor hookJniNativeMethods
...
Utilize NativeBridgeRuntimeCallbacks we obtained from native bridge
to directly fetch and modify registered native JNI methods.
By doing so, we do not need to keep a copy of every single
JNINativeMethod registered in order to provide JNI hooking
functionality.
Co-authored-by: LoveSy <shana@zju.edu.cn >
2023-11-07 23:57:55 -08:00
LoveSy
fce1bf2365
Obtain NativeBridgeRuntimeCallbacks for future use
...
NativeBridgeRuntimeCallbacks can be used for better JNI method hooking
Co-authored-by: topjohnwu <topjohnwu@gmail.com >
2023-11-07 16:56:40 -08:00
LoveSy
cbc6d40b2c
Clean up codes
2023-11-07 14:25:57 -08:00
LoveSy
9fbd079560
Refactor zygisk to use native bridge to inject
...
Co-authored-by: vvb2060 <vvb2060@gmail.com >
Co-authored-by: topjohnwu <topjohnwu@gmail.com >
2023-11-07 14:25:57 -08:00
LoveSy
42eb928054
Inject zygisk.rc for sync --zygisk-restart
2023-11-06 15:39:48 -08:00
topjohnwu
577483fde1
Release new canary build
2023-11-05 23:49:35 -08:00
topjohnwu
aa6c7c15cc
Update README
2023-11-05 23:44:07 -08:00
topjohnwu
6c807d35b2
Release Magisk v26.4
2023-11-05 23:31:15 -08:00
topjohnwu
8ca8cdae97
Add v26.4 release notes
2023-11-05 23:07:53 -08:00
topjohnwu
75e37be6f3
Do not need to check pkg in magisk_env
2023-11-05 23:02:40 -08:00
WindowsFan9600
4985314ca6
Update language "tr" on main application
2023-11-05 22:37:39 -08:00
topjohnwu
ac5ceb18c8
Guard log FIFO with SELinux
2023-11-04 23:59:11 -07:00
topjohnwu
72b39594d3
Always close logd_fd during fork
2023-11-04 02:36:14 -07:00
topjohnwu
16ae4aedf1
Remove usage of MAGISKTMP
2023-11-02 15:50:36 -07:00
topjohnwu
3ba00858e6
Allow avd_magisk on API 28
2023-11-01 09:15:17 -07:00
topjohnwu
489100c755
Fix fd sanitization
2023-11-01 02:01:29 -07:00
topjohnwu
da766f2a4e
Do not go through magiskd for getting the log pipe
2023-11-01 02:01:18 -07:00
topjohnwu
c81d7ff76c
Remove unnecessary RefCell usage
2023-10-31 18:22:48 -07:00
topjohnwu
a6e50d3648
Make log pipe a FIFO instead of anonymous pipe
2023-10-31 18:05:22 -07:00
topjohnwu
a177846044
Better logging in recv_fds
2023-10-31 17:40:59 -07:00
topjohnwu
19a4e11645
Make tmpfs path static strings
2023-10-29 00:47:28 -07:00
topjohnwu
67cc36268e
Simplify zygisk log pipe
2023-10-26 18:13:56 -07:00
topjohnwu
28770b9a32
Support baseline profiles
2023-10-26 15:56:51 -07:00
WindowsFan9600
9f92e1bf15
[STRINGS] Improve Turkish (tr) language
2023-10-26 15:23:35 -07:00
topjohnwu
23fe5d5a19
Update build.yml
2023-10-26 14:50:42 -07:00
LoveSy
9088b584f6
Use official argh
2023-10-25 15:14:16 -07:00
vvb2060
beaf636415
Use ccache for C code
2023-10-25 15:05:41 -07:00
vvb2060
09bb2fe8dc
Update dependencies
2023-10-25 14:58:02 -07:00
tzagim
1d6747d90e
Update Hebrew translation
2023-10-24 21:06:15 -07:00
南宫雪珊
efadd94de3
Update strings.xml
2023-10-24 21:02:32 -07:00
vvb2060
8c0b4e444a
Update zh-rCN translation
2023-10-24 21:02:32 -07:00
Rom
32c7106e40
Update French translation
2023-10-24 21:01:53 -07:00
topjohnwu
d2f2a9e4c8
Make avd_test less flaky
2023-10-24 16:45:24 -07:00
topjohnwu
985454afd4
Better logging
2023-10-24 16:41:49 -07:00
topjohnwu
9e1322de25
Make sure the shared preference is committed
2023-10-24 16:41:38 -07:00
topjohnwu
4e4ec73d94
Make gradle.properties optional
2023-10-19 15:44:34 -07:00
topjohnwu
bb39a524d0
Switch to default images for faster boot time
2023-10-19 05:31:03 -07:00
topjohnwu
196d9af099
Add application and Zygisk tests to avd_test.sh
2023-10-19 05:15:53 -07:00
topjohnwu
1eeb2a34a1
Don't support alternative binary paths
...
The Magisk app will guide users through repair setup
2023-10-19 05:11:43 -07:00
Arbri çoçka
cf43c56218
Update strings.xml sq
2023-10-18 14:29:55 -07:00
kubalav
e6c1aec443
Update Slovak translation
2023-10-18 14:29:38 -07:00
topjohnwu
43fd1c4c1b
Update stub version
2023-10-17 19:22:53 -07:00
topjohnwu
022caca979
Release new canary build
2023-10-17 19:13:16 -07:00
topjohnwu
0352ea2cca
Rename biometrics to user authentication
2023-10-17 18:43:27 -07:00
topjohnwu
e483d6befe
Do not go through a fragment for auth
2023-10-17 17:39:31 -07:00
vvb2060
678c07fff5
suBiometric: remove biometric
...
use device credential to support more devices and second user
2023-10-17 17:39:05 -07:00
topjohnwu
91c92051f1
Simplify C++ SELinux routines
2023-10-17 16:04:59 -07:00
topjohnwu
4b8a0388e7
Make SELinux support a feature
2023-10-17 13:29:15 -07:00
topjohnwu
66788dc58c
Cleanup SELinux support
2023-10-16 17:38:44 -07:00
topjohnwu
dd8c28b1cb
Upgrade AGP
2023-10-16 17:25:57 -07:00
残页
32c5153e8e
Increase boot timeout to 600s
2023-10-16 01:20:25 -07:00
topjohnwu
36de62873a
Fix error logging on the C++ side
2023-10-13 16:59:54 -07:00
topjohnwu
51e37880c6
Add repr(transparent) to guarantee soundness
2023-10-12 18:59:16 -07:00
topjohnwu
4b83c1e76c
Cleanup messy error messages
2023-10-12 18:54:09 -07:00
topjohnwu
b0b04690d5
Use newer bash version for avd_test.sh
2023-10-12 00:45:53 -07:00
topjohnwu
6d1e8d86cb
Cleaner cstr code
2023-10-11 23:53:55 -07:00
topjohnwu
eda8c70a80
Borrow value instead of moving in FsPath::from()
...
When accepting a value of AsRef<Utf8CStr> in FsPath::from(), the
existing code will move a value of Utf8CStrBufArr, creating a reference
that lives longer than the borrowing value, causing undefined behavior.
The issue is only visible on release builds, as more advanced
optimizations will be more aggressive re-using the stack of variables
that no longer lives.
Fix #7408
2023-10-11 23:48:54 -07:00
topjohnwu
587b6cfd41
Update avd_test.sh
2023-10-11 22:42:45 -07:00
topjohnwu
e774408782
Allow AVD hacks on release builds
2023-10-11 14:17:31 -07:00
canyie
187f583c95
Fix $RECOVERYMODE from config being incorrectly overridden
...
Move legacy SAR checking logic into mount_partitions, and avoid calling get_flags before check_boot_ramdisk
Fix #7346
2023-10-10 15:53:18 -07:00
topjohnwu
f5d3a71478
Update ONDK to r26.1
2023-10-10 15:52:59 -07:00
残页
d868ff3080
AVD test release builds as well
2023-10-10 15:52:41 -07:00
nkh0472
f80198a669
typo fix
2023-10-09 17:22:48 -07:00
topjohnwu
6076b52c48
Update libcxx
2023-10-03 17:22:25 -07:00
topjohnwu
79a1c39b30
Simplify fd sanitization
2023-09-28 20:38:16 -07:00
topjohnwu
5c92d39498
Enable Zygisk by default in emulators
...
Make sure CI tests Zygisk
2023-09-28 20:25:26 -07:00
topjohnwu
6e7a995716
Introduce UtfCString
2023-09-27 15:21:24 -07:00
topjohnwu
a55d570213
Move more I/O operations into Rust
2023-09-27 02:28:43 -07:00
topjohnwu
5d07d0b964
Do not support systems without SELinux
2023-09-27 02:28:43 -07:00
Wang Han
ec115cd7e3
Don't skip fd sanitization if fds_to_ignore does not exist
2023-09-25 09:45:03 -07:00
osm0sis
9b3896fd3d
Retain PREINITDEVICE during A-only addon.d
2023-09-23 23:51:36 -07:00
topjohnwu
a3f5918d25
Fix bug in libsepol
...
Fix #7308
2023-09-23 22:34:51 -07:00
topjohnwu
b28326198c
Use crates for cpio code
2023-09-22 01:39:21 -07:00
topjohnwu
46275b90c2
Generalize unxz
2023-09-21 05:47:21 -07:00
topjohnwu
15e13a8d8b
Organize logging code
2023-09-19 03:02:30 -07:00
topjohnwu
b750c89c87
Address clippy warnings
2023-09-19 01:11:50 -07:00
LoveSy
8d7c7c3dfb
Refactor dtb in rust
2023-09-19 00:41:42 -07:00
topjohnwu
8e1a91509c
Remove readlink_unsafe
2023-09-19 00:06:21 -07:00
LoveSy
927cd571f8
Fix read_cert
crash when receive fd = -1
2023-09-18 22:32:32 -07:00
LoveSy
5fbd3e5c65
Fix buf len update of read_link to Utf8CStrBuf
2023-09-18 22:31:12 -07:00
LoveSy
877aeb66cb
Upgrade to Gradle 8.3
2023-09-14 13:16:59 -07:00
topjohnwu
8a88d8465a
Prevent OOM
...
Fix #7341
2023-09-14 13:14:30 -07:00
topjohnwu
dda8cc85c9
Use bytemuck
2023-09-14 13:10:09 -07:00
topjohnwu
6a59939d9a
Remove for_all_file
2023-09-13 18:09:16 -07:00
topjohnwu
4745e86c1b
Fix #7301
2023-09-13 14:44:20 -07:00
topjohnwu
9aa466c773
Fix genfscon and filename_trans
...
Fix #7329
2023-09-12 21:31:31 -07:00
LoveSy
0243610c09
No trailing zeros if the signed boot img is larger
2023-09-12 18:09:20 -07:00
topjohnwu
0a2a590ab7
Use Utf8CStr for logging
2023-09-12 17:35:20 -07:00
topjohnwu
89aee6ffa7
Add more to the Utf8CStr family
...
Better C strings with path operations
2023-09-12 17:35:01 -07:00
topjohnwu
4eaf701cb7
Address clippy warnings
2023-09-06 21:45:12 -07:00
topjohnwu
4fff2aa7d8
Fix proto read and write
2023-09-06 20:45:59 -07:00
topjohnwu
35b3c8ba5c
Cleanup persist props code
2023-09-06 15:52:14 -07:00
topjohnwu
1d7cff7703
Update Cargo dependencies
2023-09-06 13:57:43 -07:00
LoveSy
8d81bd0e33
resetprop: replace nanopb with quick-protobuf for persist
2023-09-05 22:20:57 -07:00
topjohnwu
7826d7527f
Release new canary build
2023-09-04 00:35:17 -07:00
topjohnwu
d4e552d08b
Update README
2023-09-04 00:26:48 -07:00
topjohnwu
5a16418543
Release Magisk v26.3
2023-09-04 00:01:46 -07:00
topjohnwu
7297aba15a
Add v26.3 release notes
2023-09-03 23:54:45 -07:00
Ylarod
bc5d5f9502
Update details.md
...
The `MAGISKTMP` changed to `/debug_ramdisk` since https://github.com/topjohnwu/Magisk/pull/6931
2023-09-03 23:46:25 -07:00
vvb2060
1761986c1b
Update zh-rCN translation
2023-09-03 23:43:07 -07:00
topjohnwu
1e034e3e0e
Update libsu
2023-09-03 23:41:17 -07:00
topjohnwu
bbf9756bfa
Release new canary build
2023-09-02 06:20:10 -07:00
topjohnwu
96e559fb0e
Skip cargo build if possible
2023-09-02 06:03:39 -07:00
topjohnwu
4c45775131
Update BusyBox
2023-09-02 05:45:18 -07:00
LoveSy
c072b4254d
Wrap rename and renameat
2023-09-02 04:24:24 -07:00
topjohnwu
2dbb812126
Disable stack protector on x86 static executables
...
Close #7274
2023-09-01 23:04:19 -07:00
topjohnwu
be50f17f55
Update to ONDK r26.0
...
Close #7264
2023-09-01 23:01:49 -07:00
残页
6f77f190f2
Fix processPayload
2023-08-31 20:30:10 -07:00
topjohnwu
6bdc57cbe4
Release new canary build
2023-08-30 01:22:02 -07:00
残页
de00f1d5a9
Always check mounts to detect legacy SAR on bootmode
2023-08-30 01:02:19 -07:00
残页
e9b9bf987b
Fix syntax error in util_functions.sh
2023-08-29 15:33:03 -07:00
topjohnwu
f4b6385f9f
Disable boot vbmeta patch when found vbmeta.img
2023-08-28 22:54:55 -07:00
topjohnwu
75d905a56d
Fix device detection scripts and logic
2023-08-28 22:13:36 -07:00
topjohnwu
b1363ee479
Do not allow user to configure boot vbmeta patching
2023-08-28 22:13:36 -07:00
topjohnwu
51afe43a30
Cleanup util_functions
2023-08-28 22:13:36 -07:00
残页
189c03c047
Add canyie to developer list
2023-08-28 13:21:58 -07:00
topjohnwu
ae9d270a32
Release new canary build
2023-08-28 01:25:07 -07:00
topjohnwu
e47e869f6b
Update full changelog
2023-08-28 01:15:14 -07:00
topjohnwu
c39038a439
Update README
2023-08-28 01:13:25 -07:00
topjohnwu
69174e2c13
Release Magisk v26.2
2023-08-28 01:04:28 -07:00
Chris Renshaw
474268a0af
manager.sh: add ro.boot.vbmeta.size + ro.product.ab_ota_partitions to vbmeta check
...
ro.boot.vbmeta.device doesn't seem to be in use on all A/B devices
2023-08-28 00:45:14 -07:00
topjohnwu
eadb0307fa
Add v26.2 release notes
2023-08-27 23:48:49 -07:00
topjohnwu
5a5d0d5d72
Add missing permissions
2023-08-27 23:29:34 -07:00
topjohnwu
a1273bc467
Update dependencies
2023-08-27 22:44:51 -07:00
topjohnwu
0c28a916be
Use cxx_name
2023-08-24 00:50:38 -07:00
BlackMesa123
0ba573b789
Additional Samsung devices install guide refactoring
...
Signed-off-by: BlackMesa123 <giangrecosalvo9@gmail.com >
2023-08-18 17:24:25 -07:00
BlackMesa123
ec42ee152c
Refactor Samsung devices install guide
...
Signed-off-by: BlackMesa123 <giangrecosalvo9@gmail.com >
2023-08-18 17:24:25 -07:00
I3elphegor
abcb487361
Update czech translation of strings.xml
...
Added and translated new strings.
2023-08-18 17:19:36 -07:00
vvb2060
d12d9e82f1
Force kernel to load rootfs only for legacy SAR devices
2023-08-18 17:18:34 -07:00
topjohnwu
275208e81b
Update Rust dependencies
2023-08-17 21:24:29 -07:00
topjohnwu
41226c12b8
Update to ONDK r25.7
2023-08-15 17:10:20 -07:00
topjohnwu
f86c66c99d
Officially support API 34
2023-08-11 09:46:45 -07:00
topjohnwu
93876b5fd3
Update dependencies, AGP, and SDK level
2023-08-11 09:38:59 -07:00
topjohnwu
b5b14ce343
Use cxx_name instead of rust_name
2023-08-10 21:22:53 -07:00
topjohnwu
350d0d600c
Update build script
2023-08-08 01:05:32 -07:00
topjohnwu
f924ffcbf3
Merge files
2023-08-08 00:57:58 -07:00
VD $ VD171 @ Priv8
0f5963f231
Update PORTUGUESE Translation
2023-08-08 00:54:01 -07:00
Arbri çoçka
1961ff2c40
Update strings.xml Albania
2023-08-08 00:53:38 -07:00
vvb2060
40003691d6
manager.sh: check vbmeta device by getprop
2023-08-08 00:53:21 -07:00
topjohnwu
8290358241
Release new canary build
2023-08-05 23:27:06 -07:00
kubalav
ee34f775c3
Update Slovak translation
2023-08-05 23:19:34 -07:00
vvb2060
feb47cd88c
sulog: add migration
2023-08-02 21:18:05 -07:00
vvb2060
c6efb51f61
sulog: add more info
2023-08-02 21:18:05 -07:00
Hen_Ry
a5acf33ccd
Update De translation
2023-08-02 21:17:12 -07:00
vvb2060
ab9ee449e4
suBiometric: fix open app on second user will auto disable biometric
...
second user does not support biometric, but the config of app ignores user
2023-08-02 21:16:06 -07:00
vvb2060
9571b6f9be
SuperuserViewModel: fix updatePolicy
...
Starting biometrics may cause the SuperuserFragment to lost focus. After onResume(), doLoadWork() will refresh the itemsPolicies, so notify property changed will work on wrong items. Fixed by snapshotting items to be refreshed before starting biometrics.
2023-08-02 09:29:14 -07:00
vvb2060
207d7fd3f6
SuRequestViewModel: fix await RootService on the main thread
2023-08-02 09:21:25 -07:00
南宫雪珊
bcdcfa1104
Update scripts/avd_magisk.sh
2023-08-02 09:12:00 -07:00
vvb2060
e0a4230dac
avd_magisk: hide stderr
2023-08-02 09:12:00 -07:00
topjohnwu
17ba5cba3e
Print permissive rules
2023-08-02 09:11:22 -07:00
topjohnwu
f2e109ad7d
Update libselinux and libsepol
2023-08-01 18:07:53 -07:00
topjohnwu
c83e141a1c
Support dumping sepolicy rules
2023-08-01 18:03:54 -07:00
topjohnwu
6089cc36de
Update xperm parsing
2023-07-31 09:28:27 -07:00
topjohnwu
9638dc0a66
Fix perror
2023-07-25 21:03:04 -07:00
Andrew Gunnerson
b191a14a23
magiskpolicy: Fix old xperms being cleared when adding new xperms
...
This commit updates sepol_impl::add_xperm_rule() so that it loads the
current xperm bits from the existing avtab entry before setting or
clearing xperm bits. This fixes new allowxperm rules causing old xperm
rules within the same xperm specified/driver to be removed.
Fixes : #7176
Signed-off-by: Andrew Gunnerson <accounts+github@chiller3.com >
2023-07-24 23:52:28 -07:00
topjohnwu
cf1bc82537
Random small refactoring
2023-07-24 23:49:20 -07:00
残页
6141bb5bb3
Fix MagiskInstaller.patchBoot() error catching
2023-07-21 12:05:33 -07:00
topjohnwu
4d2b62da0d
Do not override global variables in document
2023-07-21 12:04:42 -07:00
topjohnwu
39383229d1
Update dependencies
...
Close #7128
2023-07-20 18:35:53 -07:00
topjohnwu
08bfbb154a
Release new canary build
2023-07-17 23:20:07 -07:00
残页
d390ca2fdf
Avoid using IconCompat.createFromIcon() that doesn't support bitmap icon
2023-07-17 21:46:47 -07:00
topjohnwu
7ad77a14ae
Remove unused line
2023-07-17 21:43:09 -07:00
topjohnwu
f33343b4e6
Remove unused code and logic
2023-07-17 18:58:48 -07:00
topjohnwu
af65d07456
Support AVB1.0 signing and verification in magiskboot
2023-07-17 18:57:50 -07:00
topjohnwu
16d728f379
Partially document global variables in scripts
2023-07-17 16:07:16 -07:00
topjohnwu
c97ab690b6
Segment memory mapped boot image region
2023-07-13 21:01:49 -07:00
topjohnwu
4caed73fe0
Always include boot image when processing tar
...
Credits: @BlackMesa123
Fix #7132 , close #7133
2023-07-09 02:04:42 -07:00
BlackMesa123
4856da1584
Ignore userdata.img
in Samsung tar firmware packages
...
Signed-off-by: BlackMesa123 <giangrecosalvo9@gmail.com >
2023-07-06 17:37:12 -07:00
LoveSy
0a07018fec
No need to use submodule for argh
2023-07-06 15:28:39 -07:00
LoveSy
64c82e1f2c
Refine cpio argh
...
we can use argh to handle `--help` now
2023-07-06 15:07:06 -07:00
topjohnwu
e8e8afa6c2
Properly handle visibility
2023-07-06 11:12:27 -07:00
LoveSy
af2207433d
Fix error logging
...
ok_or will unconditionally creates a LoggedResult, which prints
an error even it successes. Use ok_or_else which lazily creates
a LoggedResult only if it fails.
2023-07-06 11:01:57 -07:00
LoveSy
75ba62d588
Fix stub resource loading on Android 9, 10
...
They can only load resources from zip files
Co-authored-by: canyie <a1364259@163.com >
Co-authored-by: 南宫雪珊 <vvb2060@gmail.com >
2023-07-06 04:53:26 -07:00
LoveSy
606d97ae4d
Trace location from LoggedError
...
Co-authored-by: topjohnwu <topjohnwu@gmail.com >
2023-07-05 18:55:23 -07:00
topjohnwu
d778b0b0a7
Custom help message when using argh
...
Help messages generated from argh is nearly useless and very hard to
customize. Fork argh and disable all code for generating help messages.
Use a closure to print the help message when handling EarlyExit.
2023-07-05 17:05:39 -07:00
topjohnwu
5ee6daf126
Handle cpio commands properly
2023-07-03 21:57:28 -07:00
Fs00
43b9a09c9b
Update Italian app strings
2023-06-30 15:57:56 -07:00
Fs00
8475a2bb94
Update Italian stub strings
2023-06-30 15:57:56 -07:00
Rom
d8692de2f4
Update French translation
2023-06-30 15:57:37 -07:00
LoveSy
33a9abc946
Fix backup fails when ramdisk does not exist
2023-06-30 15:57:09 -07:00
topjohnwu
ee943afbc9
Cleanup SHA hash implementation
2023-06-30 15:50:52 -07:00
LoveSy
1f7c3e9f14
Use rust to calculate sha
2023-06-30 14:06:02 -07:00
topjohnwu
46770db18b
Rename stuffs
2023-06-30 03:03:51 -07:00
vvb2060
92f980601c
Fix close
2023-06-30 02:43:38 -07:00
vvb2060
d0b8c16651
Fix file permission
2023-06-30 02:43:38 -07:00
LoveSy
a470ee6f93
Fix mmap block device
2023-06-30 01:06:51 -07:00
vvb2060
ff1c56683d
Skip magisk32 for 64bit only avd
2023-06-29 20:45:51 -07:00
topjohnwu
4ee4cbada6
Standardize logging and error handling
...
- Introduce new types: LoggedResult and LoggedError
- Introduce new extension methods to log and add additional msgs
- Never exit when logging error messages in Rust (all errors should be
handled by using Result and Rust's error propagation)
- Remove all usages of anyhow as it doesn't fit Magisk's use cases
2023-06-29 17:14:53 -07:00
topjohnwu
dbc2236dd2
Release new canary build
2023-06-23 02:39:07 -07:00
topjohnwu
a8c4a33e91
Avoid using trait object
2023-06-23 02:32:29 -07:00
topjohnwu
279f955a84
Minor changes
2023-06-23 01:50:33 -07:00
topjohnwu
fbd1dbb20c
Manage MenuProvider with lifecycle state
2023-06-22 16:12:35 -07:00
topjohnwu
6c09fc2e64
Move addMenuProvider into onStart
2023-06-22 15:47:12 -07:00
LoveSy
f3304b482c
Fix sulog prompt always shows
2023-06-22 15:27:34 -07:00
LoveSy
0a85ef61c3
Call removeMenuProvider
on Fragment::onStop
2023-06-22 15:27:23 -07:00
topjohnwu
dc26ad7125
Address clippy warnings
2023-06-22 02:36:31 -07:00
LoveSy
24b1c607f3
Replace clap with argh
2023-06-22 02:36:31 -07:00
topjohnwu
732a161b67
Minor cleanup
2023-06-22 02:23:27 -07:00
topjohnwu
9c7cf340a1
Move pattern matching to Rust
2023-06-21 16:47:20 -07:00
topjohnwu
399b9e5eba
Move hexpatch to Rust
2023-06-20 18:17:26 -07:00
topjohnwu
5805573625
Update clean operation
2023-06-20 14:50:02 -07:00
topjohnwu
a6b1149b9f
Minor cleanup
2023-06-20 14:36:07 -07:00
LoveSy
51e985ae7f
Use quick-protobuf
2023-06-20 14:36:07 -07:00
vvb2060
9929b25339
Move su request path to magisk tmp
2023-06-20 03:29:06 -07:00
topjohnwu
2359cfc480
Small refactor
2023-06-20 00:21:51 -07:00
topjohnwu
81493475f9
Directly use rust::Vec
2023-06-20 00:21:51 -07:00
Arbri çoçka
0493829231
Update strings.xml sq
2023-06-16 14:15:31 -07:00
VD $ VD171 @ Priv8
e2d1952ad9
Update PORTUGUESE Translation
2023-06-16 14:14:46 -07:00
LoveSy
7450965458
Update Chinese translation
...
Co-authored-by: 南宫雪珊 <vvb2060@gmail.com >
2023-06-16 14:13:46 -07:00
Vladimír Kubala
f45384685b
Update Slovak translation
2023-06-16 14:13:01 -07:00
topjohnwu
8abcccc262
Fix typo
2023-06-16 01:49:44 -07:00
LoveSy
a9c89cbbbb
Read certificate in Rust
...
Co-authored-by: topjohnwu <topjohnwu@gmail.com >
2023-06-16 01:49:44 -07:00
topjohnwu
d2eaa6e6c1
Fix scripts on Windows
2023-06-15 05:57:19 -07:00
LoveSy
53257b6ea1
Fix find_apk_path
2023-06-15 04:09:45 -07:00
LoveSy
c874391be4
Box CpioEntry
2023-06-15 04:09:17 -07:00
LoveSy
7e8e013832
Fix two typo
2023-06-15 04:09:17 -07:00
topjohnwu
037f46f7f0
Fix copy_cstr
2023-06-15 04:00:32 -07:00
topjohnwu
d3e1c496ca
Upgrade ONDK to r25.6
2023-06-15 01:26:54 -07:00
topjohnwu
d7d0a44693
Remove randomness from Magisk
2023-06-14 17:05:49 -07:00
topjohnwu
9d6f6764cb
Use Metadata instead of direct stat syscall
2023-06-12 14:58:13 -07:00
topjohnwu
cb3ab63815
Replace all CStr usage to Utf8CStr
2023-06-12 13:57:15 -07:00
topjohnwu
caae932117
Remove unnecessary lifetime markers
2023-06-12 13:56:20 -07:00
LoveSy
e9cf27eb5a
Fix map_file
2023-06-12 13:55:58 -07:00
LoveSy
6ee6685f4c
AVD test on API 34
2023-06-12 03:23:27 -07:00
LoveSy
d15017b777
Add arg requirement for cpio extract
2023-06-12 02:40:50 -07:00
LoveSy
a9387e63e1
Fix Utf8CStr::as_ref() -> OsStr
2023-06-12 02:40:50 -07:00
topjohnwu
23c1f0111b
Improve Rust implementation
...
- Move mmap_file implementation into Rust
- Introduce Utf8CStr as the better c-string type to use
2023-06-12 02:40:50 -07:00
LoveSy
866386e21f
Use to_string instead of to_owned
2023-06-12 02:40:50 -07:00
LoveSy
bf10496fa9
Add log for restore
2023-06-12 02:40:50 -07:00
LoveSy
607e6547a7
No check rm -r
2023-06-12 02:40:50 -07:00
topjohnwu
6b21091fe2
Fix compile errors and cleanup
2023-06-12 02:40:50 -07:00
topjohnwu
e58f98e844
Update cargo files
2023-06-12 02:40:50 -07:00
LoveSy
b8cb9cd84d
Refactor magiskboot cpio
2023-06-12 02:40:50 -07:00
LoveSy
c1038ac6f9
Remove permissve update_engine
2023-06-10 13:17:37 -07:00
LoveSy
c556dd0aac
Increase sccache hit rate
2023-06-10 13:17:16 -07:00
LoveSy
d2fbcd07b7
Use sccache on non CI env
2023-06-10 13:14:12 -07:00
LoveSy
bf6359abaa
Fix release build
2023-06-10 13:10:54 -07:00
topjohnwu
d1621845b8
Fix typo
2023-06-10 01:50:18 -07:00
topjohnwu
f33f1d25d0
Move find_apk_path to Rust
2023-06-10 01:40:45 -07:00
topjohnwu
40f25f4d56
Introduce directory traversal
2023-06-09 02:00:37 -07:00
topjohnwu
e13775ec2c
Directly use memmem in contains
2023-06-07 16:52:52 -07:00
topjohnwu
ee4dad7a13
Bridge C++ bytes with Rust &[u8]
2023-06-07 16:49:40 -07:00
topjohnwu
5e2ef1b7f4
Better bytes support in C++
2023-06-06 17:11:42 -07:00
topjohnwu
f8c38eab74
Proper Windows support
2023-06-05 02:27:02 -07:00
topjohnwu
305e8b3d14
Improve bootimg const correctness
2023-06-03 05:10:22 -07:00
topjohnwu
2a654e5d7f
Improve byte_data const correctness
2023-06-03 03:16:03 -07:00
topjohnwu
57afae3425
Cleanup cpio codebase
2023-06-03 00:31:20 -07:00
topjohnwu
feb44f875e
Migrate PREINITDEVICE in recovery mode
...
Close #6917
2023-06-02 16:49:04 -07:00
topjohnwu
7eebe62bb6
Do not realpath ANDROID_SDK_ROOT
2023-06-02 15:36:45 -07:00
topjohnwu
9ea9f01933
Resolve clippy errors and warnings
2023-05-31 01:08:33 -07:00
topjohnwu
665c6bdc4b
Provide easy access to the cargo command
2023-05-31 01:08:33 -07:00
topjohnwu
c79bc83275
Update dependencies
2023-05-30 01:32:43 -07:00
topjohnwu
c30fbdf145
Simplify logging code
2023-05-29 01:27:40 -07:00
topjohnwu
f12951bd1d
Fix typo
2023-05-29 00:30:55 -07:00
nikk gitanes
52f2e8c4a0
allow fast switch access with d-pad on superuser tab
2023-05-28 23:51:37 -07:00
nikk gitanes
1b2af1ed6d
correlate nextFocusRight
2023-05-28 23:51:18 -07:00
nikk gitanes
0f9b2a7df8
make module card clickable and highlight when focused
2023-05-28 23:51:18 -07:00
topjohnwu
f2846694e1
Cleanup some code
2023-05-28 23:50:52 -07:00
topjohnwu
e668dbf6f7
Update AGP
2023-05-28 17:57:53 -07:00
topjohnwu
d77a368176
Move dependency version into workspace
2023-05-28 17:30:33 -07:00
topjohnwu
ad0da08610
Update native clean operation
2023-05-28 17:30:20 -07:00
topjohnwu
0c52385ad4
Update to use ONDK r25.4
2023-05-27 01:57:02 -07:00
topjohnwu
5b8b48ccc1
Properly support streamable input
2023-05-26 14:07:11 -07:00
topjohnwu
659b9c6fee
Support extracting any partition from payload.bin
2023-05-26 13:36:47 -07:00
LoveSy
ec31cab5a7
Add zip and payload.bin support to Magisk app
2023-05-26 13:36:47 -07:00
vvb2060
dd93556ad8
Faster get magisk tmpfs path
2023-05-25 01:03:27 -07:00
topjohnwu
533aeadd38
Update cstr macro
2023-05-25 01:03:04 -07:00
topjohnwu
18d0cedbe2
Parse rule files with Rust
2023-05-24 19:11:56 -07:00
topjohnwu
5a94ef9106
Fix init rust code setup
2023-05-23 21:50:13 -07:00
topjohnwu
8e8f01f8b5
Move project common code into include
2023-05-23 21:30:30 -07:00
topjohnwu
7087badf87
Release new canary build
2023-05-23 21:02:33 -07:00
topjohnwu
47d2d4e3a5
Update su cmdline parsing
2023-05-23 20:51:23 -07:00
topjohnwu
6c47d8f556
Support 32 bit only AVD patch
...
Close #7010
2023-05-23 18:12:06 -07:00
topjohnwu
8c9d0314fb
Use sccache for all native builds in CI
2023-05-23 17:52:10 -07:00
topjohnwu
69144942e3
Fix fortify
...
Close #7009 , fix #7003
2023-05-23 16:31:24 -07:00
topjohnwu
5627053b74
Move su folder into core
2023-05-23 01:36:25 -07:00
topjohnwu
0f666de5e6
Organize headers
2023-05-22 21:36:15 -07:00
LoveSy
eddc862fa3
Use POSIX format
2023-05-22 18:14:59 -07:00
LoveSy
4327682120
Add mnt ns attach support for su
2023-05-22 18:14:59 -07:00
LoveSy
af5bdee78f
Reimplement su -z
2023-05-22 18:14:59 -07:00
LoveSy
0e36e86dbf
Support settings gids of su
2023-05-22 18:14:59 -07:00
LoveSy
f95478f1f1
Truncate file only if needed
2023-05-22 00:51:42 -07:00
topjohnwu
9fe8741a02
Export get_prop to Rust
2023-05-21 23:51:30 -07:00
topjohnwu
a5768e02ea
Cleanup byte_channel implementation
2023-05-20 14:19:40 -07:00
topjohnwu
f5aaff2b1e
Cleanup filter_out_stream implementation
2023-05-20 01:28:10 -07:00
topjohnwu
655f778171
Better cxx binding codegen
2023-05-19 15:59:40 -07:00
topjohnwu
2e77a426b2
Fix build script
2023-05-19 15:32:14 -07:00
topjohnwu
2bcf2e76f1
Generate cxx binding in build.rs
2023-05-19 15:16:54 -07:00
topjohnwu
57bd450798
Split input and output streams
2023-05-19 04:19:43 -07:00
topjohnwu
582cad1b8d
Cleanup libc hacks
2023-05-19 03:23:43 -07:00
topjohnwu
6ca2a3d841
Update libsystemproperties
2023-05-19 03:22:50 -07:00
topjohnwu
91773c3311
Support only read properties from storage
2023-05-19 01:53:40 -07:00
topjohnwu
dc61033b2c
Support persist props bypassing property_service
2023-05-18 23:36:46 -07:00
topjohnwu
f8d62a4b6c
Move resetprop under core
2023-05-18 22:15:49 -07:00
topjohnwu
1d2145b1b7
Improve argument parsing and help message
2023-05-18 21:54:54 -07:00
topjohnwu
1f7f84b74a
Remove unnecessary class
2023-05-18 20:38:33 -07:00
topjohnwu
cd7a335d0f
Cleanup implementation
2023-05-18 20:26:20 -07:00
topjohnwu
17569005a4
Remove sysprop fallback
...
The library now supports mapping as ro
2023-05-18 15:47:50 -07:00
topjohnwu
f36b21bae5
Support get property context
...
Co-authored-by: canyie <a1364259@163.com >
Co-authored-by: vvb2060 <vvb2060@gmail.com >
2023-05-18 14:46:36 -07:00
topjohnwu
fe1ca52f6d
Simplify prop_cb
2023-05-16 02:41:39 -07:00
topjohnwu
1be647a279
Put all FFI into same module
2023-05-16 02:41:39 -07:00
topjohnwu
2ea1a47bec
Fix color printing
2023-05-16 02:41:39 -07:00
Ernest
2d799dae0d
Update app/src/main/res/values-lt/strings.xml
...
Co-authored-by: LoveSy <631499712@qq.com >
2023-05-14 23:54:57 -07:00
Ernest
c6408babac
Update strings.xml
...
Updated all strings.
2023-05-14 23:54:57 -07:00
topjohnwu
a8c1ed8795
Update development docs
2023-05-13 02:38:03 -07:00
topjohnwu
e3cb5f8ddd
Support setting ANDROID_STUDIO
2023-05-13 02:38:03 -07:00
topjohnwu
e160e211dd
Format build.py with black
2023-05-13 02:38:03 -07:00
topjohnwu
22d05ca399
Update time handling code
2023-05-13 02:38:03 -07:00
vvb2060
bd2651057d
Simplify prefs migration
2023-05-11 16:29:01 -07:00
topjohnwu
1610092ec4
Increase wait timeout
2023-05-10 16:13:45 -07:00
LoveSy
b9e6937996
Make magisk node ro as well
2023-05-10 00:13:18 -07:00
topjohnwu
a207f03952
Run tests in parallel
2023-05-10 00:10:19 -07:00
topjohnwu
851153dd7c
Fix avd_test.sh
2023-05-09 23:11:11 -07:00
topjohnwu
583ffc8177
Reduce cpp logging overhead
2023-05-09 19:14:08 -07:00
topjohnwu
7518092ad2
Implement logging purely in Rust
2023-05-09 18:54:38 -07:00
topjohnwu
8c2ad3883a
Update avd_magisk.sh
2023-05-09 17:33:20 -07:00
topjohnwu
d364554425
Remove unused code
2023-05-06 01:48:47 -07:00
vvb2060
726ffdcd98
Fix meizu rootfs type
2023-05-06 00:06:59 -07:00
vvb2060
f9d22cf8ee
New magisk tmp dir: /debug_ramdisk
...
Co-authored-by: LoveSy <shana@zju.edu.cn >
2023-05-06 00:04:11 -07:00
vvb2060
ee50da566f
Cancel recursive bind
2023-05-06 00:04:11 -07:00
vvb2060
9f7d410959
Use pathname local socket
2023-05-06 00:04:11 -07:00
vvb2060
bc94ea4334
Update SELinux policy
2023-05-06 00:04:11 -07:00
topjohnwu
c0c9204848
Add ResultExt
2023-05-05 23:57:34 -07:00
topjohnwu
c0d1bf63bc
Clean up logging on C++ side
2023-05-05 01:14:56 -07:00
StoyanDimitrov
bbda0cdffe
Update strings.xml
2023-05-05 00:39:19 -07:00
topjohnwu
7b5ff99cd1
Reorganize code
2023-05-04 21:37:08 -07:00
topjohnwu
21ddb26db8
Perform proto codegen in build script
2023-05-04 21:37:08 -07:00
LoveSy
7bf2e3875f
Support extract boot image from payload.bin
2023-05-04 21:37:08 -07:00
topjohnwu
b136aba1e2
Implement magiskinit logging in Rust
2023-05-02 16:49:43 -07:00
topjohnwu
0d84f80b3c
Update AGP
2023-05-02 16:28:14 -07:00
topjohnwu
af45aeb771
Extract busybox from APK for AVD
2023-05-02 16:28:02 -07:00
topjohnwu
1c5a435e1f
Update cxx-rs
2023-05-01 14:53:07 -07:00
Soo-Hwan Na
0ea1257dcd
Update Korean translation
2023-05-01 12:08:12 -07:00
Mohamadreza Nakhleh
4c92677b5a
(translate)
...
update some Persian (Farsi,فارسی) translations and add more Persian equivalent
2023-05-01 12:07:50 -07:00
fadlyas07
979260bd62
app: l10n: Update Indonesian translations
...
* Added new strings based on the latest source.
* Rephrase "bisa" (informal) to "dapat" (formal).
Change-Id: I7c29951adff7e5dc086e6044571ff4cdb6366966
2023-05-01 12:07:21 -07:00
topjohnwu
f7de649a36
Update ODNK requirement to r25.3
2023-04-29 15:12:04 -07:00
topjohnwu
0cf0d2b821
Move avd_hack boolean out of init class
2023-04-25 23:34:45 -07:00
vvb2060
3733c9a091
CI: add avd test
2023-04-25 23:00:59 -07:00
vvb2060
e9f32e4f68
Set text and background color
2023-04-25 23:00:59 -07:00
vvb2060
68c2817d40
Enable avd hack for debug build
2023-04-25 23:00:59 -07:00
naxitoo
83d837d868
Update/refine Spanish translations
2023-04-18 11:53:22 -04:00
I3elphegor
093eb15ee1
Update strings.xml
...
Incorrectly placed punctuation marks have been removed. Word order and some expressions have been corrected. The style of the menu headings and descriptions has been unified in the settings.
2023-04-18 11:22:44 -04:00
VD $ VD171 @ Priv8
c6412c1b1b
Update PORTUGUESE translation
2023-04-18 11:22:03 -04:00
serkanege
1151393d74
tr language update
2023-04-18 11:21:32 -04:00
topjohnwu
468f3efb13
Update dependencies
2023-04-13 14:19:34 -07:00
LoveSy
d6b19b9d4c
Upgrade gradle
2023-04-13 14:19:30 -07:00
Ilya Kushnir
709f25f600
Fix changelog index
2023-04-12 02:46:21 -07:00
topjohnwu
4b16e4b026
Update README
2023-04-11 12:51:22 -07:00
topjohnwu
cdfbc02922
Release new canary build
2023-04-11 02:04:15 -07:00
topjohnwu
d0c9384233
Release Magisk v26.1
2023-04-11 01:57:30 -07:00
topjohnwu
2488668b06
Add v26.1 release notes
2023-04-11 01:52:45 -07:00
LoveSy
52a98cbd51
Temp workaround for module file context
2023-04-10 19:30:37 -07:00
serkanege
1840c4c486
Update strings.xml
2023-04-10 19:30:11 -07:00
serkanege
34080f3958
Update strings.xml
2023-04-10 19:30:11 -07:00
topjohnwu
e9b76b6aa5
Add monochrome adaptive icon support
...
Close #6867
2023-04-10 19:29:32 -07:00
Jakub K
b7799b53d9
Updated Czech translation
...
Added missing strings and updated few.
2023-04-09 21:24:55 -07:00
Lishoo
1e206515c7
Update PL strings
...
Update PL strings
2023-04-08 21:15:19 -07:00
sn-o-w
6bb313184d
Update Romanian
2023-04-08 21:15:02 -07:00
l3ng
2763992434
Update Azerbaijani
...
Co-authored-by: LoveSy <631499712@qq.com >
2023-04-08 21:14:41 -07:00
osm0sis
18fe0e6442
Fix scripts
...
manager.sh + boot_patch.sh:
- all listed files from boot_patch.sh header are required for boot patching, but stub.apk was being removed so install_magisk via addon.d.sh would fail without it; leave it in place
addon.d.sh:
- remove old redundant recovery_actions call (it's also performed by setup_flashable in initialize)
- print ABI to match flash_script.sh output
boot_patch.sh:
- catch and abort on any errors from ramdisk.cpio patching in the future
util_functions.sh:
- fix hiding of mount_partitions /system_root umount stderr
- quote mount_apex .pb DEST name parsing charset for safety even though both work
Fixes #6828
2023-04-08 21:13:40 -07:00
zjw
a70c73bffd
Fix config file path
...
$MAGISKTMP was redefined in commit 4e2b88b
2023-04-08 21:10:54 -07:00
topjohnwu
b4ae3493a6
Use ext4 partitions for preinit first
...
Fix #6841 , close #6847
2023-04-08 20:30:40 -07:00
残页
1a16004b20
Add help message for magisk --preinit-device
2023-04-08 18:32:34 -07:00
topjohnwu
56707b8119
Make FilterList more accurate
2023-04-08 18:32:00 -07:00
LoveSy
c3f9533ddc
Fix inconsistency of FilterableDiffObservableList
...
`update` should also update sublist
2023-04-08 18:32:00 -07:00
Rom
3b3abd63cc
Update FR translation
2023-04-07 03:08:27 -07:00
Hen_Ry
411d3ed4e9
Update DE strings
2023-04-07 03:07:46 -07:00
LoveSy
f29cc26103
Correctly get displayName of live uri
2023-04-06 02:03:09 -07:00
Ilya Kushnir
1cd595a598
Update RU strings
2023-04-06 01:10:48 -07:00
topjohnwu
22e023b58d
Set notes on main thread
2023-04-06 00:53:06 -07:00
topjohnwu
7be958e35d
Fix crash when revoke root permission
2023-04-06 00:40:26 -07:00
topjohnwu
69b66ef637
Make core package more self contained
2023-04-05 23:04:33 -07:00
topjohnwu
daf8653c38
Release new canary build
2023-04-05 11:13:51 -07:00
topjohnwu
e2545e57cf
Update README badges
2023-04-05 11:07:40 -07:00
topjohnwu
7cb0909c70
Release Magisk v26.0
2023-04-05 11:02:17 -07:00
topjohnwu
cc5ff36165
Revert "Cancel recursive bind"
...
This reverts commit a18a440236
.
2023-04-05 10:47:13 -07:00
topjohnwu
18b1ef6c29
Only restore JNIEnv in constructor
2023-04-05 10:13:50 -07:00
LoveSy
7fe012347a
Restore JNIEnv in advance for clean env to modules
2023-04-05 09:29:59 -07:00
vvb2060
5c165c9bb0
Fix avd hack
2023-04-05 04:01:32 -07:00
topjohnwu
6c3519923d
Make things more obvious
2023-04-05 04:01:07 -07:00
topjohnwu
9ea859810d
Update api.hpp copyright notice
2023-04-05 01:54:56 -07:00
LoveSy
8dae7b5451
Update installation guide
2023-04-05 01:50:45 -07:00
vvb2060
f827755aaf
Skip getSessionInfo
2023-04-05 01:46:33 -07:00
topjohnwu
637a8af234
Add v26.0 release notes
2023-04-05 01:42:42 -07:00
LoveSy
b0fc580860
Avoid crash when calling abandonSession
2023-04-05 00:36:51 -07:00
vvb2060
9279f30e89
Upload mapping and native debug symbols
2023-04-05 00:14:51 -07:00
LoveSy
b505819ca2
Fix a typo
2023-04-04 12:28:08 -07:00
topjohnwu
39d1d23909
Release new canary build
2023-04-04 03:00:50 -07:00
vvb2060
69529ac59c
Fix restorecon
2023-04-04 02:34:16 -07:00
vvb2060
a18a440236
Cancel recursive bind
2023-04-04 02:12:07 -07:00
LoveSy
aa7846c1c0
No need to mount ROOTMIR if tmp_dir != /sbin
2023-04-04 02:12:07 -07:00
topjohnwu
24ba4ab95b
Better AVD support
2023-04-04 02:04:49 -07:00
topjohnwu
762b70ba9d
Better string split implementation
2023-04-03 18:50:36 -07:00
topjohnwu
41b77e4f25
Make base as template argument for optimization
2023-04-03 18:32:11 -07:00
topjohnwu
2087e47300
Get random separately
2023-04-03 18:32:11 -07:00
vvb2060
46ce765860
Use stable random seed
2023-04-03 18:32:11 -07:00
topjohnwu
5117dc1a31
Reorganize code
2023-04-03 17:47:07 -07:00
Arbri çoçka
620fd7d124
Update sq strings.xml
2023-04-03 16:54:11 -07:00
kubalav
3e991dc003
Update Slovak translation
2023-04-03 16:53:59 -07:00
LoveSy
15cab86152
Make module mirror read only
2023-04-02 22:03:02 -07:00
LoveSy
aa785b5845
Show confirm dialog when installing local module
...
It can avoid miss click
Co-authored-by: 南宫雪珊 <vvb2060@gmail.com >
2023-04-02 21:33:13 -07:00
LoveSy
97731a519a
Update zygisk API to avoid mem leak
2023-04-02 03:54:33 -07:00
残页
b696dae808
Specify foregroundServiceType for DownloadService
2023-04-02 02:20:49 -07:00
topjohnwu
732a8260c2
Update dependencies
2023-04-02 02:13:47 -07:00
LoveSy
4ff60ef9a9
No more patching libc.a on 64bit platforms
2023-04-01 03:51:57 -07:00
topjohnwu
23b1b69110
Consolidate zygisk cleanup routines
2023-04-01 03:37:17 -07:00
LoveSy
3a4fe53f27
New way to unload zygisk
...
Co-authored-by: 残页 <a1364259@163.com >
2023-04-01 03:37:17 -07:00
LoveSy
e48afff5e8
Compress jniLibs
2023-04-01 01:54:10 -07:00
topjohnwu
3f4f4598e8
Better AVD support
2023-03-31 17:21:12 -07:00
LoveSy
3921e9cb1b
Fix release build
2023-03-31 00:06:55 -07:00
topjohnwu
0b987dd0b0
Cleanup more databinding implementation
2023-03-31 00:05:33 -07:00
Ilya Kushnir
1620e15f99
Update RU strings
2023-03-30 13:45:13 -07:00
topjohnwu
b089511e91
Update Android Studio
2023-03-30 13:35:13 -07:00
Arbri çoçka
958788c1aa
Update Albania
2023-03-30 13:33:26 -07:00
LoveSy
b5a8a27296
Update Chinese translation
2023-03-30 13:33:04 -07:00
kubalav
98123775ad
Update Slovak translation
2023-03-30 13:32:40 -07:00
Thonsi
c7133974be
Clean up some codes
2023-03-26 20:48:23 -07:00
LoveSy
04324a7ebe
Upgrade LSPlt to bypass a bionic bug
2023-03-23 20:56:35 -07:00
vvb2060
f54daa3469
Force ramdisk format to lz4_legacy for v4
2023-03-23 20:50:27 -07:00
LoveSy
07c22ccd39
Use app_dir to detect systemui instead
...
uid may be shared by other apps (e.g., in MIUI, systemui's uid
is 1000 and shared by many system apps).
2023-03-23 16:17:13 -07:00
LoveSy
e893c13cf1
Unlink preinit device if bind mount fails
2023-03-23 00:40:13 -07:00
LoveSy
dba5020e4f
Refactor magiskrc
2023-03-22 17:53:15 -07:00
LoveSy
87e036a190
Update LSPlt to avoid crash when hooking libc
2023-03-22 12:02:33 -07:00
LoveSy
3dd94672b0
Fix preinit scripts
2023-03-22 03:07:34 -07:00
LoveSy
004b193f69
Fix installation crash
2023-03-22 02:44:14 -07:00
topjohnwu
4417997749
Make sure ro mmap region is not overwritten
2023-03-21 15:50:43 -07:00
LoveSy
2eef542054
Add amonet microloader support
2023-03-21 15:50:43 -07:00
LoveSy
a07d4080b6
Upgrade termux-elf-cleaner to strip DT_PREINIT_ARRAY
2023-03-21 02:17:21 -07:00
LoveSy
b9d0a3b3d4
Use partition name or devpath's name
2023-03-21 00:40:11 -07:00
topjohnwu
76405bd984
Add more comments
2023-03-21 00:40:11 -07:00
topjohnwu
4e2b88b3d0
Rename rules to preinit
...
It is possible that we will allow more preinit files for modules.
Rename the partition and folders from rules to preinit.
2023-03-21 00:40:11 -07:00
LoveSy
7048aa1014
Rename sepolicy.rules -> rules
2023-03-21 00:40:11 -07:00
LoveSy
1c2fcd14b5
Mount sepolicy.rules for migration
2023-03-21 00:40:11 -07:00
vvb2060
84e1bd7bc3
Refactor sepolicy.rules resolve app
2023-03-21 00:40:11 -07:00
vvb2060
362eea741f
Refactor sepolicy.rules resolve native
...
Co-authored-by: LoveSy <shana@zju.edu.cn >
2023-03-21 00:40:11 -07:00
LoveSy
4de93cfd4b
Use RV to show Magisk logs
2023-03-19 23:47:29 -07:00
LoveSy
03cee0b8d4
Remove meaningless umount in magiskinit
...
This is no longer required since we redirect to /data/magiskinit
2023-03-19 23:35:18 -07:00
LoveSy
54ecc001f4
Clean up more codes
2023-03-19 23:20:19 -07:00
LoveSy
5c325d9466
Fix su log with long command
2023-03-19 23:20:04 -07:00
topjohnwu
0e851cdcf8
Always fetch network state on process onStart
2023-03-19 04:11:59 -07:00
topjohnwu
af054e4e31
Bump minSdk to 23
2023-03-17 04:24:26 -07:00
Chris Renshaw
33fb4653f0
Sanitize any bad chars from mount_apex apex_manifest.pb string parsing
...
For example, Lineage's com.android.ondevicepersonalization apex_manifest.pb has a # char, which strings keeps in its output, and breaks the mount for that apex before this fix
2023-03-17 02:44:36 -07:00
LoveSy
d9f0aed571
Fix unpack -n and repack -n of ZIMAGE kernel
2023-03-17 02:00:46 -07:00
LoveSy
98813c24fb
Drop trailing garbage of gzip decompress
...
I previously refered to minigzip from libz which copies all trailing
data to the output when decompressing. However, gzip, on the other
hand, drop trailing garbage by default. Consider ZIMAGE append
the kernel size with zero padding, we should drop trailing garbage
as well.
2023-03-17 02:00:25 -07:00
topjohnwu
3cc81bb3fd
Cleanup ObservableList implementation
2023-03-17 01:40:28 -07:00
topjohnwu
366dd52419
Update AGP
2023-03-16 04:18:03 -07:00
topjohnwu
fe6b658c02
Use MenuProvider
2023-03-09 18:05:37 -08:00
LoveSy
3cf66d1c57
Fix currentFocus
...
Looks like currentFocus does not always exist even after setContentView,
so I hereby use another way to check if setContentView is called
2023-03-09 17:52:38 -08:00
topjohnwu
382568bd3c
Cleanup filterable list implementation
2023-03-09 17:45:00 -08:00
LoveSy
d130aa02a1
Do not always create new adapter
2023-03-09 16:00:08 -08:00
LoveSy
1a1646795f
Support untrusted_app_32
2023-03-09 02:17:30 -08:00
LoveSy
d52ea1b068
Postpone showMainUI
when activity has stopped
...
Co-authored-by: topjohnwu <topjohnwu@gmail.com >
2023-03-07 21:04:04 -08:00
LoveSy
e14f7b6908
No KeyDispatch or OnBackPress when no currentFocus
2023-03-07 20:20:35 -08:00
南宫雪珊
4709a32641
Fix mkdir
...
Co-authored-by: LoveSy <shana@zju.edu.cn >
2023-03-07 01:47:26 -08:00
topjohnwu
71b7f52663
Release new canary build
2023-03-06 05:32:08 -08:00
LoveSy
981ccabbef
No support for partitions w/o symlink in /system
2023-03-06 05:23:40 -08:00
vvb2060
9e07eb592c
Fix make private before remount
2023-03-06 05:18:16 -08:00
LoveSy
9555380818
Replace parse_mnt with parse_mount_info
2023-03-06 05:09:12 -08:00
topjohnwu
f80d5d858e
Update AGP
2023-03-06 05:08:58 -08:00
topjohnwu
a1ce6f5f12
Fix race condition when switching root manager
...
Before this change, the root manager package name is only written into
the database after the repackaged APK is installed. In the time between
the repackaged APK being installed and the package name being written
into the database, if some operation calls `get_manager`, the Magisk
daemon will cache this result and ignore the repackaged APK, even if
the package name is set afterwards, because the cache won't be
invalidated. The result is that the repackaged manager APK will not be
recognized as the root manager, breaking the hide manager feature.
This race condition is more likely to happen when Zygisk is enabled,
because `get_manager` is called with a very high frequency in that case.
To fix the issue, we have to set the new package name into the database
BEFORE installing the repackaged APK. We also stop pruning the
database if the repackaged manager is not found, moving this logic into
the Magisk app. By doing so, we can guarantee that the instant after
the repackaged manager APK is installed, the Magisk daemon will
immediately pick it up and treat it as the root manager.
Another small optimization: when the requester is root, simply bypass
the whole database + manager package check. Since the Magisk app hiding
APK installation proces will call `su` several times to run `pm` under
different UIDs, doing this opimization will reduce the amount of
unnecessary database query + filesystem traversals.
2023-03-06 03:58:58 -08:00
LoveSy
1aade8f8a8
No greedy match to find parent mount point
...
This fixes /sys is considered as a parent mount point of /system
2023-03-03 11:09:03 -08:00
LoveSy
b9213b7043
Remove redundant stub.apk
2023-03-03 11:07:36 -08:00
LoveSy
4af72324f4
Fix gradle cache
2023-03-03 02:39:22 -08:00
LoveSy
b6ea5b8984
Fix SYSTEM_ROOT not passed to boot patch
2023-03-02 23:39:50 -08:00
topjohnwu
c279e08c88
Release new canary build
2023-03-02 21:35:14 -08:00
topjohnwu
2717feac21
Fix stub APK building in app
2023-03-02 21:27:48 -08:00
topjohnwu
8adf27859d
Build script adjustments
2023-03-02 20:32:46 -08:00
LoveSy
307cf87215
Fix build script
2023-03-02 20:32:46 -08:00
Takeda-senpai
ca31412c05
Update strings.xml
2023-03-02 14:34:08 -08:00
LoveSy
f59fbd5dca
Filter duplicate mount points
...
This prevents umounting existing overlay mount points
2023-03-02 14:33:50 -08:00
topjohnwu
2285f5e888
Fix build script
2023-03-02 03:02:10 -08:00
LoveSy
da36e5bcd5
Make worker private
2023-03-02 02:25:44 -08:00
Prithvi
4ed9f57fdc
Update ota.md ( #6374 )
...
Specified the steps of the OTA install process so there is less confusion about what step 1 and 2 entail.
2023-03-02 02:23:19 -08:00
Daki Carnhof
ea7be6162f
install.md: Mention Heimdall beside Odin
...
Proven to work with Magisk 25.2, LineageOS 18.1, SM-A520F.
2023-03-02 02:21:14 -08:00
南宫雪珊
3726eb6032
Deny init relabel to adb_data_file
...
Co-authored-by: 残页 <a1364259@163.com >
Co-authored-by: LoveSy <shana@zju.edu.cn >
2023-03-02 02:20:38 -08:00
vvb2060
6e918ffd68
Remove fetchCustomUpdate
2023-03-02 02:05:38 -08:00
vvb2060
4772868d6a
Move REMOUNT_ROOT
2023-03-02 02:05:38 -08:00
vvb2060
78df677a42
Use /data/adb/modules directly
2023-03-02 02:05:38 -08:00
vvb2060
85a4b249b3
Skip copy old rule
2023-03-02 02:05:38 -08:00
vvb2060
d06e9a0b51
Allow R8 to delete fetchCanary
2023-03-02 02:05:38 -08:00
vvb2060
5eb774a2ad
Fix typo
2023-03-02 02:05:38 -08:00
topjohnwu
cbbbbab483
Release new canary build
2023-02-27 23:16:54 -08:00
LoveSy
e5641d5bdb
Fix avd-magisk
2023-02-27 23:00:42 -08:00
topjohnwu
a721206c6f
Update items in the right thread
2023-02-27 23:00:21 -08:00
LoveSy
c7a27481f9
Update proguard rules to fix module page crash
2023-02-27 20:50:24 -08:00
LoveSy
594c304634
Fix release build
2023-02-26 22:35:20 -08:00
topjohnwu
d0ec387c28
Release new canary build
2023-02-26 15:06:33 -08:00
vvb2060
7dbfba76bf
Umount by tmpfs id
2023-02-26 14:23:11 -08:00
vvb2060
2a4aa95a6f
Identify tmpfs used by magisk
2023-02-26 14:23:11 -08:00
vvb2060
5520f0fbf7
Add stub version to apk comment
2023-02-26 14:23:02 -08:00
LoveSy
a1a87c9956
Get rid of vtable hook
2023-02-26 04:59:21 -08:00
vvb2060
2c53356bfd
Remove unexpected files
2023-02-26 03:47:38 -08:00
topjohnwu
85d9756f62
Update Zygisk API documentation
2023-02-26 03:16:13 -08:00
LoveSy
79586ece4c
Update install.md
2023-02-26 01:17:11 -08:00
AndroPlus
6851d11a8e
Update Japanese translation
2023-02-26 01:16:23 -08:00
LoveSy
996a857096
Upgrade kotlin
2023-02-26 01:15:32 -08:00
LoveSy
d7158131e4
No need to manually parse mount flags
2023-02-26 01:15:18 -08:00
topjohnwu
3d3082bc82
Minor optimizations
2023-02-26 01:14:10 -08:00
topjohnwu
744ebca206
Don't let inter_node upgrade to module_node
2023-02-25 22:05:50 -08:00
topjohnwu
92077ebe53
Refactor module and node implementation
2023-02-25 18:19:46 -08:00
LoveSy
78ca682bc5
Always mount tmpfs for dirs
...
https://android-review.googlesource.com/c/platform/system/core/+/928592
2023-02-25 18:19:46 -08:00
LoveSy
af01a36296
Refactor magic mount to support overlayfs
...
Previously, magic mount creates its own mirror devices and mount
mirror mount points. With these mirror mount points, magic mount
can get the original files and directory trees. However, some
devices use overlayfs to modify some mount points, and thus after
magic mount, the overlayed files are missing because the mirror
mount points do not contain the overlayed files. To address this
issue and make magic mount more compatible, this patch refactors
how magic mount works.
The new workflows are as follows:
1. make MAGISKTMP a private mount point so that we can create the
private mount points there
2. for mirror mount points, we instead of creating our own mirror
devices and mount the mirror mount points, we "copy" the
original mount points by recursively mounting /
3. to prevent magic mount affecting the mirror mount points, we
recursively set the mirror mount points private
4. to trace the mount points we created for reverting mounts, we
again make the mirror mount points shared, and by this way we
create a new peer group for each mirror mount points
5. as for tracing the newly created tmpfs mount point by magic
mount, we create a dedicated tmpfs mount point for them, namely
worker mount point, and obviously, it is shared as in a newly
created peer group for tracing
6. when reverting mount points by magic mount, we can then trace
the peer group id and unmount the mount points whose peer group
ids are created by us
The advantages are as follows:
1. it is more compatible, (e.g., with overlayfs, fix #2359 )
2. it can mount more partitions for which previous implementation
cannot create mirror mount points (fix #3338 )
2023-02-25 18:19:46 -08:00
LoveSy
97ed1b16d0
Fix gzip decompression
2023-02-20 18:26:04 -08:00
LoveSy
508a001753
Remove obsolete link
2023-02-20 17:25:32 -08:00
vvb2060
c1909d520b
Fix gradle build cache
2023-02-20 01:23:56 -08:00
topjohnwu
9b1e173373
Update AGP
2023-02-20 01:03:35 -08:00
LoveSy
4ba365565f
Upgrade gradle
2023-02-20 00:08:23 -08:00
残页
ae34659b26
No kernel repack if it isn't patched at all
...
It turns out that decompressing and recompressing the kernel is enough to break booting on many devices that use MT6763.
Fix #5124 , fix #6204 , fix #6566
Co-authored-by: LoveSy <shana@zju.edu.cn >
Co-authored-by: 南宫雪珊 <vvb2060@gmail.com >
2023-02-17 15:00:14 -08:00
LoveSy
79a85f5937
Use mountinfo for revert unmount
2023-02-17 12:36:19 -08:00
LoveSy
b249832571
Use statfs to check rootfs
...
This helps support adb remount
2023-02-12 22:49:27 -08:00
LoveSy
577b5912af
Fix SKIP_FD_SANITIZATION false positive
...
Fix #6523
2023-02-12 00:40:09 -08:00
LoveSy
9e8c68af12
Refactor sepolicy.rules resolve
...
We resolve available partitions for sepolicy.rules when patching
boot and bind mount the partition by magiskinit.
For older devices, the previous logic won't work because the part name
is never readable.
Co-authored-by: topjohnwu <topjohnwu@gmail.com >
2023-02-12 00:36:38 -08:00
shìwēi nguyen
03418ddcbf
run module uninstall.sh on Magisk uninstallation
2023-02-09 20:36:58 -08:00
LoveSy
220a1c84ce
Zygisk v4 module's plt commit should not use regex
2023-02-09 20:19:53 -08:00
南宫雪珊
9a4458ffac
Update appcompat
2023-02-09 20:13:40 -08:00
vvb2060
7a9e6d2ad2
Remove unexpected /sbin/overlay.d
2023-02-09 20:08:59 -08:00
LoveSy
9656cf2f86
Refine
2023-02-09 20:08:44 -08:00
BlackMesa123
584bad5314
Add init_boot.img
patching for Samsung tar firmware packages
...
Signed-off-by: BlackMesa123 <giangrecosalvo9@gmail.com >
2023-02-09 20:08:44 -08:00
topjohnwu
459088024f
Update dependencies
2023-02-09 19:53:40 -08:00
Chris Renshaw
d740bbe058
Ignore AMLogic "normal" slot suffix in scripts as well
...
Fixes #6572
2023-02-03 10:44:43 -08:00
canyie
6ecc04a4df
Fix auto install stub
2023-01-23 01:55:28 +08:00
canyie
15a7e9af57
Fix ResourcesProvider being closed
2023-01-20 19:32:22 +08:00
LoveSy
0329f00129
Upgrade LSPlt
...
Fix #6533
2023-01-20 19:29:55 +08:00
topjohnwu
cd8a2edefb
Reduce unnecessary formatting
2023-01-20 14:41:34 +08:00
LoveSy
4318ab5cd2
Reuse tmpfs for magic mount
...
As we already have a tmpfs (magisktmp), we can reuse them for
magic mount
2023-01-20 03:49:40 +08:00
topjohnwu
3517e6d752
Handle nullptr char* in Rust
2023-01-20 03:45:16 +08:00
LoveSy
67845f9c21
Clear sepolicy rules when disable/remove modules
...
Co-authored-by: topjohnwu <topjohnwu@gmail.com >
2023-01-19 04:25:44 +08:00
Kian-Meng Ang
f562710438
Fix typos
...
Found via `codespell -S *.xml,*.kt,./native/src/external -L crate,bu`
2023-01-18 16:35:37 +08:00
vvb2060
e836909c50
umount old hijack binary
2023-01-18 13:06:17 +08:00
vvb2060
7769ba5f54
Remove READ_EXTERNAL_STORAGE permission added by AGP 1.8
2023-01-18 12:52:24 +08:00
topjohnwu
7fe9db90a1
Update AGP
2023-01-18 12:52:04 +08:00
topjohnwu
8f7d6dfb77
Cleanup unused functions
2023-01-12 23:17:41 +08:00
canyie
2839978cc1
Use null oat dir in root service only
2023-01-12 22:38:14 +08:00
canyie
e73f87b758
Update LSPlt
2023-01-12 01:18:56 +08:00
canyie
bd0409fd15
Fix busybox filename
2023-01-12 01:18:41 +08:00
canyie
babdfe80cb
Fix stub resources load on Android 5
2023-01-12 01:12:56 +08:00
topjohnwu
636223b289
Cleanup APIs
2023-01-10 02:42:45 +08:00
LoveSy
aa0a2f77cf
Add inode plt hook APIs
2023-01-10 02:42:45 +08:00
topjohnwu
e38f35eab2
Update libsu
...
Fix #6488
2023-01-09 03:16:11 +08:00
canyie
cb39514705
Fix NotificationService implementation
...
- Fix #6385 . (Maybe the reason is, the call to stopForeground() with STOP_FOREGROUND_DETACH ensures the notification is shown so it reposts the notification?)
- Use FOREGROUND_SERVICE_IMMEDIATE on Android 12+ to make sure the downloading notification always shows immediately
2023-01-09 00:10:52 +08:00
topjohnwu
78a444d601
Wait for root service to bind
2022-12-30 15:52:41 -08:00
LoveSy
37b81ad1f6
Refine module preparation return value
2022-12-26 17:17:41 -08:00
vvb2060
7871c2f595
Update deps
2022-12-26 17:16:26 -08:00
topjohnwu
57d83635c6
Check stub.xz existence
2022-12-26 16:07:04 -08:00
topjohnwu
76fbf4634a
Update scripts
2022-12-26 16:07:04 -08:00
topjohnwu
7ce4bd3330
Copy stub APK into output directory
2022-12-26 16:07:04 -08:00
vvb2060
ad0e6511e1
Stop embedding stub.apk in magiskinit
2022-12-26 16:07:04 -08:00
vvb2060
a4a734458b
Fix network capabilities
2022-12-26 13:48:17 -08:00
Brian Kepha
f989756b93
Added Swahili Translation
2022-12-26 03:30:44 -08:00
LoveSy
5763a3d908
Support replacing existing .rc by overlay.d
...
Co-authored-by: topjohnwu <topjohnwu@gmail.com >
2022-12-26 03:28:10 -08:00
topjohnwu
1b745ae1a0
Use latest build tools
2022-12-26 02:02:21 -08:00
topjohnwu
b6d50bea2c
Release new canary build
2022-12-26 00:33:02 -08:00
topjohnwu
831a398bf1
Check Python 3.8+
2022-12-26 00:09:27 -08:00
topjohnwu
a848783b97
Guard boot stages more precisely
...
Close #6468 , fix #6148
2022-12-26 00:04:58 -08:00
LoveSy
4d876f0145
Support detecting safemode by ro.sys.safemode
2022-12-24 15:16:53 -08:00
LoveSy
bdfedea4e0
Close missing fd
...
Fix #6463
2022-12-24 15:16:27 -08:00
LoveSy
ea0e3a09ef
Update install.md
2022-12-23 17:21:44 -08:00
topjohnwu
dadae20960
Remove unused implementations
2022-12-23 17:20:39 -08:00
LoveSy
4ed34cd648
Eliminate unnecessarily copy on magiskinit
...
This patch reuses the abused /data tmpfs for magisktmp
2022-12-23 17:03:16 -08:00
osm0sis
0d38c94c9c
scripts: fix root loss until reboot after Magisk addon.d-v2
...
- /system/bin/su was being removed in error from the live system so update remove_system_su to be aware of a running A/B OTA and generalize/simplify removal logic with relative paths to correctly run on the updated system slot
2022-12-23 16:36:44 -08:00
vvb2060
2a2a452bd4
CI uses java 17
2022-12-13 14:13:25 -08:00
vvb2060
13c2695e98
simplify denylist rm
2022-12-13 14:11:32 -08:00
fadlyas07
3ff60ed49f
app: l10n: Update Indonesian translations
...
* Added new strings based on the recent source.
Change-Id: I40d6e0374a0356d93c61acace7ab48c3649e85e8
2022-12-13 14:05:54 -08:00
VD $ VD171 @ Priv8
bbb1786ec3
Fix typo PT translation
...
Fix typo PT translation
2022-12-13 14:05:40 -08:00
Davy Defaud
4bfd2dac54
Fix gender of ”install” as an adjective in French
...
In French, install as an adjective depends on the gender of its related noun. For instance, “Magisk installed” is translated “Magisk installé” (masculine form), whereas “Application installed” is translated “Application installée” (feminine form).
By using “Version installée”, “installed” is related to “version” which is feminine. For consistency of the GUI, I’m also changing "home_latest_version" string to ”Dernière version” instead of “Dernière”.
2022-12-13 14:05:24 -08:00
ysard
857c12372a
Update French translations
...
Just a misspelling fix
2022-12-13 14:05:09 -08:00
残页
33f5154269
Inject binaries into /system if sbin not accessible
...
Some Android 11+ devices have the /sbin partition but not accessible by the global shell (`PATH` doesn't contain `/sbin`). Not only custom ROMs but also some stock ROMs have the same behavior so I believe it is something we need to deal with.
Fix #6427 , fix #4309 , fix #5728 , fix #3593
2022-12-13 13:54:55 -08:00
topjohnwu
ed37ddd570
Stricter validation
2022-11-22 14:47:37 -08:00
LoveSy
cd5384f13e
Fix crashes whenever a zygisk module has ver > 4
2022-11-22 14:47:37 -08:00
LoveSy
11b2ddbad8
Fix zygisk v4 ApiTable abi
...
Also refactor some code to let the compiler check the abi
Co-authored-by: topjohnwu <topjohnwu@gmail.com >
2022-11-22 11:49:31 -08:00
topjohnwu
cf9957ce4d
Properly detect SysUI appId
...
Fix #6322
2022-11-01 02:04:50 -07:00
topjohnwu
44643ad7b3
Restrict pointer aliasing
...
Close #6354 , close #6353
2022-10-31 16:35:33 -07:00
topjohnwu
1e53a5555e
Update AGP
2022-10-31 16:00:42 -07:00
topjohnwu
616adc22e1
Support Linux < 3.6
2022-10-31 16:00:42 -07:00
akhilkedia
916e373edb
Update README.md to specify python version 3.8+
...
Current readme suggests python 3.6+
However, the file `build.py` on executing `build.py ndk` runs the command `shutil.copytree(src_dir, lib_dir, copy_function=cp, dirs_exist_ok=True)`
This command errors out on python 3.7, because the `dirs_exist_ok` parameter is new in Python 3.8 (https://docs.python.org/3/library/shutil.html#shutil.copytree )
So the README should suggest python 3.8+
2022-10-20 17:21:08 -07:00
Hen_Ry
021ae15395
Update German translation
2022-10-12 13:08:12 -07:00
vvb2060
52cf72002a
Update resources load
...
addAssetPath supports apk and directory
2022-10-12 13:07:30 -07:00
topjohnwu
68874bf571
Release new canary build
2022-10-11 13:33:08 -07:00
残页
a468fd946d
Fix #6314
2022-10-11 13:01:34 -07:00
topjohnwu
e327565434
Release new canary build
2022-10-10 21:44:32 -07:00
topjohnwu
c3b4678f6e
Properly detect SysUI
2022-10-10 21:28:13 -07:00
vvb2060
978216eade
local module: filter hidden dirs
2022-10-03 14:20:09 -07:00
残页
44cfe94e4d
Always cleanup init LD_PRELOAD hooks
...
Fix #6296
2022-10-03 08:26:33 -07:00
Nitrovenom
f9e82c9e8a
Update Bengali translation
2022-09-26 23:11:00 -07:00
theunknownKiran
25b4b107d3
Create strings.xml
...
Added Malayalam translation
2022-09-26 23:10:48 -07:00
theunknownKiran
db651fa9ec
Create strings.xml
...
Added Malayalam translation
2022-09-26 23:10:34 -07:00
LoveSy
23ad611566
Use sccache for rust build
2022-09-26 01:35:52 +02:00
topjohnwu
095d821240
Don't use xopen in readlink
2022-09-25 16:35:28 -07:00
topjohnwu
e23f23a8b7
Update AGP
2022-09-21 03:09:53 +02:00
topjohnwu
48f829b76e
Minor refactoring
2022-09-21 03:09:46 +02:00
topjohnwu
0b82fe197c
Update avd_test.sh
2022-09-15 19:45:58 -07:00
topjohnwu
af99c1b843
Don't crash when nullptr paired with len = 0
2022-09-15 16:56:22 -07:00
topjohnwu
c6646efe68
Move all xwrap to Rust
2022-09-15 01:17:05 -07:00
Nitrovenom
66a7ef5615
Update Bengali translation
2022-09-13 04:30:01 -07:00
canyie
9474750bdf
Close fd of erroneous daemon socket connections
2022-09-13 04:29:29 -07:00
LoveSy
e86db0bd61
Reset stack guard after fork from Zygote
2022-09-13 04:18:34 -07:00
topjohnwu
a29fc11798
Update libsu
...
Fix #6255
2022-09-13 04:17:19 -07:00
topjohnwu
a66a3b7438
Make sure logs are always ended with newline
2022-09-09 04:29:50 -07:00
topjohnwu
44029875a6
Add new API exemptFd
2022-09-09 03:27:19 -07:00
topjohnwu
ccf21b0992
Zygisk code refactor
2022-09-07 13:48:20 -07:00
topjohnwu
4e14dab60a
Specialize does not need to close logd_fd
2022-09-06 03:01:39 -07:00
topjohnwu
6e299018a4
Preserve logd_fd after specialization
...
Also add more comments regarding FD checks
2022-09-02 01:49:17 -07:00
topjohnwu
555a54ec53
Avoid doing any unmounts for SysUI
2022-08-31 00:15:15 -07:00
topjohnwu
1565bf5442
Make Zygisk API 0BSD
2022-08-30 01:58:40 -07:00
topjohnwu
14b830027b
Cleanup zygisk headers
2022-08-30 01:40:14 -07:00
topjohnwu
38325e708e
Make private applets hidden
2022-08-27 14:50:28 -07:00
topjohnwu
646260ad6d
Fix typo
2022-08-27 05:27:23 -07:00
topjohnwu
d1d26f4481
Fix building individual applet
2022-08-27 05:06:28 -07:00
topjohnwu
357d913f18
Dynamically generate component names at runtime
2022-08-26 06:31:51 -07:00
topjohnwu
71b0c8b42b
Make stub patching 100% offline
2022-08-26 06:31:51 -07:00
topjohnwu
cdc66c1ac8
Move patching logic out of AXML
2022-08-26 06:31:51 -07:00
topjohnwu
e9af773901
Remove usage of AndroidX CoreComponentFactory
2022-08-26 06:31:51 -07:00
Rom
eadf6e8b96
Update French translation
2022-08-25 02:27:35 -07:00
topjohnwu
87bec70d9f
Setup notification on app init
...
Close #6216
2022-08-25 02:24:30 -07:00
Ilya Kushnir
3668b28f62
Update RU strings
2022-08-24 03:20:55 -07:00
Arbri çoçka
933e4bd163
update Albania strings
2022-08-24 03:20:33 -07:00
vvb2060
e3ab9e9a1e
Update zh-rCN translation
2022-08-24 03:20:19 -07:00
VD $ VD171 @ Priv8
58ad2c1416
Update Portuguese & Portuguese Brazilian Translations
2022-08-24 03:19:31 -07:00
kubalav
c5291ad33b
Update Slovak translation
2022-08-24 03:19:09 -07:00
vvb2060
77d8445bfd
Avoid hardcode package name
2022-08-24 03:18:55 -07:00
topjohnwu
f8395a7dc6
Make sure UI and state is in sync
2022-08-23 05:38:19 -07:00
topjohnwu
727c70005e
Release new canary build
2022-08-23 05:20:44 -07:00
topjohnwu
38ab6858f0
Do not crash root service in stub
2022-08-23 05:10:18 -07:00
topjohnwu
a54114f149
Pre-grant permissions if possible
2022-08-23 05:09:50 -07:00
topjohnwu
7a4a5c8992
Ensure JobService is rescheduled
2022-08-23 04:14:06 -07:00
topjohnwu
928a16d8cc
Update app to target API 33
...
Close #6206
2022-08-23 03:59:09 -07:00
topjohnwu
3f7f6e619a
Use VERSION_CODES instead of raw numbers
2022-08-23 01:43:53 -07:00
vvb2060
c2f96975ce
Pre grant as much as possible
2022-08-23 01:33:10 -07:00
vvb2060
8bd4760b00
Fix build
2022-08-23 01:32:32 -07:00
vvb2060
4f4aeb893d
Update deps
2022-08-23 01:31:48 -07:00
canyie
fed4f1b50f
Collect kernel version and environment variables in log
2022-08-22 12:52:13 -07:00
vvb2060
e11087cd1a
Update kotlin R8 rules
2022-08-22 12:51:54 -07:00
南宫雪珊
e6eb51551c
Fix ci text color
2022-08-22 12:51:36 -07:00
topjohnwu
c5c608f0d3
Release new canary build
2022-08-20 18:31:18 -07:00
topjohnwu
4737c5117a
Update to ONDK r25.2
2022-08-19 16:26:25 -07:00
topjohnwu
9806b38d8e
Introduce zygisk loader
...
Use a separate library for 1st stage
2022-08-19 04:49:19 -07:00
topjohnwu
6bfe34e5a8
Support testing magiskinit on arm64 AVD
2022-08-19 02:40:33 -07:00
topjohnwu
34dd9eb7d6
More Rust
2022-08-19 02:21:52 -07:00
topjohnwu
2d8beabbd4
Better build script
2022-08-17 01:59:23 -07:00
topjohnwu
4d9b7e7114
More Rust
2022-08-15 11:53:51 -07:00
topjohnwu
40aab13601
Make IDE recognize we are targeting Android
2022-08-09 14:09:39 -07:00
topjohnwu
4c0f72f68f
Move part of libbase to Rust
2022-08-08 22:53:37 -07:00
vvb2060
dd565a11ea
Fix outdated state
2022-08-08 13:59:56 -07:00
残页
1735a713cb
Use ANDROID_DLEXT_FORCE_LOAD
to load second stage if possible
...
Fix #6095
2022-08-08 02:43:19 -07:00
残页
52ba6d11bc
Don't let remote errors crash Zygisk
...
Fix #6095
2022-08-07 05:09:46 -07:00
topjohnwu
7357a35f8d
Fix build errors
2022-08-07 05:03:18 -07:00
Acetylcholine
aeb7fd7cb3
Fix denylist add_list
...
Signed-off-by: ACh Sulfate <xenonhydride@gmail.com >
Co-authored-by: John Wu <topjohnwu@gmail.com >
2022-08-07 04:48:47 -07:00
topjohnwu
1b4a6850b8
Ensure parent folders exist before extract
2022-08-07 04:06:18 -07:00
Cristian Silaghi
07b45f39df
Update Romanian
2022-08-07 03:38:57 -07:00
canyie
1d0b873950
Fix sepolicy attribute
rule parsing
...
Fix #6166
2022-08-07 03:35:50 -07:00
topjohnwu
d449f49d73
Update AGP
2022-08-05 15:47:46 -07:00
canyie
e8787b5cfd
Fix UB when remote process died
...
If remote process died, `xreadlink` fails and leaves `buf` uninitialized. Then the daemon calls `str_ends`, creates a temp `std::string_view` with the uninitialized buffer and undefined behavior occurs.
2022-08-02 12:54:54 -07:00
topjohnwu
d17ed2b979
Support patching AVD with release builds
2022-08-02 03:37:04 -07:00
topjohnwu
b496923cbb
Update Cargo.toml
2022-07-24 06:14:49 -07:00
topjohnwu
759d196aad
Update cxx.rs
2022-07-24 05:45:23 -07:00
topjohnwu
a7ab8216ce
Proper build scripts
2022-07-24 05:39:14 -07:00
topjohnwu
b9e89a1a2d
Restructure the native module
...
Consolidate all code into the src folder
2022-07-23 13:51:56 -07:00
vvb2060
c7c9fb9576
Restore context before copy
...
fix magiskpolicy context
2022-07-23 03:57:43 -07:00
vvb2060
8b095de04d
Fix app_zygote context
2022-07-23 03:14:44 -07:00
vvb2060
468325b51a
Fix CRLF
2022-07-23 03:14:44 -07:00
gidano
e5058bfb8b
Hungarian translation
2022-07-23 02:43:00 -07:00
vvb2060
d4b9ef736d
Check magisk32 exists
2022-07-23 02:41:36 -07:00
vvb2060
00d3cb0908
magisk_node: check target exists
2022-07-23 02:40:13 -07:00
vvb2060
d35072d4e6
Match app_zygote by context
2022-07-23 02:39:28 -07:00
canyie
1a964e78dd
Support 32-bit emulators
...
This would be helpful when debugging arch-related bugs, there is no reason to prevent it.
2022-07-23 02:27:50 -07:00
topjohnwu
4264ae49c0
Format with rustfmt
2022-07-22 03:56:09 -07:00
topjohnwu
f08712cd0a
Update to ONDK r25.1
2022-07-22 03:56:09 -07:00
LoveSy
3906fe75dc
Clean up code
2022-07-21 00:52:28 -07:00
topjohnwu
2497e548c9
Update to ONDK r25.0
2022-07-21 00:07:09 -07:00
topjohnwu
e4635684e9
Release new canary build
2022-07-20 20:21:49 -07:00
topjohnwu
9b61bdfc9a
Update README
2022-07-20 20:17:02 -07:00
topjohnwu
6066b5cf86
Release Magisk v25.2
2022-07-20 20:13:26 -07:00
topjohnwu
5cdf95a4d0
Update v25.2 docs
2022-07-20 20:09:02 -07:00
topjohnwu
910a36fdc1
Make sepolicy.rules relative if possible
2022-07-20 19:28:38 -07:00
topjohnwu
8331206acb
Clean only java projects when clean java
2022-07-20 11:20:03 -07:00
canyie
8423dc8d63
Later check persistent_properties
...
`daemon_entry` calls `getprop` which initializes sysprop impl and checks whether we need to load persistent property file. On FDE devices, magiskd starts before /data is actually decrypted, and the check always fails. Thus `persist_getprop("persist.sys.safemode")` will always fail.
2022-07-20 09:58:20 -07:00
Yann
6077c989a7
app: fix typo
2022-07-20 03:34:48 -07:00
topjohnwu
c97d1044fa
Release new canary build
2022-07-19 17:44:19 -07:00
Hen_Ry
f42c089b26
Fix
2022-07-18 13:34:14 -07:00
Andrew Gunnerson
1f8c063dc6
Fix booting into recovery with Android 13 GKI kernels
...
With Android 13 GKI kernels, the boot partition has no ramdisk, so
Magisk constructs one from scratch. In this scenario, there's no backup
init binary at /.backup/init. For normal boot, magiskinit will symlink
/init -> /system/bin/init if needed. This commit implements the same
for booting into recovery. Before, magiskinit would just exec itself
over and over again because it couldn't restore the backup init.
Signed-off-by: Andrew Gunnerson <chillermillerlong@hotmail.com >
2022-07-18 13:33:50 -07:00
Hen_Ry
4874520d65
Update german translation
2022-07-14 12:32:55 -07:00
Nguyen Hoang The Vi
5e53639969
Add Bengali translation
2022-07-14 12:32:33 -07:00
Grammatopoulos Apostolos
83ab0ca6cd
Greek translation updated
2022-07-14 12:31:47 -07:00
topjohnwu
70fd03d5fc
Rearchitect logging
2022-07-06 01:16:08 -07:00
topjohnwu
2e52875b50
Move all logging into Rust
2022-07-05 21:13:09 -07:00
topjohnwu
fd9b990ad7
Update to ONDK r24.2
2022-07-05 01:34:48 -07:00
LONE DEVIL
69978a9442
Update russian translation
2022-07-01 15:16:44 -07:00
残页
d155da52ce
More friendly and clear error message
2022-07-01 15:15:54 -07:00
Weslley Almeida
9c5b131913
Update Brazilian translation
2022-07-01 15:15:07 -07:00
Syuugo
9d740cec1a
Partially fixed Japanese translation
2022-07-01 15:14:18 -07:00
vvb2060
c2978eb9c3
More log for get_manager
2022-07-01 15:13:38 -07:00
vvb2060
38abad1e44
Fix app state
2022-07-01 15:12:50 -07:00
topjohnwu
b4863eb51b
Setup logging infra in the Rust side
2022-07-01 04:54:00 -07:00
LoveSy
3817167ba1
Correct ro.crypto.state
check
...
Fix #6042
Co-authored-by: vvb2060 <vvb2060@gmail.com >
2022-06-30 19:32:43 -07:00
topjohnwu
d1a35dd2ba
Fix cargo builds on Windows
2022-06-30 18:12:07 -07:00
topjohnwu
26116ac414
Setup preliminary rust infrastructure
2022-06-30 14:50:21 -07:00
topjohnwu
0b26882fce
Build dynamic stub resource APK at runtime
...
Close #6013
Co-authored-by: vvb2060 <vvb2060@gmail.com >
2022-06-22 05:19:27 -07:00
Nicolás
a2495fb5fb
Update spanish translations
2022-06-22 04:08:52 -07:00
vvb2060
0beb3bf16a
Make CI builds reproducible
2022-06-22 04:08:18 -07:00
vvb2060
b68658e974
Rebuild manifest
2022-06-22 04:06:22 -07:00
LoveSy
3ae7344747
Create /dev
on stub cpio
2022-06-22 04:05:50 -07:00
topjohnwu
4eb71830b3
Release new canary build
2022-06-19 03:24:36 -07:00
topjohnwu
9183a0a6ea
Update README
2022-06-19 03:06:14 -07:00
topjohnwu
bb64ba0ef6
Release Magisk v25.1
2022-06-19 02:54:22 -07:00
topjohnwu
d89a568897
Update v25.1 docs
2022-06-19 02:35:05 -07:00
topjohnwu
9fd1f41e8b
Always relaunch process after package migration
2022-06-19 02:09:14 -07:00
孟武.尼德霍格.龍
c1ab348673
Improve Traditional Chinese strings
...
Co-authored-by: John Wu <topjohnwu@gmail.com >
2022-06-19 01:50:43 -07:00
canyie
00247c7901
Fix meizu non-SAR 2SI compatibility again
...
Meizu devices using 2SI won't switch root to /system and still on rootfs, and /init is the 1st stage's, which cannot handle the 2nd stage. So we have to manually execute /system/bin/init for the 2nd stage.
2022-06-19 01:22:18 -07:00
topjohnwu
3c75f474c6
Embed version info in prop format
2022-06-19 00:43:38 -07:00
topjohnwu
db1f5b0397
Reduce files relying on flags.h
2022-06-19 00:43:38 -07:00
fadlyas07
db277c3e55
app: l10n: Update Indonesian translations
...
* Added new strings based on the recent source.
* Fixed some words based on Indonesian National Dictionary (KBBI).
Link: https://kbbi.kemdikbud.go.id
Signed-off-by: fadlyas07 <mhmmdfdlyas@gmail.com >
2022-06-18 10:43:25 -07:00
vvb2060
b9c93c66f6
Force app version not lower than daemon
2022-06-17 11:53:16 -07:00
vvb2060
a250e2b56c
Set version comment in apk
2022-06-17 11:53:16 -07:00
残页
cd96454886
Fix finding recovery image on direct install
...
Fix #5972 , fix #5673
2022-06-17 02:53:18 -07:00
topjohnwu
741b679306
Cleanup libbase
2022-06-17 02:36:04 -07:00
topjohnwu
90013e486d
Use AtomicBoolean
2022-06-17 02:03:09 -07:00
LoveSy
4e2ecdb920
Fix env overflow
...
Fix #5989
2022-06-17 02:02:44 -07:00
topjohnwu
6e5df1f06b
Abort when unsupported dtb is detected
2022-06-16 01:47:23 -07:00
topjohnwu
9469e79e3c
Proper namespacing
...
The IDE will get confused when #include is in a namespace
2022-06-15 02:38:56 -07:00
topjohnwu
db78c20161
Add dtb test command
2022-06-15 02:26:50 -07:00
topjohnwu
1699da1754
Update help message and make behavior consistent
2022-06-14 21:19:17 -07:00
canyie
754e690274
Fix config backup for legacy SAR
2022-06-14 02:57:47 -07:00
topjohnwu
6f74ed6ceb
Cleanup manager.sh
2022-06-13 01:21:24 -07:00
canyie
71205bc530
Anchor Snackbar above reboot FAB in FlashFragment
2022-06-12 11:00:36 -07:00
Chris Renshaw
10e236abdf
scripts: fix remaining instances of && ||
...
Looks like I may have missed this in ce84f1762c
originally
2022-06-12 11:00:09 -07:00
残页
2248af00f3
Fix #5673
...
util_functions.sh overrides `get_flags` function (defined in manager.sh), which sets `RECOVERYMODE` and causes `check_boot_ramdisk` not overriding the incorrect value.
2022-06-12 00:32:34 -07:00
topjohnwu
7e61716277
Update Kotlin to 1.7.0
2022-06-11 03:41:02 -07:00
topjohnwu
50edb8d072
Better network detection and invalidation
2022-06-10 04:25:34 -07:00
topjohnwu
515f81944c
Move coroutine job into its own class
2022-06-10 04:12:31 -07:00
topjohnwu
46d4708386
Decouple state from BaseViewModel
2022-06-10 02:13:25 -07:00
topjohnwu
aabc36f86b
Maintain separate flash screen state
2022-06-10 00:33:53 -07:00
nikk gitanes
e0d5d90267
fix restart button focus on flash result
2022-06-10 00:33:53 -07:00
topjohnwu
482a5b991b
Don't always refresh on network state change
2022-06-09 23:28:46 -07:00
CDzungx
20124fe410
Update vi translation
2022-06-09 21:03:26 -07:00
Softastur
f8dcec116a
Fix Asturian translation
2022-06-09 21:03:09 -07:00
Ilya Kushnir
343a339aae
Update RU strings (fix)
2022-06-09 21:02:45 -07:00
vvb2060
42606efe56
Always remove task
2022-06-09 21:02:31 -07:00
vvb2060
cae58c8790
Update hijack bins
2022-06-08 23:30:22 -07:00
topjohnwu
3a39dd4049
Update ramdisk restore implementation
2022-06-08 23:23:39 -07:00
canyie
89ff3c6572
Don't backup ramdisk created by Magisk
...
Fix topjohnwu#5938, fix topjohnwu#5944
2022-06-08 04:53:43 -07:00
topjohnwu
7bf9c74216
Don't skip backup even if original does not exist
...
Close #5945 , fix #5944
2022-06-08 03:58:25 -07:00
topjohnwu
e2f3753551
Release new canary build
2022-06-07 03:36:21 -07:00
topjohnwu
cacf873645
Release Magisk v25.0
2022-06-07 03:11:29 -07:00
NeoHBz
11e1e7ee36
updated: hi
translations, matched with source
2022-06-07 02:58:43 -07:00
vvb2060
87801b6f23
Fix mv file when install module
2022-06-07 02:46:16 -07:00
topjohnwu
7ce4789e17
Add v25.0 release notes
2022-06-07 02:44:26 -07:00
topjohnwu
9dc6d9afce
Restore AVD after testing
2022-06-07 01:06:27 -07:00
MCPEngu
d6a5354bff
fix typo
2022-06-07 01:00:39 -07:00
Ilya Kushnir
07af37475b
Update RU strings
2022-06-07 00:08:10 -07:00
Oliver Cervera
1b9c273b10
Italian translation update
2022-06-07 00:07:52 -07:00
AndroPlus-org
262c52db56
Update Japanese translation
2022-06-07 00:06:31 -07:00
topjohnwu
eb777296d4
Suppress AppLinkUrlError
2022-06-06 05:26:53 -07:00
topjohnwu
fc70a384d3
Release new canary build
2022-06-06 03:43:23 -07:00
vvb2060
34b2f525a3
Update proguard-rules.pro
2022-06-06 02:59:57 -07:00
vvb2060
569e9ad937
Use noHistory attribute for SuRequestActivity
2022-06-06 02:58:52 -07:00
vvb2060
c495b3d183
Remove request uninstall code
...
unreachable
2022-06-06 02:51:11 -07:00
Softastur
8b16bfbb54
Add Asturian language support
2022-06-06 01:22:05 -07:00
Arbri çoçka
b2f1fd9966
update albania
2022-06-06 00:36:22 -07:00
topjohnwu
317153c53a
Better stub launch flow
2022-06-05 19:15:43 -07:00
topjohnwu
fa60daf9b5
Verify caller before uninstallation
2022-06-05 07:03:26 -07:00
canyie
aadb2d825c
Also set snackbar container for FlashFragment
2022-06-05 05:36:04 -07:00
kubalav
0e7fe537e3
Update Slovak translation
2022-06-05 05:35:39 -07:00
VD $ VD171 @ Priv8
409de3ac44
Update Portugueses Translations
2022-06-05 05:34:45 -07:00
RV7PR
759055eaa5
Replace logo
2022-06-05 05:34:19 -07:00
topjohnwu
9016e6727d
Fix stub app loading on older Android versions
2022-06-05 01:09:30 -07:00
残页
a3381da7ed
Bypass DexFile's security check for RootService ( #5911 )
...
Old Android (pre 8.0) enforces `optimizedDirectory` to have the same uid with the process. If repackaged, root service (uid=0) will crash when trying to load current.apk. So we set `optimizedDirectory` to null to bypass the check.
2022-06-04 04:21:57 -07:00
topjohnwu
351e094440
Release new canary build
2022-06-03 03:38:12 -07:00
残页
2106751ea4
Fix SnackBar shows behind window insets
2022-06-03 03:21:56 -07:00
vvb2060
7ae3cd1c43
Fix D-pad navigation on android 8-
2022-06-03 03:03:41 -07:00
topjohnwu
edfd4dcddf
Fix kotlin jvmTarget
2022-06-03 01:13:29 -07:00
topjohnwu
fb89cf1367
Fix typo
2022-06-03 00:25:10 -07:00
Rom
b7b345cf8a
Update FR translation
2022-06-02 23:47:11 -07:00
残页
0be487e47e
Update zh-rCN translation
2022-06-02 23:45:54 -07:00
topjohnwu
5471147422
Remove usage of BindingCollectionAdapter (part 2)
2022-06-02 23:40:10 -07:00
topjohnwu
6305159c5e
Remove usage of BindingCollectionAdapter (part 1)
2022-06-02 20:55:19 -07:00
topjohnwu
2ed092c9db
Update contributors in app
2022-06-02 06:08:47 -07:00
topjohnwu
5c6a7ffa6f
Simplify context hacks
2022-06-02 04:22:25 -07:00
topjohnwu
9ab7550970
Use weak reference to track activity
2022-06-02 02:18:11 -07:00
topjohnwu
47e7a0a434
Update libsu
2022-06-02 02:04:35 -07:00
RikkaW
4cc5e9f986
Let module remove button support disable state
2022-06-01 09:04:47 -07:00
RikkaW
6a2ae89846
Fix card view background color on API 21 & 22
2022-06-01 09:04:35 -07:00
残页
3c93539e02
Fix log save
2022-06-01 03:10:07 -07:00
topjohnwu
05e5ac2ad2
Bump min version to v22
2022-06-01 03:05:29 -07:00
topjohnwu
10b1782732
Update version gating
2022-06-01 03:01:56 -07:00
topjohnwu
e029994ef8
Move Zygisk out of beta
2022-06-01 02:59:02 -07:00
vvb2060
9679874874
Disable repack on android 5.0
...
am does not support -p
2022-06-01 02:05:15 -07:00
topjohnwu
8186f253e8
Fix zygisk code unloading
2022-06-01 01:50:42 -07:00
topjohnwu
d4fe8632ec
Support SELinux disabled on debug builds
2022-05-31 22:24:13 -07:00
vvb2060
d7776f6597
Return empty on failure to get context
2022-05-31 18:35:56 -07:00
残页
3219d945f5
Prevent multi animators setting property concurrently
...
It crashes on Android 5.0 (API 21) platform.
Fix topjohnwu#5793
2022-05-31 18:35:40 -07:00
Takeda-senpai
8a73a16029
Update VN translation
2022-05-30 23:46:53 -07:00
VD $ VD171 @ Priv8
ce90f9b60d
Update Portugueses Translations by VD171
...
Update Portugueses Translations by VD171
2022-05-30 23:46:33 -07:00
VD $ VD171 @ Priv8
bdf54d562f
Update Portugueses Translations by VD171
...
Update Portugueses Translations by VD171
2022-05-30 23:46:33 -07:00
Rom
e744cc8ea6
Update French translation
2022-05-30 23:46:11 -07:00
Ilya Kushnir
babcf36495
Update RU strings
2022-05-30 23:45:59 -07:00
topjohnwu
e4094c0caa
Update build scripts
2022-05-30 03:47:31 -07:00
topjohnwu
2e51fe20a1
Move things to the correct location
2022-05-30 02:09:07 -07:00
vvb2060
c29636c452
Update zh-rTW translation
2022-05-30 01:54:12 -07:00
vvb2060
22017a5543
Update zh-rCN translation
2022-05-30 01:54:12 -07:00
topjohnwu
50e2f33d1c
More debug indication in UI
...
Close #5874
2022-05-30 01:53:07 -07:00
topjohnwu
5e6eb8dd01
Avoid non-blocking I/O
2022-05-30 01:21:38 -07:00
topjohnwu
18acb97dfe
Make SYSTEM_UID a special case
2022-05-30 00:49:42 -07:00
topjohnwu
bf2f823b8c
Prune unused UID at boot
2022-05-29 23:43:22 -07:00
topjohnwu
d0c4226997
Proper package state management
2022-05-29 23:31:57 -07:00
topjohnwu
4ea8bd0229
Fix incorrect use of compare_exchange
2022-05-29 22:19:56 -07:00
topjohnwu
ee0d58a9b8
Release new canary build
2022-05-29 11:24:39 -07:00
topjohnwu
bf04fa134b
Indicate debug builds
...
Close #5859
2022-05-29 11:14:39 -07:00
Arbri çoçka
297662cafb
update Albanian
2022-05-29 11:03:23 -07:00
kubalav
f464a9b269
Update Slovak translation
2022-05-29 11:03:11 -07:00
vvb2060
d19fcd5e21
Check path when start daemon
2022-05-29 09:08:05 -07:00
topjohnwu
c0981174a8
Use LiveData instead of Observable
2022-05-29 03:57:42 -07:00
vvb2060
0b5f973b31
Print message when getting original app_process fails
2022-05-29 03:46:31 -07:00
topjohnwu
4159b3871c
Fix #5867
2022-05-29 02:49:38 -07:00
南宫雪珊
580c993c0b
Display module status
2022-05-29 01:40:20 -07:00
canyie
0cc29350a0
Navigate only if user has not left the fragment
2022-05-28 22:40:09 -07:00
topjohnwu
490a784993
Handle zygote restarts
2022-05-28 22:39:44 -07:00
topjohnwu
9c774f96db
Use exec for boot_complete
2022-05-28 16:53:04 -07:00
topjohnwu
99afe7ac07
Update AGP
2022-05-28 04:46:58 -07:00
topjohnwu
b3f05fd925
Update setup
2022-05-27 00:44:20 -07:00
topjohnwu
683cfee88b
Cleanup and move things around
2022-05-26 22:05:28 -07:00
topjohnwu
3bcaf0ed5b
Move more files into core
2022-05-25 05:48:02 -07:00
topjohnwu
edb76503d3
Update README
2022-05-24 06:13:51 -07:00
topjohnwu
484038638f
Release new canary build
2022-05-24 05:56:59 -07:00
topjohnwu
8dfb30fefe
Skip cert check on debug builds
2022-05-24 05:39:16 -07:00
topjohnwu
2a252d13b8
Enforce dyn APK signature in stub app
2022-05-24 05:21:36 -07:00
topjohnwu
afa364cfc3
Update dependencies
2022-05-22 20:11:24 -07:00
topjohnwu
dfa36fb25d
Move things around
2022-05-22 19:36:47 -07:00
topjohnwu
c8492b0c58
Use official APIs to load dynamic resources
2022-05-22 19:20:24 -07:00
topjohnwu
083ef803fe
Enforce package signature verification
2022-05-20 04:37:58 -07:00
topjohnwu
351f0269ae
Install stub if necessary
2022-05-19 22:54:49 -07:00
topjohnwu
a29ae15ff7
Proper get_manager implementation
2022-05-19 02:39:57 -07:00
topjohnwu
34dded3b25
Fix denylist on shared UID apps
2022-05-18 01:59:45 -07:00
topjohnwu
975b1a5e36
Prune unused UIDs from su policies
2022-05-18 01:55:58 -07:00
vvb2060
e11508f84d
Respond deny when pkg name not found
2022-05-16 20:44:18 -07:00
topjohnwu
0772f6dcaf
Fix debug channel preference not persisting
2022-05-16 20:16:50 -07:00
topjohnwu
d3fe3a711a
Release new canary build
2022-05-15 01:35:02 -07:00
topjohnwu
756d8356ca
Show canary channel option on canary builds
2022-05-15 01:28:49 -07:00
topjohnwu
42003b4006
Release new canary build
2022-05-15 01:14:07 -07:00
topjohnwu
dc65a2b884
Introduce new debug channel
2022-05-15 01:01:54 -07:00
topjohnwu
071ae79fa8
Release new canary build
2022-05-13 04:34:27 -07:00
topjohnwu
c11ccbae2d
Extract vbmeta from footer
...
Do not scan manually, extract properly from footer like libavb
2022-05-13 02:49:18 -07:00
topjohnwu
6ef86d8d20
Release new canary build
2022-05-12 03:16:16 -07:00
topjohnwu
985249c3d0
Support GKIs without ramdisk
...
Fix #5819
2022-05-12 03:04:55 -07:00
topjohnwu
622e09862a
Restructure native codebase
2022-05-12 02:03:51 -07:00
残页
7505599ea0
Skip invalid slot_suffix argument
...
Many Amlogic devices (e.g. FireTV 2nd gen Cube, Vero 4k+, MI Smart Speaker, etc.) are A-only with androidboot.slot_suffix=normal argument. I think "normal" actually means A-only in this case so just ignore it.
Fix topjohnwu#5806
2022-05-12 00:37:22 -07:00
topjohnwu
575c417403
More detailed comments and documentation
2022-05-11 21:12:37 -07:00
topjohnwu
9f7a3db8be
Move cert extraction to its own file
2022-05-11 21:12:37 -07:00
topjohnwu
029422679c
Remove enforcement
...
Enforcement will be re-implemented later
2022-05-11 21:12:37 -07:00
vvb2060
05d6d2b51b
Verify app signature
2022-05-11 21:12:37 -07:00
capntrips
4cff0384f7
Remove temporary note about OTA update no longer working
2022-05-10 00:11:34 -07:00
vvb2060
68db366696
Delete outdated policies
2022-05-10 00:11:17 -07:00
南宫雪珊
358538717c
Reduce number of loop
2022-05-10 00:10:26 -07:00
topjohnwu
24603b3cef
Update Android Studio
2022-05-09 20:53:47 -07:00
topjohnwu
4eb9240806
Handle Activty recreation on content result
...
Credits to @canyie for the initial PR and finding the bug
Close #5791 , fix #5789
2022-05-08 14:29:59 -07:00
vvb2060
0469f0b5ae
Add uid check for getAppProcess
2022-05-08 04:51:39 -07:00
vvb2060
0b8577d02b
Set tag for root service
2022-05-08 00:39:37 -07:00
Rei Ryuki
97135879a1
Fix sepolicy rules dir is not found in recovery
2022-05-07 02:43:26 -07:00
vvb2060
fef41f68c0
Update dependencies
2022-05-07 02:42:20 -07:00
topjohnwu
0ac19e3a4e
Fix app running without root
2022-05-07 01:16:55 -07:00
topjohnwu
2793d209a4
Allow requesting root from non app process
2022-05-07 00:46:23 -07:00
topjohnwu
71e9c044e6
Release new canary build
2022-05-06 01:57:24 -07:00
Kazurin Nanako
42e5f5150a
Fix "double install" caused by config changes
...
Configuration changes in FlashFragment may cause the installation process to be triggered twice. The simplest way to reproduce this behavior is to choose a module ZIP file in landscape mode (which is the default on some tablets).
This commit fixes the problem by ensuring `savedInstanceState == null` before starting installation.
2022-05-06 01:47:02 -07:00
topjohnwu
90545057e9
Always initialize module_list
...
Close #5712
2022-05-06 01:40:19 -07:00
vvb2060
cffd024e9e
Ignore the response until showDialog done
2022-05-06 01:04:28 -07:00
人工知能
8c858592c4
Update strings.xml
...
Update and fix translations.
2022-05-06 01:03:50 -07:00
canyie
4f1a1879e5
Misc QoL changes
...
- su: Preserve correct capacity to avoid vector reallocation
- su: Properly format code
- daemon: Remove useless `if`
- docs: Remove outdated info
2022-05-06 01:01:58 -07:00
JumbomanXDA
e88eed9a8d
Update util_functions.sh
2022-05-06 00:03:38 -07:00
RikkaW
9581ae8245
Use Locale.ROOT in JcaX509v3CertificateBuilder (X509v3CertificateBuilder)
...
Or in languages like Arabic, an "IllegalArgumentException: invalid date string" will be thrown.
Since JcaX509v3CertificateBuilder does not accepts Locales, we must switch to its super class, X509v3CertificateBuilder.
2022-05-06 00:03:01 -07:00
vvb2060
4202b7a9dc
Enable gms provider for stub
2022-05-06 00:00:41 -07:00
LoveSy
b4c398542a
Fix signboot signature
2022-05-06 00:00:20 -07:00
topjohnwu
081148b2d7
Update dependencies
2022-05-04 22:00:48 -07:00
topjohnwu
a32c4561ed
Release new canary build
2022-05-03 01:38:43 -07:00
topjohnwu
cc79a96fa3
Update libsu
2022-05-03 01:25:26 -07:00
topjohnwu
ff340ce3d8
Suppress verbose output to stderr
2022-04-29 04:57:28 -07:00
topjohnwu
134508193d
Mock selinuxfs load with regular file
...
The hijacked load node does not need to be a FIFO. A FIFO is only
required for blocking init's control flow, which is already achieved
by hijacking the enforce node.
2022-04-16 07:28:20 -07:00
topjohnwu
c2b74aa83e
Update avd_test.sh
2022-04-16 07:28:20 -07:00
topjohnwu
3358eab991
Switch to use ONDK
2022-04-15 12:20:18 -07:00
残页
a609e0aad4
Update tools.md
...
magiskpolicy is no longer an applet of magiskinit
2022-04-13 23:19:36 -07:00
vvb2060
f97866a961
Close stub fd
2022-04-13 23:19:14 -07:00
vvb2060
e1987c42c4
Cleanup SELinux mock files
2022-04-13 23:18:55 -07:00
canyie
18566715e1
Fix MAGISKTMP unmount for CLI
2022-04-10 01:44:16 -07:00
topjohnwu
79f0f3230c
Release new canary build
2022-04-08 02:51:25 -07:00
topjohnwu
63a89d9f04
Fix init dmesg logs
2022-04-08 02:38:30 -07:00
南宫雪珊
f639f39e79
More friendly info
2022-04-08 02:26:11 -07:00
canyie
b4099fc5f9
Support sepolicy.unlocked
...
Fix topjohnwu#4914
2022-04-08 02:24:20 -07:00
topjohnwu
ff2513e276
Use LD_PRELOAD to intercept sepolicy on 2SI init
2022-04-08 02:13:31 -07:00
topjohnwu
f24d52436b
Deduplicate logic
2022-04-08 00:20:21 -07:00
vvb2060
9de6e8846b
Dump stub app to MAGISKTMP/stub.apk
2022-04-07 23:20:42 -07:00
vvb2060
01a1213463
/data/adb/magisk/magisk.apk no longer exists
2022-04-07 23:20:42 -07:00
vvb2060
f0fbd9214a
Remove test key
2022-04-07 21:49:15 -07:00
hnliuzesen
c4f37c550f
Update internal details
2022-04-06 21:15:28 -07:00
canyie
448384af06
Guard su request IPC
...
Previously `read_string()` calls `std::string.resize()` with a int read from remote process. When I/O error occurs, -1 will be used for resizing the string, `std::bad_alloc` is thrown and since magisk is compiled with `-fno-exceptions`, it will crash the whole daemon process.
May fix topjohnwu#5681
2022-04-06 21:15:07 -07:00
canyie
3f840f53a0
Check device tree fstab entries are compatible
...
Fix topjohnwu#5664
2022-04-02 04:28:30 -07:00
Lishoo
d8718d8ac8
Update polish strings
2022-04-02 04:27:11 -07:00
vvb2060
2fb46a11dc
Check MAGISKBIN/magiskpolicy
2022-04-02 04:26:47 -07:00
vvb2060
9a11412719
Fix superuser snackbar text
2022-04-02 04:26:21 -07:00
topjohnwu
98874be171
Release new canary build
2022-03-30 01:58:36 -07:00
topjohnwu
704f91545e
Reorganize magiskpolicy source code
2022-03-29 22:26:38 -07:00
topjohnwu
efb3239cbd
Drop package_name column
2022-03-28 02:05:09 -07:00
topjohnwu
7e7ddeb9e2
Cleanup database migration code
2022-03-28 00:59:16 -07:00
LoveSy
9e8218089b
Only dlopen valid fd
2022-03-26 13:48:53 -07:00
VD $ VD171 @ Priv8
3f660a3963
Fix Portuguese & PT-Brazilian Translations
2022-03-26 13:48:23 -07:00
VD $ VD171 @ Priv8
daeb6711b0
Fix Portuguese & PT-Brazilian Translations
2022-03-26 13:48:23 -07:00
CDzungx
4e1aec28a0
Update Vietnamese Translation
...
Quick fix: Yes - "Đồng ý" -> "Có" to be more versatile.
2022-03-26 13:47:10 -07:00
vvb2060
5512917ec1
Hide incorrect "Factory data reset" message
2022-03-26 13:46:01 -07:00
vvb2060
cd1edc5d56
Use svc for reboot to recovery
2022-03-26 13:46:01 -07:00
topjohnwu
4f52587586
Support ADB shell if app shares its UID
2022-03-26 13:43:43 -07:00
topjohnwu
d7ee4ef5f5
Fix SQL command syntax
2022-03-26 00:36:01 -07:00
topjohnwu
31f88e0f05
Update UI for sharedUID support
2022-03-25 16:56:21 -07:00
topjohnwu
9f1740cc4f
Add preliminary shared UID app support
2022-03-25 13:08:13 -07:00
topjohnwu
f2c15c7701
Ensure RootService is launched
2022-03-23 18:44:05 -07:00
topjohnwu
e67d0678f9
Use viewModelScope instead of GlobalScope
2022-03-23 18:03:41 -07:00
topjohnwu
b1faa5eed4
Update BusyBox
...
Close #5620
2022-03-22 04:18:12 -07:00
LoveSy
7f1f0b9048
Proper support multiple modules adding same dir
2022-03-21 15:53:49 -07:00
LoveSy
183e5f2ecc
Fix xhook cannot hook app_process
...
Co-authored-by: canyie <31466456+canyie@users.noreply.github.com >
Co-authored-by: John Wu <topjohnwu@gmail.com >
2022-03-21 15:52:38 -07:00
topjohnwu
14efe4939a
Release new canary build
2022-03-21 00:35:25 -07:00
topjohnwu
3dc7d77ea9
Patch monolithic sepolicy only if not treble
2022-03-19 20:21:31 -07:00
残页
0f07bbb3e5
Device using split policy can still have monolithic sepolicy file
2022-03-19 12:37:48 -07:00
LoveSy
dd5a3416bf
Fix multiple modules adding the same subdirectory
2022-03-19 12:28:54 -07:00
LoveSy
2fb49ad780
Don't always mock selinux enforce as "0"
2022-03-19 12:28:32 -07:00
topjohnwu
92f0e53fee
Release new canary build
2022-03-18 05:05:17 -07:00
topjohnwu
876132694d
Make /dev always writable
2022-03-18 04:58:37 -07:00
topjohnwu
1257ba41c6
Add MagiskInit AVD automation test
2022-03-18 04:56:19 -07:00
topjohnwu
2cc71ac7ed
Release new canary build
2022-03-18 01:56:19 -07:00
topjohnwu
753808a4ce
Also hijack plat_file_contexts if necessary
...
Since Android 13, sepolicy are also loaded from APEX modules. Part
of the change is to run restorecon before SELinux is set to enforce.
In order to support this situation, we also hijack plat_file_contexts
if necessary to properly order our operations.
Original idea credits to @yujincheng08, close #5603
2022-03-18 00:46:34 -07:00
topjohnwu
32cd694ad5
SAR can also have monolithic sepolicy
2022-03-17 22:32:49 -07:00
topjohnwu
f008420891
Make magiskinit not magiskpolicy
2022-03-17 03:36:40 -07:00
topjohnwu
fa8900be65
Use standalone magiskpolicy
2022-03-17 03:15:39 -07:00
LoveSy
69c2f407d6
Log if failed to dlopen a zygisk module
2022-03-17 02:25:31 -07:00
topjohnwu
ffcd093db1
Fix #5589
...
Close #5598
2022-03-17 02:25:31 -07:00
topjohnwu
8dbf93750f
Reorganize magiskinit code
2022-03-16 21:41:20 -07:00
topjohnwu
e266a81167
Remove unused code
2022-03-16 21:31:22 -07:00
topjohnwu
e841aab9e7
Add hijack sepolicy support for rootfs devices
...
On older Android versions, pre-mounting selinuxfs will lead to errors,
so we have to use a different method to block init's control flow.
Since all devices that falls in this catagory must both:
1. Be Android 8.0 - 9.0
2. Have early mount fstab in its device tree
We can actually use the same FIFO trick, but this time not on selinuxfs,
but on the read-only device tree nodes in sysfs or procfs. By mocking
the fstab/compatible node in the device tree, we can block init when
it attempts to do early mount; at that point, we can then mock selinuxfs
as we normally would, successfully hijack and inject patched sepolicy.
2022-03-16 20:01:28 -07:00
topjohnwu
49f259065d
Introduce new sepolicy injection mechanism
...
In the current implementation, Magisk will either have to recreate
all early mount implementation (for legacy SAR and rootfs devices) or
delegate early mount to first stage init (for 2SI devices) to access
required partitions for loading sepolicy. It then has to recreate the
split sepolicy loading implementation in-house, apply patches, then
dump the compiled + patched policies into monolithic format somewhere.
Finally, it patches the original init to force it to load the sepolicy
file we just created.
With the increasing complexity involved in early mount and split
sepolicy (there is even APEX module involved in the future!),
it is about time to rethink Magisk's sepolicy strategy as rebuilding
init's functionality is not scalable and easy to maintain.
In this commit, instead of building sepolicy ourselves, we mock
selinuxfs with FIFO files connected to a pre-init daemon, waiting
for the actual init process to directly write the sepolicy file into
MagiskInit. We then patch the file and load it into the kernel. Some
FIFO tricks has to be used to hijack the original init process's
control flow and prevent race conditions, details are directly in the
comments in code.
At the moment, only system-as-root (read-only root) support is added.
Support for legacy rootfs devices will come with a follow up commit.
2022-03-16 00:31:55 -07:00
topjohnwu
b10379e700
Cleanup inheritance
2022-03-14 04:22:09 -07:00
topjohnwu
810d27a618
Use /data as tmpfs mount point in 2SI setup
...
Design credit to @yujincheng08
Close #5146 . Fix #5491 , fix #3752
Previously, Magisk changes the mount point from /system to /system_root
by patching fstab to prevent the original init from changing root.
The reason why we want to prevent the original init from switching the
root directory is because it will then be read-only, making patching
and injecting magiskinit into the boot chain difficult.
This commit (ab)uses the fact that the /data folder will never be part
of early mount (because it is handled very late in the boot by vold),
so that we can use it as the mount point of tmpfs to store files.
Some advantages of this method:
- No need to switch root manually
- No need to modify fstab, which significantly improves compatibility
e.g. avoid hacks for weird devices like those using oplus.fstab,
and avoid hacking init to bypass fstab in device trees
- Supports skip_mount.cfg
- Support DSU
2022-03-13 05:06:08 -07:00
topjohnwu
9b60c005c7
Support multiple CPIO concatenated
2022-03-13 04:23:00 -07:00
topjohnwu
cc6ca0bda2
Update README
2022-03-10 00:45:51 -08:00
topjohnwu
4512232637
Release new canary build
2022-03-10 00:44:42 -08:00
topjohnwu
2c092ffdef
Release Magisk v24.3
2022-03-10 00:32:07 -08:00
topjohnwu
66406227d6
Add v24.3 release notes
2022-03-10 00:24:02 -08:00
topjohnwu
a11d25bb44
Update libsu
2022-03-10 00:00:11 -08:00
VD $ VD171 @ Priv8
2e58d902b7
Update Portuguese Portugal Translation & Fix Portuguese Brazilian Translation by VD171
2022-03-09 20:44:33 -08:00
vvb2060
237794b05c
Add root install back
2022-03-09 20:44:11 -08:00
topjohnwu
563a587882
Initialize local variables
...
Fix #5542
2022-03-09 20:43:42 -08:00
canyie
24505cd111
Prevent destroyed activities from being reused
...
The adapter will cache a LayoutInflater which refers the current activity, and the ViewModel object will keep alive until activity finished. After activity recreates (e.g. split-screen), it will use the cached LayoutInflater which refers a destroyed activity and crashes. This also is a memory-leak, according to Google's official document, ViewModel shouldn't refer activity. See https://developer.android.com/topic/libraries/architecture/viewmodel
Fix topjohnwu#5413
2022-03-07 01:54:02 -08:00
topjohnwu
0c681cdab4
Check null before dereferencing fds_to_ignore
2022-03-03 21:34:53 -08:00
VD $ VD171 @ Priv8
13ef3058c6
Update Portuguese Brazilian Translation by VD171
...
Update Portuguese Brazilian Translation by VD171
2022-03-03 10:36:45 -08:00
vvb2060
50b159b43d
Add init_boot parition
2022-03-02 22:50:05 -08:00
Rom
8c6c328730
Update French translation
2022-03-02 22:48:24 -08:00
sn-o-w
c9812ddf08
Update Romanian
2022-03-02 22:48:07 -08:00
owen151128
2ef0449c2c
Update Korean translation
2022-03-02 22:33:52 -08:00
Ilya Kushnir
5edc750c47
Update RU strings
2022-03-02 22:33:21 -08:00
vvb2060
2f0e396d7f
Update gradle
2022-03-02 22:32:35 -08:00
vvb2060
000a163beb
Match components which are direct boot unaware
2022-03-02 22:32:35 -08:00
topjohnwu
80dd37ee31
Add missing specialize arguments
2022-03-02 22:01:35 -08:00
topjohnwu
e0b5645064
Revert "Directly use getrandom system call if possible"
...
This reverts commit e7c82f20e3
.
Fix #5516
2022-03-02 19:50:47 -08:00
topjohnwu
e51aacb0b7
Update README
2022-03-01 23:54:39 -08:00
topjohnwu
2d6af94aa0
Release new canary build
2022-03-01 23:53:39 -08:00
topjohnwu
7cfce9ff7a
Release Magisk v24.2
2022-03-01 23:35:56 -08:00
topjohnwu
7f088d6241
Add v24.2 release notes
2022-03-01 23:26:44 -08:00
vvb2060
d11038f3de
Directly stream apk into install session
2022-03-01 23:05:06 -08:00
vvb2060
6df42a4be7
Handle install failure
2022-03-01 23:05:06 -08:00
Francesco Saltori
7fd111b91f
Bring English strings changes to Italian translation
2022-03-01 22:51:07 -08:00
Sirichai Chulee
dd7dc2ec5a
Fix typo in thai translation
2022-03-01 22:50:37 -08:00
Vladimír Kubala
86c586d882
Update Slovak translation
2022-03-01 22:50:12 -08:00
Arbri çoçka
66ac6f72fc
update Albania translator
2022-03-01 22:49:44 -08:00
CDzungx
f21f448099
Update Vietnamese Translation
...
Fix, added some translations.
Added note for technicality word in case user don't know the word mean in English like "boot image", "image" is translated to "đĩa ảnh", I can't really understand it if I use Vietnamese lang 😂 .
2022-03-01 22:49:29 -08:00
topjohnwu
548d70f30c
Mount with original option
...
Fix #5481 , close #5486
2022-03-01 20:09:59 -08:00
topjohnwu
39e714c6d8
Release new canary build
2022-03-01 03:44:21 -08:00
topjohnwu
9968af0785
Move all permission check into daemon.cpp
2022-03-01 03:15:38 -08:00
topjohnwu
be7586137c
Reduce C++ wizardry
2022-03-01 03:15:38 -08:00
LoveSy
7999b66c3c
Refactor daemon connection
2022-03-01 03:15:38 -08:00
vvb2060
c82a46c1ee
Check property before switch mem cgroup
2022-02-28 23:27:23 -08:00
vvb2060
666ab1941f
Fix app request fifo wait
2022-02-28 23:26:59 -08:00
topjohnwu
71e37345b4
Update libsu
2022-02-28 20:14:58 -08:00
topjohnwu
e7c82f20e3
Directly use getrandom system call if possible
2022-02-16 23:57:28 -08:00
LoveSy
afa771a980
Set dlopen reserved size to unlimited
2022-02-16 23:05:17 -08:00
vvb2060
0d1de98cca
Update zh-rCN translation
2022-02-16 23:04:57 -08:00
vvb2060
02bf7dca01
Check apk before patch
2022-02-16 23:04:39 -08:00
vvb2060
8cc76b1d86
Fix restore dialog
2022-02-16 23:04:19 -08:00
vvb2060
77a275cbcd
Show notification when stub is updated to full
2022-02-16 23:04:03 -08:00
vvb2060
3956cbe2d2
ActivityTracker ignore SuRequestActivity
2022-02-16 23:03:42 -08:00
vvb2060
945de8d9a0
Directly stream APK into install session
2022-02-16 23:03:32 -08:00
vvb2060
6dabd3bb2d
Abandon unsuccessful session
2022-02-16 23:03:01 -08:00
topjohnwu
4c80808997
Check packages.xml inode to trigger app rescan
2022-02-14 02:57:33 -08:00
topjohnwu
5a39f7cdde
Reduce duplicate initialization
2022-02-14 02:28:48 -08:00
topjohnwu
5d400fbe90
Check REQUEST_INSTALL_PACKAGES before actions
2022-02-14 02:15:50 -08:00
topjohnwu
e36596470c
Minor adjustments
2022-02-13 20:16:23 -08:00
topjohnwu
668e549208
Refactor APKInstall
2022-02-13 19:54:59 -08:00
topjohnwu
256ff31d11
Show notification after app upgrade
2022-02-13 18:35:35 -08:00
topjohnwu
2414d5d7f5
Minor changes
2022-02-13 14:23:06 -08:00
topjohnwu
b7fc15d399
Code refactoring
2022-02-13 07:24:34 -08:00
topjohnwu
c09b4dabc4
Generate class mapping at runtime
2022-02-13 06:22:42 -08:00
topjohnwu
a4aa4a91a3
Refactor DynLoad
2022-02-13 03:32:11 -08:00
topjohnwu
8f0ea5925a
Relaunch process without second process
2022-02-13 02:58:55 -08:00
南宫雪珊
936ad1aa20
Handle download fail
...
Co-authored-by: topjohnwu <topjohnwu@gmail.com >
2022-02-13 02:30:09 -08:00
topjohnwu
d021bca6ef
Prevent app_process from setting umask
...
Fix #5435
2022-02-11 01:26:24 -08:00
topjohnwu
55ed6109c1
Use dynamic_bitset.emplace_back()
2022-02-11 01:10:26 -08:00
vvb2060
f6d765bf81
Su request activity has no affinity for any task
2022-02-11 01:08:04 -08:00
LoveSy
88e8f2bf83
Proper escape :
and \
when binding intent
2022-02-11 01:07:28 -08:00
LoveSy
c849759682
Use magiskboot to patch avd
...
Fix #5421
2022-02-11 00:25:07 -08:00
topjohnwu
605eae21bc
Remove unnecessary read/write
...
Close #5425
2022-02-11 00:24:12 -08:00
topjohnwu
93eb277a88
Update error messages
2022-02-11 00:01:51 -08:00
LoveSy
8edf556c9e
Fix lz4_lg compress
2022-02-10 23:50:19 -08:00
topjohnwu
7fcb63230f
Support lz4_legacy archive with multiple magic
...
Multiple lz4_legacy archives can be directly concatenated
2022-02-10 23:49:17 -08:00
LoveSy
12093a3dad
Update elf-cleaner
2022-02-08 00:53:02 -08:00
canyie
ebb0ec6c42
Make xmmap() returns nullptr when fails
...
In the constructor of mmap_data, there are two possible values when fails: nullptr if fstat() fails, and MAP_FAILED if mmap() fails, but mmap_data treated MAP_FAILED as valid address and crashes.
2022-02-08 00:49:47 -08:00
LoveSy
188546515c
Fix UID tracking
2022-02-08 00:49:22 -08:00
topjohnwu
c8990b0f68
Rewrite UID tracking
2022-02-07 02:46:47 -08:00
topjohnwu
7dced4b9d9
Update AGP
2022-02-07 00:19:36 -08:00
topjohnwu
3145e67feb
Update data structure
2022-02-07 00:17:07 -08:00
topjohnwu
e9348d9b6a
Release new canary build
2022-02-06 07:19:27 -08:00
topjohnwu
1a1b346c05
Fix #5377
2022-02-06 07:12:26 -08:00
Donatello
920d059837
Update italian translation
...
Added missing string.
Co-authored-by: Madis Otenurm <Madis0@users.noreply.github.com >
2022-02-06 06:51:49 -08:00
xDonatello
bef5c3bd1b
Update italian translation
2022-02-06 06:51:49 -08:00
Madis Otenurm
97037f7d03
Update strings.xml
2022-02-06 06:51:11 -08:00
topjohnwu
a7392ed3d7
Fix MULTIUSER_MODE_OWNER_MANAGED
2022-02-06 06:46:09 -08:00
Madis Otenurm
3eb1a7e384
Update Estonian
2022-02-06 05:59:09 -08:00
Arbri çoçka
1ecdc78c2f
fix translante in Albania language
2022-02-06 05:58:39 -08:00
孟武.尼德霍格.龍
d279dba37e
Update Traditional Chinese Strings
...
Co-authored-by: LoveSy <631499712@qq.com >
2022-02-06 05:58:03 -08:00
topjohnwu
a4f97fa151
Fix buffer overflow in connect.cpp
2022-02-06 05:52:11 -08:00
LoveSy
ff7ac582f0
Refactor Zygisk loading
...
Co-authored-by: topjohnwu <topjohnwu@gmail.com >
2022-02-06 00:27:31 -08:00
LoveSy
d2c2456fbe
Don't use getmntent_r
from system's libc
...
Fix #5354
Co-authored-by: topjohnwu <topjohnwu@gmail.com >
2022-02-04 23:19:12 -08:00
LoveSy
e9f562a8b7
Fix abuse of fdopendir
...
After `fdopendir`, the fd is no longer usable. Should dup and
make use of RAII
Co-authored-by: 残页 <31466456+canyie@users.noreply.github.com >
2022-02-04 22:54:34 -08:00
topjohnwu
084e0a73dc
Cleanup DownloadService
2022-02-03 03:50:52 -08:00
topjohnwu
10f991b8d0
Directly stream APK into install session
2022-02-03 03:50:52 -08:00
残页
79620c97d1
Invalidate Samsung's persist.sys.zygote.early
...
Samsung FDE devices with the "persist.sys.zygote.early=true" property will cause Zygote to start before post-fs-data. According to Magisk's document, the post-fs-data phase should always happen before Zygote is started. Features assuming this behavior (like Zygisk and modules that need to control zygote) will not work. To avoid breaking existing modules, we simply invalidate this property to prevent this non-standard behavior from happening
Fix #5299 , fix #5328 , fix #5308
Co-authored-by: LoveSy <shana@zju.edu.cn >
2022-02-03 00:46:52 -08:00
topjohnwu
ffec9a4ddd
Minor changes
2022-02-02 05:06:12 -08:00
topjohnwu
9b18960bbd
Getting APK doesn't need ContentProvider
2022-02-02 04:58:31 -08:00
topjohnwu
a009fdbdc3
Fix root service on stub
2022-02-02 04:49:23 -08:00
topjohnwu
c1fc3f373c
Proper app relaunch for stub
2022-02-02 04:44:22 -08:00
topjohnwu
f4cf5dc0cd
Rename class
2022-02-02 02:50:27 -08:00
topjohnwu
355341f0ab
Use AppComponentFactory to replace ClassLoader
2022-02-01 22:43:44 -08:00
topjohnwu
7f65f7d3ca
Separate libc.a hacks into its own component
2022-01-31 02:09:08 -08:00
topjohnwu
9fa096c6f4
Add runtime FORTIFY support
...
Gingerbread libc.a missing symbols
2022-01-31 01:49:37 -08:00
LoveSy
70415a396a
Do not filter uid == 1000 for process info
2022-01-30 08:25:24 -08:00
canyie
c921964938
Make sure busybox can be executed recursively
...
Busybox will execute itself. On some older Samsung devices, when it is located in /data, it will not have rights to execute other programs including itself. We should also relocate busybox in this case to workaround Samsung bullshit.
See topjohnwu/ndk-busybox@bdc8655
Fix the "app doesn't detect installed Magisk" issue in topjohnwu#4174
2022-01-30 08:24:32 -08:00
topjohnwu
3bf47a6838
Update selinux
2022-01-30 08:18:04 -08:00
topjohnwu
d3d28f0623
Update to NDK r23b
...
Credits: @yujincheng08
Close #5193
2022-01-30 07:11:51 -08:00
topjohnwu
f880b57544
Update README
2022-01-28 04:02:57 -08:00
topjohnwu
32b7a26fa6
Release new canary build
2022-01-28 03:58:53 -08:00
topjohnwu
32fc34f922
Release Magisk v24.1
2022-01-28 03:43:42 -08:00
topjohnwu
b82a393692
Add v24.1 release notes
2022-01-28 03:37:00 -08:00
LoveSy
3c7e792167
Catch PendingIntent.CanceledException
thrown from send
2022-01-27 05:29:32 -08:00
LoveSy
0ad66875ab
Fix crash when zip is malformat
...
Co-authored-by: 南宫雪珊 <vvb2060@gmail.com >
Co-authored-by: 残页 <31466456+canyie@users.noreply.github.com >
2022-01-27 05:26:31 -08:00
Arbri çoçka
1191ac2671
update Albania translation
2022-01-27 05:25:13 -08:00
topjohnwu
928b3425e3
Embed module installer in APK
2022-01-27 05:24:05 -08:00
topjohnwu
0726a00e3b
Fix download notifications
2022-01-27 05:17:52 -08:00
LoveSy
5a88984d34
Guard synchronizedList's iteration
...
It's needed to guard a synchronizedList when iterating it
2022-01-27 02:01:30 -08:00
LoveSy
18de60f68c
Fix NPE of SuRequestViewModel
...
countdown timer may have not initialized when backpressed
2022-01-27 02:01:04 -08:00
LoveSy
1893359142
Fix crash when fragment is detached from activity
2022-01-27 01:54:24 -08:00
topjohnwu
f5e5ab2436
Update Android Studio
2022-01-27 01:46:00 -08:00
topjohnwu
ff5ea1a70d
Clarify what 64-bit only means
2022-01-26 04:39:14 -08:00
topjohnwu
54ee63a409
Minor install guide changes
2022-01-26 02:55:25 -08:00
topjohnwu
f095606b50
Release new canary build
2022-01-26 02:41:46 -08:00
topjohnwu
e8f31c78d7
Update README
2022-01-26 02:33:22 -08:00