* Find a local plantuml installation
Search the usual location for the jar file and use it instead.
It will work for debian/ubuntu, fedora and arch.
* Nicer layout for the dev-env readme
* Optional tools to make the docs
What's needed to generate the documentation.
How to run it.
* plantuml.jar removed
No need to keep a local copy of the jar-file.
doxygen.sh will find a version, if installed from the package manager.
* Added homebrew support for plantuml
The message hook validates that the c ommit message follows
the MySensors requirements.
More specifically, it checks that
- Commit message does not exceed a line length of 72 characters
- Commit title start with an uppercase character
- Commit title does not end with a period ('.')
Fixes#672
* Fix bug with toll-gate validation against master
* Change cppcheck to not attempt to validate headers directly and
to run on the entire codebase in the pipeline.
* Support running Arduino test and examples build in parallel
* Signing support with MAX_PAYLOAD>32
Support in the signing backends to handle configurations
where MAX_PAYLOAD is more than 32 bytes.
Fixes#748
* Support big message signatures
Support for signing messages larger than 32 bytes.
This is not fully testable with the current version of
the library but the change would add theoretical support
for signing any sized messages.
Fixes#749
* Have gw properly indicate whitelisting preferences
If the gateway hold a signing whitelist, inform all
nodes of this requirement and not just nodes that hold
whitelists themselves.
Fixes#806
* Harden security
The flag MY_SIGNING_GW_REQUEST_SIGNATURES_FROM_ALL
has been removed. Gateway will now request signatures
from everyone by default.
In addition to this, no nodes in the network will allow
clearing of signing/whitelisting preferences by OTA
commands by default.
If the old behaviour is needed (suitable for gradual
signing roll out and development purposes) a new flag,
MY_SIGNING_WEAK_SECURITY can be set.
Fixes#807
* Signing debug messages rewritten
All signing related debug has been rewritten to
better match other core debug printouts.
Also, backends are updated to have a smaller
implementation delta.
* Simplified signing option implemented
Enable by MY_SIGNING_SIMPLE_PASSWD. Signing, and signing requirements
will be enabled, as will encryption. Whitelisting is optional.
The value provided to MY_SIGNING_SIMPLE_PASSWD is used as HMAC and AES
key. Whitelists use the first 8 bytes of the password and the ninth
byte from the node ID as serial.
Password is required to be at least 8 characters wide. It is zero
padded if it is not long enough to cover the AES (16 bytes) and HMAC
(32 bytes) keys. It is not recommended to have a password shorter than
32 bytes, and there is no need for a password longer than 32 bytes.
* Add documentation section for signing debug
* Add nRF5 encryption to simple signing option
* Restructure MySigning documentation
* Minor fixes for Linux
* Pre-commit --cached vs. less-efficient iteration
* During pre-commit, leverage the git cppcheck --cached
form instead of iterating over the cached files and
invoking git cppcheck on each to eliminate
redundant static analysis
* Add support for Debian Linux on ARM
* Check prerequisite tool minimum versions
* Bootstrapping will now confirm that each
prerequisite tool satisfies the minimum version
required
* Using LIBRARY=[avr|gnu] git cppcheck ... will set the command
line library= to the value
* Using PLATFORM=[avr.xml|unix32.xml] git cppcheck ... will set
the command line platform= to the value
* Corrected logical if error when bootstapping a pristine repo
References #672
* The Arduino IDE considers the .tools directory
special and warns if it finds .tools the repo
* Added detection of .tools directory rename
* Corrected README errata
References #672