summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2015-03-23sd-rtnl: handle empty multi-part message from the kernelAlin Rauta
We strips out NLMSG_DONE piece from a multi-part message adding into the receive queue only the messages containing actual data. If we send a request to the kernel for getting the forwarding database table (just an example), the response will be a multi-part message like below: 1. FDB entry 1; 2. FDB entry 2; 3. NLMSG_DONE; We strip out "3. NLMSG_DONE;" part and places into the receive queue a pointer to "1. FDB entry 1; 2. FDB entry 2". But if the FDB table is empty, the respose from the kernel will look like below: 1. NLMSG_DONE; We strip out "1. NLMSG_DONE;" part and since there is no actual data got, it continues waiting until reaching timeout. Therefore, a call to "sd_rtnl_call" to send and wait for a response from kernel will exit with timeout which is interpreted as error in communication. This patch puts the NLMSG_DONE message on the receive queue if it ends an empty multi-part message. This situation is detected in sd_rtnl_call() and in the callback code and NULL is returned to the caller instead. [tomegun: - added/reworded commit message - extend the same support to sd_rtnl_call_async() - drop debug logging from library, we only do this if something is really wrong, but an empty multi-part message is perfectly normal - modernize the code we touch whilst we are at it]
2015-03-22man: add journal-remote.conf(5)Chris Morgan
2015-03-21timedated: fix enable/disable reversalZbigniew Jędrzejewski-Szmek
Bug introduced in 984f1b1d1b. The state was flipped later, but the enable/disable routine made use of the state to decide what to do. context_enable_ntp() and context_start_ntp() now get the desired state directly, so the Context parameter can be removed.
2015-03-21core: make SELinux enable/disable check symmetricZbigniew Jędrzejewski-Szmek
We'd use the generic check for disable, and a unit-file-specific one for enable. Use the more specific one both ways. systemd[1]: SELinux access check scon=system_u:system_r:systemd_timedated_t:s0 tcon=system_u:system_r:init_t:s0 tclass=system perm=disable path=(null) cmdline=/usr/lib/systemd/systemd-timedated: -13 systemd[1]: SELinux access check scon=system_u:system_r:systemd_timedated_t:s0 tcon=system_u:object_r:systemd_unit_file_t:s0 tclass=service perm=enable path=/usr/lib/systemd/system/systemd-timesyncd.service cmdline=/usr/lib/systemd/systemd-timedated: -13 https://bugzilla.redhat.com/show_bug.cgi?id=1014315
2015-03-21timedated: flip internal status after executing operationZbigniew Jędrzejewski-Szmek
timedated would set the internal status before calling out to systemd to do the actual change. When the operation was refused because of a SELinux denial, the state kept in timedated would get out of sync, and the second call from timedatectl would appear to succeed. https://bugzilla.redhat.com/show_bug.cgi?id=1014315
2015-03-21missing.h: add more btrfs types and definesMichael Olbrich
2015-03-21fstab-generator: ignore invalid swap priorityZbigniew Jędrzejewski-Szmek
A failed priority is not something worth stopping boot over. Most people have only one swap device, in which case priority is irrelevant, and even if there is more than one swap device, they are all usable, and ignoring the priority field should only result in some loss of performance. The kernel will report the priority as -1 if not set, so it's easy for people to make this mistake. https://bugzilla.redhat.com/show_bug.cgi?id=1204336
2015-03-21networkd: use LOG_WARN not LOG_ERR for non-fatal errorsZbigniew Jędrzejewski-Szmek
2015-03-21shared/mkdir: do not set errno in addition to return valueZbigniew Jędrzejewski-Szmek
All callers look at the return value anyway.
2015-03-20rules: avoid 'device/' accessesDavid Herrmann
We should never access parents, as the sysfs hierarchy is in no way stable. Use KERNELS== etc. to match on a parent, then access it via $attr{} (which accesses the matching device, not the current device).
2015-03-20rules: fix input-name for keyboard rulesDavid Herrmann
We match on the evdev node, but only the parent has a "name" attribute. Use $attr{device/name} to access it. This is borked since 2013, I wonder how that ever worked? Maybe this will suddenly fix all the DMI-based key detections. Thanks to Peter Hutterer for catching this!
2015-03-19man: add h/H to tmpfiles.d(5)Goffredo Baroncelli
2015-03-19Allow systemd-tmpfiles to set the file/directory attributesGoffredo Baroncelli
Allow systemd-tmpfiles to set the file/directory attributes, like chattr(1) does. Two more commands are added: 'H' and 'h' to set the attributes, recursively and not.
2015-03-19Add change_attr_fd()Goffredo Baroncelli
Add change_attr_fd() function to modify the file/directory attribute.
2015-03-19po: updated Swedish translationSebastian Rasmussen
https://bugs.freedesktop.org/show_bug.cgi?id=89598
2015-03-19hwdb: ship ids-update.pl & sdio.ids in the release tarballsDimitri John Ledkov
This makes it easier to apply stable branch patches on top of the release tarball.
2015-03-19hwdb: add HP ProBook 450G0Zbigniew Jędrzejewski-Szmek
https://bugs.freedesktop.org/show_bug.cgi?id=89684
2015-03-19fsck: use %zu for size_tThomas Hindoe Paaboel Andersen
cur and max were changed to size_t in ac6e2f0dfc2e800f01c79ecea2b811914110a7b9 update the format accordingly.
2015-03-19resolved: Do not add .busname dependencies, when compiling without kdbus.Dimitri John Ledkov
2015-03-19strv: return NULL from strv_free()David Herrmann
We always return NULL/invalid-object from destructors, fix strv_free() to do the same.
2015-03-19bootctl: drop redundant parse_argv()David Herrmann
We already call parse_argv() from main(), don't call it here again.
2015-03-18libudev: private - introduce udev_device_new_from_synthetic_event()Tom Gundersen
This allows set_action(), read_uevent_file() and read_db() to be made internal to libudev.
2015-03-17console-getty.service: don't start when /dev/console is missingJan Pazdziora
Create minimal image which runs systemd FROM rhel7.1 RUN yum install -y /usr/bin/ps ENV container docker CMD [ "/usr/sbin/init" ] When you run the container without -t, the process /sbin/agetty --noclear --keep-baud console 115200 38400 9600 is not happy and checking the journal in the container, there is a stream of Mar 13 04:50:15 11bf07f59fff agetty[66]: /dev/console: No such file or directory Mar 13 04:50:25 11bf07f59fff systemd[1]: console-getty.service holdoff time over, scheduling restart. Mar 13 04:50:25 11bf07f59fff systemd[1]: Stopping Console Getty... Mar 13 04:50:25 11bf07f59fff systemd[1]: Starting Console Getty... Mar 13 04:50:25 11bf07f59fff systemd[1]: Started Console Getty. Mar 13 04:50:25 11bf07f59fff agetty[67]: /dev/console: No such file or directory Mar 13 04:50:35 11bf07f59fff systemd[1]: console-getty.service holdoff time over, scheduling restart. Mar 13 04:50:35 11bf07f59fff systemd[1]: Stopping Console Getty... Mar 13 04:50:35 11bf07f59fff systemd[1]: Starting Console Getty... Mar 13 04:50:35 11bf07f59fff systemd[1]: Started Console Getty. Mar 13 04:50:35 11bf07f59fff agetty[74]: /dev/console: No such file or directory Mar 13 04:50:45 11bf07f59fff systemd[1]: console-getty.service holdoff time over, scheduling restart. Mar 13 04:50:45 11bf07f59fff systemd[1]: Stopping Console Getty... Mar 13 04:50:45 11bf07f59fff systemd[1]: Starting Console Getty...
2015-03-16core/namespace: fix path sortingMichal Schmidt
The comparison function we use for qsorting paths is overly indifferent. Consider these 3 paths for sorting: /foo /bar /foo/foo qsort() may compare: "/foo" with "/bar" => 0, indifference "/bar" with "/foo/foo" => 0, indifference and assume transitively that "/foo" and "/foo/foo" are also indifferent. But this is wrong, we want "/foo" sorted before "/foo/foo". The comparison function must be transitive. Use path_compare(), which behaves properly. Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=1184016
2015-03-16shared: add path_compare(), an ordering path comparisonMichal Schmidt
... and make path_equal() a simple wrapper around it.
2015-03-16rules: keyboard - prefix "atkbd" match strings like we prefix the "name" stringsKay Sievers
2015-03-16rules: keyboard - only search the "input" subsystem for the modaliasKay Sievers
2015-03-16fsckd: check if plymouth is running before attempting connectionDidier Roche
2015-03-16fsckd: Don't use strjoina on gettext() callDidier Roche
2015-03-16shared - reinstate plymouth_running()Tom Gundersen
This will be used by fsckd. This reverts part of 031886edfc6e96ab778c241035a8d00fb0de99d3.
2015-03-16core: Remove explicit Plymouth integrationJasper St. Pierre
Even if plymouth is running, it might have not displayed the splash yet, so we'll see a few lines on fbcon when we should have otherwise had nothing. Plymouth integration was added to systemd in commit 6faa11140bf776cdaeb8d22d01816e6e48296971. That same day, Plymouth got systemd integration [0]. As such, the Plymouth integration has always been obsolete, and was probably only for older Plymouth's. But I can't imagine anybody running a Plymouth from 2011 with a systemd from 2015. Remove the Plymouth/systemd integration, and let Plymouth's code tell systemd to print the details. [0] http://cgit.freedesktop.org/plymouth/commit/?id=537c16422cd49f1beeaab1ad39846a00018faec1 Signed-off-by: Jasper St. Pierre <jstpierre@mecheye.net> Cc: Daniel Drake <dsd@endlessm.com> Cc: Ray Strode <rstrode@redhat.com>
2015-03-16Revert "hwdb: merge atkbd into platform matches"David Herrmann
This reverts commit ba76ee29bc02879fb42c048132af8889b00220d5. As it turns out, we need to match on driver=atkbd to not load the fixups on any plugged USB devices. That is, whenever you use "name:<name>:dmi:<dmi>" style matches, you better provide a name or you're screwing things up.
2015-03-16core: don't change removed devices to state "tentative"Martin Pitt
Commit 628c89c introduced the "tentative" device state, which caused devices to go from "plugged" to "tentative" on a remove uevent. This breaks the cleanup of stale mounts (see commit 3b48ce4), as that only applies to "dead" devices. The "tentative" state only really makes sense on adding a device when we don't know where it was coming from (i. e. not from udev). But when we get a device removal from udev we definitively know that it's gone, so change the device state back to "dead" as before 628c89c.
2015-03-16rules: keyboard - remove "platform" from commentsKay Sievers
2015-03-16hwdb: merge atkbd into platform matchesDavid Herrmann
Currently, we always run hwdb 'keyboard:name:$attr{name}:$attr{[dmi/id]modalias}' as last step to match keyboards. Therefore, if nothing else matched so far, we still try the device-name+dmi combination. However, we have a special atkbd rule which is only run for atkbd as: hwdb 'keyboard:$attr{[dmi/id]modalias}' This is redundant, as we already pass the same information to hwdb in the last fallback step. This patch converts the hwdb "keyboard:dmi:*" matches to "keyboard:name:*:dmi:*" matches and drops the redundant rule.
2015-03-16rules: drop redundant matchDavid Herrmann
The 60-keyboard rules are already guared by KERNEL!="event*" bail-outs, therefore, KERNELS="input*" is always true. Drop it!
2015-03-16hwdb: support bluetooth keyboard fixupsDavid Herrmann
Drop the restriction not to match on bluetooth devices. They are supported just fine!
2015-03-16hwdb: convert to generic input-modalias matchesDavid Herrmann
There is no reason to match on usb-modaliases, if we can use the input-modalias to achieve the same. This commit changes the keyboard-lookups to not be restricted to USB, but pass all modaliases to the hwdb. Furthermore, we convert all usb:* matches to input:* matches, thus getting rid of any ambiguity if multiple usb devices are chained (or a bluetooth device / etc. is on top). Note that legacy keyboard:usb:* matches are still supported, but deprecated. If possible, please use keyboard:input:* matches instead. This is a required step to make other input devices work with 60-keyboard.hwdb. Other bus-types are often chained on usb and we want to avoid any ambiguity here if we incorrectly match on a USB hub.
2015-03-15po: update Polish translationPiotr Drąg
https://bugs.freedesktop.org/show_bug.cgi?id=89582
2015-03-15man: standard-conf: change directory reference to wildcardAlison Chaiken
2015-03-15vconsole-setup: check error of child processLucas De Marchi
If we don't check the error of the child process, systemd-vconsole-setup would exit with 0 even if it could not really setup the console. For a simple test, move loadkeys elsewhere and execute systemd-vconsole-setup: [root@localhost ~]# strace -f -e execve /usr/lib/systemd/systemd-vconsole-setup execve("/usr/lib/systemd/systemd-vconsole-setup", ["/usr/lib/systemd/systemd-vconsol"...], [/* 15 vars */]) = 0 Process 171 attached [pid 171] execve("/usr/bin/loadkeys", ["/usr/bin/loadkeys", "-q", "-C", "/dev/tty0", "br-abnt2"], [/* 15 vars */]) = -1 ENOENT (No such file or directory) [pid 171] +++ exited with 1 +++ --- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=171, si_uid=0, si_status=1, si_utime=0, si_stime=0} --- +++ exited with 0 +++ Note that loadkeys returned 1 while systemd-vconsole-setup return 0. Since the font and keyboard setup are already serialized, refactor the code a little bit so the functions do the wait by themselves. One change in behavior in this patch is that we don't return early, but we do try to setup the keyboard even if the font load failed.
2015-03-15network: add UseNTP DHCP optionMichael Marineau
Despite having the internal logic in place to enable/disable using NTP servers provided by DHCP the network config didn't expose the option.
2015-03-15Add (void) where we don't care about return valueZbigniew Jędrzejewski-Szmek
2015-03-15journal-gatewayd: factor out opening of temp fileZbigniew Jędrzejewski-Szmek
Also use our own mkostemp wrapper, which tries to use O_TMPFILE.
2015-03-15logind: check return value of session_releaseZbigniew Jędrzejewski-Szmek
It allocates memory, so it can fail. CID #1237527.
2015-03-15util: check asprintf return valueZbigniew Jędrzejewski-Szmek
CID #1237546.
2015-03-15core: remove useless debug messageZbigniew Jędrzejewski-Szmek
Mar 13 19:48:28 adam.happyassassin.net systemd[1]: Collecting (null) Mar 13 19:48:28 adam.happyassassin.net systemd[1]: Collecting (null) Mar 13 19:48:28 adam.happyassassin.net systemd[1]: Collecting (null) Mar 13 19:48:28 adam.happyassassin.net systemd[1]: Collecting (null) Mar 13 19:48:28 adam.happyassassin.net systemd[1]: Collecting (null) Mar 13 19:48:28 adam.happyassassin.net systemd[1]: Collecting (null) Mar 13 19:48:28 adam.happyassassin.net systemd[1]: Collecting (null)
2015-03-15libudev-monitor: use initializationZbigniew Jędrzejewski-Szmek
2015-03-15timesyncd: enable timesyncd in virtual machinesKay Sievers
On Fri, Mar 13, 2015 at 8:25 PM, Michael Marineau <michael.marineau@coreos.com> wrote: > Currently systemd-timesyncd.service includes > ConditionVirtualization=no, disabling it in both containers and > virtual machines. Each VM platform tends to deal with or ignore the > time problem in their own special ways, KVM/QEMU has the kernel time > source kvm-clock, Xen has had different schemes over the years, VMware > expects a userspace daemon sync the clock, and other platforms are > content to drift with the wind as far as I can tell. > > I don't know of a robust way to know if a platform needs a little > extra help from userspace to keep the clock sane or not but it seems > generally safer to try than to risk drifting. Does anyone know of a > reason to leave timesyncd off by default? Otherwise switching to > ConditionVirtualization=!container should be reasonable.
2015-03-14journald: add syslog fields for audit messagesZbigniew Jędrzejewski-Szmek
Audit messages would be displayed as "unknown[1]". Also specify AUTH as facility... This seems to be the closest match (/* security/authorization messages */).