Yu Watanabe [Mon, 3 Sep 2018 05:22:08 +0000 (14:22 +0900)]
core/socket: fix memleak in the error paths in usbffs_dispatch_eps()
Yu Watanabe [Mon, 3 Sep 2018 05:21:13 +0000 (14:21 +0900)]
TODO: drop duplicated entry
Renaud Métrich [Mon, 3 Sep 2018 03:42:39 +0000 (05:42 +0200)]
journald: fixed assertion failure when system journal rotation fails (#9893)
Evgeny Vereshchagin [Mon, 3 Sep 2018 03:18:26 +0000 (06:18 +0300)]
tests: add a rudimentary fuzzer for server_process_syslog_message (#9979)
Arkan49 [Mon, 3 Sep 2018 03:07:23 +0000 (11:07 +0800)]
Update 60-sensor.hwdb (#9991)
Sergey Ptashnick [Mon, 3 Sep 2018 03:05:45 +0000 (06:05 +0300)]
po: update Russian translation (#9992)
Daniele Medri [Mon, 3 Sep 2018 03:05:28 +0000 (05:05 +0200)]
po: update Italian translation (#9980)
Yu Watanabe [Sat, 1 Sep 2018 14:47:46 +0000 (23:47 +0900)]
cryptsetup: do not define arg_sector_size if libgcrypt is v1.x (#9990)
Follow-up for #9936.
Yu Watanabe [Sat, 1 Sep 2018 14:18:01 +0000 (23:18 +0900)]
Merge pull request #9977 from sourcejedi/no-remount-superblock3
Namespace fixes
Alan Jenkins [Wed, 29 Aug 2018 23:20:48 +0000 (00:20 +0100)]
namespace: remove redundant .has_prefix=false
The MountEntry's added for EMPTY_DIR work very similarly to the TMPFS ones.
In both cases, .has_prefix is false. In fact, .has_prefix is false in
*all* the MountEntry's we add except for the access mounts (READONLY etc).
But EMPTY_DIR stuck out by explicitly setting .has_prefix = false.
Let's remove that.
Alan Jenkins [Wed, 29 Aug 2018 22:38:40 +0000 (23:38 +0100)]
namespace: we always use a root_directory now
We changed to always setup the new namespace in a separate directory
(commit 0722b35)
Alan Jenkins [Wed, 29 Aug 2018 21:36:37 +0000 (22:36 +0100)]
namespace: fix mode for TemporaryFileSystem=
... when no mount options are passed.
Change the code, to avoid the following failure in the newly added tests:
exec-temporaryfilesystem-rw.service: Executing: /usr/bin/sh -x -c
'[ "$(stat -c %a /var)" == 755 ]'
++ stat -c %a /var
+ '[' 1777 == 755 ']'
Received SIGCHLD from PID 30364 (sh).
Child 30364 (sh) died (code=exited, status=1/FAILURE)
(And I spotted an opportunity to use TAKE_PTR() at the end).
Alan Jenkins [Wed, 29 Aug 2018 23:32:54 +0000 (00:32 +0100)]
namespace: don't try to remount superblocks
We can't remount the underlying superblocks, if we are inside a user
namespace and running Linux <= 4.17. We can only change the per-mount
flags (MS_REMOUNT | MS_BIND).
This type of mount() call can only change the per-mount flags, so we
don't have to worry about passing the right string options now.
Fixes #9914 ("Since 1beab8b was merged, systemd has been failing to start
systemd-resolved inside unprivileged containers" ... "Failed to re-mount
'/run/systemd/unit-root/dev' read-only: Operation not permitted").
> It's basically my fault :-). I pointed out we could remount read-only
> without MS_BIND when reviewing the PR that added TemporaryFilesystem=,
> and poettering suggested to change PrivateDevices= at the same time.
> I think it's safe to change back, and I don't expect anyone will notice
> a difference in behaviour.
>
> It just surprised me to realize that
> `TemporaryFilesystem=/tmp:size=10M,ro,nosuid` would not apply `ro` to the
> superblock (underlying filesystem), like mount -osize=10M,ro,nosuid does.
> Maybe a comment could note the kernel version (v4.18), that lets you
> remount without MS_BIND inside a user namespace.
This makes the code longer and I guess this function is still ugly, sorry.
One obstacle to cleaning it up is the interaction between
`PrivateDevices=yes` and `ReadOnlyPaths=/dev`. I've added a test for the
existing behaviour, which I think is now the correct behaviour.
Victor Laskurain [Wed, 29 Aug 2018 18:49:57 +0000 (20:49 +0200)]
Add sensor configuration for Asus TP201SA
Evgeny Vereshchagin [Thu, 30 Aug 2018 04:01:18 +0000 (07:01 +0300)]
tests: also run TEST-01-BASIC in an unprivileged container (#9957)
This should make it much easier to catch regressions like
https://github.com/systemd/systemd/issues/9914 and
https://github.com/systemd/systemd/issues/8535.
Yu Watanabe [Wed, 29 Aug 2018 18:38:28 +0000 (03:38 +0900)]
tree-wide: use '#pragma once' for header guard
Follow-up for
a2b635eb3940f33f5dd308d85ba416f0630d152b (#9959).
Todd Walton [Thu, 30 Aug 2018 00:47:07 +0000 (20:47 -0400)]
man: fix RFC ref in resolved.conf man page (#9976)
This is a simple one-character fix to reference the correct RFC for
LLMNR, which is RFC 4795, not RFC 4794.
Alan Jenkins [Mon, 27 Aug 2018 18:09:58 +0000 (19:09 +0100)]
resolve: update comment, avoid alarming wrongness
`systemd-resolved.service` runs as `User=systemd-resolved`, and uses certain
Capabilit{y,ies} magic. By my understanding, this means it is started with a
number of "privileges". Indeed, `capabilities(7)` explains
> Linux divides the privileges traditionally
> associated with superuser into distinct units, known as capabilities,
> which can be independently enabled and disabled."
This situation appears to contradict our current code comment which said
> If we are not running as root we assume all privileges are already dropped.
This appears to be a confusion in the comment only. The rest of the code
tells a much clearer story. (Don't ask me if the story is correct.
`capabilities(7)` scares me). Let's tweak the comment to make it consistent
and avoid worrying readers about this.
Sjoerd Simons [Tue, 28 Aug 2018 07:32:18 +0000 (09:32 +0200)]
fd-util: accept that kcmp might fail with EPERM/EACCES
In a container the kcmp call might well be blocked; Accept that and fall
back to fstat in that case.
Samuel Morris [Tue, 28 Aug 2018 14:40:51 +0000 (10:40 -0400)]
systemctl: if no logind, don't try to schedule shutdown
If logind is not supported, don't try to schedule a shutdown,
immediately poweroff. This is the behavior indicated by the current
message given to the user, but the command is returning an error. I
believe this was broken on this commit:
7f96539d45028650f2ba9452095473a9c455d84b
Sylvain Plantefève [Tue, 28 Aug 2018 19:51:24 +0000 (21:51 +0200)]
po: update French translation
Zbigniew Jędrzejewski-Szmek [Wed, 29 Aug 2018 15:47:00 +0000 (17:47 +0200)]
Merge pull request #9959 from yuwata/small-fixes
tiny fixes and a cleanup
Yu Watanabe [Wed, 29 Aug 2018 14:27:42 +0000 (23:27 +0900)]
test: fix a memleak
Follow-up for #9901.
Fixes #9968.
Dimitri John Ledkov [Wed, 29 Aug 2018 14:38:09 +0000 (15:38 +0100)]
cryptsetup: add support for sector-size= option (#9936)
Bug-Ubuntu: https://launchpad.net/bugs/1776626
Closes #8881.
Yu Watanabe [Tue, 28 Aug 2018 05:20:08 +0000 (14:20 +0900)]
sd-boot: fix header guard
Follow-up for
a42d7cf16515ab0ab62aaeff3aab5750c885b7e7.
Yu Watanabe [Tue, 28 Aug 2018 03:41:55 +0000 (12:41 +0900)]
dynamic-user: drop unnecessary initialization
Zbigniew Jędrzejewski-Szmek [Wed, 29 Aug 2018 12:22:27 +0000 (14:22 +0200)]
Merge pull request #9901 from peterbaouoft/pr/preset_enable_multiple_instances
install: allow instantiated units to be enabled via presets
Yu Watanabe [Tue, 28 Aug 2018 03:40:25 +0000 (12:40 +0900)]
string-table: do not ignore 'scope' argument
Yu Watanabe [Tue, 28 Aug 2018 01:43:25 +0000 (10:43 +0900)]
Merge pull request #9950 from yuwata/macro-ref-unref
tree-wide: introduce macros to define *_ref() and *_unref() functions
Ruixin Bao [Sun, 26 Aug 2018 20:00:03 +0000 (20:00 +0000)]
install: small refactor to combine two function calls into one function
Combine consecutive function calls of install_info_discover and
install_info_may_process into one short helper function.
Ruixin Bao [Tue, 21 Aug 2018 20:40:56 +0000 (20:40 +0000)]
install: allow instantiated units to be enabled via presets
This patch implements https://github.com/systemd/systemd/issues/9421.
The .preset file now is able to take a rule in the format of:(e.g)
enable foo@.service bar0 bar1 bar2
In the above example, when preset-all is called, all three instances of
foo@bar0.service, foo@bar1.service and foo@bar2.service will be enabled.
When preset is called on a single service(e.g: foo@bar1.service), only
the mentioned one(foo@bar1.service) will be enabled.
Tests are added for future regression.
Yu Watanabe [Mon, 27 Aug 2018 06:33:17 +0000 (15:33 +0900)]
sd-device: sd_device_enumerator_get_subsystem_next() requests the device list is uptodate
Yu Watanabe [Mon, 27 Aug 2018 05:07:01 +0000 (14:07 +0900)]
sd-device: use structured initializers
Yu Watanabe [Mon, 27 Aug 2018 05:00:01 +0000 (14:00 +0900)]
libsystemd: use DEFINE_ATOMIC_REF_UNREF_FUNC or frineds where applicable
Yu Watanabe [Mon, 27 Aug 2018 04:58:15 +0000 (13:58 +0900)]
refcnt: introduce DEFINE_ATOMIC_REF_UNREF_FUNC() macro and friends
Yu Watanabe [Mon, 27 Aug 2018 04:57:09 +0000 (13:57 +0900)]
sd-netlink: fix indentation
Yu Watanabe [Mon, 27 Aug 2018 04:56:29 +0000 (13:56 +0900)]
sd-hwdb: drop unused variable
Yu Watanabe [Mon, 27 Aug 2018 20:09:00 +0000 (05:09 +0900)]
dynamic-user: fix potential segfault
Zbigniew Jędrzejewski-Szmek [Mon, 27 Aug 2018 12:49:11 +0000 (14:49 +0200)]
Merge pull request #9935 from pfl/dhcp6_pd_assignment_fix
Dhcp6 pd assignment fix
Lucas Werkmeister [Sat, 25 Aug 2018 16:41:42 +0000 (18:41 +0200)]
tools: use print function in Python 3 code
This GDB script was converted to use Python 3 along with all other
Python scripts in commit
b95f5528cc, but still used the Python 2 print
statement syntax instead of the Python 3 print function. Fix that.
We also add the Python 2 compatibility statement, just in case some GDB
still uses Python 2 instead of Python 3.
Thomas Haller [Tue, 7 Aug 2018 14:01:18 +0000 (16:01 +0200)]
link: allocate correct number of bytes in ethtool_set_features()
sfeatures is a "struct ethtool_sfeatures". Use sizeof() on the correct
data type.
Since "struct ethtool_gstrings" is larger than "struct ethtool_sfeatures",
this had no serious consequences.
Fixes:
50725d10e3417fd357abe1df2f177b8458027ac7
Marcin Skarbek [Sun, 26 Aug 2018 14:48:52 +0000 (16:48 +0200)]
don't ignore zd* block devices
dj-kaktus [Sun, 26 Aug 2018 15:26:54 +0000 (17:26 +0200)]
hwdb: Added values for another WALTOP Tablet
Yu Watanabe [Mon, 27 Aug 2018 05:01:46 +0000 (14:01 +0900)]
tree-wide: use DEFINE_TRIVIAL_REF_UNREF_FUNC() macro or friends where applicable
Yu Watanabe [Mon, 27 Aug 2018 05:01:27 +0000 (14:01 +0900)]
macro: introduce DEFINE_TRIVIAL_REF_UNREF_FUNC() macro and friends
Yu Watanabe [Mon, 27 Aug 2018 04:48:04 +0000 (13:48 +0900)]
tree-wide: use unsigned for refcount
Patrik Flykt [Fri, 24 Aug 2018 15:49:22 +0000 (09:49 -0600)]
networkd-dhcp6: Improve logging on DHCPv6 PD assignment
Print out prefixes assigned to links in addition to the DHCPv6
prefix it was delegated from.
Patrik Flykt [Fri, 24 Aug 2018 15:49:20 +0000 (09:49 -0600)]
networkd-dhcp6: Fix logging of DHCPv6 prefix
Pretty-print log messages with DHCPv6 prefixes after the prefixes
have been set instead of some random unassigned stack values.
Patrik Flykt [Fri, 24 Aug 2018 15:49:18 +0000 (09:49 -0600)]
networkd-dhcp6: Fix PD prefix length for subnet assignment
When computing the next network prefix to assign, compute the next
prefix to allocate based on the intended /64 assignment, not the
given prefix length for the whole prefix, e.g. /48, given to
systemd-networkd.
Fixes #9626.
Patrik Flykt [Fri, 24 Aug 2018 15:49:14 +0000 (09:49 -0600)]
networkd-dhcp6: Log warning with PD prefixes shorter than 48
Log a warning message in case the network prefix delegated is shorter
than /48.
Yu Watanabe [Fri, 24 Aug 2018 13:46:13 +0000 (22:46 +0900)]
po: update Japanese translation
Piotr Drąg [Fri, 24 Aug 2018 13:35:46 +0000 (15:35 +0200)]
po: update Polish translation
Yu Watanabe [Fri, 24 Aug 2018 13:34:13 +0000 (22:34 +0900)]
dissect: rescan devices before creating partition list (#9930)
Fixes #9924 which is caused by
3c1f2cee0ad2bea0839ac335532275f3a73c8b20.
Franck Bui [Fri, 24 Aug 2018 07:20:51 +0000 (09:20 +0200)]
logind: make use of vtnr_from_tty() in seat_read_active_vt() (#9923)
No functional changes.
Yu Watanabe [Fri, 24 Aug 2018 01:43:41 +0000 (10:43 +0900)]
Merge pull request #9917 from keszybz/cleanups
Some unrelated fixups for recent PRs
Lucas Werkmeister [Thu, 23 Aug 2018 14:57:30 +0000 (16:57 +0200)]
man: use singular “they”
For an example where we already use it, see man:sd-login(3):
> A session is defined by the time a user is logged in until they log out.
As far as I can tell, this removes the only remaining occurrences of
referring to users by gendered pronouns in our documentation (though
some still survive in code comments and the NEWS and TODO files):
git grep '\b\(he\|him\|his\|she\|her\|hers\)\b' man/
Daniel Kahn Gillmor [Thu, 23 Aug 2018 20:33:56 +0000 (16:33 -0400)]
doc: fix resolvectl(1) per-interface DNS configuration documentation
You can only have one listitem in each varlistentry.
xmllint says:
resolvectl.xml:269: element varlistentry: validity error : Element varlistentry content does not follow the DTD, expecting (term+ , listitem), got (term term term term term term term listitem listitem listitem )
Daniel Kahn Gillmor [Thu, 23 Aug 2018 20:20:18 +0000 (16:20 -0400)]
doc: fix udev(7) documentation about ATTR{} and SYSCTL{}
Without this fix, udev(7) munges the two items together, like so:
ATTR{filename}, SYSCTL{kernel parameter}
Match sysfs attribute values of the event device. Trailing
whitespace in the attribute values is ignored unless the specified
match value itself contains trailing whitespace. Match a kernel
parameter value.
You're not allowed to have a <term> element after a <listitem> element within a
<varlistentry>.
xmllint complains:
udev.xml:192: element varlistentry: validity error : Element varlistentry content does not follow the DTD, expecting (term+ , listitem), got (term listitem term listitem )
Zbigniew Jędrzejewski-Szmek [Thu, 23 Aug 2018 11:46:54 +0000 (13:46 +0200)]
Merge pull request #8135 from shawnl/arg_host
sd-bus: rework host handling
Zbigniew Jędrzejewski-Szmek [Thu, 23 Aug 2018 09:43:28 +0000 (11:43 +0200)]
network: adjust some error messages
The option is now called simply "Encapsulation=".
Also, "ignoring" is rather misleading, because we use to to mean that some line
is being ignored. Here the whole tunnel is dropped.
Zbigniew Jędrzejewski-Szmek [Thu, 23 Aug 2018 09:32:55 +0000 (11:32 +0200)]
network: reword some error messages
Use "falling back" instead of "fallback".
Also, it's not an application-specific machine ID, but rather an
application-and-machine-specific ID. Let's call it "app-machine-speicific" for
short.
Zbigniew Jędrzejewski-Szmek [Tue, 21 Aug 2018 17:44:48 +0000 (19:44 +0200)]
test-socket-util: avoid "memleak" reported by valgrind
valgrind reports the allocation done in the short-lived child as a leak.
Let's restructure the code to avoid this.
Zbigniew Jędrzejewski-Szmek [Mon, 20 Aug 2018 11:11:06 +0000 (13:11 +0200)]
analyze: use temporary var to simplify code
Susant Sahani [Sun, 3 Jun 2018 07:07:41 +0000 (12:37 +0530)]
networkd and sd-netlink: add support for Generic netlink And FooOverUDP to IPIP tunnel
This work add support to generic netlink to sd-netlink.
See https://lwn.net/Articles/208755/
networkd: add support FooOverUDP support to IPIP tunnel netdev
https://lwn.net/Articles/614348/
Example conf:
/lib/systemd/network/1-fou-tunnel.netdev
```
[NetDev]
Name=fou-tun
Kind=fou
[FooOverUDP]
Port=5555
Protocol=4
```
/lib/systemd/network/ipip-tunnel.netdev
```
[NetDev]
Name=ipip-tun
Kind=ipip
[Tunnel]
Independent=true
Local=10.65.208.212
Remote=10.65.208.211
FooOverUDP=true
FOUDestinationPort=5555
```
$ ip -d link show ipip-tun
```
5: ipip-tun@NONE: <POINTOPOINT,NOARP> mtu 1472 qdisc noop state DOWN mode DEFAULT group default qlen 1000
link/ipip 10.65.208.212 peer 10.65.208.211 promiscuity 0
ipip remote 10.65.208.211 local 10.65.208.212 ttl inherit pmtudisc encap fou encap-sport auto encap-dport 5555 noencap-csum noencap-csum6 noencap-remcsum numtxqueues 1 numrxqueues 1 gso_max_size 65536 gso_max_segs 65535
```
Zbigniew Jędrzejewski-Szmek [Thu, 23 Aug 2018 09:11:13 +0000 (11:11 +0200)]
Merge pull request #9406 from yuwata/rfe-9228
Trivial conflict solved in merge and include net/if_arp.h added.
Susant Sahani [Mon, 9 Jul 2018 05:40:54 +0000 (11:10 +0530)]
Networkd: Start DHCP server when link is up.
Closes #9479
Chris Chiu [Tue, 8 Aug 2017 14:27:33 +0000 (22:27 +0800)]
hwdb: Apply Acer mappings to all Gateway and Packard Bell models
Gateway and Packard Bell both belong to Acer and need the same mappings.
This has been checked on several Gateway and Packard Bell models enabled
by Endless and confirmed by Acer Product Manager.
Signed-off-by: Chris Chiu <chiu@endlessm.com>
Signed-off-by: João Paulo Rechi Vita <jprvita@endlessm.com>
Chris Chiu [Tue, 8 Aug 2017 14:18:11 +0000 (22:18 +0800)]
hwdb: Map 8a to f20 on the Acer Travelmate P648-G3-M
This model emits 0x8a for the microphone-mute button above the keyboard,
so let's map it to correct keycode.
Signed-off-by: Chris Chiu <chiu@endlessm.com>
Signed-off-by: João Paulo Rechi Vita <jprvita@endlessm.com>
Carlo Caione [Thu, 14 Apr 2016 15:05:44 +0000 (11:05 -0400)]
hwdb: Add keymaps for HP ProBook 11 G1
Add microphone-mute and touchpad-toggle keymaps for the HP ProBook 11 G1
notebook.
Signed-off-by: Carlo Caione <carlo@endlessm.com>
Signed-off-by: João Paulo Rechi Vita <jprvita@endlessm.com>
Zbigniew Jędrzejewski-Szmek [Thu, 23 Aug 2018 07:01:44 +0000 (09:01 +0200)]
Merge pull request #9904 from yuwata/replace-udev-device
tree-wide: drop udev_device struct and use sd_device instead
Steve Ramage [Thu, 23 Aug 2018 04:14:17 +0000 (21:14 -0700)]
man: Fixed grammatical error in systemd.socket.xml (#9916)
Yu Watanabe [Wed, 22 Aug 2018 07:25:17 +0000 (16:25 +0900)]
udev: move udev cleanup functions from udev-util.h to udev.h
Yu Watanabe [Wed, 22 Aug 2018 06:16:10 +0000 (15:16 +0900)]
udev-util: drop unused function udev_device_new_from_stat_rdev()
Yu Watanabe [Wed, 22 Aug 2018 05:59:03 +0000 (14:59 +0900)]
login/sysfs-show: replace udev_device by sd_device
Yu Watanabe [Wed, 22 Aug 2018 05:53:51 +0000 (14:53 +0900)]
logind: replace udev_device by sd_device
Yu Watanabe [Wed, 22 Aug 2018 05:43:11 +0000 (14:43 +0900)]
core: replace udev_device by sd_device
Yu Watanabe [Wed, 22 Aug 2018 05:39:12 +0000 (14:39 +0900)]
core/umount: replace udev_device by sd_device
Yu Watanabe [Wed, 22 Aug 2018 05:32:50 +0000 (14:32 +0900)]
rfkill: replace udev_device by sd_device
Yu Watanabe [Wed, 22 Aug 2018 05:30:49 +0000 (14:30 +0900)]
network: replace udev_device by sd_device
Yu Watanabe [Wed, 22 Aug 2018 05:07:59 +0000 (14:07 +0900)]
nspawn: replace udev_device by sd_device
Yu Watanabe [Wed, 22 Aug 2018 05:04:11 +0000 (14:04 +0900)]
journal: replace udev_device by sd_device
Yu Watanabe [Wed, 22 Aug 2018 05:00:53 +0000 (14:00 +0900)]
sd-device: introduce device_new_from_stat_rdev()
Yu Watanabe [Wed, 22 Aug 2018 04:57:36 +0000 (13:57 +0900)]
dissect: replace udev_device by sd_device
Yu Watanabe [Wed, 22 Aug 2018 04:55:45 +0000 (13:55 +0900)]
gpt-auto-generator: replace udev_device by sd_device
Yu Watanabe [Wed, 22 Aug 2018 04:36:15 +0000 (13:36 +0900)]
mount-tool: replace udev_device by sd_device
Yu Watanabe [Wed, 22 Aug 2018 04:35:47 +0000 (13:35 +0900)]
backlight: replace udev_device by sd_device
Yu Watanabe [Wed, 22 Aug 2018 07:30:33 +0000 (16:30 +0900)]
libudev: introduce udev_monitor_receive_sd_device()
Yu Watanabe [Wed, 22 Aug 2018 04:32:03 +0000 (13:32 +0900)]
libudev: move cleanup functions from udev-util.h to libudev-private.h
Yu Watanabe [Wed, 22 Aug 2018 04:15:46 +0000 (13:15 +0900)]
libudev: accept NULL as the argument 'struct udev*' for udev_monitor_new() or friends
As udev_monitor struct or friends are now almost independent of udev
struct. So, generating these objects without udev struct is reasonable.
Tejun Heo [Wed, 13 Jun 2018 21:16:35 +0000 (14:16 -0700)]
core: add IODeviceLatencyTargetSec
This adds support for the following proposed latency based IO control
mechanism.
https://lkml.org/lkml/2018/6/5/428
Yu Watanabe [Wed, 22 Aug 2018 14:19:32 +0000 (23:19 +0900)]
selinux-util: drop unused variables
Follow-up for
7e531a5265687aef5177b070c36ca4ceab42e768.
Chris Morin [Wed, 22 Aug 2018 13:04:27 +0000 (15:04 +0200)]
man: correct journald field name
Yu Watanabe [Wed, 22 Aug 2018 13:25:38 +0000 (22:25 +0900)]
Merge pull request #9903 from yuwata/fuzzer-10007
Fixes issue 10007 by oss-fuzz
Yu Watanabe [Wed, 22 Aug 2018 03:39:40 +0000 (12:39 +0900)]
test: add testcase for issue 10007 by oss-fuzz
Yu Watanabe [Wed, 22 Aug 2018 03:33:27 +0000 (12:33 +0900)]
util: do not use stack frame for parsing arbitrary inputs
This replaces strndupa() by strndup() in socket_address_parse(),
as input string may be too long.
Fixes issue 10007 by ClusterFuzz-External:
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=10007
Yu Watanabe [Wed, 22 Aug 2018 02:16:29 +0000 (11:16 +0900)]
Merge pull request #9852 from poettering/namespace-errno
namespace: be more careful when handling namespacing failures
Lennart Poettering [Thu, 26 Jul 2018 08:42:01 +0000 (10:42 +0200)]
random-util: use RDRAND for randomness if the kernel doesn't want to give us any
Pretty much all intel cpus have had RDRAND in a long time. While
CPU-internal RNG are widely not trusted, for seeding hash tables it's
perfectly OK to use: we don't high quality entropy in that case, hence
let's use it.
This is only hooked up with 'high_quality_required' is false. If we
require high quality entropy the kernel is the only source we should
use.
Lennart Poettering [Fri, 10 Aug 2018 13:26:32 +0000 (15:26 +0200)]
man: document that most sandboxing options are best effort only
Lennart Poettering [Fri, 10 Aug 2018 13:07:14 +0000 (15:07 +0200)]
namespace: be more careful when handling namespacing failures gracefully
This makes two changes to the namespacing code:
1. We'll only gracefully skip service namespacing on access failure if
exclusively sandboxing options where selected, and not mount-related
options that result in a very different view of the world. For example,
ignoring RootDirectory=, RootImage= or Bind= is really probablematic,
but ReadOnlyPaths= is just a weaker sandbox.
2. The namespacing code will now return a clearly recognizable error
code when it cannot enforce its namespacing, so that we cannot
confuse EPERM errors from mount() with those from unshare(). Only the
errors from the first unshare() are now taken as hint to gracefully
disable namespacing.
Fixes: #9844 #9835
aszlig [Mon, 20 Aug 2018 03:33:58 +0000 (05:33 +0200)]
umount: Don't use options from fstab on remount
The fstab entry may contain comment/application-specific options, like
for example x-systemd.automount or x-initrd.mount.
With the recent switch to libmount, the mount options during remount are
now gathered via mnt_fs_get_options(), which returns the merged fstab
options with the effective options in mountinfo.
Unfortunately if one of these application-specific options are set in
fstab, the remount will fail with -EINVAL.
In systemd 238:
Remounting '/test-x-initrd-mount' read-only in with options
'errors=continue,user_xattr,acl'.
In systemd 239:
Remounting '/test-x-initrd-mount' read-only in with options
'errors=continue,user_xattr,acl,x-initrd.mount'.
Failed to remount '/test-x-initrd-mount' read-only: Invalid argument
So instead of using mnt_fs_get_options(), we're now using both
mnt_fs_get_fs_options() and mnt_fs_get_vfs_options() and merging the
results together so we don't get any non-relevant options from fstab.
Signed-off-by: aszlig <aszlig@nix.build>