Commit Graph
23475 Commits
Author SHA1 Message Date
Lennart Poettering e22aa3d328 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.
2015-11-01 22:12:29 +01:00
Lennart Poettering 638b56cd3c sd-daemon: verify NOTIFY_SOCKET path length
Better generate a real error then simply connect to the wrong socket.
2015-11-01 21:49:19 +01:00
Shawn Landden 025b4c4105 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.
2015-10-31 21:00:57 -07:00
Susant Sahani 75a8fd6ac8 machine: : port to extract_first_word 2015-11-01 03:36:27 +05:30
Susant Sahani 7294bb5be2 sd-journal.c: port to extract_first_word 2015-11-01 03:32:45 +05:30
Thomas Haller 9ac8e91324 lldp: avoid compiler warnings in lldp_tfl_package_read* functions
gcc 5.1.1 wrongly warns about uninitialized variable @r2 when compiling
with "-Og". Refactor the code to avoid the warnings.

Fixes: 564cabd46c
2015-10-31 22:30:14 +01:00
Evgeny Vereshchagin aa3e4400e3 man: MANAGER_SYSTEM understands SYSTEMD_UNIT_PATH too 2015-10-31 23:07:47 +03:00
Evgeny Vereshchagin 1b6a0f0b35 tests: lookup_paths_init depends on SYSTEMD_UNIT_PATH. Test it 2015-10-31 22:00:32 +03:00
Lennart Poettering a47806fafa 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.
2015-10-31 19:09:20 +01:00
Lennart Poettering cacea34bd1 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.
2015-10-31 19:09:20 +01:00
Lennart Poettering c279613f86 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
2015-10-31 19:09:20 +01:00
Lennart Poettering a1a078eef2 core: bail our earlier when doing audit
Let's make sure we don't even try to create the audit socket
2015-10-31 19:09:20 +01:00
Lennart Poettering 97044145b4 core,nspawn: minor coding style fixes 2015-10-31 19:09:20 +01:00
Lennart Poettering 3c747da38c nspawn: fix minor memory leak
When rebooting nspawn containers about 400 times we'd otherwise hit the
fd limit and refuse further reboots.
2015-10-31 19:09:20 +01:00
Lennart Poettering 96d66d89c9 core: constify a few things 2015-10-31 19:09:20 +01:00
Lennart Poettering b41b9d2ae9 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.
2015-10-31 19:09:20 +01:00
Ronny Chevalier 534e8f89d6 Merge pull request #1734 from evverx/overwrite-sysemd-unit-path
core: set_unit_path overwrites SYSTEMD_UNIT_PATH
2015-10-31 17:22:20 +01:00
Ronny Chevalier aa8e00da54 test-path: move all related test files to a specific directory
To avoid polluting test/
2015-10-31 15:07:19 +01:00
Ronny Chevalier ac40081621 test-execute: move all files related to a specific directory
To avoid polluting test/
2015-10-31 15:07:19 +01:00
Ronny Chevalier 7d0f09a932 build-sys: add missing test files to EXTRA_DIST 2015-10-31 15:07:19 +01:00
Ronny Chevalier a622675862 test-execute: add tests for IOSchedulingClass 2015-10-31 15:07:19 +01:00
Ronny Chevalier c388dfea5a test-execute: add tests for OOMScoreAdjust 2015-10-31 15:07:19 +01:00
Ronny Chevalier 03bd70dd01 test-execute: add test for EnvironmentFile 2015-10-31 15:07:19 +01:00
Ronny Chevalier 63447f1153 test-execute: add test for PrivateNetwork 2015-10-31 15:07:19 +01:00
Evgeny Vereshchagin cbe46ead79 core: set_unit_path overwrites SYSTEMD_UNIT_PATH 2015-10-31 14:14:37 +03:00
Evgeny Vereshchagin 9ef57298cc core: port config_parse_bounding_set to extract_first_word 2015-10-30 20:55:56 +03:00
Lennart Poettering ed574a6834 Merge pull request #1729 from endocode/dongsu/jr-mhd-memlimit-v3
journal-remote: increase memory limit per connection to avoid errors …
2015-10-30 15:48:49 +01:00
Dongsu Park 5e3efccfc9 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
2015-10-30 15:12:48 +01:00
Tom Gundersen c598ac7626 networkd: link - port to extract_first_word() 2015-10-30 12:32:49 +01:00
Tom Gundersen 93f660da98 sd-dhcp6-client: fix assert in options parsing 2015-10-30 12:32:49 +01:00
Tom Gundersen f833694d4f networkd: route - add expiration support
This should really live in the kernel, but the netlink API currently
does not support it. Until support has been added, expire the route
from userspace.
2015-10-30 12:32:49 +01:00
Tom Gundersen f703cc2c57 networkd: link - deserialize routes 2015-10-30 12:32:49 +01:00
Tom Gundersen 0bc70f1d9c networkd: link - (de)serialize IPv4LL and DHCPv4 addresses
This initializes the clients to try rebinding the preexisting
addresses before doing anything else.
2015-10-30 12:32:49 +01:00
Tom Gundersen c4a03a5669 networkd: link - deserialize
For now only deserialize some basic state and the applied addresses.

When a link is added, try to deserialize it's state from /run. This
is relevant only when networkd is restarted at runtime.
2015-10-30 12:32:49 +01:00
Tom Gundersen c1eb9872f6 networkd: link - serialize routes 2015-10-30 12:32:49 +01:00
Tom Gundersen 1c8e710c2b networkd: route - track routes 2015-10-30 12:32:48 +01:00
Tom Gundersen cab974b035 networkd: address - properly take over a foreign address 2015-10-30 12:32:48 +01:00
Tom Gundersen a3a019e125 networkd: address - update link operstate when address is updated
The operstate may change based on address properties, so make a change of
address trigger an operstate update.
2015-10-30 12:32:48 +01:00
Tom Gundersen 86655331bc networkd: route - clean up confusion between 'metric' and 'priority'
Different tools use different terms for the same concept, let's try
to stick with 'priority', as that is what the netlink API uses.
2015-10-30 12:32:48 +01:00
Tom Gundersen 2ce4095690 networkd: route - rename fields in struct 2015-10-30 12:32:48 +01:00
Daniel Mack cb2266f931 Merge pull request #1720 from evverx/shell-completion-global-mode
shell-completion: systemctl: show completions for `user` in `global` …
2015-10-30 10:56:38 +01:00
Evgeny Vereshchagin 4b03af4a97 tests: add test for capability bounding set parsing 2015-10-30 09:22:53 +03:00
Marcel Holtmann b133ea8e5f hwdb: Update database of Bluetooth company identifiers 2015-10-30 04:22:54 +01:00
Evgeny Vereshchagin 93557fcb5d shell-completion: systemctl: show completions for user in global mode 2015-10-30 04:55:32 +03:00
Daniel Mack 8d20def9fe Merge pull request #1709 from evverx/set-location-completion
shell-completion: hostnamectl: add the command set-location
2015-10-29 19:47:02 +01:00
Daniel Mack 0fcf9b2390 Merge pull request #1717 from ronnychevalier/rc/test_capabilityboundingset2
test: add tests to ensure that the capabilities are properly set
2015-10-29 19:46:01 +01:00
Ronny Chevalier ff4ca461ed test: add tests to ensure that the capabilities are properly set 2015-10-29 17:14:18 +01:00
Ronny Chevalier db27190d54 Merge pull request #1713 from evverx/test-cap-bounding-set-merging
Another fix of the CapabilityBoundingSet parsing
2015-10-29 13:44:23 +01:00
Evgeny Vereshchagin 661b37b05b core: fix capability bounding set parsing
bug: CapabilityBoundingSet= doesn't reset all caps
2015-10-29 14:48:37 +03:00
Evgeny Vereshchagin a8107a54bd test: add test for capability bounding set parsing 2015-10-29 14:48:32 +03:00