Commit Graph

7096 Commits

Author SHA1 Message Date
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 canary-28102 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:
https://github.com/aosp-mirror/platform_system_core/commit/cb5fccc83c6c757f25436884e96c318f72743ffd

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