Commit graph

5227 commits

Author SHA1 Message Date
Kumar Kartikeya Dwivedi 4f07ddfa9b
Introduce sd_notify_barrier
This adds the sd_notify_barrier function, to allow users to synchronize against
the reception of sd_notify(3) status messages. It acts as a synchronization
point, and a successful return gurantees that all previous messages have been
consumed by the manager. This can be used to eliminate race conditions where
the sending process exits too early for systemd to associate its PID to a
cgroup and attribute the status message to a unit correctly.

systemd-notify now uses this function for proper notification delivery and be
useful for NotifyAccess=all units again in user mode, or in cases where it
doesn't have a control process as parent.

Fixes: #2739
2020-05-01 03:22:47 +05:30
Kenny Levinsen cb5a46b845 core: Add optional FDPOLL=0 argument to fdstore
A service can specify FDSTORE=1 FDPOLL=0 to request that PID1 does not
poll the fd to remove them on error. If set, fds will only be removed on
FDSTOREREMOVE=1 or when the service is done.

Fixes: #12086
2020-04-30 19:42:26 +02:00
Michal Sekletár d9e45bc3ab core: introduce support for cgroup freezer
With cgroup v2 the cgroup freezer is implemented as a cgroup
attribute called cgroup.freeze. cgroup can be frozen by writing "1"
to the file and kernel will send us a notification through
"cgroup.events" after the operation is finished and processes in the
cgroup entered quiescent state, i.e. they are not scheduled to
run. Writing "0" to the attribute file does the inverse and process
execution is resumed.

This commit exposes above low-level functionality through systemd's DBus
API. Each unit type must provide specialized implementation for these
methods, otherwise, we return an error. So far only service, scope, and
slice unit types provide the support. It is possible to check if a
given unit has the support using CanFreeze() DBus property.

Note that DBus API has a synchronous behavior and we dispatch the reply
to freeze/thaw requests only after the kernel has notified us that
requested operation was completed.
2020-04-30 19:02:51 +02:00
Lennart Poettering 9dcd43b149 notify: beef up --pid= logic
Prompted by the discussions on #15547.
2020-04-30 18:36:05 +02:00
Zbigniew Jędrzejewski-Szmek 26b8190841 man: mention that ProtectSystem= also takes care of /efi 2020-04-30 09:54:00 +02:00
nabijaczleweli e81f5fc4e8
link: Allow configuring RX mini and jumbo ring sizes, too
This now covers all ethtool_ringparam configurables (as of v5.6;
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/include/uapi/linux/ethtool.h?h=v5.6#n488)
2020-04-29 18:57:13 +02:00
nabijaczleweli 80af9bdabe
link: Add units and fix typo in (Rx|Tx)BufferSize= manpage. Clean up the implementation slightly 2020-04-29 18:55:42 +02:00
Lennart Poettering 503298b724 man: document new specifiers 2020-04-28 23:14:28 +02:00
Daan De Meyer bac1b83217 sd-bus: Add sd_bus_query_sender_creds/privilege docs 2020-04-28 19:38:04 +02:00
Daan De Meyer 8653422b6a sd-bus: Add sd_bus_get_creds_mask docs 2020-04-28 19:30:49 +02:00
Daan De Meyer 7b679a188e sd-bus: Cite sd_bus_creds_unref in sd_bus_get_name_creds docs 2020-04-25 10:01:18 +02:00
Zbigniew Jędrzejewski-Szmek c13f4643f4 Merge pull request #15579 from DaanDeMeyer/sd-bus-get-name/owner-creds-docs 2020-04-24 08:29:41 +02:00
Daan De Meyer 425d5cecbe sd-bus: Add sd_bus_get_name/owner_creds docs 2020-04-24 08:15:05 +02:00
Daan De Meyer 68b5003bc1 sd-bus: Add sd_bus_message_get_creds docs 2020-04-23 22:56:10 +02:00
Daan De Meyer 0e4305eeea sd-bus: Add sd_bus_get_name_machine_id docs 2020-04-23 22:40:20 +02:00
Daan De Meyer d7fbc6804e sd-bus: Add sd_bus_send_to docs 2020-04-23 22:38:44 +02:00
Lennart Poettering bf39cb7b92
Merge pull request #15566 from poettering/destroy-binfmt
unregister binary formats during shutdown
2020-04-23 21:15:22 +02:00
Zbigniew Jędrzejewski-Szmek 927cffd57f Merge pull request #15569 from DaanDeMeyer/sd-bus-message-peek-type-docs 2020-04-23 20:11:14 +02:00
Zbigniew Jędrzejewski-Szmek 37f446eab7
Merge pull request #15550 from DaanDeMeyer/sd-bus-open/close/enter/exit-container-docs
sd-bus: Add sd_bus_open/close/enter/exit_container docs
2020-04-23 19:58:43 +02:00
Zbigniew Jędrzejewski-Szmek 9d569d5fcb man: add a description of handling of single-label names
It turns out that our man page didn't describe the handling of single-label
names almost at all. This probably adds to the confusion regarding the subject.
So let's first describe what our current implementation is doing.

Quoting https://www.iab.org/documents/correspondence-reports-documents/2013-2/iab-statement-dotless-domains-considered-harmful/:
> Applications and platforms that apply a suffix search list to a single-label
> name are in conformance with IETF standards track RFCs. Furthermore,
> applications and platforms that do not query DNS for a TLD are in conformance
> with IETF standards track recommendations

Current behaviour is in line with that recommendation.

For #13763.
2020-04-23 19:54:52 +02:00
Daan De Meyer 3df22bb5c8 sd-bus: Add sd_bus_message_peek_type docs 2020-04-23 19:37:21 +02:00
Daan De Meyer 7cd40caa66 sd-bus: Add sd_bus_message_open/close/enter/exit_container docs 2020-04-23 18:30:40 +02:00
Daan De Meyer 31e4abd1a6 sd-bus: Fix typo in sd_bus_message_append_array docs 2020-04-23 18:27:34 +02:00
Lennart Poettering cd9aa8f0f9 man: document binfmt's new --unregister switch 2020-04-23 17:14:54 +02:00
Lennart Poettering a9ab5cdb50
Merge pull request #15472 from keszybz/dbus-api-docs
A few more dbus api documentation updates
2020-04-23 17:01:11 +02:00
Zbigniew Jędrzejewski-Szmek 73781de41f
Merge pull request #15530 from ssahani/lpr-dhcpv4-option-9
network: add support to DHCPv4 server/client option 9 LPR
2020-04-23 09:10:14 +02:00
Daan De Meyer 0076098b0a sd-bus: Add sd_bus_message_get_error/errno docs 2020-04-23 08:57:39 +02:00
Daan De Meyer 570f92c691 sd-bus: Add sd_bus_get/set_allow_interactive_authorization docs 2020-04-23 08:53:27 +02:00
Zbigniew Jędrzejewski-Szmek 4ee40eefce
Merge pull request #15516 from poettering/nspawn-resolv-conf
beef up --resolv-conf= options of systemd-nspawn
2020-04-23 08:01:46 +02:00
Niklas Hambüchen 69123c218c man: Fix typo "multiplied with" -> "multiplied by" 2020-04-23 07:56:28 +02:00
Daan De Meyer e8c47f7370 sd-bus: Add sd_bus_message_at_end docs 2020-04-22 23:42:03 +02:00
Zbigniew Jędrzejewski-Szmek bbdeb2b5e9
Merge pull request #15517 from DaanDeMeyer/sd-bus-monitor-docs
sd-bus: Add sd_bus_set/is_monitor docs
2020-04-22 23:38:37 +02:00
Lennart Poettering 60e16d20a3 man: document that VirtualEthernetExtra= has nothing to do with Bridge=
Fixes: #15402
2020-04-22 22:34:52 +02:00
Lennart Poettering e309b929ba man: document the new --resolv-conf= options 2020-04-22 19:38:04 +02:00
Susant Sahani d361b3730a network: Add support send and receive LPR servers 2020-04-22 14:49:27 +02:00
Zbigniew Jędrzejewski-Szmek 9df91db5e0 Merge pull request #15519 from DaanDeMeyer/sd-bus-message-read-strv-docs 2020-04-22 09:44:27 +02:00
Daan De Meyer 42f5c9a335 sd-bus: Clarify sd_bus_list_names results ownership 2020-04-22 08:42:50 +02:00
Daan De Meyer e5f1a3faab sd-bus: Add sd_bus_message_read_strv docs 2020-04-22 08:42:29 +02:00
Zbigniew Jędrzejewski-Szmek 2807b68019
Merge pull request #15520 from mrc0mmand/various-codebase-improvements
tree-wide: various codebase improvements
2020-04-22 08:41:38 +02:00
Frantisek Sumsal 86b52a3958 tree-wide: fix spelling errors
Based on a report from Fossies.org using Codespell.

Followup to #15436
2020-04-21 23:21:08 +02:00
Dan Streetman 589397a277 network: change UseGateway= default to UseRoutes= setting
Anyone previously using the UseRoutes=false parameter expected their
dhcp4-provided gateway route to be ignored, as well.  However, with
the introduction of the UseGateway= parameter, this is no longer true.

In order to keep backwards compatibility, this sets the UseGateway=
default value to whatever UseRoutes= has been set to.
2020-04-21 16:56:48 -04:00
Daan De Meyer f74067dfbd sd-bus: Add sd_bus_list_names docs 2020-04-21 22:20:54 +02:00
Daan De Meyer 0eb5b641c5 sd-bus: Add sd_bus_set/is_monitor docs 2020-04-21 19:33:25 +02:00
Daan De Meyer 7fffaafaf2 sd-bus: Rewrap sd_bus_set_server docs at 109 columns 2020-04-21 19:08:25 +02:00
Zbigniew Jędrzejewski-Szmek beb1d28654 man: remove gendered pronoun and reindent a paragraph 2020-04-21 17:10:21 +02:00
Zbigniew Jędrzejewski-Szmek 98ab0daeeb docs: use "polkit" to refer to PolicyKit
See d35f51ea84 for justification.

First use in each file is turned into a link to the documentation page.
2020-04-21 17:10:02 +02:00
Zbigniew Jędrzejewski-Szmek 10d5ce0aa5 man: fix two typos
Pointed out by @boucman and @DaanDeMeyer during review.
2020-04-21 17:10:02 +02:00
Zbigniew Jędrzejewski-Szmek 2a9159244b man: timedate1(5) — add missing descriptions 2020-04-21 17:10:02 +02:00
Zbigniew Jędrzejewski-Szmek 5d2262d7c3 man: hostname(5) — add description of methods and properties 2020-04-21 17:10:02 +02:00
Zbigniew Jędrzejewski-Szmek 38b38500c6 tree-wide: use "hostname" spelling everywhere
It's not that I think that "hostname" is vastly superior to "host name". Quite
the opposite — the difference is small, and in some context the two-word version
does fit better. But in the tree, there are ~200 occurrences of the first, and
>1600 of the other, and consistent spelling is more important than any particular
spelling choice.
2020-04-21 16:58:04 +02:00
Zbigniew Jędrzejewski-Szmek debf2ddd28 man: reorder hostname1(5) 2020-04-21 16:58:04 +02:00
Lennart Poettering 33b58dfb41 core: automatically add udev dependency for units using RootImage=
We use udev to wait for /dev/loopX devices to be fully proped hence we
need an implicit ordering dependency on it, for RootImage= to work
reliably in early boot, too.

Fixes: #14972
2020-04-21 16:31:06 +02:00
Zbigniew Jędrzejewski-Szmek 91b75f1f2f
Merge pull request #15508 from keszybz/add-dbus-entities-to-index
Add dbus entities to index
2020-04-21 13:58:01 +02:00
Lennart Poettering ede32a7cff
Merge pull request #15505 from keszybz/man-sd-hwdb-sd-journal
Document remaining sd-journal and sd-hwdb functions
2020-04-21 13:37:55 +02:00
Lennart Poettering e14a0c21e9 man: document how to get the boot menu with zero time-out
Fixes: #15125
2020-04-21 12:21:38 +02:00
Zbigniew Jędrzejewski-Szmek 32c4d2ba62 man: add SD_HWDB_FOREACH_PROPERTY with an example 2020-04-21 11:44:49 +02:00
Zbigniew Jędrzejewski-Szmek ec7ea47dae man: add description of all the sd-hwdb funtions 2020-04-21 11:37:30 +02:00
Zbigniew Jędrzejewski-Szmek 00bb75d7ce man: add markers to put all dbus entities in the directives index
Follow-up for f92c8d1c67.

directives.index:
- This index contains 3398 entries in 19 sections, referring to 333 individual
+ This index contains 4316 entries in 19 sections, referring to 333 individual
2020-04-21 10:59:24 +02:00
Zbigniew Jędrzejewski-Szmek 47fb7fd6b0 man: run systemd1(5) through the updater
For some reason I must've forgotten this page in 4fb222c4b2.
2020-04-21 10:56:51 +02:00
Lennart Poettering f9411d5d5f
Merge pull request #15495 from keszybz/resolve-debugging-and-stub-handling
Resolve debugging and stub handling
2020-04-21 09:34:21 +02:00
Zbigniew Jędrzejewski-Szmek 55c0fbde8f
Merge pull request #15502 from DaanDeMeyer/sd-bus-exit-on-disconnect-docs
sd-bus: Add sd_bus_get/set_exit_on_disconnect docs
2020-04-21 09:23:16 +02:00
Zbigniew Jędrzejewski-Szmek 21dc5e82ad man: add sd_j_open_namespace as refname
This was forgotten in 241c8f67f6.
2020-04-21 09:08:14 +02:00
Zbigniew Jędrzejewski-Szmek c11edfee98 man: document sd_journal_*_with_location 2020-04-21 09:08:14 +02:00
Daan De Meyer 23139f89dc sd-bus: Rewrap sd_bus_set_close_on_exit + small fixes 2020-04-21 08:48:55 +02:00
Daan De Meyer 4eaf8bc69e sd-bus: Add sd_bus_get_scope/tid/unique_name docs 2020-04-21 08:44:32 +02:00
Daan De Meyer b778146b94 sd-bus: Rewrap sd_bus_set_description docs 2020-04-20 21:39:07 +02:00
Daan De Meyer 75358555a5 sd-bus: sd_bus_get_fd docs typo fix 2020-04-20 21:32:35 +02:00
Daan De Meyer d4169bf8b0 sd-bus: Rewrap sd_bus_get_fd docs 2020-04-20 20:59:27 +02:00
Daan De Meyer 37409a1c68 sd-bus: Small sd_bus_set_server doc fix 2020-04-20 20:03:44 +02:00
Daan De Meyer c72d0fb154 sd-bus: Add sd_bus_get/set_exit_on_disconnect docs 2020-04-20 20:03:41 +02:00
Daan De Meyer 842a362c3a sd-bus: Add sd_bus_is_server + sd_bus_set/is_bus_client docs 2020-04-20 19:12:36 +02:00
Daan De Meyer d512670a1f sd-bus: sd_bus_get_current_* docs fixes 2020-04-20 17:49:05 +02:00
Zbigniew Jędrzejewski-Szmek 7f25507647 man: add forgotten <para> tags around a paragaph in resolve1(5) 2020-04-20 15:33:18 +02:00
Zbigniew Jędrzejewski-Szmek df9578498f resolve: allow setting the log level dynamically as in pid1
This is useful to raise the log level for a single transaction or a few,
without affecting other state of the resolved as a restart would.
The log level can only be set, I didn't bother with having the ability
to restore the original as in pid1.
2020-04-20 15:33:18 +02:00
Zbigniew Jędrzejewski-Szmek 59eb35bd94
Merge pull request #15439 from keszybz/man-resolve
Fix formatting in in resolved.conf(5) and nss-resolve(8)
2020-04-20 15:32:14 +02:00
Zbigniew Jędrzejewski-Szmek b136cf54fc
Merge pull request #15491 from keszybz/resolvconf-compat
Two tweaks to the description of resolvconf compatibility
2020-04-20 15:24:54 +02:00
Zbigniew Jędrzejewski-Szmek 42ecca2e68 man: use manpages.ubuntu.com for resolvconf(8) link
Add manpages.debian.org as a man citeref "project", so we can refer to man
pages hosted there. resolvconf(8) doesn't seem to appear on any of the ones we
currently have defined.

We are doing a trick, where our man page is installed as resolvconf(1), and
we refer the reader to resolvconf(8). This can be pretty confusing, so the
least we can do is to provide a non-broken symlink ;)

v2:
- link to manpages.d.o instead of manpages.ubuntu.com, because debian is the
  upstream here, and because with debian we can use /unstable/ as the version,
  and ubuntu doesn't seem to have any such shortcut, so the version would need
  to be periodically updated.
2020-04-20 12:14:33 +02:00
Zbigniew Jędrzejewski-Szmek d8c73cb7c2 man: fix formatting in resolved.conf(5) 2020-04-20 09:47:55 +02:00
Zbigniew Jędrzejewski-Szmek b0fb800c9b man: reindent nss-resolve(8) 2020-04-20 09:47:53 +02:00
Zbigniew Jędrzejewski-Szmek f294b60204
Merge pull request #15480 from DaanDeMeyer/sd-bus-add-node-enumerator-docs
sd-bus: Add sd_bus_add_node_enumerator docs
2020-04-20 08:44:26 +02:00
Zbigniew Jędrzejewski-Szmek 9268c04bc1
Merge pull request #15478 from DaanDeMeyer/dbus-api-docs-fixes
D-Bus api docs fixes
2020-04-20 08:42:59 +02:00
Daan De Meyer db5328e931 sd-bus: Add sd_bus_get_current_* docs 2020-04-20 08:42:04 +02:00
Daan De Meyer ad30002885 sd-bus: Add sd_bus_emit_* docs 2020-04-20 08:40:24 +02:00
Daan De Meyer 7f3daf158a sd-bus: Small sd_bus_add_object_manager docs fix 2020-04-20 08:23:30 +02:00
Daan De Meyer a3c0b9df9a sd-bus: Add sd_bus_add_node_enumerator docs 2020-04-20 08:22:50 +02:00
Daan De Meyer 85eeb14210 sd-bus: sd_bus_add_object docs fixes 2020-04-20 08:22:14 +02:00
Zbigniew Jędrzejewski-Szmek 924ccc35f9 man: add a note that resolvconf updates /etc/resolv.conf in specific circumstances
When someone knows how the whole ecosystem works, this is understandable.
But for someone coming from a system where resolvconf updates /etc/resolv.conf
directly, this can be rather surprising.

For https://bugzilla.redhat.com/show_bug.cgi?id=1815605.
2020-04-19 22:01:21 +02:00
Daan De Meyer c40bd28419 sd-bus: Add sd_bus_set_server, sd_bus_get_bus_id docs 2020-04-19 21:41:03 +02:00
Daan De Meyer 2736c25ce2 D-Bus docs: systemd1 fixes 2020-04-19 21:38:44 +02:00
Daan De Meyer e762fa0392 sd-bus: Add sd_bus_add_object_manager docs 2020-04-19 19:02:11 +02:00
Daan De Meyer 3841fa7916 sd-bus: Add sd_bus_add_filter docs 2020-04-19 19:00:22 +02:00
Daan De Meyer 89fc6fd3ea D-Bus docs: Use method instead of call 2020-04-19 13:05:20 +02:00
Lennart Poettering 0d5071fb29
Merge pull request #15444 from poettering/audit-enable
journald: make whether we enable auditing at start-up optional
2020-04-18 15:55:10 +02:00
Lennart Poettering 09f8722801
Merge pull request #15396 from keszybz/dbus-api-docs
D-bus API docs
2020-04-17 23:40:50 +02:00
Lennart Poettering 75dff0f910
Merge pull request #15459 from keszybz/remove-seat_can_multi_session
Remove seat_can_multi_session
2020-04-17 19:15:28 +02:00
Zbigniew Jędrzejewski-Szmek 8f8cc84ba4 sd-login: get rid of seat_can_multi_session()
Follow-up for fa2cf64a91.
Backwards-compat is retained. A short note is added in docs, in case
people see sd_seat_can_multi_session() mentioned somewhere and wonder what
happened to it.

Also see https://github.com/systemd/systemd/pull/15337#issuecomment-610369404.
2020-04-17 16:15:30 +02:00
Lennart Poettering 511e03a3ee journald: add configuration option for enabling/disabling audit during journald startup
Let's make it optional whether auditing is enabled at journald start-up
or not.

Note that this only controls whether audit is enabled/disabled in the
kernel. Either way we'll still collect the audit data if it is
generated, i.e. if some other tool enables it, we'll collect it.

Fixes: #959
2020-04-17 16:05:22 +02:00
Luca BRUNO 3db1c62d22 man/systemd-service: clarify env variable expansion
This clarifies some more aspects of `${FOO}` expansions in service
units, mostly trying to answer my own doubts about what happens when
the matching variable is not defined.
2020-04-17 15:55:40 +02:00
Zbigniew Jędrzejewski-Szmek a8cff0034c
Merge pull request #15347 from hakman/journald-upload-public-cloud
Support journal-upload HTTPS without key and certificate
2020-04-17 11:26:34 +02:00
Daan De Meyer ca264f7d96 man: fixes from online review
Also includes the issues pointed out by @boucman.
2020-04-16 20:12:56 +02:00