smskit 0.3.0

Universal multi-provider SMS toolkit for Rust with framework-agnostic webhook processing
Documentation
# Configuration for cargo-deny

# https://embarkstudios.github.io/cargo-deny/



[graph]

# Disable checking for unused dependencies since we're in active development

all-features = true



[advisories]

# Database of known security vulnerabilities

db-path = "~/.cargo/advisory-db"

db-urls = ["https://github.com/rustsec/advisory-db"]

vulnerability = "deny"

unmaintained = "warn"

yanked = "warn"

notice = "warn"

ignore = [

  # Add specific advisories to ignore here if needed

  # "RUSTSEC-YYYY-NNNN",

]



[licenses]

# The confidence threshold for detecting a license from a license text.

# 0.8 means we need to be 80% confident that the detected license is correct

confidence-threshold = 0.8



# List of explicitly allowed licenses

allow = [

  "MIT",

  "Apache-2.0",

  "Apache-2.0 WITH LLVM-exception",

  "BSD-2-Clause",

  "BSD-3-Clause",

  "ISC",

  "Unicode-DFS-2016",

  "CC0-1.0",

]



# List of explicitly disallowed licenses

deny = [

  "GPL-2.0",

  "GPL-3.0",

  "AGPL-1.0",

  "AGPL-3.0",

  "LGPL-2.0",

  "LGPL-2.1",

  "LGPL-3.0",

  "MPL-2.0",  # Mozilla Public License can be problematic

]



# Lint level for when multiple versions of the same license are detected

copyleft = "warn"

# Lint level for when a crate version requirement is an exact version

allow-osi-fsf-free = "both"

# Lint level for when a license exception has a `-` in it

default = "deny"

# The default lint level for `default` is `deny`

unlicensed = "deny"



[[licenses.exceptions]]

# Allow ring to use its special license

allow = ["LicenseRef-ring"]

name = "ring"



[[licenses.exceptions]]

# Allow rustls-webpki to use its ISC license

allow = ["ISC"]

name = "rustls-webpki"



[bans]

# Lint level for when multiple versions of the same crate are detected

multiple-versions = "warn"

# Lint level for when a crate version requirement is `*`

wildcards = "allow"

highlight = "all"



# List of crates to deny

deny = [

  # Deny old versions of crates with known security issues

  { name = "openssl", version = "*" },         # Prefer rustls

  { name = "native-tls", version = "<0.2.8" },

  { name = "tokio", version = "<1.0" },

  { name = "hyper", version = "<0.14" },

  { name = "reqwest", version = "<0.11" },

]



# Certain crates/versions that will be skipped when doing duplicate detection.

skip = [

  # Different versions of these are expected due to ecosystem transitions

  { name = "windows_x86_64_msvc" },

  { name = "syn", version = "1" },    # Many crates still use syn 1.x

  { name = "time", version = "0.1" }, # chrono still uses old time

]



# Similarly to `skip` allows you to skip certain crates from being checked

skip-tree = [

  # Skip AWS SDK trees as they have complex internal dependencies

  { name = "aws-config" },

  { name = "aws-sdk-sns" },

]



[sources]

# Lint level for what to happen when a crate from a crate registry that is

# not in the allow list is encountered

unknown-registry = "warn"

# Lint level for what to happen when a crate from a git repository that is not

# in the allow list is encountered

unknown-git = "warn"



[sources.allow-registry]

# List of URLs for allowed registries. Defaults to the crates.io index

# if not specified. If it is specified but empty, no registries are allowed.

urls = ["https://github.com/rust-lang/crates.io-index"]



[sources.allow-git]

# List of URLs for allowed Git repositories

# Add trusted git sources here if needed

# github = ["https://github.com/"]