summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2015-03-09udevd: close race in udev settleTom Gundersen
The udev-settle guarantees that udevd is no longer processing any of the events casued by udev-trigger. The way this works is that it sends a synchronous PING to udevd after udev-trigger has ran, and when that returns it knows that udevd has started processing the events from udev-trigger. udev-settle will then wait for the event queue to empty before returning. However, there was a race here, as we would only update the /run state at the beginning of the event loop, before reading out new events and before processing the ping. That means that if the first uevent arrived in the same event-loop iteration as the PING, we would return the ping before updating the queue state in /run (which would happen on the next iteration). The race window here is tiny (as the /run state would probably get updated before udev-settle got a chance to read /run), but still a possibility. Fix the problem by updating the /run state as the last step before returning the PING. We must still update it at the beginning of the loop as well, otherwise we risk being stuck in poll() with a stale state in /run. Reported-by: Daniel Drake <drake@endlessm.com>
2015-03-09missing.h: add NDA_*Michael Olbrich
This is necessary to build with older kernel headers. NDA_VLAN was introduced in v3.9 and NDA_PORT, NDA_VNI and NDA_IFINDEX in v3.10
2015-03-09Fix typosTorstein Husebø
2015-03-08sd-journal: return error when we cannot open a fileZbigniew Jędrzejewski-Szmek
Lack of this caused journalctl not to display a hint about missing groups properly when the user lacks permissions.
2015-03-08journalctl: update hint now that we set ACL everywhereZbigniew Jędrzejewski-Szmek
2015-03-07bus: fix leak in error pathZbigniew Jędrzejewski-Szmek
CID #1271349.
2015-03-07systemctl: remove dead checkZbigniew Jędrzejewski-Szmek
r could never be less than zero. CID #1271350.
2015-03-07core/load-fragment: safe_close() protects errnoZbigniew Jędrzejewski-Szmek
2015-03-07libsystemd-terminal: use at most LOG_ERR for XKB errorsZbigniew Jędrzejewski-Szmek
XKB errors aren't *that* important. Coverity complained that the same action is taken in multiple branches, which is semi-valid, so is fixed too (CID #1256582).
2015-03-07login: fix copy-pasto in error pathZbigniew Jędrzejewski-Szmek
CID #1256583.
2015-03-07nspawn: fix use-after-free and leak in error pathsZbigniew Jędrzejewski-Szmek
CID #1257765.
2015-03-07core/dbus-manager: remove dead checkZbigniew Jędrzejewski-Szmek
CID #1257766.
2015-03-07bus-util: remove stray errno assignmentZbigniew Jędrzejewski-Szmek
2015-03-07networkctl: avoid leak if a field was specified twiceZbigniew Jędrzejewski-Szmek
The input data would have to be borked, so this is unlikely to happen, but since we have a nice helper function to do it properly... why not? CID #1261390.
2015-03-07machine: do not rely on asprintf setting arg on errorZbigniew Jędrzejewski-Szmek
Strictly speaking, the output variable is undefined if asprintf fails. We use the return value not the arg everywhere, and should we do here.
2015-03-07v4l_id: use standard option parsing loopZbigniew Jędrzejewski-Szmek
Not terribly important, but the loop wasn't an actual loop, making coverity unhappy. CID #1261725.
2015-03-07shared/machine-pool: remove unnecessary checkZbigniew Jędrzejewski-Szmek
CID #128739.
2015-03-07sysusers: do not reject users with already present /etc/shadow entriesIvan Shapovalov
This is needed to interoperate firstboot and sysusers. The former one is started first, and it writes only /etc/shadow when it is told to set the root password. It's better to relax checks here than to duplicate functionality in firstboot.
2015-03-07firstboot: set all spwd fields to -1 for consistency with sysusersIvan Shapovalov
2015-03-07core: do not spawn jobs or touch other units during coldpluggingIvan Shapovalov
Because the order of coldplugging is not defined, we can reference a not-yet-coldplugged unit and read its state while it has not yet been set to a meaningful value. This way, already active units may get started again. We fix this by deferring such actions until all units have been at least somehow coldplugged. Fixes https://bugs.freedesktop.org/show_bug.cgi?id=88401
2015-03-07adjust for time spent in timedated even without dbus timestampShawn Landden
it is trivial to fall back to our own timestamp v2: use now() v3: remove useless if () v4: add comment
2015-03-06vconsole: match on vtcon events, not fbcon onesJan Engelhardt
I observe that upon loading of framebuffer drivers, I do not get the desired system font, but the kernel-level defaults (usually lib/fonts/font_8x16.c, but your mileage may vary depending on kernel config and boot options). The fbcon driver may be loaded at a time way before the first framebuffer device is active, such that the vconsole setup helper runs too early. The existing rule is non-fitting. The going live of the fbcon kernel component does not indicate the proper time at which to load the visuals, which really ought to be done when a new vtcon object comes into existence. (The font table is a per-vtcon property.)
2015-03-06login: make hold-off timeout configurableDavid Herrmann
This introduces 'HoldoffTimeoutSec' to logind.conf to make IGNORE_LID_SWITCH_{SUSPEND,STARTUP}_USEC configurable. Background: If an external monitor is connected, or if the system is docked, we want to ignore LID events. This is required to support setups where a laptop is used with external peripherals while the LID is closed. However, this requires us to probe all hot-plugged devices before reacting to LID events. But with modern buses like USB, the standards do not impose any timeout on the slots, so we have no chance to know whether a given slot is used or not. Hence, after resume and startup, we have to wait a fixed timeout to give the kernel a chance to probe devices. Our timeout has always been generous enough to support even the slowest devices. However, a lot of people didn't use these features and wanted to disable the hold-off timer. Now we provide a knob to do that.
2015-03-05machinectl: minor --help text improvementsLennart Poettering
2015-03-05tmpfiles: Fix handling of duplicate linesMartin Pitt
Commit 3f93da987 accidentally dropped the "return 0" after detection of a duplicate line. Put it back, to get back the documented and intended "first match wins" behaviour. https://launchpad.net/bugs/1428540
2015-03-04nspawn: Map all seccomp filters to capabilitiesJay Faulkner
This change makes it so all seccomp filters are mapped to the appropriate capability and are only added if that capability was not requested when running the container. This unbreaks the remaining use cases broken by the addition of seccomp filters without respecting requested capabilities. Co-Authored-By: Clif Houck <me@clifhouck.com> [zj: - adapt to our coding style, make struct anonymous]
2015-03-04build-sys: generate CLEANFILES from EXTRA_DISTZbigniew Jędrzejewski-Szmek
Everything that is generated can be assumed to belong to CLEANFILES, which means that the original file has to be in EXTRA_DIST. Simplify the rules by generating as in $subject. We have less lists to adjust manually, and 'make clean' actually removes more stuff that before.
2015-03-04Allow up to 4096 simultaneous connectionsHannes Reinecke
On large system we hit the limit on 512 simultaneous dbus connections, resulting in tons of annoying messages: Too many concurrent connections, refusing This patch raises the limit to 4096.
2015-03-04Remove the cap on epoll eventsHannes Reinecke
Currently the code will silently blank out events if there are more then 512 epoll events, causing them never to be handled at all. This patch removes the cap on the number of events for epoll_wait, thereby avoiding this issue.
2015-03-04Use correct uname identifiers in arch_map for SuperH architectureJohn Paul Adrian Glaubitz
https://bugs.freedesktop.org/show_bug.cgi?id=89421
2015-03-05importd: add new bus calls for importing local tar and raw imagesLennart Poettering
This also adds "machinectl import-raw" and "machinectl import-tar" to wrap these new bus calls. THe commands basically do for local files that "machinectl pull-raw" and friends do for remote files.
2015-03-05pull: improve --help textLennart Poettering
2015-03-05import: split out compression logic, so that we can share it with between ↵Lennart Poettering
import and pull calls
2015-03-05import: rename download code from "import" to "pull"Lennart Poettering
That way we can call the code for local container/VM imports "import" without confusion.
2015-03-04sd-dhcp6-client: delay setting the DUID and don't fail constructorThomas Haller
sd_dhcp6_client_new() tried to set the DUID based on the machine id. If the host has no /etc/machine-id, the constructor would fail making it impossible to create an sd_dhcp6_client instance. Relax this and create a DUID only later as needed. This way a caller caller can workaround a missing machine-id file and set a DUID of his choosing via sd_dhcp6_client_set_duid().
2015-03-04networkd: Make DHCP client ID creation configurableJan Janssen
2015-03-04networkd: netdev - inform when we take over an existing netdevTom Gundersen
The crucial point here is that we will not change the settings of a netdev created by someone else we simply use it as is and trust it was set up as intended. This is confusing in the case of the pre-created netdev's (bond0 etc.), the solution should probably be to simply make the kernel stop creating these devices as they are pretty useless.
2015-03-03shared/util: assume ac when /sys/class/power_supply is missingZbigniew Jędrzejewski-Szmek
On s390 (at least) /sys/class/power_supply is not present. We should treat this like if this directory was empty, and not an error.
2015-03-03Do not advertise .d snippets over main config fileZbigniew Jędrzejewski-Szmek
For daemons which have a main configuration file, there's little reason for the administrator to use configuration snippets. They are useful for packagers which need to override settings, but we shouldn't advertise that as the main way of configuring those services. https://bugs.freedesktop.org/show_bug.cgi?id=89397
2015-03-03bus-proxyd: avoid logging oom twiceZbigniew Jędrzejewski-Szmek
2015-03-03fsck: remove unnecessary checkZbigniew Jędrzejewski-Szmek
gcc was complaining that progress_rc might be used uninitalized. But it was actually always set, because the condition was always satisfied. Remove the condition.
2015-03-03tmpfiles: quietly ignore ACLs on unsupported filesystemsHans-Peter Deifel
A warning is printed if ACLs cannot be retrieved for any reason other than -ENOSYS. For -ENOSYS, debug log is printed.
2015-03-03importd: automatically grow /var/lib/machines/ loopback filesystem during ↵Lennart Poettering
downloads If /var/lib/machines is mounted as btrfs loopback file system in /var/lib/machines.raw with this change we automatically grow the file system as it fills up. After each 10M we write to it during imports, we check the free disk space, and if the fill level grows beyond 66% we increase the size of the file system to 3x the fill level (thus lowering it to 33%).
2015-03-02sd-daemon: replace VLA with alloca(), to make llvm happyLennart Poettering
https://bugs.freedesktop.org/show_bug.cgi?id=89379
2015-03-02import: add support for gpg2 for verifying imported imagesLennart Poettering
gpg2 insists on created a trust db even if we tun off all trust db support. Hence create a temporary home where the trust db is placed, and remove it after use.
2015-03-02machined: also set up /var/lib/machines as btrfs, if "machinectl set-limit" ↵Lennart Poettering
is called
2015-03-02journal: fix Inappropriate ioctl for device on ext4Cristian Rodríguez
Logs constantly show systemd-journald[395]: Failed to set file attributes: Inappropriate ioctl for device This is because ext4 does not support FS_NOCOW_FL. [zj: fold into one conditional as suggested on the ML and fix (preexisting) r/errno confusion in error message.]
2015-03-02journal-remote: fix saving of binary fieldsZbigniew Jędrzejewski-Szmek
Binary fields were not processed properly, and resulting journal files were non-conforming, resulting in an error ("Invalid field.") when reading. https://bugs.freedesktop.org/show_bug.cgi?id=89391
2015-03-02machinectl: update --help text to clarify that set-limit can also change ↵Lennart Poettering
pool size
2015-03-02importd: take a lock while we set up /var/lib/machines/Lennart Poettering
This way, we can safely set up the directories from two processes at the same time, including machined and importd simultaneously.