Commit Graph

634 Commits

Author SHA1 Message Date
fc8a3c5fb4 Migrate MagiskBoot to C++ 2018-10-24 22:23:14 -04:00
018c0064cd Make sure boot_img is initialized correctly 2018-10-22 01:58:50 -04:00
c2b016370b Make a copy of logcat and use that instead
When Magisk is magic mounting /system/bin, there is a chance that logcat would be temporarily unavailable. Leave a copy and use that for magisklogd
2018-10-20 21:46:12 -04:00
41b01003fd Always ACK before doing anything 2018-10-20 16:12:08 -04:00
74aae523ba Properly support boot image header v1
Close #695
2018-10-20 00:27:56 -04:00
a9121fa28f Reorganize libutils and cleanups 2018-10-12 21:46:09 -04:00
d5a56d9e85 Fix bootloop for some devices with two /data
Close #654
2018-10-12 00:54:55 -04:00
acf7c0c665 Minor reorganization of daemons 2018-10-12 00:50:47 -04:00
e8e39e0f3c Use poll instead of select
Close #637
2018-10-04 15:06:13 -04:00
37860181d4 Finish su implementation 2018-10-04 14:41:48 -04:00
d119dd9a0c Rewrite su daemon and client 2018-10-04 04:59:51 -04:00
09ef19f7ec Code cleanups 2018-10-04 01:49:52 -04:00
6a06c92fa6 Simplify su_info caches
No more lists. 99.999% it will only handle a single excessive requestor anyways.
2018-10-03 23:31:15 -04:00
b127e01845 Simplify debug flag propagation 2018-09-28 02:05:55 -04:00
5020cd1bbf Small cleanup 2018-09-28 01:25:43 -04:00
cce636224c Reorganization 2018-09-27 18:26:41 -04:00
60b3b8ddce Better incremental builds 2018-09-27 03:56:56 -04:00
41446ec9ba Separate libutils and libsystemproperties 2018-09-27 03:30:16 -04:00
df8b047bca Generalize logging interface 2018-09-27 03:11:10 -04:00
12ced52012 Remove unused flag 2018-09-27 00:30:10 -04:00
1d53335ae5 Dynamic load libselinux 2018-09-27 00:09:59 -04:00
0ab6ffefb4 utils/misc.c: prevent file staying opened when function leaving
The utils function may be called in any situation, such as in daemon. We
should guarantee that all the resource got from this function released
normally.

Signed-off-by: yuchenlin <npes87184@gmail.com>
2018-09-20 16:55:48 -04:00
a292a1d23a Cleanup and add new rules
Close #607
2018-09-20 16:55:16 -04:00
906b4aad9e New method of communication
Introduce a new communication method between Magisk and Magisk Manager.

Magisk used to hardcode classnames and send broadcast/start activities to
specific components. This new method makes no assumption of any class names,
so Magisk Manager can easily be fully obfuscated.

In addition, the new method connects Magisk and Magisk Manager with random
abstract Linux sockets instead of socket files in filesystems, bypassing
file system complexities (selinux, permissions and such)
2018-09-16 04:16:18 -04:00
2fba3f213b Use proper socket address length 2018-09-15 02:49:19 -04:00
6710314832 Allow all context to SIGCLD magisk
Fix #596
2018-09-11 11:04:51 -04:00
39c82576ae Prevent warning
Close #524
2018-09-09 12:36:42 -04:00
6f41d9855b Randomize service names
Fix Aniplex Game detections.
Close #502, close #513
2018-09-08 23:17:00 -04:00
c0f45b6b1e Add resetprop magic 2018-09-06 02:57:02 -04:00
7a0025673c Use libsystemproperties in resetprop
Upstream to latest Android Pie
2018-09-06 02:57:02 -04:00
0543239cca Do not merge binaries if fake symlink 2018-09-01 11:15:05 -04:00
a8478ace18 Use macros 2018-08-31 03:51:30 -04:00
72cf5f3f9f Temporary disable module bootloop prevention
Some devices don't like it, need further tests before pushing to production
2018-08-31 03:23:59 -04:00
59f78d7dfc Update to BusyBox 1.29.2 2018-08-13 01:30:15 +08:00
d8405f0d05 Make recovery installed on on system_root devices normal 2018-08-12 00:16:59 +08:00
0f34f0033c Switch to FrankeNDK for building native 2018-08-11 18:46:55 +08:00
190646d50c Fix incorrect magisk metadata in ramdisk 2018-08-11 16:31:46 +08:00
afcb3d8f34 Fix XZ decompression in magiskinit 2018-08-10 15:04:32 +08:00
d4568aa0a7 Compress binaries and use xz-embedded in magiskinit 2018-08-10 05:57:12 +08:00
1def9b301b Use xz-embedded for b64xz 2018-08-10 05:57:11 +08:00
5bac442b18 Reorganize sources 2018-08-10 03:49:25 +08:00
6add682705 Remove high compression mode 2018-08-10 03:49:25 +08:00
8b50d84a05 Hide unnecessary error log 2018-08-09 15:10:00 +08:00
d3858b81e2 Add new boot service: boot-complete 2018-08-09 14:52:44 +08:00
bdff9769be Move remount,ro back to post-fs-data mode 2018-08-09 03:57:29 +08:00
ada0f93686 Apply all sepolicy patches pre-init
Boot services tend to fail in the middle when the kernel loads a sepolicy live.
It seems that moving full patch (allow magisk * * *) to late_start is still not enough to fix service startup failures.
So screw it, apply all patched in magiskinit, which makes sure that all rules are only loaded in a single step.
The only down side is that some OEM with a HUGE set of secontexts (e.g. Samsung) might suffer a slightly longer boot time, which IS the reason why the rules are split to 2 parts in the first place.
2018-08-09 03:20:28 +08:00
7b5d79d313 Kill all processes using the same UID of the target
To workaround OOS embryo optimization
2018-08-08 05:47:58 +08:00
c38533e0f8 Prevent problematic modules causing device stuck in bootloop
If boot failed after 2 times, it will enable core only mode (which disables all modules)
2018-08-07 04:41:48 +08:00
9159f86a9e Improvements to system_root devices booting as recovery 2018-08-07 02:20:40 +08:00
a63696836c Proper addon.d-v2 support 2018-08-03 22:40:49 +08:00