-
-
Notifications
You must be signed in to change notification settings - Fork 30
/
Cargo.toml
123 lines (98 loc) · 3.47 KB
/
Cargo.toml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
[package]
name = "runner"
version = "2.964.0"
authors = ["Nicolas Stalder <n@stalder.io>", "Conor Patrick <conor@solokeys.com>"]
edition = "2021"
rust-version = "1.62.0"
[lib]
name = "runner"
[[bin]]
name = "runner"
path = "src/main.rs"
[dependencies]
lpc55-rtic = "0.5.7"
cortex-m-semihosting = {version = "0.3.5", optional = true }
delog = "0.1.1"
heapless = "0.6"
interchange = "0.2.2"
nb = "1"
rtt-target = { version = "0.3", optional = true, features = ["cortex-m"] }
usb-device = "0.2.3"
# usbd-hid = { version = "0.4.5", optional = true }
usbd-serial = "0.1.0"
admin-app = { version = "0.1", optional = true }
apdu-dispatch = "0.1.1"
ctaphid-dispatch = "0.1.1"
ctap-types = "0.1"
fido-authenticator = { version = "0.1.1", features = ["dispatch"], optional = true }
oath-authenticator = { version = "0.1", features = ["apdu-dispatch"], optional = true }
piv-authenticator = { git = "https://github.com/solokeys/piv-authenticator", features = ["apdu-dispatch"], optional = true }
trussed = "0.1"
# board
board = { path = "board" }
# components
ndef-app = { path = "../../components/ndef-app", optional = true }
# NB: when using this app, need to raise trussed/clients-5
provisioner-app = { path = "../../components/provisioner-app", optional = true }
fm11nc08 = {path = "../../components/fm11nc08"}
nfc-device = {path = "../../components/nfc-device"}
usbd-ccid = "0.1.0"
usbd-ctaphid = "0.1.0"
# panic
panic-halt = "0.2.0"
# panic-semihosting = "0.5.6"
# storage
littlefs2 = { version = "0.3.2", features = ["c-stubs"] }
[features]
# ndef-app is an annoyance on some mobile platforms
default = ["admin-app", "fido-authenticator", "ndef-app", "oath-authenticator", "trussed/clients-4"]
# develop = ["no-encrypted-storage", "no-buttons", "no-reset-time-window"]
# develop = ["no-encrypted-storage", "no-reset-time-window"]
# develop = ["no-encrypted-storage", "no-buttons"]
develop = ["no-encrypted-storage", "trussed/clients-4"]
develop-piv = ["develop", "piv-authenticator", "trussed/clients-5"]
develop-provisioner = ["develop", "provisioner-app", "trussed/clients-5"]
# Do not use encryption for the filesystem
no-encrypted-storage = []
# Check for undefined flash and write to determined value (for prince provisioning)
write-undefined-flash = []
# Use to auto-succeed every user presence check
no-buttons = ["board/no-buttons"]
# Allow resetting FIDO authenticator (and possibly others) even after 10s uptime
no-reset-time-window = ["fido-authenticator/disable-reset-time-window"]
# Format filesystem anyway
format-filesystem = []
# TODO: get rid of these (depends on moving "initialize_basic" &friends into `board`
board-lpcxpresso55 = ["board/lpcxpresso55"]
board-okdoe1 = ["board/okdoe1", "usbfs-peripheral"]
board-solo2 = ["board/solo2"]
log-rtt = ["rtt-target"]
log-semihosting = ["cortex-m-semihosting"]
log-serial = []
highspeed = []
usbfs-peripheral = []
serial = []
# Reconfigure the NFC chip in any case
reconfigure-nfc = []
no-clock-controller = ["board/no-clock-controller"]
enable-clock-controller-signal-pin = ["board/enable-clock-controller-signal-pin"]
# very-twitchy-mouse = ["usbd-hid"]
log-all = []
log-none = []
log-info = []
log-debug = []
log-warn = []
log-error = []
# patch dependencies like so to test local changes
[profile.release]
codegen-units = 1
lto = true
opt-level = "z"
incremental = false
debug = true
# Speed up crypto packages
[profile.release.package.salty]
opt-level = 2
# TODO: see which if any settings are best for p256-cortex-m4
# [profile.release.package.nisty]
# opt-level = 2