Commit Graph

209 Commits

Author SHA1 Message Date
topjohnwu cda57dd4b4 Fully migrate Magisk to C++ 2018-11-04 04:15:51 -05:00
topjohnwu 4351de503f Migrate exec function to C++ arrays 2018-11-03 04:03:11 -04:00
topjohnwu 6339ba6bfb Upgrade libutils to C++ 2018-11-03 03:06:01 -04:00
topjohnwu ef6677f43d Source reorganization 2018-11-03 00:26:04 -04:00
topjohnwu a7824af5a8 Expose persist prop API 2018-11-03 00:15:21 -04:00
vvb2060 1eb7d7b7a8 Add FLAG_INCLUDE_STOPPED_PACKAGES for broadcast 2018-11-03 00:04:27 -04:00
topjohnwu 11c33d4447 Migrate resetprop to C++ 2018-11-02 23:56:15 -04:00
topjohnwu b8a3cc8b60 Separate magiskhide logic from main daemon 2018-11-01 14:08:33 -04:00
topjohnwu 27c688252d Store hidelist in magisk database 2018-11-01 13:23:12 -04:00
topjohnwu 3e2afd4b1d Better debugging output 2018-11-01 01:16:15 -04:00
topjohnwu f45b0686d2 Mount ext4 images with noatime flag 2018-10-29 21:44:22 -04:00
topjohnwu ceb51bb14f daemon.c uses external flags 2018-10-28 16:55:51 -04:00
topjohnwu 79e5b54ec7 Remove redundant semicolon 2018-10-28 15:13:30 -04:00
topjohnwu dc413e7b73 Retry db construction if first time failed 2018-10-28 14:49:04 -04:00
topjohnwu 2efc423cf8 Add missing flags and move debug logging logic to libutils 2018-10-28 04:25:31 -04:00
topjohnwu 8ec3086cdd Make sure magisklogd is properly initialized 2018-10-28 04:24:53 -04:00
topjohnwu bf4a46d57c Optimize logging in Magisk Manager 2018-10-27 22:06:24 -04:00
topjohnwu 1046dd5eda Default to cmdline logging 2018-10-27 18:34:38 -04:00
topjohnwu f9e32a119a Fix bug when query database with specific keys 2018-10-27 17:56:20 -04:00
topjohnwu dbb8b8a439 Handle magisk.db completely natively
Prevent database corruption due to different Android application sqlite default settings
2018-10-27 17:54:48 -04:00
topjohnwu f17ec9e9d7 Update sqlite header 2018-10-27 03:30:20 -04:00
topjohnwu 6dc9ccad75 Use const char* 2018-10-26 17:02:56 -04:00
topjohnwu 6add02702b Fix bug in MagiskBoot 2018-10-26 17:02:07 -04:00
topjohnwu 9954154ca2 Move functions out of libutils 2018-10-24 22:23:14 -04:00
topjohnwu 4ecbf8c12c Remove recovery_dtbo when cleanup 2018-10-24 22:23:14 -04:00
topjohnwu fc8a3c5fb4 Migrate MagiskBoot to C++ 2018-10-24 22:23:14 -04:00
topjohnwu 018c0064cd Make sure boot_img is initialized correctly 2018-10-22 01:58:50 -04:00
topjohnwu 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
topjohnwu 41b01003fd Always ACK before doing anything 2018-10-20 16:12:08 -04:00
topjohnwu 74aae523ba Properly support boot image header v1
Close #695
2018-10-20 00:27:56 -04:00
topjohnwu a9121fa28f Reorganize libutils and cleanups 2018-10-12 21:46:09 -04:00
topjohnwu d5a56d9e85 Fix bootloop for some devices with two /data
Close #654
2018-10-12 00:54:55 -04:00
topjohnwu acf7c0c665 Minor reorganization of daemons 2018-10-12 00:50:47 -04:00
topjohnwu e8e39e0f3c Use poll instead of select
Close #637
2018-10-04 15:06:13 -04:00
topjohnwu 37860181d4 Finish su implementation 2018-10-04 14:41:48 -04:00
topjohnwu d119dd9a0c Rewrite su daemon and client 2018-10-04 04:59:51 -04:00
topjohnwu 09ef19f7ec Code cleanups 2018-10-04 01:49:52 -04:00
topjohnwu 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
topjohnwu b127e01845 Simplify debug flag propagation 2018-09-28 02:05:55 -04:00
topjohnwu 5020cd1bbf Small cleanup 2018-09-28 01:25:43 -04:00
topjohnwu cce636224c Reorganization 2018-09-27 18:26:41 -04:00
topjohnwu 60b3b8ddce Better incremental builds 2018-09-27 03:56:56 -04:00
topjohnwu 41446ec9ba Separate libutils and libsystemproperties 2018-09-27 03:30:16 -04:00
topjohnwu df8b047bca Generalize logging interface 2018-09-27 03:11:10 -04:00
topjohnwu 12ced52012 Remove unused flag 2018-09-27 00:30:10 -04:00
topjohnwu 1d53335ae5 Dynamic load libselinux 2018-09-27 00:09:59 -04:00
yuchenlin 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
topjohnwu a292a1d23a Cleanup and add new rules
Close #607
2018-09-20 16:55:16 -04:00
topjohnwu 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
topjohnwu 2fba3f213b Use proper socket address length 2018-09-15 02:49:19 -04:00