]> git.ipfire.org Git - thirdparty/systemd.git/commit
homework: Handle Update & Create w/ blob dir
authorAdrian Vovk <adrianvovk@gmail.com>
Wed, 10 Jan 2024 03:06:35 +0000 (22:06 -0500)
committerLuca Boccassi <bluca@debian.org>
Mon, 19 Feb 2024 11:18:11 +0000 (11:18 +0000)
commita4d72746c776f820a440d72eaadd49ad158e10dc
tree64ed01694861da09105346167e80b56aaa1e74af
parent17ac40e4cd32b6c7338e9638900d1534db0d1483
homework: Handle Update & Create w/ blob dir

Introduces new extended variants of the various incarnations of
Create and Update, which take a map of filenames to FDs. This map is
then used to populate the bulk directory.

FDs are used to prevent the client from abusing homed's blob directory
permissions (everything is made world-readable by homed) to open files
that they normally aren't allowed to open. Passing along an FD ensures
that the client has read access to the file it wants homed to make
world-readable.

Internally, homework uses the map to overwrite the system blob dir.
Later, homework's existing blob dir reconciliation logic will propagate
the new contents from the system blob dir into the embedded blob
dir
16 files changed:
man/org.freedesktop.home1.xml
src/home/home-util.c
src/home/home-util.h
src/home/homed-bus.c
src/home/homed-bus.h
src/home/homed-home-bus.c
src/home/homed-home-bus.h
src/home/homed-home.c
src/home/homed-home.h
src/home/homed-manager-bus.c
src/home/homework-blob.c
src/home/homework-blob.h
src/home/homework.c
src/home/org.freedesktop.home1.conf
src/home/user-record-util.c
src/home/user-record-util.h