Commit Graph

1284 Commits

Author SHA1 Message Date
Julien Cretin
74c6c3da74 Merge branch 'develop' into check_user_presence 2022-03-03 17:50:43 +01:00
Julien Cretin
c401216544 Merge pull request #428 from ia0/env_feedback
Make user feedback fields private
2022-03-03 17:49:37 +01:00
Julien Cretin
c4a27bf935 Add Storage and UpgradeStorage to Env 2022-03-03 17:37:28 +01:00
Julien Cretin
d6e4c66562 Move check_user_presence to env::tock 2022-03-03 17:37:10 +01:00
Julien Cretin
5c59e809c2 Make user feedback fields private 2022-03-03 17:34:49 +01:00
Julien Cretin
7d39d4e2e8 Create a tock environment 2022-03-03 17:32:48 +01:00
Julien Cretin
6b8523ba93 Add documentation 2022-03-03 17:32:48 +01:00
Julien Cretin
18faf9f38f Introduce a trait to abstract the CTAP environment
The end goal is to provide users with:
- the Env trait that they should implement
- the Ctap struct that they can use
2022-03-03 17:32:48 +01:00
Julien Cretin
8a2e99960f Reduce maximum fuzz input size
The fuzzer timed out (60s) on a 17k input. On my machine it runs for 12s and 7s
after truncation to 10k.
2022-02-28 12:39:08 +01:00
Julien Cretin
d47ca7fa54 Add documentation 2022-01-26 11:05:02 +01:00
Julien Cretin
b59df7001f Remove the software-specific Decrypt16BytesBlock and Encrypt16BytesBlock traits
They assume blocks are encrypted/decrypted one at a time. To avoid one syscall
per block, it is preferable to encrypt/decrypt the data at once.

Change-Id: I795c8f5b7901a1b55fa3b06fa45fe57ab19d06ea
2022-01-26 11:05:02 +01:00
kaczmarczyck
98c9191679 HMAC: only 32 byte keys (#424)
* only support HMAC with 32 byte keys

* includes HMAC in the trait to be generic

* re-added HAMC test
2022-01-18 13:14:11 +01:00
Julien Cretin
ce08f82d68 Restrict Sha256 to be used sequentially
Also remove useless HashBlockSize64Bytes bound.
2022-01-17 15:36:51 +01:00
Julien Cretin
ca2ea2007e Add track_caller for flex_unwrap in libtock-drivers 2022-01-07 17:00:07 +01:00
DavidKorczynski
83b2a74ae6 cifuzz: add integration (#418)
Signed-off-by: David Korczynski <david@adalogics.com>

Co-authored-by: Jean-Michel Picod <jmichel@google.com>
2021-12-02 14:21:56 +01:00
Julien Cretin
37e9d6d64d Do not set the stack size outside prod (#415)
* Add support for multiple modules

* Add macos fix

* Update setup-submodules script
2021-11-30 18:11:42 +01:00
kaczmarczyck
522e6079e3 Forward desktop test fixes (#419)
* fixes clippy warnings for compilers until 2021-11-25

* fixes run_desktop_tests

* removes page_size
2021-11-30 11:07:17 +01:00
kaczmarczyck
8f96df53f2 Source-based coverage (#416)
* tweaks for grcov

* github action instead of run command

* branch name

* no branch name anymore
2021-11-23 20:12:32 +01:00
kaczmarczyck
402b708ab9 fix broken link (#412) 2021-11-19 13:10:16 +01:00
kaczmarczyck
5cf988c7fa allows silent certificate checks (#410) 2021-11-18 17:09:40 +01:00
kaczmarczyck
ae4e32ba4a New documentation for develop (#408)
* documentation refactoring

* documentation fixes

* distilled instructions for MDK

* remove deploy TODO after creating PR

* fixes typos
2021-11-18 16:57:58 +01:00
kaczmarczyck
40e912f8ac fixes the serde version (#407)
* fixes the serde version

* explicitly sets the version in the main Cargo.toml
2021-11-15 13:09:40 +01:00
kaczmarczyck
32da73772f Upgrade tooling (#400)
* upgrade tooling

* adds condition on nrfjprog
2021-11-04 16:31:37 +01:00
Julien Cretin
33e0d6bb74 Use POSIX sed (#403) 2021-11-04 12:13:16 +01:00
kaczmarczyck
330fa12d1a erase unused flash pages so hashes matches (#392)
* erase unused flash pages so hashes matches

* always pad the kernel, adds docstrings

* added type hints

* fix typos
2021-11-01 10:34:13 +01:00
Liam Murphy
44988695ab Report error when no devices found to configure. (#398) 2021-11-01 09:51:55 +01:00
Julien Cretin
4eb7f02985 Remove useless retry-loop
This was needed in the past although we would never enter the loop. But call
unwrap directly would fail.
2021-10-08 08:39:29 +02:00
kaczmarczyck
9b780ef7d7 New boards with layouts for dual partition setups (#387)
* upgradable boards

* updates the install manual for proper SSL config

* storage locations from build script

* deploy script improvements

* UTC time
2021-10-06 18:33:40 +02:00
Julien Cretin
d085d54878 Update test 2021-10-04 12:24:15 +02:00
Julien Cretin
af3bee64a5 Introduce window size to fix hidden entries 2021-10-04 12:24:15 +02:00
Julien Cretin
9dc5286633 Revert "Continue compacting until content fits window during compaction"
This reverts commit 67fa8bee0b.
2021-10-04 12:24:15 +02:00
Julien Cretin
daa16d948f Add test 2021-10-04 12:24:15 +02:00
Julien Cretin
67fa8bee0b Continue compacting until content fits window during compaction
Also increase the virtual window size.
2021-09-27 13:59:29 +02:00
Julien Cretin
a3965eac2d Also debug the model besides the storage 2021-09-27 13:59:29 +02:00
Julien Cretin
fbca34b1d1 Add test 2021-09-27 13:59:29 +02:00
kaczmarczyck
0f88d6502f Storage panic from oss-fuzz (#385)
* fixes the fuzzer flaw and adds tests for it

* out of bounds instead of empty okay
2021-09-24 17:46:00 +02:00
kaczmarczyck
930a44c105 Fix CBOR fuzzing timeout (#384)
* early return for map and array comparison

* leaner ordering assignment
2021-09-22 10:33:08 +02:00
kaczmarczyck
1adde220c4 Upgrade commands (#381)
* upgrade commands

* precise metadata length

* const METADATA_LEN for test
2021-09-17 14:22:21 +02:00
Fabian Kaczmarczyck
31df2ca45e use f-strings and test with 3.9 2021-09-17 14:12:58 +02:00
Julien Cretin
18ba4368e4 Revert the MPU hack by splitting the store in 2 2021-09-16 10:30:50 +02:00
kaczmarczyck
596b47886c Upgrade signing key generation (#379)
* adds the upgrade signing key generation and the partition offset

* use openssl in build.rs instead
2021-09-15 21:25:19 +02:00
Julien Cretin
7a975acf33 Hack for Nordic in process.rs 2021-09-13 18:50:13 +02:00
Julien Cretin
2d5fdd1034 Configure the number of pages in the board
This permits to have portable apps.
2021-09-13 18:50:13 +02:00
Jean-Michel Picod
c1f2551d0d Bump Tock kernel version (#374)
* Bump Tock kernel version

* Update boards to new kernel

* Update patches to new kernel

* Update PR template

* Bump libtock-rs

* Use new layout from libtock-rs

* Fix clippy warnings due to updated toolchain

* Fix new toolchain file format

* Bump elf2tab to v0.7.0

* Fix worklow and setup.sh script to use the TOML rust-toolchain file

* New libtock-rs style of declaring the stack.

* Fix padding in layout file.

The layout from libtock-rs generates invalid flash padding.
The value is 32-bit and therefore setting padding to 0xff yields
0xff000000 instead of 0xffffffff that we want.

* adds tock patch for app break hard fault

* sets in deploy, removed patch 04-mpu-fix

* fixed the if deploy

* fixes indentation

* updates board names in install.md

* fix docs and deploy style

Co-authored-by: Fabian Kaczmarczyck <kaczmarczyck@google.com>
Co-authored-by: kaczmarczyck <43844792+kaczmarczyck@users.noreply.github.com>
2021-09-10 08:32:34 +02:00
David Drysdale
c2b3aeca88 cbor: don't allow infinite nesting by default
Change the read()/write() methods to use a nesting limit of 127
internally, to avoid the possibility of heavily nested inputs exhausting
the stack.

Library users that still want to skip nesting checks can still get at
this functionality by using `{read,write}_nested(..., None)`.
2021-09-09 07:03:27 +02:00
Julien Cretin
c6af7c0a2d Make sure the end offset doesn't overflow
We used to only check that the length was not too big but didn't check that the
starting offset wasn't too big. We want the end offset to not overflow.
2021-08-30 11:52:02 +02:00
Julien Cretin
7418196814 Specificy encoding when opening rust-toolchain file
This probably is just ASCII.
2021-08-30 11:41:14 +02:00
Julien Cretin
cbbb4b3e08 Reduce the store fuzzer input length 2021-08-30 11:41:14 +02:00
Julien Cretin
ed28941a6d Decrease maximum input size for store fuzzing
We currently have around 12% inputs timing out (was around 27% before the 100k
limit).
2021-08-13 22:15:50 +02:00
Julien Cretin
a80ff4279c Install Rust tools with stable compiler
We only need the frozen nightly for Tock (and maybe the app).
2021-08-13 15:31:10 +02:00