Commit graph

4 commits

Author SHA1 Message Date
Aidan MacDonald
1ad60c3344 x1000-installer: remove redundant overflow check
This overflow is impossible to trigger due to the simple
relationship between binary and hexadecimal numbers.

Change-Id: Ie8243129967abb935a77152a808765318052c979
2021-11-28 15:46:06 +00:00
Aidan MacDonald
c086a3386f x1000-installer: map filenames accept only valid characters
Instead of using isgraph(), check for legal FAT32 characters
excluding spaces (which are used as field separators).

Change-Id: I291f0acb5f24c558099c237d913f4f35ae06b834
2021-11-28 15:46:06 +00:00
Aidan MacDonald
4879891da3 x1000-installer: xf_stream_read_lines bugfixes
- Only treat EOF as newline if the line is non-empty to
  suppress a useless empty line after the end of a file.
- Deal with 0- and 1-byte line buffers safely.
- Remove whitespace stripping and comment handling which
  was left over from refactoring. Move it to xf_map_parse()
  where it belongs.

Change-Id: I9f05f4e18ca6dd011ca4cd231f0b5ea37c784778
2021-11-28 13:55:48 +00:00
Aidan MacDonald
06423cab58 x1000-installer: Initial commit of new framework
This is a new flash installer framework for the X1000 targets.

A bunch of this code is *UNTESTED* but there is an external test
harness which allows the library to be built and tested on a PC.

Once tests are written and the bugs are ironed out this framework
will replace the existing installer code.

New features:

- Update tarballs are MD5-checksummed to guarantee integrity.
- The flash map is no longer fixed -- updates are self describing and
  carry a map file which specifies the areas to update.
- Can take full or partial backups with checksums computed on the fly.
- Supports an additional verification mode which reads back data after
  writing to ensure the flash contents were not silently corrupted.

Change-Id: I29a89190c7ff566019f6a844ad0571f01fb7192f
2021-11-27 15:28:19 -05:00