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 da43ac89a07c7b13b4cf4ae1539c95363ecd1f9f.
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