44 Commits

Author SHA1 Message Date
kaczmarczyck
c160b034ef Latest compiler and package versions (#663)
* Move to latest compiler and package versions

We also add cargo audit to the desktop tests.

* Install cargo audit differently in workflow

* Removes leftover nightly references

* Removes install check from deploy.py

The toolchain should be correctly setup after setup.sh.

* Removes rust component install from workflow

Now that the nightly version is fixed, this should work ootb.

* Moves cargo audit install to setup.sh

* Updates cargo bloat workflow to default features
2023-11-09 15:00:37 +01:00
kaczmarczyck
e5ba9db644 Reworks workflows into script (#661)
* Reworks some workflows to run a script instead

Advantages are:
- Only one set of tests needs maintenance.
- Local results match workflows, no surprises.
- Reduced reliance on GitHub actions.

Fixes #50, #168, #169, #171, #507

* Adds macos to the test matrix
2023-11-08 17:24:15 +01:00
kaczmarczyck
f25cdd6acc Tock V2 port - rebased and updated (#620)
* Changes from #580

* fixes USB cancel panic

* style fixes

* Update src/env/tock/storage.rs

Co-authored-by: Zach Halvorsen <zhalvorsen@google.com>

---------

Co-authored-by: Zach Halvorsen <zhalvorsen@google.com>
2023-05-05 09:55:16 +02:00
kaczmarczyck
645c1ba3a7 Vendor Command + HID fix (#618)
* Fixes CBOR message passing through Vendor HID

I did all my tests on hardware with this fix, and now I'm surprised that
it didn't end up on develop. So should have been part of a former PR.

* vendor channel test

* forward vendor HID correctly for upgrades

* fixes cargo fmt

* removes script and updates documentation to match
2023-04-26 14:59:22 +02:00
kaczmarczyck
be42b47caf Replaces Rng256 with new Rng API (#612)
* Replaces the Rng256 with RngCore from rand_core

The old trait was designed with our software crypto in mind. We should
use a more standard API going forward.

- Removes libraries/rng256/
- Ports libraries/crypto/ to rand_core
- Moves the used RNG trait to api/

* Use StdRng directy in TestEnv
2023-04-11 10:23:38 +02:00
kaczmarczyck
c168141b60 Adds a trait for crypto, porting EC first (#606)
* Adds a trait for crypto, porting EC first

* Moves crypto implementation next to its trait

* Renames constants and types
2023-04-04 13:54:41 +02:00
kaczmarczyck
ca65902a8f CTAP library move (#602)
* Moves all CTAP logic into its own library

* workflows fix test

* more coveralls workflow tests
2023-03-07 15:56:46 +01:00
kaczmarczyck
03031e6970 Maintenance PR for clippy, license and authors (#601)
* Maintenance PR for clippy, license and authors

* remove author from libraries
2023-03-06 12:45:01 +01:00
hcyang
9bb1a2f7ac Fix ctap1 clippy warning (#517)
And improve clippy workflows.
2022-07-22 13:23:29 +08:00
Julien Cretin
67ef705eb4 Add ed25519 to local and github tests 2022-05-20 10:31:52 +02:00
kaczmarczyck
4782d7e186 Separate RNG library (#470)
* seperates the RNG library

* fixes crypto tests

* adds rng256 workflow

* fixes formatting
2022-04-28 11:36:43 +02:00
kaczmarczyck
397c4165ca removes unit tests for crypto library from script (#467) 2022-04-26 16:00:06 +02:00
kaczmarczyck
0b564d4a8a Vendor HID (#446)
* introduces vendor HID

* updates workflows with new feature

* feature renaming and variant covering
2022-03-15 14:41:48 +01:00
kaczmarczyck
187111f9c5 Bootloader infrastructure and main logic (#404)
* adds bootloader code without a SHA256 implementation

* small fixes and typos
2022-03-03 22:01:42 +01:00
kaczmarczyck
ce0ee6c054 Kernel minimization (#334)
* adds patch to remove unused kernel components

* new boards, rebase patches to match

* rename boards for deployment
2021-06-28 14:55:20 +02:00
Fabian Kaczmarczyck
dbce426e9f removes std from CBOR tests 2021-06-18 19:00:52 +02:00
Fabian Kaczmarczyck
9270afbc21 remove derive_debug feature 2021-02-02 06:45:04 +01:00
Fabian Kaczmarczyck
de360a6cb6 removes all occurences of CTAP 2.1 flags from workflows 2021-01-07 18:40:37 +01:00
Julien Cretin
4253854cf1 Remove ram_storage feature
We don't need to build a production key without persistent storage. Tests and
fuzzing continue to use the std feature to use the RAM implementation (that does
sanity checks).
2020-12-10 13:06:05 +01:00
Jean-Michel Picod
1d698fcc4c Merge branch 'master' into nfc-example-app 2020-11-13 16:08:01 +01:00
Julien Cretin
d3ee698d69 Build store fuzzing in run_desktop_tests too 2020-11-11 12:56:36 +01:00
Mirna
f48046d1e4 Added checks using NFC feature flag 2020-11-05 10:39:51 +02:00
Mirna
c232f2344c Resolve comments 2020-11-04 20:05:32 +02:00
Mirna
aa47d1c278 Supply NFC feature flag to desktop checks 2020-11-04 17:49:28 +02:00
Guillaume Endignoux
63432000db Allow clippy::new_without_default. 2020-09-29 11:19:41 +02:00
Guillaume Endignoux
ca288d2695 Add Clippy to run_desktop_tests.sh script. 2020-09-29 11:06:59 +02:00
Julien Cretin
a203ff13df Create new store and add storage API 2020-09-24 14:24:18 +02:00
Guillaume Endignoux
85a34ad085 Migrate import statements and macros to Rust 2018. 2020-09-24 11:28:24 +02:00
Guillaume Endignoux
31a8996ea5 Add tests for heapviz tool. 2020-06-26 11:05:45 +02:00
Guillaume Endignoux
e457efc4d6 Add a heap visualization tool. 2020-06-25 15:46:08 +02:00
Fabian Kaczmarczyck
8bbf42623f adds cargo checks and tests to workflows and locally 2020-04-29 09:53:44 +02:00
Fabian Kaczmarczyck
d9c4c729e8 adds a feature flag for CTAP2.1, addresses comments 2020-04-28 16:04:09 +02:00
Guillaume Endignoux
4b9486d0bd Sync with upstream Tock to have reproducible builds. 2020-04-08 15:45:46 +02:00
Guillaume Endignoux
8f4d4c1210 Add a --verbose parameter to print all USB packets at the OpenSK level. 2020-03-13 15:59:51 +01:00
Guillaume Endignoux
6f8b8e7a64 Sync nrf52840_mdk_dfu with upstream and add DFU-based boards to run_desktop_tests.sh 2020-03-12 19:08:05 +01:00
Guillaume Endignoux
3deca37699 Add SHA-256 sum computation to CI. 2020-03-12 18:53:16 +01:00
Guillaume Endignoux
6d323f3c5a Apply make suggestions. 2020-03-05 12:03:35 +01:00
Guillaume Endignoux
68ec755936 Add tests that supported boards build properly. 2020-03-05 11:34:45 +01:00
Julien Cretin
e52a671810 Support storing in RAM instead of flash
This permits to run without persistent storage. The benefit is that the board
doesn't implement a the syscall API in Tock. The disadvantage is that rebooting
the key will reset the storage.
2020-03-04 16:24:06 +01:00
Guillaume Endignoux
9f6207f5a5 Add more cargo check combinations, to include the panic_console and debug_allocations features. 2020-03-02 16:16:55 +01:00
Jean-Michel Picod
5bd7863c4d Fix run_desktop_tests.sh script
The script begins with `set -eux` and therefore will fail when using an
undefined variable. This is the case with `TRAVIS_OS_NAME` outside of
Travis.
2020-02-06 16:34:34 +01:00
Jean-Michel Picod
06e5f1dbf1 Run unit tests also outside of travis 2020-02-06 15:31:11 +01:00
Jean-Michel Picod
95a8fe7d3f Enable Travis on OSX
Only do the build/link check. The unit tests are only ran on linux.
2020-02-06 15:13:21 +01:00
Jean-Michel Picod
f91d2fd3db Initial commit 2020-01-30 11:47:29 +01:00