From: Zofia Abramowska Date: Fri, 22 Jul 2016 16:48:56 +0000 (+0200) Subject: Access provider : Add setting rules for subject X-Git-Tag: security-manager_5.5_testing~7^4~19 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=a13399d77b98be035c5c15c727583cff4624a44c;p=platform%2Fcore%2Ftest%2Fsecurity-tests.git Access provider : Add setting rules for subject Change-Id: I2d7c9672227e427a19d009dddd8454163ec35262 --- diff --git a/src/common/access_provider.cpp b/src/common/access_provider.cpp index e9f91dcc..1d3257a7 100644 --- a/src/common/access_provider.cpp +++ b/src/common/access_provider.cpp @@ -31,16 +31,20 @@ 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."); diff --git a/src/common/access_provider.h b/src/common/access_provider.h index 452d4180..26124b4c 100644 --- a/src/common/access_provider.h +++ b/src/common/access_provider.h @@ -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; };