blob: c9e0f04f349494e83481e205ba6ad2e77946db12 [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/tee/runtime/api_impl:*",
"//src/connectivity/wlan/lib/rsn:*",
]
lazy_static_visibility = [
# ________ _________ ________ ________
# |\ ____\|\___ ___\\ __ \|\ __ \
# \ \ \___|\|___ \ \_\ \ \|\ \ \ \|\ \
# \ \_____ \ \ \ \ \ \ \\\ \ \ ____\
# \|____|\ \ \ \ \ \ \ \\\ \ \ \___|
# ____\_\ \ \ \__\ \ \_______\ \__\
# |\_________\ \|__| \|_______|\|__|
# \|_________|
#
# This is an allowlist of targets that use the `lazy_static` Rust library, as
# of Rust 1.80, LazyLock is now stable which should cover most of the use
# cases for `lazy_static`.
#
# 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:lazy_static' -- '*BUILD.gn' | sed 's|\(.*\)/BUILD.gn|"//\1:*",|')
"//src/connectivity/lowpan/drivers/lowpan-ot-driver:*",
"//src/connectivity/lowpan/service:*",
"//src/connectivity/network/netstack3/core:*",
"//src/connectivity/policy/netcfg:*",
"//src/connectivity/wlan/lib/common/rust:*",
"//src/connectivity/wlan/lib/ieee80211-testutils:*",
"//src/connectivity/wlan/lib/ieee80211:*",
"//src/connectivity/wlan/lib/mlme/rust:*",
"//src/connectivity/wlan/lib/rsn:*",
"//src/connectivity/wlan/lib/sae:*",
"//src/connectivity/wlan/lib/sme:*",
"//src/connectivity/wlan/testing/hw-sim:*",
"//src/connectivity/wlan/testing/hw-sim/test/connect_with_bad_password:*",
"//src/connectivity/wlan/testing/hw-sim/test/connect_with_wrong_credential_type:*",
"//src/connectivity/wlan/testing/hw-sim/test/ethernet_tx_rx:*",
"//src/connectivity/wlan/testing/hw-sim/test/multiple_clients_ap:*",
"//src/connectivity/wlan/testing/hw-sim/test/rate_selection:*",
"//src/connectivity/wlan/testing/hw-sim/test/scan_contemporary_privacy:*",
"//src/connectivity/wlan/testing/hw-sim/test/scan_legacy_privacy:*",
"//src/connectivity/wlan/testing/hw-sim/test/simulate_scan:*",
"//src/connectivity/wlan/testing/hw-sim/test/verify_wlan_inspect:*",
"//src/connectivity/wlan/tests/drivers-only/common:*",
"//src/connectivity/wlan/tests/helpers/fullmac-helpers:*",
"//src/connectivity/wlan/wlancfg:*",
"//src/fonts:*",
"//src/hwinfo/mock:*",
"//src/lib/process_builder:*",
"//src/lib/scoped_task:*",
"//src/lib/test_util:*",
"//src/lib/webpki-roots-fuchsia:*",
"//src/media/stream_processors/test:*",
"//src/performance/memory/heapdump/instrumentation:*",
"//src/power/broker:*",
"//src/sys/pkg/lib/tuf:*",
"//src/virtualization/bin/vmm/device/virtio_input:*",
"//tools/clidoc:*",
"//tools/create:*",
"//tools/doc_checker:*",
"//tools/fidl/fidldoc:*",
"//tools/funnel:*",
"//tools/lib/cml:*",
"//tools/shush:*",
# At this time we are not enforcing restrictions on the below.
"//third_party/*",
]
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.
#
# 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/fonts:*",
"//src/graphics/lib/compute/rive-rs:*",
"//src/lib/async-utils:*",
"//src/lib/ui/carnelian:*",
"//src/starnix/kernel:*",
"//src/starnix/modules/ashmem:*",
"//src/starnix/modules/ext4:*",
"//src/starnix/modules/overlayfs:*",
"//src/starnix/modules/thermal:*",
"//src/storage/ext4/read-only:*",
"//src/storage/fxfs:*",
"//src/storage/fxfs/tools:*",
"//src/storage/stress-tests/genericfs:*",
"//src/sys/lib/elf_runner:*",
"//src/testing/sl4f:*",
"//src/ui/testing/puppet:*",
"//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 since the
# sources are in a 3P library.
"//src/sys/pkg/testing/mock-omaha-server:*",
# 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:*",
]