Commit Graph

183 Commits

Author SHA1 Message Date
0f55fcafe8 Migrate EXT4 images instead of removing them 2019-02-12 16:13:31 -05:00
ed027ec3ee Refactor build flags 2019-02-12 05:17:02 -05:00
ed4df87b57 Remove imgtool 2019-02-12 02:44:46 -05:00
1321f097b8 Remove usage of magisk.img
Mounting ext4 images causes tons of issues, such as unmountable with broken F2FS drivers.
Resizing is also very complicated and does not work properly on all devices.
Each step in either measuring free space, resizing, and shrinking the image is a
point of failure, and either step's failure could cause the module system completely broken.

The new method is to directly store modules into /data/adb/modules, and for module installation
on boot /data/adb/modules_update. Several compatibility layers has been done: the new path is
bind mounted to the old path (/sbin/.magisk/img), and the helper functions in util_functions.sh
will now transparently make existing modules install to the new location without any changes.

MagiskHide is also updated to unmount module files stored in this new location.
2019-02-12 02:14:57 -05:00
71ecbb3af3 Clean/refactor includes 2019-02-10 03:57:51 -05:00
5746614ccf Keep track of timestamps and skip old logs 2019-02-10 03:16:52 -05:00
3a422c3f15 Remove magisklogd, use threads and BlockingQueue 2019-02-10 01:05:19 -05:00
c8491d008f Move sbin overlay creation to magiskinit 2019-02-09 01:51:46 -05:00
d32b788988 Rewrite exec_command 2019-01-26 13:39:24 -05:00
7565ea2787 Remove strdup2 2019-01-26 13:00:19 -05:00
9275975b2c Re-organize functions 2019-01-26 06:00:23 -05:00
b7f69238a1 Fix segfault on several devices 2019-01-22 17:19:10 -05:00
a4f8bd4ee0 Bump to C++17 2019-01-20 00:07:58 -05:00
3e4c12cf56 Migrate to STL 2019-01-19 23:59:37 -05:00
3ccac8c3b8 Terminate forked children for exec after failure 2018-12-28 16:33:26 +08:00
23f8f35098 Stop using system STL since it is no longer supported 2018-12-25 19:38:44 +08:00
109891d668 Make apk_install more portable 2018-12-05 18:36:27 -05:00
f69a004c1c Use raw execve
Some devices have broken libc...
2018-11-28 00:07:57 -05:00
e8cba3524e Kill target processes properly 2018-11-27 03:56:14 -05:00
29457a1d28 Small adjustments 2018-11-26 03:26:45 -05:00
731455f164 Update exec functions signatures 2018-11-26 03:06:48 -05:00
b01a8cace6 Always try native accept4 2018-11-26 02:57:34 -05:00
ec4723096f Prevent file descriptor from unclosed 2018-11-23 21:15:44 -05:00
38fcc57bbf Use component name as targets
Services can name their process name arbitrarily, for instance the service in
com.google.android.gms that is responsible for SafetyNet is named
com.google.android.gms.unstable. There are many apps out in the wild use
dedicated services with special names to detect root, and previously the user
is expected to add all of them to the hide list.

In this commit, we change from targeting process names to component names.
On Android, component names are composed of <pkg>/<cls>. When targeting
component names, we can always know what application spawned the new process.
This means that if the user adds a package name to the hidelist, MagiskHide can
now target ALL possible processes of that specific application.

To abide with this change, the default SafetyNet target is now changed from
com.google.android.gms.unstable (process name) to
com.google.android.gms/.droidguard.DroidGuardService (component name)
2018-11-23 15:47:49 -05:00
baae1fc84f Modernize selinux stub 2018-11-20 03:49:44 -05:00
3a2a2a4ffa Micro optimizations 2018-11-13 02:07:02 -05:00
9592a69986 Prevent unmounting non-custom mount points 2018-11-13 01:53:48 -05:00
ef9d463bd7 Fix PLOGE 2018-11-08 06:07:02 -05:00
8745c7884e Rename Array to Vector
Finally get rid of the C style vector, rename the template class to its proper name
2018-11-08 05:03:59 -05:00
3d269fe8be Migrate MagiskInit to C++ 2018-11-08 04:20:16 -05:00
59ba350f34 Fix copy and move assigments of Array 2018-11-07 04:09:37 -05:00
7c12bf7fa1 Modernize code base 2018-11-07 02:10:38 -05:00
9fe5f37337 Minor code improvements 2018-11-05 14:37:47 -05:00
cda57dd4b4 Fully migrate Magisk to C++ 2018-11-04 04:15:51 -05:00
4351de503f Migrate exec function to C++ arrays 2018-11-03 04:03:11 -04:00
6339ba6bfb Upgrade libutils to C++ 2018-11-03 03:06:01 -04:00
11c33d4447 Migrate resetprop to C++ 2018-11-02 23:56:15 -04:00
27c688252d Store hidelist in magisk database 2018-11-01 13:23:12 -04:00
2efc423cf8 Add missing flags and move debug logging logic to libutils 2018-10-28 04:25:31 -04:00
6dc9ccad75 Use const char* 2018-10-26 17:02:56 -04:00
9954154ca2 Move functions out of libutils 2018-10-24 22:23:14 -04:00
fc8a3c5fb4 Migrate MagiskBoot to C++ 2018-10-24 22:23:14 -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
e8e39e0f3c Use poll instead of select
Close #637
2018-10-04 15:06:13 -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
1d53335ae5 Dynamic load libselinux 2018-09-27 00:09:59 -04:00