Access provider : Add setting rules for subject 14/81214/2
authorZofia Abramowska <z.abramowska@samsung.com>
Fri, 22 Jul 2016 16:48:56 +0000 (18:48 +0200)
committerZofia Abramowska <z.abramowska@samsung.com>
Wed, 10 Aug 2016 08:38:20 +0000 (10:38 +0200)
Change-Id: I2d7c9672227e427a19d009dddd8454163ec35262

src/common/access_provider.cpp
src/common/access_provider.h

index e9f91dcc52a774bced4181c6b1b46ba878d92d42..1d3257a736e1445be3206e7c9e9decf2d46bce0b 100644 (file)
 
 namespace SecurityServer {
 
-AccessProvider::AccessProvider(const std::string &mySubject)
-  : m_mySubject(mySubject)
+AccessProvider::AccessProvider(const std::string &myLabel)
+  : m_myLabel(myLabel)
 {}
 
 void AccessProvider::allowSS() {
-    m_smackAccess.add(m_mySubject, "System::Run", "x");
+    m_smackAccess.add(m_myLabel, "System::Run", "x");
+}
+
+void AccessProvider::addSubjectRule(const std::string &subject, const std::string &rule) {
+    m_smackAccess.add(subject, m_myLabel, rule);
 }
 
 void AccessProvider::addObjectRule(const std::string &object, const std::string &rule) {
-    m_smackAccess.add(m_mySubject, object, rule);
+    m_smackAccess.add(m_myLabel, object, rule);
 }
 
 void AccessProvider::apply() {
@@ -48,10 +52,10 @@ void AccessProvider::apply() {
 }
 
 void AccessProvider::applyAndSwithToUser(int uid, int gid) {
-    RUNNER_ASSERT_MSG(0 == smack_revoke_subject(m_mySubject.c_str()),
-        "Error in smack_revoke_subject(" << m_mySubject << ")");
+    RUNNER_ASSERT_MSG(0 == smack_revoke_subject(m_myLabel.c_str()),
+        "Error in smack_revoke_subject(" << m_myLabel << ")");
     apply();
-    RUNNER_ASSERT_MSG(0 == smack_set_label_for_self(m_mySubject.c_str()),
+    RUNNER_ASSERT_MSG(0 == smack_set_label_for_self(m_myLabel.c_str()),
         "Error in smack_set_label_for_self.");
     RUNNER_ASSERT_MSG(0 == setgid(gid),
         "Error in setgid.");
index 452d4180363092285554d65341781f1a0deedb53..26124b4cbfdea54e79d664b08a0657bdbf51cd5b 100644 (file)
@@ -30,11 +30,12 @@ namespace SecurityServer {
 
 class AccessProvider {
 public:
-    AccessProvider(const std::string &mySubject);
+    AccessProvider(const std::string &myLabel);
 
     AccessProvider(const AccessProvider &second) = delete;
     AccessProvider& operator=(const AccessProvider &second) = delete;
 
+    void addSubjectRule(const std::string &subject, const std::string &rule);
     void addObjectRule(const std::string &object, const std::string &rule);
     void allowSS();
     void apply();
@@ -42,7 +43,7 @@ public:
 
     virtual ~AccessProvider(){}
 private:
-    std::string m_mySubject;
+    std::string m_myLabel;;
     SmackAccess m_smackAccess;
 };