8 Commits

Author SHA1 Message Date
5bf210dc73 test all features
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2020-06-23 19:15:51 +02:00
0a2a054233 fmt
Some checks failed
continuous-integration/drone/push Build is failing
continuous-integration/drone/pr Build is failing
2020-06-23 19:10:40 +02:00
c358202a3a drone 2020-06-23 19:01:12 +02:00
86649b56aa cleanup 2020-05-07 01:56:14 +02:00
48604d165b response enum 2020-05-06 23:53:00 +02:00
317f5ebdb4 impl get assertion 2020-04-26 17:52:40 +02:00
33229a0b3c impl make credential 2020-04-26 14:24:39 +02:00
9737a006e7 working cbor deserialize 2020-04-25 21:05:30 +02:00
6 changed files with 1327 additions and 0 deletions

24
.drone.yml Normal file
View File

@@ -0,0 +1,24 @@
kind: pipeline
name: default
steps:
- name: fmt
image: rust:1.43.0
commands:
- rustup component add rustfmt
- cargo fmt --all -- --check
- name: test
image: rust:1.43.0
commands:
- cargo test --all-features
- name: publish
image: rust:1.43.0
environment:
CARGO_REGISTRY_TOKEN:
from_secret: cargo_tkn
commands:
- grep -E 'version ?= ?"${DRONE_TAG}"' -i Cargo.toml || (printf "incorrect crate/tag version" && exit 1)
- cargo package --all-features
- cargo publish --all-features
when:
event: tag

View File

@@ -23,6 +23,10 @@ rust-crypto = "0.2"
csv-core = "0.1.6"
derive_builder = "0.9.0"
crossbeam = { version = "0.7.3", optional = true }
serde_derive = "1.0.106"
serde = "1.0.106"
serde_cbor = "0.11.1"
serde_bytes = "0.11.3"
[dev-dependencies]
crossbeam = "0.7.3"
hex = "0.4.0"

1279
src/protocol/cbor.rs Normal file

File diff suppressed because it is too large Load Diff

7
src/protocol/error.rs Normal file
View File

@@ -0,0 +1,7 @@
use thiserror::Error;
#[derive(Clone, PartialEq, Eq, Debug)]
pub enum ProtocolError {
CborEncode,
CborDecode { data: Vec<u8> },
}

4
src/protocol/mod.rs Normal file
View File

@@ -0,0 +1,4 @@
mod cbor;
mod error;
pub use self::cbor::*;
pub use self::error::*;

9
src/transport/mod.rs Normal file
View File

@@ -0,0 +1,9 @@
use crate::protocol::{CborRequest, CborResponse};
pub trait CtapTransport {
type Error;
fn cbor<'a>(&mut self, command: &CborRequest<'a>) -> Result<CborResponse, Self::Error>;
}
pub enum CtapCommand {}