summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2017-04-30more portable python shebangs (#5816)Jörg Thalheim
This is useful on systems like NixOS, where python3 is not in /usr/bin/python3 as well as for people using alternative ways to install python such as virtualenv/pyenv.
2017-04-30networkd: Add check to ensure link is down before attempting to enslave (#5853)Roelf Wichertjes
netdev to bond. There are situations where a link can be in an "UP" state when systemd-networkd attempts to add the link to a bond device. This is a problem because the bonding driver will refuse to enslave a link if it is in the "UP" state. This check ensures systemd-networkd sets the link to "DOWN" before attempting to add the link to the bond. Fixes #5838.
2017-04-30Merge pull request #5808 from ssahani/utilLennart Poettering
conf parser: add config_parse_ip_port
2017-04-29sd-boot: remove compiler warning (#5860)Max Resch
This small fixup removes a compiler warning when passing tcg (a const arg type) to the uefi call wapper, which does not define it as const. All other source files in sd-boot do this cast except measure.c, so let's fix that.
2017-04-29Merge pull request #5809 from keszybz/glob-safeMartin Pitt
Implement `safe_glob` that ignores "." and ".."
2017-04-29journald: fix assertion failure on journal_file_link_data. (#5843)Yusuke Nojima
When some error occurs during the initialization of JournalFile, the JournalFile can be left without hash tables created. When later trying to append an entry to that file, the assertion in journal_file_link_data() fails, and journald crashes. This patch fix this issue by checking *_hash_table_size in journal_file_verify_header().
2017-04-29networkd: replace geneve/vxlan port parsing with generic config_parse_ip_portSusant Sahani
2017-04-29config parser: Introduce config_parse_ip_portSusant Sahani
2017-04-29Merge pull request #5164 from Werkov/ordering-for-_netdev-devicesLennart Poettering
Ordering for _netdev devices
2017-04-29Merge pull request #5783 from keszybz/compiler-warning-fixesLennart Poettering
shared/extract-word: replace enum with int to avoid undefined behaviour
2017-04-29Merge pull request #5529 from ssahani/labelLennart Poettering
networkd / sd-netlink: add support for address label
2017-04-29Merge pull request #5852 from phomes/trivialMartin Pitt
Trivial cleanups
2017-04-29Merge pull request #5801 from keszybz/help-errorLennart Poettering
nspawn,cgtop: make sure --version, --help always work
2017-04-29sd-boot: remove unnecessary defines (#5848)Max Resch
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-29meson: do not link libshared dynamically against libudev (#5850)Michael Biebl
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-28tree-wide: remove unused variablesThomas Hindoe Paaboel Andersen
2017-04-28networkd: remove duplicated includeThomas Hindoe Paaboel Andersen
2017-04-28shared: assert the source for memcpyThomas Hindoe Paaboel Andersen
2017-04-27meson: add compiler flags for "--tpm" in EFI apps (#5829)Max Resch
Readds boot log tpm feature that was missing in meson by readding a defines in efi_conf.h
2017-04-27meson: do not install files from disabled features (#5811)userwithuid
Mirror conditions from Makefile.am.
2017-04-27Merge branch 'master' into meson-no-libudevZbigniew Jędrzejewski-Szmek
2017-04-27Merge pull request #5821 from mbiebl/meson-no-libiptcZbigniew Jędrzejewski-Szmek
Merge libfirewall into libshared, and link libshared to libip[46]tc directly.
2017-04-27build-sys: only install libexecdir/resolv.conf if resolved is enabled (#5826)userwithuid
as mentioned in https://github.com/systemd/systemd/pull/5811
2017-04-27execute: filter out "." for ".." in EnvironmentFile= globs tooZbigniew Jędrzejewski-Szmek
This doesn't really matter much, only in case somebody would use something strange like EnvironmentFile=/etc/something/.* Make sure that "." and ".." is not returned by that glob. This makes all our globbing patterns behave the same.
2017-04-27tmpfiles: use safe_glob()Zbigniew Jędrzejewski-Szmek
This filters out "." and ".." from glob results. Fixes #5655 and #5644. Any judgements on whether the path is "safe" are removed. We will not remove "/" under any name (including "/../" and such), but we will remove stuff that is specified using paths that include "//", "/./" and "/../". Such paths can be created when joining strings automatically, or for other reasons, and people generally know what ".." and "." is. Tests are added to make sure that the helper functions behave as expected.
2017-04-27basic: add readdir_no_dot and safe_glob functionsZbigniew Jędrzejewski-Szmek
safe_glob filters out "." and "..". This converts all users of glob_extend() and glob_exists() to safe_glob.
2017-04-26improve readability (#5814)Matija Skala
2017-04-26update-done: Create using a temporary file (#5789)codekipper
'/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-26meson: get rid of libfirewallMichael Biebl
2017-04-26meson: drop libiptc link dependencies from libsharedMichael Biebl
The only place where libiptc is needed is in libfirewall, which already takes care of linking against libiptc.
2017-04-26meson: drop implicit libudev link dependenciesMichael Biebl
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-26meson: add address label to build systemSusant Sahani
2017-04-26networkd: add support for address labelSusant Sahani
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-26sd-netlink: add support for address labelSusant Sahani
2017-04-26main: improve RLIMIT_NOFILE handling (#5795)Christian Brauner
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-25test-sizeof: print the size of an enumZbigniew Jędrzejewski-Szmek
2017-04-25shared/extract-word: replace enum with unsigned int to avoid undefined behaviourZbigniew Jędrzejewski-Szmek
../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-25importd: support SUSE style checksums supplementary (#5800)tblume
some small changes to make the code look better
2017-04-25bus: report builtins in GetManagedObjects() (#5799)David Herrmann
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-25Merge pull request #5803 from ssahani/utilZbigniew Jędrzejewski-Szmek
config_parser: add util function config_parse_uint8
2017-04-25core/device: Use JobRunningTimeoutSec= for device unitsMichal Koutný
Device job timeouts should respect possible device job dependencies so we set JobRunningTimeoutSec= by default.
2017-04-25fstab-generator: Apply _netdev option also to device unitsMichal Koutný
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-25job: add JobRunningTimeoutSec for JOB_RUNNING stateMichal Koutný
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-25meson: add geneve to build systemSusant Sahani
``` [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-25networkd: route add missing search for route object.Susant Sahani
Probaly this happened during rebase.
2017-04-25networkd: replace geneve parsers with generic config_parse_uint8Susant Sahani
2017-04-25config parser: Introduce config_parse_uint8Susant Sahani
2017-04-25Merge pull request #5704 from keszybz/mesonEvgeny Vereshchagin
meson: build systemd using meson
2017-04-25nspawn: check cgroups after parsing optionsZbigniew Jędrzejewski-Szmek
Same justification as in previous commit.
2017-04-25cgtop: check cgroups after parsing optionsZbigniew Jędrzejewski-Szmek
We would try to determine controllers even if not necessary: <mock-chroot><mock-chroot> sh-4.4# ./systemd-cgtop --help Failed to determine supported controllers: No medium found <mock-chroot><mock-chroot> sh-4.4# ./systemd-cgtop --version Failed to determine supported controllers: No medium found This broke check-help-systemd-cgtop under mock, but even apart from that, the program should be able to print --version in any circumstances.