[Messaging] Added privilege checks.
authorPawel Andruszkiewicz <p.andruszkie@samsung.com>
Thu, 19 Mar 2015 13:32:08 +0000 (14:32 +0100)
committerPawel Andruszkiewicz <p.andruszkie@samsung.com>
Wed, 25 Mar 2015 14:03:09 +0000 (23:03 +0900)
Change-Id: Iab61cce81895fed273a7f669cef523f57f8c97b0

src/messaging/messaging_instance.cc

index f3c01115df36c95aa6ead801b595298244093b0f..76af3e6a26e85019baed67f95352319b668fe2e2 100644 (file)
@@ -118,6 +118,9 @@ auto getServiceIdFromJSON = [](picojson::object& data) -> int {
     }
 };
 
+const std::string kPrivilegeMessagingRead  = "http://tizen.org/privilege/messaging.read";
+const std::string kPrivilegeMessagingWrite = "http://tizen.org/privilege/messaging.write";
+
 }
 
 MessagingInstance& MessagingInstance::getInstance()
@@ -201,6 +204,8 @@ void MessagingInstance::MessageServiceSendMessage(const picojson::value& args,
 {
     LoggerD("Entered");
 
+    CHECK_PRIVILEGE_ACCESS(kPrivilegeMessagingWrite, &out);
+
     if (!args.contains(JSON_DATA) || !args.contains(JSON_CALLBACK_ID) ||
         !args.get(JSON_CALLBACK_ID).is<double>()) {
       LoggerE("json is incorrect - missing required member");
@@ -253,6 +258,8 @@ void MessagingInstance::MessageServiceLoadMessageBody(const picojson::value& arg
 {
     LoggerD("Entered");
 
+    CHECK_PRIVILEGE_ACCESS(kPrivilegeMessagingWrite, &out);
+
     if (!args.contains(JSON_DATA) || !args.contains(JSON_CALLBACK_ID) ||
         !args.get(JSON_CALLBACK_ID).is<double>()) {
       LoggerE("json is incorrect - missing required member");
@@ -292,6 +299,8 @@ void MessagingInstance::MessageServiceLoadMessageAttachment(const picojson::valu
 {
     LoggerD("Entered");
 
+    CHECK_PRIVILEGE_ACCESS(kPrivilegeMessagingWrite, &out);
+
     if (!args.contains(JSON_DATA) || !args.contains(JSON_CALLBACK_ID) ||
         !args.get(JSON_CALLBACK_ID).is<double>()) {
       LoggerE("json is incorrect - missing required member");
@@ -323,6 +332,8 @@ void MessagingInstance::MessageServiceSync(const picojson::value& args,
 {
     LoggerD("Entered");
 
+    CHECK_PRIVILEGE_ACCESS(kPrivilegeMessagingWrite, &out);
+
     if (!args.contains(JSON_DATA) || !args.contains(JSON_CALLBACK_ID) ||
         !args.get(JSON_CALLBACK_ID).is<double>()) {
       LoggerE("json is incorrect - missing required member");
@@ -373,6 +384,8 @@ void MessagingInstance::MessageServiceSyncFolder(const picojson::value& args,
 {
     LoggerD("Entered");
 
+    CHECK_PRIVILEGE_ACCESS(kPrivilegeMessagingWrite, &out);
+
     if (!args.contains(JSON_DATA) || !args.contains(JSON_CALLBACK_ID) ||
         !args.get(JSON_CALLBACK_ID).is<double>()) {
       LoggerE("json is incorrect - missing required member");
@@ -469,6 +482,8 @@ void MessagingInstance::MessageStorageAddDraft(const picojson::value& args,
 {
     LoggerD("Entered");
 
+    CHECK_PRIVILEGE_ACCESS(kPrivilegeMessagingWrite, &out);
+
     if (!args.contains(JSON_DATA) || !args.contains(JSON_CALLBACK_ID) ||
         !args.get(JSON_CALLBACK_ID).is<double>()) {
       LoggerE("json is incorrect - missing required member");
@@ -507,6 +522,8 @@ void MessagingInstance::MessageStorageFindMessages(const picojson::value& args,
 {
     LoggerD("Entered");
 
+    CHECK_PRIVILEGE_ACCESS(kPrivilegeMessagingRead, &out);
+
     if (!args.contains(JSON_DATA) || !args.contains(JSON_CALLBACK_ID) ||
         !args.get(JSON_CALLBACK_ID).is<double>()) {
       LoggerE("json is incorrect - missing required member");
@@ -553,6 +570,8 @@ void MessagingInstance::MessageStorageRemoveMessages(const picojson::value& args
 {
     LoggerD("Entered");
 
+    CHECK_PRIVILEGE_ACCESS(kPrivilegeMessagingWrite, &out);
+
     if (!args.contains(JSON_DATA) || !args.contains(JSON_CALLBACK_ID) ||
         !args.get(JSON_CALLBACK_ID).is<double>()) {
       LoggerE("json is incorrect - missing required member");
@@ -591,6 +610,8 @@ void MessagingInstance::MessageStorageUpdateMessages(const picojson::value& args
 {
     LoggerD("Entered");
 
+    CHECK_PRIVILEGE_ACCESS(kPrivilegeMessagingWrite, &out);
+
     if (!args.contains(JSON_DATA) || !args.contains(JSON_CALLBACK_ID) ||
         !args.get(JSON_CALLBACK_ID).is<double>()) {
       LoggerE("json is incorrect - missing required member");
@@ -629,6 +650,8 @@ void MessagingInstance::MessageStorageFindConversations(const picojson::value& a
 {
     LoggerD("Entered");
 
+    CHECK_PRIVILEGE_ACCESS(kPrivilegeMessagingRead, &out);
+
     if (!args.contains(JSON_DATA) || !args.contains(JSON_CALLBACK_ID) ||
         !args.get(JSON_CALLBACK_ID).is<double>()) {
       LoggerE("json is incorrect - missing required member");
@@ -673,6 +696,8 @@ void MessagingInstance::MessageStorageRemoveConversations(const picojson::value&
 {
     LoggerD("Entered");
 
+    CHECK_PRIVILEGE_ACCESS(kPrivilegeMessagingWrite, &out);
+
     if (!args.contains(JSON_DATA) || !args.contains(JSON_CALLBACK_ID) ||
         !args.get(JSON_CALLBACK_ID).is<double>()) {
       LoggerE("json is incorrect - missing required member");
@@ -712,6 +737,8 @@ void MessagingInstance::MessageStorageFindFolders(const picojson::value& args,
 {
     LoggerD("Entered");
 
+    CHECK_PRIVILEGE_ACCESS(kPrivilegeMessagingRead, &out);
+
     if (!args.contains(JSON_DATA) || !args.contains(JSON_CALLBACK_ID) ||
         !args.get(JSON_CALLBACK_ID).is<double>()) {
       LoggerE("json is incorrect - missing required member");
@@ -745,6 +772,8 @@ void MessagingInstance::MessageStorageAddMessagesChangeListener(const picojson::
 {
     LoggerD("Entered");
 
+    CHECK_PRIVILEGE_ACCESS(kPrivilegeMessagingRead, &out);
+
     if (!args.contains(JSON_DATA) || !args.contains(JSON_CALLBACK_ID) ||
         !args.get(JSON_CALLBACK_ID).is<double>()) {
       LoggerE("json is incorrect - missing required member");
@@ -784,6 +813,8 @@ void MessagingInstance::MessageStorageAddConversationsChangeListener(const picoj
 {
     LoggerD("Entered");
 
+    CHECK_PRIVILEGE_ACCESS(kPrivilegeMessagingRead, &out);
+
     if (!args.contains(JSON_DATA) || !args.contains(JSON_CALLBACK_ID) ||
         !args.get(JSON_CALLBACK_ID).is<double>()) {
       LoggerE("json is incorrect - missing required member");
@@ -823,6 +854,8 @@ void MessagingInstance::MessageStorageAddFolderChangeListener(const picojson::va
 {
     LoggerD("Entered");
 
+    CHECK_PRIVILEGE_ACCESS(kPrivilegeMessagingRead, &out);
+
     if (!args.contains(JSON_DATA) || !args.contains(JSON_CALLBACK_ID) ||
         !args.get(JSON_CALLBACK_ID).is<double>()) {
       LoggerE("json is incorrect - missing required member");
@@ -862,6 +895,8 @@ void MessagingInstance::MessageStorageRemoveChangeListener(const picojson::value
 {
     LoggerD("Entered");
 
+    CHECK_PRIVILEGE_ACCESS(kPrivilegeMessagingRead, &out);
+
     if (!args.contains(JSON_DATA) || !args.contains(JSON_CALLBACK_ID) ||
         !args.get(JSON_CALLBACK_ID).is<double>()) {
       LoggerE("json is incorrect - missing required member");