Karol Lewandowski [Tue, 20 May 2025 23:26:46 +0000 (01:26 +0200)]
fixi
Change-Id: If9b0cf9ffea5d6c4526be630029ace5a518a503e
Karol Lewandowski [Tue, 20 May 2025 23:26:25 +0000 (01:26 +0200)]
fixi
Change-Id: I9c48a3af938c69f6dae090c6b8c629ec16f07671
Karol Lewandowski [Tue, 20 May 2025 22:00:06 +0000 (00:00 +0200)]
Run sessiond plugin for every application that can provide /etc/skel files
Change-Id: Ic785e942b241b7a5aa45d31b38467a2c58852d0c
Karol Lewandowski [Tue, 20 May 2025 12:26:06 +0000 (14:26 +0200)]
gen-skel-more
Change-Id: I734edf5ecb40436c27a47039c39216fc1c9438cc
Karol Lewandowski [Tue, 13 May 2025 14:09:19 +0000 (16:09 +0200)]
Add OS::do_resize2fs
Change-Id: I7558a4e2f866a3b3990124cebf803f44ee3663df
Karol Lewandowski [Wed, 14 May 2025 12:55:15 +0000 (14:55 +0200)]
Add tpk plugin to regenerate skel templates
Change-Id: I8271937ffaed46e4fba0b7e395081b905319942b
Karol Lewandowski [Wed, 14 May 2025 11:10:23 +0000 (13:10 +0200)]
Add sessiond --regenerate-skel
(Re)generates a template copy of skel. This copy can be
quickly turned into a subsession via rename, which will
be added in a later patch.
Co-authored-by: Karol Lewandowski <k.lewandowsk@samsung.com>
Change-Id: I76fa6d4f4c82ab2994fac55c67bf54529eefe447
Karol Lewandowski [Wed, 14 May 2025 14:06:58 +0000 (16:06 +0200)]
Fixed-size dir: reuse dirs via rename where possible
Change-Id: I181244f0cc16efcd1a22a1b35b8c0b13e2f6a609
Michal Bloch [Mon, 19 May 2025 15:07:17 +0000 (17:07 +0200)]
Add some extra logs.
Change-Id: Id34eb705667edd27fcbcd5c08c9bce1532d8a8a1
Karol Lewandowski [Wed, 14 May 2025 10:23:15 +0000 (12:23 +0200)]
Allow force-replacement when creating a subsession
Overrides any existent data. This will not be used for
regular subsession creation, but for creating templates
which is to be introduced in a further patch.
Change-Id: I718c4fa644038a1f89417123b875e5e52295662c
Karol Lewandowski [Wed, 14 May 2025 09:14:51 +0000 (11:14 +0200)]
Extract main subsessions dir creation
Any exception handling for the "inner" handler will now
be able to assume that the main subdir exists.
This will come in handy in one of the next patches.
Change-Id: I80540e7e8e0b6ef1ea1df15d0eb7d79f387bf423
Karol Lewandowski [Mon, 19 May 2025 20:53:35 +0000 (22:53 +0200)]
Ensure needed utilities are actually installed
Change-Id: Ie3d13d983fafa3f0cf3a8bbe48b0257e252b4bac
Michal Bloch [Thu, 15 May 2025 11:29:50 +0000 (13:29 +0200)]
Release 0.10.1.1: add debug logs to execl calls
Change-Id: Id71e6487fe0f9e14dced82f597ad63e3f175a648
Michal Bloch [Mon, 12 May 2025 09:03:32 +0000 (11:03 +0200)]
Unmounting session done via ifdef instead of getenv
Change-Id: Ic1424b7b8ba782801d3924367355205a4e0183c4
Michal Bloch [Fri, 9 May 2025 16:37:44 +0000 (18:37 +0200)]
Avoid string copy in get_current_subsession
Change-Id: Ief02671502873fa1785f212a5397e3a7a3653fd8
Signed-off-by: Michal Bloch <m.bloch@samsung.com>
Michal Bloch [Fri, 9 May 2025 16:30:06 +0000 (18:30 +0200)]
Fix some comments.
Change-Id: Id1139f2484a6d5aed991e6d2425d4f32cd6d771d
Michal Bloch [Fri, 9 May 2025 14:34:42 +0000 (16:34 +0200)]
Extract `do_touch` and make it more like touch(1)
Compared to previous:
* flags +NOCTTY +NONBLOCK -TRUNC
* permissions -x
Change-Id: I5929338e4795f7723b675474d6a7f09fd2fbd4b4
Michal Bloch [Fri, 9 May 2025 13:16:45 +0000 (15:16 +0200)]
Move coreutils-like functions to OS namespace
Change-Id: Iabcd0491e114f5c19b55dca2b818858d49aad943
Yunhee Seo [Fri, 9 May 2025 01:31:01 +0000 (10:31 +0900)]
Fix strncpy() missing null character coverity issue
If the strncpy gets the exact length of destination,
null character can be missed.
To fix up this, null character setting explicitly is added.
Change-Id: I8537e53df5e82e63a46898363003d9734bcd731f
Signed-off-by: Yunhee Seo <yuni.seo@samsung.com>
Karol Lewandowski [Wed, 7 May 2025 19:21:30 +0000 (21:21 +0200)]
Release 0.10.1.0
Change-Id: Iecfdfb10eab1b682428aed9beee358b63bce0b9e
Karol Lewandowski [Wed, 7 May 2025 20:51:39 +0000 (22:51 +0200)]
Create space efficient ext4 filesystem without journal
Change-Id: I66b824796ed4ac0fa1a982af1e3b57f3e5c02d2a
Michal Bloch [Wed, 7 May 2025 14:16:02 +0000 (16:16 +0200)]
Increase default libsessiond timeout
Very busy systems running on garbage hardware can sometimes
fail to finish calls within the timeout. The timeout is there
mostly to avoid infinite waiting, so can be as large as we
want to accomodate this as long as it's not infinite/-1.
Change-Id: Id387f627081222edc4a111ac55c4b1a8e67f8576
Karol Lewandowski [Tue, 6 May 2025 17:02:44 +0000 (19:02 +0200)]
service: session restore: Handle non-existing uids properly
/opt/usr/home/ can contain build artifacts like 'abuild' with no
passwd entry, causing sessiond to terminate at user->uid translation.
Fixes:
I/SESSIOND(18740): main_restore.cpp: restore_all_user_sessions(135) > Restoring last session for user abuild
E/SESSIOND(18740): main.cpp: main(46) > Exception Couldn't get Unix uid for `abuild` user - does not exist caught in top scope! Bailing out...
Change-Id: Ida7609da7a122b7f10c8ca05bf0d6b5a25e22018
Karol Lewandowski [Tue, 6 May 2025 16:58:48 +0000 (18:58 +0200)]
mkfs: Pre-create empty image file to workaround obsolete mkfs.ext4
We not only need to create empty file but also add -F (force) flag
for mkfs.ext4 to actually create filesystem.
Needed for mkfs.ext4 v1.43 from 2013.
Change-Id: I69fb57f2b1d6a8c9823d70a81c0f86f56bd33739
Michal Bloch [Wed, 30 Apr 2025 18:37:33 +0000 (20:37 +0200)]
Avoid mkfs interactive mode extra hard
Change-Id: I9b8e12abd0dd1225bc7dc7d32fa31cf7f5588e57
Karol Lewandowski [Thu, 24 Apr 2025 20:34:11 +0000 (22:34 +0200)]
Switch to mkfs.ext4
It looks like mkfs.ext2 is no longer universally available.
While mkfs.ext4 can still create ext2 filesystems,
mount won't necessarily still support mounting those.
Change-Id: I7a404b9a8feca5a281543f6fad1b50c0566cf574
Michal Bloch [Wed, 30 Apr 2025 20:14:15 +0000 (22:14 +0200)]
Add subsession current/list getters to plugin API
With some usage in the example/test plugin.
Change-Id: Ieb1826b69fea90d926b7ed85e8c9cb0a2b9cf101
Michal Bloch [Tue, 29 Apr 2025 11:49:56 +0000 (13:49 +0200)]
sessiond-plugin-internal.h moved from libsyscommon
The internal functions are already provided by sessiond,
in plugin_push.cpp, so this makes sure that the header
is also provided in the same place and avoids creating
a "fake" plugin dependency on libsyscommon.
Change-Id: I54754be8612ca71ac6fb7826a828efdecdc43de2
Chanwoo Choi [Tue, 22 Apr 2025 06:50:34 +0000 (15:50 +0900)]
Fix invocation timing of plugin function after completed add/remove/swich
commit
b614b440a919 (Add basic event listener plugin support) has the
invocation timing issue of plugin funciton because invocating the plugin
function before add/remove/switch completion.
So that Invocate plugin function after add/remove/switch completion.
Change-Id: Ia7677c0e731829cff5a3c422f6b56d7402ba9936
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
Karol Lewandowski [Mon, 14 Apr 2025 16:14:33 +0000 (16:14 +0000)]
Merge "Release 0.10.0.3" into tizen
Karol Lewandowski [Mon, 14 Apr 2025 16:14:33 +0000 (16:14 +0000)]
Merge "Advisory locks for restoration" into tizen
Karol Lewandowski [Mon, 14 Apr 2025 16:14:33 +0000 (16:14 +0000)]
Merge "Restore last subsession at sessiond start" into tizen
Karol Lewandowski [Mon, 14 Apr 2025 16:14:33 +0000 (16:14 +0000)]
Merge changes into tizen
Karol Lewandowski [Mon, 14 Apr 2025 16:14:33 +0000 (16:14 +0000)]
Merge changes into tizen
Karol Lewandowski [Mon, 14 Apr 2025 16:14:33 +0000 (16:14 +0000)]
Merge "Add OS::get_uid_from_name" into tizen
Michal Bloch [Mon, 14 Apr 2025 14:58:08 +0000 (16:58 +0200)]
Release 0.10.0.3
Add subsession restoration after reboot.
Change-Id: Id0213b8768b45153283a28d1594d351f69ca63f2
Michal Bloch [Fri, 11 Apr 2025 17:07:33 +0000 (19:07 +0200)]
Advisory locks for restoration
Change-Id: Ic394369fa3ab017503deb329e6dfee0328736f7c
Michal Bloch [Thu, 10 Apr 2025 19:55:32 +0000 (21:55 +0200)]
Restore last subsession at sessiond start
And add a restore-only mode in case work needs to be done
such as for fixed-size backend that needs to be remounted.
Change-Id: Iee7d831889ecac7e1a913e7acb61eb9a34ba82a5
Michal Bloch [Wed, 9 Apr 2025 16:20:58 +0000 (18:20 +0200)]
Extract sysconf buffer allocation
Change-Id: I931eca869f4b6354c25c5faa0b56362e069839d4
Michal Bloch [Wed, 9 Apr 2025 16:21:43 +0000 (18:21 +0200)]
Add OS::get_uid_from_name
Change-Id: Ic6f5d83857689acfdc94ae88a3c158aff3cdbec8
Michal Bloch [Thu, 10 Apr 2025 16:00:10 +0000 (18:00 +0200)]
Save the last subsession on disk
Change-Id: Id25e3ff5ec694aa3071052d4e3130edc9a4c794d
Michal Bloch [Thu, 10 Apr 2025 15:11:59 +0000 (17:11 +0200)]
`get_main_dir_by_user_id` exposed, returns fs::path
Change-Id: Ic6f5d83857689acfdc94ae88a3c158aff3cdb000
Michal Bloch [Tue, 8 Apr 2025 18:11:52 +0000 (20:11 +0200)]
Example plugin conforms to libsyscommon interface change
Change-Id: I5a5e8cb59dd16c3d287b5ed6584a00e8def63e2e
Michal Bloch [Mon, 7 Apr 2025 14:38:39 +0000 (16:38 +0200)]
Release 0.10.0.2
Hotfix printf arg ordering
Change-Id: Idbec99be804cff38b55537836750fc877f7e2ce3
Michal Bloch [Tue, 1 Apr 2025 17:22:17 +0000 (19:22 +0200)]
Release 0.10.0.1
Minor correctness fixes
Change-Id: I25cd31dbd56975e865e1529cb5464493481bd478
Michal Bloch [Tue, 1 Apr 2025 17:21:52 +0000 (19:21 +0200)]
Plugin example: stump actually fits its contents
Change-Id: I8a112284ef1c17a8501b241435a60bf4796f9699
Michal Bloch [Tue, 1 Apr 2025 17:21:05 +0000 (19:21 +0200)]
Improve plugin example commentary
In case it actually gets used as a skeleton/example.
Change-Id: I2861c4fb72d6aaa60fac3f70525faa2816caf09a
Michal Bloch [Tue, 1 Apr 2025 15:34:47 +0000 (17:34 +0200)]
Proper exception handling for add/remove failures
Change-Id: I138578dda11a3f21a17c5114e3eb1c1de4fafd16
Michal Bloch [Tue, 1 Apr 2025 12:09:46 +0000 (14:09 +0200)]
Cleanup failed fixed-size add attempts properly
Change-Id: I624fd935c4f1a795503004befc54dd99a15aa06f
Signed-off-by: Michal Bloch <m.bloch@samsung.com>
Michal Bloch [Wed, 2 Apr 2025 17:36:04 +0000 (19:36 +0200)]
Check subsession existence explicitly for Add/Remove
Instead of relying on the actual function blowing up
and parsing the exception in the outermost scope.
Change-Id: Ibd9b0f587880dc5503924f0debde1ec17157f892
Signed-off-by: Michal Bloch <m.bloch@samsung.com>
Michal Bloch [Tue, 1 Apr 2025 11:57:29 +0000 (13:57 +0200)]
Tweak exception log messages
* remove inline \n because this produce 2 separate dlog entries
* put the specific exception message at the end for readability
Change-Id: I556a0694d691fb324334245613b8b1456ea157cc
Karol Lewandowski [Mon, 31 Mar 2025 16:50:55 +0000 (16:50 +0000)]
Merge changes into tizen
Karol Lewandowski [Mon, 31 Mar 2025 16:50:55 +0000 (16:50 +0000)]
Merge changes from topic "sessiond-2025-03-plugins" into tizen
* changes:
Release 0.10.0.0
Add an example/test plugin
Plugin can now also push events
Ensure sessiond service build as PIE
Add basic event listener plugin support
Unify validity checks
Have a single global instance of `sessiond_context`
Move struct defs out of main.cpp
Extract work away from dbus method handlers
Karol Lewandowski [Mon, 31 Mar 2025 16:50:55 +0000 (16:50 +0000)]
Merge changes into tizen
Karol Lewandowski [Mon, 31 Mar 2025 16:50:55 +0000 (16:50 +0000)]
Merge changes into tizen
Michal Bloch [Mon, 24 Mar 2025 17:42:43 +0000 (18:42 +0100)]
Release 0.10.0.0
Added plugin support
Change-Id: Ib297d98a45c454bdc101ce9ad32bd5e40fc7d6ef
Karol Lewandowski [Tue, 25 Mar 2025 13:40:22 +0000 (14:40 +0100)]
Add an example/test plugin
Co-authored-by: Michal Bloch <m.bloch@samsung.com>
Change-Id: Ifa7c7d2b773d1840449e855d9885d5c951c1b86d
Michal Bloch [Tue, 25 Mar 2025 19:55:29 +0000 (20:55 +0100)]
Plugin can now also push events
Change-Id: I920283dd08647ac8abce95de25315484f1e7ba43
Karol Lewandowski [Fri, 28 Mar 2025 13:12:42 +0000 (14:12 +0100)]
Ensure sessiond service build as PIE
This is needed for plugins to be able to safely call sessiond exported
symbols.
Change-Id: I10eb2b8163d202f10cbdd209bffe412309da1952
Michal Bloch [Wed, 19 Mar 2025 15:54:31 +0000 (16:54 +0100)]
Add basic event listener plugin support
Change-Id: I766a35b341c89d14eeae96f16d31ea65b91ac27e
Michal Bloch [Wed, 26 Mar 2025 18:09:14 +0000 (19:09 +0100)]
Unify validity checks
Change-Id: If3ba71927a7d182bde76b25ac655f44f3cf855bb
Michal Bloch [Wed, 26 Mar 2025 13:55:54 +0000 (14:55 +0100)]
Have a single global instance of `sessiond_context`
This is the de facto state of affairs
and makes the plugin interface cleaner.
Change-Id: I24cb1625945fae2ef4a7dbb5b4e5e232edb6c911
Michal Bloch [Tue, 25 Mar 2025 20:11:10 +0000 (21:11 +0100)]
Move struct defs out of main.cpp
Plugin will want to know the context definition to call work funcs,
so the definitions need to be in a header.
Make some other header functions `inline` to allow multiple inclusion.
Change-Id: Iba0cf4c15f139a47d808ee1fdfaa38e4e64ec4e7
Michal Bloch [Tue, 25 Mar 2025 19:08:41 +0000 (20:08 +0100)]
Extract work away from dbus method handlers
Dbus method handlers are now strictly for dealing with dbus messages.
All the work is performed in a separate function, which will be able
to be called directly from non-dbus sources (such as plugin).
Change-Id: I1d2b1fd74827aa65f1fb48205e52d6892b858c11
Michal Bloch [Tue, 11 Mar 2025 12:53:06 +0000 (13:53 +0100)]
Move fork helpers to OS namespace
Change-Id: I264f830c8c7e92bdcd29c48b0b57da32aa381d65
Karol Lewandowski [Tue, 4 Mar 2025 17:16:14 +0000 (18:16 +0100)]
fixed size backend: Do not unmount subsession image when switching away from session
There is no tangible benefit for unmounting the image.
Change-Id: Ic425cfee68b99fe3eef8f532676f77844229c833
Michal Bloch [Thu, 6 Mar 2025 14:25:13 +0000 (15:25 +0100)]
Subsession meta file rights tweaks
* don't copy SMACK label from the image to the mounted FS root.
This keeps the label the same as the /etc/skel source.
* add some commentary.
Change-Id: Iaabb5e0768a93790829574511e592c39de73db60
Signed-off-by: Michal Bloch <m.bloch@samsung.com>
Michal Bloch [Thu, 6 Mar 2025 14:27:33 +0000 (15:27 +0100)]
Release 0.7.8.3
Fixes, tests, and proper internal C API.
Change-Id: I467641bd86ce628da8302f25676b7e14d9eb7358
Signed-off-by: Michal Bloch <m.bloch@samsung.com>
Michal Bloch [Wed, 5 Mar 2025 18:25:40 +0000 (19:25 +0100)]
Make sure self-switch works on fixed-dir backend.
Change-Id: I93e1f6eeaa9460526da625e0747b6586342ba96b
Michal Bloch [Wed, 5 Mar 2025 18:20:22 +0000 (19:20 +0100)]
Image files start with a dot
Sessions named "foo.img" are valid, only names starting
with a dot are protected for technical reasons.
Change-Id: If0fc31dd124b189d27b71a588eb4ad985699979f
Michal Bloch [Tue, 4 Mar 2025 18:55:04 +0000 (19:55 +0100)]
Add advanced fixed-size backend tests.
Covers more scenarios specific to the backend,
and interaction between the two backends.
Change-Id: I2ae980ffa8497dffc455761d1958c94db8390d5d
Michal Bloch [Tue, 4 Mar 2025 14:27:46 +0000 (15:27 +0100)]
Add basic fixed-size backend tests.
So far just a copy-paste of regular dir backend tests,
doesn't yet handle some fixed-size specific scenarios.
Change-Id: I557d3ebd280547a40feae38da5cbd51c8aeb3bf8
Michal Bloch [Tue, 4 Mar 2025 18:59:31 +0000 (19:59 +0100)]
Fix a typo in test description
Change-Id: Ibfaa4bc253e16524cbde17e99650c6e66ae10667
Michal Bloch [Tue, 4 Mar 2025 14:36:14 +0000 (15:36 +0100)]
Mark existing API tests as using regular-dir backend
Change-Id: I59302775c70d9941e1be592aaaa1306a7c36b7c1
Michal Bloch [Tue, 4 Mar 2025 13:08:27 +0000 (14:08 +0100)]
Add `subsession_add_user_fixed_size` API.
Change-Id: Icbf988469a8ec038e4aa5a6a04ddee34304c24b1
Michal Bloch [Thu, 27 Feb 2025 19:06:44 +0000 (20:06 +0100)]
Accept const references where possible
Change-Id: I4a2ffbd9352fc04ede70ba34bdd7ca3770b7043f
Michal Bloch [Thu, 27 Feb 2025 19:03:39 +0000 (20:03 +0100)]
Use `fs` consistently over `std::filesystem`
Change-Id: Id743bce0383e30cc0d5961f22c12c45ad63f2e80
Michal Bloch [Wed, 26 Feb 2025 18:56:16 +0000 (19:56 +0100)]
Release 0.7.8.2
Add fixed-size image backend.
Change-Id: I4362242a2f9e0d953f711076fde4e0467f39c8e8
Michal Bloch [Thu, 27 Feb 2025 15:14:24 +0000 (16:14 +0100)]
Fix file permissions for fixed-size backend
Change-Id: I429cb35d2ff50c1c22d9187976c310a774ed90c6
Michal Bloch [Thu, 27 Feb 2025 12:20:43 +0000 (13:20 +0100)]
Check for mountpoint before mounting
Change-Id: I335f3d0ae03a473eca929ebf1bd1d34d11c035f7
Michal Bloch [Wed, 26 Feb 2025 18:55:57 +0000 (19:55 +0100)]
Integration test: fewer regular subsessions
Three is enough, it lets you have an active subsession and multiple
inactive subsessions in parallel (not that we even look at them in
a way that this would matter). More than that doesn't really bring
much value and just makes it take more time to run the test.
Change-Id: Ifa2253bb5f637e74452c452500d711d35c0bc8bc
Michal Bloch [Mon, 24 Feb 2025 18:00:16 +0000 (19:00 +0100)]
Add basic integration tests
Change-Id: I18075aa397cd07e8dc5318d208b8e8ea008a5ec5
Signed-off-by: Michal Bloch <m.bloch@samsung.com>
Michal Bloch [Wed, 19 Feb 2025 16:19:34 +0000 (17:19 +0100)]
Add 'AddUserFixedSize' dbus call.
Change-Id: I29aa18dcf5812e9a0376f705c39b5483c642c8f4
Signed-off-by: Michal Bloch <m.bloch@samsung.com>
Michal Bloch [Mon, 24 Feb 2025 12:49:41 +0000 (13:49 +0100)]
Add fixed-size backend.
Change-Id: I398db9e586102c97b44724ae52c112b5f2c50638
Michal Bloch [Wed, 26 Feb 2025 17:34:54 +0000 (18:34 +0100)]
Add some safety to SessionAdd.
Change-Id: I2414dba217d3a8f125e13dd8ac78361b2105328d
Michal Bloch [Fri, 21 Feb 2025 18:42:25 +0000 (19:42 +0100)]
Extract AddSession dir helpers to dir backend.
Change-Id: I0aa9ca022542cb6966911cc45b800110c37b11ff
Signed-off-by: Michal Bloch <m.bloch@samsung.com>
Michal Bloch [Mon, 24 Feb 2025 14:15:38 +0000 (15:15 +0100)]
Add a subsession switch callback to dir backend
Change-Id: I83bd27940fe61c6ac6b3a45be9e784db5b4535eb
Michal Bloch [Wed, 19 Feb 2025 14:52:11 +0000 (15:52 +0100)]
Make dir backends use inheritance instead
This is because multiple backends will be used at runtime.
Change-Id: I33811b427ba10c91f82927c13aefd61fdbb511f2
Signed-off-by: Michal Bloch <m.bloch@samsung.com>
Michal Bloch [Thu, 13 Feb 2025 13:50:42 +0000 (14:50 +0100)]
Coverity fixes
Change-Id: I200d8d09571b35888ee543e8c58a3ec822b685db
Signed-off-by: Michal Bloch <m.bloch@samsung.com>
Michal Bloch [Wed, 12 Feb 2025 11:37:26 +0000 (12:37 +0100)]
Release 0.7.8.1
Don't use bleeding edge technologies like C++20
since some known downstream forks use g++9.2.
Change-Id: I020817bb35307c92d7f1a3d13ca529279b33e986
Signed-off-by: Michal Bloch <m.bloch@samsung.com>
Michal Bloch [Mon, 3 Feb 2025 19:14:53 +0000 (20:14 +0100)]
Release 0.7.8.0
No logic change, just refactoring.
Change-Id: I7d92b8dbdae48dc2b568a39ad79b3e1c9eea7142
Michal Bloch [Mon, 3 Feb 2025 19:07:52 +0000 (20:07 +0100)]
Remove a redundant check.
Change-Id: I86ae8fecafe17627ebcb2e0955e6faccfed8caeb
Michal Bloch [Mon, 3 Feb 2025 18:14:00 +0000 (19:14 +0100)]
More fs::path instead of string parsing
Change-Id: I6d5365f58f5bf588ca209e65644118586c9e37de
Signed-off-by: Michal Bloch <m.bloch@samsung.com>
Michal Bloch [Wed, 22 Jan 2025 12:16:49 +0000 (13:16 +0100)]
Make OS helpers use fs::path instead of strings
Change-Id: I06a5912a98033fbaeaaa01acc3ebf66ed3bffb5f
Signed-off-by: Michal Bloch <m.bloch@samsung.com>
Michal Bloch [Wed, 22 Jan 2025 12:11:19 +0000 (13:11 +0100)]
Initial subsession dir backend abstraction
Just subsession removal for now.
Change-Id: Id811f5811fb842f581952f149e58de9918209196
Michal Bloch [Wed, 15 Jan 2025 15:13:21 +0000 (16:13 +0100)]
Extract wrappers over OS functions to a separate file
This leaves fs_helpers with just business logic.
Change-Id: I6a24e3964b918a71770055a0461bd531300debbb
Michal Bloch [Wed, 22 Jan 2025 11:30:13 +0000 (12:30 +0100)]
Use fs::path in `remove_user_subsession`
Instead of processing raw strings manually.
Change-Id: I188432ac5e0cb24ecac24c8aedff2fb6134b0c96
Michal Bloch [Thu, 30 Jan 2025 16:31:54 +0000 (17:31 +0100)]
Use std::fs for stat and mode
Change-Id: I31fca9acc678734276400311b65a5b2412ccc6ab
Michal Bloch [Tue, 14 Jan 2025 15:23:31 +0000 (16:23 +0100)]
Decouple set_ownership from "dir class" logic
Putting business logic outside it turns set_ownership
into strictly a filesystem helper.
Change-Id: Ibdfdc4cdaed9c183b542846e0320627aab046847
Michal Bloch [Tue, 14 Jan 2025 14:12:46 +0000 (15:12 +0100)]
Extract "get main dir path" into a function
Change-Id: I2d13339ab99d81bbdb146bf7f6e9c2fde5ecf83a