| # 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:*", |
| ] |