Files
MySensors/keywords.txt
T
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

201 lines
5.1 KiB
Plaintext

#######################################
# Datatypes (KEYWORD1)
#######################################
MyMessage KEYWORD1
#######################################
# Methods and Functions (KEYWORD2)
#######################################
present KEYWORD2
send KEYWORD2
sendSketchInfo KEYWORD2
sendBatteryLevel KEYWORD2
sendHeartbeat KEYWORD2
getNodeId KEYWORD2
request KEYWORD2
requestTime KEYWORD2
saveState KEYWORD2
loadState KEYWORD2
wait KEYWORD2
receive KEYWORD2
receiveTime KEYWORD2
loop KEYWORD2
before KEYWORD2
setup KEYWORD2
presentation KEYWORD2
sleep KEYWORD2
smartSleep KEYWORD2
######################################
# Constants (LITERAL1)
#######################################
# General
MY_CORE_ONLY LITERAL1
MY_DISABLE_REMOTE_RESET LITERAL1
MY_SMART_SLEEP_WAIT_DURATION LITERAL1
MY_BAUD_RATE LITERAL1
MY_CRITICAL_SECTION LITERAL1
MY_RX_MESSAGE_BUFFER_SIZE LITERAL1
MY_RX_MESSAGE_BUFFER_FEATURE LITERAL1
# transport
AUTO LITERAL1
MY_NODE_ID LITERAL1
MY_DEBUG_VERBOSE_TRANSPORT LITERAL1
MY_PARENT_NODE_ID LITERAL1
MY_PARENT_NODE_IS_STATIC LITERAL1
MY_REGISTRATION_FEATURE LITERAL1
MY_REGISTRATION_DEFAULT LITERAL1
MY_REGISTRATION_CONTROLLER LITERAL1
MY_CORE_COMPATIBILITY_CHECK LITERAL1
MY_TRANSPORT_SANITY_CHECK LITERAL1
MY_TRANSPORT_SANITY_CHECK_INTERVAL LITERAL1
MY_TRANSPORT_WAIT_READY_MS LITERAL1
MY_REPEATER_FEATURE LITERAL1
MY_PASSIVE_NODE LITERAL1
# debug
MY_DEBUG LITERAL1
MY_SPECIAL_DEBUG LITERAL1
# OTA
MY_OTA_FIRMWARE_FEATURE LITERAL1
MY_OTA_FLASH_SS LITERAL1
MY_OTA_FLASH_JDECID LITERAL1
MY_SPIFLASH_SST25TYPE LITERAL1
MY_DEBUG_VERBOSE_OTA_UPDATE LITERAL1
MY_WITH_LEDS_BLINKING_INVERSE LITERAL1
MY_DEFAULT_LED_BLINK_PERIOD LITERAL1
MY_WITH_LEDS_BLINKING_INVERSE LITERAL1
MY_DEFAULT_RX_LED_PIN LITERAL1
MY_DEFAULT_TX_LED_PIN LITERAL1
MY_DEFAULT_ERR_LED_PIN LITERAL1
MY_INCLUSION_MODE_FEATURE LITERAL1
MY_INCLUSION_BUTTON_FEATURE LITERAL1
MY_INCLUSION_MODE_BUTTON_PIN LITERAL1
MY_INCLUSION_MODE_DURATION LITERAL1
# Signing
MY_DEBUG_VERBOSE_SIGNING LITERAL1
MY_SIGNING_SIMPLE_PASSWD LITERAL1
MY_SIGNING_ATSHA204 LITERAL1
MY_SIGNING_SOFT LITERAL1
MY_VERIFICATION_TIMEOUT_MS LITERAL1
MY_SIGNING_NODE_WHITELISTING LITERAL1
MY_SIGNING_ATSHA204_PIN LITERAL1
MY_SIGNING_SOFT_RANDOMSEED_PIN LITERAL1
MY_SIGNING_REQUEST_SIGNATURES LITERAL1
MY_SIGNING_WEAK_SECURITY LITERAL1
MY_NODE_LOCK_FEATURE LITERAL1
MY_NODE_UNLOCK_PIN LITERAL1
MY_NODE_LOCK_COUNTER_MAX LITERAL1
# SoftSPI
MY_SOFTSPI LITERAL1
MY_SOFT_SPI_SCK_PIN LITERAL1
MY_SOFT_SPI_MISO_PIN LITERAL1
MY_SOFT_SPI_MOSI_PIN LITERAL1
# RF24
MY_RADIO_RF24 LITERAL1
MY_DEBUG_VERBOSE_RF24 LITERAL1
MY_RF24_ENABLE_ENCRYPTION LITERAL1
MY_RF24_SPI_SPEED LITERAL1
MY_RF24_CE_PIN LITERAL1
MY_RF24_CS_PIN LITERAL1
MY_RF24_IRQ_PIN LITERAL1
MY_RF24_PA_LEVEL LITERAL1
MY_RF24_CHANNEL LITERAL1
MY_RF24_DATARATE LITERAL1
MY_RF24_BASE_RADIO_ID LITERAL1
# NRF5
MY_RADIO_NRF5_ESB LITERAL1
MY_DEBUG_VERBOSE_NRF5_ESB LITERAL1
MY_NRF5_ESB_ADDR_WIDTH LITERAL1
MY_NRF5_ESB_BASE_RADIO_ID LITERAL1
MY_NRF5_ESB_CHANNEL LITERAL1
MY_NRF5_ESB_ENABLE_ENCRYPTION LITERAL1
MY_NRF5_ESB_MODE LITERAL1
MY_NRF5_ESB_PA_LEVEL LITERAL1
MY_NRF5_ESB_RX_BUFFER_SIZE LITERAL1
# RFM95
MY_RADIO_RFM95 LITERAL1
MY_DEBUG_VERBOSE_RFM95 LITERAL1
MY_RFM95_MODEM_CONFIGRUATION LITERAL1
MY_RFM95_FREQUENCY LITERAL1
MY_RFM95_TX_POWER LITERAL1
MY_RFM95_CS_PIN LITERAL1
MY_RFM95_RST_PIN LITERAL1
MY_RFM95_SPI_SPEED LITERAL1
MY_RFM95_IRQ_PIN LITERAL1
MY_RFM95_ATC_TARGET_RSSI LITERAL1
MY_RFM95_ATC_MODE_DISABLED LITERAL1
MY_RFM95_ATC_TARGET_RSSI_DBM LITERAL1
MY_RFM95_MAX_POWER_LEVEL_DBM LITERAL1
# RFM69
MY_RADIO_RFM69 LITERAL1
MY_DEBUG_VERBOSE_RFM69 LITERAL1
MY_DEBUG_VERBOSE_RFM69_REGISTERS LITERAL1
MY_RFM69_FREQUENCY LITERAL1
MY_IS_RFM69HW LITERAL1
MY_RFM69_NEW_DRIVER LITERAL1
MY_RFM69_TX_POWER_DBM LITERAL1
MY_RFM69_ATC_TARGET_RSSI_DBM LITERAL1
MY_RFM69_ATC_MODE_DISABLED LITERAL1
MY_RFM69_MAX_POWER_LEVEL_DBM LITERAL1
MY_RFM69_NETWORKID LITERAL1
MY_RFM69_RST_PIN LITERAL1
MY_RFM69_IRQ_PIN LITERAL1
MY_RFM69_CS_PIN LITERAL1
MY_RFM69_ENABLE_ENCRYPTION LITERAL1
MY_RFM69_ENABLE_LISTENMODE LITERAL1
MY_RFM69_DEFAULT_LISTEN_RX_US LITERAL1
MY_RFM69_DEFAULT_LISTEN_IDLE_US LITERAL1
MY_RFM69_SPI_SPEED LITERAL1
MY_RFM69_BITRATE_MSB LITERAL1
MY_RFM69_BITRATE_LSB LITERAL1
MY_RFM69_CSMA_ADD_DELAY_BASE LITERAL1
MY_RFM69_CSMA_ADD_DELAY_COUNT LITERAL1
# RS485
MY_RS485 LITERAL1
MY_RS485_BAUD_RATE LITERAL1
MY_RS485_MAX_MESSAGE_LENGTH LITERAL1
MY_RS485_HWSERIAL LITERAL1
MY_RS485_DE_PIN LITERAL1
# Gateway / MQTT
MY_GATEWAY_SERIAL LITERAL1
MY_GATEWAY_W5100 LITERAL1
MY_W5100_SPI_EN LITERAL1
MY_GATEWAY_ENC28J60 LITERAL1
MY_GATEWAY_ESP8266 LITERAL1
MY_INCLUSION_BUTTON_EXTERNAL_PULLUP LITERAL1
MY_MQTT_SUBSCRIBE_TOPIC_PREFIX LITERAL1
MY_MQTT_PUBLISH_TOPIC_PREFIX LITERAL1
MY_MQTT_CLIENT_ID LITERAL1
MY_GATEWAY_MQTT_CLIENT LITERAL1
# Ethernet
MY_PORT LITERAL1
MY_IP_ADDRESS LITERAL1
MY_USE_UDP LITERAL1
MY_IP_RENEWAL_INTERVAL LITERAL1
MY_MAC_ADDRESS LITERAL1
MY_CONTROLLER_IP_ADDRESS LITERAL1
MY_CONTROLLER_URL_ADDRESS LITERAL1
MY_GATEWAY_MAX_CLIENTS LITERAL1
MY_GATEWAY_MAX_SEND_LENGTH LITERAL1
MY_GATEWAY_MAX_RECEIVE_LENGTH LITERAL1
MY_IP_GATEWAY_ADDRESS LITERAL1
MY_IP_SUBNET_ADDRESS LITERAL1
# ESP8266
MY_ESP8266_SSID LITERAL1
MY_ESP8266_PASSWORD LITERAL1
MY_ESP8266_HOSTNAME LITERAL1
MY_ESP8266_SERIAL_MODE LITERAL1