platform/core/security/vasum.git
10 years agoOperator of conversion to bool for LibvirtDomain and LibvirtConnection
Jan Olszak [Fri, 11 Apr 2014 13:08:21 +0000 (15:08 +0200)]
Operator of conversion to bool for LibvirtDomain and LibvirtConnection

[Bug/Feature]   Easy check if the connection is not NULL.
[Cause]         N/A
[Solution]      N/A
[Verification]  Build, install, run tests

Change-Id: I261d0a8485f2e2bb7f2260b24c95efb139433f7b

10 years agoUnit tests various fixes
Piotr Bartosiewicz [Wed, 9 Apr 2014 13:19:19 +0000 (15:19 +0200)]
Unit tests various fixes

[Bug/Feature]   N/A
[Cause]         1) Throwing exception from thread cause unit tests
                   termination.
                2) Dbus daemon can leave its socket after termination.
                3) Lambda had access to freed variables.
[Solution]      N/A
[Verification]  Build, install, run tests

Change-Id: I3e1959098cb7c53498f44b862fcb812daf88ada2

10 years agoCapture the libvirt logs and output them using our log system
Lukasz Pawelczyk [Tue, 8 Apr 2014 15:12:42 +0000 (17:12 +0200)]
Capture the libvirt logs and output them using our log system

[Bug/Feature]   Capture the libvirt logs and output them using our log system
[Cause]         Libvirt logs were sent to stdout effectively limiting our
                internal logging system to capture and store them.
[Solution]      Turn off libvirt stdout error reporting (warnings left for now)
                and capture messages using libvirt's getLastError().
[Verification]  Build, install, run tests on host.

Change-Id: I7bff428ea605697f5d63842ee7175492fb62f579
Signed-off-by: Lukasz Pawelczyk <l.pawelczyk@partner.samsung.com>
10 years agoSupport dbus signals
Piotr Bartosiewicz [Fri, 4 Apr 2014 15:00:40 +0000 (17:00 +0200)]
Support dbus signals

[Bug/Feature]   Dbus signal emmiting and handling was not implemented.
[Cause]         N/A
[Solution]      N/A
[Verification]  Build, install, run tests.

Change-Id: If50e544e771ac4d3b4c7034bd13bb7edaba1b65c

10 years agoWrap virDomainPtr and virConnectionPtr in classes.
Lukasz Pawelczyk [Thu, 3 Apr 2014 11:53:20 +0000 (13:53 +0200)]
Wrap virDomainPtr and virConnectionPtr in classes.

[Bug/Feature]   Memleaks detected by valgrind.
[Cause]         Container* classes can throw in Contstructors effectively
                leaving vir* pointers not cleaned up.
[Solution]      Wrap vir* pointers in classes with proper destructors.
[Verification]  Build, install, run tests on host, some tests with valgrind.

Change-Id: I2b027c3c57e4105c3909ecac57157043663ffe7e
Signed-off-by: Lukasz Pawelczyk <l.pawelczyk@partner.samsung.com>
10 years agoUpdate some missing boilerplates
Lukasz Kostyra [Mon, 7 Apr 2014 11:27:09 +0000 (13:27 +0200)]
Update some missing boilerplates

[Bug/Feature]   N/A
[Cause]         Some boilerplates were skipped by accident when updating.
[Solution]      Update skipped boilerplates.
[Verification]  N/A

Change-Id: Ia1ef987be8bf610b90e588bc7ee87475d258fb1c

10 years agoModify log format
Dariusz Michaluk [Fri, 4 Apr 2014 14:57:12 +0000 (16:57 +0200)]
Modify log format

Change-Id: I544343eb2f8878df432b08ad1427014681bd30b6
Signed-off-by: Dariusz Michaluk <d.michaluk@samsung.com>
10 years agoUpdate informations in boilerplates
Lukasz Kostyra [Mon, 7 Apr 2014 10:58:10 +0000 (12:58 +0200)]
Update informations in boilerplates

[Bug/Feature]   N/A
[Cause]         Informations in boilerplates were outdated.
[Solution]      Update year and change contact information to author.
[Verification]  N/A

Change-Id: I83a8ecc34d313e06f1e14805b93250eced029e01

10 years agoBasic version of the Server class
Jan Olszak [Tue, 1 Apr 2014 14:08:31 +0000 (16:08 +0200)]
Basic version of the Server class

[Bug/Feature]   Server class for managing the life cycle of the server.
[Cause]         N/A
[Solution]      N/A
[Verification]  Build, install, run tests, run security-containers-server

Change-Id: I46fe53bffe9ce7d588bd9cacfefb28af475d048b

10 years agoFix container-admin unit tests
Piotr Bartosiewicz [Thu, 3 Apr 2014 10:50:23 +0000 (12:50 +0200)]
Fix container-admin unit tests

[Bug/Feature]   ContainerAdminSuite/SuspendTest was failing.
[Cause]         virDomainCreate does not wait until container is started.
[Solution]      Add sleep in this tests.
[Verification]  Build, install, run tests.

Change-Id: Id99388b3d6b10c8a92d46f6b48e7c897c13b29d4

10 years agoRemove some 'Requires' dependencies from .spec file
Pawel Broda [Wed, 2 Apr 2014 13:27:22 +0000 (15:27 +0200)]
Remove some 'Requires' dependencies from .spec file

[Bug/Feature]   Remove some 'Requires' dependencies, which are
                added automatically during rpm build process.
[Cause]         N/A
[Solution]      N/A
[Verification]  Build and run on the target.

Change-Id: I19b3aed771297759f7bb45bd5ab9525fa0d02bb9

10 years agoFix logging after last refactor
Piotr Bartosiewicz [Wed, 2 Apr 2014 08:33:45 +0000 (10:33 +0200)]
Fix logging after last refactor

[Bug/Feature]   Logging does not work in unit tests; Files names in log
                messages are ambiguous.
[Cause]         N/A
[Solution]      Fix logging initialization in unit tests.
                Use paths related to project root in logs.
                Also fix some unrelated includes.
[Verification]  Build, install, run tests, check logs in tests output.

Change-Id: Ib5b3f6c91c10f92655a6792171a8810192f99707

10 years agoProper fix of debug build issue
Piotr Bartosiewicz [Tue, 1 Apr 2014 14:25:43 +0000 (16:25 +0200)]
Proper fix of debug build issue

[Bug/Feature]   Previous fix for build in debug mode issue was
                unnecessarily too complicated.
[Cause]         N/A
[Solution]      N/A
[Verification]  Build with --define "build_type DEBUG" gbs option

Change-Id: I83da147dc67ff62d851f14d7acc06b067fd0b15e

10 years agoRefactor of Security Containers project structure
Lukasz Pawelczyk [Mon, 31 Mar 2014 17:25:03 +0000 (19:25 +0200)]
Refactor of Security Containers project structure

[Bug/Feature]   Complete refactoring of directory structure
[Cause]         The old structure was hard to mantain in terms
                of keeping filenames and namespaces consistent
                and nicely ordered.
[Solution]      Made the structure more organized and flat,
                refactored several filenames and their namespaces.
                - "common" - holds all the common modules and
                  parts of the code that can be resued between
                  different targets
                - "client" - client target
                - "server" - server target
                - "unit_tests" - target gathering all unit tests
                  and their dependencies
[Verification]  Built, installed, run tests on host, built RPM, built doc

Change-Id: I728fe2de688f8a0398d7fa348888e5ef7cd77dbf
Signed-off-by: Lukasz Pawelczyk <l.pawelczyk@partner.samsung.com>
10 years agoProper switching focus between containers without freezing background ones
Lukasz Pawelczyk [Fri, 28 Mar 2014 12:39:21 +0000 (13:39 +0100)]
Proper switching focus between containers without freezing background ones

[Bug/Feature]   The current focus switching was freezing all
                background containers
[Cause]         N/A
[Solution]      The idea is that a background container should be able to
                respond to messages/notifications. It cannot be frozen.
                At least not completely (user applications might, system
                daemons/services shouldn't). This change starts the
                foundations for such operations:
                - added functions for settings and getting scheduler
                  options for CFS scheduler using libvirt API
                - some cleanups in ContainerAdmin class
                - removal of getAdmin() and new API for the Container class
                - new tests for all the new functionalities
                - restructurization of config files for unit_tests
                  (one directory of configs per class)
                - removal of "config" in: /etc/security-containers/config/
[Verification]  Build, install, run tests on host, build RPM

Change-Id: I2288b71632a6c8043fe47244fa9c0754241cba88
Signed-off-by: Lukasz Pawelczyk <l.pawelczyk@partner.samsung.com>
10 years agoDbus exceptions refactor
Piotr Bartosiewicz [Fri, 28 Mar 2014 13:53:09 +0000 (14:53 +0100)]
Dbus exceptions refactor

[Bug/Feature]   Pure dbus error handling.
[Cause]         N/A
[Solution]      Add more exception types, create one base exception for
                whole project, make dbus messages more user friendly,
                better exception checking in tests.
[Verification]  Build, install, run tests

Change-Id: I8d87311f5733bf853179396156fa039e4fd61952

10 years agoAdd --log-level option
Pawel Broda [Thu, 27 Mar 2014 09:05:52 +0000 (10:05 +0100)]
Add --log-level option

[Feature]      Add possibility to run security-containers utilities
               with different logging levels (i.e. ERROR, WARN, INFO,
               DEBUG, TRACE)
[Cause]        N/A
[Solution]     N/A
[Verification] Check code with astyle. Build and run on a the target.
               Run test suite.

Change-Id: I18f60ba58fed37e69e2bcfccd47046b0ad189e75

10 years agoSource files names and namespace refactor
Piotr Bartosiewicz [Wed, 26 Mar 2014 12:15:19 +0000 (13:15 +0100)]
Source files names and namespace refactor

[Bug/Feature]   N/A
[Cause]         N/A
[Solution]      N/A
[Verification]  Build

Change-Id: I9671af38d57b9ae03bce55a309c8e8cbda6c2d2f

10 years agoDbus support
Piotr Bartosiewicz [Wed, 5 Mar 2014 09:54:53 +0000 (10:54 +0100)]
Dbus support

[Bug/Feature]   N/A
[Cause]         N/A
[Solution]      N/A
[Verification]  Build, install, run tests

Change-Id: Ide6cc4ce714d4554fd165978f29a1af648df9457

10 years agoCMakeLists cleanup, spec fixes
Piotr Bartosiewicz [Thu, 20 Mar 2014 14:57:44 +0000 (15:57 +0100)]
CMakeLists cleanup, spec fixes

[Bug/Feature]   CMakeLists are ugly
[Cause]         N/A
[Solution]      Remove obscuring cmake messages,
                simplify manual building.
[Verification]  Build, install, run tests

Change-Id: I509005a156f808dea10b941cfd24301e98b19e90

10 years agoCleanup of Container's architecture, new handling of IDs and config files.
Lukasz Pawelczyk [Thu, 20 Mar 2014 12:49:34 +0000 (13:49 +0100)]
Cleanup of Container's architecture, new handling of IDs and config files.

[Bug/Feature]  Cleanup of Container's architecture.
[Cause]        Container class needs to be extended in future and it's
               better it'd be kept modular.
[Solution]     - Container class renamed to ContainerAdmin.
               - New Container class created that composites ContainerAdmin
                 and ContainerConfig.
               - Cleanup with how IDs are handled. There is no duplication now.
                 All the config files hold paths to further config files
                 (manager -> container -> container-admin/libvirt).
               - ID is kept only in the libvirt config and is fetched after
                 the container has been defined.
               - Config file paths in configs can be absolute or relative
                 to the config they are in.
               - Properly handle missing config file for ContainerAdmin.
               - Improved tests for ContainerManager and ContainerAdmin
                 (missing and buggy configs).
               - Some initial tests for the new Container class.
               - dirName method in tools and tests for it.
[Verification] Built and successfully run the unit tests on host + astyle.

Change-Id: I963e5a422a58e68c65052bc61fd1bb5191f9ef4c
Signed-off-by: Lukasz Pawelczyk <l.pawelczyk@partner.samsung.com>
10 years agoInstall scripts using CMakeLists. Correct script names.
Lukasz Kostyra [Thu, 20 Mar 2014 09:10:41 +0000 (10:10 +0100)]
Install scripts using CMakeLists. Correct script names.

[Issue#]        N/A
[Bug]           N/A
[Cause]         Colorizing scripts were installed using .spec file.
                Script names were not conveniently named
[Solution]      Install scripts using CMake commands.
                Rename scripts.
[Verification]  Build, install, run sc_all_tests.py. Result shouldn't change.

Change-Id: Ie6926dbe76a0346f557ddbf6274ca13fa1ae9039

10 years agoRenamed the *-container.* files (Container class) to *-container-admin.*
Lukasz Pawelczyk [Tue, 18 Mar 2014 16:59:59 +0000 (17:59 +0100)]
Renamed the *-container.* files (Container class) to *-container-admin.*

[Issue#]       PSDAC-215
[Bug]          N/A
[Cause]        Initial commit for PSDAC-215. Just wanted to handle the renames first.
[Solution]     N/A
[Verification] Built and successfully run the unit tests on host.

Change-Id: I8ed156ca13610d785e7828ec445208448b82d4a7

10 years agoAstyle code formatting
Jan Olszak [Tue, 18 Mar 2014 10:40:44 +0000 (11:40 +0100)]
Astyle code formatting

[Issue#]      PSDAC-64
[Bug]         N/A
[Cause]       N/A
[Solution]    N/A
[Verfication] run astyle --options=./astylerc --recursive ./*.cpp ./*.hpp
              all files unchanged

Change-Id: I5e0474568d623fcb70c2f8fb7a05ad948c73187d

10 years agoAdded generate_documentation.sh script
Mateusz Malicki [Mon, 10 Mar 2014 09:53:16 +0000 (10:53 +0100)]
Added generate_documentation.sh script

[Issue#]       N/A
[Feature]      Script that generate documentation
[Cause]        Documentation management requires too much attention
[Solution]     Added generate_documentation.sh script
[Verification] Execute generate_documentation.sh and check if
               documenatation was generated

Change-Id: Ia9c1cde6d05712ca66efaade31f38679d258451c

10 years agoAdd improvements to colorizing script
Lukasz Kostyra [Fri, 14 Mar 2014 10:47:49 +0000 (11:47 +0100)]
Add improvements to colorizing script

[Issue#]        N/A
[Feature]       Adds following features to script colorizing test output:
                    * sc_tests_all now passes arguments to launched binaries.
                    * sc_test_launch now allows for absolute path to test binary.
                    * If any test case fails, script provides a command to launch any test case
                      explicitly.
                    * Minor corrections in test result display.
[Cause]         N/A
[Solution]      N/A
[Verification]  Build, install, run:
                    * sc_tests_all - all tests should show up,
                    * sc_tests_all -t ContainerSuite - only ContainerSuite test suite should show,
                    * sc_test_launch /bin/security-containers-server-unit-tests - should launch
                      security-containers-server-unit-tests.

Change-Id: Ic01d8ced2caceb1ed9347ed86fd7417e375bc271

10 years agoIntroduced the Container Manager
Jan Olszak [Fri, 7 Mar 2014 16:55:52 +0000 (17:55 +0100)]
Introduced the Container Manager

[Issue#]      PSDAC-64
[Bug]         N/A
[Cause]       N/A
[Solution]    N/A
[Verfication] Build and install, run unit tests.

Change-Id: I8477a67bcb424788e5892e759f057b630c2da3fe

10 years agoAdd script creating colorful test output
Lukasz Kostyra [Wed, 5 Mar 2014 09:23:01 +0000 (10:23 +0100)]
Add script creating colorful test output

[Issue#]        PSDAC-170
[Feature]       Adds a script which parses XML test result into a pretty colorful page.
[Cause]         N/A
[Solution]      N/A
[Verification]  Build, install, run sc_tests_all. First, Boost output should show up and it should
                be colored according to following scheme:
                    * BOLD RED = line begins with tag [ERROR]
                    * BOLD YELLOW = line begins with tag [WARN ]
                    * BOLD BLUE = line begins with tag [INFO ]
                    * GREEN = line begins with tag [DEBUG]
                    * BLACK = line begins with tag [TRACE]
                Then, a summary containing all test results should show up.

                Additionally user can launch Valgrind and GDB using this script. Before entering
                binary with test add --valgrind, or --gdb option. Parsing arguments to test binary
                works as well.

                Example use with Valgrind:
               sc_test_launch --valgrind --leak-check=full -v security-containers-server-unit-tests

Change-Id: Ie183ae0ab799e896b7077f979c12c99416d54a84

10 years agoUse boost to parse command line options
Pawel Broda [Wed, 12 Mar 2014 17:38:24 +0000 (18:38 +0100)]
Use boost to parse command line options

[Issue#]        PSDAC-167
[Bug/Feature]   N/A
[Cause]         N/A
[Solution]      N/A
[Verification]  Build and run on a target.

Change-Id: If39fd3966d79e6c92eed55b3df554e05b2ccbdd0

10 years agoEnable building in debug mode
Piotr Bartosiewicz [Wed, 12 Mar 2014 15:38:26 +0000 (16:38 +0100)]
Enable building in debug mode

[Issue#]        N/A
[Bug/Feature]   N/A
[Cause]         N/A
[Solution]      N/A
[Verification]  Build (with and without --define "build_type DEBUG" gbs
                option), install, run tests

Change-Id: Ic25c5091c184c8263c6ae4eb675d467efbe0844d

10 years agoSmall fixes and enhancements
Piotr Bartosiewicz [Wed, 12 Mar 2014 12:58:54 +0000 (13:58 +0100)]
Small fixes and enhancements

[Issue#]        N/A
[Bug/Feature]   N/A
[Cause]         N/A
[Solution]      N/A
[Verification]  Build, install, run tests

Change-Id: Ibfdfc5a15826e53af0cf734054837121a1539121

10 years agoMore log levels
Piotr Bartosiewicz [Tue, 11 Mar 2014 10:30:47 +0000 (11:30 +0100)]
More log levels

[Issue#]        N/A
[Bug/Feature]   N/A
[Cause]         N/A
[Solution]      N/A
[Verification]  Build, install, run tests, see output

Change-Id: Icc89e8ad6cc6e191c6266524056269befdd1a968

10 years agoSuspending and resuming domains
Jan Olszak [Wed, 5 Mar 2014 09:10:06 +0000 (10:10 +0100)]
Suspending and resuming domains

[Issue#]      PSDAC-64
[Bug]         N/A
[Cause]       N/A
[Solution]    N/A
[Verfication] Build and install, run unit tests.

Change-Id: I6c36ca802835e7e05c21817ef030e73e6e5d4e8d

10 years agoAdd .xml configuration files describing containers
Pawel Broda [Tue, 4 Mar 2014 09:11:44 +0000 (10:11 +0100)]
Add .xml configuration files describing containers

[Issue#]        N/A
[Bug/Feature]   N/A
[Cause]         N/A
[Solution]      N/A
[Verification]  Build and install on the host

Change-Id: I5e4fcbf8f97b1496c3e11c2c6b0c3bc9ff32d830
Signed-off-by: Pawel Broda <p.broda@partner.samsung.com>
10 years agoDoxygen for Security Containers
Mateusz Malicki [Thu, 6 Mar 2014 10:38:37 +0000 (11:38 +0100)]
Doxygen for Security Containers

[Issue#]       PSDAC-174
[Feature]      Doxygen for Security Containers
[Cause]        No code documentation
[Solution]     Create a configuration file to generate documentation
[Verification] Create documentation by following a procedure described in README file

Change-Id: I9dd8bc5f4ada1cfb6d1b1d844ae892faf8d23fb1

10 years agoConfiguration file parsing
Michal Witanowski [Mon, 24 Feb 2014 09:27:58 +0000 (10:27 +0100)]
Configuration file parsing

[Issue#]       PSDAC-147
[Bug/Feature]  Parsing/writing configuration files for containers daemon.
[Cause]        N/A
[Solution]     GenericConfigClass was created.
[Verification] Build, install and run config tests suite via executing
               "security-containers-server-unit-tests --run_test=ConfigSuite".
               Input and output strings should match (except whitespaces and
               floating point values).

Change-Id: I1bf6ceb9dd5c8e4606838a8e758a564da35569c7

10 years agoUnit test framework for the daemon
Jan Olszak [Thu, 27 Feb 2014 16:26:42 +0000 (17:26 +0100)]
Unit test framework for the daemon

        [Issue#]      PSDAC-64
        [Bug]         N/A
        [Cause]       N/A
        [Solution]    N/A
        [Verfication] Build and install,
                      run security-containers-server-unit-tests

Change-Id: I83404c4c6042a28c7d97ecd20f2c6b41a6041513

10 years agoClass for managing libvirt containers
Jan Olszak [Thu, 20 Feb 2014 10:24:33 +0000 (11:24 +0100)]
Class for managing libvirt containers

        [Issue#]      PSDAC-64
        [Bug]         N/A
        [Cause]       N/A
        [Solution]    N/A
        [Verfication] Build and install,
                      su; libvirtd
                      su; security-containers-server

Change-Id: I9ecd109cef8312fad0a006080c73b15032b5ff2e

10 years agoBase classes for exceptions.
Jan Olszak [Fri, 14 Feb 2014 13:51:22 +0000 (14:51 +0100)]
Base classes for exceptions.

        [Issue#]      PSDAC-64
        [Bug]         N/A
        [Cause]       N/A
        [Solution]    N/A
        [Verfication] Build and install all packages with rpm.

Change-Id: Ieab52a7fc102d191776a4087cb21aca02351871f

10 years agoParsing options in SCS binary.
Jan Olszak [Fri, 14 Feb 2014 11:42:22 +0000 (12:42 +0100)]
Parsing options in SCS binary.

         [Issue#]      PSDAC-64
         [Bug]         N/A
         [Cause]       N/A
         [Solution]    N/A
         [Verfication] Build and install all packages with rpm.
                       run: security-containers-server -h
                       run: security-containers-server -v

Change-Id: I9a1e10578968437495209dc5b858af839f822827

10 years agoBuilding and packaging structure.
Jan Olszak [Tue, 11 Feb 2014 12:52:12 +0000 (13:52 +0100)]
Building and packaging structure.

         [Issue#]      PSDAC-64
         [Bug]         N/A
         [Cause]       N/A
         [Solution]    N/A
         [Verfication] Build and install all packages with rpm.

Change-Id: I41654c8aa0e98e8ad3235bb6ec9c257bcad7a3de

10 years agoInitial empty repository master
Sehong Na [Wed, 26 Mar 2014 07:16:47 +0000 (00:16 -0700)]
Initial empty repository