INSUN PYO [Mon, 18 May 2020 09:21:13 +0000 (18:21 +0900)]
Revert "core/path: fix spurious triggering of PathExists= on restart/reload"
This reverts commit
d7cf8c24d4ef6ed4c9d711ee82ba57a529baad34.
Change-Id: Ice828460a04862ad41495826566c0be1485bce63
Youngjae Cho [Wed, 6 May 2020 06:39:03 +0000 (15:39 +0900)]
Fix delayed.target
Add binary wait-target-done.c for waiting creation of *.done file.
Change-Id: I0d87c574086073b28aa52dccca3e760914e2abbd
Signed-off-by: Youngjae Cho <y0.cho@samsung.com>
INSUN PYO [Tue, 21 Apr 2020 07:11:15 +0000 (16:11 +0900)]
Delayed target: check interval is changed from 1 second to 0.2 seconds.
Change-Id: I2206ada9509d503ac02733d0cb0c1539d932b184
Signed-off-by: INSUN PYO <insun.pyo@samsung.com>
INSUN PYO [Thu, 16 Apr 2020 00:04:39 +0000 (09:04 +0900)]
spec: fix indent in systemd.spec
Change-Id: I7b48f4cd8e66e3c52a23305d48466c75e5443845
Signed-off-by: INSUN PYO <insun.pyo@samsung.com>
Adrian Szyndela [Thu, 16 Apr 2020 08:52:54 +0000 (10:52 +0200)]
test-bus-async-match: remove unused variables
Change-Id: I0b900a9b0b04767123110ebcb88174d45fdc8ca3
Maciej Slodczyk [Tue, 14 Apr 2020 10:54:12 +0000 (12:54 +0200)]
sdbus: kdbus tests: improve mt-safety
Change-Id: I09d0eea89920d3af549f2e10b2a1dbdd7a9b4cf2
Signed-off-by: Maciej Slodczyk <m.slodczyk2@partner.samsung.com>
Maciej Slodczyk [Tue, 14 Apr 2020 09:02:12 +0000 (11:02 +0200)]
sdbus: kdbus tests: make sure all variables are initialized
Change-Id: Ide45b79c33bf0c15346801c36bd8695ca4ea2ec6
Signed-off-by: Maciej Slodczyk <m.slodczyk2@partner.samsung.com>
Maciej Slodczyk [Tue, 14 Apr 2020 12:49:54 +0000 (14:49 +0200)]
sdbus: kdbus tests: fix indent in tests
Change-Id: I143ce8edf571a2a4a6899319c16b99dcafaff9b6
Signed-off-by: Maciej Slodczyk <m.slodczyk2@partner.samsung.com>
INSUN PYO [Thu, 9 Apr 2020 05:17:05 +0000 (14:17 +0900)]
Change file permission of org.tizen.system.conf to 644.
Change-Id: Ibdf905f96c6f72951db4e90b761462e05a956232
Adrian Szyndela [Mon, 6 Apr 2020 10:14:04 +0000 (12:14 +0200)]
delayed: replace dbus-send with a dedicated program
In release versions there can be no helper programs for sending
any messages over D-Bus. Thus, dbus-send, busctl etc. are removed.
This commit replaces dbus-send use cases with a specialized little
tool, which does what dbus-send did in those cases.
Change-Id: I54e51fc3fe563961f18b953215cee41c3bf4510e
INSUN PYO [Fri, 3 Apr 2020 01:37:48 +0000 (10:37 +0900)]
logind: add SmackProcessLabel=System::Privileged to user-runtime-dir@.service
To change smack label /run/user/5001/system_share to "*", we need System::Privileged.
Change-Id: Icd1e8c7794236670575df68d1fe35c35584f24f2
Adrian Szyndela [Thu, 2 Apr 2020 12:32:02 +0000 (14:32 +0200)]
socket: fix printing of size_t value
Change-Id: I9a6fa9f3a15c091fdda0e738de96dcebca8ee1c3
Adrian Szyndela [Thu, 2 Apr 2020 10:37:36 +0000 (12:37 +0200)]
Merge upgrade-to-244 into tizen
Change-Id: Id3fa41d3beb40586cf5eb4a9069c4a1ce39366c9
Adrian Szyndela [Tue, 31 Mar 2020 10:21:31 +0000 (12:21 +0200)]
test-bus-track: add possibility of succeeding with kdbus
Adrian Szyndela [Mon, 30 Mar 2020 11:16:30 +0000 (13:16 +0200)]
meson.build: set a proper path for building in Tizen
Adrian Szyndela [Mon, 30 Mar 2020 07:26:14 +0000 (09:26 +0200)]
test-copy: allow copy from symlinked dir
Adrian Szyndela [Fri, 27 Mar 2020 15:29:24 +0000 (16:29 +0100)]
tests: make tests pass with non-utf8 locale
Adrian Szyndela [Thu, 2 Apr 2020 09:48:41 +0000 (11:48 +0200)]
Merge v244 into tizen
systemd v244
INSUN PYO [Tue, 31 Mar 2020 02:01:58 +0000 (11:01 +0900)]
Disable shutdown watchdog as default
Change-Id: Ibef1d780d3a711b9251cddc41b16c91a154951e2
Maciej Slodczyk [Mon, 30 Mar 2020 13:09:14 +0000 (15:09 +0200)]
sdbus: kdbus: add test for adding async signal match
Signed-off-by: Maciej Slodczyk <m.slodczyk2@partner.samsung.com>
Adrian Szyndela [Tue, 24 Mar 2020 07:25:50 +0000 (08:25 +0100)]
sd-bus: kdbus: set read_counter in synthesized msgs
read_counter was not set for synthesized messages, this was
failing a match check at bus-match.c:297.
Adrian Szyndela [Thu, 19 Mar 2020 06:57:09 +0000 (07:57 +0100)]
udevd: add missing attr in SECLABEL rules parsing
This caused failure of udevd workers, when they tried to execute
rules. When parsing, 'attr' was always passed as NULL, despite being
checked for non-emptiness. When executing, NULL was passed
unconditionally to strdup, and it caused segmentation fault.
Adrian Szyndela [Tue, 10 Mar 2020 14:13:39 +0000 (15:13 +0100)]
unit: handle GetNameOwner when kdbus is present
Change-Id: I24fb2027e6b8f1c37971e6013ab91f1157636d8d
Adrian Szyndela [Fri, 6 Mar 2020 16:01:47 +0000 (17:01 +0100)]
meson: workaround for lack of realpath
Change-Id: I2472bcf422e6c3ccef1522c6f8733961b6556c0a
Adrian Szyndela [Fri, 6 Mar 2020 16:17:47 +0000 (17:17 +0100)]
Revert "Drop dbus activation stub service"
This reverts commit
07125d24eedb71693b3bf2b1f0730cd01aaac2dd.
The revert may be reverted with dbus update to version >= 1.10.10.
Adrian Szyndela [Fri, 27 Mar 2020 08:27:11 +0000 (09:27 +0100)]
Merge v243 into tizen
systemd v243
Adrian Szyndela [Thu, 26 Mar 2020 07:13:50 +0000 (08:13 +0100)]
sd-bus: fix freeing kdbus messages
Version 242 introduced two kinds of references to messages: normal and queued.
This commit fixes this functionality for kdbus:
- (normal_)unreference messages when they are (queue_)referenced;
- fix freeing function to allow release of kdbus memory.
Yu Watanabe [Sat, 13 Apr 2019 09:35:15 +0000 (18:35 +0900)]
(backport) linux: also import l2tp.h from kernel-5.0
The L2TP_ATTR_UDP_ZERO_CSUM6_{TX,RX} attributes are introduced by
6b649feafe10b293f4bd5a74aca95faf625ae525, which is included in
kernel-3.16. To support older kernel, let's import the header.
Fixes #12300.
Change-Id: I6153d93adaeb7ed21c9956125eac6d8928153bfa
Adrian Szyndela [Fri, 27 Mar 2020 08:11:55 +0000 (09:11 +0100)]
Merge v242 into tizen
systemd v242
Adrian Szyndela [Fri, 27 Mar 2020 07:33:36 +0000 (08:33 +0100)]
Merge v241 into tizen
systemd 241
Adrian Szyndela [Mon, 16 Mar 2020 11:08:04 +0000 (12:08 +0100)]
bus-message: fix gvariant array elements alignment computing
Commit
f88214cf9d66c93f4d22c4c8980de9ee3ff45bab introduced correction
of computing of variable sized elements of arrays. However,
alignment was taken from outer signature instead of type of elements
in the array. For example, for signature "a(sasbttttuii)"
the alignment of elements of the inner array ("as"; should be 1) was computed
from the alignment of "sasbttttuii" (which is 8).
This commit corrects the alignment source.
Zbigniew Jędrzejewski-Szmek [Tue, 15 Jan 2019 07:17:44 +0000 (08:17 +0100)]
(backport) udev: do logging before setting variables to NULL
gcc-9 diagnoses this as an error.
Reported by Jeff Law.
Change-Id: I737247b391a5ea6f2ef581bc32d99716782ce659
Fabrice Fontaine [Fri, 11 Jan 2019 15:07:00 +0000 (16:07 +0100)]
(backport) capability: fix build without PR_CAP_AMBIENT
systemd fails to build on kernel without PR_CAP_AMBIENT (< 4.3) since
https://github.com/systemd/systemd/commit/
2a03bb3e65327c73008f1db485ffc75c432dc6b2
To fix this error, include missing_prctl.h in all files using
PR_CAP_AMBIENT
Fixes:
- http://autobuild.buildroot.org/results/
699c078aa078240c6741da4dbd0871450ceeca92
Change-Id: I4b0f0af732fbb0e15d129c5fe8538c0785261415
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Yu Watanabe [Sat, 13 Apr 2019 09:46:40 +0000 (18:46 +0900)]
(backport) linux: also import linux/in.h and in6.h from kernel-5.0
Now linux/in.h has better conflict detection with glibc's
netinet/in.h. So, let's import the headers.
Note that our code already have many workarounds for the conflict,
but in this commit does not drop them. Let's do that in the later
commits if this really helps.
Change-Id: I8ddd8197a29cac1a0e0690d64c76aa240f9d2d3d
Yu Watanabe [Wed, 10 Apr 2019 10:55:53 +0000 (19:55 +0900)]
(backport) tree-wide: drop several missing_*.h and import relevant headers from kernel-5.0
Change-Id: Icc04a53c32aa56a716feeeb783c12fb556652bb8
Adrian Szyndela [Thu, 5 Mar 2020 08:12:59 +0000 (09:12 +0100)]
tree-wide: replace realpath with readlink -f
Tizen's coreutils doesn't include 'realpath' utility, which was
introduced in coreutils 8.15. However, Tizen's coreutils includes 'readlink'
utility, which is very close to 'realpath' if called with '-f' param.
Change-Id: I08b6ed68fc6bf0c384b599f4de3724724345d5c7
Adrian Szyndela [Thu, 5 Mar 2020 09:52:04 +0000 (10:52 +0100)]
Revert (partial) "tree-wide: remove various unused functions"
This partially reverts commit
5dd9527883e0aa8705cf81448bc4bdb0456382fb.
bus_get_root_path() and sd_bus.cgroup_root are brought back.
Change-Id: Iad7b25472b3d877b1610b37e5473d9213fd661fc
Adrian Szyndela [Thu, 5 Mar 2020 08:30:26 +0000 (09:30 +0100)]
Revert "units: drop units/user/busnames.target"
This reverts commit
df134443395f6e043e0cd2a45ab529583df96e4e.
Adrian Szyndela [Thu, 5 Mar 2020 08:28:16 +0000 (09:28 +0100)]
Revert "units: remove unused busnames.target"
This reverts commit
0ba89873372c3ab508852b4e0071da0719bcea0a.
Adrian Szyndela [Thu, 26 Mar 2020 15:35:12 +0000 (16:35 +0100)]
Merge v240 into tizen
systemd 240
Lennart Poettering [Thu, 15 Nov 2018 20:07:43 +0000 (21:07 +0100)]
(backport) core: remove JoinControllers= configuration setting
This removes the ability to configure which cgroup controllers to mount
together. Instead, we'll now hardcode that "cpu" and "cpuacct" are
mounted together as well as "net_cls" and "net_prio".
The concept of mounting controllers together has no future as it does
not exist to cgroupsv2. Moreover, the current logic is systematically
broken, as revealed by the discussions in #10507. Also, we surveyed Red
Hat customers and couldn't find a single user of the concept (which
isn't particularly surprising, as it is broken...)
This reduced the (already way too complex) cgroup handling for us, since
we now know whenever we make a change to a cgroup for one controller to
which other controllers it applies.
Change-Id: I0eadd5f685980bd006134991310c0688ba7a86c5
Yu Watanabe [Sun, 23 Sep 2018 07:17:03 +0000 (16:17 +0900)]
(backport) fs-util: make symlink_idempotent() optionally create relative link
Change-Id: I24d38ca9a7e0f63095cd8fdf33b9686206ebf6a5
Luke Shumaker [Fri, 7 Jul 2017 22:57:08 +0000 (18:57 -0400)]
(backport) nspawn: Move cgroup mount stuff from nspawn-mount.c to nspawn-cgroup.c
Change-Id: Iaf44ed696c287b1cc0aa7a8c79773095a3c1ecc6
Luke Shumaker [Tue, 13 Jun 2017 22:06:09 +0000 (18:06 -0400)]
(backport) nspawn: Simplify tmpfs_patch_options() usage, and trickle that up
One of the things that tmpfs_patch_options does is take an (optional) UID,
and insert "uid=${UID},gid=${UID}" into the options string. So we need a
uid_t argument, and a way of telling if we should use it. Fortunately,
that is built in to the uid_t type by having UID_INVALID as a possible
value.
So this is really a feature that requires one argument. Yet, it is somehow
taking 4! That is absurd. Simplify it to only take one argument, and have
that trickle all the way up to mount_all()'s usage.
Now, in may of the uses, the argument becomes
uid_shift == 0 ? UID_INVALID : uid_shift
because it used to treat uid_shift=0 as invalid unless the patch_ids flag
was also set. This keeps the behavior the same. Note that in all cases
where it is invoked, if !use_userns (sometimes called !userns), then
uid_shift is 0; we don't have to add any checks for that.
That said, I'm pretty sure that "uid=0" and not setting "uid=" are the
same, but Christian Brauner seemed to not think so when implementing the
cgns support. https://github.com/systemd/systemd/pull/3589
Change-Id: I1b44d4415c10611b89423145f90b83e0d72eb4bc
Adrian Szyndela [Thu, 26 Mar 2020 15:27:17 +0000 (16:27 +0100)]
Merge v239 into tizen
systemd 239
Adrian Szyndela [Thu, 26 Mar 2020 10:19:37 +0000 (11:19 +0100)]
sd-bus: fix fcntl flag for duplicating fd
Zbigniew Jędrzejewski-Szmek [Wed, 18 Jul 2018 15:26:17 +0000 (17:26 +0200)]
(backport) meson: unify linux/stat.h check with other checks and use _GNU_SOURCE
Using _GNU_SOURCE is better because that's how we include the headers in the
actual build, and some headers define different stuff when it is defined.
sys/stat.h for example defines 'struct statx' conditionally.
Change-Id: I7cb80dc4339aa05d1a5dbebf483168c7dcce84d9
Filipe Brandenburger [Mon, 16 Jul 2018 05:43:35 +0000 (22:43 -0700)]
(backport) build-sys: Detect whether struct statx is defined in sys/stat.h
Starting with glibc 2.27.9000-36.fc29, include file sys/stat.h will have a
definition for struct statx, in which case include file linux/stat.h should be
avoided, in order to prevent a duplicate definition.
In file included from ../src/basic/missing.h:18,
from ../src/basic/util.h:28,
from ../src/basic/hashmap.h:10,
from ../src/shared/bus-util.h:12,
from ../src/libsystemd/sd-bus/bus-creds.c:11:
/usr/include/linux/stat.h:99:8: error: redefinition of ‘struct statx’
struct statx {
^~~~~
In file included from /usr/include/sys/stat.h:446,
from ../src/basic/util.h:19,
from ../src/basic/hashmap.h:10,
from ../src/shared/bus-util.h:12,
from ../src/libsystemd/sd-bus/bus-creds.c:11:
/usr/include/bits/statx.h:36:8: note: originally defined here
struct statx
^~~~~
Extend our meson.build to look for struct statx when only sys/stat.h is
included and, in that case, do not include linux/stat.h anymore.
Tested that systemd builds correctly when using a glibc version that includes a
definition for struct statx.
glibc Fedora RPM update:
https://src.fedoraproject.org/rpms/glibc/c/
28cb5d31fc1e5887912283c889689c47076278ae
glibc upstream commit:
https://sourceware.org/git/?p=glibc.git;a=commitdiff;h=
fd70af45528d59a00eb3190ef6706cb299488fcd
Change-Id: I830760b930f8ebe51198b0e9bdb00d7049b395a8
Adrian Szyndela [Thu, 26 Mar 2020 15:03:37 +0000 (16:03 +0100)]
Merge v238 into tizen
systemd 238
Adrian Szyndela [Mon, 23 Mar 2020 15:39:04 +0000 (16:39 +0100)]
sd-bus: kdbus: fix callbacks for matches
Add callbacks for matches to reply_callbacks to perform
them after processing synchronous response to asynchronous
calls to AddMatch.
Adrian Szyndela [Mon, 23 Mar 2020 15:18:03 +0000 (16:18 +0100)]
sd-bus: kdbus: decouple creating message from enqueuing
This separates creating replies from enqueuing them. This way we can use
enqueueing function for other replies.
No functional changes.
Adrian Szyndela [Mon, 23 Mar 2020 15:17:08 +0000 (16:17 +0100)]
sd-bus: kdbus: fixed return value in generated reply
Adrian Szyndela [Fri, 6 Mar 2020 11:56:35 +0000 (12:56 +0100)]
sd-bus: ensure freeing memory on errors
Change-Id: I471ab19aca7fb06cbaf8e0abd1d0d405c601b3ca
Adrian Szyndela [Wed, 4 Mar 2020 08:15:47 +0000 (09:15 +0100)]
kdbus: fix cookie and timeout in async name calls
Change-Id: I75d74169dd3d9bbf357d4c0e75690f88e96d2291
Adrian Szyndela [Wed, 26 Feb 2020 14:50:12 +0000 (15:50 +0100)]
kdbus: make async name calls prettier
This extracts common code for bus_request_name_kernel_async()
and bus_release_name_kernel_async() into two separate
static functions to avoid code duplication.
No functional changes intended.
Change-Id: Ideeeb303b98faeb807544fa82124ea92cc2d2f34
Maciej Slodczyk [Tue, 25 Feb 2020 17:50:15 +0000 (18:50 +0100)]
kdbus: make sure all used data structures are initialized
Signed-off-by: Maciej Slodczyk <m.slodczyk2@partner.samsung.com>
Maciej Slodczyk [Tue, 25 Feb 2020 13:49:14 +0000 (14:49 +0100)]
Add reply_callback slots to async kdbus name request/release
Signed-off-by: Maciej Slodczyk <m.slodczyk2@partner.samsung.com>
Adrian Szyndela [Mon, 24 Feb 2020 13:33:48 +0000 (14:33 +0100)]
kdbus: make async calls generate synthetic replies
Change-Id: Ibd88ca9d6900aca77b0d02021f5ebbbe00718865
Maciej Slodczyk [Fri, 21 Feb 2020 17:02:26 +0000 (18:02 +0100)]
Handle return slot with kdbus async calls
Signed-off-by: Maciej Slodczyk <m.slodczyk2@partner.samsung.com>
Zbigniew Jędrzejewski-Szmek [Wed, 6 Jun 2018 09:07:02 +0000 (11:07 +0200)]
bus: optionally call a callbacks for cleanup
This adds a function sd_bus_slot_set_destroy_callback() to set a function
which can free userdata or perform other cleanups.
sd_bus_slot_get_destory_callback() queries the callback, and is included
for completeness.
Without something like this, for floating asynchronous callbacks, which might
be called or not, depending on the sequence of events, it's hard to perform
resource cleanup. The alternative would be to always perform the cleanup from
the caller too, but that requires more coordination and keeping of some shared
state. It's nicer to keep the cleanup contained between the callback and the
function that requests the callback.
Maciej Slodczyk [Fri, 21 Feb 2020 10:07:34 +0000 (11:07 +0100)]
Add async bindings to kdbus
Signed-off-by: Maciej Slodczyk <m.slodczyk2@partner.samsung.com>
Adrian Szyndela [Thu, 20 Feb 2020 09:55:01 +0000 (10:55 +0100)]
Revert "sd-bus: get rid of kdbus flags cruft"
This reverts commit
c7db1984d0ec106436fda4e51194e259b90516e7.
Change-Id: Id456beb4b577ff5a11fa323894ae63f1cb110a3e
Adrian Szyndela [Thu, 20 Feb 2020 09:14:00 +0000 (10:14 +0100)]
Revert "sd-bus: drop unused parameters from bus_add_match_internal()"
This reverts commit
0259b87f5e5d830c05e97cc285c49a33f01cb9f2.
Change-Id: Ib1c602f12754d5b5a71e1f69bca596514df9512d
Adrian Szyndela [Thu, 20 Feb 2020 09:05:06 +0000 (10:05 +0100)]
Revert "sd-bus: drop some unused fields from the sd_bus_message structure"
This reverts commit
0f08647120031d674075eeba391d2463870f3a6b.
Adrian Szyndela [Thu, 20 Feb 2020 08:29:53 +0000 (09:29 +0100)]
Revert "sd-bus: remove 'hint_sync_call' parameter from various function calls"
This reverts commit
66baf8c6444fa036e4da4a15d7099c21480bfefb.
Change-Id: Ibbad12a0dc9f36023440fe31ada757b0755b45a1
Adrian Szyndela [Thu, 20 Feb 2020 08:16:13 +0000 (09:16 +0100)]
Revert "sd-bus: drop bloom stuff, it's not needed anymore since kdbus is gone"
This reverts commit
1a86b085138234c9166614adc5ad399a19dae84b.
Change-Id: I14360ef56ba8852487f3cf005d7b0344a493f262
Adrian Szyndela [Wed, 26 Feb 2020 13:44:20 +0000 (14:44 +0100)]
Merge v237 into tizen
systemd 237
Adrian Szyndela [Mon, 17 Feb 2020 13:12:39 +0000 (14:12 +0100)]
Merge v236 into tizen
Change-Id: Id62f08b8ecf2a909a49e5f93b2f7594b3880ef44
Adrian Szyndela [Wed, 12 Feb 2020 11:08:23 +0000 (12:08 +0100)]
Revert "nspawn: do not mount /sys/fs/kdbus"
This reverts commit
b1679459352885c82b041b0fb376f652cec76994.
There are still people somewhere who need kdbus.
Adrian Szyndela [Mon, 10 Feb 2020 16:06:57 +0000 (17:06 +0100)]
Revert "exit-status: drop EXIT_MAKE_STARTER"
This reverts commit
be7e509e89dff09a569fb035b4e03a5084038922.
There are still people somewhere who need kdbus.
Adrian Szyndela [Mon, 10 Feb 2020 16:04:14 +0000 (17:04 +0100)]
Revert "sd-bus: drop bloom fields"
This reverts commit
21a13ab0543e593637cf2a301076666c7ff82a18.
There are people somewhere that need kdbus.
Adrian Szyndela [Mon, 10 Feb 2020 16:00:05 +0000 (17:00 +0100)]
Revert "sd-bus: drop match cookie concept"
This reverts commit
532f808fd15ec2cd91777ab3ad9afce2670ebac5.
There are people somewhere that need kdbus.
Change-Id: I33e47f0b81edb2ec834675fd3183a485d25920b7
Adrian Szyndela [Mon, 10 Feb 2020 15:40:29 +0000 (16:40 +0100)]
Revert "Drop busname unit type"
This reverts commit
4bc5d27b942afa83cc3d95debd2ad48d42ac07a8.
There are people somewhere that need kdbus.
Change-Id: Ib2d05f88171718c07e7de06409a1c224230e7a8d
Adrian Szyndela [Mon, 10 Feb 2020 15:38:07 +0000 (16:38 +0100)]
Revert "Drop bus-policy bits"
This reverts commit
a6c97fc460e1e6bfd491262530057f876f6b20d1.
There are people somewhere that need kdbus.
Change-Id: I92a54bc8695a39cd39513e606d3685d085e09b16
Adrian Szyndela [Mon, 10 Feb 2020 15:29:58 +0000 (16:29 +0100)]
Revert "Drop kdbus bits"
This reverts commit
a132bef0239e6c3f04096eee3a00c7ecf24a4f5c.
There are people somewhere that need kdbus.
Change-Id: I5a1f09485c524d47ef8ae53712d5fb77949bc7fa
Adrian Szyndela [Mon, 17 Feb 2020 12:23:57 +0000 (13:23 +0100)]
Merge v235 into tizen
Change-Id: Iafcca23df73f2694eda50a97771acac4b7996f30
Lennart Poettering [Tue, 15 Jan 2019 23:13:38 +0000 (00:13 +0100)]
(backport) strv: rework FOREACH_STRING() macro
So it's apparently problematic that we use STRV_MAKE() (i.e. a compound
initializer) outside of the {} block we use it in (and that includes
outside of the ({}) block, too). Hence, let's rework the macro to not
need that.
This also makes the macro shorter, which is definitely a good and more
readable. Moreover, it will now complain if the iterator is a "char*"
instead of a "const char*", which is good too.
Fixes: #11394
Change-Id: Ibc21cdd5583c3b6a079b8691bbac5e076819432a
Adrian Szyndela [Thu, 6 Feb 2020 10:34:25 +0000 (11:34 +0100)]
Revert "build-sys: drop last reference to --have-kdbus"
This reverts commit
2acaa3789a417290154ca9e18354e7a930b37dfb.
Adrian Szyndela [Thu, 6 Feb 2020 10:34:11 +0000 (11:34 +0100)]
Revert "man: drop kdbus descriptions from sd_b_negotiate_fds(3)"
This reverts commit
ba612f4204230a9a63e18c42e20b47ed09da675e.
Khem Raj [Mon, 17 Dec 2018 04:53:38 +0000 (20:53 -0800)]
(backport) sysctl: Don't pass null directive argument to '%s'
value pointer here is always NULL but subsequent use of that pointer
with a %s format will always be NULL, printing p instead would be a
valid string
Change-Id: Ib74f46d69eaf5e3d149523d53beef1f060a5fc16
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Patrick Uiterwijk [Thu, 22 Feb 2018 18:41:30 +0000 (19:41 +0100)]
(backport) Fix format-truncation compile failure by typecasting USB IDs (#8250)
This patch adds safe_atoux16 for parsing an unsigned hexadecimal 16bit int, and
uses that for parsing USB device and vendor IDs.
This fixes a compile error with gcc-8 because while we know that USB IDs are 2 bytes,
the compiler does not know that.
../src/udev/udev-builtin-hwdb.c:80:38: error: '%04X' directive output may be
truncated writing between 4 and 8 bytes into a region of size between 2 and 6
[-Werror=format-truncation=]
Change-Id: I40b2eb8b424c57ba430b217ebead2fc5d67bbb14
Signed-off-by: Adam Williamson <awilliam@redhat.com>
Signed-off-by: Patrick Uiterwijk <puiterwijk@redhat.com>
Zbigniew Jędrzejewski-Szmek [Fri, 23 Feb 2018 10:12:19 +0000 (11:12 +0100)]
(backport) udev/net-id: check all snprintf return values
gcc-8 throws an error if it knows snprintf might truncate output and the
return value is ignored:
../src/udev/udev-builtin-net_id.c: In function 'dev_pci_slot':
../src/udev/udev-builtin-net_id.c:297:47: error: '%s' directive output may be truncated writing up to 255 bytes into a region of size between 0 and 4095 [-Werror=format-truncation=]
snprintf(str, sizeof str, "%s/%s/address", slots, dent->d_name);
^~
../src/udev/udev-builtin-net_id.c:297:17: note: 'snprintf' output between 10 and 4360 bytes into a destination of size 4096
snprintf(str, sizeof str, "%s/%s/address", slots, dent->d_name);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
Let's check all return values. This actually makes the code better, because there's
no point in trying to open a file when the name has been truncated, etc.
Change-Id: I52c289a5e4d660c999383ee628c596e00c30af21
Khem Raj [Mon, 17 Dec 2018 04:58:35 +0000 (20:58 -0800)]
(backport) core: Fix use after free case in load_from_path()
ensure that mfree() on filename is called after the logging function
which uses the string pointed by filename
Change-Id: I126ff9068ff62ab658cafb80f0c8c12398e321ba
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Hans-Christian Noren Egtvedt [Mon, 25 Sep 2017 14:39:32 +0000 (16:39 +0200)]
(backport) sd-radv: avoid redefinition of struct in6_addr
Both netinet/icmp6.h and linux/in6.h will define struct in6_addr, and in
user space we want to use the netinet/icmp6.h variant.
Fixes build problem:
In file included from src/libsystemd-network/sd-radv.c:23:0:
/home/hegtvedt/work/os/product/sunrise/root/_build/v2/include/linux/in6.h:30:8:
error: redefinition of 'struct in6_addr'
Change-Id: I5e36d3a8a2f73681241436ab02fec4440a6a1902
Zbigniew Jędrzejewski-Szmek [Sun, 19 Aug 2018 17:11:30 +0000 (19:11 +0200)]
(backport) meson: rename -Ddebug to -Ddebug-extra
Meson added -Doptimization and -Ddebug options, which obviously causes
a conflict with our -Ddebug options. Let's rename it.
Fixes #9883.
Change-Id: Ie9b822d6b18b551c56158447cc042faceb805842
Zbigniew Jędrzejewski-Szmek [Sun, 8 Jul 2018 13:14:46 +0000 (15:14 +0200)]
(backport) meson: allow systemd.directives and .index to be built if -Dman=false
See
559d215b6733bb46533a52080522a7feca183aa8 for justification.
Change-Id: I1355f202ffc0492203b28fa23fe33601fc6c31cb
Zbigniew Jędrzejewski-Szmek [Fri, 24 Nov 2017 13:00:29 +0000 (14:00 +0100)]
(backport) meson: restore building of man pages on demand even if -Dman=false
I want to configure -Dman=false for speed, but be able to build a specific
man page sometimes to check my edits. Commit
5b316b9ea6c broke this by mistake.
Let's adjust the condition to better match the logic of disabling tests only
if xsltproc is really not found.
Change-Id: Ife24351843f33a8e9da503fdba437e7acf513ad6
Adrian Szyndela [Thu, 6 Feb 2020 08:39:24 +0000 (09:39 +0100)]
Revert "pid1: drop kdbus_fd and all associated logic"
This reverts commit
232f6754f60ae803c992ca156cbc25fa80a5b9db.
Change-Id: Icf5b83d52cca35e6576850698c7aec15b6a42fe9
Adrian Szyndela [Wed, 5 Feb 2020 11:35:36 +0000 (12:35 +0100)]
Merge v234 into tizen
Change-Id: If676fe909a40eadc60ee5ff023abe4ee2c64b44e
Adrian Szyndela [Tue, 25 Feb 2020 15:51:26 +0000 (16:51 +0100)]
tests: correct test-bus-benchmark test name
Additionally, move the entry to the alphabetically correct position after
the name change.
Change-Id: I348bae84a948eb35cfcb9858465156c66b6f01eb
Adrian Szyndela [Tue, 25 Feb 2020 15:36:28 +0000 (16:36 +0100)]
Revert "sd-bus: don't assert() on valid signatures"
This reverts commit
ce8057d08863785b3d4b1b398ce848d42200a913.
This commit added excess 'append'. It caused assert in tests
due to not enough 'read's.
Change-Id: I27e1cb2acbe4a086fde15810ef132d1747ee8d81
Hyotaek Shim [Mon, 17 Feb 2020 04:54:18 +0000 (13:54 +0900)]
Increase the max number of INotify instances per real user ID
Change-Id: I49a2ed1881d03def82be5a83ae5b6eb0db01ce6c
Signed-off-by: Hyotaek Shim <hyotaek.shim@samsung.com>
INSUN PYO [Wed, 22 Jan 2020 02:21:43 +0000 (11:21 +0900)]
Exclude systemd-remount-fs.service
Change-Id: I653420164edb44a7a941f5c98887dc3ee6d4852e
Hyotaek Shim [Thu, 9 Jan 2020 09:23:18 +0000 (18:23 +0900)]
Apply priv_keygrab:r ACL rule to /dev/input
Change-Id: I8174ccd81aa3970a76a6f3680234dae77d920429
Signed-off-by: Hyotaek Shim <hyotaek.shim@samsung.com>
Zbigniew Jędrzejewski-Szmek [Wed, 21 Feb 2018 13:04:50 +0000 (14:04 +0100)]
missing_syscall: when adding syscall replacements, use different names (#8229)
In meson.build we check that functions are available using:
meson.get_compiler('c').has_function('foo')
which checks the following:
- if __stub_foo or __stub___foo are defined, return false
- if foo is declared (a pointer to the function can be taken), return true
- otherwise check for __builtin_memfd_create
_stub is documented by glibc as
It defines a symbol '__stub_FUNCTION' for each function
in the C library which is a stub, meaning it will fail
every time called, usually setting errno to ENOSYS.
So if __stub is defined, we know we don't want to use the glibc version, but
this doesn't tell us if the name itself is defined or not. If it _is_ defined,
and we define our replacement as an inline static function, we get an error:
In file included from ../src/basic/missing.h:1358:0,
from ../src/basic/util.h:47,
from ../src/basic/calendarspec.h:29,
from ../src/basic/calendarspec.c:34:
../src/basic/missing_syscall.h:65:19: error: static declaration of 'memfd_create' follows non-static declaration
static inline int memfd_create(const char *name, unsigned int flags) {
^~~~~~~~~~~~
.../usr/include/bits/mman-shared.h:46:5: note: previous declaration of 'memfd_create' was here
int memfd_create (const char *__name, unsigned int __flags) __THROW;
^~~~~~~~~~~~
To avoid this problem, call our inline functions different than glibc,
and use a #define to map the official name to our replacement.
Fixes #8099.
v2:
- use "missing_" as the prefix instead of "_"
v3:
- rebase and update for statx()
Unfortunately "statx" is also present in "struct statx", so the define
causes issues. Work around this by using a typedef.
I checked that systemd compiles with current glibc
(glibc-devel-2.26-24.fc27.x86_64) if HAVE_MEMFD_CREATE, HAVE_GETTID,
HAVE_PIVOT_ROOT, HAVE_SETNS, HAVE_RENAMEAT2, HAVE_KCMP, HAVE_KEYCTL,
HAVE_COPY_FILE_RANGE, HAVE_BPF, HAVE_STATX are forced to 0.
Setting HAVE_NAME_TO_HANDLE_AT to 0 causes an issue, but it's not because of
the define, but because of struct file_handle.
(backported from commit
5187dd2c403caf92d09f3491e41f1ceb3f10491f)
Change-Id: I46ed455f1d0a7c6eacd69b04f22deb756cc7590f
Matija Skala [Wed, 15 Mar 2017 12:21:10 +0000 (13:21 +0100)]
fix includes
linux/sockios.h is needed for the SIOCGSTAMPNS macro
xlocale.h is included indirectly in glibc and doesn't even exist in
other libcs
(cherry picked from commit
284d1cd0a12cad96a5ea61d1afb0dd677dbd147e)
Change-Id: I4c0c42b0a58fb79b165ac168a9ced6bca8e07152
Zbigniew Jędrzejewski-Szmek [Wed, 1 Feb 2017 00:55:33 +0000 (19:55 -0500)]
nss-util: silence warning about deprecated RES_USE_INET6
src/nss-resolve/nss-resolve.c: In function ‘_nss_resolve_gethostbyname_r’:
src/nss-resolve/nss-resolve.c:680:13: warning: RES_USE_INET6 is deprecated
NSS_GETHOSTBYNAME_FALLBACKS(resolve);
^~~~~~~~~~~~~~~~~~~~~~~~~
In glibc bz #19582, RES_USE_INET6 was deprecated. This might make sense for
clients, but they didn't take into account nss module implementations which
*must* continue to support the option. glibc internally defines
DEPRECATED_RES_USE_INET6 which can be used without emitting a warning, but
it's not exported publicly. Let's do the same, and just copy the definition
to our header.
(cherry picked from commit
6154d33de3f15bbd5d5df718103af9c37ba0a768)
Change-Id: Ib3c91b6752800385429c51a95572a3b2b1d31ad3
Mateusz Moscicki [Mon, 18 Nov 2019 13:39:07 +0000 (14:39 +0100)]
core: be stricter when handling PID files and MAINPID sd_notify() messages
Let's be more restrictive when validating PID files and MAINPID=
messages: don't accept PIDs that make no sense, and if the configuration
source is not trusted, don't accept out-of-cgroup PIDs. A configuratin
source is considered trusted when the PID file is owned by root, or the
message was received from root.
This should lock things down a bit, in case service authors write out
PID files from unprivileged code or use NotifyAccess=all with
unprivileged code. Note that doing so was always problematic, just now
it's a bit less problematic.
When we open the PID file we'll now use the CHASE_SAFE chase_symlinks()
logic, to ensure that we won't follow an unpriviled-owned symlink to a
privileged-owned file thinking this was a valid privileged PID file,
even though it really isn't.
Fixes: #6632
(cherry picked from commit
db256aab13d8a89d583ecd2bacf0aca87c66effc)
Resolves: #1663143
Change-Id: Id91df4fb9e46224a12dc6c260a1c3b8a9e4cc553
Mateusz Moscicki [Mon, 18 Nov 2019 12:23:52 +0000 (13:23 +0100)]
notify: add new --uid= command
The new --uid= switch allows selecting the UID from which the
notificaiton messages shall originate.
This is primarily useful for testing purposes, but might have other
uses.
(cherry picked from commit:
65c6b99094580afa186199d8091cd7536900526c)
Change-Id: I1531bb34818ef8daa3eb8a7c8e973ef9d4aa1ba1
Mateusz Moscicki [Mon, 18 Nov 2019 11:42:23 +0000 (12:42 +0100)]
sd-dameon: also sent ucred when our UID differs from EUID
Let's be explicit, and always send the messages from our UID and never
our EUID. Previously this behaviour was conditionalized only on whether
the PID was specified, which made this non-obvious.
(cherry picked from commit
9e1d021ee3f147486c5cfac69b3cbf6f4b36eb79)
Change-Id: I732ce2169e00f2f5fe8e7f7403d6f31dc66842a2