RPi: Add signing and encryption to configure (#655)
This commit is contained in:
committed by
Patrick Fallberg
parent
e1ec2ccb69
commit
c23b7d563e
@@ -59,6 +59,10 @@ MySensors options:
|
|||||||
--my-rf24-pa-level=[RF24_PA_MAX|RF24_PA_LOW]
|
--my-rf24-pa-level=[RF24_PA_MAX|RF24_PA_LOW]
|
||||||
RF24 PA level. [RF24_PA_MAX]
|
RF24 PA level. [RF24_PA_MAX]
|
||||||
--my-rf24-irq-pin=<PIN> Pin number connected to nRF24L01 IRQ pin.
|
--my-rf24-irq-pin=<PIN> Pin number connected to nRF24L01 IRQ pin.
|
||||||
|
--my-rf24-encryption-enabled
|
||||||
|
Enables RF24 encryption.
|
||||||
|
All nodes and gateway must have this enabled, and all must be
|
||||||
|
personalized with the same AES key
|
||||||
--my-rx-message-buffer-size=<SIZE>
|
--my-rx-message-buffer-size=<SIZE>
|
||||||
Buffer size for incoming messages when using rf24 interrupts. [20]
|
Buffer size for incoming messages when using rf24 interrupts. [20]
|
||||||
--my-rs485-serial-port=<PORT>
|
--my-rs485-serial-port=<PORT>
|
||||||
@@ -71,6 +75,15 @@ MySensors options:
|
|||||||
--my-leds-rx-pin=<PIN> Receive LED pin.
|
--my-leds-rx-pin=<PIN> Receive LED pin.
|
||||||
--my-leds-tx-pin=<PIN> Transmit LED pin.
|
--my-leds-tx-pin=<PIN> Transmit LED pin.
|
||||||
--my-leds-blinking-inverse Inverse the blinking feature.
|
--my-leds-blinking-inverse Inverse the blinking feature.
|
||||||
|
--my-signing=[none|software]
|
||||||
|
Message signing. [none]
|
||||||
|
--my-signing-debug Enable signing related debug.
|
||||||
|
--my-signing-request-signatures
|
||||||
|
Enable signature request from nodes that in turn requested
|
||||||
|
gateway signature.
|
||||||
|
--my-signing-request-gw-signatures-from-all
|
||||||
|
Require all nodes in the network to sign messages sent to the
|
||||||
|
gateway.
|
||||||
|
|
||||||
EOF
|
EOF
|
||||||
}
|
}
|
||||||
@@ -210,6 +223,8 @@ function gcc_cpu_flags {
|
|||||||
debug=enable
|
debug=enable
|
||||||
gateway_type=ethernet
|
gateway_type=ethernet
|
||||||
transport_type=nrf24
|
transport_type=nrf24
|
||||||
|
signing=none
|
||||||
|
signing_request_signatures=false
|
||||||
|
|
||||||
params="SOC CFLAGS CXXFLAGS CPPFLAGS LDFLAGS PREFIX CC CXX ARDUINO_LIB_DIR BUILDDIR BINDIR GATEWAY_DIR INIT_SYSTEM"
|
params="SOC CFLAGS CXXFLAGS CPPFLAGS LDFLAGS PREFIX CC CXX ARDUINO_LIB_DIR BUILDDIR BINDIR GATEWAY_DIR INIT_SYSTEM"
|
||||||
|
|
||||||
@@ -322,6 +337,9 @@ for opt do
|
|||||||
--my-rf24-irq-pin=*)
|
--my-rf24-irq-pin=*)
|
||||||
CPPFLAGS="-DMY_RX_MESSAGE_BUFFER_FEATURE -DMY_RF24_IRQ_PIN=${optarg} $CPPFLAGS"
|
CPPFLAGS="-DMY_RX_MESSAGE_BUFFER_FEATURE -DMY_RF24_IRQ_PIN=${optarg} $CPPFLAGS"
|
||||||
;;
|
;;
|
||||||
|
--my-rf24-encryption-enabled*)
|
||||||
|
CPPFLAGS="-DMY_RF24_ENABLE_ENCRYPTION $CPPFLAGS"
|
||||||
|
;;
|
||||||
--my-rx-message-buffer-size=*)
|
--my-rx-message-buffer-size=*)
|
||||||
CPPFLAGS="-DMY_RX_MESSAGE_BUFFER_SIZE=${optarg} $CPPFLAGS"
|
CPPFLAGS="-DMY_RX_MESSAGE_BUFFER_SIZE=${optarg} $CPPFLAGS"
|
||||||
;;
|
;;
|
||||||
@@ -349,6 +367,19 @@ for opt do
|
|||||||
--my-leds-blinking-inverse*)
|
--my-leds-blinking-inverse*)
|
||||||
CPPFLAGS="-DMY_WITH_LEDS_BLINKING_INVERSE $CPPFLAGS"
|
CPPFLAGS="-DMY_WITH_LEDS_BLINKING_INVERSE $CPPFLAGS"
|
||||||
;;
|
;;
|
||||||
|
--my-signing=*)
|
||||||
|
signing=${optarg}
|
||||||
|
;;
|
||||||
|
--my-signing-debug*)
|
||||||
|
CPPFLAGS="-DMY_DEBUG_VERBOSE_SIGNING $CPPFLAGS"
|
||||||
|
;;
|
||||||
|
--my-signing-request-signatures*)
|
||||||
|
signing_request_signatures=true
|
||||||
|
;;
|
||||||
|
--my-signing-request-gw-signatures-from-all*)
|
||||||
|
signing_request_signatures=true
|
||||||
|
CPPFLAGS="-DMY_SIGNING_GW_REQUEST_SIGNATURES_FROM_ALL $CPPFLAGS"
|
||||||
|
;;
|
||||||
*)
|
*)
|
||||||
echo "[WARNING] Unknown option detected:$opt, ignored"
|
echo "[WARNING] Unknown option detected:$opt, ignored"
|
||||||
;;
|
;;
|
||||||
@@ -388,12 +419,19 @@ if [[ ${debug} == "enable" ]]; then
|
|||||||
CPPFLAGS="-DMY_DEBUG $CPPFLAGS"
|
CPPFLAGS="-DMY_DEBUG $CPPFLAGS"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ ${gateway_type} == "ethernet" ]]; then
|
if [[ ${gateway_type} == "none" ]]; then
|
||||||
|
# Node mode selected
|
||||||
|
:
|
||||||
|
elif [[ ${gateway_type} == "ethernet" ]]; then
|
||||||
CPPFLAGS="-DMY_GATEWAY_LINUX $CPPFLAGS"
|
CPPFLAGS="-DMY_GATEWAY_LINUX $CPPFLAGS"
|
||||||
elif [[ ${gateway_type} == "serial" ]]; then
|
elif [[ ${gateway_type} == "serial" ]]; then
|
||||||
CPPFLAGS="-DMY_GATEWAY_SERIAL $CPPFLAGS"
|
CPPFLAGS="-DMY_GATEWAY_SERIAL $CPPFLAGS"
|
||||||
elif [[ ${gateway_type} == "mqtt" ]]; then
|
elif [[ ${gateway_type} == "mqtt" ]]; then
|
||||||
CPPFLAGS="-DMY_GATEWAY_LINUX -DMY_GATEWAY_MQTT_CLIENT $CPPFLAGS"
|
CPPFLAGS="-DMY_GATEWAY_LINUX -DMY_GATEWAY_MQTT_CLIENT $CPPFLAGS"
|
||||||
|
else
|
||||||
|
echo "Invalid gateway type."
|
||||||
|
echo "Aborting."
|
||||||
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ ${transport_type} == "none" ]]; then
|
if [[ ${transport_type} == "none" ]]; then
|
||||||
@@ -411,6 +449,20 @@ else
|
|||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if [[ ${signing} == "none" ]]; then
|
||||||
|
# Signing disabled
|
||||||
|
:
|
||||||
|
elif [[ ${signing} == "software" ]]; then
|
||||||
|
CPPFLAGS="-DMY_SIGNING_SOFT $CPPFLAGS"
|
||||||
|
if [[ ${signing_request_signatures} == true ]]; then
|
||||||
|
CPPFLAGS="-DMY_SIGNING_REQUEST_SIGNATURES $CPPFLAGS"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
echo "Invalid message signing option."
|
||||||
|
echo "Aborting."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
LDFLAGS="-pthread $LDFLAGS"
|
LDFLAGS="-pthread $LDFLAGS"
|
||||||
CPPFLAGS="$CPUFLAGS $CPPFLAGS"
|
CPPFLAGS="$CPUFLAGS $CPPFLAGS"
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user