From: Krzysztof Jackiewicz Date: Mon, 13 Mar 2023 14:46:39 +0000 (+0100) Subject: Return different error if backend call fails X-Git-Tag: accepted/tizen/unified/20230407.140024~3^2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=refs%2Fheads%2Fe2ee;p=platform%2Fcore%2Fsecurity%2Fdevice-certificate-manager.git Return different error if backend call fails 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 --- diff --git a/src/dcm-client/dcm_client.cpp b/src/dcm-client/dcm_client.cpp index 6797fc4..1bbc247 100644 --- a/src/dcm-client/dcm_client.cpp +++ b/src/dcm-client/dcm_client.cpp @@ -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(); diff --git a/src/dcm-daemon/dcm_session.cpp b/src/dcm-daemon/dcm_session.cpp index 7e9b2c9..03fd0e5 100644 --- a/src/dcm-daemon/dcm_session.cpp +++ b/src/dcm-daemon/dcm_session.cpp @@ -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); } }