Commit Graph

271 Commits

Author SHA1 Message Date
c6efb51f61 sulog: add more info 2023-08-02 21:18:05 -07:00
17ba5cba3e Print permissive rules 2023-08-02 09:11:22 -07:00
f2e109ad7d Update libselinux and libsepol 2023-08-01 18:07:53 -07:00
c83e141a1c Support dumping sepolicy rules 2023-08-01 18:03:54 -07:00
6089cc36de Update xperm parsing 2023-07-31 09:28:27 -07:00
9638dc0a66 Fix perror 2023-07-25 21:03:04 -07:00
b191a14a23 magiskpolicy: Fix old xperms being cleared when adding new xperms
This commit updates sepol_impl::add_xperm_rule() so that it loads the
current xperm bits from the existing avtab entry before setting or
clearing xperm bits. This fixes new allowxperm rules causing old xperm
rules within the same xperm specified/driver to be removed.

Fixes: #7176

Signed-off-by: Andrew Gunnerson <accounts+github@chiller3.com>
2023-07-24 23:52:28 -07:00
7ad77a14ae Remove unused line 2023-07-17 21:43:09 -07:00
af65d07456 Support AVB1.0 signing and verification in magiskboot 2023-07-17 18:57:50 -07:00
c97ab690b6 Segment memory mapped boot image region 2023-07-13 21:01:49 -07:00
0a07018fec No need to use submodule for argh 2023-07-06 15:28:39 -07:00
64c82e1f2c Refine cpio argh
we can use argh to handle `--help` now
2023-07-06 15:07:06 -07:00
e8e8afa6c2 Properly handle visibility 2023-07-06 11:12:27 -07:00
af2207433d Fix error logging
ok_or will unconditionally creates a LoggedResult, which prints
an error even it successes. Use ok_or_else which lazily creates
a LoggedResult only if it fails.
2023-07-06 11:01:57 -07:00
606d97ae4d Trace location from LoggedError
Co-authored-by: topjohnwu <topjohnwu@gmail.com>
2023-07-05 18:55:23 -07:00
d778b0b0a7 Custom help message when using argh
Help messages generated from argh is nearly useless and very hard to
customize. Fork argh and disable all code for generating help messages.

Use a closure to print the help message when handling EarlyExit.
2023-07-05 17:05:39 -07:00
5ee6daf126 Handle cpio commands properly 2023-07-03 21:57:28 -07:00
ee943afbc9 Cleanup SHA hash implementation 2023-06-30 15:50:52 -07:00
1f7c3e9f14 Use rust to calculate sha 2023-06-30 14:06:02 -07:00
a470ee6f93 Fix mmap block device 2023-06-30 01:06:51 -07:00
4ee4cbada6 Standardize logging and error handling
- Introduce new types: LoggedResult and LoggedError
- Introduce new extension methods to log and add additional msgs
- Never exit when logging error messages in Rust (all errors should be
  handled by using Result and Rust's error propagation)
- Remove all usages of anyhow as it doesn't fit Magisk's use cases
2023-06-29 17:14:53 -07:00
a8c4a33e91 Avoid using trait object 2023-06-23 02:32:29 -07:00
279f955a84 Minor changes 2023-06-23 01:50:33 -07:00
dc26ad7125 Address clippy warnings 2023-06-22 02:36:31 -07:00
24b1c607f3 Replace clap with argh 2023-06-22 02:36:31 -07:00
732a161b67 Minor cleanup 2023-06-22 02:23:27 -07:00
9c7cf340a1 Move pattern matching to Rust 2023-06-21 16:47:20 -07:00
399b9e5eba Move hexpatch to Rust 2023-06-20 18:17:26 -07:00
a6b1149b9f Minor cleanup 2023-06-20 14:36:07 -07:00
51e985ae7f Use quick-protobuf 2023-06-20 14:36:07 -07:00
9929b25339 Move su request path to magisk tmp 2023-06-20 03:29:06 -07:00
2359cfc480 Small refactor 2023-06-20 00:21:51 -07:00
81493475f9 Directly use rust::Vec 2023-06-20 00:21:51 -07:00
8abcccc262 Fix typo 2023-06-16 01:49:44 -07:00
a9c89cbbbb Read certificate in Rust
Co-authored-by: topjohnwu <topjohnwu@gmail.com>
2023-06-16 01:49:44 -07:00
53257b6ea1 Fix find_apk_path 2023-06-15 04:09:45 -07:00
c874391be4 Box CpioEntry 2023-06-15 04:09:17 -07:00
7e8e013832 Fix two typo 2023-06-15 04:09:17 -07:00
037f46f7f0 Fix copy_cstr 2023-06-15 04:00:32 -07:00
d3e1c496ca Upgrade ONDK to r25.6 2023-06-15 01:26:54 -07:00
d7d0a44693 Remove randomness from Magisk 2023-06-14 17:05:49 -07:00
9d6f6764cb Use Metadata instead of direct stat syscall 2023-06-12 14:58:13 -07:00
cb3ab63815 Replace all CStr usage to Utf8CStr 2023-06-12 13:57:15 -07:00
caae932117 Remove unnecessary lifetime markers 2023-06-12 13:56:20 -07:00
e9cf27eb5a Fix map_file 2023-06-12 13:55:58 -07:00
d15017b777 Add arg requirement for cpio extract 2023-06-12 02:40:50 -07:00
a9387e63e1 Fix Utf8CStr::as_ref() -> OsStr 2023-06-12 02:40:50 -07:00
23c1f0111b Improve Rust implementation
- Move mmap_file implementation into Rust
- Introduce Utf8CStr as the better c-string type to use
2023-06-12 02:40:50 -07:00
866386e21f Use to_string instead of to_owned 2023-06-12 02:40:50 -07:00
bf10496fa9 Add log for restore 2023-06-12 02:40:50 -07:00