blob: e4dcd6c2f8c9976ae6757c63895b21167bebc254 [file] [log] [blame]
# Copyright 2021 The Fuchsia Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
md5_visibility = [
# ________ _________ ________ ________
# |\ ____\|\___ ___\\ __ \|\ __ \
# \ \ \___|\|___ \ \_\ \ \|\ \ \ \|\ \
# \ \_____ \ \ \ \ \ \ \\\ \ \ ____\
# \|____|\ \ \ \ \ \ \ \\\ \ \ \___|
# ____\_\ \ \ \__\ \ \_______\ \__\
# |\_________\ \|__| \|_______|\|__|
# \|_________|
#
# This is an allowlist of targets that use the `md-5` Rust library, which
# implements the insecure and deprecated MD-5 hash function. Code should only
# use this if it's implementing legacy protocols that require MD-5; it should
# never be used for new cryptographic development.
"//src/connectivity/wlan/lib/rsn:*",
]
sha1_visibility = [
# ________ _________ ________ ________
# |\ ____\|\___ ___\\ __ \|\ __ \
# \ \ \___|\|___ \ \_\ \ \|\ \ \ \|\ \
# \ \_____ \ \ \ \ \ \ \\\ \ \ ____\
# \|____|\ \ \ \ \ \ \ \\\ \ \ \___|
# ____\_\ \ \ \__\ \ \_______\ \__\
# |\_________\ \|__| \|_______|\|__|
# \|_________|
#
# This is an allowlist of targets that use the `sha1` Rust library, which
# implements the insecure and deprecated SHA-1 hash function. Code should only
# use this if it's implementing legacy protocols that require SHA-1; it should
# never be used for new cryptographic development.
"//src/connectivity/wlan/lib/rsn:*",
"//src/microfuchsia/tee/runtime/api_impl:*",
]
once_cell_visibility = [
# ________ _________ ________ ________
# |\ ____\|\___ ___\\ __ \|\ __ \
# \ \ \___|\|___ \ \_\ \ \|\ \ \ \|\ \
# \ \_____ \ \ \ \ \ \ \\\ \ \ ____\
# \|____|\ \ \ \ \ \ \ \\\ \ \ \___|
# ____\_\ \ \ \__\ \ \_______\ \__\
# |\_________\ \|__| \|_______|\|__|
# \|_________|
#
# This is an allowlist of targets that use the `once_cell` Rust library, as
# of Rust 1.80, LazyLock and LazyCell are now stable which should cover most of the use
# cases for `once_cell.
#
# Most of the listed in-tree dependencies on once_cell use the `get_or_try_init` method which
# is not stable yet, see https://github.com/rust-lang/rust/issues/109737. It is expected that
# they can be migrated over once it has stabilized in std.
#
# Only add to this list if you have a use case that isn't supported by the
# standard library APIs.
#
# To regenerate, run:
# (cd $FUCHSIA_DIR && git grep --files-with-matches '//third_party/rust_crates:once_cell' -- '*BUILD.gn' | sed 's|\(.*\)/BUILD.gn|"//\1:*",|')
"//src/connectivity/network/netstack3:*",
"//src/connectivity/network/netstack3/core/filter:*",
"//src/lib/async-utils:*",
"//src/starnix/kernel/core:*",
"//src/starnix/modules/ashmem:*",
"//src/starnix/modules/ext4:*",
"//src/starnix/modules/overlayfs:*",
"//src/storage/ext4/read-only:*",
"//src/testing/sl4f:*",
"//tools/shush:*",
# At this time we are not enforcing restrictions on the below.
"//third_party/*",
]
tracing_visibility = [
# ________ _________ ________ ________
# |\ ____\|\___ ___\\ __ \|\ __ \
# \ \ \___|\|___ \ \_\ \ \|\ \ \ \|\ \
# \ \_____ \ \ \ \ \ \ \\\ \ \ ____\
# \|____|\ \ \ \ \ \ \ \\\ \ \ \___|
# ____\_\ \ \ \__\ \ \_______\ \__\
# |\_________\ \|__| \|_______|\|__|
# \|_________|
#
# This is an allowlist of targets that use the `tracing` Rust
# library, we've standarized on `log` for multiple reasons listed at
# go/fuchsia-rust-log
#
# To regenerate, run:
# (cd $FUCHSIA_DIR && git grep --files-with-matches '//third_party/rust_crates:tracing"' -- '*BUILD.gn' | sed 's|\(.*\)/BUILD.gn|"//\1:*",|')
#
# At this time we are not enforcing restirctions on the below since there's a
# test actually validating tracing macros still work on fuchsia in case we
# have a 3P lib that uses them.
"//src/tests/diagnostics:*",
# At this time we are not enforcing restrictions on the below.
"//third_party/*",
]
tracing_subscriber_visibility = [
# ________ _________ ________ ________
# |\ ____\|\___ ___\\ __ \|\ __ \
# \ \ \___|\|___ \ \_\ \ \|\ \ \ \|\ \
# \ \_____ \ \ \ \ \ \ \\\ \ \ ____\
# \|____|\ \ \ \ \ \ \ \\\ \ \ \___|
# ____\_\ \ \ \__\ \ \_______\ \__\
# |\_________\ \|__| \|_______|\|__|
# \|_________|
#
# This is an allowlist of targets that use the `tracing_subscriber` Rust
# library, we've standarized on `log` for multiple reasons listed at
# go/fuchsia-rust-log
#
# To regenerate, run:
# (cd $FUCHSIA_DIR && git grep --files-with-matches '//third_party/rust_crates:tracing-subscriber' -- '*BUILD.gn' | sed 's|\(.*\)/BUILD.gn|"//\1:*",|')
# At this time we are not enforcing restrictions on the below.
"//third_party/*",
]
zeroize_visibility = [
# ________ _________ ________ ________
# |\ ____\|\___ ___\\ __ \|\ __ \
# \ \ \___|\|___ \ \_\ \ \|\ \ \ \|\ \
# \ \_____ \ \ \ \ \ \ \\\ \ \ ____\
# \|____|\ \ \ \ \ \ \ \\\ \ \ \___|
# ____\_\ \ \ \__\ \ \_______\ \__\
# |\_________\ \|__| \|_______|\|__|
# \|_________|
#
# This is an allowlist of targets that use the `zeroize` Rust crate.
#
# At this time only Android KeyMint is allowed to use it.
"//third_party/android/platform/system/keymint:*",
]
openssl_visibility = [
# ________ _________ ________ ________
# |\ ____\|\___ ___\\ __ \|\ __ \
# \ \ \___|\|___ \ \_\ \ \|\ \ \ \|\ \
# \ \_____ \ \ \ \ \ \ \\\ \ \ ____\
# \|____|\ \ \ \ \ \ \ \\\ \ \ \___|
# ____\_\ \ \ \__\ \ \_______\ \__\
# |\_________\ \|__| \|_______|\|__|
# \|_________|
#
# This is an allowlist of targets that use the `openssl` Rust crate.
#
# At this time only Android KeyMint is allowed to use it.
"//third_party/android/platform/system/keymint:*",
]
bincode_visibility = [
# ________ _________ ________ ________
# |\ ____\|\___ ___\\ __ \|\ __ \
# \ \ \___|\|___ \ \_\ \ \|\ \ \ \|\ \
# \ \_____ \ \ \ \ \ \ \\\ \ \ ____\
# \|____|\ \ \ \ \ \ \ \\\ \ \ \___|
# ____\_\ \ \ \__\ \ \_______\ \__\
# |\_________\ \|__| \|_______|\|__|
# \|_________|
#
# This is an allowlist of targets that use the `bincode` Rust crate.
# Bincode is no longer maintained upstream, with an explanation to be found at:
# https://crates.io/crates/bincode/3.0.0
#
# To regenerate, run:
# (cd $FUCHSIA_DIR && git grep --files-with-matches '//third_party/rust_crates:bincode' -- '*BUILD.gn' | sed 's|\(.*\)/BUILD.gn|"//\1:*",|')
"//src/devices/bin/driver-index:*",
"//src/security/bin/kms:*",
"//src/security/lib/scrutiny/utils:*",
"//src/storage/ext4/lib/metadata:*",
"//src/storage/fxfs/make-blob-image:*",
"//src/storage/fxfs/platform:*",
"//src/storage/fxfs:*",
"//src/storage/lib/sparse/rust:*",
]