Commit Graph
39 Commits
Author SHA1 Message Date
Patrick Fallberg 2d5404de97 CppCheck cleanup (#975)
* Add support for inline cppcheck suppressions
* Clean out all known cppcheck issues
* Terminate toll-gate on found cppcheck issues
2017-11-07 20:37:36 +01:00
d00616 3ca9b56380 Fix uninitialized state handling (#939) 2017-10-01 09:41:36 +02:00
d00616 8412a3d360 New OTA debugging and logging feature (#913) (#913) 2017-09-18 20:58:44 +02:00
Olivier 0ed558f1d0 Make debug prints portable (#929) 2017-09-17 20:54:20 +02:00
Marcelo Aquino 28c4f3f19e Signing improvements package (#871)
* 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
2017-05-31 17:13:29 +02:00
d00616 4c0661e410 Fix NRF5 radio encryption (#868) 2017-05-29 22:25:43 +02:00
Olivier 818f887926 Polishing code (#803) 2017-04-02 20:03:59 +02:00
Olivier b132a8a81e Transport update (#722)
* Major transport rework

* Adjust signal report calculations

* Minor driver optimizations

* Implement sanity check in legacy RFM69 driver

* Additional RFM69 rework

* RFM95 encryption

* Polishing
2017-03-28 20:31:08 +02:00
Olivier 61a415c422 Code cleanup (#787)
* Cleanup Core

* SAMD adjustments
2017-03-15 19:05:17 +01:00
Olivier 61e6cecb3f Fix regression, adjust parameters, typos (#699) 2016-12-20 23:15:11 +01:00
Patrick Fallberg 8e1ef13804 Repo restyled using astyle (#683)
The rules are in .tools/astyle/config/style.cfg
and can also be reviewed at
https://www.mysensors.org/view/260#coding-guidelines-core-library
2016-12-07 23:44:29 +01:00
Olivier fdbb285dee Fix payload length verification (#680) 2016-12-06 15:45:27 +01:00
Henrik Ekblad 3570a507a6 Fix regression MY_NODE_ID (#669) 2016-12-03 15:57:23 +01:00
Olivier cca055fdae Refine routing table upgrade 2016-11-26 10:05:21 +01:00
tekka007 aff8deb8bf Merge development 2016-11-24 21:01:08 +01:00
Olivier 37b7885c7e Merge development & additional optimizations 2016-11-20 21:09:00 +01:00
tekka007 ba80a7e7b1 Core optimizations 2016-11-14 22:53:30 +01:00
Olivier 58e9d5864f Merge development 2016-11-14 12:34:31 +01:00
Olivier 92cbd2ac8f Allow node to enter loop() if transport is NOK 2016-11-14 12:24:27 +01:00
Embedded Innovation 9254b45150 Fix consistent yield usage & LED updates 2016-11-07 21:28:25 +01:00
Thomas Mørch 54776a4520 Added {} to control structures for clarity (#600) 2016-10-16 12:46:42 +02:00
Henrik Ekblad 7e32e0884b Merge pull request #605 from tekka007/CoreCosmetics
Code harmonization
2016-10-09 23:01:25 +02:00
Olivier 351845205c Code harmonization 2016-10-09 15:53:51 +02:00
Olivier fe3199ef6b Fix routing table dump (#604) 2016-10-09 12:18:15 +02:00
Henrik Ekblad 9d128b9850 Merge pull request #593 from tekka007/updateBuildMsg
build(): Remove obsolete parameter (sender)
2016-10-01 19:32:39 +02:00
Marcelo Aquino f6f4e6dde4 Fix compilation errors on RPi (#594) 2016-10-01 17:03:14 +02:00
tekka007 3c8ea78f45 Build(): Remove obsolete parameter 2016-10-01 15:50:59 +02:00
tekka007 a31eff112e Merge development branch 2016-10-01 14:04:33 +02:00
tekka007 f148a9940b Various MyTransport optimisations p2 2016-09-26 00:00:25 +02:00
tekka007 efc71165c7 Various MyTransport optimisations 2016-09-25 12:46:58 +02:00
Marcelo Aquino beb29aa0b1 Merge branch 'development' into dev-raspberrypi 2016-08-16 13:43:14 -03:00
Marcelo Aquino 6b756335d0 Refactor RaspberryPi port 2016-08-16 13:42:51 -03:00
Henrik Ekblad c85de960d4 Merge pull request #547 from tekka007/MyMessageUpdate
Set protocol version in MyMessage::clear()
2016-08-09 09:11:52 +02:00
tekka007 de896e1827 Set protocol version in MyMessage::clear() 2016-08-08 17:54:05 +02:00
tekka007 e7682cf006 Harmonize message type names 2016-08-08 17:37:42 +02:00
Embedded Innovation 6bdde5b1ac Add missing GOT_PARENT indication (#541)
* Add missing GOT_PARENT indication

* Fix tabs
2016-08-05 18:37:17 +02:00
tekka007 26f20b0e3b Fix compatibility issue with nRF clones, update documentation 2016-08-01 14:10:47 +02:00
tekka007 24e3dfa36c Updates to MyTransport 2016-07-27 23:10:02 +02:00
Thomas Mørch ba6bb915c2 Reorganizing library structure, prep for 2.0.0 2016-07-09 21:17:37 +02:00