platform/core/security/vasum.git
8 years agoFixed dbus testing container configuration. 34/48734/2
Pawel Kubik [Fri, 25 Sep 2015 12:10:29 +0000 (14:10 +0200)]
Fixed dbus testing container configuration.

[Feature]       Fix
[Cause]         Zone stopped immediately after start.
[Solution]      Added sleep-loop to prevent zone from stopping.
[Verification]  Build (best under CCOV config), install, run:
                sudo vsm_launch_test.py vasum-server-unit-tests \
                -t 'ZoneSuite/DbusConnection'

Change-Id: I1ffc9eb047f08173314c16c60ef505f0d81c11c6

8 years agoImproved coverage report instructions. 35/48735/1
Pawel Kubik [Fri, 25 Sep 2015 12:48:50 +0000 (14:48 +0200)]
Improved coverage report instructions.

[Feature]       More detailed per-file coverage report instructions.
[Cause]         N/A
[Solution]      N/A
[Verification]  Follow new instructions.

Change-Id: I75c563e8627f2f2e5aa22329e231f18fc4f1841a

8 years agohotfix2: assert condition 99/48599/4
Krzysztof Dynowski [Wed, 23 Sep 2015 08:54:20 +0000 (10:54 +0200)]
hotfix2: assert condition

[Feature/Bug]   wrong assert condition
[Cause]         testcase failure
[Solution]      N/A
[Verification]  Build and run tests

Change-Id: I2ad2e674205fbc927cb85251c0cbe037bca039fb

8 years agohotfix: expression always true, use ::ioctl 89/48589/4
Krzysztof Dynowski [Wed, 23 Sep 2015 08:54:20 +0000 (10:54 +0200)]
hotfix: expression always true, use ::ioctl

[Feature/Bug]   mistake in assert check
[Cause]         compilation error, testcase failure
[Solution]      N/A
[Verification]  Build and run tests

Change-Id: Ia9696593c5641a8cc5a2a8b2dc3a9c023609d864

8 years agolxcpp: Attach process helper 69/48369/10
Jan Olszak [Thu, 17 Sep 2015 12:55:25 +0000 (14:55 +0200)]
lxcpp: Attach process helper

[Feature]       N/A
[Cause]         Attach should work in multi-threaded programs
[Solution]      Moved part of Attach implementation to a helper binary
[Verification]  Build, install, run test

Change-Id: Ibdf5e0049ed41fdbbdb67a5f11de8aa415bdb1a5

8 years agolxcpp: Terminal preparation part 2 (guest) 35/48535/2
Lukasz Pawelczyk [Fri, 18 Sep 2015 14:26:58 +0000 (16:26 +0200)]
lxcpp: Terminal preparation part 2 (guest)

[Feature]       Make use of the created pseudoterminals in the container
[Verification]  Build, install, run tests

Changes in this commit:
- PrepGuestTerminal command
- it's main function: setupIOControlTTY()
- some more utils/terminal wrappers for syscalls
- long overdue open(2) wrapper

Change-Id: I235baec044ed82d3376cba3f2e5b4d18f5b1dd71

8 years agolxcpp: Terminal preparation part 1 (host) 70/48370/4
Lukasz Pawelczyk [Thu, 17 Sep 2015 16:18:04 +0000 (18:18 +0200)]
lxcpp: Terminal preparation part 1 (host)

[Feature]       Prepare pseudoterminals for the container
[Verification]  Build, install, run tests

Changes in this commit:
- PrepHostTerminal command and surrounding function (openPty)
- Terminal(s)Config
- Changes to Start::daemonize() to do its job better
- fd-utils helpers for FD flags
- set CLOEXEC on FDs received through libConfig

Change-Id: I432447900c189bb50669267ff4422c36860b5481

8 years agoFixed test scripts 73/48373/3
Pawel Kubik [Fri, 18 Sep 2015 12:41:31 +0000 (14:41 +0200)]
Fixed test scripts

[Feature]       N/A
[Cause]         Unit tests using fixtures can't be run separately,
                because their names contains bash special characters.
[Solution]      Put test names inside quotes.
[Verification]  Install, launch single test case with fixture.

Change-Id: I61e426957e080b1a145bd901c155677775d571ba

8 years agolxcpp: network implementation (part 1) 56/47256/20
Krzysztof Dynowski [Thu, 27 Aug 2015 13:25:58 +0000 (15:25 +0200)]
lxcpp: network implementation (part 1)

[Feature]       Network implementation for lxcpp (list, details)
[Cause]         N/A
[Solution]      N/A
[Verification]  Build, install, run tests

Change-Id: I2f43a2bb6d042b5aad9abf87951965e585fb4eb6

8 years agoInstructions for generating code coverage report 77/48177/4
Pawel Kubik [Tue, 15 Sep 2015 13:40:41 +0000 (15:40 +0200)]
Instructions for generating code coverage report

[Feature]       Instructions in markdown
[Cause]         Need for local coverage reports
[Solution]      N/A
[Verification]  Follow instructions in the file and check report

Change-Id: I69df0752268585c622b5006107ab91a59b840ea7

8 years agolxcpp: Initial implementation of the start API call 48/47548/22
Lukasz Pawelczyk [Wed, 29 Jul 2015 11:27:25 +0000 (13:27 +0200)]
lxcpp: Initial implementation of the start API call

[Feature]       Initial implementation of the start API call.
[Verification]  Build, install, run tests

Significant changes related to the start API call:
- Start command that daemonizes and execs guard binary
- Guard process implementation that execs the container's init

Additional changes in this commit supporting the Start API call:
- API extension to Channel class, support close on exec and be able
  to survive (as a FD) exec() call
- set close on exec in persistent file logger
- new logger helper to setup the logger
- add pid to the log format

Change-Id: I2d9648e2a861add2aa1bd1d66587bff2a109cc9c

8 years agolxcpp: Setting up the control terminal 13/48213/3
Jan Olszak [Wed, 16 Sep 2015 09:22:22 +0000 (11:22 +0200)]
lxcpp: Setting up the control terminal

[Feature]       Setting up the control terminal in Attach
[Cause]         N/A
[Solution]      N/A
[Verification]  Build, install, run tests

Change-Id: I6b1dced4f9a16c04e82b122679f86b90be29d3d1

8 years agoCLI bash completion fix 98/48098/3
Pawel Kubik [Mon, 14 Sep 2015 10:20:36 +0000 (12:20 +0200)]
CLI bash completion fix

[Feature]       CLI bash completion fix
[Cause]         Bash completion broken after commit 4a9c93f
[Solution]      Bash completion script template fix
[Verification]  Build, install, check CLI completion

Change-Id: Iff043a983d042e4181b33b0f6c4e415befcc22ed

8 years agoStatic common library 93/47893/8
Pawel Kubik [Wed, 9 Sep 2015 15:27:08 +0000 (17:27 +0200)]
Static common library

[Feature]       Static common library
[Cause]         Need for cleaner dependency management
[Solution]      Rules for building static common library, linking it
                with other binaries instead of manually adding sources
[Verification]  Build, install, run tests and main executables

Change-Id: I6eccf5a706b88ca4576e5bfc31b73ebe87177ff5

8 years agocppcheck fixes 59/47759/3
Pawel Kubik [Mon, 7 Sep 2015 09:17:45 +0000 (11:17 +0200)]
cppcheck fixes

[Feature]       Small code fixes based on cppcheck
[Cause]         Minimizing possible runtime errors
[Solution]      Fix the code using cppcheck suggestions, suppress
                false-positives
[Verification]  Compile, run cppcheck

Change-Id: I94fab8e50879f78f3ccb503fd18606e9cbfabfb5

8 years agoAdd colorful output for the CLI 68/47268/15
Pawel Kubik [Tue, 1 Sep 2015 14:14:23 +0000 (16:14 +0200)]
Add colorful output for the CLI

[Feature]       Colorful CLI output
[Cause]         N/A
[Solution]      N/A
[Verification]  Build, install, run CLI

Change-Id: I2123fbd6c5b94ed20eaa278ce00e371e86ff61f0

8 years agolibIpc: doxygen docs added 65/47565/8
Maciej J. Karpiuk [Fri, 4 Sep 2015 10:45:38 +0000 (12:45 +0200)]
libIpc: doxygen docs added

[Feature]       libIpc doxygen docs enabled and enhanced
[Cause]         documentation task in progress, libIpc was not yet included
[Solution]      write missing docs, create group
[Verification]  build docs and check libIpc module

Change-Id: Ic8e5261200da9714b478461fe830fabbaa3b5bc9

8 years agoserver: file logging added to logging backends 67/47567/4
Maciej J. Karpiuk [Fri, 4 Sep 2015 14:39:29 +0000 (16:39 +0200)]
server: file logging added to logging backends

[Feature]       new logging backend support: file
[Cause]         N/A
[Solution]      one more option to logging-backend
[Verification]  try to log to file and user specified filename

Change-Id: Iae51c076c1b52439ff6388cf50b85dc14165a59e

8 years agolxcpp: Changes to the ContainerImpl class API for libConfig usage 47/47547/6
Lukasz Pawelczyk [Wed, 29 Jul 2015 11:27:25 +0000 (13:27 +0200)]
lxcpp: Changes to the ContainerImpl class API for libConfig usage

[Feature]       Changes to the ContainerImpl class API for libConfig usage.
                PersistentFileBackend for logger.
[Verification]  Build, install, run tests.

Change-Id: I3e7290df2bf42df9e067fe6734b96dcf5f3aa20b

8 years agoAdjust tests to lxc-1.1.3 63/47563/2
Dariusz Michaluk [Fri, 4 Sep 2015 11:58:47 +0000 (13:58 +0200)]
Adjust tests to lxc-1.1.3

[Feature]       Adjust tests to lxc-1.1.3
[Cause]         N/A
[Solution]      N/A
[Verification]  Build, install, run tests

Change-Id: I26d3abed39b60f5072399edcb116567d125d82f0

8 years agolxcpp: UID/GID setting in Attach 45/47545/1
Jan Olszak [Thu, 3 Sep 2015 18:50:19 +0000 (20:50 +0200)]
lxcpp: UID/GID setting in Attach

[Feature]       UID/GID setting
[Cause]         N/A
[Solution]      N/A
[Verification]  Build, install, run tests

Change-Id: Iaa83cab137df53a1391f01c0a29ef236da030aee

8 years agolxcpp: Command implementation 78/47478/4
Jan Olszak [Wed, 2 Sep 2015 15:04:45 +0000 (17:04 +0200)]
lxcpp: Command implementation

[Feature]       Base class for commands
                Attach command
[Cause]         N/A
[Solution]      N/A
[Verification]  Build, install, run tests

Change-Id: Id9ed43c145704f5d9d21f1aa210694fed1615c57

8 years agoipc: Fix critical build break in unique-id 64/47464/1
Lukasz Kostyra [Thu, 3 Sep 2015 12:47:47 +0000 (14:47 +0200)]
ipc: Fix critical build break in unique-id

[Bug]           Build break using Clang due to recently added unique-id code
[Cause]         Incorrectly used Doxygen syntax causing critical build error
[Solution]      Correct the syntax.
[Verification]  Build, install, run tests

Change-Id: Ia0194aadfcd5cdcfba90cd518d24fe733edc934b

8 years agoserver: logging-backend selection via command line. 51/47051/12
Maciej J. Karpiuk [Fri, 28 Aug 2015 13:39:41 +0000 (15:39 +0200)]
server: logging-backend selection via command line.

[Feature]       command-line option to select logging backend
[Cause]         logging backend selected in compile-time, no flexibility
[Solution]      add command-line option, select backend in runtime
[Verification]  start service with different logging options.

Change-Id: I410457521462b29d4c40995b37bbd8ea06e479b4

8 years agolxcpp: Setting up environment variables 71/47271/7
Jan Olszak [Thu, 27 Aug 2015 15:06:30 +0000 (17:06 +0200)]
lxcpp: Setting up environment variables

[Feature]       Setting up environement in attach
                Created the commands directory
[Cause]         N/A
[Solution]      N/A
[Verification]  Build, install, run tests

Change-Id: I7526f04ca48e931be75a99cdbf774b4c5fbb5c35

8 years agoChange MessageID and PeerID type to UIDs 35/46235/7
Lukasz Kostyra [Thu, 13 Aug 2015 13:29:03 +0000 (15:29 +0200)]
Change MessageID and PeerID type to UIDs

[Feature]       MessageID and PeerID are generated with UIDs - a timestamp
                and UUID pair.
[Cause]         Previously used unsigned ints might overflow and create a
                security issue.
[Solution]      Implement UID class, change MessageID and PeerID to use UID
[Verification]  Build, install, run tests

Change-Id: I493cba8e55cc9985d3b2b544b78c434d4deb4191

8 years agoFixed clang compilation errors 77/47177/2
Pawel Kubik [Mon, 31 Aug 2015 14:29:47 +0000 (16:29 +0200)]
Fixed clang compilation errors

[Feature]       Fixed clang compilation errors
[Cause]         C++ flags were being passed to the C compiler
[Solution]      Pass C++ flags to the C++ compiler only
[Verification]  Build using clang

Change-Id: Ie9c7abfaea0ef47381bc045353d1ea3724a19671

8 years agoMove ccolor to common/utils 78/47178/3
Pawel Kubik [Mon, 31 Aug 2015 10:34:44 +0000 (12:34 +0200)]
Move ccolor to common/utils

[Feature]       Move ccolor.hpp and ccolor.cpp from libs/logger to common/utils
[Cause]         ccolor should be available to the CLI without logger as dependency
[Solution]      N/A
[Verification]  Build, install, run tests

Change-Id: Ic16301b30bd90e60300e243ee8b2dac309eadfac

8 years agoFix GetNetdevAttrs test 47/47047/2
Dariusz Michaluk [Thu, 27 Aug 2015 15:32:21 +0000 (17:32 +0200)]
Fix GetNetdevAttrs test

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

Change-Id: I75ba46b0a923622e07d857535496615ac1708ce3

8 years agoRefactored logging code. 20/46920/14
Pawel Kubik [Tue, 25 Aug 2015 08:30:03 +0000 (10:30 +0200)]
Refactored logging code.

[Feature]       Improved logging messages
[Cause]         Inconsistent logging messages on different loggers
[Solution]      Unified logging messages
[Verification]  Build, install, run tests

Change-Id: I7424733e97a4081707f64c3c4256021c560c7cfc

8 years agolxcpp: add all required objects to lxcpp.so, add test executable 44/47044/4
Krzysztof Dynowski [Fri, 28 Aug 2015 10:52:51 +0000 (12:52 +0200)]
lxcpp: add all required objects to lxcpp.so, add test executable

[Feature]       Linking with lxcpp give unknown symbol errors
[Cause]         No requird objects in lxcpp.so
[Solution]      Add them to CMakeLists.txt, create test app
[Verification]  Build, install

Change-Id: I4dc59091ea294aa51a6201236f6fe51162459b83

8 years agoImproved CLI connection error note. 19/46919/7
Pawel Kubik [Fri, 21 Aug 2015 15:19:46 +0000 (17:19 +0200)]
Improved CLI connection error note.

[Feature]       CLI connection error note, and suggestion to launch
                vasum-server
[Cause]         Previous information was inacurate
[Solution]      Added proper error handling
[Verification]  Build, install, run cli/vsm when the server is not
                running

Change-Id: I59a4467a25ef40e6ed650485c8ac690f955e29cc

8 years agolxcpp: AttachManager and chdir 74/46874/7
Jan Olszak [Wed, 26 Aug 2015 16:42:18 +0000 (18:42 +0200)]
lxcpp: AttachManager and chdir

[Feature]       Added AttachManager for handling attaching
                It's possible to set cwd inside container.
[Cause]         N/A
[Solution]      N/A
[Verification]  Build, install, run tests

Change-Id: Ida77e56a7d4f42225554c8fe02b5794509b83ef2

8 years agolxcpp: network interface 66/46566/6
Krzysztof Dynowski [Fri, 21 Aug 2015 15:08:22 +0000 (17:08 +0200)]
lxcpp: network interface

[Feature]       Network interface for lxcpp
[Cause]         N/A
[Solution]      N/A
[Verification]  Build, install, run tests

Change-Id: Ifcf03b46662168c198a8e36c268b6856639ff52e

8 years agoAdd Doxygen libConfig documentation. 65/46865/4
Pawel Kubik [Wed, 19 Aug 2015 15:28:08 +0000 (17:28 +0200)]
Add Doxygen libConfig documentation.

[Feature]       libConfig documentation
[Cause]         Explain the library usage
[Verification]  Built HTML using generate_documentation.sh and rendered
                it in browser

Change-Id: I459756566055023f357fb2037b3409410129f53e

8 years agolxcpp: Dropping capabilities from the bounding set 68/46668/4
Jan Olszak [Mon, 24 Aug 2015 15:07:57 +0000 (17:07 +0200)]
lxcpp: Dropping capabilities from the bounding set

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

Change-Id: Id9e351d1993b43850e6a4d2a59b9eac2b4c5d354

8 years agoAdd ascii-art logo to the readme 58/46558/3
Lukasz Pawelczyk [Fri, 21 Aug 2015 13:27:15 +0000 (15:27 +0200)]
Add ascii-art logo to the readme

[Feature]       AA logo
[Cause]         We love it
[Verification]  Look and admire

Change-Id: I1bb6181e708a9a8643d77bd860619880e4ca81a2

8 years agolxcpp: Remounting /proc and /sys on attach 41/46641/5
Jan Olszak [Mon, 24 Aug 2015 09:13:05 +0000 (11:13 +0200)]
lxcpp: Remounting /proc and /sys on attach

[Feature]       Remounting /proc /sys
                Filesystem handling functions
[Cause]         N/A
[Solution]      N/A
[Verification]  Build, install, run tests

Change-Id: I8015b7a66c1fabab9133ad360e9e7a45c069082c

8 years agolxcpp: Simple attach implementation 40/46340/8
Jan Olszak [Tue, 18 Aug 2015 10:02:12 +0000 (12:02 +0200)]
lxcpp: Simple attach implementation

[Feature]       Running code in the container's context
                Socketpair wrapper - Channel
[Cause]         N/A
[Solution]      N/A
[Verification]  Build, install, run tests

Change-Id: Ib5b1011c5f8578ab9e258bcbea3cd7aa3bc233a3

8 years agovsm: update network related help, formating changes 63/46463/2
Krzysztof Dynowski [Thu, 20 Aug 2015 14:10:52 +0000 (16:10 +0200)]
vsm: update network related help, formating changes

[Feature]       clarify help for net-create command
[Cause]         poor help on how to create virtual network
[Solution]      extend description format, inerpretation
[Verification]  Build, install, run vsm net-create help

Change-Id: I09b877d090607fb9f8d3c5b367f6f6b2d1a7ed85

8 years agovsm: make vsm> prompt, finish prompt line on exit in interactive mode 42/46342/2
Krzysztof Dynowski [Wed, 19 Aug 2015 10:51:22 +0000 (12:51 +0200)]
vsm: make vsm> prompt, finish prompt line on exit in interactive mode

[Feature]       'vsm>' prompt, new line when exit
[Cause]         prompt gives clear info what is the interpreter
[Solution]      N/A
[Verification]  Build, install, use vsm command

Change-Id: Ic5b6751dbebc38d204565311380d6459448d25a0

8 years agovsm: persistant history of entered commands in interactive mode 22/46322/4
Krzysztof Dynowski [Fri, 7 Aug 2015 09:05:14 +0000 (11:05 +0200)]
vsm: persistant history of entered commands in interactive mode

[Feature]       Keep history of entered commands (in ~/.vsm_history file)
[Cause]         No history after starting vsm
[Solution]      use read_history/write_history from readline library
[Verification]  Build, install, use vsm command

Change-Id: I107ba49ac01d52825312416a11fbb094735401af

8 years agoSupport getting list of ip/mask for one interface, change netdev_set_ip* to netdev_ad... 29/45029/5
Krzysztof Dynowski [Thu, 30 Jul 2015 12:04:25 +0000 (14:04 +0200)]
Support getting list of ip/mask for one interface, change netdev_set_ip* to netdev_add_ip*

[Feature]       Get list of configured ip/mask for zone interface
[Cause]         Many ip/mask entries can be assigned to one interface
[Solution]      Implement generic method getting list of network addresses
[Verification]  Build, install, use vsm net-add-ip to add ips
                vsm net-list to get configured ips

Change-Id: I8d4c1b59e03800aa513811992cc13e71df8d599e

8 years agoCleanup cppcheck statistics 58/45358/6
Krzysztof Dynowski [Fri, 31 Jul 2015 13:01:38 +0000 (15:01 +0200)]
Cleanup cppcheck statistics

[Feature]       N/A
[Cause]         Cppcheck results reported on jenkins contains error/warning messages
[Solution]      Make code correction to satisfy cppcheck,
                add cppcheck configuration to suppress some messages (e.g. API funcs)
[Verification]  Have installed cppcheck >= v1.66
                Perform ./tests/cppcheck/cppcheck.sh script before commiting to review

Change-Id: Ice10bbc118ab921feb9cb7261d4a2bdc22282353

8 years agolxcpp: fix linking of 3rd party binaries with lxcpp 82/45282/3
Lukasz Pawelczyk [Tue, 4 Aug 2015 10:17:23 +0000 (12:17 +0200)]
lxcpp: fix linking of 3rd party binaries with lxcpp

[Feature]       N/A
[Cause]         To be finally able to link with lxcpp of 3rd party code
[Solution]      N/A
[Verification]  Link non-vasum program against liblxcpp

Change-Id: I218756ace9d9217db87d3e19b820d35653a22153

8 years agoInputMonitor connected to epoll dispatcher 85/44785/7
Mateusz Malicki [Mon, 27 Jul 2015 15:28:22 +0000 (17:28 +0200)]
InputMonitor connected to epoll dispatcher

[Feature]       InputMonitor connected to epoll dispatcher
[Cause]         N/A
[Solution]      N/A
[Verification]  Build, run tests

Change-Id: If2bdcd8c8493bc22357aa93b43b5c6e530c954d4

8 years agoAdd daemonize function to work in the background. 71/44871/12
Dariusz Michaluk [Tue, 28 Jul 2015 13:55:25 +0000 (15:55 +0200)]
Add daemonize function to work in the background.

[Feature]       Add daemonize function to work in the background.
[Cause]         N/A
[Solution]      N/A
[Verification]  Build, run tests, run server as daemon.

Change-Id: Ie8987ac4d23ac350ab6036c476ade47436afbe69

8 years agolxcpp: Added utils sources 10/45110/3
Jan Olszak [Fri, 31 Jul 2015 15:11:16 +0000 (17:11 +0200)]
lxcpp: Added utils sources

[Feature]       N/A
[Cause]         N/A
[Solution]      N/A
[Verification]  Link only against liblxcpp

Change-Id: I7e9d32fc502a068dd9c50e5e45ab3ed07756f815

8 years agoFix lxcpp tests 12/45212/2
Dariusz Michaluk [Mon, 3 Aug 2015 13:52:58 +0000 (15:52 +0200)]
Fix lxcpp tests

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

Change-Id: Idf5939f96ffb6af7380cfc5fe216361b53402801

8 years agolxcpp: setns wrapper 34/45034/6
Jan Olszak [Wed, 29 Jul 2015 13:06:02 +0000 (15:06 +0200)]
lxcpp: setns wrapper

[Feature]       Added setns wrapper
                Added Namespace type
[Cause]         N/A
[Solution]      N/A
[Verification]  N/A

Change-Id: Ib07374bb07183dba604053139d624bdf2a850268

8 years agoAdd test for Lock/UnlockQueue API 20/44920/4
Lukasz Kostyra [Tue, 28 Jul 2015 07:42:48 +0000 (09:42 +0200)]
Add test for Lock/UnlockQueue API

[Feature]       Test for Lock/UnlockQueue API
[Cause]         N/A
[Solution]      N/A
[Verification]  Build, install, run tests

Change-Id: Id8a88af8459a63e61db06668d4b4a57b2578b4e2

8 years agoMake vasum-cli arguments shorter/nicer with autocomplete, rename tool vasum-cli to vsm 12/44612/23
Krzysztof Dynowski [Thu, 23 Jul 2015 14:27:57 +0000 (16:27 +0200)]
Make vasum-cli arguments shorter/nicer with autocomplete, rename tool vasum-cli to vsm

[Feature]       Shorter and nicer arguments for command line tool
[Cause]         Messy underscore, too many commands
[Solution]      More generic commands, shorter, easier to enter names
[Verification]  Build, install, use vsm with various arguments
                Try autocompletion for arguments

Change-Id: I2e8d1bff3a5dcf96df1250b29b8df55c8f23171d

8 years agoFix pkg-config files from returning wrong relative paths. 15/44915/2
Lukasz Pawelczyk [Wed, 29 Jul 2015 10:03:08 +0000 (12:03 +0200)]
Fix pkg-config files from returning wrong relative paths.

[Bug]           The pkg-config files were using wrong relative paths
[Cause]         CMAKE_INSTALL_* variables are relative, cmake could handle
                them internally for INSTALL and similar, but for
                pkgconfig understands them literally.
[Solution]      Use absolute paths everywhere.
[Verification]  Check the content of *.pc files after make install.

Change-Id: I2a14d0f9ddc45238be7e8d487d186df1877730bd

8 years agolxcpp: Added logger, tests and changed exceptions 65/44865/6
Jan Olszak [Tue, 28 Jul 2015 11:12:10 +0000 (13:12 +0200)]
lxcpp: Added logger, tests and changed exceptions

[Feature]       Using libLogger in lxcpp in an example clone function.
                Set up unit-tests
                Changed exception names
[Cause]         N/A
[Solution]      N/A
[Verification]  N/A

Change-Id: I039bf3e17d791ccf1a18f17a9b2a180ee2081722

8 years agoRemove debug logs in release build. 83/44783/2
Dariusz Michaluk [Mon, 27 Jul 2015 14:45:35 +0000 (16:45 +0200)]
Remove debug logs in release build.

[Bug]           Remove debug logs in release build.
[Cause]         N/A
[Solution]      N/A
[Verification]  Build release/debug, run server.

Change-Id: Id34991a45e0fbee8edddfea10b64f69809141af3

8 years agoHide VsmZone and VsmNetdevType structs from API 48/44748/4
Lukasz Pawelczyk [Mon, 27 Jul 2015 09:20:37 +0000 (11:20 +0200)]
Hide VsmZone and VsmNetdevType structs from API

[Feature]       N/A
[Cause]         Make it easier to change them in the future without
                breaking the ABI. Also remove duplicate related API
                function from the code.
[Solution]      N/A
[Verification]  N/A

Change-Id: Ib0ec7374ee0f94cd88e2998e9d10f18ae094ee98

8 years agoAdded lxcpp's license 81/44781/4
Jan Olszak [Mon, 27 Jul 2015 13:23:38 +0000 (15:23 +0200)]
Added lxcpp's license

[Feature]       lxcpp is on LGPL 2.1 license
[Cause]         N/A
[Solution]      N/A
[Verification]  N/A

Change-Id: Ia1916f4ba8ea815467ea958020db401f46cfa5cb

8 years agoVarious changes relating to build on Ubuntu and Fedora Linux. 91/44191/8
Dariusz Michaluk [Fri, 17 Jul 2015 13:27:57 +0000 (15:27 +0200)]
Various changes relating to build on Ubuntu and Fedora Linux.

[Bug/Feature]   Various changes relating to build on Ubuntu and Fedora Linux.
[Cause]         N/A
[Solution]      N/A
Verification]   Build, run server, run tests.

Change-Id: Ie9f8c05a0de96b0dc07d506657a48f6dd1b074b4

8 years agolxcpp skeleton 13/44613/8
Mateusz Malicki [Thu, 23 Jul 2015 13:48:09 +0000 (15:48 +0200)]
lxcpp skeleton

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

Change-Id: I1950967edc720ad9b81301daa4e1b60ff8c3b41d

8 years agoFix build break 32/44732/1
Dariusz Michaluk [Mon, 27 Jul 2015 07:41:42 +0000 (09:41 +0200)]
Fix build break

[Bug]           C++ style comments are not allowed in ISO C90
[Cause]         N/A
[Solution]      N/A
[Verification]  Build

Change-Id: Iab690af9fc085c0707aacb83b901c3efde5ae638

8 years agoFix build break in clang 72/44672/2
Jan Olszak [Fri, 24 Jul 2015 12:28:35 +0000 (14:28 +0200)]
Fix build break in clang

[Feature]       N/A
[Cause]         No new line in vasum-client.h
[Solution]      N/A
[Verification]  N/A

Change-Id: Ic4cf72d42a173edeb0a6d450c1f2aad12bb22a59

8 years agoAdded libvasum-client's documentation 57/44657/2
Jan Olszak [Fri, 24 Jul 2015 09:25:51 +0000 (11:25 +0200)]
Added libvasum-client's documentation

[Feature]       N/A
[Cause]         N/A
[Solution]      N/A
[Verification]  ./generate_documentation.sh and verify

Change-Id: I9ec902cce2b29ca2d81fa8ca40db11977e0f3c3f

8 years agoClean up zones root path 95/44195/7
Mateusz Malicki [Fri, 17 Jul 2015 14:49:43 +0000 (16:49 +0200)]
Clean up zones root path

[Feature]       Clean up zones root path (according to cleanUpZonesPath flag)
[Cause]         N/A
[Solution]      Added cleanUpZonesPath to daemon.conf which tells whether
                to remove unknown files from the zonesPath;
                Added (vsm_)clean_up_zones_root to cli and client
[Verification]  Build, install, create files in zonesPath,
                run vasum-server with different flag value, check if
                zonesPath is as it should; execute command

Change-Id: I64a1656ef05ccd5fd7e83a48cd50234e2e6bd4b4

8 years agoAdded libLogger's documentation 04/44604/3
Jan Olszak [Thu, 23 Jul 2015 12:28:21 +0000 (14:28 +0200)]
Added libLogger's documentation

[Feature]       N/A
[Cause]         N/A
[Solution]      N/A
[Verification]  ./generate_documentation.sh and verify

Change-Id: I53a75f358e0e9182f51334544cb5da9722182cf9

8 years agoModify generate_documentation.sh 43/44543/2
Lukasz Kostyra [Thu, 23 Jul 2015 06:06:23 +0000 (08:06 +0200)]
Modify generate_documentation.sh

[Feature]       N/A
[Cause]         N/A
[Solution]      N/A
[Verification]  Run script, output html dir should be in doc directory.
                Run without doxygen installed, should exit with an error message.

Change-Id: Ibfc0026da771ba1415f034ce8e81eaeb1deab0c2

8 years agoEnable file path stripping in Doxygen 97/44497/2
Lukasz Kostyra [Wed, 22 Jul 2015 13:34:12 +0000 (15:34 +0200)]
Enable file path stripping in Doxygen

[Feature]       N/A
[Cause]         N/A
[Solution]      N/A
[Verification]  ./generate_documentation.sh, access file's doc and check page title

Change-Id: I9f05262a5ec73327492aad722b15393335fc46c1

8 years agoFix Doxygen warnings 94/44494/3
Lukasz Kostyra [Mon, 20 Jul 2015 11:18:41 +0000 (13:18 +0200)]
Fix Doxygen warnings

[Bug]           Doxygen warnings during documentation generation.
[Cause]         Some docblocks were incomplete.
[Solution]      Fix warnings.
[Verification]  Build, run tests, ./generate_documentation.sh. During doc
                generation there will be warnings related to
                command-line-interface.hpp stating "no matching file memeber".
                This is a Doxygen bug and the only possible fix is to
                replace Args typedef with std::vector<std::string>.

Change-Id: I1523dc83a5f5e9902e5983ac5b95497d61f71cfc

8 years agoMain page in Markdown format 95/44495/3
Jan Olszak [Wed, 22 Jul 2015 13:18:09 +0000 (15:18 +0200)]
Main page in Markdown format

[Feature]       N/A
[Cause]         N/A
[Solution]      N/A
[Verification]  ./generate_documentation.sh and verify

Change-Id: I6b4f55de7f48bb66b3dd40a2313b6137919f028f

8 years agoAdded favicon to the documentation 81/44481/2
Jan Olszak [Wed, 22 Jul 2015 11:59:22 +0000 (13:59 +0200)]
Added favicon to the documentation

[Feature]       N/A
[Cause]         N/A
[Solution]      N/A
[Verification]  ./generate_documentation.sh and verify

Change-Id: I12145caf7a4e303dc51472ea1cb01a928561c8d7

8 years agoDispatching in the main thread 70/44170/6
Jan Olszak [Tue, 14 Jul 2015 12:59:32 +0000 (14:59 +0200)]
Dispatching in the main thread

[Feature]       Removed Server's ThreadDispatcher
[Cause]         N/A
[Solution]      N/A
[Verification]  Build, install, run tests

Change-Id: I100f8b370baeca78cbfcfdc803e360ebc40fd0ca

8 years agoUpdate Doxy CSS 53/44253/3
Lukasz Kostyra [Tue, 14 Jul 2015 13:37:18 +0000 (15:37 +0200)]
Update Doxy CSS

[Feature]       Doxy CSS updated with our custom documentation pages layout.
[Cause]         More eye-pleasant CSS needed.
[Solution]      Manually fix previously extracted CSS.
[Verification]  Generate docs and see if they are OK.

Change-Id: Ia88865ec399fee8e336a2c7e9bf74546d659f61d

8 years agoUpdate doxygen.cfg file, extract its HTML/CSS files 52/44252/3
Lukasz Kostyra [Tue, 14 Jul 2015 08:22:32 +0000 (10:22 +0200)]
Update doxygen.cfg file, extract its HTML/CSS files

[Feature]       Doxygen cfg file was updated to 1.8.6
[Cause]         Warnings during parsing
[Solution]      Upgraded doxygen cfg with doxygen -u
[Verification]  Generate documentation - no warnings related to deprecated
                doxygen.cfg parameters should occur (these appeared at the very
                beginning of parsing; keep in mind - Vasum comments do produce
                warnings and will be fixed further on).

The commit additionally extracts default HTML header and footer, and default
CSS schema. These are kept in doc folder together with doxygen.cfg. Doxygen was
set up to use these files when generating documentation.

Change-Id: Ie8f78f0617e42de5bcaa6ce75b46cb436d3c8fd3

8 years agoAdded file and syslog backends 72/44072/8
RomanKubiak [Thu, 16 Jul 2015 11:43:08 +0000 (13:43 +0200)]
Added file and syslog backends

[Feature]      New logger backends (file and syslog)
[Cause]        N/A
[Solution]     N/A
[Verification] Build, install, run tests

Change-Id: I0de1f4e121ca5ff24b5a0f148015afda7dc9e503

8 years agoIPC: Cleaned up EventPoll usage 83/44283/2
Jan Olszak [Mon, 20 Jul 2015 13:02:46 +0000 (15:02 +0200)]
IPC: Cleaned up EventPoll usage

[Feature]       Adding and removing fds to EventPoll
                is guarded internaly by Processor and Acceptor
[Cause]         N/A
[Solution]      N/A
[Verification]  Build, install, run tests

Change-Id: I97999591b6c586159698f4f0231740c3c52d5cc5

8 years agoAdd console_zone to cli 59/43859/6
Dariusz Michaluk [Tue, 23 Jun 2015 15:11:13 +0000 (17:11 +0200)]
Add console_zone to cli

[Feature]       Launch a console for the specified zone.
[Cause]         N/A
[Solution]      Add console_zone to cli.
[Verification]  Build, run server,
                vasum-cli create/start/console/shutdown zone.

Change-Id: I093837d6807931163321812a2bcba467a5a9f27e

8 years agoFix: cli: error handling 62/43962/2
Mateusz Malicki [Wed, 15 Jul 2015 14:26:20 +0000 (16:26 +0200)]
Fix: cli: error handling

[Bug]           Not all errors are propagated up
[Cause]         Not all errors has non empty status message
[Solution]      Throw exception regardless of the status messages
[Verification]  Build, install, run vasum-cli

Change-Id: Idcbfdf519f1834b9046d3cdd59a7293cae629e3f

8 years agoIgnoring SIGTERM 48/43948/2
Jan Olszak [Wed, 15 Jul 2015 12:54:10 +0000 (14:54 +0200)]
Ignoring SIGTERM

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

Change-Id: Ib81c67dc0738db5ef4713d6d8b2c2376a8323800

8 years agoSupport vasum-cli to be a script interpreter (2/2) 99/43599/7
Mateusz Malicki [Fri, 10 Jul 2015 12:08:06 +0000 (14:08 +0200)]
Support vasum-cli to be a script interpreter (2/2)

[Feature]       vasum-cli as script interpreter
[Cause]         n/a
[Solution]      file/pipe processing
[Verification]  Build, run vasum-cli script,
                vasum-cli -f script, cat script|vasum-cli

Change-Id: Ib2a1e4fc5fbecdac206063b6d3dd2a95b5923196

8 years agoSupport vasum-cli to be a script interpreter (1/2) 68/42768/10
Krzysztof Dynowski [Wed, 1 Jul 2015 15:29:32 +0000 (17:29 +0200)]
Support vasum-cli to be a script interpreter (1/2)

[Feature]       vasum-cli as script interpreter
[Cause]         n/a
[Solution]      file/pipe processing
[Verification]  Build, run vasum-cli script, vasum-cli -f script, cat script|vasum-cli

Change-Id: I6b8ff93fb359e429119e120d93a0851e2ae7e72e

8 years agoSignalFD tests 96/43696/7
Jan Olszak [Mon, 13 Jul 2015 08:31:03 +0000 (10:31 +0200)]
SignalFD tests

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

Change-Id: I9dbcd567c958c66e826785f77912f60af8f521d1

8 years agoHandling signals with signalfd 87/43387/9
Jan Olszak [Tue, 7 Jul 2015 11:13:45 +0000 (13:13 +0200)]
Handling signals with signalfd

[Feature]       Synchronous signal handling
[Cause]         N/A
[Solution]      N/A
[Verification]  Build, install, run tests

Change-Id: I5a31fcb9929a3d8d36c1ea275c089412687478d5

8 years agoRemoved unused code (ZONE_CONNECTION macro) 54/42954/4
Mateusz Malicki [Mon, 6 Jul 2015 08:39:24 +0000 (10:39 +0200)]
Removed unused code (ZONE_CONNECTION macro)

[Bug]           Unused code
[Cause]         There is no connection to zone
[Solution]      Remove ZONE_CONNECTION macro and related code
[Verification]  Build

Change-Id: I805372a08ddd3507cbe6bfaeeca968560eb593e6

8 years agoMoved dispatching to Server 95/42995/4
Jan Olszak [Mon, 6 Jul 2015 09:58:10 +0000 (11:58 +0200)]
Moved dispatching to Server

[Feature]       Dispatcher can be used outside IPC.
[Cause]         Will be needed to process signalfd
[Solution]      N/A
[Verification]  Build, install, run tests

Change-Id: I17298da5e4758bbf0fa266bcf896f464df29c9a3

8 years agoFix method signature (add override) 85/42985/1
Mateusz Malicki [Mon, 6 Jul 2015 13:25:25 +0000 (15:25 +0200)]
Fix method signature (add override)

[Bug]           Can't compile with clang 3.6
[Cause]         Missing override in method signature
[Solution]      N/A
[Verification]  Compile with clang.

Change-Id: Iac6094321be0571ccb39bebc3e911665abd9053e

8 years agoFix doxygen comment 58/42958/1
Mateusz Malicki [Mon, 6 Jul 2015 09:41:16 +0000 (11:41 +0200)]
Fix doxygen comment

[Bug]           Can't compile with clang 3.6
[Cause]         Bad format of doxygen comment (command-line-interface.hpp)
[Solution]      N/A
[Verification]  Compile with clang.

Change-Id: If8a394d67ac37f402802a23bdf990f1ea70306d2

8 years agoInteractive mode and other improvements to vasum-cli tool 65/42065/8
Lukasz Pawelczyk [Mon, 22 Jun 2015 12:03:15 +0000 (14:03 +0200)]
Interactive mode and other improvements to vasum-cli tool

[Feature]       These features have been implemented/updated:
                - interactive mode
                - persistent connection during interactive mode
                - better help
                - simple mode for cli auto-completion
                The interactive mode allows to make full use of queue
                lock/unlock commands. They can also be easily tested
                with it.
[Cause]         n/a
[Solution]      n/a
[Verification]  Run vasum-cli and executed several commands.
                Tested auto completion. Tested lock/unlock queue.

Change-Id: If623559c9250bf480cc600ba89c2d5fe02137a18

8 years agoAdjust to coding style rules 28/42528/4
Krzysztof Dynowski [Mon, 29 Jun 2015 14:13:12 +0000 (16:13 +0200)]
Adjust to coding style rules

[Feature]       package includes in double quotes
[Cause]         n/a
[Solution]      replace tiangle brackets to double quotes
[Verification]  Build

Change-Id: I7fc5815a3213566172dc8561240f463d610e48ea

8 years agoVarious changes relating to Fedora Linux support. 68/42068/9
Dariusz Michaluk [Mon, 22 Jun 2015 08:59:52 +0000 (10:59 +0200)]
Various changes relating to Fedora Linux support.

[Bug/Feature]   Fix vasum-cli create_zone (add zone template name parameter).
                Default zone template depends on target platform.
                Create zones data directory.
                Add fedora zone template.
[Cause]         N/A
[Solution]      N/A
[Verification]  Build, install, run tests, run daemon,
                create/start/shutdown/destroy zone.

Change-Id: I63b4b6a60c85b826492e13d016f67e489cefb36c

8 years agoImplement a Lock/Unlock Queue API calls. 74/41874/7
Lukasz Pawelczyk [Thu, 18 Jun 2015 13:21:38 +0000 (15:21 +0200)]
Implement a Lock/Unlock Queue API calls.

[Feature]       Calls that make it possible to lock a queue exclusively
                to one client (IPC/DBUS) which can then order few calls
                in a row with a guarantee that no other client will
                interrupt.
[Cause]         n/a
[Solution]      n/a
[Verification]  Built, installed, run tests. Also see below.

Additional features implemented in this commit to support the above:
- DBus client disconnected notification. Adds a new callback to
  registerObject() that's called when a client that previously talked to
  the server gets disconnected.
- ZoneManager level client disconnect notification using the
  aforementioned DBus and already implemented IPC functionalities.
- Changed SwitchToDefault from signal to a method so we can return an
  error code when the queue is locked.
- MethodResultBuilder's getID() call that returns ipc independent
  identifier that client connections can be identified with (using
  getPeerID and getPeerName from IPC and DBus specific classes
  respectively).
- mGuard fixed in the DbusConnection class. Now it really does protect
  mConnection and mNameID as well as newly introduced mWatchedClients.
- Various half-related fixes/changes here and there (whitespaces,
  duplicate definition of PROXY_CALL in the DBus interface, etc).

There are no tests in this commit for the DBus features and the
Lock/Unlock queue. They will follow in the later commits.

To somewhat test the disconnect notifications (both, DBus level and
ZoneManager level) one can connect to the server using appropriate APIs
and watch the DEBUG/TRACE logs. This can be achieved using the following
commands:

$ dbus-send --system --dest=org.tizen.vasum.host \
            --type=method_call --print-reply \
            /org/tizen/vasum/host \
            org.tizen.vasum.host.manager.GetZoneIds
$ vasum-cli get_zone_ids

WARNING: this commit breaks API/ABI of libSimpleDbus

Change-Id: Ic0ed2371e563c34340ad41d66dd943a1abc8eb48

8 years agoOptimization turned off when compiling with coverage support 31/42231/3
Mateusz Malicki [Wed, 24 Jun 2015 14:38:03 +0000 (16:38 +0200)]
Optimization turned off when compiling with coverage support

[Feature]       Better coverage report
[Cause]         Optimization can broke coverage report
[Solution]      Turn off optimization
[Verification]  Build with 'CCOV' target, run, generate report

Change-Id: I13f04d16f6292e5def30a6af75c5fcbc5038fde1

8 years agoWrapper: send/recv socket fd - based on public domain code 87/42287/1
Krzysztof Dynowski [Thu, 25 Jun 2015 08:52:35 +0000 (10:52 +0200)]
Wrapper: send/recv socket fd - based on public domain code

[Bug/Feature]   Protex reported copy of code from LXC sources
[Cause]         Copied from vasum old api
[Solution]      Follow public domain examples from "Unix Network Programming"
[Verification]  Next protex report

Change-Id: I13163a3e0ef68d816ad194e515cab28629a7291f

8 years agoFix Klocwork issues 09/42109/1
Lukasz Kostyra [Tue, 23 Jun 2015 09:28:51 +0000 (11:28 +0200)]
Fix Klocwork issues

[Bug]           Issues reported by Klocwork
[Cause]         N/A
[Solution]      N/A
[Verification]  Build, install, run tests

Change-Id: I745cccedceff96fc3b1f475da4308f17775a6d24

8 years agoCheck vasum runtime - rename vasum-check-env to vasum-check-config 98/41998/1
Krzysztof Dynowski [Fri, 19 Jun 2015 12:49:30 +0000 (14:49 +0200)]
Check vasum runtime - rename vasum-check-env to vasum-check-config

[Bug/Feature]   naming convention
[Cause]         N/A
[Solution]      rename
[Verification]  N/A

Change-Id: I6fb89a9378da7d4c04c0cae74935fdf67df5d3d6

8 years agoFinish CreateFile API 79/41579/6
Lukasz Kostyra [Tue, 16 Jun 2015 10:56:18 +0000 (12:56 +0200)]
Finish CreateFile API

[Feature]       N/A
[Cause]         Missing API
[Solution]      Add missing functions in ZonesManager and in Communication
[Verification]  Build, install, run tests

Change-Id: I417e1deeca2effcdb772189045263d0c9dd22de7

8 years agoAdd wrapper for lxc-fedora template 97/41597/5
Dariusz Michaluk [Tue, 16 Jun 2015 12:39:42 +0000 (14:39 +0200)]
Add wrapper for lxc-fedora template

[Feature]       Add wrapper for lxc-fedora template
[Cause]         N/A
[Solution]      N/A
[Verification]  Build, create/start/shutdown/destroy zone.

Change-Id: Iaa071f19dedfb7406d576858d8c7be2600b1e077

8 years agoDon't print LOGS messages when log level is greater than TRACE 13/41813/2
Dariusz Michaluk [Thu, 18 Jun 2015 07:43:58 +0000 (09:43 +0200)]
Don't print LOGS messages when log level is greater than TRACE

[Bug]           LOGS messages was always printed
[Cause]         N/A
[Solution]      N/A
[Verification]  Build, run `vasum-server -r` and `vasum-server -r -l TRACE`

Change-Id: Iec4fdd5d40a3920a51afae0a687387cb71b85ea2

8 years agoVasum's logo and icons 84/41784/1
Jan Olszak [Wed, 17 Jun 2015 11:25:08 +0000 (13:25 +0200)]
Vasum's logo and icons

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

Change-Id: I65f0288aa398674b4c1307f9f52255218caf7922

8 years agoRemove HostIpcConnection class 44/40844/5
Mateusz Malicki [Tue, 9 Jun 2015 14:14:42 +0000 (16:14 +0200)]
Remove HostIpcConnection class

[Bug]           Unnecessary HostIpcConnection class (ipc wrapper)
[Cause]         N/A
[Solution]      N/A
[Verification]  run ClientSuite tests

Change-Id: Ic2a3973593e3bec1d64715976c44ec460f66ee21

8 years agoAdd vsm_get_event_fd and vsm_enter_eventloop 35/40435/7
Mateusz Malicki [Wed, 3 Jun 2015 13:58:18 +0000 (15:58 +0200)]
Add vsm_get_event_fd and vsm_enter_eventloop

[Feature]       Provide possibility to implement custom event loop for
                user of vasum client library
[Cause]         Integration with other services
[Solution]      Possibility to fetch event fd and run event loop
[Verification]  run ClientSuite tests

Change-Id: Ic47e5de8bfd09889330d97d35d4c9ef47f238953

8 years agoCreate File in LxcZone 11/41211/9
Jan Olszak [Mon, 8 Jun 2015 14:17:16 +0000 (16:17 +0200)]
Create File in LxcZone

[Feature]       Create files in zones
                Pass file descriptors to those files
                Api definition
[Cause]         N/A
[Solution]      N/A
[Verification]  Build, run all tests

Change-Id: I9780b8922fac2548bae642b0e732dd96998996ab