platform/core/system/sessiond.git
23 months agoclientExample: refactor some code 92/276492/6
Adam Michalski [Fri, 17 Jun 2022 09:25:50 +0000 (11:25 +0200)]
clientExample: refactor some code

- removed race condition causing the main thread to terminate before
  returns from all callbacks occured
- refactored some code to conform to the Tizen coding standards
- removed some unused variables
- added some comments to the source code

Change-Id: Ifa080f9f48747db201b7e73016b414dd5fe1b400

23 months agoRearrange the API order in sessiond.h from basic to advanced 75/276275/1 accepted/tizen/unified/20220615.135341 submit/tizen/20220614.055116
Hyotaek Shim [Tue, 14 Jun 2022 01:05:47 +0000 (10:05 +0900)]
Rearrange the API order in sessiond.h from basic to advanced

+ add .gitignore

Change-Id: Iae9c3c37a36355af9aaa10cbaeb569824c8efe2c
Signed-off-by: Hyotaek Shim <hyotaek.shim@samsung.com>
23 months agoRelease 0.3 54/276254/4
Karol Lewandowski [Mon, 13 Jun 2022 12:06:56 +0000 (14:06 +0200)]
Release 0.3

Change-Id: Iecbc675df568ee7dd88f1589145d5ee686e71e6a

23 months agolibsessiond: Drop unused code and data 59/276259/1
Karol Lewandowski [Mon, 13 Jun 2022 13:36:59 +0000 (15:36 +0200)]
libsessiond: Drop unused code and data

Change-Id: Ia02761d1f9d950e1997f9a590b7d818cd980c001

23 months agopackaging: Improve package description a bit 53/276253/3
Karol Lewandowski [Mon, 13 Jun 2022 12:05:25 +0000 (14:05 +0200)]
packaging: Improve package description a bit

Change-Id: I7a22e6554ed808288ab595f83494ad697b17a0b8

23 months agoIntegrate clientExample 52/276252/3
Karol Lewandowski [Mon, 13 Jun 2022 11:06:42 +0000 (13:06 +0200)]
Integrate clientExample

Change-Id: I4200e5903e2820652ee26a774e0016508010cf04

23 months agoUpdate tests to async callback call result check. 51/276251/2
Arkadiusz Nowak [Mon, 13 Jun 2022 06:11:22 +0000 (08:11 +0200)]
Update tests to async callback call result check.

Change-Id: I91eace5907919b6282a3a4b84fe52aabf1f8684b

23 months agosubsession_{add,remove,switch}_user: make async 05/276205/3
Michal Bloch [Mon, 13 Jun 2022 03:31:14 +0000 (05:31 +0200)]
subsession_{add,remove,switch}_user: make async

Also they now accept null callbacks.

Change-Id: I9a87f6bae74395d0bc374ca95c6ac2cd35c11e3c
Signed-off-by: Michal Bloch <m.bloch@samsung.com>
23 months agoRevert 'result' parameter in subsession_reply_callback 62/276162/4
Arkadiusz Nowak [Fri, 10 Jun 2022 07:26:18 +0000 (09:26 +0200)]
Revert 'result' parameter in subsession_reply_callback

Change-Id: I8397ebe73780a05ba4be2cf3f01eaa4974d06e74

23 months agoChange error returns in subsession_register_event_callback and subsession_unregister_... 90/276090/4
Arkadiusz Nowak [Thu, 9 Jun 2022 05:25:40 +0000 (07:25 +0200)]
Change error returns in subsession_register_event_callback and subsession_unregister_event_callbacks

subsession_register_event will return SUBSESSION_ERROR_ALREADY_EXISTS
if event on the same subsession_uid was previously registered

subsession_unregister_event will return SUBSESSION_ERROR_NOT_AVAILABLE
if event on the subsession wasn't or previously unregistered

to change callback and callbacks data
unregister and register event again is required

To update the calllback and callback's data the call of subsession_unregister_event_callback
and subsession_register_event_callback with new data is required.

Change-Id: I2ad90f7ac04e9e5f8417f5842db920e91c94511c

23 months agoReduce some copy-paste 07/276107/1
Michal Bloch [Thu, 9 Jun 2022 13:12:14 +0000 (15:12 +0200)]
Reduce some copy-paste

Fixes a memleak in one of the functions.

Change-Id: I773142fa1061083e2065072a07d4df02d8f342ea
Signed-off-by: Michal Bloch <m.bloch@samsung.com>
23 months agoAdd parameter validation to `subsession_get_current_user` and `subsession_get_user_list` 15/275915/4
Arkadiusz Nowak [Mon, 6 Jun 2022 10:12:10 +0000 (12:12 +0200)]
Add parameter validation to `subsession_get_current_user` and `subsession_get_user_list`

Change-Id: Ie70e797c585114381a96f5967b8f98e8a5ac60b1

23 months agoapi: Drop redundant fields from subsession_event_wait_done() and clarify assumed... 11/275911/6
Karol Lewandowski [Mon, 6 Jun 2022 10:29:43 +0000 (12:29 +0200)]
api: Drop redundant fields from subsession_event_wait_done() and clarify assumed usage

Changes in:
  - public interface header (libsessiond.h) authored by Karol Lewandowski
  - the rest implemented by Michal Bloch

Change-Id: I2d5337f59c868a614674f1b10001dc8c776f6f91

23 months agoapi: Drop unused return value from subsession_event_callback 10/275910/5
Karol Lewandowski [Mon, 6 Jun 2022 10:28:21 +0000 (12:28 +0200)]
api: Drop unused return value from subsession_event_callback

Changes in:
  - public interface header (libsessiond.h) authored by Karol Lewandowski
  - the rest implemented by Michal Bloch

Change-Id: I89808022e341a0ec10863181ba8788300b55b648

23 months agoapi: Drop unused paramaters and return value from subsession_reply_callback 09/275909/5
Karol Lewandowski [Mon, 6 Jun 2022 10:28:01 +0000 (12:28 +0200)]
api: Drop unused paramaters and return value from subsession_reply_callback

Changes in:
  - public interface header (libsessiond.h) authored by Karol Lewandowski
  - the rest implemented by Michal Bloch

Change-Id: I7d391d4f57fee0925fa0ccb57c2a4d2e99d88c98

23 months agoapi: Move generic fields to the top of subsession_event_info 08/275908/4
Karol Lewandowski [Mon, 6 Jun 2022 10:25:27 +0000 (12:25 +0200)]
api: Move generic fields to the top of subsession_event_info

Also happens to fix some functions referencing the wrong union member.

Changes in:
  - public interface header (libsessiond.h) authored by Karol Lewandowski
  - the rest implemented by Michal Bloch

Change-Id: I5dde2519a85c2e0ab3fc9621324eb140b0825743

23 months agoRevert "Restore subsession_*_user_wait_done due to other programs linking to them" 07/275907/1
Karol Lewandowski [Mon, 6 Jun 2022 10:14:03 +0000 (12:14 +0200)]
Revert "Restore subsession_*_user_wait_done due to other programs linking to them"

This reverts commit 3d88538370fa18dd4a44554e7b57b4cbfa50d844.

It's not enough to make rest of Tizen build, so better drop it.

Change-Id: Ibb790ee5287e00cae84a1915e02098b8d7b61cf5

23 months agoRestore subsession_*_user_wait_done due to other programs linking to them 88/275888/1 submit/tizen/20220603.181846
Karol Lewandowski [Fri, 3 Jun 2022 18:07:28 +0000 (20:07 +0200)]
Restore subsession_*_user_wait_done due to other programs linking to them

Change-Id: Ic7bed033dc062d1f8eda746206aca6976df52a05

2 years agoMerge branch 'devel' into tizen 82/275882/1 submit/tizen/20220603.143851
Karol Lewandowski [Fri, 3 Jun 2022 13:59:05 +0000 (15:59 +0200)]
Merge branch 'devel' into tizen

Change-Id: I259e76c89662ad686bcfa1e7a0f95ea18869f618

2 years agoapi: Add documentation 10/274710/7 devel
Karol Lewandowski [Thu, 5 May 2022 11:05:16 +0000 (13:05 +0200)]
api: Add documentation

Change-Id: I2a9a913e3a329f9134ecd7fe511b38fea1cc2efc

2 years agoChanged init_callbacks_list to int type 74/275874/5
Arkadiusz Nowak [Fri, 3 Jun 2022 09:38:31 +0000 (11:38 +0200)]
Changed init_callbacks_list to int type

Internal append_to_callbacks_list internal function
that contains g_mutex management

Change-Id: I4d8380431bef46941cc23e5bfc61bc0a8e968698

2 years agoEvent wait done API function 51/275751/5
Arkadiusz Nowak [Tue, 31 May 2022 09:17:23 +0000 (11:17 +0200)]
Event wait done API function

Function subsession_event_wait_done that replaces:
subsession_add_user_wait_done
subsession_remove_user_wait_done
subsession_switch_wait_done

Error tests for subsession_event_wait_done

Appened permission denied error code to
map_dbus_call_error_to_return_value

Change-Id: I753b6ef5f3ee68f45ddacf58d58065855ae1825d

2 years agoMerge "Added clientExample" into tizen
Karol Lewandowski [Thu, 2 Jun 2022 18:43:21 +0000 (18:43 +0000)]
Merge "Added clientExample" into tizen

2 years agoTests with errors 76/275476/5
Arkadiusz Nowak [Mon, 23 May 2022 08:20:53 +0000 (10:20 +0200)]
Tests with errors

Sending incorrect values to sessiond
server and takes back error codes

for:
 subsession_add_user
 subsession_remove_user
 subsession_switch_user

Removed test_api_adduser.cpp.
Removed test_api_removeuser.cpp
Tests from theese files are moved to test_api_addremove_user.cpp

Fixed errors in libsessiond  detected by tests

subsession_add_user,
subsession_remove_user,
subsession_switch_user will not call callback if error

Validation macros partially moved to lib.h
Validation macros are more generic

Change-Id: Ide27b2cfd8ffc6d31813230f3a43bafb6079584c

2 years agoUnify internal error code to DBus name mappings 08/275708/6
Michal Bloch [Mon, 30 May 2022 19:55:18 +0000 (21:55 +0200)]
Unify internal error code to DBus name mappings

Change-Id: I37ef2cfefd2c30a77286b2444c57acdccf3d96c9
Signed-off-by: Michal Bloch <m.bloch@samsung.com>
2 years agoAdded clientExample 04/275704/6
Hubert Kowalski [Mon, 30 May 2022 12:27:57 +0000 (14:27 +0200)]
Added clientExample

Change-Id: Id3b0b539c5a22060dbedddaf1690b37c51d468ac

2 years agoDelete duplicated libsessiond.pc.in 99/275699/1 accepted/tizen/unified/20220531.143708 submit/tizen/20220530.104631
Hyotaek Shim [Mon, 30 May 2022 10:45:23 +0000 (19:45 +0900)]
Delete duplicated libsessiond.pc.in

Change-Id: I32ea1f85d441e284da4492d7dd93c6ee12e2fa60
Signed-off-by: Hyotaek Shim <hyotaek.shim@samsung.com>
2 years agoImplementation of subsession_get_current_user 06/275306/6
Arkadiusz Nowak [Fri, 20 May 2022 09:33:06 +0000 (11:33 +0200)]
Implementation of subsession_get_current_user

removed subsession_is_supported

Change-Id: I987fe917859571087a2a2abd237facaa0856e15e

2 years agoUpdate test for SUBSESSION_SWITCH_USER_WAIT 78/275278/5
Arkadiusz Nowak [Thu, 19 May 2022 10:05:20 +0000 (12:05 +0200)]
Update test for SUBSESSION_SWITCH_USER_WAIT

Additional call of API subsession_switch_user
that set user to "1" before change it to "2"

Change-Id: I9e0a6637ec7e1a4fb4208a34630788afc0f5dbef

2 years agoRegistration of switch user completion event 29/275229/5
Arkadiusz Nowak [Wed, 18 May 2022 07:30:43 +0000 (09:30 +0200)]
Registration of switch user completion event

Implementation of API function subsession_register_event_callback
for SUBSESSION_SWITCH_USER_COMPLETION flag

Change-Id: I8049e7c9b39d5f726b24353f9155a9374ac83f4c

2 years ago[fix] sessiond: Rename DBus error enums so they are not confused with 48/275648/1
Adam Michalski [Fri, 27 May 2022 12:03:05 +0000 (14:03 +0200)]
[fix] sessiond: Rename DBus error enums so they are not confused with
the error codes defined in libsessiond.

Change-Id: I89964a5207a24d7b1b8cea482430dbfc83c731df

2 years agoMerge "Allow user with id 0 to be switched to" into devel
Karol Lewandowski [Fri, 27 May 2022 11:11:10 +0000 (11:11 +0000)]
Merge "Allow user with id 0 to be switched to" into devel

2 years agoAllow user with id 0 to be switched to 84/275584/2
Adam Michalski [Thu, 26 May 2022 14:11:05 +0000 (16:11 +0200)]
Allow user with id 0 to be switched to

Change-Id: I0f51ed2c4f8bc58a815b3361e413fbe0b6e8db2d

2 years agoPrevent removing currently active user 83/275583/3
Adam Michalski [Thu, 26 May 2022 13:29:00 +0000 (15:29 +0200)]
Prevent removing currently active user

Change-Id: I718e9bb0e2d1be7b7e19d4c4ec295b335f0cf436

2 years agoRework DBus exception handling in sessiond and libsessiond 89/275289/8
Adam Michalski [Thu, 19 May 2022 15:28:25 +0000 (17:28 +0200)]
Rework DBus exception handling in sessiond and libsessiond

Change-Id: I591af8d9d1dd927bfffddbc45a48540488893699

2 years agoAdd validity checks for `SwitchUser` method 40/275040/3
Adam Michalski [Fri, 13 May 2022 16:45:04 +0000 (18:45 +0200)]
Add validity checks for `SwitchUser` method

Change-Id: I586044883648768d682c70757b521564ea57d17e

2 years agoDeduce an array type 57/274957/2
Michal Bloch [Thu, 12 May 2022 11:40:27 +0000 (13:40 +0200)]
Deduce an array type

Change-Id: I57189a88fe01aca471472ed5c6933a5803fd0FCA
Signed-off-by: Michal Bloch <m.bloch@samsung.com>
2 years agoFix library installation path 51/275051/1 accepted/tizen/unified/20220526.144312 submit/tizen/20220525.001052
Hyotaek Shim [Mon, 16 May 2022 03:53:37 +0000 (12:53 +0900)]
Fix library installation path

32-bit build: /usr/lib
64-bit build: /usr/lib64

Change-Id: Id0f7225d7e11969cb0f3b94eb0efad38a6c3d536
Signed-off-by: Hyotaek Shim <hyotaek.shim@samsung.com>
2 years agoremove 'prev_user' parameter from libsessiond 62/274962/3
Arkadiusz Nowak [Thu, 12 May 2022 12:55:56 +0000 (14:55 +0200)]
remove 'prev_user' parameter from libsessiond

Change-Id: I459e947e3a2177f66f327359a4a9e77aa0da7d8f

2 years agoRemove redundant `prev_subsession_id` parameter from the 58/274958/6
Adam Michalski [Thu, 12 May 2022 12:45:29 +0000 (14:45 +0200)]
Remove redundant `prev_subsession_id` parameter from the
`SwitchUser` method

Change-Id: Ice4709be50884f8dc807edbba5f17555bbcb1a3f

2 years agoImplement server-side GetCurrentUser method 43/274843/8
Adam Michalski [Tue, 10 May 2022 15:03:39 +0000 (17:03 +0200)]
Implement server-side GetCurrentUser method

Change-Id: I765ee5179e4cf4f9c849a7946ee18f5e0fc47b01

2 years agoAdded subsession_unregister_event_callback() 35/274735/6
Hubert Kowalski [Wed, 27 Apr 2022 12:51:53 +0000 (14:51 +0200)]
Added subsession_unregister_event_callback()

This function unsibscribes event callback by uid and removing it from list.
removed unused unsubscribe handler
API function change:
from subsession_remove_event_callback
to subsession_unregister_event_callback

Change-Id: If58381dfa17c27ce2764aeabf8d698212561ab17

2 years agoEvent's callback registration 34/274734/5
Arkadiusz Nowak [Tue, 26 Apr 2022 08:15:10 +0000 (10:15 +0200)]
Event's callback registration

Register callback for method - signal:
AddUserWait - AddUserStarted,
RemoveUserWait - RemoveUserStarted,
SwitchUserWait - SwitchUserStarted,
registered by API function:
subsession_register_event_callback
with tests.

API function subsession_switch_wait_done
(called by callback)

More descriptive error codes
Removed deprecated functions

Change-Id: I307fe0fc624292a9c3408169e6653e2eed07544b

2 years agoAdd handler for SUBSESSION_SWITCH_USER_WAIT and SUBSESSION_SWITCH_USER_COMPLETION 33/274733/6
Arkadiusz Nowak [Mon, 25 Apr 2022 12:17:49 +0000 (14:17 +0200)]
Add handler for SUBSESSION_SWITCH_USER_WAIT and SUBSESSION_SWITCH_USER_COMPLETION

Change methods calls in callbacks data  to correct ones.
Remove unused parameter "event_bits" in register_event_callback and subscribe_only_callback

Change-Id: If451d81d5ab193061a0ab46ddd61fa9d3769526d

2 years ago[fix] Add input parameter validation for GetUserList 44/274844/1
Adam Michalski [Tue, 10 May 2022 15:25:49 +0000 (17:25 +0200)]
[fix] Add input parameter validation for GetUserList

Change-Id: Ide73c817315e939ffffc92e96f2b608ec85b482b

2 years agoMerge "[fix] Add logging `invalid_argument` exception" into devel
Karol Lewandowski [Mon, 9 May 2022 12:03:31 +0000 (12:03 +0000)]
Merge "[fix] Add logging `invalid_argument` exception" into devel

2 years agoMerge changes Ifa0cbed1,I766670d5,I03094609,I57c9e563 into devel
Karol Lewandowski [Mon, 9 May 2022 11:58:05 +0000 (11:58 +0000)]
Merge changes Ifa0cbed1,I766670d5,I03094609,I57c9e563 into devel

* changes:
  wait_manager: Add some prose
  Add privacy to wait_manager
  Split wait_manager arguments
  Extract `wait_manager` template class into a separate file

2 years agowait_manager: Add some prose 25/274725/2
Mateusz Majewski [Thu, 5 May 2022 12:42:17 +0000 (14:42 +0200)]
wait_manager: Add some prose

Change-Id: Ifa0cbed179e24bd7a840f578c91daae81268eca9

2 years agoAdd privacy to wait_manager 24/274724/2
Mateusz Majewski [Thu, 5 May 2022 09:55:54 +0000 (11:55 +0200)]
Add privacy to wait_manager

Change-Id: I766670d51f4f062b1113e788c1967e1ad473b2c6

2 years agoSplit wait_manager arguments 23/274723/2
Mateusz Majewski [Thu, 5 May 2022 09:34:49 +0000 (11:34 +0200)]
Split wait_manager arguments

Change-Id: I03094609fab5072507081ee2ec4b437d3e602583

2 years agofs-helpers: Refactor some code 07/274707/3
Adam Michalski [Fri, 29 Apr 2022 17:13:16 +0000 (19:13 +0200)]
fs-helpers: Refactor some code

Change-Id: Idbfdcc8fd014075781f7cd34da187d8754763532

2 years agoExtract `wait_manager` template class into a separate file 09/274709/2
Adam Michalski [Mon, 2 May 2022 16:11:33 +0000 (18:11 +0200)]
Extract `wait_manager` template class into a separate file

Change-Id: I57c9e56335a9365bcbdbf6a522a3fd32581a7dee

2 years ago[fix] Add logging `invalid_argument` exception 08/274708/3
Adam Michalski [Fri, 29 Apr 2022 17:31:13 +0000 (19:31 +0200)]
[fix] Add logging `invalid_argument` exception

Change-Id: Ib4aca9a90aad633e6b9c2ebc832589a476da66a0

2 years agoAdd sessiond unavailability detection 05/274705/2
Mateusz Majewski [Fri, 6 May 2022 10:41:45 +0000 (12:41 +0200)]
Add sessiond unavailability detection

Change-Id: If7b2cfb4852dfa2550659e2eeadee83073261e0f

2 years agoapi: Add subsession-specific error codes for use in the API 03/274703/1
Karol Lewandowski [Mon, 25 Apr 2022 12:34:27 +0000 (14:34 +0200)]
api: Add subsession-specific error codes for use in the API

Additionally, move data types to the beginning of the header file
for readability.

Change-Id: Ie30cecf6a89ce56a13820ff95112bad715870d81

2 years agofs-helpers: [fix] Keep owner of files/directories while copying 63/274463/1
Adam Michalski [Thu, 28 Apr 2022 13:11:46 +0000 (15:11 +0200)]
fs-helpers: [fix] Keep owner of files/directories while copying

Seems that `std::filesystem` doesn't know the concept of Unix
file/directory ownership. It does preserve permissions while copying,
but unfortunately does not preserve the ownership.

Change-Id: I0492b7beef2460bd4ce71fba34553e52dc299b54

2 years agoImplement get_user_list library-side 81/274181/5
Mateusz Majewski [Mon, 25 Apr 2022 05:55:17 +0000 (07:55 +0200)]
Implement get_user_list library-side

Change-Id: I453a35620069864b62cbae920f0e78b0acb2b971

2 years agoRework API according to new specification. 95/273895/13
Arkadiusz Nowak [Thu, 14 Apr 2022 18:27:12 +0000 (20:27 +0200)]
Rework API according to new specification.

This commit unifies separate wait callback registration
and handling functions into one - registration now accepts
bitmask of callback types.
User callbacks accepts incoming data as union.

Icrease dbus mtehod call timeout to 20s, because filesystem's operations needs longer time to complete.
Library is going to use dlog.

Change-Id: I438ca52fcc16a145254686a19e0db4980edfd8df

2 years agoImplement GetUserList method 34/274334/4
Mateusz Majewski [Tue, 26 Apr 2022 12:15:56 +0000 (14:15 +0200)]
Implement GetUserList method

Change-Id: Ifbf8c8707afdcf8acaaf9e55472df3458af8f1a8

2 years agoAdd fs-helper function for `get_user_list()` API call 83/274283/5
Adam Michalski [Mon, 25 Apr 2022 15:04:46 +0000 (17:04 +0200)]
Add fs-helper function for `get_user_list()` API call

Change-Id: I6781895f195591737ad1a1f60149d91e86d3c317

2 years agoWider and more precise error handling
Mateusz Majewski [Mon, 25 Apr 2022 06:46:24 +0000 (08:46 +0200)]
Wider and more precise error handling

Handle `InvalidArgs` separately from `Failed`

Change-Id: I01049d2bbea575121e30950f4ff63137cad26e96

2 years agoMerge "Add GetUserList sessiond stub" into tizen
Karol Lewandowski [Mon, 25 Apr 2022 10:14:53 +0000 (10:14 +0000)]
Merge "Add GetUserList sessiond stub" into tizen

2 years agoMerge "Remove a needless conversion, no strings attached" into tizen
Karol Lewandowski [Mon, 25 Apr 2022 10:13:43 +0000 (10:13 +0000)]
Merge "Remove a needless conversion, no strings attached" into tizen

2 years agoAdd GetUserList sessiond stub 37/274237/1
Mateusz Majewski [Mon, 25 Apr 2022 05:55:02 +0000 (07:55 +0200)]
Add GetUserList sessiond stub

Change-Id: Ib03474a8692204b458c0d17c44a5c38286664ed0

2 years agoEnable tests by fixing build dependency to use gtest-devel 26/274226/2
Hyotaek Shim [Mon, 25 Apr 2022 05:36:29 +0000 (14:36 +0900)]
Enable tests by fixing build dependency to use gtest-devel

Old version gtest does not provide pkgconfig(gtest).

Change-Id: I929c702514f9322a258a1a7afd3df422bb29dc9f
Signed-off-by: Hyotaek Shim <hyotaek.shim@samsung.com>
2 years agoDisable tests temporarily to avoid build error with old gtest (version 1.8) 10/274210/1 accepted/tizen/unified/20220425.054939 submit/tizen/20220425.015627
Hyotaek Shim [Mon, 25 Apr 2022 01:25:20 +0000 (10:25 +0900)]
Disable tests temporarily to avoid build error with old gtest (version 1.8)

nothing provides pkgconfig(gtest)

Change-Id: I2a1f29adeeb769dd1f7898dda02326fffe4c2d10
Signed-off-by: Hyotaek Shim <hyotaek.shim@samsung.com>
2 years agoRemove a needless conversion, no strings attached 98/274198/1
Michal Bloch [Fri, 22 Apr 2022 17:48:14 +0000 (19:48 +0200)]
Remove a needless conversion, no strings attached

Change-Id: Ib630e38df75532e93e0a5785bb904390cbfecb80
Signed-off-by: Michal Bloch <m.bloch@samsung.com>
2 years agosessiond: Be a more explicit what dbus error returned to client means 56/273856/4
Karol Lewandowski [Thu, 14 Apr 2022 12:15:21 +0000 (14:15 +0200)]
sessiond: Be a more explicit what dbus error returned to client means

Change-Id: I94cc280c032063f4fe57c93e4f144c602ff3b432

2 years agoCreate `subsession` directory if it does not exist 90/273990/6
Adam Michalski [Tue, 19 Apr 2022 15:43:40 +0000 (17:43 +0200)]
Create `subsession` directory if it does not exist

This commit also reverts the workaround introduced in
commit: 'cf8d3a09'

Change-Id: Icc405702985a57d234c4c8ad9e8a6575c1e9c52a

2 years agoMerge "Implement function visibility" into tizen
Karol Lewandowski [Fri, 22 Apr 2022 08:49:46 +0000 (08:49 +0000)]
Merge "Implement function visibility" into tizen

2 years agoMerge changes into tizen
Karol Lewandowski [Fri, 22 Apr 2022 08:49:46 +0000 (08:49 +0000)]
Merge changes  into tizen

2 years agoImplement function visibility 59/274159/1
Mateusz Majewski [Fri, 22 Apr 2022 08:17:38 +0000 (10:17 +0200)]
Implement function visibility

Change-Id: Iba7420a35eda01d38026f4207ea9cce2e924a666

2 years agoSplit tuple_hash into a separate file 41/274041/4
Mateusz Majewski [Wed, 20 Apr 2022 07:50:31 +0000 (09:50 +0200)]
Split tuple_hash into a separate file

Change-Id: I7c87451bf44bd7173c1adb13cbae126484574c45

2 years agoDrop status_code 46/274146/1
Mateusz Majewski [Fri, 22 Apr 2022 06:17:31 +0000 (08:17 +0200)]
Drop status_code

Change-Id: I78d47535f1633cb7510a43e1ecbaa6faed3894cd

2 years agoFix various SVACE issues 42/274042/3 accepted/tizen/unified/20220422.021247 submit/tizen/20220420.194217
Mateusz Majewski [Wed, 20 Apr 2022 08:21:50 +0000 (10:21 +0200)]
Fix various SVACE issues

Change-Id: I8222b6956c1725cc449293b232d535428e3e3992

2 years agoAdd signature in sessiond.service for VD root service filtering 35/274035/2 accepted/tizen/unified/20220420.135338 submit/tizen/20220420.080626
Hyotaek Shim [Wed, 20 Apr 2022 08:04:32 +0000 (17:04 +0900)]
Add signature in sessiond.service for VD root service filtering

Change-Id: I5d7db6d002089759527c44f34c0825ec85791fcc
Signed-off-by: Hyotaek Shim <hyotaek.shim@samsung.com>
2 years agoAdd -Werror=missing-field-initializers to prevent build errors in product build envir... 29/274029/1 submit/tizen/20220420.065657
Hyotaek Shim [Wed, 20 Apr 2022 06:54:00 +0000 (15:54 +0900)]
Add -Werror=missing-field-initializers to prevent build errors in product build environment

[   29s] /home/abuild/rpmbuild/BUILD/sessiond-0.1/sessiond/src/main.cpp:526:2:
error: missing initializer for member '_GDBusInterfaceVTable::get_property' [-Werror=missing-field-initializers]
[   29s]   526 |  };
[   29s]       |  ^
[   29s] /home/abuild/rpmbuild/BUILD/sessiond-0.1/sessiond/src/main.cpp:526:2:
error: missing initializer for member '_GDBusInterfaceVTable::set_property' [-Werror=missing-field-initializers]
[   29s] /home/abuild/rpmbuild/BUILD/sessiond-0.1/sessiond/src/main.cpp:526:2:
error: missing initializer for member '_GDBusInterfaceVTable::padding' [-Werror=missing-field-initializers]

Change-Id: Idb01ce53053b00c9c1a3b7b565cda37321f47db6
Signed-off-by: Hyotaek Shim <hyotaek.shim@samsung.com>
2 years agoAdd -Wno-error=shadow build option 17/274017/3 submit/tizen/20220420.054604
Hyotaek Shim [Wed, 20 Apr 2022 05:40:34 +0000 (14:40 +0900)]
Add -Wno-error=shadow build option

In some different build environment (e.g., product divisions),
several strict compilation options (e.g., -Werror=shadow) are added.
"Shadowing" is intentional and not a bug in sessiond implementation,
so that we avoid the following build errors by adding -Wno-error=shadow.

[   29s] /home/abuild/rpmbuild/BUILD/sessiond-0.1/sessiond/src/main.cpp:133:4: error:
declaration of 'completion_signal' shadows a member of 'wait_manager<Vs>' [-Werror=shadow]
[   29s]   133 |    : session_uid(session_uid), connection(connection), completion_signal(completion_signal) {}
[   29s]       |    ^
[   29s] /home/abuild/rpmbuild/BUILD/sessiond-0.1/sessiond/src/main.cpp:286:19: note: shadowed declaration is here
[   29s]   286 |  std::string_view completion_signal;
[   29s]       |                   ^~~~~~~~~~~~~~~~~

Change-Id: Ie0503dd49d5f5851ec2866a87c420cc44dc3b6ef
Signed-off-by: Hyotaek Shim <hyotaek.shim@samsung.com>
2 years agoApply default deny and add rules to dbus policy 21/273921/1 accepted/tizen/unified/20220418.042110 submit/tizen/20220418.162757
Hyotaek Shim [Mon, 18 Apr 2022 02:06:09 +0000 (11:06 +0900)]
Apply default deny and add rules to dbus policy

Change-Id: I949f9f0cfa6308e35873f2eb25b91e2fb35d7584
Signed-off-by: Hyotaek Shim <hyotaek.shim@samsung.com>
2 years agoMerge changes I7dc28d8f,I0deccb0b into tizen submit/tizen/20220415.093008
Karol Lewandowski [Fri, 15 Apr 2022 09:29:26 +0000 (09:29 +0000)]
Merge changes I7dc28d8f,I0deccb0b into tizen

* changes:
  Release 0.1
  workaround: Pre-create subsessions dir for owner

2 years agofs-helpers: [fix] Do not follow symlinks while copying 92/273892/1
Adam Michalski [Fri, 15 Apr 2022 08:39:57 +0000 (10:39 +0200)]
fs-helpers: [fix] Do not follow symlinks while copying

Change-Id: I49d065b70403596f3bc99dfa382700a500ac419c

2 years agoRelease 0.1 88/273888/3
Karol Lewandowski [Fri, 15 Apr 2022 08:05:02 +0000 (10:05 +0200)]
Release 0.1

Change-Id: I7dc28d8fe4cac56f9b7e6d861ca38558944cd08f

2 years agoworkaround: Pre-create subsessions dir for owner 87/273887/3
Karol Lewandowski [Thu, 14 Apr 2022 18:33:06 +0000 (20:33 +0200)]
workaround: Pre-create subsessions dir for owner

Change-Id: I0deccb0b0dd8ebf3e1b9c9103c9d33013e91cd06

2 years agoAdd copying SMACK attributes 63/273863/3
Adam Michalski [Thu, 14 Apr 2022 13:28:46 +0000 (15:28 +0200)]
Add copying SMACK attributes

Change-Id: I93cf1b0e751e2fc88062680705aa727c9f71106a

2 years agolib: Ensure public functions are prefixed with subsession_ 62/273862/3
Karol Lewandowski [Thu, 14 Apr 2022 15:20:15 +0000 (17:20 +0200)]
lib: Ensure public functions are prefixed with subsession_

Get rid of unprefixed types like `reply_callback` and similar - these
are likely to cause conflicts with other programs.

Change-Id: I2e0e814ad25cd187811e4e9d2af710035f51df36

2 years agolibsessiond API. 00/273500/10
Arkadiusz Nowak [Tue, 22 Mar 2022 07:37:26 +0000 (08:37 +0100)]
libsessiond API.

subsession_add_user
subsession_remove_user
subsession_switch_user

subsession_add_user_wait_callback
subsession_add_user_wait_done
subsession_remove_user_wait_callback
subsession_remove_user_wait_done

Change-Id: I52ef7ea8aec569e3995f06ce3d2bd92159736f7e

2 years agoAdd some extra params to signals 85/273785/3
Mateusz Majewski [Wed, 13 Apr 2022 16:41:26 +0000 (18:41 +0200)]
Add some extra params to signals

Change-Id: Ic1180f5417fc8e310a05026e6493f4e9379c9f22

2 years agoMerge "Improve exception handling in sessiond" into tizen
Karol Lewandowski [Thu, 14 Apr 2022 11:34:02 +0000 (11:34 +0000)]
Merge "Improve exception handling in sessiond" into tizen

2 years agoAdd copying/deleting user subsession data to d-bus method call handlers 87/273787/1
Adam Michalski [Wed, 13 Apr 2022 17:15:06 +0000 (19:15 +0200)]
Add copying/deleting user subsession data to d-bus method call handlers

Change-Id: I756c1665122c9780db113588b2ada05ac6c6aa0d

2 years agoImprove exception handling in sessiond 02/273702/3
Adam Michalski [Tue, 12 Apr 2022 16:23:50 +0000 (18:23 +0200)]
Improve exception handling in sessiond

Change-Id: Ie20c25e12a650bf4f64009e3bdb74b413e491d8a

2 years agodoc: Add status_code to Completed signal(s) 76/273776/1
Karol Lewandowski [Wed, 13 Apr 2022 13:27:25 +0000 (15:27 +0200)]
doc: Add status_code to Completed signal(s)

It seems we have not provided any means to return if operations
have succeeded or not.

This commit introduces `status_code` field, which allows service
to return status, if/as needed.

Surely, adding signals <Operation>Failed would be better from
design perspective, and might be considered in future if time
allows (dbus signals are private interface and subject to change
without notice).

Change-Id: Ib77681597c6633c62ae0936040f26633a9bdad05

2 years agoFix source and destination copy directories 19/273619/4
Adam Michalski [Fri, 8 Apr 2022 16:12:33 +0000 (18:12 +0200)]
Fix source and destination copy directories

According to the latest e-mail settlements only the apps_rw subdirectory
should be copied, not the whole /etc/skel content.

Change-Id: I02b804a3042737d3615d3754db43951985b2dc22

2 years agoImplement waiting 62/273562/8
Mateusz Majewski [Thu, 7 Apr 2022 14:51:45 +0000 (16:51 +0200)]
Implement waiting

Change-Id: I166d08afff725ac0c5d22bd92f05b47f76f10e9c

2 years agoSave connection in the sessiond_struct 61/273561/5
Mateusz Majewski [Fri, 8 Apr 2022 06:45:23 +0000 (08:45 +0200)]
Save connection in the sessiond_struct

Change-Id: I84ec3ad389ed1ead77006359aeae1a92cdcd16fc

2 years agoPropagate sender name to on_* methods 92/273592/3
Mateusz Majewski [Fri, 8 Apr 2022 06:38:51 +0000 (08:38 +0200)]
Propagate sender name to on_* methods

Change-Id: I01405a4741626d1b98736637aa151e0777ed8362

2 years agoGenerate switch_ids 60/273560/5
Mateusz Majewski [Thu, 7 Apr 2022 14:51:36 +0000 (16:51 +0200)]
Generate switch_ids

Change-Id: Ic4c99ed0052715bff7d391daeb9a338eb82e7ade

2 years agoAdd g_variant helpers 92/273492/13
Mateusz Majewski [Wed, 6 Apr 2022 07:26:57 +0000 (09:26 +0200)]
Add g_variant helpers

Not really needed now, but they will be crucial for the timeout/wait
infrastructure.

Change-Id: I8c091bb5f95b81afd9da49d4b46828746c063717
Co-authored-by: MichaƂ Bloch <m.bloch@samsung.com>
2 years agoAdd some sample signals 89/273089/13
Mateusz Majewski [Wed, 30 Mar 2022 11:20:39 +0000 (13:20 +0200)]
Add some sample signals

Change-Id: Ibd43c3ae3f17672e30f33295348ad360b750b310

2 years agoDeclare DAC credentials in sessiond.service 72/273572/1
Hyotaek Shim [Fri, 8 Apr 2022 01:50:26 +0000 (10:50 +0900)]
Declare DAC credentials in sessiond.service

Change-Id: I0ab1e061b35ec92f497b9de3026c578b04ae7ab2
Signed-off-by: Hyotaek Shim <hyotaek.shim@samsung.com>
2 years agoEnable PIE build globally for ASLR to work 59/273559/1
Karol Lewandowski [Thu, 7 Apr 2022 14:06:52 +0000 (16:06 +0200)]
Enable PIE build globally for ASLR to work

Change-Id: Ib1a568e1a5e17dedf9480c0acae4d093b455e0d4