5825 Commits

Author SHA1 Message Date
topjohnwu
528601d25a Fix integer overflow and workaround seccomp
- Use ftruncate64 instead of ftruncate to workaround seccomp
- Cast uint32_t to off64_t before making it negative

Note: Using ftruncate with a modern NDK libc should actually be
fine as the syscall wrapper in bionic will use ftruncate64 internally.
However, since we are using the libc.a from r10e built for Gingerbread,
seccomp wasn't a thing back then, and also the ftruncate64 symbol is
missing; we have to create our own wrapper and call it instead on
32-bit ABIs.

Props to @jnotuo for discovering the overflow bug and seccomp issue

Fix #3703, close #4915
2021-11-10 03:07:20 -08:00
topjohnwu
ddd153c00d Show module suspend notice
Close #4862
2021-11-09 23:59:37 -08:00
topjohnwu
b8c1588284 Always unload zygisk after specialize 2021-11-07 13:05:44 -08:00
LoveSy
4dac9e40bd Support bootconfig on util_functions.sh
Close #4869
2021-11-07 11:22:21 -08:00
Arbri çoçka
def1811d48 Fix strings in sq 2021-11-07 11:03:28 -08:00
孟武.尼德霍格.龍
c53e507713 Update Traditional Chinese Language 2021-11-07 11:03:15 -08:00
LoveSy
e0ea777249 Use ProcessCompat
Fix #4895
2021-11-07 11:02:58 -08:00
topjohnwu
4c1962f3c7 Release new canary build 2021-11-06 23:56:50 -07:00
Chris Renshaw
258e89c964 Fix script typo for Sony init.real support
- though may still be broken on magiskinit side, see #4885
2021-11-06 23:44:43 -07:00
topjohnwu
3d3bfb42e5 Don't copy ApplicationInfo 2021-11-06 23:34:46 -07:00
topjohnwu
6dbd8baa7e Cleanup DownloadService 2021-11-06 17:45:41 -07:00
topjohnwu
e660fabc57 Remove BaseDownloader 2021-11-06 04:37:06 -07:00
topjohnwu
2115bcd8b0 Relaunch and recreate is slightly different 2021-11-05 16:05:12 -07:00
topjohnwu
1bdd6e1a9d Migrate to Activity Result APIs 2021-11-05 15:53:34 -07:00
topjohnwu
98deec232b Minor adjustments 2021-11-05 13:55:18 -07:00
topjohnwu
022c217cfe Migrate to SplashScreen API 2021-11-05 04:16:58 -07:00
topjohnwu
81f57949ed Remove WorkManager as a dependency 2021-11-04 23:39:35 -07:00
topjohnwu
fca5eb083f Always show checked app in list 2021-11-04 20:09:19 -07:00
topjohnwu
a3695cc66b Use Kotlin coroutine instead of Java parallelStream 2021-11-04 20:09:19 -07:00
topjohnwu
6723d20616 Cleanup AppProcessInfo 2021-11-04 20:09:19 -07:00
RikkaW
627ec91687 Fix visual issues for ActionBar 2021-11-04 20:09:19 -07:00
vvb2060
9126cf0c73 Rewrite deny list UI 2021-11-04 20:09:19 -07:00
Chaosmaster
16322ab30c Use full gzip-signature to find gzip-data.
Fall back to raw image if gzip is not found.

Fixes #4849
2021-11-03 22:23:21 -07:00
Chaosmaster
5682917356 Speed up zopfli compression
See #4810 for example
2021-11-03 22:22:29 -07:00
LoveSy
c91ccc8b4e Fix UB on dtb
`operator==` of string_view will create a tmp `string_view`.
It's an UB if the `const char *` is a nullptr.
`fdt_get_name` however will return a nullptr.
2021-11-03 22:21:48 -07:00
topjohnwu
63f670fc36 Move first stage unload before fork 2021-11-02 21:53:33 -07:00
LoveSy
e20b07fa24 Fix #4853 2021-11-02 19:31:17 -07:00
topjohnwu
472656517f Release new canary build 2021-11-02 04:18:30 -07:00
topjohnwu
d232cba02d Fix first stage unload 2021-11-02 04:12:56 -07:00
vvb2060
e49d29a914 Fix fragments lifecycleOwner 2021-11-02 03:10:29 -07:00
RikkaW
3aa1a68cdc Fix activity relaunches constantly on WSA
It's magic 💢 since change configuration should not trigger activity relaunch.
2021-11-02 03:09:06 -07:00
Hen Ry
f94452083f
German Update 2021-11-02 03:08:32 -07:00
Arbri çoçka
ce1ee5cb9d Fix strings in stub Albania 2021-11-02 03:07:44 -07:00
topjohnwu
48df6b8485 Use memmem instead of strstr
It might not be null terminated
2021-10-31 11:46:56 -07:00
topjohnwu
ae23ae2d37 Remove code in scripts that should be removed 2021-10-31 11:30:48 -07:00
Nullptr
e34e04af04 Make Api functions inline
Make Api functions inline to avoid duplicate symbols when including api.hpp in multiple cpps
2021-10-31 10:55:41 -07:00
osm0sis
ff3f377911 scripts: touch up print_title
- stars aren't pounds, let's just call it a title bar :P
2021-10-31 10:53:55 -07:00
osm0sis
18065826b9 scripts: improve basic module setup
- expand utility of the basic module setup (zip without customize.sh) by setting more default perms, since really it couldn't do any simple binary files additions correctly withonly 0755 0644
- ensure CON stays local
2021-10-31 10:53:55 -07:00
topjohnwu
84e19ceef0 Tidy up bootimg.h
Close #4796
2021-10-31 10:52:12 -07:00
Chris Renshaw
59161efd08 Support Samsung 2SI with skip_initramfs in dtb cmdline
Samsung Galaxy A21S and Galaxy M12, probably others, are hdr_v2 boot.img with 2SI judging by the ramdisk contents, but the dtb contains an extra cmdline with skip_initramfs present, even though this shouldn't exist on 2SI and the kernel apparently doesn't even contain a skip_initramfs function

I can't find examples of other devices where skip_initramfs is present in the dtb other than these so patch it out like we do the kernel

Co-authored-by: topjohnwu <topjohnwu@gmail.com>
2021-10-30 21:20:10 -07:00
Chris Renshaw
6663fd3526
Support custom legacy Sony devices with init.real setup
Custom ROM bring-ups of legacy Sony devices contain the following:
/init (symlink to /bin/init_sony)
/init.real (the "real" Android init)
/bin/init_sony (this was /sbin/init_sony on Android <11)

Kernel loads the ramdisk and starts /init -> /bin/init_sony
/bin/init_sony does low-level device setup (see: https://github.com/LineageOS/android_device_sony_common/blob/lineage-18.1/init/init_main.cpp)
/bin/init_sony unlinks /init and renames /init.real to /init
/bin/init_sony starts /init

Since init_sony needs to run first magiskinit needs to replace init.real instead, so add workarounds based on detection of init.real to boot patcher and uninstaller

Thanks @115ek and @bleckdeth

Fixes #3636

Co-authored-by: topjohnwu <topjohnwu@gmail.com>
2021-10-30 18:59:20 -07:00
topjohnwu
2c44e1bb93 Update rules again 2021-10-29 03:37:14 -07:00
残页
e3f6399473 Don't use xwrite() when patching legacy rootfs init
Fix topjohnwu#4810
> [    2.927463]  [1:           init:    1] magiskinit: Replace [/system/etc/selinux/plat_sepolicy.cil] -> [xxx]
[    2.936801]  [1:           init:    1] magiskinit: write failed with 14: Bad address

Since topjohnwu#4596, magisk fails to patch `/init`, xwrite() fails with EFAULT, break the original `/init` file and make the device unbootable. Reverting this commit for legacy rootfs devices fixes the problem. I think this is a Samsung kernel magic since currently I can't reproduce this on other devices or find something special in the log currently we have.
2021-10-29 03:23:34 -07:00
残页
89c2c21774
Fix init.rc path detection
Fix #4319
Some devices store init.rc into the new path but still have the legacy /init.rc file
2021-10-29 03:21:20 -07:00
vvb2060
2954eb4bdc Remove CustomTab 2021-10-29 03:17:11 -07:00
vvb2060
e08de91666 Clean sent proguard rules 2021-10-29 03:15:31 -07:00
残页
a170acb9d7 Fix compilation when init debug toggle enabled 2021-10-29 03:15:16 -07:00
vvb2060
6a086bb222 Load *_compat_cil_file from system_ext
https://android-review.googlesource.com/c/platform/system/core/+/1650271
2021-10-29 03:14:26 -07:00
vvb2060
b2f152e641 realpath /proc/pid/cwd
prevent cross mount namespace
2021-10-29 03:13:20 -07:00
topjohnwu
6c5b261804 Update spolicy rules 2021-10-29 03:12:48 -07:00