Commit Graph
34 Commits
Author SHA1 Message Date
Szczepan Zalega a053bbc669 Do not verify version for the hacker edition 2019-08-24 10:26:44 +02:00
Szczepan Zalega 3621f2ed4f Add missed doc update in the linker script 2019-08-24 10:26:41 +02:00
Szczepan Zalega 3c7bf5a264 Remove obsolete debug messages 2019-08-24 10:26:38 +02:00
Szczepan Zalega e3ff136196 Remove obsolete region for the app static firmware version address 2019-08-24 10:17:59 +02:00
Szczepan Zalega 74181406fe Rename last_addr->last_written_app_address 2019-08-24 10:17:55 +02:00
Szczepan Zalega 987b04523d Correct memory layout 2019-08-24 10:17:52 +02:00
Szczepan Zalega 8023347c8e Makefile: add debug info 2019-08-24 10:17:49 +02:00
Szczepan Zalega 9dae7b2e7c Makefile: fix flashboot recipe 2019-08-24 10:17:46 +02:00
Szczepan Zalega cb13fb65de Store version in the bootloader. Debug code. 2019-08-24 10:17:43 +02:00
Szczepan Zalega 7fddd58704 Bootloader: get uploaded application version from the 4 last bytes of its firmware 2019-08-24 10:17:40 +02:00
Szczepan Zalega 3a1ea275cc Move _extra* debug linker scripts content to main 2019-08-24 10:17:37 +02:00
Szczepan Zalega 22293f82f2 Rename flash2 -> flash_cfg 2019-08-24 10:17:34 +02:00
Szczepan Zalega 40c3c13b07 Correct flash2 region. Rename _bconfig_start->bootloader_configuration. 2019-08-24 10:17:30 +02:00
Szczepan Zalega 7042b0b656 Move app version to the end of the firmware code, without specific address. Move bootloader config 8B forward. 2019-08-24 10:17:27 +02:00
Szczepan Zalega ea803aab95 Make the flash memory structure depend on the APPLICATION_START_PAGE macro 2019-08-24 10:17:24 +02:00
Szczepan Zalega 1100b159a9 Refactor. Add debug code. Use %u for unsigned. Use volatile pointer instead of memory storage. 2019-08-24 10:17:21 +02:00
Szczepan Zalega 9ddba5dfc3 Add extra linker script changes 2019-08-24 10:17:18 +02:00
Szczepan Zalega 35e52f4968 Initial modification to move bootloader data after the application 2019-08-24 10:17:15 +02:00
Szczepan Zalega efddd2f3a8 Use the same public bootloader key as before 2019-08-24 10:17:12 +02:00
Szczepan Zalega 17ceb7b9e8 Make the public key generic 2019-08-24 10:17:09 +02:00
Szczepan Zalega 188a34d1da Add missing Makefile entry. Rename pubkey file. 2019-08-24 10:17:05 +02:00
Szczepan Zalega 9248c6462c Add missing is_newer and pubkey 2019-08-24 10:17:02 +02:00
Szczepan Zalega 118e129152 Set firmware version in the flash 2019-08-24 10:16:59 +02:00
Szczepan Zalega beb5a5892c Add linker scripts 2019-08-24 10:16:56 +02:00
Szczepan Zalega d618081dd0 Add version code 2019-08-24 10:16:53 +02:00
Szczepan Zalega e4e0a3a84e Add code responsible for firmware version verification in the bootloader 2019-08-24 10:16:50 +02:00
Szczepan Zalega be37ed46f7 Add instruction for manual flashing of the Nucleo board
Signed-off-by: Szczepan Zalega <szczepan@nitrokey.com>
2019-08-05 16:00:30 +02:00
Szczepan Zalega 420d052ac9 Describe running Solo on the Nucleo32 board
Signed-off-by: Szczepan Zalega <szczepan@nitrokey.com>
2019-08-05 16:00:27 +02:00
Szczepan Zalega 449faea7d3 Fix buffer overread in ctap_encode_der_sig()
Take into account leading zeroes in the size to copy, for both R and S
ingredients of the signature.
Issue was occuring only in cases, when there was a leading zero for the
S part.

Refactor ctap_encode_der_sig():
- add in_ and out_ prefixes to the function arguments
- mark pointers const
- clear out buffer

Tested via simulated device on:
- Fedora 29
- gcc (GCC) 8.2.1 20181215 (Red Hat 8.2.1-6)
- libasan 8.2.1 / 6.fc29
(same machine, as in the related issue description)
by running ctap_test() Python test in a loop for 20 minutes (dev's
counter 400k+). Earlier issue was occuring in first minutes.

Tested on Nucleo32 board, by running the ctap_test() 20 times.

Fixes https://github.com/solokeys/solo/issues/94

Signed-off-by: Szczepan Zalega <szczepan@nitrokey.com>
2019-02-02 18:33:10 +01:00
Szczepan Zalega 5806b25fd1 Prevent Solo's debug serial port use by ModemManager
This Udev rule marks the device to be ignored by the MM.
Otherwise using the CDC ACM serial port interface will not be
possible, while its service is running.

Tested on Fedora 29, with ModemManager enabled, using:
$ solotool.py monitor /dev/solokey-serial
Fixes https://github.com/solokeys/solo/issues/62

As provided by @yparitcher in:
https://github.com/solokeys/solo/pull/60#issuecomment-452428432

Signed-off-by: Szczepan Zalega <szczepan@nitrokey.com>
2019-01-09 11:41:23 +01:00
Szczepan Zalega 4110434e33 Add Udev symlink for Solo's serial port
Signed-off-by: Szczepan Zalega <szczepan@nitrokey.com>
2019-01-09 11:41:20 +01:00
Szczepan Zalega 8c103be5c0 Udev rules related docs update
Signed-off-by: Szczepan Zalega <szczepan@nitrokey.com>
2019-01-09 11:41:16 +01:00
Szczepan Zalega f38b29256b Describe operations done in the bootloader
Signed-off-by: Szczepan Zalega <szczepan@nitrokey.com>
2019-01-08 19:31:33 +01:00
Szczepan Zalega ca27b26c6b Avoid 2nd start of the simulation server
udp_server() is being called second time during the simulated run, which
fails due to trying to claim already used port. This patch adds cache to
the udp_server() result.

Signed-off-by: Szczepan Zalega <szczepan@nitrokey.com>
2019-01-07 18:47:01 +01:00