refactoring: remove the remains of internal.cpp 02/202902/6
authorAdrian Szyndela <adrian.s@samsung.com>
Fri, 5 Apr 2019 10:20:30 +0000 (12:20 +0200)
committerAdrian Szyndela <adrian.s@samsung.com>
Thu, 11 Apr 2019 15:16:45 +0000 (17:16 +0200)
This removes the remains of internal.cpp by replacing all __internal_init
functions with more direct calls.

This allows removing of internal.cpp.

Change-Id: I064d919d06a25888cae6079bf9d37cd535f9b8b6

19 files changed:
Makefile.am
src/internal/internal.cpp [deleted file]
src/internal/internal.h
src/internal/naive_policy_checker.cpp
src/internal/serializer.cpp
src/libdbuspolicy1.cpp
src/stest_load_perf.cpp
src/test-libdbuspolicy1-access-deny-gdi.cpp
src/test-libdbuspolicy1-access-deny.cpp
src/test-libdbuspolicy1-method-gdi.cpp
src/test-libdbuspolicy1-method.cpp
src/test-libdbuspolicy1-ownership-deny-gdi.cpp
src/test-libdbuspolicy1-ownership-deny.cpp
src/test-libdbuspolicy1-ownership-gdi.cpp
src/test-libdbuspolicy1-ownership.cpp
src/test-libdbuspolicy1-send_destination_prefix-deny-gdi.cpp
src/test-libdbuspolicy1-send_destination_prefix-deny.cpp
src/test-libdbuspolicy1-signal-gdi.cpp
src/test-libdbuspolicy1-signal.cpp

index 420809a..c544561 100644 (file)
@@ -54,7 +54,6 @@ COMMON_SRC =\
        src/libdbuspolicy1-private.h \
        src/libdbuspolicy1.cpp \
        src/kdbus.cpp \
-       src/internal/internal.cpp \
        src/internal/naive_policy_checker.cpp \
        src/internal/policy.cpp \
        src/internal/own_tree.cpp \
diff --git a/src/internal/internal.cpp b/src/internal/internal.cpp
deleted file mode 100644 (file)
index c0bea31..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * Copyright (c) 2015-2019 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * 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
- * \ingroup Implementation
- */
-#include "internal.h"
-#include "naive_policy_checker.hpp"
-#include "policy.hpp"
-#include "tslog.hpp"
-#include "xml_parser.hpp"
-#include <cassert>
-#include <dbuspolicy1/libdbuspolicy1.h>
-#include <iostream>
-#include <string>
-
-using namespace ldp_xml_parser;
-
-int __internal_init_serialized(BusType bus_type, const char *config_name, const char *serialized_filename)
-{
-       assert(config_name);
-       assert(config_name[0]);
-
-       auto ok = policy_checker(bus_type).initDb(config_name, serialized_filename);
-       if (tslog::enabled())
-               policy_checker(bus_type).printContent();
-       return ok ? 0 : -1;
-}
-
-int __internal_init(BusType bus_type, const char* const config_name)
-{
-       return __internal_init_serialized(bus_type, config_name, nullptr);
-}
-
-int __internal_init_auto_serialized(BusType bus_type, const char *config_name)
-{
-       return __internal_init_serialized(bus_type, config_name, std::string(config_name).append(".serialized").c_str());
-}
index 11302f3..9cd1516 100644 (file)
 #ifndef _LIBDBUSPOLICY1_INTERNAL_H_
 #define _LIBDBUSPOLICY1_INTERNAL_H_
 
-#include "bus_names_array.hpp"
-#include <pthread.h>
-#include <stdbool.h>
-#include <stdint.h>
-#include <sys/types.h>
-
 typedef enum {
        SYSTEM_BUS = 0,
        SESSION_BUS = 1
 } BusType;
 
-/** Initializes policies from given policy configuration file name
- * \param[in] bus_type Bus type (system/session)
- * \param[in] config_name Configuration file name
- */
-int __internal_init(BusType bus_type, const char* const config_name);
-
-/** Initializes policies from given serialized policy configuration file name
- *   but in case of failure uses provided XML policy configuration file name
- * \param[in] bus_type Bus type (system/session)
- * \param[in] config_name Configuration file name
- * \param[in] serialized_filename Serialized policy file name
- */
-int __internal_init_serialized(BusType bus_type,
-                                                          const char* const config_name,
-                                                          const char *serialized_filename);
-
-/** Tries to initialize policy from serialized policy file name made up from
- * standard XML policy file name by adding ".serialized" suffix to it.
- * In case of failure initializes policy from given XML policy file name
- * \param[in] bus_type Bus type (system/session)
- * \param[in] config_name XML configuration file name
- */
-int __internal_init_auto_serialized(BusType bus_type, const char* const config_name);
-
 #endif
index 48666fa..8939f3f 100644 (file)
@@ -216,17 +216,30 @@ void NaivePolicyChecker::updateGroupDb(uid_t uid, gid_t gid)
 
 bool NaivePolicyChecker::initDb(const char *config_name, const char *serialized_filename)
 {
+       assert(config_name);
+       assert(config_name[0]);
+
+       bool result = false;
        m_bus_db.release();
 
        if (serialized_filename) {
                if (m_bus_db.init(serialized_filename))
-                       return true;
+                       result = true;
        }
 
-       tslog::logWarning(std::string(serialized_filename?:"<no_serialized_filename>").append(": serialized policy file not found, using XML policy file"));
+       if (!result) {
+               tslog::logWarning(std::string(serialized_filename?:"<no_serialized_filename>")
+                               .append(": serialized policy file not found, using XML policy file"));
+
+               // fallback - we have only XML files
+               result = m_bus_db.initFromXML(config_name);
+       }
+
+       if (result && tslog::enabled()) {
+               printContent();
+       }
 
-       // fallback - we have only XML files
-       return m_bus_db.initFromXML(config_name);
+       return result;
 }
 
 void NaivePolicyChecker::printContent()
index 5d438c8..869a718 100644 (file)
@@ -116,12 +116,11 @@ uint8_t* Serializer::serialize(const ldp_xml::StorageBackendXML &db, size_t &siz
 }
 
 uint8_t* Serializer::serialize(const std::string config_path, size_t &size) {
-       // SYSTEM_BUS here because something had to be choosen
        tslog::init();
        ldp_xml::StorageBackendXML xmlStorage;
 
        if (!xmlStorage.init(config_path.c_str())) {
-               std::cout << "internal_init error" << std::endl;
+               std::cout << "xmlStorage init error" << std::endl;
                return nullptr;
        }
 
index e85fdd5..a2fdde4 100644 (file)
@@ -15,7 +15,6 @@
 */
 
 
-#include "internal/internal.h"
 #include "internal/naive_policy_checker.hpp"
 #include "internal/tslog.hpp"
 #include "kdbus.h"
@@ -174,14 +173,19 @@ static const char *secondary_conf_file(BusType bus_type)
 
 static void init_common_locked(BusType bus_type)
 {
-       int ret = __internal_init_auto_serialized(bus_type, primary_conf_file(bus_type));
-       if (ret < 0)
-               ret = __internal_init(bus_type, secondary_conf_file(bus_type));
+       auto primary_file_name = primary_conf_file(bus_type);
+       std::string primary_file_name_serialized = primary_file_name;
+       primary_file_name_serialized.append(".serialized");
 
-       assert(ret >= 0 && "failed __internal_init");
+       auto &checker = policy_checker(bus_type);
 
-       if (ret >= 0)
-               policy_checker(bus_type).updateGroupDb(g_udesc.uid, g_udesc.gid);
+       auto ok = checker.initDb(primary_file_name, primary_file_name_serialized.c_str());
+       if (!ok)
+               ok = checker.initDb(secondary_conf_file(bus_type));
+
+       assert(ok && "failed database initialization");
+
+       checker.updateGroupDb(g_udesc.uid, g_udesc.gid);
 }
 
 static void init_global_conn_locked(BusType bus_type, std::shared_ptr<const char> resolved_path)
index 2193f7a..bf45b51 100644 (file)
@@ -1,5 +1,4 @@
 #include "internal/include/fb_generated.h"
-#include "internal/internal.h"
 #include "internal/naive_policy_checker.hpp"
 #include "internal/policy.hpp"
 #include "internal/serializer.hpp"
@@ -37,7 +36,7 @@ bool measure(std::function<bool()> func, size_t count, const char *desc) {
 }
 
 bool run_xml(const char *conf_file) {
-       return __internal_init(SYSTEM_BUS, conf_file) == 0;
+       return policy_checker_system().initDb(conf_file);
 }
 
 bool run_xml_plus_fb(const char *conf_file, bool verify) {
index d391b8f..5b35919 100644 (file)
@@ -125,9 +125,9 @@ bool run_policy_db(const std::pair<TestBusSetup, TestBusSetup> access_test) {
        const auto& system_bus_setup = access_test.first;
        const auto& session_bus_setup = access_test.second;
 
-       __internal_init(SYSTEM_BUS, system_bus_setup.first.c_str());
+       policy_checker_system().initDb(system_bus_setup.first.c_str());
        if (session_bus_setup.first != "") {
-               __internal_init(SESSION_BUS, session_bus_setup.first.c_str());
+               policy_checker_session().initDb(session_bus_setup.first.c_str());
        }
 
        auto *sys_db = &policy_checker_system().getPolicyDb();
index 5f3d377..d74144e 100644 (file)
@@ -104,9 +104,9 @@ bool run_access_tests() {
                const auto& session_bus_setup = test_setup.second;
 
                // first initialize both, then perform tests to account for potential (re)initialization bugs
-               __internal_init(SYSTEM_BUS, system_bus_setup.first.c_str());
+               policy_checker_system().initDb(system_bus_setup.first.c_str());
                if (session_bus_setup.first != "") {
-                       __internal_init(SESSION_BUS, session_bus_setup.first.c_str());
+                       policy_checker_session().initDb(session_bus_setup.first.c_str());
                }
 
                run_tests_for_bus(SYSTEM_BUS, system_bus_setup.second, i, passed);
index 1f5d0fa..3880c40 100644 (file)
@@ -1,5 +1,4 @@
 #include "internal/include/fb_generated.h"
-#include "internal/internal.h"
 #include "internal/naive_policy_checker.hpp"
 #include "internal/policy.hpp"
 #include "internal/serializer.hpp"
@@ -117,7 +116,7 @@ bool method_test(DB &db) {
 }
 
 bool run_policy_db() {
-       __internal_init(SYSTEM_BUS, "tests/default_allow/system.conf");
+       policy_checker_system().initDb("tests/default_allow/system.conf");
        auto &db = policy_checker_system().getPolicyDb();
        printf("POLICY_DB:\n");
        return method_test(db);
index 1fe7753..2655542 100644 (file)
@@ -3,7 +3,6 @@
 #include <string>
 #include <sys/types.h>
 #include <dbuspolicy1/libdbuspolicy1.h>
-#include "internal/internal.h"
 #include "internal/naive_policy_checker.hpp"
 #include "internal/policy.hpp"
 #include "internal/tslog.hpp"
@@ -73,7 +72,7 @@ void methodTest_print(struct MethodTest* t, DecisionResult result) {
 bool method_test() {
        unsigned  i = 0;
        bool flag = true;
-       __internal_init(SYSTEM_BUS, "tests/default_allow/system.conf");
+       policy_checker_system().initDb("tests/default_allow/system.conf");
        for (i = 0; i < sizeof(method_tests)/sizeof(struct MethodTest); i++) {
                KdbusBusNames bus_names;
                bus_names.addSpaceSeparatedNames(method_tests[i].name);
index 8b2ade9..a4f7f67 100644 (file)
@@ -173,7 +173,7 @@ bool ownership_test(const DB &db) {
 }
 
 bool run_policy_db() {
-       __internal_init(SYSTEM_BUS, "tests/default_deny/system.conf");
+       policy_checker_system().initDb("tests/default_deny/system.conf");
        auto &db = policy_checker_system().getPolicyDb();
        printf("POLICY_DB:\n");
        return ownership_test(db);
index 3d949db..a8a4e15 100644 (file)
@@ -1,4 +1,3 @@
-#include "internal/internal.h"
 #include "internal/naive_policy_checker.hpp"
 #include "internal/tslog.hpp"
 
@@ -138,7 +137,7 @@ void ownershipTest_print(struct OwnershipTest* t, DecisionResult result) {
 bool ownership_test() {
        unsigned  i = 0;
        bool flag = true;
-       __internal_init(SYSTEM_BUS, "tests/default_deny/system.conf");
+       policy_checker_system().initDb("tests/default_deny/system.conf");
        for (i = 0; i < sizeof(ownership_tests)/sizeof(struct OwnershipTest); i++) {
                auto decision = policy_checker_system().check(ownership_tests[i].user,
                                                                                                          ownership_tests[i].group,
index 582d11b..779ec6c 100644 (file)
@@ -1,5 +1,3 @@
-#include "internal/include/fb_generated.h"
-#include "internal/internal.h"
 #include "internal/naive_policy_checker.hpp"
 #include "internal/policy.hpp"
 #include "internal/serializer.hpp"
@@ -97,7 +95,7 @@ bool ownership_test(const DB &db) {
 }
 
 bool run_policy_db() {
-       __internal_init(SYSTEM_BUS, "tests/default_allow/system.conf");
+       policy_checker_system().initDb("tests/default_allow/system.conf");
        auto &db = policy_checker_system().getPolicyDb();
        printf("POLICY DB:\n");
        return ownership_test(db);
index 18d2a34..29853c2 100644 (file)
@@ -1,4 +1,3 @@
-#include "internal/internal.h"
 #include "internal/naive_policy_checker.hpp"
 #include "internal/tslog.hpp"
 
@@ -60,7 +59,7 @@ void ownershipTest_print(struct OwnershipTest* t, DecisionResult result) {
 bool ownership_test() {
        unsigned  i = 0;
        bool flag = true;
-       __internal_init(SYSTEM_BUS, "tests/default_allow/system.conf");
+       policy_checker_system().initDb("tests/default_allow/system.conf");
        for (i = 0; i < sizeof(ownership_tests)/sizeof(struct OwnershipTest); i++) {
                auto decision = policy_checker_system().check(ownership_tests[i].user,
                                                                                                          ownership_tests[i].group,
index 1e10157..3c9049b 100644 (file)
@@ -1,5 +1,4 @@
 #include "internal/include/fb_generated.h"
-#include "internal/internal.h"
 #include "internal/naive_policy_checker.hpp"
 #include "internal/policy.hpp"
 #include "internal/serializer.hpp"
@@ -180,7 +179,7 @@ bool send_prefix_test(const DB &db)
 }
 
 bool run_policy_db() {
-       __internal_init(SYSTEM_BUS, "tests/default_deny/system.conf");
+       policy_checker_system().initDb("tests/default_deny/system.conf");
        auto &db = policy_checker_system().getPolicyDb();
        printf("POLICY_DB:\n");
        return send_prefix_test(db);
index fca35a8..0a248e7 100644 (file)
@@ -1,10 +1,6 @@
-#include "internal/internal.h"
 #include "internal/naive_policy_checker.hpp"
 #include "internal/policy.hpp"
 #include "internal/tslog.hpp"
-#include "libdbuspolicy1-private.h"
-#include <dbuspolicy1/libdbuspolicy1.h>
-#include <string>
 
 using ldp_xml_parser::MatchItemSend;
 using ldp_xml_parser::DecisionResult;
@@ -147,7 +143,7 @@ bool test()
        unsigned  i = 0;
        bool flag = true;
 
-       __internal_init(SYSTEM_BUS, "tests/default_deny/system.conf");
+       policy_checker_system().initDb("tests/default_deny/system.conf");
 
        for (i = 0; i < sizeof(tests)/sizeof(struct Test); i++) {
                KdbusBusNames names;
index ba01c58..d538f6c 100644 (file)
@@ -1,5 +1,4 @@
 #include "internal/include/fb_generated.h"
-#include "internal/internal.h"
 #include "internal/naive_policy_checker.hpp"
 #include "internal/policy.hpp"
 #include "internal/serializer.hpp"
@@ -74,7 +73,7 @@ bool signal_test(const DB &db) {
 }
 
 bool run_policy_db() {
-       __internal_init(SYSTEM_BUS, "tests/default_allow/system.conf");
+       policy_checker_system().initDb("tests/default_allow/system.conf");
        auto &db = policy_checker_system().getPolicyDb();
 
        printf("POLICY_DB:\n");
index 6fc36f1..62d0def 100644 (file)
@@ -1,4 +1,3 @@
-#include "internal/internal.h"
 #include "internal/naive_policy_checker.hpp"
 #include "internal/tslog.hpp"
 
@@ -36,7 +35,7 @@ void signalTest_print(struct SignalTest* t, DecisionResult result) {
 bool signal_test() {
        unsigned  i = 0;
        bool flag = true;
-       __internal_init(SYSTEM_BUS, "tests/default_allow/system.conf");
+       policy_checker_system().initDb("tests/default_allow/system.conf");
        for (i = 0; i < sizeof(signal_tests)/sizeof(struct SignalTest); i++) {
                KdbusBusNames names;
                MatchItemSend itemSend(signal_tests[i].interface,