[v0.2.36] add path condition to check user media storage privilege 01/97801/1 accepted/tizen/common/20161115.200702 accepted/tizen/ivi/20161115.234314 accepted/tizen/mobile/20161115.234052 accepted/tizen/tv/20161115.234207 accepted/tizen/wearable/20161115.234250 submit/tizen/20161115.062308
authorEunhae Choi <eunhae1.choi@samsung.com>
Tue, 15 Nov 2016 05:30:11 +0000 (14:30 +0900)
committerEunhae Choi <eunhae1.choi@samsung.com>
Tue, 15 Nov 2016 05:32:10 +0000 (14:32 +0900)
Change-Id: I6e1d29624a5eedca4e8b9217e9041be0f94daa93

muse/src/muse_player.c
packaging/mmsvc-player.spec

index 3fd69fe37f7469d666d6fb85c4978149ed5191f1..6e5cd87cd34319f88a2756697ead5423fe27b951 100644 (file)
@@ -35,7 +35,9 @@
 
 #define INVALID_DEFAULT_VALUE -1
 
-#define MEDIA_PATH_EXTERNAL             tzplatform_getenv(TZ_SYS_STORAGE) /* external storage */
+#define MEDIA_PATH_EXTERNAL  tzplatform_getenv(TZ_SYS_STORAGE)  /* external storage, or TZ_SYS_MEDIA */
+#define MEDIA_PATH_USER      tzplatform_getenv(TZ_USER_CONTENT) /* user media storage */
+
 #define MEDIA_STORAGE_PRIVILEGE_NAME    "http://tizen.org/privilege/mediastorage"
 #define EXTERNAL_STORAGE_PRIVILEGE_NAME "http://tizen.org/privilege/externalstorage"
 #define INTERNET_PRIVILEGE_NAME         "http://tizen.org/privilege/internet"
@@ -340,12 +342,17 @@ static int _check_supportable(muse_module_h module, char *path)
                                file_path = path+7; /* remove file prefix */
                }
 
-               if (strncmp(file_path, MEDIA_PATH_EXTERNAL, strlen(MEDIA_PATH_EXTERNAL)) == 0)
-                       privilege = EXTERNAL_STORAGE_PRIVILEGE_NAME;
-               else
-                       privilege = MEDIA_STORAGE_PRIVILEGE_NAME;
+               if (!privilege) {
+                       if (strncmp(file_path, MEDIA_PATH_EXTERNAL, strlen(MEDIA_PATH_EXTERNAL)) == 0)
+                               privilege = EXTERNAL_STORAGE_PRIVILEGE_NAME;
+                       else if (strncmp(file_path, MEDIA_PATH_USER, strlen(MEDIA_PATH_USER)) == 0)
+                               privilege = MEDIA_STORAGE_PRIVILEGE_NAME;
+                       else
+                               return PLAYER_ERROR_NONE;
+               }
        }
 
+       LOGD("privilege check : %s", privilege);
        if (!muse_core_security_check_cynara(client_fd, privilege)) {
                ret = PLAYER_ERROR_PERMISSION_DENIED;
                LOGE("security check failed %s", privilege);
index 423dd9b1577eeab587e117ce5fe70d81517db3bc..92757f9eccc9c038b62af11e927dd5686378e632 100644 (file)
@@ -1,6 +1,6 @@
 Name:       mmsvc-player
 Summary:    A Media Player module for muse server
-Version:    0.2.35
+Version:    0.2.36
 Release:    0
 Group:      Multimedia/Libraries
 License:    Apache-2.0