aboutsummaryrefslogtreecommitdiffstats
path: root/src/libs/qlicenseservice/clienthandler.cpp
diff options
context:
space:
mode:
authorSami Littow <[email protected]>2023-04-14 08:54:38 +0300
committerSami Littow <[email protected]>2023-04-19 14:36:08 +0300
commit481ae1cb9e52dfe198030e9a4a6e562005f04ca7 (patch)
tree4365c32ac61766da8d539c4eb60a31a4edcd900d /src/libs/qlicenseservice/clienthandler.cpp
parentb8e7c76ea05ab2ab1dbec0efe547ee2ff259e374 (diff)
Fix of a bug where daemon grants non-valid licenseHEADdev
(clitoolhandler.h) - Server response validity was only checked when requesting longterm reservation - Could have exploited with telnet - Server response JSON status field check moved to the beginning of method (HttpClient, Licenser classes) - Pass the REST endpoint to the HTTP client per request, rather than trying to guess it in HTTP client Change-Id: I13d05b33f1032a91d393e7315552f1b9d391142d Reviewed-by: Qt CI Bot <[email protected]> Reviewed-by: Arttu Tarkiainen <[email protected]>
Diffstat (limited to 'src/libs/qlicenseservice/clienthandler.cpp')
-rw-r--r--src/libs/qlicenseservice/clienthandler.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/libs/qlicenseservice/clienthandler.cpp b/src/libs/qlicenseservice/clienthandler.cpp
index fbeab7b..863384e 100644
--- a/src/libs/qlicenseservice/clienthandler.cpp
+++ b/src/libs/qlicenseservice/clienthandler.cpp
@@ -62,8 +62,10 @@ int ClientHandler::parseRequest()
m_request.reqType = RequestType::no_request;
if (cmd == LICENSE_REQUEST_CMD) {
m_request.reqType = RequestType::license_request;
+ m_request.accessPoint = m_settings.get("reservation_access_point");
} else if (cmd ==PERMANENT_REQUEST_CMD) {
m_request.reqType = RequestType::long_term_request;
+ m_request.accessPoint = m_settings.get("permanent_access_point");
// find either 'add' or 'remove'
if (params.size() > 0) {
if (params[0] != OP_ADD_RESERVATION && params[0] != OP_REMOVE_RESERVATION) {
@@ -80,8 +82,7 @@ int ClientHandler::parseRequest()
params.erase(params.begin());
} else if (cmd == SERVER_VERSION_CMD) {
m_request.reqType = RequestType::server_version;
- buildRequestJson();
- return 0;
+ m_request.accessPoint = m_settings.get("version_query_access_point");
} else if (cmd == DAEMON_VERSION_CMD) {
m_request.reqType = RequestType::daemon_version;
} else if (cmd == RESERVATION_QUERY_CMD) {