Commit Graph
17797 Commits
Author SHA1 Message Date
Zbigniew Jędrzejewski-Szmek d718d20225 resolved: drop unnecessary comparison (#6220)
mtu is always greater than UDP_PACKET_HEADER_SIZE at this point.
Pointed out by Benjamin Robin.
2017-06-28 18:24:37 +02:00
Lennart Poettering 980cb558dc Merge pull request #6214 from keszybz/resolved-packet-size
Resolved packet size
2017-06-28 09:10:56 +02:00
Zbigniew Jędrzejewski-Szmek f62c9e50ba Merge pull request #6099 from hramrach/master
Enable mapping button events on keyboard.
2017-06-27 19:07:23 -04:00
Lennart Poettering eca2995c51 Merge pull request #6210 from poettering/input-mask
logind: make use of EVIOCSMASK input ioctl to mask out events we aren…
2017-06-27 23:24:21 +02:00
Zbigniew Jędrzejewski-Szmek 64a21fdaca resolved: define various packet sizes as unsigned
This seems like the right thing to do, and apparently at least some compilers
warn about signed/unsigned comparisons with DNS_PACKET_SIZE_MAX.
2017-06-27 17:02:35 -04:00
Zbigniew Jędrzejewski-Szmek 8879553872 resolved: do not allocate packets with minimum size
dns_packet_new() is sometimes called with mtu == 0, and in that case we should
allocate more than the absolute minimum (which is the dns packet header size),
otherwise we have to resize immediately again after appending the first data to
the packet.

This partially reverts the previous commit.
2017-06-27 17:01:24 -04:00
Lennart Poettering a1961a983f Merge pull request #5930 from larskarlitski/journal-skip
journal: return 0 from _skip() when skip is 0
2017-06-27 22:10:38 +02:00
Kai Krakow 496ae8c84b resolved: Recover from slow DNS responses
When DNS is unreliable temporarily, the current implementation will
never improve resend behavior again and switch DNS servers only late
(current maximum timeout is 5 seconds).

We can improve this by biasing the resend_timeout back to the current
RTT when a successful response was received. Next time, a timeout is hit
on this server, it will switch to the next server faster.

Fixes: #5953
2017-06-27 22:04:16 +02:00
Lennart Poettering 9af868392b Merge pull request #5976 from fbuihuu/swap-fix
Swap fix
2017-06-27 20:28:56 +02:00
Lennart Poettering 5b987a4e3e logind: relax udev rules matching devices logind watches for
Now that we have support for key/switch masking in logind, we can relax
the rules by which logind picks the devices to watch a bit, after all we
won't wake up anymore for every single event, but instead only the
events we actually care about.

This should make power/suspend keys on normal usb/atkbd keyboards just
work.
2017-06-27 19:25:46 +02:00
Lennart Poettering 2546b70a5e logind: filter out input devices that have none of the keys/switche we care about
Let's check what keys are there, before we actually hang on to the
opened devices.
2017-06-27 19:25:46 +02:00
Lennart Poettering d5dd44b01c logind: make use of EVIOCSMASK input ioctl to mask out events we aren't interested in
This way logind will get woken up only when an actual event took place,
and not for every key press on the system.

The ioctl EVIOCSMASK was added by @dvdhrm already in October 2015, for
the use in logind, among others, hence let's actually make use of it
now.

While we are at it, also fix usage of the EVIOCGSW ioctl, where we
assumed a byte array, even though a unsigned long native endian array is
returned.
2017-06-27 19:25:46 +02:00
Zbigniew Jędrzejewski-Szmek db848813ba resolved: simplify alloc size calculation
The allocation size was calculated in a complicated way, and for values
close to the page size we would actually allocate less than requested.

Reported by Chris Coulson <chris.coulson@canonical.com>.

CVE-2017-9445
2017-06-27 13:19:52 -04:00
Zbigniew Jędrzejewski-Szmek 751ca3f1de test-resolved-packet: add a simple test for our allocation functions 2017-06-27 13:19:31 -04:00
Zbigniew Jędrzejewski-Szmek 180f6dbd2c Merge pull request #6067 from ssahani/networkctl
networkctl: display address labels
2017-06-27 11:41:09 -04:00
Susant Sahani d37b7627c2 networkctl: display address labels
```
 ./networkctl label

    Prefix/Prefixlen                          Label
        ::/0                                  1
    fc00::/7                                  5
    fec0::/10                                11
    2002::/16                                 2
    3ffe::/16                                12
 2001:10::/28                                 7
    2001::/32                                 6
::ffff:0.0.0.0/96                                 4
        ::/96                                 3
       ::1/128                                0

```
2017-06-27 10:15:27 -04:00
Zbigniew Jędrzejewski-Szmek 887a40521d Merge pull request #6201 from poettering/bus-driver-creds
shortcut credential querying of the "org.freedesktop.DBus" bus driver pseudo-service
2017-06-27 10:11:21 -04:00
Michal Suchanek 8e46eba454 hwdb: weed out key defines which do not designate events
The defines

KEY_MAX
KEY_CNT
KEY_MIN_INTERESTING
BTN_MISC
BTN_MOUSE
BTN_JOYSTICK
BTN_GAMEPAD
BTN_DIGI
BTN_WHEEL
BTN_TRIGGER_HAPPY

mark start/end of key blocks and do not designate events.

Exclude them from the list of recognized key events.
2017-06-27 13:29:02 +02:00
Michal Suchanek 22811ad065 input_id: fix button detection
Due to remapping some devices might not have the first button.

Check whole button range.
2017-06-27 13:28:11 +02:00
Michal Suchanek 0c21944e24 input_id: fix detection of devices with mouse buttons
Assign ID_INPUT_MOUSE property to devices with mouse buttons and no axis.

Libinput tries to use libwacom on devices with tablet-pad capability
which are detected by ID_INPUT_TABLET_PAD=1 property so assign pointer
class by setting ID_INPUT_MOUSE=1 to devices with mouse buttons and let
libwacom override the class for Wacom pads.
2017-06-27 13:28:11 +02:00
Michal Suchanek c6dce24573 hwdb: support pressing buttons on a keyboard
Support BTN_* codes with btn_ prefix and keys with KEY_ prefix
optionally removed.
2017-06-27 13:28:07 +02:00
Michal Suchanek 1b83323719 Use same script to build key list in Makefile and meson 2017-06-27 13:27:37 +02:00
Franck Bui fc5bc384c7 gpt-auto-generator: disable gpt auto logic for swaps if at least one is defined in fstab
If a swap partition is created on a disk using GPT then the unit generated by
the gpt-generator can shadow the one generated by the fstab-generator.

This can be an issue if the fstab entry for the swap has options since they are
simply ignored if PID1 decides to use the unit created by the gpt-generator
since this unit carries no information about the swap options.

This patch simply disables the GPT auto logic for swaps if at least one entry
for swap is defined in /etc/fstab.

Fixes: #6192
2017-06-27 10:06:36 +02:00
Franck Bui 6c1921e9f3 fstab-util: introduce fstab_has_fstype() helper 2017-06-27 10:04:46 +02:00
Franck Bui b9088048b1 fstab-util: don't eat up errors in fstab_is_mount_point()
That way the caller can decide what to do with failures, whether to consider
them or ignore them.
2017-06-27 10:04:20 +02:00
Zbigniew Jędrzejewski-Szmek 23e4a234fc Merge pull request #6200 from poettering/ioprio-transient 2017-06-26 21:30:36 -04:00
Zbigniew Jędrzejewski-Szmek 3cdd4e487e Merge pull request #6197 from ssahani/ethtool-port
ethtool: Fix speed in 593022fa37
2017-06-26 20:19:53 -04:00
Lennart Poettering 3285baa857 udev: fix some incorrect usages of CLOCK_BOOTTIME (#6198)
CLOCK_BOOTTIME should only be used if we actually want the clock to
count on while we are suspended, and it is hence not useful for normal
code execution time limits, fix that.

Moreover, a couple of uses were even more broken, as
clock_bottime_or_monotonic() was called where actually
now(clock_boottime_or_monotic()) was supposed to be called. Ouch!

Fixes: #5903
2017-06-26 20:17:39 -04:00
Zbigniew Jędrzejewski-Szmek 3e875a71e8 Merge pull request #6199 from poettering/systemctl-quiet
systemctl: be truly quiet in systemctl when -q is used
2017-06-26 20:16:39 -04:00
Zbigniew Jędrzejewski-Szmek 8a380e9603 Merge pull request #6203 from poettering/import-assert
remove misplaced importd assert
2017-06-26 20:03:14 -04:00
Evgeny Vereshchagin 82891136d7 Merge pull request #6160 from poettering/non-pollable-fdstore
support for non-pollable fds in the service fdstore
2017-06-27 00:22:58 +03:00
Yu Watanabe 9017f5d88d systemd-mount: support device names and multiple arguments for umount (#6096)
This makes systemd-umount (or systemd-mount -u) supports multiple arguments
which can be path, device, or fstab style node name, like
`systemd-umount /path/to/umount /dev/sda1 UUID=xxxxxx-xxxx LABEL=xxxxx`.

C.f. https://github.com/systemd/systemd/pull/5235#issuecomment-277731314.
2017-06-26 16:07:07 -04:00
WaLyong Cho 217f95db7b smack: handling smack onlycap list (#5542)
To support smack onlycap, read onlycap list from /etc/smack/onlycap and write
to /sys/fs/smackfs/onlycap.

https://lwn.net/Articles/292128/
http://lkml.iu.edu/hypermail/linux/kernel/1505.2/04718.html
http://schaufler-ca.com/description_from_the_linux_source_tree
2017-06-26 21:00:03 +02:00
Lennart Poettering b1d25c25e1 Merge pull request #6116 from richardmaw-codethink/networkd-carrier-fixes
Networkd fixes related to carrier status
2017-06-26 20:55:36 +02:00
Lennart Poettering 60675884cb systemctl: quieten a few more messages if -q is specified
As suggested by @mbiebl in https://github.com/systemd/systemd/pull/6199
2017-06-26 20:42:08 +02:00
Lennart Poettering dc38f65a72 importd: log more information when renaming files 2017-06-26 20:32:40 +02:00
Lennart Poettering e0061812b0 import: remove misplaced assert()
We shouldn't assume the final path for the settings file is already
known, it unlikely is unless we already downloaded the image once. Also
add some commenting to explain the code surrounding the assert a bit.

Fixes: #6188
2017-06-26 20:25:07 +02:00
Lennart Poettering 40f355052f sd-bus: use GetConnectionCredentials() when querying credentials, if available
Newer D-Bus versions implement the GetConnectionCredentials() driver
call to get all connection creds in one go. Make use of that to reduce
the number of bus calls we do.

When only a single credential field is queried we will still use the old
calls, which we'll also use if the new call isn't implemented.
2017-06-26 18:52:47 +02:00
Lennart Poettering 51c7d5aa36 sd-bus: when credentials of the "org.freedesktop.DBus" service are queried return the bus owner's credentials
The bus driver service is always implemented by the owner of the bus,
hence let's shortcut the credential operation and use our cached data.
This makes sure things simply work, given that dbus itself doesn't
support GetConnectionSELinuxSecurityContext() on the bus driver name
itself.

Fixes: #6120
2017-06-26 18:24:58 +02:00
Lennart Poettering 8d1dd6abe2 core: when parsing integers passed over the bus use int32_t, not int
sd-bus will return "i" integers as "int32_t", not "int". Now on all
archs we care about that's the same, but we still should do this
properly.
2017-06-26 17:43:18 +02:00
Lennart Poettering 7f452159b8 core: make IOSchedulingClass= and IOSchedulingPriority= settable for transient units
This patch is a bit more complex thant I hoped. In particular the single
IOScheduling= property exposed on the bus is split up into
IOSchedulingClass= and IOSchedulingPriority= (though compat is
retained). Otherwise the asymmetry between setting props and getting
them is a bit too nasty.

Fixes #5613
2017-06-26 17:43:18 +02:00
Susant Sahani bb79318e21 ethtool: warn when ethtool_set_glinksettings not supported
This is useful when port is not set and should be notified to user.
2017-06-26 21:05:52 +05:30
Lennart Poettering 8ecc68f430 systemctl: be truly quiet in systemctl -q is-enabled
Fixes: #6196
2017-06-26 16:11:20 +02:00
Franck Bui d31ae54818 swap: make use of IN_SET()
Minor cleanups, no functional changes.
2017-06-26 15:26:39 +02:00
Franck Bui cabf58b24f swap: make use of manager_get_unit() in swap.c
Minor cleanup, no functional changes.
2017-06-26 15:26:39 +02:00
Lennart Poettering 9efb9df9e3 core: make NotifyAccess= and FileDescriptorStoreMax= available to transient services
This is helpful for debugging/testing #5606.
2017-06-26 15:14:41 +02:00
Lennart Poettering 3ceb72e558 core: permit FDSTORE=1 messages with non-pollable fds
This also alters the documentation to recommend memfds rather than /run
for serializing state across reboots. That's because /run doesn't
actually have the same lifecycle as the fd store, as it is cleared out
on restarts.

Fixes: #5606
2017-06-26 15:14:41 +02:00
Susant Sahani 9c5e117239 ethtool: Fix speed in 593022fa37
We should use the DIV_ROUND_UP
2017-06-26 18:37:38 +05:30
Zbigniew Jędrzejewski-Szmek f900f5825d core: allow specifiers to be resolved in Environment= passed over dbus (#6144)
When specifiers are included in the Environment block in StartTransientUnit,
we resolve specifiers on the PID1 side. Nevertheless we store the unresolved
version in the transient unit file, so that it'll be resolved when loading
the unit. I think this looks nicer.

I also removed the writing of the merged Environment block to the transient
file. Afaict, this resulted in variables being written multiple times, but
this needs to be tested properly.

Fixes #5699.
2017-06-26 11:26:59 +02:00
Zbigniew Jędrzejewski-Szmek 92369d5eea Copy defines for renameat2 from casync (#6181) 2017-06-26 09:34:03 +02:00