Return different error if backend call fails 94/289694/7 e2ee
authorKrzysztof Jackiewicz <k.jackiewicz@samsung.com>
Mon, 13 Mar 2023 14:46:39 +0000 (15:46 +0100)
committerKrzysztof Jackiewicz <k.jackiewicz@samsung.com>
Wed, 22 Mar 2023 15:48:56 +0000 (16:48 +0100)
DCM_ERROR_INVALID_PARAMETER seems more appropriate than
DCM_ERROR_NO_DATA. It's triggered e.g. when incompatible digest type is
passed as an argument.

Change-Id: I1957464c9ae4789a4c7a4d4532687f8d66d0c1a5

src/dcm-client/dcm_client.cpp
src/dcm-daemon/dcm_session.cpp

index 6797fc43e4ff45cfb2828bb4aa7a7a150ff867f7..1bbc247d1c2b934bf974df06c474de2c3133133c 100644 (file)
@@ -246,7 +246,7 @@ int dcm_client_connection::sign_data(
                auto& sign_resp(response.sign_data());
                if(sign_resp.result() != 0) {
                        LOGE("Signature request for session %p received error %d", this, sign_resp.result());
-                       return DCM_ERROR_NO_DATA;
+                       return DCM_ERROR_INVALID_PARAMETER;
                }
 
                const auto& signature = sign_resp.signature();
@@ -299,7 +299,7 @@ int dcm_client_connection::e2ee_sign_data(
                auto& sign_resp(response.sign_data());
                if(sign_resp.result() != 0) {
                        LOGE("E2EE signature request for session %p received error %d", this, sign_resp.result());
-                       return DCM_ERROR_NO_DATA;
+                       return DCM_ERROR_INVALID_PARAMETER;
                }
 
                const auto& signature = sign_resp.signature();
index 7e9b2c9237fdbb5a4c0c78df0ec9eeb55e2552a5..03fd0e5eaeb92dd29940b809b99310940d21cd3c 100644 (file)
@@ -444,6 +444,8 @@ void dcm_session::handle_sign_request(const SignRequest& message)
        } else {
                ret = sign(
                        message.digest_type(), message.data_to_sign(), *signingResponse->mutable_signature());
+               if (ret != 0)
+                       LOGE("Signing failed");
        }
        signingResponse->set_result(ret);
        reply(msg);
@@ -479,6 +481,8 @@ void dcm_session::handle_e2ee_sign_request(const SignRequest& message)
                        ret = -EINVAL; // TODO validate digest algorithms and return proper error to client
                } else {
                        ret = sign(message.digest_type(), digest, *signingResponse->mutable_signature());
+                       if (ret != 0)
+                               LOGE("Signing failed");
                        signingResponse->set_message(composed);
                }
        }