platform/core/system/libdbuspolicy.git
4 years agorefactoring: rename Serializer to SerializerFlatbuffers 80/246280/1
Adrian Szyndela [Tue, 27 Oct 2020 09:08:39 +0000 (10:08 +0100)]
refactoring: rename Serializer to SerializerFlatbuffers

Change-Id: I52d6c22f44d7730dea221c4b9d81df9b7b3af291

4 years agorefactoring: add size argument to initFromData() 79/246279/1
Adrian Szyndela [Tue, 27 Oct 2020 08:44:25 +0000 (09:44 +0100)]
refactoring: add size argument to initFromData()

Change-Id: I0fea35816cbbb7dc898e495adab73d9c28729bc3

4 years agorefactoring: make serialized data const 92/246192/1
Adrian Szyndela [Wed, 14 Oct 2020 12:23:00 +0000 (14:23 +0200)]
refactoring: make serialized data const

Change-Id: I1e989504323c18754c9117d903ba8f4b951d8377

4 years agorefactoring: move Serializer to ldp_serializer namespace 91/246191/1
Adrian Szyndela [Wed, 14 Oct 2020 11:57:10 +0000 (13:57 +0200)]
refactoring: move Serializer to ldp_serializer namespace

Change-Id: I75fb678335aee17bcf6c13792f5124da4d0ad422

4 years agorefactoring: hide FB::File from interfaces 90/246190/1
Adrian Szyndela [Tue, 29 Sep 2020 14:56:59 +0000 (16:56 +0200)]
refactoring: hide FB::File from interfaces

Hide FB::File from interface of StorageBackendSerialized. This
generalizes the StorageBackendSerialized interface. And that allows
other implementations.

Change-Id: I84631685e6ead50b33e7254c73dfb9af18bb9c4d

4 years agoown_tree: make ordered map, we need it sorted anyway 89/246189/1
Adrian Szyndela [Wed, 14 Oct 2020 06:07:10 +0000 (08:07 +0200)]
own_tree: make ordered map, we need it sorted anyway

Change-Id: Iaac12479580b1502bc459387b64b7dda12ce9bef

4 years agofinder: improve printing 42/230342/1 accepted/tizen_6.0_unified_hotfix tizen_6.0_hotfix accepted/tizen/6.0/unified/20201030.115601 accepted/tizen/6.0/unified/hotfix/20201103.003414 accepted/tizen/unified/20200428.001342 submit/tizen/20200427.012135 submit/tizen_6.0/20201029.205104 submit/tizen_6.0_hotfix/20201102.192504 submit/tizen_6.0_hotfix/20201103.114804 tizen_6.0.m2_release
Adrian Szyndela [Thu, 9 Apr 2020 10:38:40 +0000 (12:38 +0200)]
finder: improve printing

Add actual attribute names to printing instead of printing just "send"
or "receive".

Change-Id: Ib117847d44a57abbf1fd1217a786c1d2d8b5d218

4 years agoxml-parser: don't clear list of included files in each dir 15/230315/2
Adrian Szyndela [Thu, 9 Apr 2020 08:01:48 +0000 (10:01 +0200)]
xml-parser: don't clear list of included files in each dir

The 'includedir' directives should make the parser include all
the files in the directories introduced with the directives.

This commit removes clearing of the gathered file list when
the directive is encountered.

Change-Id: Id14be322e8696bd85ddfbb0ba2360a7b4b5bcda4

4 years agotests: test multiple includedirs directive 14/230314/2
Adrian Szyndela [Thu, 9 Apr 2020 07:05:50 +0000 (09:05 +0200)]
tests: test multiple includedirs directive

This adds a test which checks if the files in all the directories
specified in all the <includedir> directives are parsed.

It breaks the checks during building as it exposes a bug.
The subsequent commit fixes the bug.

Change-Id: I020246138586357717dbee73617182f79176eac9

4 years agoFix memleak issue reported by Dexter tool. 60/225060/2
Gaurav Gupta [Mon, 17 Feb 2020 05:38:45 +0000 (11:08 +0530)]
Fix memleak issue reported by Dexter tool.

Change-Id: I24e2d2d6b6ecb3e3daf0edd94fe67866f369e87a

4 years agocoverity: Fix coverity issue 46/226146/1 submit/tizen/20200323.074358 submit/tizen/20200324.035254 submit/tizen/20200325.234821
sanghyeok.oh [Thu, 27 Feb 2020 06:33:22 +0000 (15:33 +0900)]
coverity: Fix coverity issue

constexpr function should return LiteralType

Coverity: #1050604 Parse warning
constexpr_return_not_constant

Change-Id: I608c84748dc515778bf96c6b65e59f1e389359c3

4 years agoRemove warning for GCC-9 86/221286/4 accepted/tizen/unified/20200105.221204 submit/tizen/20200102.044953
sanghyeok.oh [Tue, 31 Dec 2019 01:52:06 +0000 (10:52 +0900)]
Remove warning for GCC-9

Change-Id: Iefda0c2fafd09efe06ab3d8d73f593e3de406e7a
Signed-off-by: sanghyeok.oh <sanghyeok.oh@samsung.com>
4 years agoMerge "DF191023-00350:[Secure option] file secure option application request (PIE... accepted/tizen/unified/20191113.123516 submit/tizen/20191113.022957
sanghyeok oh [Wed, 13 Nov 2019 02:26:35 +0000 (02:26 +0000)]
Merge "DF191023-00350:[Secure option] file secure option application request (PIE, etc)" into tizen

4 years agoDF191023-00350:[Secure option] file secure option application request (PIE, etc) 45/217545/3
Kushagra K [Mon, 4 Nov 2019 08:33:48 +0000 (14:03 +0530)]
DF191023-00350:[Secure option] file secure option application request (PIE, etc)

Change-Id: I65bbebeb5b6f8399dce4bc622c7a59b5963540ce
Reviewed-by: Himanshu Maithani <himanshu.m@samsung.com>
Signed-off-by: Hyotaek Shim <hyotaek.shim@samsung.com>
5 years agoMerge "printer: print FileIdentifier" into tizen_5.5 accepted/tizen/5.5/unified/20191104.111320 submit/tizen_5.5/20191101.081616
sanghyeok oh [Fri, 1 Nov 2019 08:08:20 +0000 (08:08 +0000)]
Merge "printer: print FileIdentifier" into tizen_5.5

5 years agoMerge "serialization: serialize send index" into tizen_5.5
sanghyeok oh [Fri, 1 Nov 2019 08:08:01 +0000 (08:08 +0000)]
Merge "serialization: serialize send index" into tizen_5.5

5 years agoMerge "refactoring: move local functions to an anonymous namespace" into tizen_5.5
sanghyeok oh [Fri, 1 Nov 2019 08:07:54 +0000 (08:07 +0000)]
Merge "refactoring: move local functions to an anonymous namespace" into tizen_5.5

5 years agoMerge "doc: overview, purpose, design, implementation" into tizen_5.5
sanghyeok oh [Fri, 1 Nov 2019 08:07:47 +0000 (08:07 +0000)]
Merge "doc: overview, purpose, design, implementation" into tizen_5.5

5 years agoMerge "Fix some issues found by static analysis." into tizen_5.5
sanghyeok oh [Fri, 1 Nov 2019 08:07:41 +0000 (08:07 +0000)]
Merge "Fix some issues found by static analysis." into tizen_5.5

5 years agoprinter: print FileIdentifier 01/216801/1
sanghyeok.oh [Mon, 28 Oct 2019 07:23:12 +0000 (16:23 +0900)]
printer: print FileIdentifier

Change-Id: Ia993cd3739f74920e3dedceeb4a58de1e967b326
Signed-off-by: sanghyeok.oh <sanghyeok.oh@samsung.com>
(cherry picked from commit 87cae30fd5842acc83ababd378873b3182c11f02)

5 years agoserialization: serialize send index 00/216800/1
Adrian Szyndela [Fri, 25 Oct 2019 14:27:09 +0000 (16:27 +0200)]
serialization: serialize send index

This removes creating send index after reading a serialized database.
Instead, the send index is created while serializing the database,
and written along with the database. Then, the index is used
as before, but in a bit more generalized way, being a part
of PolicySend now.

Therefore, this extends the database with the new tables,
making the database version up to LDP2. The previous version
LDP1 is still compatible with new code, however the send index
is not supported for old databases.

This results in the following:
- with serialized database, version LDP2, the send index
  is kept in serialized database file, and used accordingly
  for all lookups to "send" part of the database;
- with serialized database, version LDP1, there is no send index,
  the lookups are performed in an old-fashined, linear manner;
- with no serialized database, only XML files, the index is created
  in memory, along with the serialized database. Thus, running
  fast, but at the cost of memory.

Change-Id: Ib918fa96eb60d216512faf60f8e20692c8a5d3a3
(cherry picked from commit 783b7e7315959b625a613b959c19b12a381e5831)

5 years agorefactoring: move local functions to an anonymous namespace 99/216799/1
Adrian Szyndela [Fri, 25 Oct 2019 11:35:59 +0000 (13:35 +0200)]
refactoring: move local functions to an anonymous namespace

Change-Id: I9d9cf07877d59df88305e8847c3156a73e82efd8
(cherry picked from commit c641a5cb8a025f7a75f7b88015d85e1a5cc6813a)

5 years agodoc: overview, purpose, design, implementation 98/216798/1
Adrian Szyndela [Mon, 7 Oct 2019 09:08:32 +0000 (11:08 +0200)]
doc: overview, purpose, design, implementation

The description of the libdbuspolicy project. It includes
the overview, the purpose, the description of the design and
the implementation, and additionally notes for improvements
made or considered.

Change-Id: I6b0bc9028ed86cb688d0dac9e910c10d3c4d8bc5
(cherry picked from commit 92c61f4ae8c64d2be5adf809c1ba10a1cdb5e905)

5 years agoFix some issues found by static analysis. 97/216797/1
Michal Bloch [Mon, 23 Sep 2019 13:12:52 +0000 (15:12 +0200)]
Fix some issues found by static analysis.

Change-Id: I8af3cddac48f82d98d9bdeaf6d41bae31d3dc12a
Signed-off-by: Michal Bloch <m.bloch@samsung.com>
(cherry picked from commit 78eec0949fe14bffe6e057e79c3cf311499be8c3)

5 years agoFix DetachedBuffer self move assignment 96/216796/1
Michal Bloch [Wed, 18 Sep 2019 09:38:09 +0000 (11:38 +0200)]
Fix DetachedBuffer self move assignment

Change-Id: I7d107ac767bbb9982bf773eca86f827fce8c6423
Signed-off-by: Michal Bloch <m.bloch@samsung.com>
(cherry picked from commit baba460bf65e66e62533d4a0c5e7dd7526a435ae)

5 years agoprinter: print FileIdentifier 36/216536/4 accepted/tizen/unified/20191101.042158 submit/tizen/20191031.025459
sanghyeok.oh [Mon, 28 Oct 2019 07:23:12 +0000 (16:23 +0900)]
printer: print FileIdentifier

Change-Id: Ia993cd3739f74920e3dedceeb4a58de1e967b326
Signed-off-by: sanghyeok.oh <sanghyeok.oh@samsung.com>
5 years agoserialization: serialize send index 96/216496/1
Adrian Szyndela [Fri, 25 Oct 2019 14:27:09 +0000 (16:27 +0200)]
serialization: serialize send index

This removes creating send index after reading a serialized database.
Instead, the send index is created while serializing the database,
and written along with the database. Then, the index is used
as before, but in a bit more generalized way, being a part
of PolicySend now.

Therefore, this extends the database with the new tables,
making the database version up to LDP2. The previous version
LDP1 is still compatible with new code, however the send index
is not supported for old databases.

This results in the following:
- with serialized database, version LDP2, the send index
  is kept in serialized database file, and used accordingly
  for all lookups to "send" part of the database;
- with serialized database, version LDP1, there is no send index,
  the lookups are performed in an old-fashined, linear manner;
- with no serialized database, only XML files, the index is created
  in memory, along with the serialized database. Thus, running
  fast, but at the cost of memory.

Change-Id: Ib918fa96eb60d216512faf60f8e20692c8a5d3a3

5 years agorefactoring: move local functions to an anonymous namespace 95/216495/1
Adrian Szyndela [Fri, 25 Oct 2019 11:35:59 +0000 (13:35 +0200)]
refactoring: move local functions to an anonymous namespace

Change-Id: I9d9cf07877d59df88305e8847c3156a73e82efd8

5 years agodoc: overview, purpose, design, implementation 54/215354/1
Adrian Szyndela [Mon, 7 Oct 2019 09:08:32 +0000 (11:08 +0200)]
doc: overview, purpose, design, implementation

The description of the libdbuspolicy project. It includes
the overview, the purpose, the description of the design and
the implementation, and additionally notes for improvements
made or considered.

Change-Id: I6b0bc9028ed86cb688d0dac9e910c10d3c4d8bc5

5 years agoFix some issues found by static analysis. 17/214517/1
Michal Bloch [Mon, 23 Sep 2019 13:12:52 +0000 (15:12 +0200)]
Fix some issues found by static analysis.

Change-Id: I8af3cddac48f82d98d9bdeaf6d41bae31d3dc12a
Signed-off-by: Michal Bloch <m.bloch@samsung.com>
5 years agoFix DetachedBuffer self move assignment 39/214139/2
Michal Bloch [Wed, 18 Sep 2019 09:38:09 +0000 (11:38 +0200)]
Fix DetachedBuffer self move assignment

Change-Id: I7d107ac767bbb9982bf773eca86f827fce8c6423
Signed-off-by: Michal Bloch <m.bloch@samsung.com>
5 years agosvace fix:add catch - std::out_of_range 98/213998/1 accepted/tizen_5.5_unified_mobile_hotfix tizen_5.5_mobile_hotfix accepted/tizen/5.5/unified/20191031.022427 accepted/tizen/5.5/unified/mobile/hotfix/20201027.090256 accepted/tizen/unified/20190918.102205 submit/tizen/20190917.065530 submit/tizen_5.5/20191031.000004 submit/tizen_5.5_mobile_hotfix/20201026.185104 tizen_5.5.m2_release
sanghyeok.oh [Tue, 17 Sep 2019 06:40:43 +0000 (15:40 +0900)]
svace fix:add catch - std::out_of_range

Change-Id: I2bf65edb452d6d4baeeabc34682825e56ef69199
Signed-off-by: sanghyeok.oh <sanghyeok.oh@samsung.com>
5 years agosvace fix 74/213974/2 submit/tizen/20190917.062106
sanghyeok.oh [Tue, 17 Sep 2019 05:44:06 +0000 (14:44 +0900)]
svace fix

Change-Id: Ie5f39ba6e883d259b6da10c4052000cae5e4c738
Signed-off-by: sanghyeok.oh <sanghyeok.oh@samsung.com>
5 years agosrc: fix non-linking with some compilers/linkers 44/213544/1 accepted/tizen/unified/20190909.050752 submit/tizen/20190906.120330
Adrian Szyndela [Fri, 6 Sep 2019 11:06:31 +0000 (13:06 +0200)]
src: fix non-linking with some compilers/linkers

We got a report that the library does not link within some
environments, giving messages like:

 undefined reference to `BusPathResolver::KDBUS_SYSTEM_BUS_PATH'

This is due to missing definition of static constexpr fields.
It is not necessary to give such definition when a field is initialized
inline since C++17, but this is compiled with C++11.

This commit adds definition of static constexpr fields.

Change-Id: Ia354f0e1aa5f1051571bf328fc654627f69c5dbd

5 years agoprinter: fix 'v' argument 45/213245/1
Adrian Szyndela [Tue, 3 Sep 2019 08:11:22 +0000 (10:11 +0200)]
printer: fix 'v' argument

':' in getopt list means that the option requires an argument.
'v' option does not require argument.

Change-Id: I63052b80e8ed9cc6df93524b7052f8f1c77a8773

5 years agocoverity fix 59/212759/1 accepted/tizen/unified/20190828.011000 submit/tizen/20190827.083850
sanghyeok.oh [Mon, 26 Aug 2019 11:53:10 +0000 (20:53 +0900)]
coverity fix

Change-Id: I124109dfd923f30471c2a0799fa5774f29ee091c
Signed-off-by: sanghyeok.oh <sanghyeok.oh@samsung.com>
5 years agoMerge "dbuspolicy-printer: add xml format" into tizen
Hyotaek Shim [Tue, 6 Aug 2019 01:59:03 +0000 (01:59 +0000)]
Merge "dbuspolicy-printer: add xml format" into tizen

5 years agoMerge "dbuspolicy-printer: fix segfault due to invalid input" into tizen
Hyotaek Shim [Tue, 6 Aug 2019 01:58:57 +0000 (01:58 +0000)]
Merge "dbuspolicy-printer: fix segfault due to invalid input" into tizen

5 years agodbuspolicy-printer: add xml format 64/211164/2
sanghyeok.oh [Tue, 30 Jul 2019 13:01:33 +0000 (22:01 +0900)]
dbuspolicy-printer: add xml format

Change-Id: I67cc1f29fb8e4f2fded530dea7719c46f74c0568
Signed-off-by: sanghyeok.oh <sanghyeok.oh@samsung.com>
5 years agodbuspolicy-printer: fix segfault due to invalid input 28/211128/1
sanghyeok.oh [Tue, 30 Jul 2019 08:06:38 +0000 (17:06 +0900)]
dbuspolicy-printer: fix segfault due to invalid input

-i opt expecting serialized file.

Change-Id: I31bde3750deaa43c8148f2469e74a52e7ef4ba15
Signed-off-by: sanghyeok.oh <sanghyeok.oh@samsung.com>
5 years agoMigrate to openssl 1.1 86/210386/2 accepted/tizen/unified/20190801.113500 submit/tizen/20190730.065826 submit/tizen/20190731.065916
Dariusz Michaluk [Thu, 18 Jul 2019 12:43:33 +0000 (14:43 +0200)]
Migrate to openssl 1.1

Change-Id: I07c62e6cf0e0fd9173a5d92b40b4b34756f05861

5 years agochange 'constructor with 1 argument' to explicit constructor 99/210199/1 accepted/tizen/unified/20190724.063739 submit/tizen/20190722.121816
sanghyeok.oh [Wed, 17 Jul 2019 00:19:21 +0000 (09:19 +0900)]
change 'constructor with 1 argument' to explicit constructor

* implicit conversion
The compiler is allowed to make one implicit conversion to resolve the parameters to a function.
What this means is that the compiler can use constructors callable with a single parameter to convert from one type to another in order to get the right type for a parameter.

Change-Id: I79da863d9d86d3ea19e43089f2c836d2f52ef6d8
Signed-off-by: sanghyeok.oh <sanghyeok.oh@samsung.com>
5 years agoFix a dangling pointer / needless copy 45/209645/2
Michal Bloch [Tue, 9 Jul 2019 12:53:34 +0000 (14:53 +0200)]
Fix a dangling pointer / needless copy

Change-Id: I388462ea3d8949f7512228e1b65e4c9ccbc25bdb
Signed-off-by: Michal Bloch <m.bloch@samsung.com>
5 years agoAdd a missing whitespace 47/209547/1
Michal Bloch [Mon, 8 Jul 2019 13:48:31 +0000 (15:48 +0200)]
Add a missing whitespace

"allowown" -> "allow own"

Change-Id: Ied47493a5a678a13b34be421a573a7bed52b62bb
Signed-off-by: Michal Bloch <m.bloch@samsung.com>
5 years agointernal: add send index 22/208522/4 accepted/tizen/unified/20190627.014814 submit/tizen/20190626.110347
Adrian Szyndela [Wed, 29 May 2019 14:17:49 +0000 (16:17 +0200)]
internal: add send index

This adds indexes:
- main index for send rules;
- additional index for send prefix rules;
- indexes for send rules for each user;
- additional indexes for send prefix rules for each user.

Change-Id: I45a4b3625fe67a9fff7525d04ae6ebf8879e14f1

5 years agorefactoring: remove unnecessary includes 23/208523/3
Adrian Szyndela [Tue, 25 Jun 2019 11:39:29 +0000 (13:39 +0200)]
refactoring: remove unnecessary includes

Change-Id: I07f76694014d24d89964b95d834d10b4b3f8b38b

5 years agonew printing pattern 32/208132/6
Baumann [Tue, 18 Jun 2019 10:39:13 +0000 (12:39 +0200)]
new printing pattern

Change-Id: Ifb3f31c44ba845a35490f26d63e74f05cb8c6658

5 years agodbuspolicy-finder documentation 28/207728/11
Baumann [Tue, 11 Jun 2019 14:18:14 +0000 (16:18 +0200)]
dbuspolicy-finder documentation

Change-Id: Ia6617d124a4e4da8a1377eefba2b70b971b65c23

5 years agoadded policy rejected message as input 50/207650/12
Baumann [Thu, 30 May 2019 14:41:19 +0000 (16:41 +0200)]
added policy rejected message as input

Change-Id: I15f921221f02d9d8d72097d93aa54f92f91895c0

5 years agoadded dbuspolicy-finder utility 42/205142/29
Baumann [Mon, 8 Apr 2019 17:19:37 +0000 (19:19 +0200)]
added dbuspolicy-finder utility

It shows filters policies and possible privilege combinations.

Change-Id: Ia4078eb76a7fde3fc457280a08189208089464d2

5 years agofix maybe-uninitialized error in serializer.cpp 88/208488/2
Himanshu Maithani [Tue, 25 Jun 2019 05:35:11 +0000 (11:05 +0530)]
fix maybe-uninitialized error in serializer.cpp

Function Serializer::serialize(const std::string config_path, size_t &size) can
return nullptr in case of error, thus leaving size to be uninitialized.

[   50s] src/internal/serializer.cpp: In member function 'serialize':
[   50s] src/internal/serializer.cpp:133:50: error: 'size' may be used uninitialized in this function [-Werror=maybe-uninitialized]
[   50s]   output.write(reinterpret_cast<char *>(buf), size);
[   50s]                                                   ^
[   50s] src/internal/serializer.cpp:130:9: note: 'size' was declared here
[   50s]   size_t size

Change-Id: If8b2c735e6b01e73b592827b937e0dfe8f94a615
Signed-off-by: Himanshu Maithani <himanshu.m@samsung.com>
5 years agoChange the config value of the "RemainAfterExit=" ("true" -> "yes") 37/208537/2
INSUN PYO [Wed, 26 Jun 2019 00:21:53 +0000 (09:21 +0900)]
Change the config value of the "RemainAfterExit=" ("true" -> "yes")

Change-Id: I969b67e81bb7db736d1db7a566cb361bbb281a1a

5 years agobugfix: LOGE messed with errno 25/207225/4
Adrian Szyndela [Thu, 30 May 2019 10:37:53 +0000 (12:37 +0200)]
bugfix: LOGE messed with errno

Change-Id: I626c8e4e809791e5a0050a3096b392336f85cc60

5 years agorefactoring: make less dependencies 24/207224/4
Adrian Szyndela [Thu, 30 May 2019 09:42:34 +0000 (11:42 +0200)]
refactoring: make less dependencies

Change-Id: I8ec4031716f0a089e62ca0cae6fe1bfc3f5e9529

5 years agotests: add 'worst case' performance test 23/207223/2
Adrian Szyndela [Wed, 29 May 2019 09:38:33 +0000 (11:38 +0200)]
tests: add 'worst case' performance test

Change-Id: I4d14eeb5bea1e7054674793ebd8d0861c876eb59

5 years agotests: add missing deny for build-time tests 34/206834/3
Adrian Szyndela [Mon, 27 May 2019 13:56:54 +0000 (15:56 +0200)]
tests: add missing deny for build-time tests

Previous commit somehow didn't get additional deny, which
is needed for passing build-time tests.

Change-Id: Id29a11a14e6f2b586d1cab58fd8b27ef576cf713

5 years agoMerge "extracted helper functions to a separate header" into tizen
Adrian Szyndela [Tue, 28 May 2019 08:53:14 +0000 (08:53 +0000)]
Merge "extracted helper functions to a separate header" into tizen

5 years agoMerge "Makefile now conforms to libtool naming standard" into tizen
Adrian Szyndela [Tue, 28 May 2019 08:44:03 +0000 (08:44 +0000)]
Merge "Makefile now conforms to libtool naming standard" into tizen

5 years agoextracted helper functions to a separate header 00/206500/3
Baumann [Mon, 20 May 2019 15:05:06 +0000 (17:05 +0200)]
extracted helper functions to a separate header

Change-Id: I777b45cf0166611e215bf38c275b62db777dd9dd

5 years agotests: make denying method calls narrower 16/206416/1
Adrian Szyndela [Fri, 17 May 2019 11:07:18 +0000 (13:07 +0200)]
tests: make denying method calls narrower

After commit 329ae0e41 the cynara test stopped working. It was due to
different order of reading configuration files, as method.tests.conf
denied all the method calls.

This makes method.tests.conf deny only method calls to org.test.*, which
covers all destinations defined in the file.

Change-Id: I9a181bb184d41af83585c000b458fb9edd78cfb9

5 years agointernal bugfix: handle no-interface messages 36/206336/4
Adrian Szyndela [Thu, 16 May 2019 12:39:20 +0000 (14:39 +0200)]
internal bugfix: handle no-interface messages

No-interface messages should be handled in a special way.
Dbus says in bus/policy.c:

 The interface is optional in messages. For allow rules, if the message
 has no interface we want to skip the rule (and thus not allow);
 for deny rules, if the message has no interface we want to use the
 rule (and thus deny).

For example, a rule of type:
 <deny send_type="method_call" send_interface="foo.bar"/>
should:
- deny method_calls with foo.bar interface;
- deny method_calls with no interface.
A rule of type:
 <allow send_type="method_call" send_interface="foo.bar"/>
should:
- allow method_calls with foo.bar interface;
- not allow method_calls with not interface (the rule should be ignored).

The point is to make libdbuspolicy work as close as possible to how
dbus-daemon works with policies.

Change-Id: I99563d3728047a67fa4719948719a2df9c5d9f97

5 years agoMakefile now conforms to libtool naming standard 49/206249/2
Baumann [Wed, 15 May 2019 10:46:46 +0000 (12:46 +0200)]
Makefile now conforms to libtool naming standard

Change-Id: I61f5d06ca5aeb5aa63875cc087c438b6b93ecc9a

5 years agoadd missing PolicyOwn::ItemType 79/205479/3
Baumann [Mon, 6 May 2019 14:28:48 +0000 (16:28 +0200)]
add missing PolicyOwn::ItemType

Change-Id: I04fc8c0a51d3ff717834f9985acd883800be074e

5 years agoserializer: define order of including files in includedir 77/205477/1
Adrian Szyndela [Mon, 6 May 2019 11:03:09 +0000 (13:03 +0200)]
serializer: define order of including files in includedir

In the reference documentation <includedir> has an undefined
order of including files from a directory.

This makes the order unoficially and implicitly defined to make
generated serialized files equal for the same set of files.
It does not mean that users may now rely on it.

The order is alphabetical.

Change-Id: I07fd137e6a9646a541387bb0ef205edfc012f5f9

5 years agoserialization: file version verification 76/205476/1
Adrian Szyndela [Mon, 6 May 2019 11:57:56 +0000 (13:57 +0200)]
serialization: file version verification

This adds flatbuffers file identifier and uses it during
verification.

Change-Id: I2d49607d8c5ca0b9678e9bc68a9dc6201ef4c7b5

5 years agoserializer: add SHA1 and FlatBuffers verification 38/205238/1
Adrian Szyndela [Tue, 30 Apr 2019 13:07:21 +0000 (15:07 +0200)]
serializer: add SHA1 and FlatBuffers verification

Change-Id: I8c78971f8b6481d1cd00c54dce7b2f0466f1ce61

5 years agotizen: Add new package to perform data verification on boot 90/204590/6
Karol Lewandowski [Wed, 24 Apr 2019 12:10:05 +0000 (14:10 +0200)]
tizen: Add new package to perform data verification on boot

emergency.target is started on verification failure.

Change-Id: I5c67e624d76440f9667602930aecb5adff233ecc

5 years agoserialization: change tool name 13/205213/3 accepted/tizen/unified/20190502.051437 submit/tizen/20190430.084305
sanghyeok.oh [Tue, 30 Apr 2019 07:50:05 +0000 (16:50 +0900)]
serialization: change tool name

For readability and easy typing

dbuspolicyserializer > dbuspolicy-serializer
dbuspolicyprinter > dbuspolicy-printer

Change-Id: I3a416805d66f31c16465a3a2854ceda15d783e9f
Signed-off-by: sanghyeok.oh <sanghyeok.oh@samsung.com>
5 years agoMerge "serializer: add option for checking for updates" into tizen accepted/tizen/unified/20190424.040758 submit/tizen/20190423.100702
Hyotaek Shim [Tue, 23 Apr 2019 04:52:53 +0000 (04:52 +0000)]
Merge "serializer: add option for checking for updates" into tizen

5 years agoserialization: make input consistency between printer and serializer 31/203931/4
sanghyeok.oh [Thu, 18 Apr 2019 07:00:22 +0000 (16:00 +0900)]
serialization: make input consistency between printer and serializer

Change-Id: I7ef136fde2a3b7cdd3cf117ccdc32fc5e0dce52c
Signed-off-by: sanghyeok.oh <sanghyeok.oh@samsung.com>
5 years agoserialization: printer: change log level from silent to default 30/203930/4
sanghyeok.oh [Thu, 18 Apr 2019 06:59:45 +0000 (15:59 +0900)]
serialization: printer: change log level from silent to default

Change-Id: I294e9b3f202002922ed266504ab99ff048ddb94c
Signed-off-by: sanghyeok.oh <sanghyeok.oh@samsung.com>
5 years agoxml_parser: modified log to print out filename 29/203929/3
sanghyeok.oh [Thu, 18 Apr 2019 06:59:07 +0000 (15:59 +0900)]
xml_parser: modified log to print out filename

Change-Id: I63510b0b15e21aa8d583b98cb29b18d08bada5ab
Signed-off-by: sanghyeok.oh <sanghyeok.oh@samsung.com>
5 years agotslog: change name log to log_debug 28/203928/4
sanghyeok.oh [Thu, 18 Apr 2019 06:58:35 +0000 (15:58 +0900)]
tslog: change name log to log_debug

Change-Id: Ib362f0cd385298a20443f90f9d4b78bcad84a8cc
Signed-off-by: sanghyeok.oh <sanghyeok.oh@samsung.com>
5 years agotslog: modified to support log level 27/203927/6
sanghyeok.oh [Thu, 18 Apr 2019 06:57:49 +0000 (15:57 +0900)]
tslog: modified to support log level

Change-Id: I9f5a4b9cae82737db6037ce56cf7b75bf8e8af0a
Signed-off-by: sanghyeok.oh <sanghyeok.oh@samsung.com>
5 years agoserializer: add option for checking for updates 26/203526/2
Adrian Szyndela [Mon, 15 Apr 2019 11:47:37 +0000 (13:47 +0200)]
serializer: add option for checking for updates

Developers may need to check if they already updated their
serialized policy file. This adds -j option which does not write
anything to the output file, but rather just checks if the generated
file would have the same contents as an existing output file.

Change-Id: I28ab3e992416d25c04206279275f007c0ca08919

5 years agorefactoring: group helper functions into a namespace 04/203204/5
Adrian Szyndela [Wed, 10 Apr 2019 14:04:52 +0000 (16:04 +0200)]
refactoring: group helper functions into a namespace

This groups helper functions into an anonymous namespace.

Change-Id: I1bf32e719f4268886014757a1423ef2c24b4c242

5 years agorefactoring: group path resolving ops into a class 03/203203/5
Adrian Szyndela [Wed, 10 Apr 2019 14:04:13 +0000 (16:04 +0200)]
refactoring: group path resolving ops into a class

This introduces BusPathResolver class.

Change-Id: I56d22e0b6b5e565415b1ff6d070986efa97c7502

5 years agorefactoring: group kconn ops into a class 06/203206/4
Adrian Szyndela [Wed, 10 Apr 2019 14:25:24 +0000 (16:25 +0200)]
refactoring: group kconn ops into a class

This moves functions dealing with kconn into the kconn class.

Change-Id: I27422ae661071ec33d27bced8b2954ea744d16d0

5 years agorefactoring: group checker functions into a class 05/203205/4
Adrian Szyndela [Wed, 10 Apr 2019 14:22:21 +0000 (16:22 +0200)]
refactoring: group checker functions into a class

This introduces local Checker class that helps with initializing
and selecting NaivePolicyChecker instances.

Change-Id: Ia859e63903b4ea173fe4cae5de9cfadc1aa94d4a

5 years agorefactoring: group g_udesc operations into a struct 01/203201/4
Adrian Szyndela [Wed, 10 Apr 2019 13:02:42 +0000 (15:02 +0200)]
refactoring: group g_udesc operations into a struct

Change-Id: I474a61e811cb7eb316ad8b57c298b8730f74eb25

5 years agorefactoring: getNames() -> prepareNames() 00/203200/4
Adrian Szyndela [Wed, 10 Apr 2019 12:37:33 +0000 (14:37 +0200)]
refactoring: getNames() -> prepareNames()

prepareNames() is more proper name for the function as it
prepares an array of names in the KdbusConnectionInfo object,
it does not return them.

Change-Id: I9f86ae80c138a2371456c86543757e962d23e25a

5 years agorefactoring: use checker directly instead BusType in configuration 04/202904/6
Adrian Szyndela [Fri, 5 Apr 2019 11:20:59 +0000 (13:20 +0200)]
refactoring: use checker directly instead BusType in configuration

This makes configuration use pointer to checker in place of previously
used BusType. This way on queries, the object is used throught the pointer
instead of selecting correct checker with yet another 'if' clause.

Change-Id: I79f129be899ff501a01ff1fbf1a95c5d194e3abf

5 years agorefactoring: make BusType a local type 03/202903/6
Adrian Szyndela [Fri, 5 Apr 2019 10:47:19 +0000 (12:47 +0200)]
refactoring: make BusType a local type

BusType does not need to be a global type, because in fact
it is needed only to choose a correct policy checker.

In the test cases, or in the command line tools we explicitly know
which checker we need to choose.

Thus, it is only required for the API, where we still keep it
in the configuration.

This will allow further simplifications.

Change-Id: I61663d496279b47a6a0338b93434b5ae42326f33

5 years agorefactoring: remove the remains of internal.cpp 02/202902/6
Adrian Szyndela [Fri, 5 Apr 2019 10:20:30 +0000 (12:20 +0200)]
refactoring: remove the remains of internal.cpp

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

5 years agorefactoring: remove tslog-related functions from "internal" 01/202901/5
Adrian Szyndela [Fri, 5 Apr 2019 09:32:44 +0000 (11:32 +0200)]
refactoring: remove tslog-related functions from "internal"

This removes tslog-related functions from internal.{cpp,h}.
Needed functionality is moved to tslog, the rest is eliminated,
as obsolete.

Additionally, RAII object LogLock is provided to make it look
prettier in places where transaction_guard for __internal_enter and
__internal_exit was used.

Change-Id: I48e5b9c5bf352eb03c50b2a4b4c109c2df0c11bc

5 years agorefactoring: eliminate __internal_init_sup_group() 00/202900/3
Adrian Szyndela [Fri, 5 Apr 2019 08:51:30 +0000 (10:51 +0200)]
refactoring: eliminate __internal_init_sup_group()

This removes __internal_init_sup_group(), which no longer serves
as anything more than a useless proxy.

Change-Id: Ie460c9f2b71413235e7141ec84b5112be27e0f5b

5 years agorefactoring: clean up tests (a bit) 99/202899/3
Adrian Szyndela [Thu, 4 Apr 2019 14:15:52 +0000 (16:15 +0200)]
refactoring: clean up tests (a bit)

This uses more understandable expected results of checking, like ALLOW or DENY
instead of true or false.

Aimed to increase readability.

Change-Id: I48be2de6005812778463be537ea3fa475256f91f

5 years agorefactoring: eliminate __internal_can_* functions 98/202898/3
Adrian Szyndela [Thu, 4 Apr 2019 13:39:48 +0000 (15:39 +0200)]
refactoring: eliminate __internal_can_* functions

This removes __internal_can_* functions as they do not really
do anything useful anymore...

And, as always, it allows further simplifications.

Change-Id: Id30db12afbf8d60dce87c23355c41cff0d907d05

5 years agorefactoring: don't copy string_refs for matching 97/202897/3
Adrian Szyndela [Thu, 4 Apr 2019 09:42:37 +0000 (11:42 +0200)]
refactoring: don't copy string_refs for matching

This modifies MatchItemSR to use externally built array of names instead of
copying input arrays. The external array was built anyway in case
names were taken from KDBUS_CMD_CONN_INFO ioctl.

The other case, where the array is built from space separated string is
changed in a way that the building process is performed outside of
MatchItemSR. This allows further simplifications.

Change-Id: I13cfba0940f3347be91c9281614a3c66b8cb11b6

5 years agorefactoring: reorder includes 53/202753/5
Agnieszka Baumann [Wed, 3 Apr 2019 16:46:33 +0000 (18:46 +0200)]
refactoring: reorder includes

Makes it easier to spot duplicated includes

Change-Id: I6f0ef0cd5bf558500020ee715e301f708fffb04d

5 years agointroduce KdbusConnection and KdbusConnectionInfo classes 55/202555/6
Adrian Szyndela [Fri, 29 Mar 2019 15:27:51 +0000 (16:27 +0100)]
introduce KdbusConnection and KdbusConnectionInfo classes

Change-Id: Ie9b80624f6f6d09e08338ed68e23657f5dc33480

5 years agorefactoring: simplify getting conf file names 54/202554/6
Adrian Szyndela [Fri, 29 Mar 2019 15:24:12 +0000 (16:24 +0100)]
refactoring: simplify getting conf file names

Change-Id: Ib452c4c11480ab388c69296d6e220ac725e83ee0

5 years agorefactoring: extract function getting bus owner from path 53/202553/6
Adrian Szyndela [Fri, 29 Mar 2019 15:15:43 +0000 (16:15 +0100)]
refactoring: extract function getting bus owner from path

Change-Id: I967484c5149f8eda1220e4e2045deb54ad84a4ab

5 years agokdbus: free cmd earlier while doing hello() 52/202552/6
Adrian Szyndela [Fri, 29 Mar 2019 15:12:43 +0000 (16:12 +0100)]
kdbus: free cmd earlier while doing hello()

Change-Id: I1b22db1d9296277de188d9e21e790390a24e7627

5 years agorefactoring: remove 'struct's 51/202551/6
Adrian Szyndela [Fri, 29 Mar 2019 15:12:19 +0000 (16:12 +0100)]
refactoring: remove 'struct's

Change-Id: I38349fb759a1a23873892d80642698580c7bbbfb

5 years agorefactoring: generalize and use setting string item 50/202550/6
Adrian Szyndela [Fri, 29 Mar 2019 15:00:31 +0000 (16:00 +0100)]
refactoring: generalize and use setting string item

Change-Id: Iabedbee561b73df704f97392ae064cfcc97806a5

5 years agorefactoring: manage kdbus commands 49/202549/6
Adrian Szyndela [Fri, 29 Mar 2019 14:53:31 +0000 (15:53 +0100)]
refactoring: manage kdbus commands

This introduces helper class kdbus_command which makes it easy
to allocate stack space for kdbus commands, including space needed
for optional items.

Change-Id: If4b9ab6cbc92f4705b21373af3d94f9d88a7fd6a

5 years agorefactoring: merge 'can' with 'can_multi' functions 48/202548/6
Adrian Szyndela [Fri, 29 Mar 2019 14:22:52 +0000 (15:22 +0100)]
refactoring: merge 'can' with 'can_multi' functions

Change-Id: I17889df47ac3a5f740eb528f7f56c3e3b8b7edc5

5 years agorefactoring: replace bool return type with RAII 46/202546/6
Adrian Szyndela [Fri, 29 Mar 2019 14:18:05 +0000 (15:18 +0100)]
refactoring: replace bool return type with RAII

This changes return type of bus path resolving to shared_ptr<const char> from bool.
This is sufficient to carry all the needed information, and allows
removing of explicit free()s and gotos.

Change-Id: Ic05a734aea49439182fca4ea912086213a6cf91a

5 years agorefactoring: use string_ref for extracting bus_owner 45/202545/4
Adrian Szyndela [Fri, 29 Mar 2019 14:15:41 +0000 (15:15 +0100)]
refactoring: use string_ref for extracting bus_owner

Change-Id: I4009d4bf06ba09c3e8177c8ffbb0dec6a1d05000