Modify ms_sys_get_uid 08/307208/1
authorminje.ahn <minje.ahn@samsung.com>
Wed, 6 Mar 2024 04:57:17 +0000 (13:57 +0900)
committerminje.ahn <minje.ahn@samsung.com>
Wed, 6 Mar 2024 04:57:17 +0000 (13:57 +0900)
Change-Id: Iaf45d6e7556e45a323a40080ee7b25cc5d40d2ec
Signed-off-by: minje.ahn <minje.ahn@samsung.com>
lib/include/media-util.h
src/common/include/media-common-system.h
src/common/media-common-system.c
src/server/media-server-db-manage.c
src/server/media-server-device-block.c
src/server/media-server-main.c

index d37c15e..a4ff9bc 100644 (file)
@@ -37,8 +37,6 @@
 #define MEDIA_DB_SPACE_LIMIT 20971520
 #endif
 
-#define MEDIA_DEFAULT_UID 5001
-
 #define MS_SAFE_FREE(src)              { if (src) {free(src); src = NULL; } }
 #define MS_STRING_VALID(str)   (str && strlen(str) > 0)
 
index 3f4ae5d..c09b727 100644 (file)
@@ -53,5 +53,5 @@ void ms_sys_unset_device_block_event_cb(void);
 int ms_sys_get_device_list(GSList **dev_list);
 
 void ms_sys_unset_poweroff_cb(void);
-int ms_sys_get_uid(uid_t *uid);
+uid_t ms_sys_get_uid(void);
 #endif
index 840c844..a44e53b 100644 (file)
@@ -384,18 +384,18 @@ void ms_sys_unset_poweroff_cb(void)
 }
 #endif /*_USE_TVPD_MODE*/
 
-int ms_sys_get_uid(uid_t *uid)
+
+#define MEDIA_DEFAULT_UID 5001
+uid_t ms_sys_get_uid(void)
 {
        uid_t *list = NULL;
-       int users = -1;
-       users = sd_get_uids(&list);
-       if (users > 0) {
-               *uid = list[0];
-               MS_SAFE_FREE(list);
-       } else {
-               MS_DBG_ERR("No login user!.");
-               MS_SAFE_FREE(list);
-               return MS_MEDIA_ERR_INTERNAL;
+       uid_t result = 0;
+
+       if (sd_get_uids(&list) > 0) {
+               result = list[0];
+               free(list);
+               return result;
        }
-       return MS_MEDIA_ERR_NONE;
+
+       return MEDIA_DEFAULT_UID;
 }
index 8946566..3027501 100644 (file)
@@ -114,9 +114,7 @@ int ms_check_mediadb(uid_t uid, bool *is_reset)
 int ms_check_corrupt_mediadb(void)
 {
        sqlite3 *db_handle = NULL;
-       uid_t uid = MEDIA_DEFAULT_UID;
-
-       ms_sys_get_uid(&uid);
+       uid_t uid = ms_sys_get_uid();
 
        if (media_db_connect(&db_handle, uid, false) != MS_MEDIA_ERR_NONE) {
                MS_DBG_ERR("Failed to connect DB");
index 3e3bd5f..55e0b8d 100644 (file)
@@ -41,10 +41,9 @@ int ms_storage_insert_handler(const char *mount_path, const char *mount_uuid)
        char *storage_path = NULL;
        sqlite3 *handle = NULL;
        int validity = 0;
-       uid_t uid = MEDIA_DEFAULT_UID;
+       uid_t uid = ms_sys_get_uid();
        ms_dir_scan_type_t scan_type = MS_SCAN_ALL;
 
-       ms_sys_get_uid(&uid);
        ms_connect_db(&handle, uid);
 
        if (mount_path != NULL && mount_uuid != NULL) {
@@ -113,17 +112,15 @@ ERROR:
 void ms_storage_remove_handler(const char *mount_path, const char *mount_uuid)
 {
        sqlite3 *handle = NULL;
-       uid_t uid = MEDIA_DEFAULT_UID;
+       uid_t uid = ms_sys_get_uid();
 
        if (mount_path != NULL && mount_uuid != NULL) {
-               ms_sys_get_uid(&uid);
                ms_connect_db(&handle, uid);
                ms_set_storage_validity(handle, mount_uuid, 0, uid);
                ms_send_storage_otg_scan_request(mount_path, mount_uuid, MS_SCAN_INVALID, uid);
 
                ms_disconnect_db(handle);
        } else if (mount_path != NULL && g_strcmp0(mount_path, STORAGE_REMOVED) == 0) {
-               ms_sys_get_uid(&uid);
                ms_connect_db(&handle, uid);
                ms_set_all_storage_validity(handle, 0, uid);
 
@@ -140,7 +137,7 @@ static void __ms_usb_add_event(const char *mount_path)
        sqlite3 *handle = NULL;
        int validity = 0;
        ms_dir_scan_type_t scan_type = MS_SCAN_ALL;
-       uid_t uid = MEDIA_DEFAULT_UID;
+       uid_t uid = ms_sys_get_uid();
 
        ms_connect_db(&handle, uid);
 
@@ -202,7 +199,7 @@ static void __ms_usb_remove_event(const char *mount_path)
        int ret = MS_MEDIA_ERR_NONE;
        sqlite3 *handle = NULL;
        char device_id[MS_UUID_SIZE] = {0,};
-       uid_t uid = MEDIA_DEFAULT_UID;
+       uid_t uid = ms_sys_get_uid();
 
        if (!mount_path)
                return;
@@ -245,7 +242,7 @@ void ms_device_block_changed_cb(usb_device_h usb_device, char *action, void *use
 {
        char *mount_path = NULL;
        bool is_reset = false;
-       uid_t uid = MEDIA_DEFAULT_UID;
+       uid_t uid = ms_sys_get_uid();
 
        MS_DBG_WARN("usb_event_callback BEGIN[%s]", action);
        if (!usb_device) {
@@ -261,8 +258,6 @@ void ms_device_block_changed_cb(usb_device_h usb_device, char *action, void *use
 
        mount_path = usb_device_get_mountpath(usb_device);
 
-       ms_sys_get_uid(&uid);
-
        if (!strcmp(action, "mounted")) {
                MS_DBG_SWARN("USB MOUNTED, mountpath : %s", mount_path);
                ms_check_mediadb(uid, &is_reset);
index 3a3766a..fd91cbd 100644 (file)
@@ -63,7 +63,7 @@ static bool __ms_is_external_supported(void);
 static bool __ms_deal_reset_status(void)
 {
        int value = 0;
-       uid_t uid = MEDIA_DEFAULT_UID;
+       uid_t uid = ms_sys_get_uid();
 
        if (!ms_config_get_int(MS_VCONF_KEY_RESET_STATUS, &value)) {
                MS_DBG_ERR("get db/media_server/reset_status failed");
@@ -92,7 +92,7 @@ static void __ms_smarthub_vconf_cb(void *data)
 {
        int status = 0;
        int scanner_pid = 0;
-       uid_t uid = MEDIA_DEFAULT_UID;
+       uid_t uid = ms_sys_get_uid();
 
        if (!power_off) {
                if (!ms_config_get_int(SMARTHUB_RESET_VCONF, &status))
@@ -194,7 +194,7 @@ int main(int argc, char **argv)
                return -1;
        }
 
-       uid_t uid = MEDIA_DEFAULT_UID;
+       uid_t uid = ms_sys_get_uid();
        uint64_t db_size = 0;
        uint64_t free_space = 0;
 
@@ -342,12 +342,10 @@ static void __ms_check_mediadb(void)
 {
        int ret = MS_MEDIA_ERR_NONE;
 #ifdef _USE_TVPD_MODE
-       uid_t uid = MEDIA_DEFAULT_UID;
+       uid_t uid = ms_sys_get_uid();
 
        sqlite3 *db_handle = NULL;
 
-       ms_sys_get_uid(&uid);
-
        ret = ms_connect_db(&db_handle, uid);
        if (ret != MS_MEDIA_ERR_NONE) {
                MS_DBG_ERR("ms_connect_db failed [%d]", ret);
@@ -370,7 +368,6 @@ static void __ms_check_mediadb(void)
 
 /* auto scan tv interal storage */
        char *internal_path = NULL;
-       ms_sys_get_uid(&uid);
        ms_user_get_internal_root_path(uid, &internal_path);
        ms_send_storage_scan_request(internal_path, INTERNAL_STORAGE_ID, MS_SCAN_PART, uid);
        g_free(internal_path);