Add untested Cargo feature for untested functionality

This adds an `untested` feature to any functions which have not yet been
tested live against a YubiKey device (which is presently pretty much
everything).

This sets a clear expectation of what is presently supported, and
additionally documents the status in the README (and a series of GitHub
issues).

Adds a `cargo build --all-features` to GitHub Actions' `test` step in
order to make sure that `untested` functionality still compiles.
This commit is contained in:
Tony Arcieri
2019-11-25 15:02:22 -08:00
parent 9083194c3b
commit a23af7dc31
8 changed files with 146 additions and 64 deletions
+13 -5
View File
@@ -7,7 +7,6 @@ application providing general-purpose public-key signing and encryption
with hardware-backed private keys for RSA (2048/1024) and ECC (P-256/P-384)
algorithms (e.g, PKCS#1v1.5, ECDSA)
"""
authors = ["Tony Arcieri <bascule@gmail.com>", "Yubico AB"]
edition = "2018"
license = "BSD-2-Clause"
@@ -16,16 +15,25 @@ readme = "README.md"
categories = ["api-bindings", "cryptography", "hardware-support"]
keywords = ["ccid", "ecdsa", "rsa", "piv", "yubikey"]
[badges]
maintenance = { status = "experimental" }
[dependencies]
des = "0.3"
getrandom = "0.1"
hmac = "0.7"
hmac = { version = "0.7", optional = true }
log = "0.4"
pbkdf2 = "0.3"
pbkdf2 = { version = "0.3", optional = true }
pcsc = "2"
sha-1 = "0.8"
subtle = "2"
sha-1 = { version = "0.8", optional = true }
subtle = { version = "2", optional = true }
zeroize = "1"
[dev-dependencies]
env_logger = "0.7"
[features]
untested = ["hmac", "pbkdf2", "sha-1", "subtle"]
[package.metadata.docs.rs]
all-features = true