Commit Graph

347 Commits

Author SHA1 Message Date
topjohnwu 73d36fdff0 Riru and its modules are not compatible with zygisk 2021-09-23 23:54:46 -07:00
vvb2060 d20517483e Prevent multiple mounts of devpts 2021-09-23 02:40:24 -07:00
残页 61783ffc82 Prevent original libselinux.so to be unmounted
libselinux.so will be unmounted when magiskd starts. If magiskd restarts (like it died before boot completed), the files we want to unmount is the original files because the modified files is unmounted in previous start, which will causes many crashes due to missing libselinux.so.
2021-09-22 19:34:44 -07:00
RikkaW f7c0e407ca Fix downgrade database 2021-09-20 05:50:34 -07:00
topjohnwu f1b6c9f4aa Refresh uid_map on package.xml change 2021-09-20 04:42:06 -07:00
topjohnwu 0ab31ab0df Fix log writer 2021-09-19 13:41:45 -07:00
topjohnwu 3fb72a4d20 Support polling on multiple fds 2021-09-18 14:40:12 -07:00
topjohnwu db590091b3 Propagate Zygisk state to Magisk app 2021-09-18 02:38:53 -07:00
topjohnwu 7b25e74418 Simplify get manager app info logic 2021-09-17 02:07:32 -07:00
topjohnwu 706a492218 Update denylist config implementation 2021-09-16 05:27:34 -07:00
topjohnwu c0be5383de Support enable/disable Zygisk 2021-09-15 02:49:54 -07:00
topjohnwu 3b8ce85092 Enable Zygisk 2021-09-15 01:59:43 -07:00
topjohnwu 65b0ea792e MagiskHide is no more 2021-09-12 12:40:34 -07:00
topjohnwu de2306bd12 Proper incremental builds
Auto generate flag.h for precise rebuilding
2021-09-07 19:35:28 -07:00
残页 c0a2e3674c Reset file context from adb_data_file
In some cases (like weird ROMs that allow init to relabel context from system_file), module files will have an incorrent context, which will causes module not working properly.
See https://github.com/RikkaApps/Riru/wiki/Explanation-about-incorrect-SELinux-rules-from-third-party-ROMs-cause-Riru-not-working
2021-09-02 21:55:08 -07:00
vvb2060 f324252681 Use isolated devpts if kernel support
kernel version >= 4.7 or CONFIG_DEVPTS_MULTIPLE_INSTANCES=y
2021-08-29 02:45:49 -07:00
topjohnwu 6fe9b69aad Cleanup module.cpp 2021-08-28 10:27:45 -07:00
topjohnwu 5d162f81c4 Modernize db.hpp 2021-08-27 01:06:03 -07:00
topjohnwu 4771c2810b Significantly better AVD support 2021-08-26 03:09:56 -07:00
topjohnwu 0cd99712fa Implement cached thread pool 2021-08-24 02:39:54 -07:00
topjohnwu b591af7803 Minor bug fixes 2021-08-22 03:26:48 -07:00
topjohnwu 171d68ca72 Connect to magiskd log daemon 2021-08-22 03:26:48 -07:00
topjohnwu bade4f2c6a Make xhook log as Magisk 2021-08-22 03:26:48 -07:00
topjohnwu ffe47300a1 Update recv/send fd function 2021-08-22 03:26:48 -07:00
topjohnwu 9b3efffba9 Use magiskd to setup files 2021-08-18 03:44:32 -07:00
topjohnwu 003fea52b1 Remove all non-Magisk hiding code
Magisk no longer interferes with any signals/info that were not created
or caused by Magisk itself.
2021-08-18 02:01:54 -07:00
topjohnwu 2b17c77195 Make Zygisk 1st class citizen 2021-08-17 23:57:49 -07:00
topjohnwu 27f7fa7153 Extend stream support 2021-08-13 02:08:56 -07:00
topjohnwu b325aa4555 Fix log file writing 2021-08-13 00:13:44 -07:00
topjohnwu 0d977b54f7 Revise logging code 2021-08-12 03:26:54 -07:00
topjohnwu 20860da4b4 Cleaner daemon handlers 2021-08-11 22:57:08 -07:00
topjohnwu 6099f3b015 Always resolve to canonical path 2021-05-10 01:14:53 -07:00
vvb2060 708fe514f8 Always use mirror path 2021-04-23 16:56:23 -07:00
Wang Han 44f005077d Don't copy sepolicy.rule to /persist on boot
* This seems to be a logic that has been abandoned for a
   long time. Now we automatically choose which partition
   to store sepolicy.rule. Furthermore, touching /persist is
   what we should avoid doing whenever possible.
2021-04-15 05:01:03 -07:00
LoveSy 013b6e68ec Fix perfect forwarding 2021-04-15 04:58:30 -07:00
LoveSy 95c964673d Initialized _root properly
Fix #4204

`_root` is uninitialized for non-root nodes. And it will cause `module_node::mount` fail because it uses `root()`. Once the bug is triggered, signal 11 is received but Magisk catch all signals and therefore stuck forever.
2021-04-15 04:58:30 -07:00
topjohnwu 01b985eded Remove more pre SDK 21 stuffs 2021-04-09 21:29:42 -07:00
Shaka Huang dfe1f2c108 Call freecon() when fgetfilecon() succeeds 2021-04-04 01:58:59 -07:00
vvb2060 7a007b342a Correct comment
For file-based encryption, /data/adb is always required to encrypt
https://android.googlesource.com/platform/system/extras/+/refs/tags/android-7.0.0_r36/ext4_utils/ext4_crypt_init_extensions.cpp
https://android.googlesource.com/platform/system/core/+/68258e8444e0daa967b007edf659e8bb7b38c59f%5E%21/
2021-03-13 21:10:02 -08:00
topjohnwu 82f8948fd4 Separate setting log functions and starting log daemon 2021-03-13 17:50:48 -08:00
Shaka Huang b9cdc755d1 Returned fds[0] in socketpair() might be STDOUT
* There will be garbage output when executing `su` (#4016)
* Failed to check root status and showing N/A in status (#4005)

Signed-off-by: Shaka Huang <shakalaca@gmail.com>
2021-03-13 17:50:48 -08:00
topjohnwu a6f81c66e5 Bypass stdio 2021-03-13 16:17:28 -08:00
topjohnwu 43c1105d62 Use dedicated thread for writing logfile 2021-03-09 02:40:12 -08:00
vvb2060 b693d13b93 Proper implementation of cgroup migration
https://www.kernel.org/doc/Documentation/admin-guide/cgroup-v1/cgroups.rst
https://www.kernel.org/doc/Documentation/admin-guide/cgroup-v2.rst
2021-03-07 01:55:19 -08:00
topjohnwu 39982d57ef Fix logging implementation
- Block signals in logging routine (fix #3976)
- Prevent possible deadlock after fork (stdio locks internally)
  by creating a new FILE pointer per logging call (thread/stack local)
2021-03-06 13:55:30 -08:00
vvb2060 ac8372dd26 Add cgroup2 path
https://android-review.googlesource.com/c/platform/system/core/+/1585101
2021-02-26 21:36:58 -08:00
vvb2060 b76c80e2ce Fix apex path 2021-02-14 13:37:38 -08:00
topjohnwu f1295cb7d6 Fix root on Android 7.0 and lower 2021-01-26 02:16:11 -08:00
topjohnwu b1dbbdef12 Remove unneeded busybox redirection 2021-01-25 00:23:42 -08:00
topjohnwu d2bc2cfcf8 Install both 32 and 64 bit binaries 2021-01-18 12:37:08 -08:00