summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2014-01-29nspawn: fix reboot event fd reuseLennart Poettering
2014-01-29core: in containers, don't wait for cgroup empty notifications which will ↵Lennart Poettering
never come
2014-01-29core: use a bit more PID_FMTLennart Poettering
2014-01-29core: make sure to always go through both SIGTERM and SIGKILL states of unitsLennart Poettering
Given that we now have KillMode=mixed where SIGTERM might kill a smaller set than SIGKILL we need to make sure to always go explicitly throught the SIGKILL state to get the right end result.
2014-01-29service: allow KillMode=mixed in conjunction with PAMName=Lennart Poettering
2014-01-29core: introduce new KillMode=mixed which sends SIGTERM only to the main ↵Lennart Poettering
process, but SIGKILL to all daemon processes This should fix some race with terminating systemd --user, where the system systemd instance might race against the user systemd instance when sending SIGTERM.
2014-01-29bus: fake security labels againLennart Poettering
(The kernel module got fixed, so let's reenable this again)
2014-01-28manager: remove "debugging" "feature"Zbigniew Jędrzejewski-Szmek
2014-01-28manager: requeue the cylon eye for 5s later when a job finishesZbigniew Jędrzejewski-Szmek
We'd reqeue the next status update very soon after. Change it so that we wait for full 5s without any job status changes until we print anything.
2014-01-28manager: print ephemeral information about running jobs' timeouts (v2)Zbigniew Jędrzejewski-Szmek
This reverts commit 28c758de94bc8ba97b89d9dab3f517cf466978d0 but makes job_coldplug smarter. In (v1) I changed the job start timestamp to be always set, so the start time can be reported in the cylon eye message. The bug was that when deserializing jobs, they would be ignored if their start timestamp was unset which was synonymous with no timeout. But after the change, jobs would have a start timestamp set despite having no timeout. After deserialization they would be considered immediately expired. Fix this by checking if the timeout is not zero when considering jobs for expiration.
2014-01-28Base mkostemp_safe on mkostempZbigniew Jędrzejewski-Szmek
It is nice to wrap umask handling and return convention, but glibc's mkostemp is async-signal-safe already.
2014-01-28Get rid of write_safeZbigniew Jędrzejewski-Szmek
Current glibc implementation is safe. Kernel does this atomically, and write is actually implemented through writev. So if write is async-signal-safe, than writev pretty much must be too.
2014-01-28always use the same code for creating temporary filesLennart Poettering
Let's unify our code here, and also always specifiy O_CLOEXEC.
2014-01-28util: pick slightly safer open() flags when creating temporary filesLennart Poettering
2014-01-28util: define O_TMPFILE on x86/x86-64, where the generic value is usedLennart Poettering
On other archs we'll not define it so that open_tmpfile() falls back to unguessable name + unlink.
2014-01-28util: pass original flags value to mkostemp(), in open_tmpfile()Lennart Poettering
2014-01-28util: simplify mkostemp_safe()Lennart Poettering
Make it use dev_urandom() and endswith().
2014-01-28util: introduce new dev_urandom() call that is like random_bytes() but ↵Lennart Poettering
doesn't fall back to PRNG
2014-01-28util: modernize loop_read() and loop_write() a bitLennart Poettering
Let's make use of fd_wait_for_event() here, instead of rolling our own.
2014-01-28bus: reorder a few thingsLennart Poettering
2014-01-28bus: update kdbus.h (ABI break)Kay Sievers
2014-01-28Revert "manager: print ephemeral information about running jobs' timeouts"Kay Sievers
This reverts commit 2cba2e03524ec0922ddc70f933e8a89b7d23b4ec. It breaks bootup with dracut, the transition to the real rootfs fails.
2014-01-27manager: also turn on output on unit failureZbigniew Jędrzejewski-Szmek
2014-01-27manager: add systemd.show_status=auto modeZbigniew Jędrzejewski-Szmek
When set to auto, status will shown when the first ephemeral message is shown (a job has been running for five seconds). Then until the boot or shutdown ends, status messages will be shown. No indication about the switch is done: I think it should be clear for the user that first the cylon eye and the ephemeral messages appear, and afterwards messages are displayed. The initial arming of the event source was still wrong, but now should really be fixed.
2014-01-27journal: guarantee async-signal-safety in sd_journald_sendvZbigniew Jędrzejewski-Szmek
signal(7) provides a list of functions which may be called from a signal handler. Other functions, which only call those functions and don't access global memory and are reentrant are also safe. sd_j_sendv was mostly OK, but would call mkostemp and writev in a fallback path, which are unsafe. Being able to call sd_j_sendv in a async-signal-safe way is important because it allows it be used in signal handlers. Safety is achieved by replacing mkostemp with open(O_TMPFILE) and an open-coded writev replacement which uses write. Unfortunately, O_TMPFILE is only available on kernels >= 3.11. When O_TMPFILE is unavailable, an open-coded mkostemp is used. https://bugzilla.gnome.org/show_bug.cgi?id=722889
2014-01-27Replace mkostemp+unlink with open(O_TMPFILE)Zbigniew Jędrzejewski-Szmek
This will only work on Linux >= 3.11, and probably not on all filesystems. Fallback code is provided.
2014-01-28bus: update bloom filter description a bitLennart Poettering
2014-01-28bus: rework bloom filter logic to operate with variable bloom filterLennart Poettering
sizes and numbers of hash functions In order to make the bloom filter logic more future proof communicate bloom filter parameters from the original bus creator to the clients, and allow them to be variable within certain ranges.
2014-01-27bus: add API calls for connecting to starter busLennart Poettering
Add new calls sd_bus_open() and sd_bus_default() for connecting to the starter bus a service was invoked for, or -- if the process is not a bus-activated service -- the appropriate bus for the scope the process has been started in.
2014-01-27resolve: update sd-resolve to match the other APIs in style and functionalityLennart Poettering
2014-01-27bus: when we cannot bus activate a service because we go down, drop oneLennart Poettering
message from the queue
2014-01-27core: require mounts for the root and working directoriesZbigniew Jędrzejewski-Szmek
We know that launching a unit will fail if some required directories haven't been mounted yet. There's no point in starting it just to have it fail even before it gets a chance to run.
2014-01-27core: simplify check for path absolutenessZbigniew Jędrzejewski-Szmek
Just a microopt.
2014-01-27manager: rearm jobs timerZbigniew Jędrzejewski-Szmek
It would fire just once. Also fix units from sec to usec as appropriate. Decrease the switching interval to 1/3 s, so that when the time remaining is displayed with 1s precision, it doesn't jump by 2s every once in a while. Also, the system is feels noticably faster when the status changes couple of times per second instead of every few seconds.
2014-01-27manager: print ephemeral information about running jobs' timeoutsZbigniew Jędrzejewski-Szmek
Produces output like: [ *** ] (1 of 2) A start job is running for slow.service (33s / 1min 30s) The first nubmer is the time since job start, the second is the job timeout.
2014-01-27core: add function to tell when job will time outZbigniew Jędrzejewski-Szmek
Things will continue when either the job timeout or the unit timeout is reached. Add functionality to access that info.
2014-01-26pam_systemd: Ignore vtnr when seat != seat0Matthew Monaco
logind considers it an error for a seat other than seat0 to have a non-zero vtnr for CreateSession
2014-01-26dbus1-generator: use XDG_RUNTIME_DIR instead of /run/user/%lu/Kay Sievers
2014-01-26cryptsetup: Support key-slot optionChristian Seiler
Debian recently introduced the option key-slot to /etc/crypttab to specify the LUKS key slot to be used for decrypting the device. On systems where a keyfile is used and the key is not in the first slot, this can speed up the boot process quite a bit, since cryptsetup does not need to try all of the slots sequentially. (Unsuccessfully testing a key slot typically takes up to about 1 second.) This patch makes systemd aware of this option. Debian bug that introduced the feature: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=704470
2014-01-25build-sys: update .pc.in filesZbigniew Jędrzejewski-Szmek
2014-01-25build-sys: merge libsystemd-id128 into libsystemdZbigniew Jędrzejewski-Szmek
2014-01-25build-sys: create "compatibility libraries" sectionZbigniew Jędrzejewski-Szmek
Compat stuff is moved to src/compat-libs/. Warnings are issued when programs are linked with the deprecated library.
2014-01-25build-sys: merge libsystemd-login into libsystemdZbigniew Jędrzejewski-Szmek
A compatibility libsystemd-login library is created which uses .symver and ifunc magic proposed by Lennart to make programs linked to the old library name continue to work seamlessly. Unfortunately the bfd linker crashes: https://sourceware.org/bugzilla/show_bug.cgi?id=16467 This will be fixed in binutils 2.25. As a work-around, gold can be used: LDFLAGS=-Wl,-fuse-ld=gold Unfortunately the switch to pick the linker appeared in gcc 4.8. This also doesn't work with LLVM: http://llvm.org/bugs/show_bug.cgi?id=11897
2014-01-25dbus1-generator: add missing "path=" and "unix:*" to DBUS environment variablesKay Sievers
This works around the goa daemon crash: Jan 25 20:54:24 lon goa[1363]: goa-daemon version 3.10.2 starting [main.c:117, main()] Jan 25 20:54:24 lon systemd[424]: Starting Legacy D-Bus Protocol Compatibility Daemon (PID 1363/UID 2702)... Jan 25 20:54:24 lon systemd[424]: Started Legacy D-Bus Protocol Compatibility Daemon (PID 1363/UID 2702). Jan 25 20:54:24 lon kernel: goa-daemon[1363]: segfault at 20 ip 00007f46914b26d5 sp 00007fff1ae6d9a0 error 4 in libtelepathy-glib.so.0.80.1[7f469144f000+228000] Jan 25 20:54:24 lon systemd-coredump[1368]: Process 1363 (goa-daemon) dumped core. Jan 25 20:54:32 lon goa[1375]: goa-daemon version 3.10.2 starting [main.c:117, main()]
2014-01-25networkd: improve logging a bitTom Gundersen
Fix/add some structured logging messages, and be uniform about when we WARN and ERR.
2014-01-25networkd: add basic VLAN supportTom Gundersen
2014-01-25sd-rtnl: extend tests a bitTom Gundersen
2014-01-24sd-rtnl: add support for reading containersTom Gundersen
Also insist on messages being sealed before reading them. In other words we don't allow interleaving of reading and appending to messages.
2014-01-24bus: bump memfd vs. copy limit to 512k to reflect recent benchmarksKay Sievers
2014-01-24sd-rtnl: add support for nested containersTom Gundersen