${COMMON_PATH}/dpl/core/src/noncopyable.cpp
${COMMON_PATH}/dpl/core/src/serialization.cpp
${COMMON_PATH}/dpl/core/src/singleton.cpp
- ${COMMON_PATH}/service/security-manager-common.cpp
)
INCLUDE_DIRECTORIES(SYSTEM
#include "protocols.h"
#include "security-manager.h"
#include "smack-rules.h"
-#include "security-manager-common.h"
namespace SecurityManager {
switch (pathType) {
case SECURITY_MANAGER_PATH_PRIVATE:
- if(!generateAppLabel(pkgId,label))
+ if (!SmackRules::generateAppLabel(pkgId, label))
return false;
label_executables = true;
label_transmute = false;
+++ /dev/null
-/*
- * Copyright (c) 2000 - 2014 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Contact: Rafal Krypa <r.krypa@samsung.com>
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License
- */
-/**
- * @file security-manager-common.cpp
- * @author Jan Cybulski <j.cybulski@samsung.com>
- * @version 1.0
- * @brief This file contains implementation of utility functions for security-manager
- *
- */
-
-
-#include "security-manager-common.h"
-
-
-namespace SecurityManager {
-
-bool generateAppLabel(const std::string &appPkgId, std::string &label)
-{
- (void) appPkgId; //todo use pkgId to generate label
- label = "User";
- return true;
-}
-
-} // namespace SecurityManager
-
+++ /dev/null
-/*
- * Copyright (c) 2000 - 2014 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Contact: Rafal Krypa <r.krypa@samsung.com>
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License
- */
-/**
- * @file security-manager-common.h
- * @author Jan Cybulski <j.cybulski@samsung.com>
- * @version 1.0
- * @brief This file is header for utility functions for security-manager
- *
- */
-#ifndef _SECURITY_MANAGER_COMMON_H_
-#define _SECURITY_MANAGER_COMMON_H_
-
-#include <string>
-
-
-namespace SecurityManager {
-
-/**
- * This function generates label for application with package identifier
- * read from @ref appPkgId and assigns it to @ref label.
- * @param[in] appPkgId application's package identifier.
- * @param[out] label string into which application's label will be stored into.
- * @return true on success, false on error.
- */
-bool generateAppLabel(const std::string &appPkgId, std::string &label);
-
-
-} // namespace SecurityManager
-
-#endif
#include <dpl/log/log.h>
#include "smack-rules.h"
-#include "security-manager-common.h"
namespace SecurityManager {
const char *const APP_RULES_TEMPLATE_FILE_PATH = "/etc/smack/app-rules-template.smack";
const char *const APP_RULES_DIRECTORY = "/etc/smack/accesses.d/";
+bool SmackRules::generateAppLabel(const std::string &appPkgId, std::string &label)
+{
+ (void) appPkgId; //todo use pkgId to generate label
+ label = "User";
+ return true;
+}
+
SmackRules::SmackRules()
{
if (smack_accesses_new(&m_handle) < 0) {
}
if (subjectIsTemplate) {
- if (!SecurityManager::generateAppLabel(pkgId, subject)) {
+ if (!generateAppLabel(pkgId, subject)) {
LogError("Failed to generate app label from pkgid: " << pkgId);
return false;
}
}
if (objectIsTemplate) {
- if (!SecurityManager::generateAppLabel(pkgId, object)) {
+ if (!generateAppLabel(pkgId, object)) {
LogError("Failed to generate app label from pkgid: " << pkgId);
return false;
}
* false otherwise
*/
static bool uninstallPackageRules(const std::string &pkgId);
+
+ /**
+ * Generates label for application with package identifier
+ * read from @ref appPkgId and assigns it to @ref label.
+ * @param[in] appPkgId application's package identifier.
+ * @param[out] label string into which application's label will be stored into.
+ * @return true on success, false on error.
+ */
+ static bool generateAppLabel(const std::string &appPkgId, std::string &label);
+
private:
static std::string getPackageRulesFilePath(const std::string &pkgId);