Commit graph

239 commits

Author SHA1 Message Date
bunnie
81f823ff34 migrate u2f to the "vault" app
The vault app is the beginning of a multi-purpose authentication vault.
It will feature:

1. FIDO2 authentication
2. TOTP authenticators
3. Password storage to PDDB with auto-typing via keyboard HID

This is the first step on a very very long journey.
2022-05-28 01:17:54 +08:00
bunnie
a8f761722a start to lay in u2f messaging infrastructure 2022-05-26 17:58:22 +08:00
bunnie
ca275308ef Merge branch 'usbdev' into main 2022-05-17 02:31:10 +08:00
bunnie
346caad315 Add the usb-device-xous driver to the default hardware config
Also includes the USB test commands in shellchat.

This is different from the usb-test crate, in that it's fully
integrated into Xous. usb-test is just for quick-testing the USB
driver, in the absence of most of the rest of Xous.
2022-05-17 00:46:52 +08:00
bunnie
867b0efdf2 hosted mode breaks under windows due to missing .exe on some configs
I don't know why it doesn't break under a default config, but if
xous-core is cloned to a directory that doesn't match the repo
name this breaks. This patch tries to fix it for that case.
2022-05-10 17:37:41 +08:00
bunnie
fd2aa438c0 still struggling a bit to get basic USB connectivity test to pass 2022-05-05 20:51:48 +08:00
bunnie
796b7292a6 build for hardware by default 2022-05-03 01:13:11 +08:00
bunnie
74dafa4788 augment the xtask to deal with more usb-dev scenarios 2022-04-27 02:41:38 +08:00
bunnie
9768503087 Merge branch 'main' into usbdev 2022-04-25 18:44:37 +08:00
Sean Cross
fa98b865df xtask: add --no-timestamp option
Add a --no-timestamp build option to skip rebuilding `ticktimer`.

Signed-off-by: Sean Cross <sean@xobs.io>
2022-04-25 17:41:35 +08:00
bunnie
188a18976c clean up merge conflicts 2022-04-21 17:57:42 +08:00
bunnie
ec34c4ba91 Merge remote-tracking branch 'origin/main' into usbdev 2022-03-31 04:37:19 +08:00
Sean Cross
e6209302e7 xtask: use assets api for determining URL
Now that we have full JSON parsing inside xtask, actually parse the
assets API endpoint to determine the correct URL.

Signed-off-by: Sean Cross <sean@xobs.io>
2022-03-29 21:47:32 +08:00
Sean Cross
35857ab543 xtask: replace curl with ureq
The `ureq` package is much smaller, and may be more reliable on Linux.

Signed-off-by: Sean Cross <sean@xobs.io>
2022-03-29 20:47:37 +08:00
bunnie
d736d54cee make pddbtest not part of the hw build but part of hosted mode by default 2022-03-29 16:49:18 +08:00
Sean Cross
a70aee7bad loader: move loader into main workspace
Add the loader into the main workspace, removing it from its own
sub-workspace. We can do this now that we can specify the linker script
in `build.rs`.

This improves IDE support, and should shrink disk storage requirements.

Signed-off-by: Sean Cross <sean@xobs.io>
2022-03-22 02:09:18 +08:00
Sean Cross
e96a7df267 xtask: remove renode-bypass for renode-image
The `renode-bypass` flag is used for development in order to speed up
certain features. This creates invalid keys and skips many checks, which
causes problems in the main image.

Remove this flag in order to fix the Renode image.

Signed-off-by: Sean Cross <sean@xobs.io>
2022-03-20 10:37:17 +08:00
Gianguido Sorà
ae2762e7f5 fix: on non-TTY terminals if forced, proceed with toolchain download and install
This is a corner case in Github CI.
2022-03-18 17:17:34 +01:00
Gianguido Sorà
ccafeb21a3 if not tty but force install is true, keep going 2022-03-18 17:05:51 +01:00
Sean Cross
65d2ec64db xtask: add --force parameter to install-toolkit
This parameter will remove the existing toolchain and target
directories, forcing a reinstall.

Signed-off-by: Sean Cross <sean@xobs.io>
2022-03-18 23:35:42 +08:00
Gianguido Sorà
cbd412a461 compile for hosted and real hardware on main push 2022-03-18 15:51:58 +01:00
Sean Cross
8920e35e08 xtask: run rustfmt on package
Signed-off-by: Sean Cross <sean@xobs.io>
2022-03-18 12:10:48 +08:00
bunnie
fbf90efe0e add a broader CI target for hosted mode
this will help prevent bugs slipping through where I forget to update
hosted mode stubs when tweaking hardware APIs
2022-03-18 03:21:46 +08:00
bunnie
6c59b32ae6 fix loader for minimal-build hardware 2022-03-14 01:18:36 +08:00
bunnie
34c9d83cba add a hack to change the locale for tts builds
unfortunately it greatly increases build times. need to think about
this but at least it prevents me from checking in a locale file that
breaks all the other dev's builds
2022-03-11 19:04:11 +08:00
bunnie
b246a369d4 lay in another layer of tts functionality
now shellchat can talk, and password entries are a thing.

next up: debug oom issues in STT when we start doing really big
strings.
2022-03-11 02:37:48 +08:00
bunnie
c44f794dfe baseline before moving onto the next stage 2022-03-11 00:03:31 +08:00
bunnie
24e295e059 right...don't check that version of xtask in. 2022-03-09 03:51:28 +08:00
bunnie
446317bdd4 add speech rate library call and default setting
350 wpm was the requested default!
2022-03-09 03:48:12 +08:00
bunnie
1227ee06ab final integration with on-line binary download of TTS exec 2022-03-09 00:25:30 +08:00
bunnie
19f09b9ed3 suppress warning messages if no apps are selected 2022-03-08 17:39:57 +08:00
bunnie
1d6fbbe5bb add the basic text to speech infrastructure.
also creates a method for isolating incompatibly licensed repos
2022-03-08 03:08:12 +08:00
bunnie
3325a96fd4 Merge branch 'main' into tts 2022-03-08 00:24:38 +08:00
bunnie
eb7d35e484 Merge branch 'ffi' into main
this add some routines and test stubs that are helpful for debugging
C FFI integrations. In particular it provides some harnessing that adapts
a minimal selection of libc functions by copypasta of various bsd/mit
licensed libc implementations. It also provides a cheesy malloc using
a Rust Vec...only suitable for simple, single-threaded work, but enough
to unlock a reasonable range of middleware.
2022-03-08 00:20:50 +08:00
bunnie
6d697691db add doc string for ffi-test 2022-03-08 00:19:27 +08:00
bunnie
f80d3f089d stash 2022-03-08 00:01:48 +08:00
bunnie
0a11350771
leave a bread crumb for image creation debugging
because I can never remember how to flip that debug environment variable on windows
2022-03-07 15:04:39 +08:00
bunnie
199ce642b3 ok this is the version that works, let's start from here. 2022-03-07 14:02:19 +08:00
bunnie
54e491840d stash to work on an aes api bug 2022-03-07 13:17:58 +08:00
bunnie
4cfd835c0c allow for explicit version pinning of crates in package specifiers for an image
This works around the issue of a dependendent crate e.g. pulling in a version
of sha2 that is an incompatible API with the one provided by the hardware
accelerator. Cargo needs to know for which sha2 crate to build, and
the current "sha2" specifier is too ambiguous.

This is done by specifying it as "sha2:0.9.8", but, this now breaks
the image creation because the actual artifact built is still a filename
of `sha2`, not `sha2:0.9.8`. This patch both adds the fully specified
version to the sha2 crate and also strips out the trailing version
number without breaking e.g. Windows builds which have a ':' built
into every path (so you can't just do a stupid split(':') to strip
off the version number).
2022-03-06 22:24:58 +08:00
bunnie
526bc959af add some facilities for testing net in libstd 2022-03-02 20:43:01 +08:00
bunnie
e7efb14bdf add a bypass for Renode to skip the signature check
- bypass causes warnings to be emitted in compilation
- stark visual change on boot screen ("jail bars" instead of gray on bottom half)
- root keys are locked out permanently from readout
- devboot canary set
2022-03-02 19:51:16 +08:00
bunnie
396b9e134a add app generalization to xtask renode commands 2022-03-02 00:00:33 +08:00
bunnie
a9a5e5c9a9 integrate app name in sec notes patch, make app name update retriggered on change 2022-02-24 19:44:24 +08:00
Gianguido Sorà
b47c7b2793 Add current app name in security notes
This commit adds the current's app name to the security bar at the top
of the screen, just beneath the status bar.
I had to add a new generated function to map app index back to its name,
along with an enum to signal whether or not the id is valid.

Signed-off-by: Gianguido Sorà <me@gsora.xyz>
2022-02-24 19:29:45 +08:00
bunnie
122221227b fix some bitrot on usb burning routines, add windows support 2022-02-12 23:18:27 +08:00
bunnie
b1859b57ae fix hw_pkgs -> pkgs thanks @gsora 2022-02-12 00:56:28 +08:00
bunnie
af52f4ae3c add apps to debug hosted mode flow 2022-02-12 00:42:19 +08:00
bunnie
4abb6548cd add a feature to turn off timestamps
specifying "no-timestamp" causes the build to be reproducible
on the same machine. of course, introducing the timestamp makes
the build no longer reproducible but it's very helpful for debugging.
2022-02-07 17:38:07 +08:00
bunnie
830d875911 slot in the ball demo for renode tests 2022-02-04 17:10:51 +08:00