lockdown plugins that touch hardware

This commit is contained in:
Kevin Hester
2021-03-13 13:14:27 +08:00
parent 6813a31895
commit c0ac457cad
9 changed files with 28 additions and 5 deletions

View File

@@ -126,5 +126,5 @@ MeshPacket *AdminPlugin::allocReply()
AdminPlugin::AdminPlugin() : ProtobufPlugin("Admin", PortNum_ADMIN_APP, AdminMessage_fields)
{
// restrict to the admin channel for rx
boundChannel = "admin";
boundChannel = Channels::adminChannel;
}

View File

@@ -140,6 +140,11 @@ void ExternalNotificationPlugin::setExternalOff()
// --------
ExternalNotificationPluginRadio::ExternalNotificationPluginRadio() : SinglePortPlugin("ExternalNotificationPluginRadio", PortNum_TEXT_MESSAGE_APP) {
// restrict to the admin channel for rx
boundChannel = Channels::gpioChannel;
}
bool ExternalNotificationPluginRadio::handleReceived(const MeshPacket &mp)
{
#ifndef NO_ESP32

View File

@@ -32,7 +32,7 @@ class ExternalNotificationPluginRadio : public SinglePortPlugin
{
public:
ExternalNotificationPluginRadio() : SinglePortPlugin("ExternalNotificationPluginRadio", PortNum_TEXT_MESSAGE_APP) {}
ExternalNotificationPluginRadio();
protected:
//virtual MeshPacket *allocReply();

View File

@@ -69,7 +69,8 @@ bool RemoteHardwarePlugin::handleReceivedProtobuf(const MeshPacket &req, const H
case HardwareMessage_Type_READ_GPIOS: {
// Print notification to LCD screen
screen->print("Read GPIOs\n");
if(screen)
screen->print("Read GPIOs\n");
uint64_t res = digitalReads(p.gpio_mask);

View File

@@ -61,6 +61,12 @@ SerialPlugin::SerialPlugin() : concurrency::OSThread("SerialPlugin") {}
char serialStringChar[Constants_DATA_PAYLOAD_LEN];
SerialPluginRadio::SerialPluginRadio() : SinglePortPlugin("SerialPluginRadio", PortNum_SERIAL_APP)
{
// restrict to the admin channel for rx
boundChannel = Channels::serialChannel;
}
int32_t SerialPlugin::runOnce()
{
#ifndef NO_ESP32

View File

@@ -33,8 +33,7 @@ class SerialPluginRadio : public SinglePortPlugin
from the main code.
*/
// SerialPluginRadio() : SinglePortPlugin("SerialPluginRadio", PortNum_TEXT_MESSAGE_APP) {}
SerialPluginRadio() : SinglePortPlugin("SerialPluginRadio", PortNum_SERIAL_APP) {}
SerialPluginRadio();
/**
* Send our payload into the mesh