Removes dependency from openssl 80/299780/6
authorInkyun Kil <inkyun.kil@samsung.com>
Tue, 10 Oct 2023 07:38:27 +0000 (16:38 +0900)
committerInkyun Kil <inkyun.kil@samsung.com>
Wed, 11 Oct 2023 01:03:10 +0000 (10:03 +0900)
Change-Id: I5e94a00ca4d5605949a23f448851fbfaa134d8db
Signed-off-by: Inkyun Kil <inkyun.kil@samsung.com>
CMakeLists.txt
packaging/message-port.spec
src/CMakeLists.txt
src/message_port_common.c

index 54ec963..66d5be3 100644 (file)
@@ -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)
index 9ec9a23..51a2c50 100644 (file)
@@ -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}
index a143372..1d07d92 100644 (file)
@@ -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
index cf515b1..77519bc 100644 (file)
@@ -26,7 +26,6 @@
 #include <stdio.h>
 #include <glib.h>
 #include <gio/gio.h>
-#include <openssl/evp.h>
 #include <gio/gio.h>
 #include <pthread.h>
 #include <glib-unix.h>
@@ -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;
 }