topjohnwu
370015a853
Modernize database code (again)
2019-03-06 08:16:12 -05:00
John Wu
54a8a05dae
Small adjustments in connect.cpp
2019-02-27 16:44:27 -05:00
vvb2060
0eef4eacd6
Use REBOOT foreground broadcast
2019-02-27 16:44:27 -05:00
topjohnwu
ed027ec3ee
Refactor build flags
2019-02-12 05:17:02 -05:00
topjohnwu
71ecbb3af3
Clean/refactor includes
2019-02-10 03:57:51 -05:00
vvb2060
2cf33d635d
Setuid after read proc
2019-02-01 15:55:29 -05:00
topjohnwu
1c61feb368
Update native su connect broadcast code
...
Use -p <pkg> for supported platforms
2019-01-26 14:53:49 -05:00
topjohnwu
0be158afa1
Official KitKat support
2018-12-28 16:03:23 +08:00
topjohnwu
523e66294b
Simpler su_info caching system
2018-12-26 11:56:49 +08:00
topjohnwu
762b678d24
Prevent any SELinux issues of root shell streams
2018-11-23 21:08:06 -05:00
topjohnwu
de0064af47
Fix SIGWINCH never followed
...
Close #786
2018-11-20 04:40:42 -05:00
topjohnwu
2ab999f4ca
Fix bug in DB query wrapper
2018-11-20 02:20:49 -05:00
topjohnwu
c9f390d6e0
Abort upon any error occurred
2018-11-20 02:20:49 -05:00
topjohnwu
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
topjohnwu
c61c3ae0e9
Fix su shell environment setup
2018-11-10 02:17:13 -05:00
topjohnwu
0742901cd2
Modernize database code
2018-11-04 18:24:08 -05:00
topjohnwu
cda57dd4b4
Fully migrate Magisk to C++
2018-11-04 04:15:51 -05:00
vvb2060
1eb7d7b7a8
Add FLAG_INCLUDE_STOPPED_PACKAGES for broadcast
2018-11-03 00:04:27 -04:00
topjohnwu
bf4a46d57c
Optimize logging in Magisk Manager
2018-10-27 22:06:24 -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
41b01003fd
Always ACK before doing anything
2018-10-20 16:12:08 -04:00
topjohnwu
a9121fa28f
Reorganize libutils and cleanups
2018-10-12 21:46:09 -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
60b3b8ddce
Better incremental builds
2018-09-27 03:56:56 -04:00
topjohnwu
1d53335ae5
Dynamic load libselinux
2018-09-27 00:09:59 -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
f1edc8443c
Make root shell always use dev_pts
...
Close #433
2018-08-02 20:29:18 +08:00
topjohnwu
cf211e26f4
Move MagiskSU sources to native/jni/su
2018-07-18 18:23:36 +08:00