summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* core/cgroup: fix embarrassing typov216-stableZbigniew Jędrzejewski-Szmek2015-01-311-1/+1
| | | | | https://github.com/docker/docker/issues/10280 (cherry picked from commit a3bd89ea99214db7ca2ad6ae59181d5119a54f09)
* logind: fix sd_eviocrevoke ioctl callPeter Hutterer2015-01-221-1/+1
| | | | | | | | | If the third argument is non-null, the kernel will always error out with EINVAL and devices won't get revoked. Reported-by: Benjamin Tissoires <benjamin.tissoires@gmail.com> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> (cherry picked from commit 8dbce34b0373923c7aa7d795024bbedb0a85c7ea)
* sysv-generator: only allow regular files in enumerate_sysv()Cristian Rodríguez2015-01-221-2/+4
| | | | | | | | | | Otherwise, if the directory contains other directories we fail at fopen in load_sysv() with EISDIR. (cherry picked from commit 0814f65ec6feba5efcf0f5b14c054f3c40e4cd8f) Conflicts: src/sysv-generator/sysv-generator.c
* tmpfiles: make sure not to concatenate non-absolute pathZbigniew Jędrzejewski-Szmek2015-01-221-5/+3
| | | | | | | | If the path is absolute was only checked later. Also do not check if path if absolute if we just specified it starting with a slash. (cherry picked from commit 222c47f47615a275b9a9862a45f9b91b01eb8be5)
* util: Add some missing hidden_file() suffixesMartin Pitt2015-01-221-0/+4
| | | | | | | dpkg itself also uses *.dpkg-dist, while .dpkg-{bak,backup,remove} are being used by dpkg-maintscript-helper. (cherry picked from commit c7088e4999f2e5dd33259948c806f4e2706e77ce)
* sysv-generator: Handle .sh suffixes when translating Provides:Martin Pitt2015-01-221-1/+14
| | | | | | | | | | | | | | | | | | | When deciding whether the provided name equals the file name in sysv_translate_facility(), also consider them equal if the file name has a ".sh" suffix. This was uncovered by commit b7e7184 which then created a symlink "<name>.service" to itself for ".sh" suffixed init.d scripts. For additional robustness, refuse to create symlinks to itself in add_alias(). Add test case which reproduces the bug. https://bugs.debian.org/775889 (cherry picked from commit 29e0e6d8c1f7f648b7c998880d034eaa3e58c53a) Conflicts: test/sysv-generator-test.py
* journal: Fix syslog forwarding without CAP_SYS_ADMINChristian Seiler2015-01-221-3/+3
| | | | | | | | | | | | | | | In case CAP_SYS_ADMIN is missing (like in containers), one cannot fake pid in struct ucred (uid/gid are fine if CAP_SETUID/CAP_SETGID are present). Ensure that journald will try again to forward the messages to syslog without faking the SCM_CREDENTIALS pid (which isn't guaranteed to succeed anyway, since it also does the same thing if the process has already exited). With this patch, journald will no longer silently discard messages that are supposed to be sent to syslog in these situations. https://bugs.debian.org/775067 (cherry picked from commit ccf23ad5faf228d450d263d7291156a948b61af2)
* zsh-completion: Do not interpret escape sequences in _filter_units_by_propertyWieland Hoffmann2015-01-221-1/+1
| | | | | | | | | This makes all functions that rely on _filter_units_by_property() (like _systemctl_{stop,kill,try_restart}) work with unit names that contain backslash escaped sequences (like automount units with spaces that are escaped to "\x20"). (cherry picked from commit e37b56c7355a9b84ac1e1893ab828b19aa1dc217)
* timesyncd: consider too long packets as invalidTopi Miettinen2015-01-221-1/+2
| | | | | | | | | | If the received NTP message from server didn't fit to our buffer, either it is doing something nasty or we don't know the protocol. Consider the packet as invalid. (David: add parantheses around conditional) (cherry picked from commit 43fcd650e5cb0836cfc9f667ed74b3bc0283a81c)
* hwdb: restore comments about MSI devicesMaxim Mikityanskiy2015-01-221-2/+4
| | | | | | | | | | Some time ago 95-keymap.rules was replaced by 60-keyboard.hwdb. Original comments for MSI laptops (that were in 95-keymap.rules) were removed, but I think they are important for understanding what's going on. https://bugs.freedesktop.org/show_bug.cgi?id=88412 (cherry picked from commit 288026bda90245ae6523441ce308d58ad1caefc8)
* login: rerun vconsole-setup when switching from vgacon to fbconRay Strode2015-01-162-0/+14
| | | | | | | | | | | | | | | | | | | The initialization performed by systemd-vconsole-setup is reset when changing console drivers (say from vgacon to fbcon), so we need to run it in that case. See http://lists.freedesktop.org/archives/systemd-devel/2014-October/023919.html http://lists.freedesktop.org/archives/systemd-devel/2014-October/024423.html http://lists.freedesktop.org/archives/systemd-devel/2014-November/024881.html This commit adds a udev rule to make systemd-vconsole-setup get run when the fbcon device becomes available. (david: moved into new file 90-vconsole.rules instead of 71-seats.rules; build-failures are on me, not on Ray) (cherry picked from commit f6ba8671d83f9fce9a00045d8fa399a1c07ba7fc)
* manager: print fatal errors on the console tooZbigniew Jędrzejewski-Szmek2015-01-163-16/+54
| | | | | | | | When booting in quiet mode, fatal messages would not be shown at all to the user. https://bugzilla.redhat.com/show_bug.cgi?id=1155468 (cherry-picked from cb6531bee6e6f66c3a9d85b24fed68fae7fad6ad)
* udev: fix NULL-ptr derefDavid Herrmann2015-01-161-1/+7
| | | | | | | Make sure we properly validate the return value of udev_device_get_sysattr_value(). It might be NULL for several reasons. (cherry picked from commit 975a900782528b57deafadc10457c7ffab0b9791)
* fix zsh completion typoMoez Bouhlel2015-01-161-1/+1
| | | | | | json-see => json-sse (cherry picked from commit d31f44e2818eb00213ca718e05b9bc624e7bfe3f)
* sysv-generator: always use fstatat() if we canLennart Poettering2015-01-161-10/+15
| | | | (cherry picked from commit 805e5dda0a01c99d231824e1a9c4a208418bf342)
* sysv-generator: fix memory leak on failureLennart Poettering2015-01-161-5/+9
| | | | | | | This fixes a memory leak introduced by 1ed0c19f81fd13cdf283c6def0168ce122a853a9 (cherry picked from commit b3fae863ef548add2d01c3956ce7720f4eeeca7e)
* man: remove "nofail" from systemd.swap(5)Zbigniew Jędrzejewski-Szmek2015-01-161-4/+1
| | | | | | As suggested by Marcos Felipe Rasia de Mello <marcosfrm@gmail.com>. (cherry picked from commit b50191c23f4cb6bac1180491b52e1df1e6c79a0f)
* doc: add cross-references between systemd.{link, netdev, network}Jan Engelhardt2015-01-163-0/+8
| | | | (cherry picked from commit bd763d350c7e8bf8b934bd45bc34ac35cdba2a63)
* zsh-completion: add missing completions for systemd-tmpfilesRonny Chevalier2015-01-161-1/+4
| | | | (cherry picked from commit ee14023fd5720959d3ae22b23ed663efc42608fa)
* zsh-completion: add missing completions for systemd-analyzeRonny Chevalier2015-01-161-5/+9
| | | | (cherry picked from commit 26bd71f06c842585b184c3c2f29376564102232d)
* zsh-completion: add missing -M completion for timedatectlRonny Chevalier2015-01-161-0/+1
| | | | (cherry picked from commit c285cb5c559638689e3d9e9894a81574ed69d560)
* zsh-completion: add missing completions for coredumpctlRonny Chevalier2015-01-161-0/+3
| | | | (cherry picked from commit 720e0be0f00f4a7fee808d1cf60db43970900588)
* core/mount: remove "fail" againZbigniew Jędrzejewski-Szmek2015-01-161-1/+1
| | | | | | | | | deb6120920 'man: there's actually no "fail" fstab option, but only "nofail" removed it from our documentation, which I missed. fstab(5) only mentions "auto", "noauto", and "nofail". Stick to those three. (cherry picked from commit 76c37ab6d205c95e8f43ffbc19553b936330195a)
* fstab-util: fix priority parsing and add testZbigniew Jędrzejewski-Szmek2015-01-162-2/+21
| | | | | | | | (cherry picked from commit a75f4e2a02e287294b21ae9e5b1f28b2f8faea39) Conflicts: src/shared/fstab-util.c src/test/test-fstab-util.c
* core/load-fragment: avoid allocating 0 bytes when given an invalid commandZbigniew Jędrzejewski-Szmek2015-01-161-1/+2
| | | | | | | | | | | With a command line like "@/something" we would allocate an array with 0 elements. Avoid that, and add a test too. (cherry picked from commit e01ff428993f0c126f010b5625002e6a0a8aff4a) Conflicts: src/core/load-fragment.c src/test/test-unit-file.c
* core/mount: filter out noauto,auto,nofail,fail optionsZbigniew Jędrzejewski-Szmek2015-01-161-3/+10
| | | | | | | | | | | | | | | | | | | | | We passed the full option string from fstab to /bin/mount. It would in turn pass the full option string to its helper, if it needed to invoke one. Some helpers would ignore things like "nofail", but others would be confused. We could try to get all helpers to ignore those "meta-options", but it seems better to simply filter them out. In our model, /bin/mount simply has no business in knowing whether the mount was configured as fail or nofail, auto or noauto, in the fstab. If systemd tells invokes a command to mount something, and it fails, it should always return an error. It seems cleaner to filter out the option, since then there's no doubt how the command should behave. https://bugzilla.redhat.com/show_bug.cgi?id=1177823 (cherry picked from commit 17a1c597c5f9be1c25431a764155cd50c0d074b7) Conflicts: src/core/mount.c
* .gitignore: add new tests and sort tests alphabeticallyZbigniew Jędrzejewski-Szmek2015-01-161-0/+1
| | | | | | | (cherry picked from commit 266fd0eabca6b7f10b013c7e4b5c06adc43e1b73) Conflicts: .gitignore
* Add new function to filter fstab optionsZbigniew Jędrzejewski-Szmek2015-01-1610-168/+325
| | | | | | | | | | | | | | | | | | | | | | | | | This fixes parsing of options in shared/generator.c. Existing code had some issues: - it would treate whitespace and semicolons as seperators. fstab(5) is pretty clear that only commas matter. And the syntax does not allow for spaces to be inserted in the field in fstab. Whitespace might be escaped, but then it should not seperate options. Treat whitespace and semicolons as any other character. - it assumed that x-systemd.device-timeout would always be followed by "=". But this is not guaranteed, hasmntopt will return this option even if there's no value. Uninitialized memory could be read. - some error paths would log, and inconsistently, some would just return an error code. Filtering is split out to a separate function and tests are added. Similar code paths in other places are adjusted to use the new function. (cherry picked from commit d15d0333be6a1ca7fdd99a1881d967b6be8f387a) Conflicts: src/core/mount.c
* man: document that 'loginctl activate' only takes a single argumentLennart Poettering2015-01-161-8/+7
| | | | (cherry picked from commit 3909ba34ec9b2c63d9938b6ba37af54a214fcff3)
* journal: do not check for number of filesZbigniew Jędrzejewski-Szmek2015-01-161-7/+0
| | | | | | | | Now that we bump rlimit, we do not really know how many files we can open. Remove the check. https://bugzilla.redhat.com/show_bug.cgi?id=1179980 (cherry picked from commit b914ea8d379b446c4c9fac4ba181771676ef38cd)
* systemctl: add missing output modes to help messageRonny Chevalier2015-01-161-2/+3
| | | | (cherry picked from commit 86d81e502bf7f923e4bb9c30de85f04e3497c839)
* shell-completion: add missing output modesRonny Chevalier2015-01-162-2/+2
| | | | | https://bugs.freedesktop.org/show_bug.cgi?id=88216 (cherry picked from commit e4e5a85f34db9b18a5ae84a659fcdaf7e494dec1)
* man: remove references to systemadm from systemctl man pageLennart Poettering2015-01-161-1/+1
| | | | | | The tool is badly maintained and we shouldn't refence such old cruft. (cherry picked from commit a03fe1a5d56be86fcc383090e191224590a1ab5d)
* doc: fix stale references to systemd-verifyDave Reisner2015-01-162-3/+3
| | | | | | This was subsumed into systemd-analyze back in 142c4ecaa98. (cherry picked from commit ee9c4ff4c89584ecf4e64f330fba627df099f4ad)
* path-util: plug leakTom Gundersen2015-01-161-0/+3
| | | | (cherry picked from commit a0539d7753d6a3ede87bf5e57d7c40d5bc1dc230)
* dbus1-generator: fix array sentinalDavid Herrmann2015-01-161-0/+1
| | | | | | | Add a {} sentinal entry so the config-iterator can properly iterate all array elements. Fixes a segfault in the dbus1-generator. (cherry picked from commit 34a317e1ccb0053d49383eb5e2f73dec97affc4c)
* journal: bump RLIMIT_NOFILE when journal files to 16K (if possible)Lennart Poettering2015-01-166-1/+23
| | | | | | | | | | | | | | | When there are a lot of split out journal files, we might run out of fds quicker then we want. Hence: bump RLIMIT_NOFILE to 16K if possible. Do these even for journalctl. On Fedora the soft RLIMIT_NOFILE is at 1K, the hard at 4K by default for normal user processes, this code hence bumps this up for users to 4K. https://bugzilla.redhat.com/show_bug.cgi?id=1179980 (cherry picked from commit de45d726034f33afdb0a185e62fc61bf10a0acd2) Conflicts: src/shared/util.h
* udevadm: don't hit an assert when obsolete parameters are passedLennart Poettering2015-01-161-4/+15
| | | | | https://bugzilla.redhat.com/show_bug.cgi?id=1178051 (cherry picked from commit 2ac23519d04835e8d8dfbce3d08d9ff76db58a68)
* sysv-generator: initialize units before use to ensure correct orderingMichael Biebl2015-01-161-4/+4
| | | | | | | | | | | | | | | The original loop called fix_order() on each service immediately after loading it, but fix_order() would reference other units which were not loaded yet. This resulted in bogus and unnecessary orderings based on the static start priorities. Therefore call load_sysv() for every init script when traversing them in enumerate_sysv(). This ensures that all units are loaded when fix_order() is called. Bug-Debian: https://bugs.debian.org/771118 (cherry picked from commit 1ed0c19f81fd13cdf283c6def0168ce122a853a9)
* sysv-generator: handle Provides: for non-virtual facility namesMichael Biebl2015-01-161-1/+24
| | | | | | | | | | | | | | | | | | | | | The list of provided facility names as specified via Provides: in the LSB header was originally implemented by adding those facilities to the Names= property via unit_add_name(). In commit 95ed3294c632f5606327149f10cef1eb34422862 the internal SysV support was replaced by a generator and support for parsing the Names= option had been removed from the unit file parsing in v186. As a result, Provides: for non-virtual facility was dropped when introducing the sysv-generator. Since quite a few SysV init scripts still use that functionality (at least in distros like Debian which have a large body of SysV init scripts), add back support by making those facility names available via symlinks to the unit filename to ensure correct orderings between SysV init scripts which use those facility names. Bug-Debian: https://bugs.debian.org/774335 (cherry picked from commit b7e7184634d573fb73143210962acce205f37f61)
* tmpfiles: make gcc shut upLennart Poettering2015-01-161-1/+1
| | | | (cherry picked from commit 1e95893a89b87e4ed656910e30c430e583bc8133)
* tmpfiles: finish with EXIT_FAILURE if anything failedZbigniew Jędrzejewski-Szmek2015-01-161-14/+22
| | | | | | Return value is successful only if everything succeeded. (cherry picked from commit 1db50423ba427565f92c05f3aaeab351860e30bc)
* journal-upload: enable curl debug output conditionallyZbigniew Jędrzejewski-Szmek2015-01-161-2/+3
| | | | | https://bugs.freedesktop.org/show_bug.cgi?id=86464 (cherry picked from commit 5dabb1e04e4521abf040e77a8322b70e7acdc7b0)
* man: clarify path escaping and reference systemd-escapeChris Atkinson2015-01-161-6/+11
| | | | | | | | | | This patch adds more detail to the description of how path escaping operates and provides a pointer to the systemd-escape program. Either would serve to answer the question raised in the bug report, so hopefully this will allow it to be closed. https://bugs.freedesktop.org/show_bug.cgi?id=87688 (cherry picked from commit 995084c7b4683190404ec90f8924b3433b5a1a18)
* cgroup: memory limits on / are not supportedZbigniew Jędrzejewski-Szmek2015-01-161-1/+1
| | | | (cherry picked from commit 75399049653f2d5e22032da70cf96f20d7b4d9a6)
* cgroup: fix error messageZbigniew Jędrzejewski-Szmek2015-01-161-0/+3
| | | | | | systemd[1]: Failed to set memory.limit_in_bytes on : Invalid argument (cherry picked from commit 6da139137eb4b0ee68ca4aa4ddfdab02e8a5cf98)
* journal: call connect() with dropped privilegesZbigniew Jędrzejewski-Szmek2015-01-161-24/+62
| | | | | | | | | | | | | | | | When systemd starts a service, it first opened /run/systemd/journal/stdout socket, and only later switched to the right user.group (if they are specified). Later on, journald looked at the credentials, and saw root.root, because credentials are stored at the time the socket is opened. As a result, all messages passed over _TRANSPORT=stdout were logged with _UID=0, _GID=0. Drop real uid and gid temporarily to fix the issue. (cherry picked from commit 524daa8c3e2bd63ad9dbc24711cdcfb45a65b2db) Conflicts: src/core/execute.c
* Steal {UID,GID,MODE}_INVALID definitionsZbigniew Jędrzejewski-Szmek2015-01-161-0/+4
| | | | Based on commit fed1e721fd0c81e60c77120539f34e16c2585634.
* core: fix typo in log messageMichael Biebl2015-01-161-1/+1
| | | | (cherry picked from commit 8b173b5e8ccbf946ee88af456792d8e720292d9b)
* cgroup: downgrade log messages when we cannot write to cgroup trees that are ↵Lennart Poettering2015-01-161-10/+28
| | | | | | mounted read-only (cherry picked from commit 714e2e1d56b97dcf2ebae2d0447b48f21e38a600)