summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* sysctl.d: replace URL of SysRq key documentation (#5274)Peter Körner2017-02-081-1/+2
| | | | The kernel documentation page is not distribution specific and also more likely to be up to date than the Fedora wiki page referenced previously.
* nspawn: Add support for sysroot pivoting (#5258)Philip Withnall2017-02-088-1/+211
| | | | | | | | | Add a new --pivot-root argument to systemd-nspawn, which specifies a directory to pivot to / inside the container; while the original / is pivoted to another specified directory (if provided). This adds support for booting container images which may contain several bootable sysroots, as is common with OSTree disk images. When these disk images are booted on real hardware, ostree-prepare-root is run in conjunction with sysroot.mount in the initramfs to achieve the same results.
* test: Fix a maybe-uninitialised compiler warning (#5269)Philip Withnall2017-02-081-1/+1
| | | | | | | | The compiler warning is a false positive, since n_addresses is always initialised on the success path from parse_argv(), but the compiler obviously can’t work that out. Fixes: src/test/test-nss.c:426:9: warning: 'n_addresses' may be used uninitialized in this function [-Wmaybe-uninitialized]
* seccomp: MemoryDenyWriteExecute= should affect both mmap() and mmap2() (#5254)Lennart Poettering2017-02-084-35/+106
| | | | | | | On i386 we block the old mmap() call entirely, since we cannot properly filter it. Thankfully it hasn't been used by glibc since quite some time. Fixes: #5240
* Merge pull request #5231 from keszybz/mask-wantsLennart Poettering2017-02-0811-115/+473
|\ | | | | Mask individual .wants/.requires symlinks
| * tests: add dropin dependency testsFranck Bui2017-02-074-0/+328
| | | | | | | | | | | | [zj: tests assertions adjusted to the different logic in which masking of a dependency through one name, does not forbid the dependency being added through another name.]
| * core/load-dropin: add more sanity checks on .wants/.requires symlinksZbigniew Jędrzejewski-Szmek2017-02-071-1/+41
| | | | | | | | | | Feb 04 22:35:42 systemd[1462]: foo.service: Wants dependency dropin /home/zbyszek/.config/systemd/user/foo.service.wants/diffname.service target ../barbar.service has different name Feb 04 22:35:42 systemd[1462]: foo.service: Wants dependency dropin /home/zbyszek/.config/systemd/user/foo.service.wants/wrongname is not a valid unit name, ignoring
| * core: drop code that is now unusedZbigniew Jędrzejewski-Szmek2017-02-072-71/+25
| |
| * core: implement masking of .wants/.requires symlinksZbigniew Jędrzejewski-Szmek2017-02-071-0/+7
| | | | | | | | | | | | | | | | | | Fixes #1169. Fixes #4830. Example log errors: Feb 04 22:13:28 systemd[1462]: foo.service: Wants dependency on empty_file.service is masked by /home/zbyszek/.config/systemd/user/foo.service.wants/empty_file.service, ignoring Feb 04 22:13:28 systemd[1462]: foo.service: Wants dependency on masked.service is masked by /home/zbyszek/.config/systemd/user/foo.service.wants/masked.service, ignoring
| * core: when loading .wants and .requires, follow the same logic as .d conf ↵Zbigniew Jędrzejewski-Szmek2017-02-075-46/+75
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | dropins Essentially, instead of sequentially adding deps based on all symlinks encountered in .wants and .requires dirs for each name and each unit file load path, iteratate over the load paths and unit names gathering symlinks, then order them based on priority, and then iterate over the final list, adding dependencies. This patch doesn't change the logic too much, except that the order in which dependencies are applied might be different. It wasn't defined before, so that not really a change. Adding filtering on the symlinks is left for later patches.
| * basic/dirent-util: allow suffix to be omitted for dirent_is_file_with_suffixZbigniew Jędrzejewski-Szmek2017-02-072-3/+3
| |
* | dissect: don't honour NOAUTO flags when looking for ESP (#5224)Lennart Poettering2017-02-072-3/+38
| | | | | | | | | | | | | | | | | | | | The flag is originally defined for "basic data partitions", but not for the ESP. We reuse it for the various partitions defined by the Discoverable Partitions Spec, but it isn't defined for the ESP, hence don't check for it. Instead, do check for GPT_FLAG_NO_BLOCK_IO_PROTOCOL, as that flag actually is defined for all partition types, and recommended to use by the UEFI spec. Fixes: #5218
* | man: s/--unmount/--umount/g (#5243)Lennart Poettering2017-02-071-1/+1
| | | | | | | | | | | | | | | | | | The --help text currently uses the "--umount" spelling, hence to the same in the man page too. And let's settle on "umount" instead of "unmount" here, since most folks probably expect that when typing in a command, as util-linux' tool is called "umount" after all, and so is the symlink "systemd-umount" we install.
* | Merge pull request #5263 from poettering/install-aliasZbigniew Jędrzejewski-Szmek2017-02-072-47/+126
|\ \
| * | install: remove some unused parameters from various functions in install.cLennart Poettering2017-02-071-10/+4
| | | | | | | | | | | | No need to pass what we don't use.
| * | install: when a template unit is instantiated via a /usr symlink, consider ↵Lennart Poettering2017-02-072-35/+107
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | it enabled If a unit foobar@.service stored below /usr is instantiated via a symlink foobar@quux.service also below /usr, then we should consider the instance statically enabled, while the template itself should continue to be considered enabled/disabled/static depending on its [Install] section. In order to implement this we'll now look for enablement symlinks in all unit search paths, not just in the config and runtime dirs. Fixes: #5136
| * | install: don't enter loop when traversing a template symlinksLennart Poettering2017-02-071-3/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Before this patch, if we'd encounter an instance or template symlink while traversing a chain of symlinks we'd fill in the instance name and retry the iteration. This makes no sense if the resulting name is actually the same as we are coming from, as we'd just spin a couple of times in the loop, until the UNIT_FILE_FOLLOW_SYMLINK_MAX iteration limit is hit. Fix this, by accepted the symlink as it is, if it identical to what we filled in.
* | | Revert "fix handling of templates instantiated in /usr/lib (#5263)"Zbigniew Jędrzejewski-Szmek2017-02-072-126/+47
| | | | | | | | | | | | | | | | | | This reverts commit 0698b674920aa8a56dbd6a625729a35e5ae9c5df. It was supposed to be merged, not squashed.
* | | fix handling of templates instantiated in /usr/lib (#5263)Lennart Poettering2017-02-072-47/+126
| | | | | | | | | | | | Fix handling of templates instantiated in /usr/lib. All work to fix #5136.
* | | man: document *.d/ drop-in file order (#5262)Lucas Werkmeister2017-02-071-2/+3
| | |
* | | tmpfiles.d: set primary group rights to r-w (#5265)lewo2017-02-071-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If the /var/log/journal directory is created with rigths 700, the application of an ACL rules without any primary group right sets it to 0. A chmod 755 on this file will then only set the ACL mask and let the ACL primary group right to 0. The directory is then unreadable for the primary group. This patch explicitly sets the primary group to avoid this problem. Fixes #5264.
* | | Merge pull request #5219 from poettering/run-size-checkZbigniew Jędrzejewski-Szmek2017-02-075-8/+83
|\ \ \ | | | | | | | | before reloading, check that /run/systemd has enough space
| * | | core: use a memfd for serializationLennart Poettering2017-02-061-6/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If we can, use a memfd for serializing state during a daemon reload or reexec. Fall back to a file in /run/systemd or /tmp only if memfds are not available. See: #5016
| * | | manager: refuse reloading/reexecing when /run is overly fullLennart Poettering2017-02-065-2/+73
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Let's add an extra safety check: before entering a reload/reexec, let's verify that there's enough room in /run for it. Fixes: #5016
* | | | Merge pull request #5259 from lucaswerkmeister/manLennart Poettering2017-02-073-8/+7
|\ \ \ \ | | | | | | | | | | Manpage improvements
| * | | | man: document that systemd-run --on-* cannot be used with --ptyLucas Werkmeister2017-02-071-2/+2
| | | | |
| * | | | man: use systemctl enable --nowLucas Werkmeister2017-02-071-4/+2
| | | | |
| * | | | man: add cross-referenceLucas Werkmeister2017-02-071-2/+3
| | |/ / | |/| | | | | | | | | | | | | | | | | | The third paragraph of the Description already linked to systemd.resource-control(5), but it was missing from the list of additional options for the [Service] section.
* | | | Merge pull request #5261 from AsciiWolf/masterLennart Poettering2017-02-072-105/+80
|\ \ \ \ | |/ / / |/| | | l10n: various fixes
| * | | l10n: fix file permissions of Indonesian translationAsciiWolf2017-02-071-0/+0
| | | |
| * | | l10n: fix strings formatting in Czech translationAsciiWolf2017-02-071-105/+80
|/ / /
* | | Merge pull request #5225 from poettering/seccomp-socketEvgeny Vereshchagin2017-02-074-33/+49
|\ \ \ | | | | | | | | make RestrictAddressFamilies= officially a NOP on i386
| * | | man: Document that RestrictAddressFamilies= doesn't work on s390/s390x/...Lennart Poettering2017-02-061-33/+22
| | | | | | | | | | | | | | | | | | | | We already say that it doesn't work on i386, but there are more archs like that apparently.
| * | | seccomp: RestrictAddressFamilies= is not supported on i386/s390/s390x, make ↵Lennart Poettering2017-02-063-0/+27
| | | | | | | | | | | | | | | | | | | | | | | | it a NOP See: #5215
* | | | Merge pull request #5239 from poettering/notify-access-allEvgeny Vereshchagin2017-02-064-24/+52
|\ \ \ \ | | | | | | | | | | man: document that sd_notify() is racy in some cases
| * | | | notify: document that we fake the PID when sending sd_notify()Lennart Poettering2017-02-061-0/+7
| | | | |
| * | | | man: document that sd_notify() is racy in some casesLennart Poettering2017-02-063-24/+40
| | | | |
| * | | | update TODOLennart Poettering2017-02-061-0/+5
| |/ / /
* | | | update TODOLennart Poettering2017-02-061-0/+3
| | | |
* | | | README: suffix unit file options with "="Lennart Poettering2017-02-061-2/+2
| | | |
* | | | update TODOLennart Poettering2017-02-061-0/+9
| | | |
* | | | update TODOLennart Poettering2017-02-061-0/+5
| |/ / |/| |
* | | systemd-mount: add missing fsck argument (#5238)Lukas Rusak2017-02-061-0/+1
|/ /
* | Merge pull request #5237 from keszybz/explicit-bzeroLennart Poettering2017-02-068-39/+36
|\ \ | | | | | | Use `explicit_bzero`
| * | journalctl: replace string_erase with memset('x')Zbigniew Jędrzejewski-Szmek2017-02-051-1/+3
| | | | | | | | | | | | | | | | | | The compiler should not be able to optimize out the memset, because optarg is global memory. In this case, not making the argument an empty string is nicer, so just use an open-coded version of string_erase from before the explicit_bzero change.
| * | treewide: replace homegrown memory_erase with explicit_bzeroZbigniew Jędrzejewski-Szmek2017-02-057-38/+33
| | | | | | | | | | | | | | | | | | | | | | | | explicit_bzero was added in glibc 2.25. Make use of it. explicit_bzero is hardcoded to zero the memory, so string erase now truncates the string, instead of overwriting it with 'x'. This causes a visible difference only in the journalctl case.
* | | cgls: look at the right variable in error path (#5234)Zbigniew Jędrzejewski-Szmek2017-02-061-3/+3
|/ / | | | | CID #1370779.
* | resolved: downgrade "processing query..." message to debug (#5233)Felipe Sateler2017-02-051-1/+1
| | | | | | It doesn't really add much value in normal operation and just spams the log.
* | Merge pull request #5223 from keszybz/root-workdirMartin Pitt2017-02-052-9/+5
|\ \ | | | | | | Fix WorkDir=~ with empty User=
| * | core/execute: pass the username to utmp/wtmp databaseZbigniew Jędrzejewski-Szmek2017-02-031-2/+3
| | | | | | | | | | | | | | | | | | | | | Before previous commit, username would be NULL for root, and set only for other users. So the argument passed to utmp_put_init_process() would be "root" for other users and NULL for root. Seems strange. Instead, always pass the username if available.