Commit Graph

346 Commits

Author SHA1 Message Date
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
f7c0e407ca Fix downgrade database 2021-09-20 05:50:34 -07:00
f1b6c9f4aa Refresh uid_map on package.xml change 2021-09-20 04:42:06 -07:00
0ab31ab0df Fix log writer 2021-09-19 13:41:45 -07:00
3fb72a4d20 Support polling on multiple fds 2021-09-18 14:40:12 -07:00
db590091b3 Propagate Zygisk state to Magisk app 2021-09-18 02:38:53 -07:00
7b25e74418 Simplify get manager app info logic 2021-09-17 02:07:32 -07:00
706a492218 Update denylist config implementation 2021-09-16 05:27:34 -07:00
c0be5383de Support enable/disable Zygisk 2021-09-15 02:49:54 -07:00
3b8ce85092 Enable Zygisk 2021-09-15 01:59:43 -07:00
65b0ea792e MagiskHide is no more 2021-09-12 12:40:34 -07:00
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
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
6fe9b69aad Cleanup module.cpp 2021-08-28 10:27:45 -07:00
5d162f81c4 Modernize db.hpp 2021-08-27 01:06:03 -07:00
4771c2810b Significantly better AVD support 2021-08-26 03:09:56 -07:00
0cd99712fa Implement cached thread pool 2021-08-24 02:39:54 -07:00
b591af7803 Minor bug fixes 2021-08-22 03:26:48 -07:00
171d68ca72 Connect to magiskd log daemon 2021-08-22 03:26:48 -07:00
bade4f2c6a Make xhook log as Magisk 2021-08-22 03:26:48 -07:00
ffe47300a1 Update recv/send fd function 2021-08-22 03:26:48 -07:00
9b3efffba9 Use magiskd to setup files 2021-08-18 03:44:32 -07:00
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
2b17c77195 Make Zygisk 1st class citizen 2021-08-17 23:57:49 -07:00
27f7fa7153 Extend stream support 2021-08-13 02:08:56 -07:00
b325aa4555 Fix log file writing 2021-08-13 00:13:44 -07:00
0d977b54f7 Revise logging code 2021-08-12 03:26:54 -07:00
20860da4b4 Cleaner daemon handlers 2021-08-11 22:57:08 -07:00
6099f3b015 Always resolve to canonical path 2021-05-10 01:14:53 -07:00
708fe514f8 Always use mirror path 2021-04-23 16:56:23 -07:00
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
013b6e68ec Fix perfect forwarding 2021-04-15 04:58:30 -07:00
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
01b985eded Remove more pre SDK 21 stuffs 2021-04-09 21:29:42 -07:00
dfe1f2c108 Call freecon() when fgetfilecon() succeeds 2021-04-04 01:58:59 -07:00
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
68258e8444%5E%21/
2021-03-13 21:10:02 -08:00
82f8948fd4 Separate setting log functions and starting log daemon 2021-03-13 17:50:48 -08:00
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
a6f81c66e5 Bypass stdio 2021-03-13 16:17:28 -08:00
43c1105d62 Use dedicated thread for writing logfile 2021-03-09 02:40:12 -08:00
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
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
ac8372dd26 Add cgroup2 path
https://android-review.googlesource.com/c/platform/system/core/+/1585101
2021-02-26 21:36:58 -08:00
b76c80e2ce Fix apex path 2021-02-14 13:37:38 -08:00
f1295cb7d6 Fix root on Android 7.0 and lower 2021-01-26 02:16:11 -08:00
b1dbbdef12 Remove unneeded busybox redirection 2021-01-25 00:23:42 -08:00
d2bc2cfcf8 Install both 32 and 64 bit binaries 2021-01-18 12:37:08 -08:00
f5c2d72429 Also log pid and tid 2021-01-16 16:10:47 -08:00