summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2015-11-01journald: never block when sending messages on NOTIFY_SOCKET socketLennart Poettering
Otherwise we might run into deadlocks, when journald blocks on the notify socket on PID 1, and PID 1 blocks on IPC to dbus-daemon and dbus-daemon blocks on logging to journald. Break this cycle by making sure that journald never ever blocks on PID 1. Note that this change disables support for event loop watchdog support, as these messages are sent in blocking style by sd-event. That should not be a big loss though, as people reported frequent problems with the watchdog hitting journald on excessively slow IO. Fixes: #1505.
2015-11-01sd-daemon: verify NOTIFY_SOCKET path lengthLennart Poettering
Better generate a real error then simply connect to the wrong socket.
2015-10-31sd-daemon: increase sd_notify() socket buffer sizeLennart Poettering
Let's make sure we don't start blocking on sd_notify() earlier than necessary, let's bump the socket buffer sizes to 8M. We already do something similar for our logging socket buffers, hence apply a similar bump here.
2015-10-31sysv-generator: modernizeLennart Poettering
- Make sure we log each error at least once, and at most once - Replace FOREACH_WORD loops by extract_first_word() loops - Use FOREACH_DIRENT() for directory loops - Use free_and_strdup() where appropriate - Do not operate on half-loaded SysV files - Always properly free all memory
2015-10-31core: bail our earlier when doing auditLennart Poettering
Let's make sure we don't even try to create the audit socket
2015-10-31core,nspawn: minor coding style fixesLennart Poettering
2015-10-31nspawn: fix minor memory leakLennart Poettering
When rebooting nspawn containers about 400 times we'd otherwise hit the fd limit and refuse further reboots.
2015-10-31core: constify a few thingsLennart Poettering
2015-10-31systemctl: add a way to explicitly request client-side unit installingLennart Poettering
This adds support for a new environment variable SYSTEMCTL_INSTALL_CLIENT_SIDE, that ensures that systemctl executes install operations client-side instead of passing them to PID1. This is useful in debugging situations, but even beyond that. However, we don't want to make it official API, hence let's just make it an undocumented environment variable. Similar, add a second variable, SYSTEMCTL_SKIP_SYSV which allows skipping the SysV chkconfig fall-back if set. This is useful for similar reasons, and exposed as undocumented as environment variable for similar reasons, too.
2015-10-31core: set_unit_path overwrites SYSTEMD_UNIT_PATHEvgeny Vereshchagin
2015-10-30journal-remote: increase memory limit per connection to avoid errors with HTTPSDongsu Park
Explicitly set MHD_OPTION_CONNECTION_MEMORY_LIMIT to a larger value, when setting up microhttpd, to give more memory per HTTP(S) connection. This way systemd-journal-remote can now prevent microhttpd from failing in creating response headers with messages like "Not enough memory for write", especially when lots of HTTPS requests arrive. That's precisely because MHD_OPTION_CONNECTION_MEMORY_LIMIT in libmicrohttpd defaults to 32768, which is in practice insufficient in this case. See also https://gnunet.org/bugs/view.php?id=4007 for more details. Fixes: https://github.com/coreos/bugs/issues/927
2015-10-29test: add tests to ensure that the capabilities are properly setRonny Chevalier
2015-10-29core: fix capability bounding set parsingEvgeny Vereshchagin
bug: CapabilityBoundingSet= doesn't reset all caps
2015-10-29test: add test for capability bounding set parsingEvgeny Vereshchagin
2015-10-28Merge pull request #1700 from ssahani/wordLennart Poettering
Port to extract_first_word
2015-10-28Merge pull request #1707 from dvdhrm/notify-prioLennart Poettering
core: fix priority ordering in notify-handling
2015-10-28core: fix priority ordering in notify-handlingDavid Herrmann
Currently, we dispatch NOTIFY messages in a tight loop. Regardless how much data is incoming, we always dispatch everything that is queued. This, however, completely breaks priority event-handling of sd-event. When dispatching one NOTIFY event, another completely different event might fire, or might be queued by the NOTIFY handling. However, this event will not get dispatched until all other further NOTIFY messages are handled. Those might even arrive _after_ the other event fired, and as such completely break priority ordering of sd-event (which several code paths rely on). Break this by never dispatching multiple messages. Just return after each message that was read and let sd-event handle everything else. (The patch looks scarier that it is. It basically just drops the for(;;) loop and re-indents the loop-content.)
2015-10-28nspwan: port to extract_first_wordSusant Sahani
2015-10-28install: port to extract_first_wordSusant Sahani
2015-10-28journal-remote: port to extract_first_wordSusant Sahani
2015-10-28test-parse-util: Move parse-util tests into their own test caseFilipe Brandenburger
Tests for the functions defined in src/basic/parse-util.c. Reorder them to match the order in which the functions are defined in the source file. Adjusted the list of include files to remove the ones no longer needed in test-util.c. Tested that `make check` still passes as expected. Also checked the number of lines removed from test-util.c matches the expected, as an additional verification that no tests were dropped or duplicated in the move.
2015-10-28test-extract-word: Move extract-word tests into their own test caseFilipe Brandenburger
Tests for the functions defined in src/basic/extract-word.c. Tested that `make check` still passes as expected.
2015-10-28Merge pull request #1703 from ronnychevalier/rc/test_execute_check_nobody2Lennart Poettering
test-execute: check if nobody exists before running some tests
2015-10-28test-execute: check if nobody exists before running some testsRonny Chevalier
2015-10-27cpu-set-util: Support ranges in parse_cpu_set_and_warnFilipe Brandenburger
Tested CPUAffinity ranges on both a service unit and in system.conf and confirmed they work as expected (by inspecting /proc/PID/status, for the main pid of the service and for pid 1). Also mixed ranges with both spaces, commas, trailing commas and spaces. Added new tests to increase coverage of ranges and prevent regressions.
2015-10-27parse-util: Introduce new parse_range functionFilipe Brandenburger
This function will be useful for CPUAffinity settings that involve ranges of CPUs. Make it generic and include test coverage to prevent regressions.
2015-10-27cpu-set-util: Accept commas as separators in parse_cpu_set_and_warnFilipe Brandenburger
Tested CPUAffinity settings on both a service unit and in system.conf and confirmed they work as expected. Added a new test to confirm that trailing commas and spaces work and to prevent any regressions in that area.
2015-10-27Merge pull request #1698 from poettering/pid-is-unwaited-fixTom Gundersen
fixup for previous pr
2015-10-27service: exiting early is nicer than deeply-indented code blocksLennart Poettering
2015-10-27core: all unit types that watch control PIDs should use the same logicLennart Poettering
When coldplugging the unit state, make sure to follow the same basic logic for all unit types: always verify whether the control PID is still a waitable process before proceeding.
2015-10-27core: don't pass uninitialzed PIDs to pid_is_unwaited()Lennart Poettering
Since 5fd9b2c5467b0a42ccdabc7eb8e516d512609a8e passing a pid of 0 to pid_is_unwaited() and pid_is_live() is considered as a request on the current process, similar how the other calls in process-util.c handle a PID of 0. This broke service.c, which passes a 0 PID and expects it to be considered an unwaited process. This fix make sure we can boot again.
2015-10-27Merge pull request #1695 from evverx/fix-cap-bounding-mergingLennart Poettering
core: fix CapabilityBoundingSet merging
2015-10-27util-lib: move inotify-related definitions to fs-util.[ch]Lennart Poettering
2015-10-27util-lib: move fdname_is_valid() to fd-util.[ch]Lennart Poettering
2015-10-27automount: move generically userful call repeat_mount() into mount-util.[ch]Lennart Poettering
2015-10-27process-util: move a couple of process-related calls overLennart Poettering
2015-10-27process-util: make some minor corrections to PID live detectionLennart Poettering
2015-10-27process-util: rename get_parent_of_pid() → get_process_ppid()Lennart Poettering
In order to match the other get_process_xyz() calls.
2015-10-27process-util: actually move rename_process() overLennart Poettering
The prototype was moved long ago, actually move the definition over now, too.
2015-10-27mount-util: move fstype_is_network() and name_to_handle_at() definitions overLennart Poettering
2015-10-27util-lib: split out allocation calls into alloc-util.[ch]Lennart Poettering
2015-10-27util-lib: split out globbing related calls into glob-util.[ch]Lennart Poettering
2015-10-27stat-util.h: move F_TYPE_EQUAL() macro definition to stat-util.hLennart Poettering
2015-10-27util-lib: split out printf() helpers to stdio-util.hLennart Poettering
2015-10-27macro.h: move definition of MODE_INVALID to parse-util.hLennart Poettering
2015-10-27macro: move DECIMAL_STR_WIDTH() into macro.hLennart Poettering
So that it sets next to DECIMAL_STR_MAX(), where it belongs.
2015-10-27socket-util: move CMSG_FOREACH() from macro.h to socket-util.hLennart Poettering
2015-10-27io-util.h: move iovec stuff from macro.h to io-util.hLennart Poettering
2015-10-27process-util: move PID related macros from macro.h to process-util.hLennart Poettering
2015-10-27user-util: move UID/GID related macros from macro.h to user-util.hLennart Poettering