summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormykola.salomatin <mykola.salomatin@globallogic.com>2021-01-19 17:01:46 +0200
committermykola.salomatin <mykola.salomatin@globallogic.com>2021-01-19 17:01:46 +0200
commit9c6f78b046962c13584f1c35ba253749f1cb9585 (patch)
treeb9490a31f172c18a421200889e4d18673056307f
parent7ba216743f5a413ff3093cfe169718894836cb62 (diff)
downloadlibmts-9c6f78b046962c13584f1c35ba253749f1cb9585.tar.gz
libmts-9c6f78b046962c13584f1c35ba253749f1cb9585.tar.bz2
libmts-9c6f78b046962c13584f1c35ba253749f1cb9585.zip
[MTX-3785] mPower R.5.4: GP-971 - Device shall implement file type restrictions for all “upload” sections on the UI
LoRaWAN components: LoraLicense (.lic), LoraFotaFile (.bin), LoraMulticast (.bin for Binary, .txt for Hexadecimal and Base64), LoraGroup (.json) validated by file extension.
-rw-r--r--include/mts/MTS_Text.h2
-rw-r--r--src/MTS_Text.cpp7
2 files changed, 9 insertions, 0 deletions
diff --git a/include/mts/MTS_Text.h b/include/mts/MTS_Text.h
index 2380add..4ded3fc 100644
--- a/include/mts/MTS_Text.h
+++ b/include/mts/MTS_Text.h
@@ -137,6 +137,8 @@ namespace MTS {
}
return true;
}
+
+ static std::string getFileExtension(const std::string& filename);
};
}
diff --git a/src/MTS_Text.cpp b/src/MTS_Text.cpp
index d823bfe..8dcb85f 100644
--- a/src/MTS_Text.cpp
+++ b/src/MTS_Text.cpp
@@ -699,3 +699,10 @@ bool Text::parseHex(uint64_t& value, const std::string& str) {
return ((uint8_t) ss.rdstate() == RDSTATE_SUCCESS_MASK);
}
+std::string Text::getFileExtension(const std::string& filename) {
+ size_t pos = filename.rfind('.', filename.length());
+ if (pos != std::string::npos) {
+ return (filename.substr(pos + 1, filename.length() - pos));
+ }
+ return ("");
+}