Commit Graph

93 Commits

Author SHA1 Message Date
topjohnwu 2dbb812126 Disable stack protector on x86 static executables
Close #7274
2023-09-01 23:04:19 -07:00
topjohnwu 0c28a916be Use cxx_name 2023-08-24 00:50:38 -07:00
topjohnwu 275208e81b Update Rust dependencies 2023-08-17 21:24:29 -07:00
topjohnwu b5b14ce343 Use cxx_name instead of rust_name 2023-08-10 21:22:53 -07:00
topjohnwu 9638dc0a66 Fix perror 2023-07-25 21:03:04 -07:00
topjohnwu af65d07456 Support AVB1.0 signing and verification in magiskboot 2023-07-17 18:57:50 -07:00
topjohnwu c97ab690b6 Segment memory mapped boot image region 2023-07-13 21:01:49 -07:00
LoveSy 64c82e1f2c Refine cpio argh
we can use argh to handle `--help` now
2023-07-06 15:07:06 -07:00
topjohnwu e8e8afa6c2 Properly handle visibility 2023-07-06 11:12:27 -07:00
LoveSy 606d97ae4d Trace location from LoggedError
Co-authored-by: topjohnwu <topjohnwu@gmail.com>
2023-07-05 18:55:23 -07:00
topjohnwu 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
topjohnwu 5ee6daf126 Handle cpio commands properly 2023-07-03 21:57:28 -07:00
LoveSy a470ee6f93 Fix mmap block device 2023-06-30 01:06:51 -07:00
topjohnwu 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
topjohnwu 279f955a84 Minor changes 2023-06-23 01:50:33 -07:00
topjohnwu 399b9e5eba Move hexpatch to Rust 2023-06-20 18:17:26 -07:00
topjohnwu 2359cfc480 Small refactor 2023-06-20 00:21:51 -07:00
LoveSy a9c89cbbbb Read certificate in Rust
Co-authored-by: topjohnwu <topjohnwu@gmail.com>
2023-06-16 01:49:44 -07:00
LoveSy 53257b6ea1 Fix find_apk_path 2023-06-15 04:09:45 -07:00
topjohnwu 037f46f7f0 Fix copy_cstr 2023-06-15 04:00:32 -07:00
topjohnwu d7d0a44693 Remove randomness from Magisk 2023-06-14 17:05:49 -07:00
topjohnwu 9d6f6764cb Use Metadata instead of direct stat syscall 2023-06-12 14:58:13 -07:00
topjohnwu cb3ab63815 Replace all CStr usage to Utf8CStr 2023-06-12 13:57:15 -07:00
topjohnwu caae932117 Remove unnecessary lifetime markers 2023-06-12 13:56:20 -07:00
LoveSy e9cf27eb5a Fix map_file 2023-06-12 13:55:58 -07:00
LoveSy a9387e63e1 Fix Utf8CStr::as_ref() -> OsStr 2023-06-12 02:40:50 -07:00
topjohnwu 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
topjohnwu 6b21091fe2 Fix compile errors and cleanup 2023-06-12 02:40:50 -07:00
topjohnwu d1621845b8 Fix typo 2023-06-10 01:50:18 -07:00
topjohnwu f33f1d25d0 Move find_apk_path to Rust 2023-06-10 01:40:45 -07:00
topjohnwu 40f25f4d56 Introduce directory traversal 2023-06-09 02:00:37 -07:00
topjohnwu e13775ec2c Directly use memmem in contains 2023-06-07 16:52:52 -07:00
topjohnwu ee4dad7a13 Bridge C++ bytes with Rust &[u8] 2023-06-07 16:49:40 -07:00
topjohnwu 5e2ef1b7f4 Better bytes support in C++ 2023-06-06 17:11:42 -07:00
topjohnwu 2a654e5d7f Improve byte_data const correctness 2023-06-03 03:16:03 -07:00
topjohnwu 57afae3425 Cleanup cpio codebase 2023-06-03 00:31:20 -07:00
topjohnwu feb44f875e Migrate PREINITDEVICE in recovery mode
Close #6917
2023-06-02 16:49:04 -07:00
topjohnwu 9ea9f01933 Resolve clippy errors and warnings 2023-05-31 01:08:33 -07:00
topjohnwu c30fbdf145 Simplify logging code 2023-05-29 01:27:40 -07:00
topjohnwu f12951bd1d Fix typo 2023-05-29 00:30:55 -07:00
topjohnwu f2846694e1 Cleanup some code 2023-05-28 23:50:52 -07:00
topjohnwu 5b8b48ccc1 Properly support streamable input 2023-05-26 14:07:11 -07:00
topjohnwu 659b9c6fee Support extracting any partition from payload.bin 2023-05-26 13:36:47 -07:00
topjohnwu 533aeadd38 Update cstr macro 2023-05-25 01:03:04 -07:00
topjohnwu 18d0cedbe2 Parse rule files with Rust 2023-05-24 19:11:56 -07:00
topjohnwu 8e8f01f8b5 Move project common code into include 2023-05-23 21:30:30 -07:00
topjohnwu 69144942e3 Fix fortify
Close #7009, fix #7003
2023-05-23 16:31:24 -07:00
topjohnwu 9fe8741a02 Export get_prop to Rust 2023-05-21 23:51:30 -07:00
topjohnwu a5768e02ea Cleanup byte_channel implementation 2023-05-20 14:19:40 -07:00
topjohnwu f5aaff2b1e Cleanup filter_out_stream implementation 2023-05-20 01:28:10 -07:00