aboutsummaryrefslogtreecommitdiffstats
path: root/src/libs/qlicenseservice/licenser.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/licenser.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/licenser.cpp')
-rw-r--r--src/libs/qlicenseservice/licenser.cpp11
1 files changed, 4 insertions, 7 deletions
diff --git a/src/libs/qlicenseservice/licenser.cpp b/src/libs/qlicenseservice/licenser.cpp
index 9094bd7..df85f4e 100644
--- a/src/libs/qlicenseservice/licenser.cpp
+++ b/src/libs/qlicenseservice/licenser.cpp
@@ -31,10 +31,7 @@ Licenser::Licenser(uint16_t tcpPort, const std::string &settingsPath)
}
m_mocInterval = utils::strToInt(m_settings->get("moc_renewal_interval")) * SECS_IN_HOUR;
// Start the HTTP client
- m_http = new HttpClient(m_settings->get("server_addr"),
- m_settings->get("reservation_access_point"),
- m_settings->get("permanent_access_point"),
- m_settings->get("version_query_access_point"));
+ m_http = new HttpClient(m_settings->get("server_addr"));
// Start the TCP/IP server
m_tcpServer = new TcpServer(tcpPort);
if (!m_tcpServer->init()) {
@@ -149,7 +146,6 @@ int Licenser::listen()
if (m_floatingClients.size() > 0) {
checkTasksDue();
}
- std::cout << "Current clients in cache: " << m_floatingClients.size() << std::endl;
return 0;
}
@@ -214,7 +210,6 @@ ClientHandler *Licenser::parseInputAndCreateCLient(uint16_t socketId, const std:
int Licenser::sendServerRequest(const RequestInfo &request, std::string &reply)
{
std::string auth;
- std::cout << "Payload: " << request.payload << std::endl;
// Generate auth hash for HTTP headers
std::string hash;
@@ -223,7 +218,9 @@ int Licenser::sendServerRequest(const RequestInfo &request, std::string &reply)
auth = "apikey " + hash;
// Send the request
- if (m_http->sendRequest(reply, request.payload, request.serverAddr, auth) != 0) {
+ if (m_http->sendAndReceive(reply, request.payload,
+ request.accessPoint,
+ request.serverAddr, auth) != 0) {
return e_bad_connection;
}
return e_got_response;