Commit Graph
663 Commits
Author SHA1 Message Date
Patrick Fallberg f8281302eb Fixed software signing whitelisting example in SecureActuator
The software serial is now provided to the backend as it should be.
2015-03-18 22:31:14 +01:00
Patrick Fallberg 6fb7266752 Removed 'new' from PinChangeInt library
As a consequence, only one pin is currently suppored.
AddPin will not really add a new pin, just replace the configuration
of the existing pin.

The motivation for this limitation is that 'new' costs a lot of
program memory.
2015-03-16 23:15:55 +01:00
Patrick Fallberg 6fd26880a2 Made "Inclusion started by button" a DEBUG message
In other words, the message will only be printed if DEBUG flag is enabled.
2015-03-16 23:15:55 +01:00
Patrick Fallberg 70eac0423d Added config flag MY_SIGNING_FEATURE in MyConfig.h
By disabeling MY_SIGNING_FEATURE all signing logic in the library
will be removed.
2015-03-16 23:15:54 +01:00
Patrick Fallberg 7a2a5dad81 Message signing logic now integrated into sendRoute() 2015-03-16 23:15:54 +01:00
Patrick Fallberg 2d2eb74e0a Fixed bug with storing signing table in EEPROM
eeprom_updated_block() uses a non-string-standardised order of
arguments.
2015-03-16 20:24:43 +01:00
Patrick Fallberg 611ba0cf44 Slimmed down memory footprint of signing backends 2015-03-16 20:24:42 +01:00
Patrick Fallberg f295ef2961 Whitelisting support in signing backend
Whitelisting is enabled using MY_SECURE_NODE_WHITELISTING in MyConfig.h.
The whitelist is provided in backend constructors.
See the SecureActuator example for a typical usecase.
2015-03-16 20:21:05 +01:00
Patrick Fallberg cf31edcb81 New way of presenting ATSHA204 serial in personalizer
The serial is now more copy+paste friendly for use in whitelists.
2015-03-16 20:15:09 +01:00
Patrick Fallberg e35a01766b Implemented basic whitening of nonce
A simple (for performanc reasons) whitening scheme has been
implemented for the ATSHA204 backeds that strengthens the
nonce "randomness".
2015-03-16 20:15:06 +01:00
Patrick Fallberg a1024cd2cd Added support to read the serial number from ATSHA204
The serial number can be used for whitelisting of nodes
that are considered "trusted".
2015-03-16 20:14:25 +01:00
Patrick Fallberg 4c4c9a8b39 Added SHA command to ATSHA204 backend driver
The SHA command is available in ATSHA204A variants of the chip
and can be used to calculate SHA256 digests of arbitrary data.

This enables us to strengthen the quality of the signatures by
salting signatures with node-specific data and improving the
quality of random data.
2015-03-16 20:14:22 +01:00
Henrik Ekblad cb5e3172bd Fixed compile problem 2015-03-16 19:39:06 +01:00
Henrik Ekblad 73024ea4c9 Weird compile error for Patrick 2015-03-16 10:43:09 +01:00
Henrik Ekblad fb6540f17a Merge pull request #88 from mapnull/dev-mqttgw_digitalIO
add DigitalIO.h to MQTTGateway
2015-03-13 20:30:23 +01:00
Marcelo Aquino 5ae55e5b8a add DigitalIO.h to MQTTGateway 2015-03-13 16:09:09 -03:00
Henrik Ekblad d88e917544 Simplify thinga a bit 2015-03-13 15:39:05 +01:00
Henrik Ekblad c1d5513578 Remove LowPower dependency 2015-03-12 23:59:36 +01:00
Henrik Ekblad c5760f72c6 Remove EEPROM buffer for routing information 2015-03-12 23:58:38 +01:00
Henrik Ekblad 9e85fac745 Separate the HW specifics from the MySensor library 2015-03-12 22:59:51 +01:00
Henrik Ekblad 6d0ae813c4 Rename MySigningDriver* to MySigning* 2015-03-10 00:07:57 +01:00
Henrik Ekblad 7a1cdd06e1 Rename RFDriver to Transport 2015-03-09 23:45:05 +01:00
Henrik Ekblad 7e6aa8bda8 Add the default constructors to gateway sketches 2015-03-09 22:58:05 +01:00
Henrik Ekblad ec5e64b6bf Merge pull request #85 from fallberg/personalizer
SHA204 personalizer updated to handle HMAC key better
2015-03-09 00:44:42 +01:00
Patrick Fallberg a21715d415 SHA204 personalizer updated to handle HMAC key better
HMAC key is now configured and printed exactly as it is set
in MyConfig.h. This makes it easier to move the key around.
2015-03-09 00:20:17 +01:00
Henrik Ekblad 5b034cf064 Merge pull request #84 from fallberg/gw_sign
Support for gateways to request signed messages
2015-03-08 12:01:39 +01:00
Patrick Fallberg 79be69b08d Support for gateways to request signed messages
Various fixes and tweaks to permit a gateway to request
signatures from nodes.
The following messages will not be signed (nor verified):
* All signing-related handshake messages
* All ID-related handshake messages
* All ACKs

An important change is that the polarity for the signing request
flags stored in EEPROM has changed. '0' now means signing required.
This ensures that if the "ClearEepromConfig" sketch is executed,
signing requests will be turned off by default.
As a consequence, it is recommended to clear EEPROM if signing will
be used to ensure all nodes default to a non-signing state.
2015-03-08 11:20:33 +01:00
Henrik Ekblad 89076d58d1 Fix spelling error. 2015-03-04 20:17:53 +01:00
Henrik Ekblad 7d67ad5c82 Add new sensor type S_MULTIMETER
To be used with V_CURRENT, V_VOLTAGE, V_IMPEDANCE
2015-03-04 19:24:13 +01:00
Henrik Ekblad 5aebe80711 Cleanup driver initialization 2015-03-03 00:24:13 +01:00
Henrik Ekblad afce932cff Remove the last "new" to reduce size 2015-02-27 22:17:05 +01:00
Henrik Ekblad ee6e34b59a Remove global initialization of sha256 2015-02-27 00:25:08 +01:00
Henrik Ekblad bf8102ecad For discussion 2015-02-26 23:53:37 +01:00
Henrik Ekblad 23a8a48f8e Rename "Dummy" signing driver to "None" 2015-02-25 23:18:26 +01:00
Henrik Ekblad a4f70342a2 Merge pull request #79 from fallberg/development
Fixed bug that caused the wrong message to be signed
2015-02-25 22:53:31 +01:00
Patrick Fallberg 961366313b Fixed bug that caused the wrong message to be signed
process() altered the message buffer pending signing when
called in sign() causing the wrong message to be sent to the
signing backend. This is resolved by copying the original
message before processing incoming messages to make sure
the original message is kept. After it is successfully signed,
it is copied back to its original location again.
Also, the old 'ack' message buffer is renamed to tmpMsg to
indicate its use as a temporary message buffer for various
purposes.
2015-02-25 22:50:51 +01:00
Henrik Ekblad 1cd84bf0c8 Merge pull request #75 from mapnull/dev-hotfix-begin_requestNodeId
check valid parentNodeId before requestNodeId
2015-02-22 23:40:55 +01:00
Henrik Ekblad 1979cb6f32 Merge pull request #77 from fallberg/sign-hotfix
Bugfix for gateway signing requirements
2015-02-22 23:40:27 +01:00
Patrick Fallberg 2ab9822172 Bugfix for gateway signing requirements
Gateway now only indicate signing requirements for sensors
that in turn have indicated signing requirements.
2015-02-22 23:32:45 +01:00
Henrik Ekblad fb1c542862 Move SHA204 personalizer sketch to MySensors examples
Fix include errors.
2015-02-22 23:22:06 +01:00
Marcelo Aquino 2d8fddcb05 check valid parentNodeId before requestNodeId 2015-02-22 10:41:29 -03:00
Henrik Ekblad e8bb9623e0 Merge pull request #74 from mapnull/dev-feature-parser_serial
add parser class for serial and ethernet gateways
2015-02-20 08:53:36 +01:00
Marcelo Aquino c358d8705a add parser class for serial and ethernet gateways 2015-02-19 21:39:46 -02:00
Henrik Ekblad 70b476ede4 Bugfix: setVersion missing in sendWrite 2015-02-19 13:47:45 +01:00
Henrik Ekblad 8550162235 Slim down dummy signing driver. 2015-02-19 11:22:36 +01:00
Henrik Ekblad 8274188b43 Use eeprom_update_* when writing to EEPROM
Saves a few bytes and minimizes the number of write cycles.
2015-02-19 09:15:50 +01:00
Henrik Ekblad e25f4974b2 Save some bytes by removing new when initalizing drivers 2015-02-19 09:09:38 +01:00
Henrik Ekblad 56a16671e5 Added const for PROGMEM declarations (Arduino IDE 1.5.8 compability)
Merge branch 'development' of https://github.com/mysensors/Arduino.git
into development

Conflicts:
	libraries/MySensors/MySensor.cpp
2015-02-18 23:52:33 +01:00
Henrik Ekblad 729cf8da5d Bugifx: GW should not send presentation 2015-02-18 23:40:58 +01:00
Henrik Ekblad 8ed85b1514 Merge pull request #72 from mapnull/dev-hotfix
fix ifdef for MYSENSORS_ETHERNET_MQTT_GATEWAY
2015-02-18 14:40:17 +01:00