From 5a0edb88756e5082903c40c9e81a9ead7bfe1887 Mon Sep 17 00:00:00 2001
From: Pos <pierpaolo.mancini@mail.polimi.it>
Date: Tue, 22 Feb 2022 19:31:13 +0100
Subject: [PATCH] Implemented basic command authentication

---
 Modules/Mavlink/mavlinkcommandadapter.h |  6 +++---
 Modules/Mavlink/mavlinkmodule.cpp       |  9 +++++----
 Modules/Mavlink/mavlinkreader.cpp       | 10 ++++++----
 Modules/Mavlink/mavlinkversionheader.h  |  4 ++--
 Modules/moduleinfo.h                    |  3 ++-
 Modules/moduleslist.cpp                 |  1 -
 SkywardHub.pro.user                     |  2 +-
 7 files changed, 19 insertions(+), 16 deletions(-)

diff --git a/Modules/Mavlink/mavlinkcommandadapter.h b/Modules/Mavlink/mavlinkcommandadapter.h
index d7831574..60d82f73 100644
--- a/Modules/Mavlink/mavlinkcommandadapter.h
+++ b/Modules/Mavlink/mavlinkcommandadapter.h
@@ -40,6 +40,9 @@ public:
 
     //void loadMsgDefinition();
 
+    static const int MAV_CMP = 96;
+    static const int MAV_SYS = 171;
+
 signals:
     void publishRequested(const ModuleMessage &msg);
 
@@ -52,9 +55,6 @@ private:
     QMap<QString, int> msgNameIdMap;
     //QString msgDefinitionFile = GroundStation::getResourceDirectory()+"/mavlinkMsgDefinition.xml";
 
-    static const int MAV_CMP = 1;
-    static const int MAV_SYS = 1;
-
     int portNumber = -1;
 };
 
diff --git a/Modules/Mavlink/mavlinkmodule.cpp b/Modules/Mavlink/mavlinkmodule.cpp
index 2c65c846..cbf6cd6c 100644
--- a/Modules/Mavlink/mavlinkmodule.cpp
+++ b/Modules/Mavlink/mavlinkmodule.cpp
@@ -58,6 +58,7 @@ void MavlinkModule::subscribe()
     getCore()->getModuleMessagesBroker()->subscribe(SkywardHubStrings::commandsTopic,this,[this](const ModuleMessage &msg){
         onCommandReceived(msg);
     });
+
     getCore()->getModuleMessagesBroker()->subscribe(SkywardHubStrings::telemetryRequestTopic,this,[this](const ModuleMessage &msg){
         onTelemetryRequestReceived(msg);
     });
@@ -402,8 +403,8 @@ void MavlinkModule::onCommandReceived(const ModuleMessage &msg)
 //        }
 //    }
 
-    encoded_mvl_msg.sysid = validSysid;
-    encoded_mvl_msg.compid = validCompid;
+    //encoded_mvl_msg.sysid = validSysid;
+    //encoded_mvl_msg.compid = validCompid;
 
     if(portOpen && portNumber >= 0){
         mavlinkCommandAdapter.send(encoded_mvl_msg);
@@ -483,8 +484,8 @@ void MavlinkModule::onTelemetryRequestReceived(const ModuleMessage &msg)
 //        encoded_mvl_msg = mavlinkCommandAdapter.encode_TELEMETRY_REQUEST_TC(MAV_STRAIN_BOARD_TM_ID);
 //    }
 
-    encoded_mvl_msg.sysid = validSysid;
-    encoded_mvl_msg.compid = validCompid;
+    //encoded_mvl_msg.sysid = validSysid;
+    //encoded_mvl_msg.compid = validCompid;
 
     if(portOpen && portNumber >= 0){
         mavlinkCommandAdapter.send(encoded_mvl_msg);
diff --git a/Modules/Mavlink/mavlinkreader.cpp b/Modules/Mavlink/mavlinkreader.cpp
index 733a9df9..2d339c6d 100644
--- a/Modules/Mavlink/mavlinkreader.cpp
+++ b/Modules/Mavlink/mavlinkreader.cpp
@@ -7,6 +7,7 @@
 #include "rs232.h"
 #include "Modules/skywardhubstrings.h"
 #include <QDir>
+#include "mavlinkcommandadapter.h"
 
 MavlinkReader::MavlinkReader()
 {
@@ -62,10 +63,11 @@ void MavlinkReader::run()
 
 bool MavlinkReader::chackMsgOwnership(const mavlink_message_t& msg) const
 {
-    if(msg.sysid == validSysid  && msg.compid == validCompid){
-        return true;
-    }
-    return false;
+    return true;
+//    if(msg.sysid == MavlinkCommandAdapter::MAV_SYS  && msg.compid == MavlinkCommandAdapter::MAV_CMP){
+//        return true;
+//    }
+//    return false;
 }
 
 
diff --git a/Modules/Mavlink/mavlinkversionheader.h b/Modules/Mavlink/mavlinkversionheader.h
index ecf5344a..dbc925c4 100644
--- a/Modules/Mavlink/mavlinkversionheader.h
+++ b/Modules/Mavlink/mavlinkversionheader.h
@@ -4,8 +4,8 @@
 //#include "mavlink_skyward_lib/mavlink_lib/hermes/mavlink.h"
 #include "mavlink_skyward_lib/mavlink_lib/lynx/mavlink.h"
 
-static __attribute__((unused)) uint8_t validSysid = 171;
-static __attribute__((unused)) uint8_t validCompid = 96;
+//static __attribute__((unused)) uint8_t validSysid = 171;
+//static __attribute__((unused)) uint8_t validCompid = 96;
 
 
 #endif // MAVLINKVERSIONHEADER_H
diff --git a/Modules/moduleinfo.h b/Modules/moduleinfo.h
index 0aa4a56d..12a3f048 100644
--- a/Modules/moduleinfo.h
+++ b/Modules/moduleinfo.h
@@ -24,7 +24,8 @@ enum ModuleId{
     STATEVIEWER,
     VALUESCONVERTERVIEWER,
     MAVLINK_RCK_TESTING,
-    TIMER_CONTROLLER
+    TIMER_CONTROLLER,
+    MODULETEST
 };
 
 enum ModuleCategory{
diff --git a/Modules/moduleslist.cpp b/Modules/moduleslist.cpp
index d05a1262..1c1cb035 100644
--- a/Modules/moduleslist.cpp
+++ b/Modules/moduleslist.cpp
@@ -161,7 +161,6 @@ void ModulesList::createModuleList()
     timerController.addModuleSourceFiles("Modules/TimerController/");
     addModuleInfo(timerController);
     #endif
-
 }
 
 
diff --git a/SkywardHub.pro.user b/SkywardHub.pro.user
index 863e5eae..974552b0 100644
--- a/SkywardHub.pro.user
+++ b/SkywardHub.pro.user
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE QtCreatorProject>
-<!-- Written by QtCreator 4.14.2, 2021-10-01T22:10:38. -->
+<!-- Written by QtCreator 4.14.2, 2021-10-30T12:42:19. -->
 <qtcreator>
  <data>
   <variable>EnvironmentId</variable>
-- 
GitLab