chiark / gitweb /
Susant Sahani [Wed, 22 Nov 2017 07:23:22 +0000 (12:53 +0530)]
networkd: introduce vxcan netdev. (#7150)
Similar to the virtual ethernet driver veth, vxcan implements a
local CAN traffic tunnel between two virtual CAN network devices.
When creating a vxcan, two vxcan devices are created as pair
When one end receives the packet it appears on its pair and vice
versa. The vxcan can be used for cross namespace communication.
Zbigniew Jędrzejewski-Szmek [Mon, 20 Nov 2017 13:23:40 +0000 (14:23 +0100)]
meson: "upgrade" -Wimplicit-fallthrough to 5
5 means that only the explicit attribute introduced in previous commit
is accepted. We don't want the comments anymore.
Lennart Poettering [Fri, 17 Nov 2017 18:25:18 +0000 (19:25 +0100)]
cgroup: fix delegation on the unified hierarchy
Make sure to add the delegation mask to the mask of controllers we have
to enable on our own unit. Do not claim it was a members mask, as such
a logic would mean we'd collide with cgroupv2's "no processes on inner
nodes policy".
This change does the right thing: it means any controller enabled
through Controllers= will be made available to subcrgoups of our unit,
but the unit itself has to still enable it through
cgroup.subtree_control (which it can since that file is delegated too)
to be inherited further down.
Or to say this differently: we only should manipulate
cgroup.subtree_control ourselves for inner nodes (i.e. slices), and
for leaves we need to provide a way to enable controllers in the slices
above, but stay away from the cgroup's own cgroup.subtree_control —
which is what this patch ensures.
Fixes: #7355
Lennart Poettering [Fri, 17 Nov 2017 18:24:06 +0000 (19:24 +0100)]
cgroup: properly determine cgroups zombie processes belong to
When a process becomes a zombie its cgroup might be deleted. Let's add
some minimal code to detect cases like this, so that we can still
attribute this back to the original cgroup.
Shawn Landden [Sun, 19 Nov 2017 18:06:10 +0000 (10:06 -0800)]
tree-wide: adjust fall through comments so that gcc is happy
Distcc removes comments, making the comment silencing
not work.
I know there was a decision against a macro in commit
ec251fe7d5bc24b5d38b0853bc5969f3a0ba06e2
Lennart Poettering [Tue, 14 Nov 2017 22:21:43 +0000 (23:21 +0100)]
signal-util: use a slightly less likely to conflict variable name instead of 't'
Zbigniew Jędrzejewski-Szmek [Mon, 20 Nov 2017 11:14:47 +0000 (12:14 +0100)]
meson: add -Wimplicit-fallthrough=3 to compilation options (#7393)
At some point before gcc-7 was released, -Wimplicit-fallthrough=3 was included
in -Wextra. The documentation for gcc-7.2.1-2.fc27.x86_64 still says that, but
empirical testing shows that it's not. The documentation also misstates that
-Wimplicit-fallthrough is equivalent to -Wimplicit-fallthrough=3.
Let's add -Wimplicit-fallthrough=3 explicitly to get the warnings if we regress.
Prompted by #7389.
Zbigniew Jędrzejewski-Szmek [Mon, 20 Nov 2017 11:14:47 +0000 (12:14 +0100)]
meson: add -Wimplicit-fallthrough=3 to compilation options (#7393)
At some point before gcc-7 was released, -Wimplicit-fallthrough=3 was included
in -Wextra. The documentation for gcc-7.2.1-2.fc27.x86_64 still says that, but
empirical testing shows that it's not. The documentation also misstates that
-Wimplicit-fallthrough is equivalent to -Wimplicit-fallthrough=3.
Let's add -Wimplicit-fallthrough=3 explicitly to get the warnings if we regress.
Prompted by #7389.
Zbigniew Jędrzejewski-Szmek [Mon, 20 Nov 2017 07:08:43 +0000 (08:08 +0100)]
meson: bump required meson version to 0.41 (#7385)
We need data_dirs argument for i18n.merge_file, added in
0.40.1-11-g82492f5d76.
Zbigniew Jędrzejewski-Szmek [Sat, 18 Nov 2017 16:52:56 +0000 (17:52 +0100)]
Add missing headers and SPDX identifiers to man pages
Zbigniew Jędrzejewski-Szmek [Fri, 17 Nov 2017 12:22:13 +0000 (13:22 +0100)]
meson: use absolute path for rpmmacrosdir
This only matter for the status display at the end of configure step.
Now it looks like:
RPM macros dir: /usr/lib/rpm/macros.d
Zbigniew Jędrzejewski-Szmek [Fri, 17 Nov 2017 12:07:46 +0000 (13:07 +0100)]
meson: drop rootprefix option
rootprefixdir is now always set to /usr or /, based on the split-usr setting.
Anything else does not work anyway.
C.f. #7375.
Lennart Poettering [Fri, 27 Oct 2017 09:15:20 +0000 (11:15 +0200)]
proc-cmdline: minor runlevel_to_target() coding style fixes
Let's not mix function calls and variable declarations, as well as
assignments and comparison in one expression.
Lennart Poettering [Fri, 27 Oct 2017 09:14:27 +0000 (11:14 +0200)]
hexdcoct: dump to stdout if FILE* is specified as NULL
We do a logic like that at various other places, let's do it here too,
to make this as little surprising as possible.
Lennart Poettering [Fri, 27 Oct 2017 09:06:19 +0000 (11:06 +0200)]
hexdecoct: slightly extend the unbase64mem() API and related
If the string length is specified as (size_t) -1, let's use that as
indicator for determining the length on our own. This makes it
slightlier shorter to invoke these APIs for a very common case.
Also, do some minor other coding style updates, and add assert()s here
and there.
Lennart Poettering [Thu, 2 Nov 2017 18:43:32 +0000 (21:43 +0300)]
core: implement /run/elogind/units/-based path for passing unit info from PID 1 to journald
And let's make use of it to implement two new unit settings with it:
1. LogLevelMax= is a new per-unit setting that may be used to configure
log priority filtering: set it to LogLevelMax=notice and only
messages of level "notice" and lower (i.e. more important) will be
processed, all others are dropped.
2. LogExtraFields= is a new per-unit setting for configuring per-unit
journal fields, that are implicitly included in every log record
generated by the unit's processes. It takes field/value pairs in the
form of FOO=BAR.
Also, related to this, one exisiting unit setting is ported to this new
facility:
3. The invocation ID is now pulled from /run/elogind/units/ instead of
cgroupfs xattrs. This substantially relaxes requirements of elogind
on the kernel version and the privileges it runs with (specifically,
cgroupfs xattrs are not available in containers, since they are
stored in kernel memory, and hence are unsafe to permit to lesser
privileged code).
/run/elogind/units/ is a new directory, which contains a number of files
and symlinks encoding the above information. PID 1 creates and manages
these files, and journald reads them from there.
Note that this is supposed to be a direct path between PID 1 and the
journal only, due to the special runtime environment the journal runs
in. Normally, today we shouldn't introduce new interfaces that (mis-)use
a file system as IPC framework, and instead just an IPC system, but this
is very hard to do between the journal and PID 1, as long as the IPC
system is a subject PID 1 manages, and itself a client to the journal.
This patch cleans up a couple of types used in journal code:
specifically we switch to size_t for a couple of memory-sizing values,
as size_t is the right choice for everything that is memory.
Fixes: #4089
Fixes: #3041
Fixes: #4441
Zbigniew Jędrzejewski-Szmek [Wed, 15 Nov 2017 09:19:45 +0000 (10:19 +0100)]
core: fix message about detected memory hierarchy
Just the error check and message were wrong, otherwise the logic was OK.
Zbigniew Jędrzejewski-Szmek [Tue, 14 Nov 2017 20:29:40 +0000 (21:29 +0100)]
Use plural DelegateControllers= consistently
Alan Jenkins [Fri, 15 Sep 2017 16:35:02 +0000 (17:35 +0100)]
logind: fix SetLinger to authorize by client's effective User ID
SetLinger is authorized by the PolicyKit action "set-self-linger", if it is
not passed an explicit UID.
According to comments we were determining the default UID from the client's
session. However, user processes e.g. which are run from a terminal
emulator do not necessarily belong to a session scope unit. They may
equally be started from the elogind user manager [1][2]. Actually the
comment was wrong, and it would also have worked for processes
started from the elogind user manager.
Nevertheless it seems to involve fetching "augmented credentials" i.e.
it's using a racy method, so we shouldn't have been authenticating based
on it.
We could change the default UID, but that raises issues especially for
consistency between the methods. Instead we can just use the clients
effective UID for authorization.
This commit also fixes `loginctl enable-linger $USER` to match the docs
that say it was equivalent to `loginctl enable-linger` (given that $USER
matches the callers user and owner_uid). Previously, the former would not
have suceeded for unpriviliged users in the default configuration.
[1] It seems the main meaning of per-session scopes is tracking the PAM
login process. Killing that provokes logind to revoke device access. Less
circularly, killing it provokes getty to hangup the TTY.
[2] User units may be started with an environment which includes
XDG_SESSION_ID (presuambly GNOME does this?). Or not.
Alan Jenkins [Mon, 18 Sep 2017 17:04:59 +0000 (18:04 +0100)]
loginctl: enable-linger does not need fallback to XDG_SESSION_ID
To maintain consistency with `loginctl user-status`, drop the fallback to
XDG_SESSION_ID for `loginctl enable-linger`. The fallback was unnecessary
and also incorrect: it passed the numeric value of the session identifier
as a UID value.
Alan Jenkins [Sat, 14 Oct 2017 08:25:56 +0000 (09:25 +0100)]
logind: "self" objects which do not apply - return specific error messages
It's confusing that the bus API has aliases like "session/self" that return
an error based on ENXIO, when it also has methods that return e.g.
NO_SESSION_FOR_PID for the same problem. The latter kind of error includes
more specifically helpful messages.
"user/self" is the odd one out; it returns a generic UnknownObject error
when it is not applicable to the caller. It's not clear whether this was
intentional, but at first I thought it was more correct. More
specifically, user_object_find() was returning 0 for "user/self", in the
same situations (more or less) where user_node_enumerator() was omitting
"user/self". I thought that was a good idea, because returning e.g. -ENXIO instead
suggested that there _is_ something specific on that path. And it could be
confused with errors of the method being called.
Therefore I suggested changing the enumerator, always admitting that there
is a handler for the path "foo/self", but returning a specific error when
queried. However this interacts poorly with tools like D-Feet or `busctl`.
In either tool, looking at logind would show an error message, and then go
on to omit "user/self" in the normal listing. These tools are very useful,
so we don't want to interfere with them.
I think we can change the error codes without causing problems. The self
objects were not listed in the documentation. They have been suggested to
other projects - but without reference to error reporting. "seat/self" is
used by various Wayland compositors for VT switching, but they don't appear
to reference specific errors.
We _could_ insist on the link between enumeration and UnknownObject, and
standardize on that as the error for the aliases. But I'm not aware of any
practical complaints, that we returned an error from an object that didn't
exist.
Instead, let's unify the codepaths for "user/self" vs GetUserByPid(0) etc.
We will return the most helpful error message we can think of, if the
object does not exist. E.g. for "session/self", we might return an error
that the caller does not belong to a session. If one of the compositors is
ever simplified to use "session/self" in initialization, users would be
able to trigger such errors (e.g. run `gnome-shell` inside gnome-terminal).
The message text will most likely be logged. The user might not know what
the "session" is, but at least we'll be pointing towards the right
questions. I think it should also be clearer for development / debugging.
Unifying the code paths is also slightly helpful for auditing / marking
calls to sd_bus_creds_get_session() in subsequent commits.
Topi Miettinen [Mon, 13 Nov 2017 21:00:03 +0000 (21:00 +0000)]
basic: remove redundant check (#7320)
The check is redundant as the whole block is only evaluated if
__IGNORE_pkey_mprotect is not defined. Change to #else.
Lennart Poettering [Thu, 9 Nov 2017 14:29:34 +0000 (15:29 +0100)]
core: rework the Delegate= unit file setting to take a list of controller names
Previously it was not possible to select which controllers to enable for
a unit where Delegate=yes was set, as all controllers were enabled. With
this change, this is made configurable, and thus delegation units can
pick specifically what they want to manage themselves, and what they
don't care about.
Lennart Poettering [Wed, 8 Nov 2017 20:38:51 +0000 (21:38 +0100)]
conf-parser: simplify things a bit by using strextend()
Lennart Poettering [Wed, 8 Nov 2017 18:16:03 +0000 (19:16 +0100)]
cgroup: make use of unit_get_subtree_mask() where appropriate
subtree_mask is own_mask | members_mask, let's make use of that to
shorten a few things
Lennart Poettering [Wed, 8 Nov 2017 17:39:28 +0000 (18:39 +0100)]
cgroup-util: add brief comments clarifying which controllers are v2-only and which v1-only
Zbigniew Jędrzejewski-Szmek [Mon, 13 Nov 2017 08:27:53 +0000 (09:27 +0100)]
basic/missing: add numbers for pkey_mprotect
Follow-up for
b835eeb4ec1dd122b6feff2b70881265c529fcdd.
Lennart Poettering [Fri, 10 Nov 2017 20:41:53 +0000 (21:41 +0100)]
string-util: when ellipsizing to a length if (size_t) -1, become a NOP
Let's say that (size_t) -1 (i.e. SIZE_T_MAX) is equivalent to
"unbounded" ellipsation, i.e. ellipsation as NOP. In which case the
relevant functions become little more than strdup()/strndup().
This is useful to simplify caller code in case we want to turn off
ellipsation in certain code paths with minimal caller-side handling for
this.
Lennart Poettering [Fri, 10 Nov 2017 20:10:17 +0000 (21:10 +0100)]
pager: cache not only number of columns but also of lines before we open pager
Not that we need it, but let's do this as matter of completeness.
Lennart Poettering [Wed, 25 Oct 2017 18:46:01 +0000 (20:46 +0200)]
core: track why unit dependencies came to be
This replaces the dependencies Set* objects by Hashmap* objects, where
the key is the depending Unit, and the value is a bitmask encoding why
the specific dependency was created.
The bitmask contains a number of different, defined bits, that indicate
why dependencies exist, for example whether they are created due to
explicitly configured deps in files, by udev rules or implicitly.
Note that memory usage is not increased by this change, even though we
store more information, as we manage to encode the bit mask inside the
value pointer each Hashmap entry contains.
Why this all? When we know how a dependency came to be, we can update
dependencies correctly when a configuration source changes but others
are left unaltered. Specifically:
1. We can fix UDEV_WANTS dependency generation: so far we kept adding
dependencies configured that way, but if a device lost such a
dependency we couldn't them again as there was no scheme for removing
of dependencies in place.
2. We can implement "pin-pointed" reload of unit files. If we know what
dependencies were created as result of configuration in a unit file,
then we know what to flush out when we want to reload it.
3. It's useful for debugging: "elogind-analyze dump" now shows
this information, helping substantially with understanding how
elogind's dependency tree came to be the way it came to be.
Lennart Poettering [Tue, 24 Oct 2017 10:18:27 +0000 (12:18 +0200)]
virt: trivial whitespace fixes
Zbigniew Jędrzejewski-Szmek [Fri, 10 Nov 2017 14:44:58 +0000 (15:44 +0100)]
basic/hashmap: add cleanup of memory pools (#7164)
It was dropped in
89439d4fc0d29f04ac68432fd06ab84bc4e36e20. As a result, every
process that uses a hashmap allocates and then leaks the hashmap mempools.
The mempools are only allocated in the main thread, but we don't know where
the memory is used.
So let's check if we are the last thread and free the mempools then. This is
fairly heavy, because /proc/self/status has to be opened and parsed, but we do
it only when compiled for valgrind, i.e. not by default, and compared to running
under valgrind or asan, the extra cost is acceptable. The big advantage is that
we don't have to think or filter out this false positive.
As a micro-opt, cleanup is attempted only in the main thread. We could allow
any thread to check if it is the last one and perform cleanup, but that'd mean
that we'd have to _do_ the check in every thread. We don't use threads like
that, our non-main threads are always short-lived, so let's just accept the
possibility that we'll leak memory if a thread survives. The check is also
non-atomic, but it's called in a destructor of the main thread _and_ we do
cleanup only when there are no other threads, so the risk of some library
suddenly spawning another thread is very low. All in all, this is not perfect,
but should work in 999‰ of cases.
Fixes the following valgrind warning:
==22564== HEAP SUMMARY:
==22564== in use at exit: 8,192 bytes in 2 blocks
==22564== total heap usage: 243 allocs, 241 frees, 151,905 bytes allocated
==22564==
==22564== 4,096 bytes in 1 blocks are still reachable in loss record 1 of 2
==22564== at 0x4C2FB6B: malloc (vg_replace_malloc.c:299)
==22564== by 0x4F08A8C: mempool_alloc_tile (mempool.c:62)
==22564== by 0x4F08B16: mempool_alloc0_tile (mempool.c:81)
==22564== by 0x4EF8DE0: hashmap_base_new (hashmap.c:748)
==22564== by 0x4EF8ED9: internal_hashmap_new (hashmap.c:782)
==22564== by 0x11045D: test_hashmap_copy (test-hashmap-plain.c:87)
==22564== by 0x115722: test_hashmap_funcs (test-hashmap-plain.c:914)
==22564== by 0x10FC9D: main (test-hashmap.c:60)
==22564==
==22564== 4,096 bytes in 1 blocks are still reachable in loss record 2 of 2
==22564== at 0x4C2FB6B: malloc (vg_replace_malloc.c:299)
==22564== by 0x4F08A8C: mempool_alloc_tile (mempool.c:62)
==22564== by 0x4F08B16: mempool_alloc0_tile (mempool.c:81)
==22564== by 0x4EF8DE0: hashmap_base_new (hashmap.c:748)
==22564== by 0x4EF8EF8: internal_ordered_hashmap_new (hashmap.c:786)
==22564== by 0x10A2A0: test_ordered_hashmap_copy (test-hashmap-ordered.c:89)
==22564== by 0x10F70F: test_ordered_hashmap_funcs (test-hashmap-ordered.c:916)
==22564== by 0x10FCA2: main (test-hashmap.c:61)
==22564==
==22564== LEAK SUMMARY:
==22564== definitely lost: 0 bytes in 0 blocks
==22564== indirectly lost: 0 bytes in 0 blocks
==22564== possibly lost: 0 bytes in 0 blocks
==22564== still reachable: 8,192 bytes in 2 blocks
==22564== suppressed: 0 bytes in 0 blocks
v2:
- check if we are the main thread
v3:
- check if there are no other threads
tblume [Fri, 10 Nov 2017 09:31:44 +0000 (10:31 +0100)]
elogind-firstboot: add vconsole keymap support (#7035)
Enable elogind-firstboot to set the keymap.
RFE:
https://github.com/elogind/elogind/issues/6346
Yu Watanabe [Thu, 9 Nov 2017 09:38:02 +0000 (18:38 +0900)]
tree-wide: do not work in assert()
Follow-up for
85e55d14dea66f5fe412ca8128487d5ea828b7b1.
Tom Stellard [Tue, 31 Oct 2017 15:46:24 +0000 (08:46 -0700)]
udev-rules: Permission changes for /dev/dri/renderD*
- Remove the uaccess tag from /dev/dri/renderD*.
- Change the owning group from video to render.
- Change default mode to 0666.
- Add an option to allow users to set the access mode for these devices at
compile time.
Tom Stellard [Tue, 31 Oct 2017 15:41:53 +0000 (08:41 -0700)]
udev-rules: Permission changes for /dev/kvm
- Remove uaccess tag from /dev/kvm.
- Change the default mode for /dev/kvm to 0666.
Yu Watanabe [Tue, 7 Nov 2017 13:04:20 +0000 (22:04 +0900)]
tree-wide: do not work in assert() (#7271)
Fixes #7270.
Zbigniew Jędrzejewski-Szmek [Wed, 1 Nov 2017 22:06:27 +0000 (23:06 +0100)]
test-util: silence clang warning about unaligned access
Zbigniew Jędrzejewski-Szmek [Wed, 1 Nov 2017 22:01:24 +0000 (23:01 +0100)]
util-lib: mark variable with _unused_ to silence clang warning
_unused_ means "the variable is meant to be possible unused and gcc
will not generate a warning about it", which is exactly what we need here,
since we're only declaring it for the side effect of _cleanup_.
Zbigniew Jędrzejewski-Szmek [Wed, 1 Nov 2017 21:32:22 +0000 (22:32 +0100)]
Remove a bunch of unused variables
gcc does not warn about those, because of the _cleanup_ usage.
clang is smarter here.
Yu Watanabe [Tue, 31 Oct 2017 08:12:13 +0000 (17:12 +0900)]
meson: do not include man/meson.build if xsltproc not found
Fixes #7232.
Lennart Poettering [Wed, 4 Oct 2017 15:34:03 +0000 (17:34 +0200)]
fs-util: small tweak in chase_symlinks()
If we follow an absolute symlink there's no need to prefix the path with
a "/", since by definition it already has one.
This helps suppressing double "/" in resolved paths containing absolute
symlinks.
Razvan Cojocaru [Thu, 26 Oct 2017 14:59:04 +0000 (17:59 +0300)]
elogind-detect-virt: refine hypervisor detection (#7171)
Continue to try to get more details about the actual underlying
hypervisor with successive tests until none are available.
This fixes issue #7165.
martingh [Thu, 26 Oct 2017 08:54:30 +0000 (10:54 +0200)]
Adding timer_event to wakeup as suggested by MHD_get_timeout (#7152)
Michael Biebl [Sat, 21 Oct 2017 06:32:50 +0000 (08:32 +0200)]
modprobe.d: fix directory of modprobe configuration file (#7149)
kmod upstream uses /lib/modprobe.d which means we need to use rootprefix
instead of prefix for installing the modprobe configuration file as
otherwise split-usr systems are broken.
See https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=879191
Zbigniew Jędrzejewski-Szmek [Sat, 14 Oct 2017 10:43:06 +0000 (12:43 +0200)]
logind: allow two very close error messages to be distinguished
In https://bugzilla.redhat.com/show_bug.cgi?id=
1486859 error messages appera:
Sep 06 19:09:07 ld92.e.math.uh.edu audit[21482]: AVC avc: denied { read } for pid=21482 comm="elogind-logind" name="dbus-1" dev="tmpfs" ino=
5548194 scontext=system_u:system_r:elogind_logind_t:s0 tcontext=unconfined_u:object_r:session_dbusd_tmp_t:s0 tclass=dir permissive=0
Sep 06 19:09:07 ld92.e.math.uh.edu elogind-logind[21482]: Failed to remove runtime directory /run/user/8664: Permission denied
But it's not clear which of the two rm_rf's is the source. Let's make
them different.
Zbigniew Jędrzejewski-Szmek [Sun, 15 Oct 2017 21:00:54 +0000 (23:00 +0200)]
util-lib: simplify kexec_loaded()
Zbigniew Jędrzejewski-Szmek [Sun, 15 Oct 2017 17:47:16 +0000 (19:47 +0200)]
meson: drop unneeded check for grep
Mantas Mikulėnas [Mon, 16 Oct 2017 15:17:47 +0000 (18:17 +0300)]
modprobe.d: expand drop-in to handle dummy0 as well (#7099)
Lubomir Rintel [Wed, 11 Oct 2017 13:05:38 +0000 (15:05 +0200)]
basic/env-util: don't relax unesaping of serialized environment strings
We wrote them ourselves -- they shouldn't contain invalid sequences.
Lubomir Rintel [Wed, 11 Oct 2017 07:29:30 +0000 (09:29 +0200)]
basic/env-util: drop the validation when deserializing environment
The environment variables we've serialized can quite possibly contain
characters outside the set allowed by env_assignment_is_valid(). In
fact, my environment seems to contain a couple of these:
* TERMCAP set by screen contains a '\x7f' character
* BASH_FUNC_module%% variable has a '%' character in name
Strict check of environment variables name and value certainly makes sense for
unit files, but not so much for deserialization of values we already had
in our environment.
Sven Eden [Fri, 9 Mar 2018 17:41:25 +0000 (18:41 +0100)]
pwx tools: Make location agnostic.
Sven Eden [Fri, 9 Mar 2018 06:57:50 +0000 (07:57 +0100)]
Version 235.3 Release
Sven Eden [Fri, 9 Mar 2018 06:53:40 +0000 (07:53 +0100)]
check_tree.pl: Added handling of xml files.
Sven Eden [Fri, 9 Mar 2018 06:32:56 +0000 (07:32 +0100)]
check_tree.pl : Add handling of .gperf files.
Sven Eden [Fri, 9 Mar 2018 06:22:12 +0000 (07:22 +0100)]
check_tree.pl: Do not search 'po' directory. Better resurrect (aka rewrite) 'update_po.sh'
Sven Eden [Thu, 8 Mar 2018 07:18:48 +0000 (08:18 +0100)]
check_tree.pl: Do not allow commented out includes to be moved under our elogind block.
Sven Eden [Wed, 7 Mar 2018 17:08:37 +0000 (18:08 +0100)]
check_tree.pl: Handle renames elogind<=>systemd-logind correctly.
Sven Eden [Wed, 7 Mar 2018 16:51:03 +0000 (17:51 +0100)]
Add migration tools for safe keeping.
Sven Eden [Wed, 7 Mar 2018 16:39:55 +0000 (17:39 +0100)]
systemdstatedir is not used anywhere and leads to an empty directory being created upon install. -> removed.
Sven Eden [Wed, 7 Mar 2018 16:35:44 +0000 (17:35 +0100)]
Some minor cleanups
Sven Eden [Tue, 6 Mar 2018 07:34:00 +0000 (08:34 +0100)]
tools/check-includes.pl : Prepared for check-tree.pl handling.
Sven Eden [Tue, 6 Mar 2018 07:19:58 +0000 (08:19 +0100)]
Meson build system: Add missing '#' in masked blocks
Sven Eden [Fri, 2 Feb 2018 06:15:23 +0000 (07:15 +0100)]
tools/check-includes.pl : Fixed errors. The constant long list of errors in Eclipse Epic drove me nuts. ;-)
Bjorn Pagen [Thu, 22 Feb 2018 22:05:31 +0000 (17:05 -0500)]
Fix build on musl
Before this fix, elogind did not compile on musl, as the header "musl-missing.h" tries to include a nonexistant header: "config.h". This patch fixes that. Musl compiles with no issues once this patch is administered.
Arthur Taylor [Tue, 13 Feb 2018 19:51:19 +0000 (11:51 -0800)]
uaccess-command: [trivial] Differentiate apply vs reset error log messages.
Also change systemd to logind in a comment.
Arthur Taylor [Thu, 8 Feb 2018 23:03:50 +0000 (15:03 -0800)]
Introduce elogind-uaccess-command to replace uaccess builtin.
The uaccess udev builtin command is only used by logind and contains
functionality only implemented in logind. As such, while we cannot
write udev-builtin commands in elogind (not being udev), we can write
standalone binaries and rewrite our udev rules to use them instead.
This fixes the feature of granting users access to devices using a user
ACL which is toggled only when the user is associated with an active
session. Currently this functionality is half broken, as while the ACL
is granted and revoked while VT-switching, it is not granted to new
devices as they are plugged in. This issue is fixed by this commit.
Andreas Messer [Sat, 27 Jan 2018 18:34:24 +0000 (19:34 +0100)]
Close stdin, stdout and stderr on daemonizing
Sven Eden [Thu, 25 Jan 2018 06:52:49 +0000 (07:52 +0100)]
test/test-hexdecoct.c: Add include for musl_missin.h for strndupa().
shared/musl_missing.h: Rewrite strndupa() define to use x_ prefixed
variables, so they won't shadow surronding
variables of the same name.
Sven Eden [Thu, 25 Jan 2018 06:40:28 +0000 (07:40 +0100)]
test/test-parse-util.c: Masked the test of strtod() with set german
locale to be only used with __GLIBC__.
It seems that the strtod() function in stdlib.h from musl_libc does
not heed the set locale. It fails with a german floating point
number.
maxice8 [Tue, 16 Jan 2018 11:08:15 +0000 (09:08 -0200)]
test/test-sizeof.c: disable tests for missing typedefs in musl
maxice8 [Tue, 16 Jan 2018 10:29:32 +0000 (08:29 -0200)]
work-around usage of glibc-specific __register_atfork for musl systems
__register_atfork is glibc-specific but is roughly equivalent to
pthread_atfork, add a definition of it on musl_missing.h and guard
against the definition of __register_atfork on src/basic/process-util.c
using #ifdef __GLIBC__
maxice8 [Tue, 16 Jan 2018 10:25:32 +0000 (08:25 -0200)]
shared/musl_missing.h: replace ifdef with if on HAVE_[__]SECURE_GETENV
now meson defines itself on config.h HAVE_[__]SECURE_GETENV, instead of
checking if it is defined, check if it set to false value.
also undefine before redefining it to true.
maxice8 [Tue, 16 Jan 2018 10:23:17 +0000 (08:23 -0200)]
shared/musl_missing.h: replace ifdef HAVE_UTMP with if ENABLE_UTMP
now meson defines if the feature is enabled or not, check if the
feature is enabled
Sven Eden [Thu, 18 Jan 2018 22:01:12 +0000 (23:01 +0100)]
Prep v235.3 : Fix cgroup hierarchy detection code
There is no sub-grouping with elogind, so /sys/fs/cgroup/elogind is
not needed to be mounted as cgroup fs in legacy mode.
Fixes Bug https://bugs.gentoo.org/644834
Sven Eden [Mon, 15 Jan 2018 19:34:18 +0000 (20:34 +0100)]
Version 235.2 Release
Sven Eden [Mon, 15 Jan 2018 19:20:52 +0000 (20:20 +0100)]
If elogind is just started, /sys/fs/cgroup/elogind might not exist, yet on legacy and hybrid systems.
Sven Eden [Sun, 14 Jan 2018 17:09:55 +0000 (18:09 +0100)]
Version 235.1 Release
Sven Eden [Sun, 14 Jan 2018 17:07:25 +0000 (18:07 +0100)]
Prep 235: Don't allow multiple jobs being executed at the same time
Sven Eden [Thu, 11 Jan 2018 07:12:13 +0000 (08:12 +0100)]
Prep 235: Removed orphaned header
Sven Eden [Wed, 10 Jan 2018 17:06:23 +0000 (18:06 +0100)]
Prep 235: Make cgroups2 available, hybrid mode already works.
Sven Eden [Tue, 9 Jan 2018 17:59:35 +0000 (18:59 +0100)]
Prep 235: Make elogind masks in sd-bus.h c90 compatible again.
Sven Eden [Tue, 9 Jan 2018 17:57:22 +0000 (18:57 +0100)]
Prep 235: Enabled sd_peer_get_session() and sd_peer_get_owner_uid() to try to work with eloginds session id to user mapping.
Sven Eden [Tue, 9 Jan 2018 17:52:14 +0000 (18:52 +0100)]
Prep 235: Enabled sd_bus_creds_get_slice(), sd_bus_creds_get_user_slice(), sd_peer_get_user_slice() and sd_pid_get_user_slice() to try to work with eloginds session id to user mapping.
Sven Eden [Tue, 9 Jan 2018 17:35:22 +0000 (18:35 +0100)]
Prep 235: Enabled sd_peer_get_slice() and sd_pid_get_slice() to at least try to work. This is considered experimental.
Sven Eden [Tue, 9 Jan 2018 08:13:45 +0000 (09:13 +0100)]
Prep 235: Although systemd slices are unsupported, make cg_path_get_slice() available, but in 'elogind jargon'
Sven Eden [Tue, 9 Jan 2018 07:46:25 +0000 (08:46 +0100)]
src/systemd/meson.build: Fix add_install_script() call
Sven Eden [Mon, 8 Jan 2018 17:42:40 +0000 (18:42 +0100)]
Remove coccinelle files that slithered back in.
Sven Eden [Mon, 8 Jan 2018 07:37:08 +0000 (08:37 +0100)]
Dev: Add loginctl target to Code::Blocks project file
Sven Eden [Mon, 8 Jan 2018 07:36:28 +0000 (08:36 +0100)]
Prep 235: Add loginctl target to Makefile
Sven Eden [Fri, 15 Dec 2017 05:01:07 +0000 (06:01 +0100)]
Forgot to symlink _sdcommon.h
Sven Eden [Wed, 13 Dec 2017 18:21:30 +0000 (19:21 +0100)]
Prep 235: Implement an alternative approach for sd_pid_get_owner_uid(), making test-login to no longer fail.
Sven Eden [Wed, 13 Dec 2017 07:54:48 +0000 (08:54 +0100)]
Add test-login target for Code::Blocks for easier debugging.
Sven Eden [Wed, 13 Dec 2017 07:50:52 +0000 (08:50 +0100)]
sd-bus.h, sd-daemon.h : MAke elogind masks ISO C90 compatible.
Sven Eden [Tue, 12 Dec 2017 17:35:44 +0000 (18:35 +0100)]
basic/siphash24.c: Only disable -Wimplicit-fallthrough on gcc-7+
Sven Eden [Tue, 12 Dec 2017 17:32:40 +0000 (18:32 +0100)]
Update README - Attempt to reduce the chance of becoming flame-bait.
Sven Eden [Tue, 12 Dec 2017 17:21:24 +0000 (18:21 +0100)]
Prep v234.4: ake all supportable API functions visible
(v234 addition).
Sven Eden [Tue, 12 Dec 2017 17:18:28 +0000 (18:18 +0100)]
Prep v237.3: Make all supportable API functions visible
(v233 addition).
Sven Eden [Tue, 12 Dec 2017 17:06:57 +0000 (18:06 +0100)]
Prep v232.6: Make all supportable API functions visible
(v232 addition).
Sven Eden [Tue, 12 Dec 2017 17:02:58 +0000 (18:02 +0100)]
time-util: Disable explicit fallthrough wanring on gcc-7+