Revert "Fix encryption request handling"
authorDongsun Lee <ds73.lee@samsung.com>
Wed, 31 May 2023 04:20:18 +0000 (13:20 +0900)
committerDongsun Lee <ds73.lee@samsung.com>
Wed, 31 May 2023 04:20:18 +0000 (13:20 +0900)
This reverts commit 3c4165865d8982ae3addd1485786e81917738379.

src/manager/main/service-messages.h
src/manager/service/encryption-logic.cpp
src/manager/service/encryption-logic.h
src/manager/service/encryption-service.cpp
src/manager/service/encryption-service.h
src/manager/service/iencryption-service.h

index 6b40a7f..dbe7648 100644 (file)
@@ -35,15 +35,15 @@ namespace CKM {
 
 // inter-service communication message base class
 struct MsgBase {
-       explicit MsgBase(unsigned id) : id(id) {}
+       explicit MsgBase(int id) : id(id) {}
        virtual ~MsgBase() {}
 
-       unsigned id;
+       int id;
 };
 
 // key request
 struct MsgKeyRequest : public MsgBase {
-       MsgKeyRequest(unsigned id, const Credentials &cred, const Name &name,
+       MsgKeyRequest(int id, const Credentials &cred, const Name &name,
                                  const ClientId &explicitOwner, const Password &password) :
                MsgBase(id),
                cred(cred),
@@ -60,7 +60,7 @@ struct MsgKeyRequest : public MsgBase {
 
 // key response
 struct MsgKeyResponse : public MsgBase {
-       MsgKeyResponse(unsigned id, const Crypto::GObjShPtr &key,
+       MsgKeyResponse(int id, const Crypto::GObjShPtr &key,
                                   int errorCode = CKM_API_SUCCESS) :
                MsgBase(id), key(key), error(errorCode) {}
 
index e3cf1d6..01dd966 100644 (file)
@@ -33,23 +33,22 @@ void EncryptionLogic::Crypt(const CryptoRequest &request)
                m_service.RespondToClient(request, CKM_API_ERROR_INPUT_PARAM);
                return;
        }
-       m_counter++;
 
        // store request in the map
-       auto ret = m_requestsMap.insert(std::make_pair(m_counter, request));
+       auto ret = m_requestsMap.insert(std::make_pair(request.msgId, request));
 
        if (!ret.second) {
-               LogError("Request with id = " << m_counter << " already exists");
-               m_service.RespondToClient(request, CKM_API_ERROR_SERVER_ERROR);
+               LogError("Request with id " << request.msgId << " already exists");
+               m_service.RespondToClient(request, CKM_API_ERROR_INPUT_PARAM);
                return;
        }
 
        // request key
        try {
-               m_service.RequestKey(m_counter, request);
+               m_service.RequestKey(request);
        } catch (...) {
                LogError("Key request failed");
-               m_requestsMap.erase(m_counter);
+               m_requestsMap.erase(request.msgId);
                m_service.RespondToClient(request, CKM_API_ERROR_SERVER_ERROR);
        }
 }
index 7ae1e00..627ed85 100644 (file)
@@ -21,7 +21,7 @@
 
 #pragma once
 
-#include <unordered_map>
+#include <map>
 #include <ckm/ckm-type.h>
 #include <generic-socket-manager.h>
 #include <protocols.h>
@@ -32,7 +32,7 @@ namespace CKM {
 
 class EncryptionLogic {
 public:
-       explicit EncryptionLogic(IEncryptionService &service) : m_service(service), m_counter(0) {}
+       explicit EncryptionLogic(IEncryptionService &service) : m_service(service) {}
        virtual ~EncryptionLogic() {}
 
        void Crypt(const CryptoRequest &request);
@@ -41,8 +41,7 @@ public:
 private:
        IEncryptionService &m_service;
 
-       std::unordered_map<unsigned, CryptoRequest> m_requestsMap;
-       unsigned m_counter;
+       std::map<int, CryptoRequest> m_requestsMap;
 };
 
 } /* namespace CKM */
index f89b25f..5289f83 100644 (file)
@@ -55,9 +55,9 @@ void EncryptionService::RespondToClient(const CryptoRequest &request,
        }
 }
 
-void EncryptionService::RequestKey(unsigned id, const CryptoRequest &request)
+void EncryptionService::RequestKey(const CryptoRequest &request)
 {
-       MsgKeyRequest kReq(id, request.cred, request.name,
+       MsgKeyRequest kReq(request.msgId, request.cred, request.name,
                                           request.explicitOwner, request.password);
 
        if (!m_commMgr->SendMessage(kReq))
index 264b0fc..69eb452 100644 (file)
@@ -76,7 +76,7 @@ private:
        virtual void RespondToClient(const CryptoRequest &request,
                                                                 int retCode,
                                                                 const RawBuffer &data = RawBuffer());
-       virtual void RequestKey(unsigned id, const CryptoRequest &request);
+       virtual void RequestKey(const CryptoRequest &request);
 
        EncryptionLogic m_logic;
 };
index 7b40f2d..35281e2 100644 (file)
@@ -34,7 +34,7 @@ public:
        virtual void RespondToClient(const CryptoRequest &request,
                                                                 int retCode,
                                                                 const RawBuffer &data = RawBuffer()) = 0;
-       virtual void RequestKey(unsigned id, const CryptoRequest &request) = 0;
+       virtual void RequestKey(const CryptoRequest &request) = 0;
 };
 
 } // namespace CKM