Add selabel_get_digests_all_partial_matches binary

Add build rule for selabel_get_digests_all_partial_matches. It is not
included by default in the system image, but can be useful to debug
the computation of security.sehash.

Bug: 317296680
Test: adb remount; adb push selabel_get_digests_all_partial_matches
  /system/bin; selabel_get_digests_all_partial_matches -r /data/data
Change-Id: I2b7e8d994f15539849d69ded5695293c4f2cf8b2
This commit is contained in:
Thiébaud Weksteen 2024-02-28 13:26:57 +11:00
parent a772618e5c
commit f3007e9fd4
2 changed files with 17 additions and 0 deletions

View file

@ -222,6 +222,18 @@ cc_binary_host {
stl: "",
}
cc_binary {
name: "selabel_get_digests_all_partial_matches",
defaults: ["libselinux_defaults"],
srcs: ["utils/selabel_get_digests_all_partial_matches.c"],
static_libs: [
"libselinux",
],
stl: "",
}
rust_bindgen {
name: "libselinux_bindgen",
wrapper_src: "rust/selinux.h",

View file

@ -5,6 +5,7 @@
#include <errno.h>
#include <stdbool.h>
#include <fts.h>
#include <selinux/android.h>
#include <selinux/selinux.h>
#include <selinux/label.h>
@ -71,10 +72,14 @@ int main(int argc, char **argv)
paths[0] = argv[optind];
#ifdef ANDROID
hnd = selinux_android_file_context_handle();
#else
selabel_option[0].value = file;
selabel_option[1].value = validate;
hnd = selabel_open(SELABEL_CTX_FILE, selabel_option, 2);
#endif
if (!hnd) {
fprintf(stderr, "ERROR: selabel_open - Could not obtain "
"handle: %s\n",