add routine for security check 40/49440/1 accepted/tizen/mobile/20151014.092759 accepted/tizen/tv/20151014.092823 accepted/tizen/wearable/20151014.092830 submit/tizen/20151014.050059
authorJeongmo Yang <jm80.yang@samsung.com>
Tue, 13 Oct 2015 08:15:11 +0000 (17:15 +0900)
committerJeongmo Yang <jm80.yang@samsung.com>
Tue, 13 Oct 2015 08:15:11 +0000 (17:15 +0900)
Change-Id: I9cd9288a912e5dd5f3c07542c22490030ef66cf8
Signed-off-by: Jeongmo Yang <jm80.yang@samsung.com>
muse/src/muse_recorder_dispatcher.c
packaging/mmsvc-recorder.spec

index 5338291e81bd745612b6fb93eb2a0684bb00d9c0..fb4ef85c6ea33251639817e6acc4badf2638a6bc 100644 (file)
 #include <stdio.h>
 #include "muse_recorder.h"
 #include "muse_recorder_msg.h"
-#include "muse_core.h"
-#include "muse_core_ipc.h"
-#include "mm_types.h"
 #include "legacy_recorder.h"
+#include <muse_core.h>
+#include <muse_core_ipc.h>
+#include <muse_core_security.h>
+#include <mm_types.h>
 #include <dlog.h>
 
 #ifdef LOG_TAG
@@ -34,6 +35,9 @@
 #endif
 #define LOG_TAG "MMSVC_RECORDER"
 
+#define RECORDER_PRIVILEGE_NAME "http://tizen.org/privilege/recorder"
+
+
 void _recorder_disp_recording_limit_reached_cb(recorder_recording_limit_type_e type, void *user_data)
 {
        muse_module_h module = (muse_module_h)user_data;
@@ -217,9 +221,22 @@ int recorder_dispatcher_create(muse_module_h module)
        muse_recorder_info_s *recorder_data;
        tbm_bufmgr bufmgr;
        int recorder_type;
+       int client_fd = -1;
        intptr_t handle;
+
        LOGD("Enter");
+
        muse_recorder_msg_get(recorder_type, muse_core_client_get_msg(module));
+
+       /* privilege check */
+       client_fd = muse_core_client_get_msg_fd(module);
+       if (!muse_core_security_check_cynara(client_fd, RECORDER_PRIVILEGE_NAME)) {
+               LOGE("security check failed");
+               ret = RECORDER_ERROR_PERMISSION_DENIED;
+               muse_recorder_msg_return(api, ret, module);
+               return MUSE_RECORDER_ERROR_NONE;
+       }
+
        if (recorder_type == MUSE_RECORDER_TYPE_VIDEO) {
                muse_recorder_msg_get_pointer(camera_handle, muse_core_client_get_msg(module));
                LOGD("video type, camera handle : 0x%x", camera_handle);
index 8473b65d4365ec21fd1fc1bda1c9a4fc2b6ffa2f..8c08024054fa1a914058c9cb89fc4427b565e9c1 100644 (file)
@@ -1,7 +1,7 @@
 Name:       mmsvc-recorder
 Summary:    A Recorder module for muse server
-Version:    0.2.2
-Release:    1
+Version:    0.2.3
+Release:    0
 Group:      Multimedia/Libraries
 License:    Apache-2.0
 Source0:    %{name}-%{version}.tar.gz