fdf167db11
Get API level from build.prop
2019-01-20 15:20:34 -05:00
3e4c12cf56
Migrate to STL
2019-01-19 23:59:37 -05:00
03c39e692a
Switch to libc++
2019-01-19 13:47:33 -05:00
23f8f35098
Stop using system STL since it is no longer supported
2018-12-25 19:38:44 +08:00
2ab999f4ca
Fix bug in DB query wrapper
2018-11-20 02:20:49 -05:00
ab5fedda0b
Prevent Magisk database race condition
...
The database should only be accessed by a single process, which is magiskd.
This means 'magisk --sqlite [SQL]' has to be updated to pass the SQL command to the daemon.
In addition, open the database connection with SQLITE_OPEN_FULLMUTEX to support multithread in magiskd.
2018-11-16 03:20:30 -05:00
ab74290fe3
Move magiskhide config into database
2018-11-16 01:15:34 -05:00
572e078d87
Fully deprecate <mount_point>/.core folder
...
Symlinks are preserved for backwards compatibility
2018-11-15 22:55:28 -05:00
ee4548230b
Disable native systemless hosts, add built-in systemless hosts module
2018-11-15 13:57:41 -05:00
376e7977f0
Deprecate path /sbin/.core, switch to /sbin/.magisk
...
Symlink is preserved for backwards compatibility
2018-11-15 01:36:03 -05:00
3a2a2a4ffa
Micro optimizations
2018-11-13 02:07:02 -05:00
5743c72cca
Minor cleanup
2018-11-08 15:23:36 -05:00
3d269fe8be
Migrate MagiskInit to C++
2018-11-08 04:20:16 -05:00
803c5377a6
Clean init.c
2018-11-07 02:21:15 -05:00
7c12bf7fa1
Modernize code base
2018-11-07 02:10:38 -05:00
0742901cd2
Modernize database code
2018-11-04 18:24:08 -05:00
5e4d2dedbe
Minor log_daemon changes
2018-11-04 17:23:08 -05:00
cda57dd4b4
Fully migrate Magisk to C++
2018-11-04 04:15:51 -05:00
a7824af5a8
Expose persist prop API
2018-11-03 00:15:21 -04:00
b8a3cc8b60
Separate magiskhide logic from main daemon
2018-11-01 14:08:33 -04:00
27c688252d
Store hidelist in magisk database
2018-11-01 13:23:12 -04:00
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
a9121fa28f
Reorganize libutils and cleanups
2018-10-12 21:46:09 -04:00
acf7c0c665
Minor reorganization of daemons
2018-10-12 00:50:47 -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
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
1d53335ae5
Dynamic load libselinux
2018-09-27 00:09:59 -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
6f41d9855b
Randomize service names
...
Fix Aniplex Game detections.
Close #502 , close #513
2018-09-08 23:17:00 -04:00
7a0025673c
Use libsystemproperties in resetprop
...
Upstream to latest Android Pie
2018-09-06 02:57:02 -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
5bac442b18
Reorganize sources
2018-08-10 03:49:25 +08:00
6add682705
Remove high compression mode
2018-08-10 03:49:25 +08:00
d3858b81e2
Add new boot service: boot-complete
2018-08-09 14:52:44 +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
5be035fd44
Try logging a little harder
2018-08-03 01:58:56 +08:00
d9564bd04c
Delay full sepolicy patch loading time
2018-08-02 05:35:01 +08:00
91818cfa1a
Support compiling split cils via magiskpolicy CLI
2018-07-21 05:12:22 +08:00
18d0fd9d2a
MagiskInit optimizations
2018-07-17 06:18:36 +08:00
2bde8a1975
EMUI's logcat will change output file's permission and break ADBD
2018-07-16 06:42:36 +08:00
f339a087a2
Let Magisk compile against SDK 16
2018-07-13 22:14:32 +08:00
1affb91f17
Support compiling against lower SDK
...
Reduce even more size for static binaries
2018-07-13 05:41:29 +08:00
1283167595
Maintain our own set of loop devices
2018-07-07 01:32:58 +08:00