From bf543a448001e042d62edab64c9611aab3f8eb8e Mon Sep 17 00:00:00 2001 From: Inkyun Kil Date: Tue, 10 Oct 2023 16:38:27 +0900 Subject: [PATCH] Removes dependency from openssl Change-Id: I5e94a00ca4d5605949a23f448851fbfaa134d8db Signed-off-by: Inkyun Kil --- CMakeLists.txt | 1 - packaging/message-port.spec | 1 - src/CMakeLists.txt | 1 - src/message_port_common.c | 77 +++++++++++++-------------------------------- 4 files changed, 21 insertions(+), 59 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 54ec963..66d5be3 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -30,7 +30,6 @@ PKG_CHECK_MODULES(DLOG_DEPS REQUIRED dlog) PKG_CHECK_MODULES(GLIB_DEPS REQUIRED glib-2.0) PKG_CHECK_MODULES(GIO_DEPS REQUIRED gio-2.0) PKG_CHECK_MODULES(AUL_DEPS REQUIRED aul) -PKG_CHECK_MODULES(OPENSSL_DEPS REQUIRED openssl3) PKG_CHECK_MODULES(BASE_COMMON_DEPS REQUIRED capi-base-common) PKG_CHECK_MODULES(PKGMGR_INFO_DEPS REQUIRED pkgmgr-info) PKG_CHECK_MODULES(GIO_UNIX_DEPS REQUIRED gio-unix-2.0) diff --git a/packaging/message-port.spec b/packaging/message-port.spec index 9ec9a23..51a2c50 100644 --- a/packaging/message-port.spec +++ b/packaging/message-port.spec @@ -13,7 +13,6 @@ BuildRequires: pkgconfig(glib-2.0) BuildRequires: pkgconfig(aul) BuildRequires: pkgconfig(pkgmgr) BuildRequires: pkgconfig(pkgmgr-info) -BuildRequires: pkgconfig(openssl3) BuildRequires: pkgconfig(gmock) %if 0%{?gcov:1} diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index a143372..1d07d92 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -16,7 +16,6 @@ APPLY_PKG_CONFIG(${TARGET_MESSAGE_PORT} PUBLIC DLOG_DEPS GLIB_DEPS AUL_DEPS - OPENSSL_DEPS BASE_COMMON_DEPS PKGMGR_INFO_DEPS GIO_UNIX_DEPS diff --git a/src/message_port_common.c b/src/message_port_common.c index cf515b1..77519bc 100644 --- a/src/message_port_common.c +++ b/src/message_port_common.c @@ -26,7 +26,6 @@ #include #include #include -#include #include #include #include @@ -296,86 +295,52 @@ int check_certificate(const char *local_appid, const char *remote_appid) char *get_encoded_name(const char *remote_app_id, const char *port_name, bool is_trusted) { - int prefix_len = strlen(MESSAGEPORT_BUS_NAME_PREFIX); + size_t prefix_len = strlen(MESSAGEPORT_BUS_NAME_PREFIX); int postfix_len = 1; char *postfix = is_trusted ? "1" : "0"; - char *temp; - int index = 0; - EVP_MD_CTX *mdctx; - char *md5_digest = NULL; - unsigned int md5_digest_len = EVP_MD_size(EVP_md5()); - int encoded_bus_name_len = prefix_len + postfix_len + (md5_digest_len * 2) + 2; - int bus_name_len = strlen(remote_app_id) + strlen(port_name) + 2; + gchar *encoded_bus_name; + size_t md5_digest_len = 0; + gssize bus_name_len = strlen(remote_app_id) + strlen(port_name) + 2; char *bus_name = (char *)calloc(bus_name_len, sizeof(char)); if (bus_name == NULL) { /* LCOV_EXCL_START */ _LOGE("bus_name calloc failed"); - return 0; + return NULL; /* LCOV_EXCL_STOP */ } snprintf(bus_name, bus_name_len, "%s_%s", remote_app_id, port_name); - // MD5_Init - mdctx = EVP_MD_CTX_new(); - if (mdctx == NULL) { -/* LCOV_EXCL_START */ - if (bus_name) - free(bus_name); - - _LOGE("EVP_MD_CTX_new failed!!"); - return 0; -/* LCOV_EXCL_STOP */ - } - EVP_DigestInit_ex(mdctx, EVP_md5(), NULL); + encoded_bus_name = g_compute_checksum_for_string(G_CHECKSUM_MD5, + bus_name, bus_name_len); - // MD5_Update - EVP_DigestUpdate(mdctx, bus_name, bus_name_len); + free(bus_name); - if (bus_name) - free(bus_name); - - // MD5_Final - unsigned char *c = - (unsigned char *)calloc(md5_digest_len, sizeof(unsigned char)); - if (c == NULL) { + if (encoded_bus_name == NULL) { /* LCOV_EXCL_START */ - _LOGE("calloc failed!!"); - EVP_MD_CTX_free(mdctx); - return 0; + _LOGE("g_compute_checksum_for_string failed"); + return NULL; /* LCOV_EXCL_STOP */ } - EVP_DigestFinal_ex(mdctx, c, &md5_digest_len); - EVP_MD_CTX_free(mdctx); - - md5_digest = (char *)calloc(encoded_bus_name_len, sizeof(char)); + // MD5_Final + md5_digest_len = prefix_len + postfix_len + strlen(encoded_bus_name) + 1; + char *md5_digest = (char *)calloc(md5_digest_len, sizeof(char)); if (md5_digest == NULL) { /* LCOV_EXCL_START */ - if (c) - free(c); + g_free(encoded_bus_name); - _LOGE("md5_digest calloc failed!!"); - return 0; + _LOGE("calloc failed!!"); + return NULL; /* LCOV_EXCL_STOP */ } - snprintf(md5_digest, encoded_bus_name_len, "%s", MESSAGEPORT_BUS_NAME_PREFIX); - temp = md5_digest; - temp += prefix_len; - - for (index = 0; index < md5_digest_len; index++) { - snprintf(temp, 3, "%02x", c[index]); - temp += 2; - } - - if (postfix && postfix_len > 0) - snprintf(temp, encoded_bus_name_len - (temp - md5_digest), "%s", postfix); - if (c) - free(c); + snprintf(md5_digest, md5_digest_len, "%s%s%s", + MESSAGEPORT_BUS_NAME_PREFIX, encoded_bus_name, postfix); - _LOGD("encoded_bus_name : %s ", md5_digest); + _LOGD("md5_encoded_bus_name : %s ", md5_digest); + g_free(encoded_bus_name); return md5_digest; } -- 2.7.4