44cfe94e4d
Always cleanup init LD_PRELOAD hooks
...
Fix #6296
2022-10-03 08:26:33 -07:00
095d821240
Don't use xopen in readlink
2022-09-25 16:35:28 -07:00
48f829b76e
Minor refactoring
2022-09-21 03:09:46 +02:00
af99c1b843
Don't crash when nullptr paired with len = 0
2022-09-15 16:56:22 -07:00
c6646efe68
Move all xwrap to Rust
2022-09-15 01:17:05 -07:00
9474750bdf
Close fd of erroneous daemon socket connections
2022-09-13 04:29:29 -07:00
e86db0bd61
Reset stack guard after fork from Zygote
2022-09-13 04:18:34 -07:00
a66a3b7438
Make sure logs are always ended with newline
2022-09-09 04:29:50 -07:00
44029875a6
Add new API exemptFd
2022-09-09 03:27:19 -07:00
ccf21b0992
Zygisk code refactor
2022-09-07 13:48:20 -07:00
4e14dab60a
Specialize does not need to close logd_fd
2022-09-06 03:01:39 -07:00
6e299018a4
Preserve logd_fd after specialization
...
Also add more comments regarding FD checks
2022-09-02 01:49:17 -07:00
555a54ec53
Avoid doing any unmounts for SysUI
2022-08-31 00:15:15 -07:00
1565bf5442
Make Zygisk API 0BSD
2022-08-30 01:58:40 -07:00
14b830027b
Cleanup zygisk headers
2022-08-30 01:40:14 -07:00
38325e708e
Make private applets hidden
2022-08-27 14:50:28 -07:00
646260ad6d
Fix typo
2022-08-27 05:27:23 -07:00
d1d26f4481
Fix building individual applet
2022-08-27 05:06:28 -07:00
77d8445bfd
Avoid hardcode package name
2022-08-24 03:18:55 -07:00
a54114f149
Pre-grant permissions if possible
2022-08-23 05:09:50 -07:00
c2f96975ce
Pre grant as much as possible
2022-08-23 01:33:10 -07:00
4737c5117a
Update to ONDK r25.2
2022-08-19 16:26:25 -07:00
9806b38d8e
Introduce zygisk loader
...
Use a separate library for 1st stage
2022-08-19 04:49:19 -07:00
34dd9eb7d6
More Rust
2022-08-19 02:21:52 -07:00
4d9b7e7114
More Rust
2022-08-15 11:53:51 -07:00
40aab13601
Make IDE recognize we are targeting Android
2022-08-09 14:09:39 -07:00
4c0f72f68f
Move part of libbase to Rust
2022-08-08 22:53:37 -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
7357a35f8d
Fix build errors
2022-08-07 05:03:18 -07:00
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
1b4a6850b8
Ensure parent folders exist before extract
2022-08-07 04:06:18 -07:00
1d0b873950
Fix sepolicy attribute
rule parsing
...
Fix #6166
2022-08-07 03:35:50 -07:00
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
b496923cbb
Update Cargo.toml
2022-07-24 06:14:49 -07:00
759d196aad
Update cxx.rs
2022-07-24 05:45:23 -07:00
a7ab8216ce
Proper build scripts
2022-07-24 05:39:14 -07:00
b9e89a1a2d
Restructure the native module
...
Consolidate all code into the src folder
2022-07-23 13:51:56 -07:00
c7c9fb9576
Restore context before copy
...
fix magiskpolicy context
2022-07-23 03:57:43 -07:00
8b095de04d
Fix app_zygote context
2022-07-23 03:14:44 -07:00
d4b9ef736d
Check magisk32 exists
2022-07-23 02:41:36 -07:00
00d3cb0908
magisk_node: check target exists
2022-07-23 02:40:13 -07:00
d35072d4e6
Match app_zygote by context
2022-07-23 02:39:28 -07:00
4264ae49c0
Format with rustfmt
2022-07-22 03:56:09 -07:00
3906fe75dc
Clean up code
2022-07-21 00:52:28 -07:00
910a36fdc1
Make sepolicy.rules relative if possible
2022-07-20 19:28:38 -07:00
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
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
70fd03d5fc
Rearchitect logging
2022-07-06 01:16:08 -07:00
2e52875b50
Move all logging into Rust
2022-07-05 21:13:09 -07:00