Adrian Szyndela [Tue, 27 Oct 2020 09:08:39 +0000 (10:08 +0100)]
refactoring: rename Serializer to SerializerFlatbuffers
Change-Id: I52d6c22f44d7730dea221c4b9d81df9b7b3af291
Adrian Szyndela [Tue, 27 Oct 2020 08:44:25 +0000 (09:44 +0100)]
refactoring: add size argument to initFromData()
Change-Id: I0fea35816cbbb7dc898e495adab73d9c28729bc3
Adrian Szyndela [Wed, 14 Oct 2020 12:23:00 +0000 (14:23 +0200)]
refactoring: make serialized data const
Change-Id: I1e989504323c18754c9117d903ba8f4b951d8377
Adrian Szyndela [Wed, 14 Oct 2020 11:57:10 +0000 (13:57 +0200)]
refactoring: move Serializer to ldp_serializer namespace
Change-Id: I75fb678335aee17bcf6c13792f5124da4d0ad422
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
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
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
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
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
Gaurav Gupta [Mon, 17 Feb 2020 05:38:45 +0000 (11:08 +0530)]
Fix memleak issue reported by Dexter tool.
Change-Id: I24e2d2d6b6ecb3e3daf0edd94fe67866f369e87a
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
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>
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
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>
sanghyeok oh [Fri, 1 Nov 2019 08:08:20 +0000 (08:08 +0000)]
Merge "printer: print FileIdentifier" 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
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
sanghyeok oh [Fri, 1 Nov 2019 08:07:47 +0000 (08:07 +0000)]
Merge "doc: overview, purpose, design, implementation" 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
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)
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)
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)
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)
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)
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)
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>
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
Adrian Szyndela [Fri, 25 Oct 2019 11:35:59 +0000 (13:35 +0200)]
refactoring: move local functions to an anonymous namespace
Change-Id: I9d9cf07877d59df88305e8847c3156a73e82efd8
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
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>
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>
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>
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>
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
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
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>
Hyotaek Shim [Tue, 6 Aug 2019 01:59:03 +0000 (01:59 +0000)]
Merge "dbuspolicy-printer: add xml format" 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
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>
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>
Dariusz Michaluk [Thu, 18 Jul 2019 12:43:33 +0000 (14:43 +0200)]
Migrate to openssl 1.1
Change-Id: I07c62e6cf0e0fd9173a5d92b40b4b34756f05861
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>
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>
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>
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
Adrian Szyndela [Tue, 25 Jun 2019 11:39:29 +0000 (13:39 +0200)]
refactoring: remove unnecessary includes
Change-Id: I07f76694014d24d89964b95d834d10b4b3f8b38b
Baumann [Tue, 18 Jun 2019 10:39:13 +0000 (12:39 +0200)]
new printing pattern
Change-Id: Ifb3f31c44ba845a35490f26d63e74f05cb8c6658
Baumann [Tue, 11 Jun 2019 14:18:14 +0000 (16:18 +0200)]
dbuspolicy-finder documentation
Change-Id: Ia6617d124a4e4da8a1377eefba2b70b971b65c23
Baumann [Thu, 30 May 2019 14:41:19 +0000 (16:41 +0200)]
added policy rejected message as input
Change-Id: I15f921221f02d9d8d72097d93aa54f92f91895c0
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
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>
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
Adrian Szyndela [Thu, 30 May 2019 10:37:53 +0000 (12:37 +0200)]
bugfix: LOGE messed with errno
Change-Id: I626c8e4e809791e5a0050a3096b392336f85cc60
Adrian Szyndela [Thu, 30 May 2019 09:42:34 +0000 (11:42 +0200)]
refactoring: make less dependencies
Change-Id: I8ec4031716f0a089e62ca0cae6fe1bfc3f5e9529
Adrian Szyndela [Wed, 29 May 2019 09:38:33 +0000 (11:38 +0200)]
tests: add 'worst case' performance test
Change-Id: I4d14eeb5bea1e7054674793ebd8d0861c876eb59
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
Adrian Szyndela [Tue, 28 May 2019 08:53:14 +0000 (08:53 +0000)]
Merge "extracted helper functions to a separate header" 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
Baumann [Mon, 20 May 2019 15:05:06 +0000 (17:05 +0200)]
extracted helper functions to a separate header
Change-Id: I777b45cf0166611e215bf38c275b62db777dd9dd
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
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
Baumann [Wed, 15 May 2019 10:46:46 +0000 (12:46 +0200)]
Makefile now conforms to libtool naming standard
Change-Id: I61f5d06ca5aeb5aa63875cc087c438b6b93ecc9a
Baumann [Mon, 6 May 2019 14:28:48 +0000 (16:28 +0200)]
add missing PolicyOwn::ItemType
Change-Id: I04fc8c0a51d3ff717834f9985acd883800be074e
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
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
Adrian Szyndela [Tue, 30 Apr 2019 13:07:21 +0000 (15:07 +0200)]
serializer: add SHA1 and FlatBuffers verification
Change-Id: I8c78971f8b6481d1cd00c54dce7b2f0466f1ce61
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
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>
Hyotaek Shim [Tue, 23 Apr 2019 04:52:53 +0000 (04:52 +0000)]
Merge "serializer: add option for checking for updates" into tizen
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>
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>
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>
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>
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>
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
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
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
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
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
Adrian Szyndela [Wed, 10 Apr 2019 13:02:42 +0000 (15:02 +0200)]
refactoring: group g_udesc operations into a struct
Change-Id: I474a61e811cb7eb316ad8b57c298b8730f74eb25
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
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
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
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
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
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
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
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
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
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
Adrian Szyndela [Fri, 29 Mar 2019 15:27:51 +0000 (16:27 +0100)]
introduce KdbusConnection and KdbusConnectionInfo classes
Change-Id: Ie9b80624f6f6d09e08338ed68e23657f5dc33480
Adrian Szyndela [Fri, 29 Mar 2019 15:24:12 +0000 (16:24 +0100)]
refactoring: simplify getting conf file names
Change-Id: Ib452c4c11480ab388c69296d6e220ac725e83ee0
Adrian Szyndela [Fri, 29 Mar 2019 15:15:43 +0000 (16:15 +0100)]
refactoring: extract function getting bus owner from path
Change-Id: I967484c5149f8eda1220e4e2045deb54ad84a4ab
Adrian Szyndela [Fri, 29 Mar 2019 15:12:43 +0000 (16:12 +0100)]
kdbus: free cmd earlier while doing hello()
Change-Id: I1b22db1d9296277de188d9e21e790390a24e7627
Adrian Szyndela [Fri, 29 Mar 2019 15:12:19 +0000 (16:12 +0100)]
refactoring: remove 'struct's
Change-Id: I38349fb759a1a23873892d80642698580c7bbbfb
Adrian Szyndela [Fri, 29 Mar 2019 15:00:31 +0000 (16:00 +0100)]
refactoring: generalize and use setting string item
Change-Id: Iabedbee561b73df704f97392ae064cfcc97806a5
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
Adrian Szyndela [Fri, 29 Mar 2019 14:22:52 +0000 (15:22 +0100)]
refactoring: merge 'can' with 'can_multi' functions
Change-Id: I17889df47ac3a5f740eb528f7f56c3e3b8b7edc5
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
Adrian Szyndela [Fri, 29 Mar 2019 14:15:41 +0000 (15:15 +0100)]
refactoring: use string_ref for extracting bus_owner
Change-Id: I4009d4bf06ba09c3e8177c8ffbb0dec6a1d05000