1*2d543d20SAndroid Build Coastguard Workerpackage { 2*2d543d20SAndroid Build Coastguard Worker default_applicable_licenses: ["external_selinux_libselinux_license"], 3*2d543d20SAndroid Build Coastguard Worker} 4*2d543d20SAndroid Build Coastguard Worker 5*2d543d20SAndroid Build Coastguard Worker// Added automatically by a large-scale-change that took the approach of 6*2d543d20SAndroid Build Coastguard Worker// 'apply every license found to every target'. While this makes sure we respect 7*2d543d20SAndroid Build Coastguard Worker// every license restriction, it may not be entirely correct. 8*2d543d20SAndroid Build Coastguard Worker// 9*2d543d20SAndroid Build Coastguard Worker// e.g. GPL in an MIT project might only apply to the contrib/ directory. 10*2d543d20SAndroid Build Coastguard Worker// 11*2d543d20SAndroid Build Coastguard Worker// Please consider splitting the single license below into multiple licenses, 12*2d543d20SAndroid Build Coastguard Worker// taking care not to lose any license_kind information, and overriding the 13*2d543d20SAndroid Build Coastguard Worker// default license using the 'licenses: [...]' property on targets as needed. 14*2d543d20SAndroid Build Coastguard Worker// 15*2d543d20SAndroid Build Coastguard Worker// For unused files, consider creating a 'filegroup' with "//visibility:private" 16*2d543d20SAndroid Build Coastguard Worker// to attach the license to, and including a comment whether the files may be 17*2d543d20SAndroid Build Coastguard Worker// used in the current project. 18*2d543d20SAndroid Build Coastguard Worker// http://go/android-license-faq 19*2d543d20SAndroid Build Coastguard Workerlicense { 20*2d543d20SAndroid Build Coastguard Worker name: "external_selinux_libselinux_license", 21*2d543d20SAndroid Build Coastguard Worker visibility: [":__subpackages__"], 22*2d543d20SAndroid Build Coastguard Worker license_kinds: [ 23*2d543d20SAndroid Build Coastguard Worker "SPDX-license-identifier-Apache-2.0", 24*2d543d20SAndroid Build Coastguard Worker "SPDX-license-identifier-GPL-2.0", 25*2d543d20SAndroid Build Coastguard Worker "legacy_unencumbered", 26*2d543d20SAndroid Build Coastguard Worker ], 27*2d543d20SAndroid Build Coastguard Worker license_text: [ 28*2d543d20SAndroid Build Coastguard Worker "LICENSE", 29*2d543d20SAndroid Build Coastguard Worker ], 30*2d543d20SAndroid Build Coastguard Worker} 31*2d543d20SAndroid Build Coastguard Worker 32*2d543d20SAndroid Build Coastguard Workercommon_CFLAGS = [ 33*2d543d20SAndroid Build Coastguard Worker // Persistently stored patterns (pcre2) are architecture dependent. 34*2d543d20SAndroid Build Coastguard Worker // In particular paterns built on amd64 can not run on devices with armv7 35*2d543d20SAndroid Build Coastguard Worker // (32bit). Therefore, this feature stays off for now. 36*2d543d20SAndroid Build Coastguard Worker "-DNO_PERSISTENTLY_STORED_PATTERNS", 37*2d543d20SAndroid Build Coastguard Worker "-DDISABLE_SETRANS", 38*2d543d20SAndroid Build Coastguard Worker "-DDISABLE_BOOL", 39*2d543d20SAndroid Build Coastguard Worker "-D_GNU_SOURCE", 40*2d543d20SAndroid Build Coastguard Worker "-DNO_MEDIA_BACKEND", 41*2d543d20SAndroid Build Coastguard Worker "-DNO_X_BACKEND", 42*2d543d20SAndroid Build Coastguard Worker "-DNO_DB_BACKEND", 43*2d543d20SAndroid Build Coastguard Worker "-Wall", 44*2d543d20SAndroid Build Coastguard Worker "-Werror", 45*2d543d20SAndroid Build Coastguard Worker "-Wno-error=missing-noreturn", 46*2d543d20SAndroid Build Coastguard Worker "-Wno-error=unused-function", 47*2d543d20SAndroid Build Coastguard Worker "-Wno-error=unused-variable", 48*2d543d20SAndroid Build Coastguard Worker "-DUSE_PCRE2", 49*2d543d20SAndroid Build Coastguard Worker // 1003 corresponds to auditd, from system/core/logd/event.logtags 50*2d543d20SAndroid Build Coastguard Worker "-DAUDITD_LOG_TAG=1003", 51*2d543d20SAndroid Build Coastguard Worker] 52*2d543d20SAndroid Build Coastguard Worker 53*2d543d20SAndroid Build Coastguard Workercc_defaults { 54*2d543d20SAndroid Build Coastguard Worker name: "libselinux_defaults", 55*2d543d20SAndroid Build Coastguard Worker defaults: ["libselinux_flags_defaults"], 56*2d543d20SAndroid Build Coastguard Worker 57*2d543d20SAndroid Build Coastguard Worker cflags: common_CFLAGS, 58*2d543d20SAndroid Build Coastguard Worker 59*2d543d20SAndroid Build Coastguard Worker srcs: [ 60*2d543d20SAndroid Build Coastguard Worker "src/android/android.c", 61*2d543d20SAndroid Build Coastguard Worker "src/android/android_seapp.c", 62*2d543d20SAndroid Build Coastguard Worker "src/avc.c", 63*2d543d20SAndroid Build Coastguard Worker "src/avc_internal.c", 64*2d543d20SAndroid Build Coastguard Worker "src/avc_sidtab.c", 65*2d543d20SAndroid Build Coastguard Worker "src/booleans.c", 66*2d543d20SAndroid Build Coastguard Worker "src/callbacks.c", 67*2d543d20SAndroid Build Coastguard Worker "src/canonicalize_context.c", 68*2d543d20SAndroid Build Coastguard Worker "src/checkAccess.c", 69*2d543d20SAndroid Build Coastguard Worker "src/check_context.c", 70*2d543d20SAndroid Build Coastguard Worker "src/compute_av.c", 71*2d543d20SAndroid Build Coastguard Worker "src/compute_create.c", 72*2d543d20SAndroid Build Coastguard Worker "src/compute_member.c", 73*2d543d20SAndroid Build Coastguard Worker "src/context.c", 74*2d543d20SAndroid Build Coastguard Worker "src/deny_unknown.c", 75*2d543d20SAndroid Build Coastguard Worker "src/disable.c", 76*2d543d20SAndroid Build Coastguard Worker "src/enabled.c", 77*2d543d20SAndroid Build Coastguard Worker "src/fgetfilecon.c", 78*2d543d20SAndroid Build Coastguard Worker "src/freecon.c", 79*2d543d20SAndroid Build Coastguard Worker "src/fsetfilecon.c", 80*2d543d20SAndroid Build Coastguard Worker "src/get_initial_context.c", 81*2d543d20SAndroid Build Coastguard Worker "src/getenforce.c", 82*2d543d20SAndroid Build Coastguard Worker "src/getfilecon.c", 83*2d543d20SAndroid Build Coastguard Worker "src/getpeercon.c", 84*2d543d20SAndroid Build Coastguard Worker "src/hashtab.c", 85*2d543d20SAndroid Build Coastguard Worker "src/init.c", 86*2d543d20SAndroid Build Coastguard Worker "src/label.c", 87*2d543d20SAndroid Build Coastguard Worker "src/label_backends_android.c", 88*2d543d20SAndroid Build Coastguard Worker "src/label_file.c", 89*2d543d20SAndroid Build Coastguard Worker "src/label_support.c", 90*2d543d20SAndroid Build Coastguard Worker "src/lgetfilecon.c", 91*2d543d20SAndroid Build Coastguard Worker "src/load_policy.c", 92*2d543d20SAndroid Build Coastguard Worker "src/lsetfilecon.c", 93*2d543d20SAndroid Build Coastguard Worker "src/mapping.c", 94*2d543d20SAndroid Build Coastguard Worker "src/matchpathcon.c", 95*2d543d20SAndroid Build Coastguard Worker "src/policyvers.c", 96*2d543d20SAndroid Build Coastguard Worker "src/procattr.c", 97*2d543d20SAndroid Build Coastguard Worker "src/regex.c", 98*2d543d20SAndroid Build Coastguard Worker "src/reject_unknown.c", 99*2d543d20SAndroid Build Coastguard Worker "src/selinux_internal.c", 100*2d543d20SAndroid Build Coastguard Worker "src/sestatus.c", 101*2d543d20SAndroid Build Coastguard Worker "src/setenforce.c", 102*2d543d20SAndroid Build Coastguard Worker "src/setfilecon.c", 103*2d543d20SAndroid Build Coastguard Worker "src/setrans_client.c", 104*2d543d20SAndroid Build Coastguard Worker "src/sha1.c", 105*2d543d20SAndroid Build Coastguard Worker "src/stringrep.c", 106*2d543d20SAndroid Build Coastguard Worker ], 107*2d543d20SAndroid Build Coastguard Worker 108*2d543d20SAndroid Build Coastguard Worker target: { 109*2d543d20SAndroid Build Coastguard Worker host: { 110*2d543d20SAndroid Build Coastguard Worker cflags: [ 111*2d543d20SAndroid Build Coastguard Worker "-DBUILD_HOST", 112*2d543d20SAndroid Build Coastguard Worker ], 113*2d543d20SAndroid Build Coastguard Worker }, 114*2d543d20SAndroid Build Coastguard Worker android: { 115*2d543d20SAndroid Build Coastguard Worker cflags: [ 116*2d543d20SAndroid Build Coastguard Worker "-DHAVE_STRLCPY", 117*2d543d20SAndroid Build Coastguard Worker "-DHAVE_REALLOCARRAY", 118*2d543d20SAndroid Build Coastguard Worker ], 119*2d543d20SAndroid Build Coastguard Worker srcs: [ 120*2d543d20SAndroid Build Coastguard Worker "src/android/android_device.c", 121*2d543d20SAndroid Build Coastguard Worker ], 122*2d543d20SAndroid Build Coastguard Worker static: { 123*2d543d20SAndroid Build Coastguard Worker whole_static_libs: [ 124*2d543d20SAndroid Build Coastguard Worker "libpackagelistparser", 125*2d543d20SAndroid Build Coastguard Worker ], 126*2d543d20SAndroid Build Coastguard Worker }, 127*2d543d20SAndroid Build Coastguard Worker 128*2d543d20SAndroid Build Coastguard Worker shared: { 129*2d543d20SAndroid Build Coastguard Worker shared_libs: [ 130*2d543d20SAndroid Build Coastguard Worker "libpackagelistparser", 131*2d543d20SAndroid Build Coastguard Worker ], 132*2d543d20SAndroid Build Coastguard Worker }, 133*2d543d20SAndroid Build Coastguard Worker system_shared_libs: ["libc"], 134*2d543d20SAndroid Build Coastguard Worker }, 135*2d543d20SAndroid Build Coastguard Worker }, 136*2d543d20SAndroid Build Coastguard Worker 137*2d543d20SAndroid Build Coastguard Worker static: { 138*2d543d20SAndroid Build Coastguard Worker whole_static_libs: [ 139*2d543d20SAndroid Build Coastguard Worker "libpcre2", 140*2d543d20SAndroid Build Coastguard Worker "liblog", 141*2d543d20SAndroid Build Coastguard Worker ], 142*2d543d20SAndroid Build Coastguard Worker }, 143*2d543d20SAndroid Build Coastguard Worker shared: { 144*2d543d20SAndroid Build Coastguard Worker shared_libs: [ 145*2d543d20SAndroid Build Coastguard Worker "libpcre2", 146*2d543d20SAndroid Build Coastguard Worker "liblog", 147*2d543d20SAndroid Build Coastguard Worker ], 148*2d543d20SAndroid Build Coastguard Worker }, 149*2d543d20SAndroid Build Coastguard Worker header_libs: [ 150*2d543d20SAndroid Build Coastguard Worker "libbase_headers", 151*2d543d20SAndroid Build Coastguard Worker "libcutils_headers", 152*2d543d20SAndroid Build Coastguard Worker "liblog_headers", 153*2d543d20SAndroid Build Coastguard Worker ], 154*2d543d20SAndroid Build Coastguard Worker local_include_dirs: [ 155*2d543d20SAndroid Build Coastguard Worker "include", 156*2d543d20SAndroid Build Coastguard Worker "src", 157*2d543d20SAndroid Build Coastguard Worker ], 158*2d543d20SAndroid Build Coastguard Worker export_include_dirs: ["include"], 159*2d543d20SAndroid Build Coastguard Worker 160*2d543d20SAndroid Build Coastguard Worker stl: "none", 161*2d543d20SAndroid Build Coastguard Worker} 162*2d543d20SAndroid Build Coastguard Worker 163*2d543d20SAndroid Build Coastguard Workercc_defaults { 164*2d543d20SAndroid Build Coastguard Worker name: "libselinux_flags_defaults", 165*2d543d20SAndroid Build Coastguard Worker host_supported: true, 166*2d543d20SAndroid Build Coastguard Worker cflags: select(release_flag("RELEASE_SELINUX_DATA_DATA_IGNORE"), { 167*2d543d20SAndroid Build Coastguard Worker true: ["-DSELINUX_FLAGS_DATA_DATA_IGNORE"], 168*2d543d20SAndroid Build Coastguard Worker default: [], 169*2d543d20SAndroid Build Coastguard Worker }), 170*2d543d20SAndroid Build Coastguard Worker} 171*2d543d20SAndroid Build Coastguard Worker 172*2d543d20SAndroid Build Coastguard Workercc_library { 173*2d543d20SAndroid Build Coastguard Worker name: "libselinux", 174*2d543d20SAndroid Build Coastguard Worker defaults: ["libselinux_defaults"], 175*2d543d20SAndroid Build Coastguard Worker 176*2d543d20SAndroid Build Coastguard Worker llndk: { 177*2d543d20SAndroid Build Coastguard Worker symbol_file: "exported.map.txt", 178*2d543d20SAndroid Build Coastguard Worker }, 179*2d543d20SAndroid Build Coastguard Worker 180*2d543d20SAndroid Build Coastguard Worker ramdisk_available: true, 181*2d543d20SAndroid Build Coastguard Worker vendor_ramdisk_available: true, 182*2d543d20SAndroid Build Coastguard Worker recovery_available: true, 183*2d543d20SAndroid Build Coastguard Worker host_supported: true, 184*2d543d20SAndroid Build Coastguard Worker 185*2d543d20SAndroid Build Coastguard Worker target: { 186*2d543d20SAndroid Build Coastguard Worker linux_bionic: { 187*2d543d20SAndroid Build Coastguard Worker enabled: true, 188*2d543d20SAndroid Build Coastguard Worker }, 189*2d543d20SAndroid Build Coastguard Worker 190*2d543d20SAndroid Build Coastguard Worker android: { 191*2d543d20SAndroid Build Coastguard Worker version_script: "exported.map.txt", 192*2d543d20SAndroid Build Coastguard Worker }, 193*2d543d20SAndroid Build Coastguard Worker }, 194*2d543d20SAndroid Build Coastguard Worker 195*2d543d20SAndroid Build Coastguard Worker stubs: { 196*2d543d20SAndroid Build Coastguard Worker symbol_file: "exported.map.txt", 197*2d543d20SAndroid Build Coastguard Worker versions: ["30"], 198*2d543d20SAndroid Build Coastguard Worker }, 199*2d543d20SAndroid Build Coastguard Worker} 200*2d543d20SAndroid Build Coastguard Worker 201*2d543d20SAndroid Build Coastguard Workercc_test_host { 202*2d543d20SAndroid Build Coastguard Worker name: "libselinux_test", 203*2d543d20SAndroid Build Coastguard Worker defaults: ["libselinux_defaults"], 204*2d543d20SAndroid Build Coastguard Worker srcs: ["src/android/android_unittest.cpp"], 205*2d543d20SAndroid Build Coastguard Worker 206*2d543d20SAndroid Build Coastguard Worker cflags: [ 207*2d543d20SAndroid Build Coastguard Worker // regex.h will conflict with the default regex.h from libc. 208*2d543d20SAndroid Build Coastguard Worker // Skip regex for gtest. 209*2d543d20SAndroid Build Coastguard Worker "-DGTEST_HAS_POSIX_RE=0", 210*2d543d20SAndroid Build Coastguard Worker // Disable automatic interactions with sysfs when libselinux is 211*2d543d20SAndroid Build Coastguard Worker // initialized. This ensures that the tests remain hermetic on the host. 212*2d543d20SAndroid Build Coastguard Worker "-DANDROID_UNIT_TESTING", 213*2d543d20SAndroid Build Coastguard Worker ], 214*2d543d20SAndroid Build Coastguard Worker whole_static_libs: [ 215*2d543d20SAndroid Build Coastguard Worker "libbase", 216*2d543d20SAndroid Build Coastguard Worker "liblog", 217*2d543d20SAndroid Build Coastguard Worker "libpcre2", 218*2d543d20SAndroid Build Coastguard Worker ], 219*2d543d20SAndroid Build Coastguard Worker 220*2d543d20SAndroid Build Coastguard Worker // Use default stl. 221*2d543d20SAndroid Build Coastguard Worker stl: "", 222*2d543d20SAndroid Build Coastguard Worker} 223*2d543d20SAndroid Build Coastguard Worker 224*2d543d20SAndroid Build Coastguard Workercc_binary_host { 225*2d543d20SAndroid Build Coastguard Worker name: "sefcontext_compile", 226*2d543d20SAndroid Build Coastguard Worker defaults: ["libselinux_defaults"], 227*2d543d20SAndroid Build Coastguard Worker srcs: ["utils/sefcontext_compile.c"], 228*2d543d20SAndroid Build Coastguard Worker 229*2d543d20SAndroid Build Coastguard Worker static_libs: [ 230*2d543d20SAndroid Build Coastguard Worker "libselinux", 231*2d543d20SAndroid Build Coastguard Worker "libsepol", 232*2d543d20SAndroid Build Coastguard Worker ], 233*2d543d20SAndroid Build Coastguard Worker 234*2d543d20SAndroid Build Coastguard Worker stl: "", 235*2d543d20SAndroid Build Coastguard Worker} 236*2d543d20SAndroid Build Coastguard Worker 237*2d543d20SAndroid Build Coastguard Workercc_binary { 238*2d543d20SAndroid Build Coastguard Worker name: "selabel_get_digests_all_partial_matches", 239*2d543d20SAndroid Build Coastguard Worker defaults: ["libselinux_defaults"], 240*2d543d20SAndroid Build Coastguard Worker srcs: ["utils/selabel_get_digests_all_partial_matches.c"], 241*2d543d20SAndroid Build Coastguard Worker 242*2d543d20SAndroid Build Coastguard Worker static_libs: [ 243*2d543d20SAndroid Build Coastguard Worker "libselinux", 244*2d543d20SAndroid Build Coastguard Worker ], 245*2d543d20SAndroid Build Coastguard Worker 246*2d543d20SAndroid Build Coastguard Worker stl: "", 247*2d543d20SAndroid Build Coastguard Worker} 248*2d543d20SAndroid Build Coastguard Worker 249*2d543d20SAndroid Build Coastguard Workerrust_bindgen { 250*2d543d20SAndroid Build Coastguard Worker name: "libselinux_bindgen", 251*2d543d20SAndroid Build Coastguard Worker wrapper_src: "rust/selinux.h", 252*2d543d20SAndroid Build Coastguard Worker crate_name: "selinux_bindgen", 253*2d543d20SAndroid Build Coastguard Worker visibility: [ 254*2d543d20SAndroid Build Coastguard Worker "//frameworks/native/libs/binder/rust/tests", 255*2d543d20SAndroid Build Coastguard Worker "//system/security/keystore2:__subpackages__", 256*2d543d20SAndroid Build Coastguard Worker "//packages/modules/Virtualization:__subpackages__", 257*2d543d20SAndroid Build Coastguard Worker "//system/software_defined_vehicle:__subpackages__", 258*2d543d20SAndroid Build Coastguard Worker ], 259*2d543d20SAndroid Build Coastguard Worker source_stem: "bindings", 260*2d543d20SAndroid Build Coastguard Worker local_include_dirs: ["include"], 261*2d543d20SAndroid Build Coastguard Worker 262*2d543d20SAndroid Build Coastguard Worker // Generate bindings only for the symbols that are actually exported (see exported.map.txt). 263*2d543d20SAndroid Build Coastguard Worker // This makes the generated bindings much more concise and improves compilation 264*2d543d20SAndroid Build Coastguard Worker // time. 265*2d543d20SAndroid Build Coastguard Worker bindgen_flags: [ 266*2d543d20SAndroid Build Coastguard Worker "--allowlist-function=fgetfilecon", 267*2d543d20SAndroid Build Coastguard Worker "--allowlist-function=fgetfilecon_raw", 268*2d543d20SAndroid Build Coastguard Worker "--allowlist-function=freecon", 269*2d543d20SAndroid Build Coastguard Worker "--allowlist-function=fsetfilecon", 270*2d543d20SAndroid Build Coastguard Worker "--allowlist-function=getcon", 271*2d543d20SAndroid Build Coastguard Worker "--allowlist-function=getfilecon", 272*2d543d20SAndroid Build Coastguard Worker "--allowlist-function=getpeercon", 273*2d543d20SAndroid Build Coastguard Worker "--allowlist-function=getpidcon", 274*2d543d20SAndroid Build Coastguard Worker "--allowlist-function=getprevcon", 275*2d543d20SAndroid Build Coastguard Worker "--allowlist-function=is_selinux_enabled", 276*2d543d20SAndroid Build Coastguard Worker "--allowlist-function=lgetfilecon", 277*2d543d20SAndroid Build Coastguard Worker "--allowlist-function=lsetfilecon", 278*2d543d20SAndroid Build Coastguard Worker "--allowlist-function=security_compute_create", 279*2d543d20SAndroid Build Coastguard Worker "--allowlist-function=security_get_initial_context", 280*2d543d20SAndroid Build Coastguard Worker "--allowlist-function=security_getenforce", 281*2d543d20SAndroid Build Coastguard Worker "--allowlist-function=security_load_policy", 282*2d543d20SAndroid Build Coastguard Worker "--allowlist-function=security_policyvers", 283*2d543d20SAndroid Build Coastguard Worker "--allowlist-function=security_setenforce", 284*2d543d20SAndroid Build Coastguard Worker "--allowlist-function=selabel_close", 285*2d543d20SAndroid Build Coastguard Worker "--allowlist-function=selabel_lookup", 286*2d543d20SAndroid Build Coastguard Worker "--allowlist-function=selabel_lookup_best_match", 287*2d543d20SAndroid Build Coastguard Worker "--allowlist-function=selabel_open", 288*2d543d20SAndroid Build Coastguard Worker "--allowlist-function=selinux_android_file_context_handle", 289*2d543d20SAndroid Build Coastguard Worker "--allowlist-function=selinux_android_hw_service_context_handle", 290*2d543d20SAndroid Build Coastguard Worker "--allowlist-function=selinux_android_load_policy", 291*2d543d20SAndroid Build Coastguard Worker "--allowlist-function=selinux_android_load_policy_from_fd", 292*2d543d20SAndroid Build Coastguard Worker "--allowlist-function=selinux_android_restorecon", 293*2d543d20SAndroid Build Coastguard Worker "--allowlist-function=selinux_android_restorecon_pkgdir", 294*2d543d20SAndroid Build Coastguard Worker "--allowlist-function=selinux_android_seapp_context_init", 295*2d543d20SAndroid Build Coastguard Worker "--allowlist-function=selinux_android_service_context_handle", 296*2d543d20SAndroid Build Coastguard Worker "--allowlist-function=selinux_android_set_sehandle", 297*2d543d20SAndroid Build Coastguard Worker "--allowlist-function=selinux_android_setcon", 298*2d543d20SAndroid Build Coastguard Worker "--allowlist-function=selinux_android_setcontext", 299*2d543d20SAndroid Build Coastguard Worker "--allowlist-function=selinux_android_vendor_service_context_handle", 300*2d543d20SAndroid Build Coastguard Worker "--allowlist-function=selinux_check_access", 301*2d543d20SAndroid Build Coastguard Worker "--allowlist-function=selinux_log_callback", 302*2d543d20SAndroid Build Coastguard Worker "--allowlist-function=selinux_set_callback", 303*2d543d20SAndroid Build Coastguard Worker "--allowlist-function=selinux_status_open", 304*2d543d20SAndroid Build Coastguard Worker "--allowlist-function=selinux_status_updated", 305*2d543d20SAndroid Build Coastguard Worker "--allowlist-function=selinux_vendor_log_callback", 306*2d543d20SAndroid Build Coastguard Worker "--allowlist-function=set_selinuxmnt", 307*2d543d20SAndroid Build Coastguard Worker "--allowlist-function=setcon", 308*2d543d20SAndroid Build Coastguard Worker "--allowlist-function=setexeccon", 309*2d543d20SAndroid Build Coastguard Worker "--allowlist-function=setfilecon", 310*2d543d20SAndroid Build Coastguard Worker "--allowlist-function=setfscreatecon", 311*2d543d20SAndroid Build Coastguard Worker "--allowlist-function=setsockcreatecon", 312*2d543d20SAndroid Build Coastguard Worker "--allowlist-function=setsockcreatecon_raw", 313*2d543d20SAndroid Build Coastguard Worker "--allowlist-function=string_to_security_class", 314*2d543d20SAndroid Build Coastguard Worker "--allowlist-function=selinux_android_context_with_level", 315*2d543d20SAndroid Build Coastguard Worker "--allowlist-function=selinux_android_keystore2_key_context_handle", 316*2d543d20SAndroid Build Coastguard Worker "--allowlist-function=selinux_android_tee_service_context_handle", 317*2d543d20SAndroid Build Coastguard Worker 318*2d543d20SAndroid Build Coastguard Worker // We also need some constants in addition to the functions. 319*2d543d20SAndroid Build Coastguard Worker "--allowlist-var=SELABEL_.*", 320*2d543d20SAndroid Build Coastguard Worker "--allowlist-var=SELINUX_.*", 321*2d543d20SAndroid Build Coastguard Worker ], 322*2d543d20SAndroid Build Coastguard Worker 323*2d543d20SAndroid Build Coastguard Worker // This is mainly to run layout tests for generated bindings on the host. 324*2d543d20SAndroid Build Coastguard Worker host_supported: true, 325*2d543d20SAndroid Build Coastguard Worker 326*2d543d20SAndroid Build Coastguard Worker apex_available: [ 327*2d543d20SAndroid Build Coastguard Worker "com.android.virt", 328*2d543d20SAndroid Build Coastguard Worker "//apex_available:platform", 329*2d543d20SAndroid Build Coastguard Worker ], 330*2d543d20SAndroid Build Coastguard Worker} 331*2d543d20SAndroid Build Coastguard Worker 332*2d543d20SAndroid Build Coastguard Workerrust_test { 333*2d543d20SAndroid Build Coastguard Worker name: "libselinux_bindgen_test", 334*2d543d20SAndroid Build Coastguard Worker srcs: [ 335*2d543d20SAndroid Build Coastguard Worker ":libselinux_bindgen", 336*2d543d20SAndroid Build Coastguard Worker ], 337*2d543d20SAndroid Build Coastguard Worker crate_name: "selinux_bindgen_test", 338*2d543d20SAndroid Build Coastguard Worker test_suites: ["general-tests"], 339*2d543d20SAndroid Build Coastguard Worker auto_gen_config: true, 340*2d543d20SAndroid Build Coastguard Worker clippy_lints: "none", 341*2d543d20SAndroid Build Coastguard Worker lints: "none", 342*2d543d20SAndroid Build Coastguard Worker} 343