summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2017-02-21Makefile.am: add a `\` (#5422)Susant Sahani
fixes: #5419
2017-02-22Merge pull request #5409 from keszybz/test-env-util-memleakEvgeny Vereshchagin
test-env-util: fix typo leading to memleak
2017-02-21NEWS: add a comment about udev's MemoryDenyWriteExecute= setting (#5414)Lennart Poettering
Apparently if people are adventurous enought to run Go programs in udev rules they might run into problems with MemoryDenyWriteExecute=. I am pretty sure the best way out is for the toolchain generating programs incompatible with W^X to be fixed, but this still deserves documentation. This was forgotten for the 232 release, hence add it now, retroactively. See: #5400
2017-02-22udev: Introduce UDEV_PROPAGATE_LOG macro (#5302)Susant Sahani
As per commit 25e773e "udev: switch to systemd logging functions" Now log_set_max_level() in udev_new() overwites system wide log level. Propagate the udev.conf setting to log_set_max_level() only if udev_new() is called from within udevd or one of its helpers. Introduce a UDEV_PROPAGATE_LOG macro that we set with -D on the gcc command line for all udev binaries we build, but not for any others. The log_set_max_level() call is guarded by an ifdef check for that macro, so that it only effects the various udev binaries. closes: #4525
2017-02-22coredump: fix assign in while loop (#5417)Thomas H. P. Andersen
From: #5393
2017-02-21Merge pull request #5411 from poettering/various-pre-v233-fixesZbigniew Jędrzejewski-Szmek
Various pre v233 fixes.
2017-02-21Revert "basic/strv: allow NULLs to be inserted into strv"Lennart Poettering
This reverts commit 18f71a3c8174774c5386c4aba94d54f3b5c36a84. According to @keszybz we don't need this anymore, hence drop it: https://github.com/systemd/systemd/pull/5131/commits/18f71a3c8174774c5386c4aba94d54f3b5c36a84#r102232368
2017-02-21log: never log into foreign fd #2 in PID 1 or its pre-execve() childrenLennart Poettering
Fixes: #5401
2017-02-21man: document that ProtectKernelTunables= and ProtectControlGroups= implies ↵Lennart Poettering
MountAPIVFS= See: #5384
2017-02-21bootctl: create loader.conf only if it doesn't exist yetLennart Poettering
If the snippet aleady exists, don't do anything, as the file was already installed then. (This also reworks the code to create the file atomically) Fixes: #5396
2017-02-21bootctl: rework file copy routines to reuse copy_bytes() from copy.cLennart Poettering
Also, make sure to reuse temporary file handling used elsewhere.
2017-02-21copy: a plain unlink() works here tooLennart Poettering
2017-02-21sd-netlink: don't give up on netlink on ENOBUFSLennart Poettering
If our netlink input buffer overruns the kernel will send us ENOBUFS on the next recvmsg(). Don't consider this a complete failure resulting in closing of the netlink socket. Instead, simply continue (after debug logging). Of course, ideally we'd have a better strategy for this, and would have a way to resync if this happens (as well as a scheme for cancelling all ongoing asynchronous transactions), but for now let's at least not choke fatally, and simply accept that we lost some messages and continue. Note that if we lose messages when synchronously waiting for an operation to complete, we'll still propagate the ENOBUFS up, to make the individual transaction fail. See: #5398 (This bug does not properly fix the issue, hence we should leave the bug open.)
2017-02-21dissect: generate friendly error messages for more error conditionsLennart Poettering
Fixes: #5408
2017-02-21Fix check for signal in set (#5416)stuart-mclaren
IN_SET(SIGCONT, SIGKILL) will always evaluate to false. The signal needs to be included as the first argument. Fixup for 26f417d3e8dd2522adfdc4c8fed4c36fa40f48fc.
2017-02-21NEWS: document ExecStartPost change in NEWS (#5415)Lennart Poettering
Follow up for #4843. Taking @joukewitteveen's suggestion into account: https://github.com/systemd/systemd/pull/4843#issuecomment-280306811
2017-02-21Merge pull request #5412 from AsciiWolf/https-urls-2Zbigniew Jędrzejewski-Szmek
More https:// in URLs fixes.
2017-02-21NEWS, README: use www prefix in freedesktop.org URLsAsciiWolf
2017-02-21catalog: use https:// in URLsAsciiWolf
2017-02-21docs: use https:// in URLsAsciiWolf
2017-02-21basic/env-util: drop leftover commentZbigniew Jędrzejewski-Szmek
2017-02-21Merge pull request #5410 from AsciiWolf/https-urlsZbigniew Jędrzejewski-Szmek
Use https:// in URLs when possible.
2017-02-21basic/fileio: use IN_SETZbigniew Jędrzejewski-Szmek
2017-02-21basic/fileio: fix memleak when discarding an invalid variableZbigniew Jędrzejewski-Szmek
Fixes #5405.
2017-02-21mount-tools: silence gcc warning about uninit varZbigniew Jędrzejewski-Szmek
2017-02-21test-env-util: fix typo leading to memleakZbigniew Jędrzejewski-Szmek
Partially fixes #5405.
2017-02-21man: use https:// in URLsAsciiWolf
2017-02-21NEWS: use https:// in URLsAsciiWolf
2017-02-21README, README.md: use https:// in URLsAsciiWolf
2017-02-21configure.am: use https:// in URLsAsciiWolf
2017-02-21NEWS: fix typos, grammar, and small errors (#5407)Martin Pitt
2017-02-21Merge pull request #5406 from poettering/v233-prepMartin Pitt
V233 preparation
2017-02-21build-sys: bump package versionLennart Poettering
2017-02-21start putting together a NEWS entry for 233Lennart Poettering
2017-02-21systemctl: suffix cmdline options that take arguments with =Lennart Poettering
Just to clarify, that these options expect arguments, following our usual style.
2017-02-21Merge pull request #5131 from keszybz/environment-generatorsLennart Poettering
Environment generators
2017-02-21coredumpctl: print a hint if any coredumps are in flight (#5393)Zbigniew Jędrzejewski-Szmek
Fixes #4685.
2017-02-21Merge pull request #5390 from keszybz/coverityLennart Poettering
Clarifications to make coverity happy
2017-02-20test-env-util: add more tests for "extended syntax"Zbigniew Jędrzejewski-Szmek
This is only the tip of the iceberg. It would be great to test all kinds of nesting, handling of invalid syntax, etc., but I'm leaving that for later.
2017-02-20basic: support default and alternate values for env expansionRay Strode
Sometimes it's useful to provide a default value during an environment expansion, if the environment variable isn't already set. For instance $XDG_DATA_DIRS is suppose to default to: /usr/local/share/:/usr/share/ if it's not yet set. That means callers wishing to augment XDG_DATA_DIRS need to manually add those two values. This commit changes replace_env to support the following shell compatible default value syntax: XDG_DATA_DIRS=/foo:${XDG_DATA_DIRS:-/usr/local/share/:/usr/share} Likewise, it's useful to provide an alternate value during an environment expansion, if the environment variable isn't already set. For instance, $LD_LIBRARY_PATH will inadvertently search the current working directory if it starts or ends with a colon, so the following is usually wrong: LD_LIBRARY_PATH=/foo/lib:${LD_LIBRARY_PATH} To address that, this changes replace_env to support the following shell compatible alternate value syntax: LD_LIBRARY_PATH=/foo/lib${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}} [zj: gate the new syntax under REPLACE_ENV_ALLOW_EXTENDED switch, so existing callers are not modified.]
2017-02-20basic: add replace_env_n functionRay Strode
It's like replace_env, but lets you pass in a substring.
2017-02-20build-sys: make environment.d support conditionalZbigniew Jędrzejewski-Szmek
We have ./configure switches for various parts of non-essential functionality, let's add one for this new stuff too. Support for environment generators is not conditional — if you don't want them, just don't install any.
2017-02-20Tighten checking for variable validityZbigniew Jędrzejewski-Szmek
In the future we might want to allow additional syntax (for example "unset VAR". But let's check that the data we're getting does not contain anything unexpected.
2017-02-20Allow braceless variables to be expandedZbigniew Jędrzejewski-Szmek
(Only in environment.d files.) We have only basic compatibility with shell syntax, but specifying variables without using braces is probably more common, and I think a lot of people would be surprised if this didn't work.
2017-02-20basic/env-util: use _cleanup_ in replace_env()Zbigniew Jędrzejewski-Szmek
2017-02-20build-sys,man: load /etc/environment and describe the new environment.d syntaxRay Strode
Add support for /etc/environment and document the changes to the user manager to automatically import environment *.conf files from: ~/.config/environment.d/ /etc/environment.d/ /run/environment.d/ /usr/local/lib/environment.d/ /usr/lib/environment.d/ /etc/environment
2017-02-20environment-generator: new generator to peruse environment.dZbigniew Jędrzejewski-Szmek
Why the strange name: the prefix is necessary to follow our own advice that environment generators should have numerical prefixes. I also put -d- in the name because otherwise the name was very easy to mistake with systemd.environment-generator. This additional letter clarifies that this on special generator that supports environment.d files.
2017-02-20basic: add new merge_env_file functionRay Strode
merge_env_file is a new function, that's like load_env_file, but takes a pre-existing environment as an input argument. New environment entries are merged. Variable expansion is performed. Falling back to the process environment is supported (when a flag is set). Alternatively this could be implemented as passing an additional fallback environment array, but later on we're adding another flag to allow braceless expansion, and the two flags can be combined in one arg, so there's less stuff to pass around.
2017-02-20basic: drop unnecessary strempty() call in replace_envRay Strode
strempty() converts a NULL value to empty string, so that it can be passed on to functions that don't support NULL. replace_env calls strempty before passing its value on to strappend. strappend supports NULL just fine, though, so this commit drops the strempty call.
2017-02-20basic: fix strv_env_get_n for unclean arraysRay Strode
If an environment array has duplicates, strv_env_get_n returns the results for the first match. This is wrong, because later entries in the environment are supposed to replace earlier entries.