| # 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:*", |
| "//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/lib/sorted_vec_map_rs:*", |
| "//src/security/bin/kms:*", |
| "//src/security/lib/scrutiny/utils:*", |
| "//src/storage/ext4/lib/metadata:*", |
| "//src/storage/fxfs:*", |
| "//src/storage/lib/sparse/rust:*", |
| ] |
| |
| regex_visibility = [ |
| # ________ _________ ________ ________ |
| # |\ ____\|\___ ___\\ __ \|\ __ \ |
| # \ \ \___|\|___ \ \_\ \ \|\ \ \ \|\ \ |
| # \ \_____ \ \ \ \ \ \ \\\ \ \ ____\ |
| # \|____|\ \ \ \ \ \ \ \\\ \ \ \___| |
| # ____\_\ \ \ \__\ \ \_______\ \__\ |
| # |\_________\ \|__| \|_______|\|__| |
| # \|_________| |
| # |
| # This is an allowlist of targets that use the `regex` Rust crate. |
| # The regex crate often adds approximately 600KB to the size of components |
| # that use it because of its Unicode tables. Please consider using `regex-lite` |
| # if you don't need full Unicode support or if size is a concern. |
| # |
| # To regenerate, run: |
| # (cd $FUCHSIA_DIR && git grep --files-with-matches '//third_party/rust_crates:regex\"' -- '*BUILD.gn' | sed 's|\(.*\)/BUILD.gn|"//\1:*",|') |
| "//examples/fidl/new/key_value_store/add_iterator/rust/server:*", |
| "//examples/fidl/new/key_value_store/add_iterator/rust_next/server:*", |
| "//examples/fidl/new/key_value_store/add_read_item/rust/server:*", |
| "//examples/fidl/new/key_value_store/add_read_item/rust_next/server:*", |
| "//examples/fidl/new/key_value_store/baseline/rust/server:*", |
| "//examples/fidl/new/key_value_store/baseline/rust_next/server:*", |
| "//examples/fidl/new/key_value_store/support_exports/rust/server:*", |
| "//examples/fidl/new/key_value_store/support_exports/rust_next/server:*", |
| "//examples/fidl/new/key_value_store/support_trees/rust/server:*", |
| "//examples/fidl/new/key_value_store/support_trees/rust_next/server:*", |
| "//examples/fidl/new/key_value_store/use_generic_values/rust/server:*", |
| "//examples/fidl/new/key_value_store/use_generic_values/rust_next/server:*", |
| "//examples/intl/wisdom/rust/server:*", |
| "//examples/intl/wisdom/tests:*", |
| "//src/connectivity/bluetooth/tools/bt-cli:*", |
| "//src/connectivity/lowpan/drivers/lowpan-ot-driver:*", |
| "//src/connectivity/network/lib/todo_unused:*", |
| "//src/connectivity/network/tests/integration/inspect:*", |
| "//src/connectivity/wlan/lib/ieee80211-testutils:*", |
| "//src/connectivity/wlan/lib/sme:*", |
| "//src/connectivity/wlan/wlancfg:*", |
| "//src/developer/ffx/command:*", |
| "//src/developer/ffx/config:*", |
| "//src/developer/ffx/lib/netext:*", |
| "//src/developer/ffx/lib/sdk:*", |
| "//src/developer/ffx/lib/target_errors:*", |
| "//src/developer/ffx/lib/trace:*", |
| "//src/developer/ffx/playground:*", |
| "//src/developer/ffx/plugins/doctor:*", |
| "//src/developer/ffx/plugins/emulator/commands/start:*", |
| "//src/developer/ffx/plugins/forward:*", |
| "//src/developer/ffx/plugins/fuzz:*", |
| "//src/developer/ffx/plugins/platform/preflight:*", |
| "//src/developer/ffx/plugins/profile/cpu/load:*", |
| "//src/developer/ffx/plugins/profile/gpu/usage:*", |
| "//src/developer/ffx/plugins/profile/memory:*", |
| "//src/developer/ffx/plugins/profile/network/activity:*", |
| "//src/developer/ffx/plugins/profile/temperature/logger:*", |
| "//src/developer/ffx/plugins/sdk:*", |
| "//src/developer/ffx/plugins/setui/keyboard:*", |
| "//src/developer/ffx/plugins/target/list:*", |
| "//src/developer/ffx/plugins/trace:*", |
| "//src/developer/ffx/tools/bluetooth/common:*", |
| "//src/developer/ffx/tools/bluetooth/src/peer:*", |
| "//src/developer/ffx/tools/starnix:*", |
| "//src/devices/lib/fidl-ir:*", |
| "//src/diagnostics/iquery:*", |
| "//src/diagnostics/persistence/tests:*", |
| "//src/lib/analytics/rust:*", |
| "//src/lib/assembly/assembled_system:*", |
| "//src/lib/assembly/util:*", |
| "//src/lib/diagnostics/log/rust:*", |
| "//src/lib/diagnostics/testing/diagnostics-assertions/rust:*", |
| "//src/lib/icu/tools/extractor/tests:*", |
| "//src/lib/intl/strings:*", |
| "//src/lib/intl/unicode_utils/unicode_blocks:*", |
| "//src/lib/testing/sharding:*", |
| "//src/lib/testing/sharding/tests/integration:*", |
| "//src/lib/utf8_path:*", |
| "//src/performance/memory/attribution/monitor:*", |
| "//src/starnix/tests/memory_attribution:*", |
| "//src/storage/benchmarks:*", |
| "//src/storage/benchmarks/fuchsia:*", |
| "//src/storage/benchmarks/host:*", |
| "//src/storage/fshost/integration:*", |
| "//src/storage/fxfs/unicode:*", |
| "//src/sys/component_manager:*", |
| "//src/sys/fuzzing/fuzzctl:*", |
| "//src/sys/lib/cm_fidl_validator:*", |
| "//src/sys/pkg/lib/fuchsia-pkg:*", |
| "//src/sys/run_test_suite/tests:*", |
| "//src/sys/test_runners/gotests:*", |
| "//src/sys/test_runners/gotests/tests:*", |
| "//src/sys/test_runners/rust:*", |
| "//src/ui/lib/input_pipeline:*", |
| "//third_party/android/platform/system/keymint:*", |
| "//third_party/tcpdump/tests:*", |
| "//tools/doc_checker:*", |
| "//tools/fidl/example-tester:*", |
| "//tools/fidl/fidldoc:*", |
| "//tools/gn_desc/bin:*", |
| "//tools/pretty_serial:*", |
| "//tools/shush:*", |
| "//tools/zedmon/client:*", |
| |
| # Allow generic usage within vendor directories without exposing internal paths |
| "//vendor/*:*", |
| ] |