Franck Bui [Mon, 2 Nov 2015 10:12:41 +0000 (11:12 +0100)]
Teach bus_append_unit_property_assignment() about 'Delegate' property
Daniel Mack [Mon, 2 Nov 2015 10:45:06 +0000 (11:45 +0100)]
Merge pull request #1722 from evverx/port-cap-bounding-set-to-extract-first-word
Port capabiliy bounding set parsing to extract_first_word
Daniel Mack [Mon, 2 Nov 2015 10:31:10 +0000 (11:31 +0100)]
Merge pull request #1750 from systemd/revert-1740-master
Revert "utf8.[ch]: use char32_t and char16_t instead of int, int32_t,…
Daniel Mack [Mon, 2 Nov 2015 10:23:32 +0000 (11:23 +0100)]
Merge pull request #1725 from ssahani/word-journal
sd-journal.c: port to extract_first_word
Lennart Poettering [Mon, 2 Nov 2015 10:21:25 +0000 (11:21 +0100)]
Revert "utf8.[ch]: use char32_t and char16_t instead of int, int32_t, int16_t"
Daniel Mack [Mon, 2 Nov 2015 10:21:18 +0000 (11:21 +0100)]
Merge pull request #1739 from ssahani/word-machine
machine: : port to extract_first_word
Daniel Mack [Mon, 2 Nov 2015 09:57:38 +0000 (10:57 +0100)]
Merge pull request #1740 from shawnl/master
utf8.[ch]: use char32_t and char16_t instead of int, int32_t, int16_t
Daniel Mack [Mon, 2 Nov 2015 09:43:16 +0000 (10:43 +0100)]
Merge pull request #1738 from evverx/fix-paths-lookup-test
tests: lookup_paths_init depends on SYSTEMD_UNIT_PATH. Test it
Lennart Poettering [Mon, 2 Nov 2015 09:31:24 +0000 (10:31 +0100)]
Merge pull request #1749 from zonque/cmsg
core: two trivial debug/error message improvements
Daniel Mack [Mon, 2 Nov 2015 09:17:24 +0000 (10:17 +0100)]
Merge pull request #1711 from mustrumr/network-use-after-free
network: fix use-after-free in link_free
Daniel Mack [Mon, 2 Nov 2015 09:16:04 +0000 (10:16 +0100)]
Merge pull request #1748 from karelzak/todo
update TODO
Daniel Mack [Thu, 15 Oct 2015 15:39:14 +0000 (17:39 +0200)]
core: be more verbose when NameOwnerChanged subscriptions fail
Daniel Mack [Tue, 13 Oct 2015 16:04:13 +0000 (18:04 +0200)]
core: service: fix error message
The directive is called FileDescriptorStoreMax=, not FDStoreMax=.
Daniel Mack [Mon, 2 Nov 2015 09:10:44 +0000 (10:10 +0100)]
Merge pull request #1745 from poettering/journal-deadlock
Make sure journald never blocks on sd_notify() to PID 1
Karel Zak [Mon, 2 Nov 2015 08:59:27 +0000 (09:59 +0100)]
update TODO
- inotify utab has been removed and we use libmount now
- x-systemd.requires= fstab option has been implemented to specify
dependencies in fstab
Lennart Poettering [Sun, 1 Nov 2015 20:59:17 +0000 (21:59 +0100)]
journal-remote: remove unused variable warning when building without GNUTLS.
Lennart Poettering [Sun, 1 Nov 2015 20:50:24 +0000 (21:50 +0100)]
journald: never block when sending messages on NOTIFY_SOCKET socket
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.
Lennart Poettering [Sun, 1 Nov 2015 20:49:19 +0000 (21:49 +0100)]
sd-daemon: verify NOTIFY_SOCKET path length
Better generate a real error then simply connect to the wrong socket.
Shawn Landden [Sun, 1 Nov 2015 03:39:15 +0000 (20:39 -0700)]
utf8.[ch]: use char32_t and char16_t instead of int, int32_t, int16_t
rework C11 utf8.[ch] to use char32_t instead of uint32_t when referring
to unicode chars, to make things more expressive.
Susant Sahani [Sat, 31 Oct 2015 22:06:07 +0000 (03:36 +0530)]
machine: : port to extract_first_word
Susant Sahani [Sat, 31 Oct 2015 22:02:45 +0000 (03:32 +0530)]
sd-journal.c: port to extract_first_word
Evgeny Vereshchagin [Sat, 31 Oct 2015 20:07:47 +0000 (23:07 +0300)]
man: MANAGER_SYSTEM understands SYSTEMD_UNIT_PATH too
Evgeny Vereshchagin [Sat, 31 Oct 2015 19:00:32 +0000 (22:00 +0300)]
tests: lookup_paths_init depends on SYSTEMD_UNIT_PATH. Test it
Lennart Poettering [Fri, 30 Oct 2015 10:27:29 +0000 (11:27 +0100)]
sd-daemon: increase sd_notify() socket buffer size
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.
Lennart Poettering [Fri, 30 Oct 2015 10:25:00 +0000 (11:25 +0100)]
sysctl.d: bump number of queueable AF_UNIX/SOCK_DGRAM datagrams
The default of 16 is pretty low, let's bump this to accomodate for more
queued datagrams. This is useful for AF_UNIX/SOCK_DGRAM logging and
sd_notify() sockets as this allows queuing more datagrams before things
start to block, thus improving parallelization and logging performance.
Lennart Poettering [Wed, 28 Oct 2015 23:19:31 +0000 (00:19 +0100)]
sysv-generator: modernize
- 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
Lennart Poettering [Wed, 28 Oct 2015 17:23:26 +0000 (18:23 +0100)]
core: bail our earlier when doing audit
Let's make sure we don't even try to create the audit socket
Lennart Poettering [Wed, 28 Oct 2015 17:23:07 +0000 (18:23 +0100)]
core,nspawn: minor coding style fixes
Lennart Poettering [Wed, 28 Oct 2015 17:22:23 +0000 (18:22 +0100)]
nspawn: fix minor memory leak
When rebooting nspawn containers about 400 times we'd otherwise hit the
fd limit and refuse further reboots.
Lennart Poettering [Wed, 28 Oct 2015 11:43:52 +0000 (12:43 +0100)]
core: constify a few things
Lennart Poettering [Thu, 8 Oct 2015 14:15:38 +0000 (16:15 +0200)]
systemctl: add a way to explicitly request client-side unit installing
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.
Ronny Chevalier [Sat, 31 Oct 2015 16:22:20 +0000 (17:22 +0100)]
Merge pull request #1734 from evverx/overwrite-sysemd-unit-path
core: set_unit_path overwrites SYSTEMD_UNIT_PATH
Evgeny Vereshchagin [Sat, 31 Oct 2015 11:14:37 +0000 (14:14 +0300)]
core: set_unit_path overwrites SYSTEMD_UNIT_PATH
Evgeny Vereshchagin [Fri, 30 Oct 2015 06:25:12 +0000 (09:25 +0300)]
core: port config_parse_bounding_set to extract_first_word
Lennart Poettering [Fri, 30 Oct 2015 14:48:49 +0000 (15:48 +0100)]
Merge pull request #1729 from endocode/dongsu/jr-mhd-memlimit-v3
journal-remote: increase memory limit per connection to avoid errors …
Dongsu Park [Wed, 21 Oct 2015 12:51:10 +0000 (14:51 +0200)]
journal-remote: increase memory limit per connection to avoid errors with HTTPS
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
Daniel Mack [Fri, 30 Oct 2015 09:56:38 +0000 (10:56 +0100)]
Merge pull request #1720 from evverx/shell-completion-global-mode
shell-completion: systemctl: show completions for `user` in `global` …
Evgeny Vereshchagin [Fri, 30 Oct 2015 06:22:53 +0000 (09:22 +0300)]
tests: add test for capability bounding set parsing
Marcel Holtmann [Fri, 30 Oct 2015 03:22:54 +0000 (04:22 +0100)]
hwdb: Update database of Bluetooth company identifiers
Evgeny Vereshchagin [Thu, 29 Oct 2015 07:29:29 +0000 (10:29 +0300)]
shell-completion: systemctl: show completions for `user` in `global` mode
Daniel Mack [Thu, 29 Oct 2015 18:47:02 +0000 (19:47 +0100)]
Merge pull request #1709 from evverx/set-location-completion
shell-completion: hostnamectl: add the command set-location
Daniel Mack [Thu, 29 Oct 2015 18:46:01 +0000 (19:46 +0100)]
Merge pull request #1717 from ronnychevalier/rc/test_capabilityboundingset2
test: add tests to ensure that the capabilities are properly set
Ronny Chevalier [Thu, 29 Oct 2015 13:22:23 +0000 (14:22 +0100)]
test: add tests to ensure that the capabilities are properly set
Ronny Chevalier [Thu, 29 Oct 2015 12:44:23 +0000 (13:44 +0100)]
Merge pull request #1713 from evverx/test-cap-bounding-set-merging
Another fix of the CapabilityBoundingSet parsing
Evgeny Vereshchagin [Thu, 29 Oct 2015 11:13:04 +0000 (14:13 +0300)]
core: fix capability bounding set parsing
bug: CapabilityBoundingSet= doesn't reset all caps
Evgeny Vereshchagin [Thu, 29 Oct 2015 11:12:22 +0000 (14:12 +0300)]
test: add test for capability bounding set parsing
Hristo Venev [Thu, 29 Oct 2015 10:14:44 +0000 (12:14 +0200)]
network: fix use-after-free in link_free
Freeing a link removes it both from addresses and addresses_foreign,
causing SIGSEGV if one of the sets is freed.
Evgeny Vereshchagin [Thu, 29 Oct 2015 04:47:16 +0000 (07:47 +0300)]
shell-completion: hostnamectl: add the command set-location
Lennart Poettering [Wed, 28 Oct 2015 18:32:35 +0000 (19:32 +0100)]
Merge pull request #1700 from ssahani/word
Port to extract_first_word
Lennart Poettering [Wed, 28 Oct 2015 18:31:37 +0000 (19:31 +0100)]
Merge pull request #1707 from dvdhrm/notify-prio
core: fix priority ordering in notify-handling
David Herrmann [Wed, 28 Oct 2015 18:11:36 +0000 (19:11 +0100)]
core: fix priority ordering in notify-handling
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.)
Susant Sahani [Wed, 28 Oct 2015 17:29:01 +0000 (22:59 +0530)]
nspwan: port to extract_first_word
Susant Sahani [Wed, 28 Oct 2015 17:28:24 +0000 (22:58 +0530)]
install: port to extract_first_word
Susant Sahani [Wed, 28 Oct 2015 17:27:59 +0000 (22:57 +0530)]
journal-remote: port to extract_first_word
Lennart Poettering [Wed, 28 Oct 2015 17:19:03 +0000 (18:19 +0100)]
Merge pull request #1705 from filbranden/testutil1
Move tests for extract-word and parse-util into separate test cases
Filipe Brandenburger [Wed, 28 Oct 2015 15:14:50 +0000 (08:14 -0700)]
test-parse-util: Move parse-util tests into their own test case
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.
Filipe Brandenburger [Wed, 28 Oct 2015 14:57:11 +0000 (07:57 -0700)]
test-extract-word: Move extract-word tests into their own test case
Tests for the functions defined in src/basic/extract-word.c.
Tested that `make check` still passes as expected.
Filipe Brandenburger [Wed, 28 Oct 2015 14:42:53 +0000 (07:42 -0700)]
build-sys: Keep .gitignore sorted
Let's try to keep it that way! :-)
Lennart Poettering [Wed, 28 Oct 2015 12:07:48 +0000 (13:07 +0100)]
Merge pull request #1703 from ronnychevalier/rc/test_execute_check_nobody2
test-execute: check if nobody exists before running some tests
Lennart Poettering [Wed, 28 Oct 2015 12:06:56 +0000 (13:06 +0100)]
Merge pull request #1699 from filbranden/cpuaffinity9
cpu-set-util: Support ranges in parse_cpu_set_and_warn (v4)
Ronny Chevalier [Wed, 28 Oct 2015 10:30:40 +0000 (11:30 +0100)]
test-execute: check if nobody exists before running some tests
Daniel Mack [Wed, 28 Oct 2015 09:23:36 +0000 (10:23 +0100)]
Merge pull request #1701 from hosiet/l10n-cn
l10n: add Simplified Chinese translation.
Boyuan Yang [Wed, 28 Oct 2015 07:23:58 +0000 (15:23 +0800)]
l10n: add zh_CN translation.
Filipe Brandenburger [Tue, 13 Oct 2015 07:12:39 +0000 (00:12 -0700)]
man: Update man page documentation for CPUAffinity
Document support for commas as a separator and possibility of specifying
ranges of CPU indices.
Tested by regenerating the manpages locally and reading them on man.
Filipe Brandenburger [Fri, 25 Sep 2015 12:23:23 +0000 (05:23 -0700)]
cpu-set-util: Support ranges in parse_cpu_set_and_warn
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.
Filipe Brandenburger [Tue, 13 Oct 2015 06:55:31 +0000 (23:55 -0700)]
parse-util: Introduce new parse_range function
This function will be useful for CPUAffinity settings that involve
ranges of CPUs.
Make it generic and include test coverage to prevent regressions.
Filipe Brandenburger [Fri, 25 Sep 2015 11:45:22 +0000 (04:45 -0700)]
cpu-set-util: Accept commas as separators in parse_cpu_set_and_warn
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.
Tom Gundersen [Tue, 27 Oct 2015 17:09:32 +0000 (18:09 +0100)]
Merge pull request #1698 from poettering/pid-is-unwaited-fix
fixup for previous pr
Lennart Poettering [Tue, 27 Oct 2015 17:02:24 +0000 (18:02 +0100)]
service: exiting early is nicer than deeply-indented code blocks
Lennart Poettering [Tue, 27 Oct 2015 16:59:45 +0000 (17:59 +0100)]
core: all unit types that watch control PIDs should use the same logic
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.
Lennart Poettering [Tue, 27 Oct 2015 16:56:12 +0000 (17:56 +0100)]
core: don't pass uninitialzed PIDs to pid_is_unwaited()
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.
Lennart Poettering [Tue, 27 Oct 2015 16:09:05 +0000 (17:09 +0100)]
Merge pull request #1695 from evverx/fix-cap-bounding-merging
core: fix CapabilityBoundingSet merging
Tom Gundersen [Tue, 27 Oct 2015 15:55:16 +0000 (16:55 +0100)]
Merge pull request #1691 from poettering/util-lib-3
split up util.h and macro.h into even more bits
Lennart Poettering [Tue, 27 Oct 2015 13:58:05 +0000 (14:58 +0100)]
util-lib: move inotify-related definitions to fs-util.[ch]
Lennart Poettering [Tue, 27 Oct 2015 13:57:44 +0000 (14:57 +0100)]
util-lib: move fdname_is_valid() to fd-util.[ch]
Lennart Poettering [Tue, 27 Oct 2015 13:25:58 +0000 (14:25 +0100)]
automount: move generically userful call repeat_mount() into mount-util.[ch]
Lennart Poettering [Tue, 27 Oct 2015 13:24:58 +0000 (14:24 +0100)]
process-util: move a couple of process-related calls over
Lennart Poettering [Tue, 27 Oct 2015 13:02:45 +0000 (14:02 +0100)]
process-util: make some minor corrections to PID live detection
Lennart Poettering [Tue, 27 Oct 2015 13:01:48 +0000 (14:01 +0100)]
process-util: rename get_parent_of_pid() → get_process_ppid()
In order to match the other get_process_xyz() calls.
Lennart Poettering [Tue, 27 Oct 2015 12:56:40 +0000 (13:56 +0100)]
process-util: actually move rename_process() over
The prototype was moved long ago, actually move the definition over now,
too.
Lennart Poettering [Tue, 27 Oct 2015 12:45:00 +0000 (13:45 +0100)]
mount-util: move fstype_is_network() and name_to_handle_at() definitions over
Lennart Poettering [Mon, 26 Oct 2015 21:02:13 +0000 (22:02 +0100)]
update TODO
Lennart Poettering [Tue, 27 Oct 2015 02:01:06 +0000 (03:01 +0100)]
util-lib: split out allocation calls into alloc-util.[ch]
Lennart Poettering [Tue, 27 Oct 2015 00:48:17 +0000 (01:48 +0100)]
util-lib: split out globbing related calls into glob-util.[ch]
Lennart Poettering [Tue, 27 Oct 2015 00:26:52 +0000 (01:26 +0100)]
stat-util.h: move F_TYPE_EQUAL() macro definition to stat-util.h
Lennart Poettering [Tue, 27 Oct 2015 00:26:31 +0000 (01:26 +0100)]
util-lib: split out printf() helpers to stdio-util.h
Lennart Poettering [Tue, 27 Oct 2015 00:23:53 +0000 (01:23 +0100)]
macro.h: move definition of MODE_INVALID to parse-util.h
Lennart Poettering [Tue, 27 Oct 2015 00:03:38 +0000 (01:03 +0100)]
macro: move DECIMAL_STR_WIDTH() into macro.h
So that it sets next to DECIMAL_STR_MAX(), where it belongs.
Lennart Poettering [Tue, 27 Oct 2015 00:03:03 +0000 (01:03 +0100)]
socket-util: move CMSG_FOREACH() from macro.h to socket-util.h
Lennart Poettering [Tue, 27 Oct 2015 00:02:30 +0000 (01:02 +0100)]
io-util.h: move iovec stuff from macro.h to io-util.h
Lennart Poettering [Mon, 26 Oct 2015 23:50:14 +0000 (00:50 +0100)]
process-util: move PID related macros from macro.h to process-util.h
Lennart Poettering [Mon, 26 Oct 2015 23:42:07 +0000 (00:42 +0100)]
user-util: move UID/GID related macros from macro.h to user-util.h
Lennart Poettering [Mon, 26 Oct 2015 23:41:29 +0000 (00:41 +0100)]
util-lib: move web-related calls into web-util.[ch]
Lennart Poettering [Mon, 26 Oct 2015 23:40:25 +0000 (00:40 +0100)]
util-lib: split out syslog-related calls into syslog-util.[ch]
Lennart Poettering [Mon, 26 Oct 2015 23:07:54 +0000 (00:07 +0100)]
detect-virt: add new --chroot switch to detect chroot() environments
Lennart Poettering [Mon, 26 Oct 2015 23:07:27 +0000 (00:07 +0100)]
util-lib: move running_in_chroot() into virt.[ch]
It's a very weak kind of virtualization, after all.
Lennart Poettering [Mon, 26 Oct 2015 23:06:29 +0000 (00:06 +0100)]
util-lib: move /proc/cmdline parsing code to proc-cmdline.[ch]
Lennart Poettering [Mon, 26 Oct 2015 23:02:45 +0000 (00:02 +0100)]
util-lib: move is_main_thread() to process-util.[ch]
Lennart Poettering [Mon, 26 Oct 2015 22:32:16 +0000 (23:32 +0100)]
src/basic: rename audit.[ch] → audit-util.[ch] and capability.[ch] → capability-util.[ch]
The files are named too generically, so that they might conflict with
the upstream project headers. Hence, let's add a "-util" suffix, to
clarify that this are just our utility headers and not any official
upstream headers.
Lennart Poettering [Mon, 26 Oct 2015 22:20:41 +0000 (23:20 +0100)]
util-lib: split out umask-related code to umask-util.h