| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|\
| |
| | |
libudev: rescan devices when filter is updated
|
| | |
|
| |
| |
| |
| | |
Fixes #12776.
|
| | |
|
| |
| |
| |
| |
| | |
In the later commit, udev_list will be just a wrapper of hashmap or LIST.
So, allocating udev_list does not increase much cost.
|
| | |
|
| |
| |
| |
| | |
Might help with #11738.
|
| | |
|
| |
| |
| |
| | |
We only need to check for the kernel cmdline override our symlink is there.
|
|\ \
| | |
| | | |
logind: add SetBrightness() bus call as minimal API for setting "leds" and "backlight" kernel class device brightness
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Previously, logind's logind-session.h would define prototypes for
logind-session.c and logind-session-dbus.c. Split that out, so that
there's a separate logind-session-dbus.h for that. Similar for seats and
users as well as the manager itself.
This changes no code, just rearranges where protoypes are located.
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
The server side can do something similar, but better on its own, let's
hence rely on that.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Most of the operations one can do on sessions so far accepted an empty
session name as a shortcut for the caller's session. This is quite
useful traditionally, but much less useful than it used to be, since
most user code now (rightfully) runs in --user context, not in a
session.
With this change we tweak the logic a bit: we introduce the two special
session and seat names "self" and "auto". The former refers to the
session/seat the client is in, and is hence mostly equivalent to te
empty string "" as before. However, the latter refers to the
session/seat the client is in if that exists, with a fallback of the
user's display session if not. Clients can hence reference "auto"
instead of the empty string if they really don't want to think much
about sessions.
Why "self" btw? Previously, we'd already expose a special dbus object
with the path /org/freedesktop/login1/session/self (and similar for the
seat), matching what the empty string did for bus calls that took a
session name. With this scheme we reuse this identifier and introduce
"auto" in a similar way.
Of course this means real-life seats and sessions can never be named
"self" or "auto", but they aren't anyway: valid seat names have to start
with "seat" anyway, and sessions are generated server-side as either a
numeric value or "c" suffixed with a counter ID.
Fixes: #12399
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Interestingly, elect_display_compare() already ordered "user" sessions
before "greeter" sessions, though nothing other than "user" sessions
where ever considered anyway.
Fixes: #12399
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
leds/backlight devices associated with a seat
This augments the drm/input device management by adding a single method
call for setting the brightness of an "leds" or "backlight" kernel class
device.
This method call requires no privileges to call, but a caller can only
change the brightness on sessions that are currently active, and they
must own the session.
This does not do enumeration of such class devices, feature or range
probing, chnage notification; it doesn't help associating graphics or
input devices with their backlight or leds devices. For all that clients
should go directly to udev/sysfs. The SetBrightness() call is just for
executing the actual change operation, that is otherwise privileged.
Example line:
busctl call org.freedesktop.login1 /org/freedesktop/login1/session/self org.freedesktop.login1.Session SetBrightness ssu "backlight" "intel_backlight" 200
The parameter the SetBrightness() call takes are the kernel subsystem
(i.e. "leds" or "backlight"), the device name, and the brightness
value.
On some hw setting the brightness is slow, and implementation and write
access to the sysfs knobs exposes this slowness. Due to this we'll fork
off a writer process in the background so that logind doesn't have to
block. Moreover, write requestes are coalesced: when a write request is
enqueued while one is already being executed it is queued. When another
write reques is then enqueued the earlier one is replaced by the newer
one, so that only one queued write request per device remains at any
time. Method replies are sent as soon as the first write request that
happens after the request was received is completed.
It is recommended that bus clients turn off the "expect_reply" flag on
the dbus messages they send though, that relieves logind from sending
completion notification and is particularly a good idea if clients
implement reactive UI sliders that send a quick secession of write
requests.
Replaces: #12413
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | | |
These devices do not become user-accessible this way, but they are
logically assigned to a seat, which makes a lot of sense, since they are
human-facing output devices, and such should belong to one.
|
| | |
| | |
| | |
| | |
| | |
| | | |
The directive is `RuntimeMaxSec=`, not `MaxRuntimeSec=`.
Signed-off-by: Philip Withnall <withnall@endlessm.com>
|
| |/
|/|
| |
| | |
Signed-off-by: Philip Withnall <withnall@endlessm.com>
|
|\ \
| | |
| | |
| | |
| | | |
yuwata/network-ignore-ipv6-settings-when-sysctl-disable-ipv6
network: ignore ipv6 settings when sysctl disable ipv6
|
| | | |
|
| | |
| | |
| | |
| | | |
sysctl
|
| | | |
|
| | | |
|
|/ /
| |
| |
| | |
Fixes: #12763
|
|\ \
| | |
| | | |
network: assign new DHCP address before removing old lease address
|
| | |
| | |
| | |
| | | |
Closes #12676.
|
| | | |
|
| | |
| | |
| | |
| | | |
As the function called soon later anyway.
|
| | | |
|
| | | |
|
|/ /
| |
| |
| |
| |
| |
| | |
The WHAT string could be whatever for many filesystems. The common
example are network filesystems.
Addresses: https://bugzilla.redhat.com/show_bug.cgi?id=1708996
|
| | |
|
| | |
|
|\ \
| | |
| | | |
network: several cleanups for routing policy rule
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
When object A is stored in Manager::rules and B is in ::rules_foreign,
and compare function for the object cannot distinguish them,
then freeing A causes B to be removed from rules_foreign or vice versa.
Hopefully fixes #12731.
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | | |
Also, KeepConfiguration=dhcp drops static foreign addresses and routes.
|
| | |
| | |
| | |
| | |
| | | |
The option prevents to drop lease address on stop.
By setting this, we can safely restart networkd.
|
| | | |
|
|\ \ \
| | | |
| | | | |
Drop many root checks
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
When udevadm trigger is called, the list of devices to trigger is always
generated through enumeration, and devices can come and go, so we should not
treat -ENOENT as a failure. But other types of failure should be logged.
It seems they were logged until baa30fbc2c04b23209d0b8fb3c86cd15ef9ea81a.
Also, return the first error. (I'm not sure if there are other failure modes
which we want to ignore. If they are, they'll need to be whitelisted like
-ENOENT.).
|
| | | | |
|