1
0
mirror of https://github.com/systemd/systemd.git synced 2024-11-04 13:51:24 +03:00
Commit Graph

28942 Commits

Author SHA1 Message Date
Susant Sahani
177d0b2032 config parser: Introduce config_parse_ip_port 2017-04-29 22:33:50 +05:30
Lennart Poettering
db7076bf78 Merge pull request #5164 from Werkov/ordering-for-_netdev-devices
Ordering for _netdev devices
2017-04-29 18:40:19 +02:00
Lennart Poettering
007f09d487 Merge pull request #5783 from keszybz/compiler-warning-fixes
shared/extract-word: replace enum with int to avoid undefined behaviour
2017-04-29 18:35:56 +02:00
Lennart Poettering
ccefd046c6 Merge pull request #5529 from ssahani/label
networkd / sd-netlink: add support for address label
2017-04-29 13:42:09 +02:00
Martin Pitt
fe685ffb7f Merge pull request #5852 from phomes/trivial
Trivial cleanups
2017-04-29 13:39:47 +02:00
Lennart Poettering
a7c8991383 Merge pull request #5801 from keszybz/help-error
nspawn,cgtop: make sure --version, --help always work
2017-04-29 12:30:29 +02:00
Max Resch
1f8476b197 sd-boot: remove unnecessary defines (#5848)
As discussed in #5829 `#define` is not necessary, meson and autotools
set the correct compiler flags and the default value is provided by them.
2017-04-29 12:24:25 +02:00
Chris Lamb
04e599b1ce test: explain why we explicitly make all despite test/Makefile's check target calling it (#5830) 2017-04-29 08:23:13 +02:00
Michael Biebl
8e899a9293 meson: do not link libshared dynamically against libudev (#5850)
Linking dynamically against libudev will fail once
https://github.com/mesonbuild/meson/pull/1545 is merged and apparently
already triggers a link failure on s390x.

Make libshared provide the udev symbols by including libudev_sources
into libshared. This will cause those files to be compiled twice, but it
actually reduces the installed size and is closer to what the autotools
build system is doing.

Closes #5828
2017-04-29 08:21:07 +02:00
Thomas Hindoe Paaboel Andersen
6eeec374c1 tree-wide: remove unused variables 2017-04-28 23:56:44 +02:00
Thomas Hindoe Paaboel Andersen
85df3c6037 networkd: remove duplicated include 2017-04-28 23:56:44 +02:00
Thomas Hindoe Paaboel Andersen
b3c908b4a2 shared: assert the source for memcpy 2017-04-28 23:56:44 +02:00
userwithuid
232bd67797 build-sys: do not install manpages from disabled features (#5844)
A few of the manpages where missing the "conditional" attribute.
2017-04-28 08:22:17 -04:00
Peter Hutterer
f5e97db00b hwdb: add Samsung 880Z5E series touchpad overrides (#5825)
https://bugs.freedesktop.org/show_bug.cgi?id=100631
2017-04-28 08:19:31 +02:00
Max Resch
489e15a8b3 meson: add compiler flags for "--tpm" in EFI apps (#5829)
Readds boot log tpm feature that was missing in meson by readding a
defines in efi_conf.h
2017-04-27 20:59:37 -04:00
Martin Pitt
b13586206b Merge pull request #5827 from keszybz/meson-libcap
meson: fixes to allow meson builds on Ubuntu Trusty
2017-04-27 22:12:28 +02:00
userwithuid
1c9f131444 meson: do not install files from disabled features (#5811)
Mirror conditions from Makefile.am.
2017-04-27 13:47:04 -04:00
Zbigniew Jędrzejewski-Szmek
5d96ab7d6d Merge pull request #5818 from mbiebl/meson-no-libudev
meson: drop implicit libudev link dependencies
2017-04-27 13:40:15 -04:00
Zbigniew Jędrzejewski-Szmek
0bc9115251 Merge branch 'master' into meson-no-libudev 2017-04-27 13:39:54 -04:00
Zbigniew Jędrzejewski-Szmek
00a313261e Merge pull request #5821 from mbiebl/meson-no-libiptc
Merge libfirewall into libshared, and link libshared to libip[46]tc directly.
2017-04-27 13:37:01 -04:00
userwithuid
d8431fc3f4 build-sys: only install libexecdir/resolv.conf if resolved is enabled (#5826)
as mentioned in https://github.com/systemd/systemd/pull/5811
2017-04-27 13:22:40 -04:00
Zbigniew Jędrzejewski-Szmek
2c5434ad3c meson: fix detection of "-Wno-" options 2017-04-27 10:05:41 -04:00
Zbigniew Jędrzejewski-Szmek
9f0e9c0119 meson: add version check for libseccomp
Compilation fails because of the missing arm64 bits with old seccomp versions.
2017-04-27 10:05:18 -04:00
Zbigniew Jędrzejewski-Szmek
1800cc8546 meson: also search for libcap directly 2017-04-27 01:30:30 -04:00
Matija Skala
77018a8c26 improve readability (#5814) 2017-04-26 20:08:52 -04:00
codekipper
5a1d67639d update-done: Create using a temporary file (#5789)
'/etc/.updated' is created without using a temporary file, this can be
problematic with filesystems that cache writes. Modify so that the
timestamp is written to a temporary file and then use an atomic move
to move it to its correct place.
2017-04-26 19:49:06 -04:00
Michael Biebl
c3045943c4 meson: get rid of libfirewall 2017-04-26 22:14:23 +02:00
Michael Biebl
1697c8cde4 meson: drop libiptc link dependencies from libshared
The only place where libiptc is needed is in libfirewall, which already
takes care of linking against libiptc.
2017-04-26 18:58:40 +02:00
Michael Biebl
34ce0a52c7 meson: drop implicit libudev link dependencies
Executables which link against libshared do not need an explicit
dependency on libudev, as libshared will make sure that those symbols
are available.
2017-04-26 17:28:48 +02:00
Susant Sahani
c23ae61e27 meson: add address label to build system 2017-04-26 16:00:44 +05:30
Susant Sahani
95b74ef6ea networkd: add support for address label
IPv6 address labels are used for address selection; they are described in RFC 3484.
Precedence is managed by userspace, and only the label itself is stored in the kernel.

enp0s25.network

[Match]
Name=enp0s25

[Network]
DHCP=yes
Address = 2001:db8:f00:baa::b

[AddressLabel]
Label=199
Prefix=2001:db8:41::/64

[AddressLabel]
Label=11
Prefix=2001:db8:31::/64

[AddressLabel]
Label=123
Prefix=2001:db8:21::/64

[AddressLabel]
Label=124
Prefix=2001:db8:11::/64
[sus@maximus label]$ ip addrlabel list

prefix ::1/128 label 0
prefix ::/96 label 3
prefix ::ffff:0.0.0.0/96 label 4
prefix 2001:db8:41::/64 dev enp0s25 label 199
prefix 2001:db8:31::/64 dev enp0s25 label 11
prefix 2001:db8:21::/64 dev enp0s25 label 123
prefix 2001:db8:11::/64 dev enp0s25 label 124
prefix 2001::/32 label 6
prefix 2001:10::/28 label 7
prefix 3ffe::/16 label 12
prefix 2002::/16 label 2
prefix fec0::/10 label 11
prefix fc00::/7 label 5
prefix ::/0 label 1
2017-04-26 16:00:44 +05:30
Susant Sahani
30746d6088 sd-netlink: add support for address label 2017-04-26 16:00:44 +05:30
Christian Brauner
6385cb31ef main: improve RLIMIT_NOFILE handling (#5795)
This has systemd look at /proc/sys/fs/nr_open to find the current maximum of
open files compiled into the kernel and tries to set the RLIMIT_NOFILE max to
it. This has the advantage the value chosen as limit is less arbitrary and also
improves the behavior of systemd in containers that have an rlimit set: When
systemd currently starts in a container that has RLIMIT_NOFILE set to e.g.
100000 systemd will lower it to 65536. With this patch systemd will try to set
the nofile limit to the allowed kernel maximum. If this fails, it will compute
the minimum of the current set value (the limit that is set on the container)
and the maximum value as soft limit and the currently set maximum value as the
maximum value. This way it retains the limit set on the container.
2017-04-26 07:18:10 +03:00
Zbigniew Jędrzejewski-Szmek
26e1f724a6 test-sizeof: print the size of an enum 2017-04-25 21:14:59 -04:00
Zbigniew Jędrzejewski-Szmek
e4d85dbb3d shared/extract-word: replace enum with unsigned int to avoid undefined behaviour
../src/basic/extract-word.c:255:22: warning: passing an object that undergoes default argument promotion to 'va_start' has undefined behavior [-Wvarargs]
        va_start(ap, flags);
                     ^
../src/basic/extract-word.c:244:77: note: parameter of type 'ExtractFlags' (aka 'enum ExtractFlags') is declared here
int extract_many_words(const char **p, const char *separators, ExtractFlags flags, ...) {
                                                                            ^
../src/basic/extract-word.c:286:22: warning: passing an object that undergoes default argument promotion to 'va_start' has undefined behavior [-Wvarargs]
        va_start(ap, flags);
                     ^
../src/basic/extract-word.c:244:77: note: parameter of type 'ExtractFlags' (aka 'enum ExtractFlags') is declared here
int extract_many_words(const char **p, const char *separators, ExtractFlags flags, ...) {
                                                                            ^
2 warnings generated.

I think the relevant part of C99 is 6.7.2.2 Enumeration specifiers:

Each enumerated type shall be compatible with char, a signed integer type, or
an unsigned integer type. The choice of type is implementation-defined, but
shall be capable of representing the values of all the members of the
enumeration.

and 7.16.1.4:

The parameter parmN is the identifier of the rightmost parameter in the
variable parameter list in the function definition (the one just before the
...). If the parameter parmN is declared with the register storage class, with
a function or array type, or with a type that is not compatible with the type
that results after application of the default argument promotions, the behavior
is undefined.

This might cause a real issue if the compiler chooses something that is not an
integer for ExtractFlags. Rework the code to avoid the warning, but add an
assert_cc in a large-valued ExtractFlags element is ever defined and the type
is bumped to something wider than an int.
2017-04-25 21:12:52 -04:00
tblume
1f0f4f3bfd importd: support SUSE style checksums supplementary (#5800)
some small changes to make the code look better
2017-04-25 20:37:07 -04:00
David Herrmann
c0e7906d20 bus: report builtins in GetManagedObjects() (#5799)
We already report builtin interfaces with InterfacesAdded and InterfacesRemoved. However,
we never reported them in GetManagedObjects(). This might end up confusing callers that
want to use those interfaces (or simply rely on the interface count to be coherent).

Report the builtins for all objects that are queried.
2017-04-25 20:36:30 -04:00
Zbigniew Jędrzejewski-Szmek
d482e676a6 Merge pull request #5803 from ssahani/util
config_parser: add util function config_parse_uint8
2017-04-25 20:28:38 -04:00
Michael Biebl
4ffab21849 Merge pull request #5805 from keszybz/apendv-man-rule
meson: add sd_bus_message_appendv alias to man list
2017-04-25 21:16:34 +02:00
Zbigniew Jędrzejewski-Szmek
82b4969045 meson: add sd_bus_message_appendv alias to man list
As generated by "nj update-man-rules".
2017-04-25 14:20:55 -04:00
Michal Koutný
d9732d7803 core/device: Use JobRunningTimeoutSec= for device units
Device job timeouts should respect possible device job dependencies so we set
JobRunningTimeoutSec= by default.
2017-04-25 18:00:36 +02:00
Michal Koutný
4195077ab4 fstab-generator: Apply _netdev option also to device units
In case the device field of fstab record is an actual device (not an address)
apply same dependencies to the device unit as to the mount unit, i.e.

> After=network-online.target network.target
> Wants=network-online.targe

It makes sense to start the device expecting job only when network is actually
ready (consider e.g. iSCSI devices) since it is device's implicit dependency.

The eventual implementation should better obtain network flag from udev
database and would also take into account device hierarchy (see [1]).
This patch approximates that by taking the `_netdev` option as a hint from the
user both about the filesystem and underlying device. (For local devices with
network filesystems (e.g. ocfs2), this hint leads to unused dependencies.)

[1] https://lists.freedesktop.org/archives/systemd-devel/2014-October/024718.html
2017-04-25 18:00:36 +02:00
Michael Biebl
8b721196fd Merge pull request #5804 from ssahani/geneve
meson: add geneve to build system
2017-04-25 18:00:32 +02:00
Michal Koutný
a2df3ea4ae job: add JobRunningTimeoutSec for JOB_RUNNING state
Unit.JobTimeoutSec starts when a job is enqueued in a transaction. The
introduced distinct Unit.JobRunningTimeoutSec starts only when the job starts
running (e.g. it groups all Exec* commands of a service or spans waiting for a
device period.)

Unit.JobRunningTimeoutSec is intended to be used by default instead of
Unit.JobTimeoutSec for device units where such behavior causes less confusion
(consider a job for a _netdev mount device, with this change the timeout will
start ticking only after the network is ready).
2017-04-25 18:00:29 +02:00
Susant Sahani
9dfed8dd92 meson: add geneve to build system
```
[107/1793] Compiling c object 'src/basic/basic@sta/log.c.o'
In file included from ../src/basic/log.c:44:0:
../src/basic/missing.h:762:6: warning: "HAVE_DECL_IFLA_GENEVE_LABEL" is not defined, evaluates to 0 [-Wundef]
^~~~~~~~~~~~~~~~~~~~~~~~~~~
[108/1793] Compiling c object 'src/basic/basic@sta/path-util.c.o'
In file included from ../src/basic/path-util.c:40:0:
../src/basic/missing.h:762:6: warning: "HAVE_DECL_IFLA_GENEVE_LABEL" is not defined, evaluates to 0 [-Wundef]
^~~~~~~~~~~~~~~~~~~~~~~~~~~

```
2017-04-25 20:30:34 +05:30
Susant Sahani
4c7bd9cf6b networkd: route add missing search for route object.
Probaly this happened during rebase.
2017-04-25 19:59:39 +05:30
Susant Sahani
3ded5bbfda networkd: replace geneve parsers with generic config_parse_uint8 2017-04-25 18:46:04 +05:30
Susant Sahani
134e24e136 config parser: Introduce config_parse_uint8 2017-04-25 18:46:04 +05:30
Evgeny Vereshchagin
d5d5e06086 Merge pull request #5704 from keszybz/meson
meson: build systemd using meson
2017-04-25 16:10:15 +03:00
Zbigniew Jędrzejewski-Szmek
399e391fa6 nspawn: check cgroups after parsing options
Same justification as in previous commit.
2017-04-25 08:54:00 -04:00