1
0
mirror of https://github.com/systemd/systemd.git synced 2024-11-01 17:51:22 +03:00
Commit Graph

2682 Commits

Author SHA1 Message Date
Zbigniew Jędrzejewski-Szmek
74dd72d559 Merge pull request #2943 from vinaykul/systemd_duid_review_fixes
DHCP DUID parsing fix, logging fix, man-page fix
2016-04-07 20:19:19 -04:00
Torstein Husebø
95f4c7f595 man: fix spelling mistakes 2016-04-06 12:37:01 +02:00
Lennart Poettering
d4337c15d5 Merge pull request #2944 from keszybz/man-coredump-sysctl
Man coredump sysctl
2016-04-06 10:49:52 +02:00
Lennart Poettering
382b56622a Merge pull request #2962 from keszybz/value-option
Add `--value` option to systemctl and loginctl to only print values
2016-04-06 10:47:37 +02:00
Zbigniew Jędrzejewski-Szmek
855005230b machinectl: add --value option 2016-04-05 23:03:58 -04:00
Zbigniew Jędrzejewski-Szmek
6dfde7acf1 man: also mention systemd-coredump@.service and systemd-coredump.socket
Added in 3c171f0b1e.
2016-04-05 21:00:10 -04:00
Martin Pitt
5e939dd6a4 man: fix cgroup attributes for device throttling 2016-04-05 15:28:47 +02:00
Martin Pitt
c51fa94772 man: update links to kernel.org cgroup documentation
This recently moved from /cgroups/ to /cgroup-v1/.

Fixes #2958
2016-04-05 10:48:06 +02:00
Vinay Kulkarni
f38e0cce75 Drop description of 'Type' field from docs. 2016-04-04 21:06:11 -07:00
Vinay Kulkarni
b7f71444c0 Address code-review items for pull-request #2890
1. Replace strtol with unhexchar, verified with valid and invalid DUID strings.
2. Fix logging to use log_syntax instead of log_error.
3. On error reading DUID, ignore read and preserve previous state.
4. Fix man-pages to use markup, remove options not yet implemented.
5. Remove spurious header line in new files.
2016-04-04 21:06:11 -07:00
Zbigniew Jędrzejewski-Szmek
f4046fe06f loginctl: add --value option 2016-04-04 22:41:49 -04:00
Zbigniew Jędrzejewski-Szmek
4f9a91055c systemctl: add --value option
With this option, systemctl will only print the rhs in show:
$ systemctl show -p Wants,After systemd-journald --value
systemd-journald.socket ...
systemd-journald-dev-log.socket ...

This is useful in scripts, because the need to call awk or similar
is removed.
2016-04-04 22:41:49 -04:00
Zbigniew Jędrzejewski-Szmek
77384fb0ed Merge pull request #2959 from keszybz/stop-resolving-localdomain
*.localdomain != localhost
2016-04-04 22:06:37 -04:00
David R. Hedges
63003524cb *.localdomain != localhost
".localdomain" is not a reserved suffix (or prefix). I'm not aware of any
product expecting *.localdomain to resolve to localhost, however I am aware of
at least one product that defaults to ".localdomain" as its DNS suffix provided
via DHCP (pfSense). This leads to unexpected results when attempting to access
a host that's offline (or a host that's online, when nsswitch.conf is
[mis-]configured to have myhostname ahead of DNS).

Operate on:
localhost (and localhost.)
*.localhost (and *.localhost.)
localhost.localdomain (and localhost.localdomain.)
*.localhost.localdomain (and *.localhost.localdomain.)

We should not cover:
*.localdomain (nor *.localdomain.)
localdomain (nor localdomain.)
2016-04-04 13:28:57 -04:00
Lennart Poettering
0ffebd5abf Merge pull request #2849 from keszybz/offline-updates
Offline updates man page
2016-04-04 13:28:35 +02:00
Iago López Galeiras
f3ea87af4f run: add colon before printing started units
In 110ceee58e we removed the period after
printing the started units. This makes copying the unit name easier but
results in improper English.

This adds a colon before printing the units, which makes the output
look better.
2016-04-04 11:28:14 +02:00
Zbigniew Jędrzejewski-Szmek
45f0c64e5f man/offline-updates: more links and support for multiple upgrade services
Most of the changes are already implemented in dnf-system-upgrade.service
and packagekit-offline-update.service, so this update mostly changes the
documentation to match status quo.
2016-04-02 19:20:39 -04:00
Zbigniew Jędrzejewski-Szmek
7382a3cc23 man: describe how to reload sysctl configuration
Also fixes option name (s/--path/--prefix/).
2016-04-02 11:35:08 -04:00
Zbigniew Jędrzejewski-Szmek
f396232996 man: add more cross-references to coredump.conf(5) and systemd-coredump(8)
Fixes #2901.
2016-04-02 11:35:08 -04:00
Zbigniew Jędrzejewski-Szmek
c9648aa659 man: move KillSignal in the right section in directives list 2016-04-02 11:35:07 -04:00
Zbigniew Jędrzejewski-Szmek
1db30aeab1 Merge pull request #2915 from vinaykul/master 2016-03-31 00:52:23 -04:00
Vinay Kulkarni
413708d106 DHCP DUID, IAID configuration options 2016-03-30 16:33:55 -07:00
Andrew Eikum
7f7341e31f man: Fix documented parameters for udev_device_get_ functions 2016-03-30 10:10:36 -05:00
Iago López Galeiras
110ceee58e run: remove period when printing started units
If you start a unit with systemd-run you usually need its name to
inspect it or stop it. Removing the period makes copying the unit name
easier.
2016-03-23 15:45:32 +01:00
Zbigniew Jędrzejewski-Szmek
afec45395f Revert "DHCP DUID and IAID configurability" 2016-03-21 18:24:24 -04:00
Daniel Mack
68de79d6a4 Merge pull request #2760 from ronnychevalier/rc/core_no_new_privileges_seccompv3
core: set NoNewPrivileges for seccomp if we don't have CAP_SYS_ADMIN
2016-03-21 12:57:43 +01:00
Michael Biebl
219e0ea74a man: fix typo in systemd-sysv-generator 2016-03-20 02:27:27 +01:00
Zbigniew Jędrzejewski-Szmek
c5915c636a man: import "Implementing Offline System Updates"
This imports most of http://www.freedesktop.org/wiki/Software/systemd/SystemUpdates/
to turn it into a man page. Similarly for the man page about generators,
this will make it easier to keep up-to-date, keep a history of changes,
and make it more discoverable for end-users.
2016-03-15 22:02:03 -04:00
Petros Angelatos
b3969f73f9 man: document missing KillSignal= .nspawn option
Signed-off-by: Petros Angelatos <petrosagg@gmail.com>
2016-03-15 15:08:04 -07:00
Tobias Klauser
3708bd466e man: network - Fix misspelling of "router advertisement" 2016-03-14 12:13:58 +01:00
Vinay Kulkarni
c83321e6d4 DHCP DUID and IAID configurability 2016-03-09 21:58:44 -08:00
Christian Hesse
a5a4e3658d ask-password: add option --no-output to not print password to stdout
systemd-ask-password can store passwords in kernel keyring. However it
uses to print the passwords to standard output nevertheless. Depending
on where systemd-ask-password is called passwords may end on display
or in log, leaking sensitive information.
This allows to make systemd-ask-password quiet, effectively disabling
printing passwords to standard output.
2016-03-01 19:02:11 +01:00
Ronny Chevalier
19c0b0b9a5 core: set NoNewPrivileges for seccomp if we don't have CAP_SYS_ADMIN
The manpage of seccomp specify that using seccomp with
SECCOMP_SET_MODE_FILTER will return EACCES if the caller do not have
CAP_SYS_ADMIN set, or if the no_new_privileges bit is not set. Hence,
without NoNewPrivilege set, it is impossible to use a SystemCall*
directive with a User directive set in system mode.

Now, NoNewPrivileges is set if we are in user mode, or if we are in
system mode and we don't have CAP_SYS_ADMIN, and SystemCall*
directives are used.
2016-02-28 14:44:26 +01:00
Torstein Husebø
96d4901149 treewide: fix typos and then/that use 2016-02-24 11:56:11 +01:00
Zbigniew Jędrzejewski-Szmek
f6b052559c Merge pull request #2727 from ian-kelling/man-pr-v3
man: clarify unit ordering language
2016-02-24 00:39:06 -05:00
Ian Kelling
21b0be6bcf man: clarify unit ordering language 2016-02-23 21:30:39 -08:00
Lennart Poettering
c550f7a9b8 Merge pull request #2664 from zonque/bootchart-removal
Remove systemd-bootchart
2016-02-23 20:27:59 +01:00
Zbigniew Jędrzejewski-Szmek
51d97007ed Merge pull request #2723 from poettering/importd-man 2016-02-23 13:47:59 -05:00
Zbigniew Jędrzejewski-Szmek
ecb465354d man: style fixes 2016-02-23 13:47:30 -05:00
Lennart Poettering
9053aaad42 man: change recommended order of NSS modules in /etc/nsswitch.conf
So far we recommended placing "nss-mymachines" after "nss-resolve" in the order
of preference in /etc/nsswitch.conf. This change reverse this order.

Rationale: single-label names are resolved via LLMNR by resolved, which has to
time out if no peer by that name exists. By placing "nss-mymachines" first
(which always responds immediately) we avoid running into this timeout for most
containers. Both modules should return the same data if LLMNR is used by the
container anyway.

While we are at it, improve the man pages of the three NSS modules in other
ways a bit.
2016-02-23 18:26:35 +01:00
Lennart Poettering
0ab0c01490 Merge pull request #2717 from keszybz/networkctl-prettification
Networkctl prettification
2016-02-23 16:54:52 +01:00
Lennart Poettering
992afc106d man: add minimal man page for systemd-importd.service 2016-02-23 16:23:42 +01:00
Zbigniew Jędrzejewski-Szmek
1328bd9c3d man: update link to Fedora Cloud images
Better to use the mirror manager and https.
2016-02-23 08:48:22 -05:00
Daniel Mack
232c84b2d2 Remove systemd-bootchart
This commit rips out systemd-bootchart. It will be given a new home, outside
of the systemd repository. The code itself isn't actually specific to
systemd and can be used without systemd even, so let's put it somewhere
else.
2016-02-23 13:30:09 +01:00
Martin Pitt
16fe5e8b1d Merge pull request #2707 from teg/man-network
network: minor manpage clarifications
2016-02-23 08:25:13 +01:00
Tom Gundersen
788f37c725 man: link - add suggestion for debugging
udevadm test-builtin can be very useful for testing .link files, so add a reference.

Addresses issue #2406.
2016-02-23 01:25:32 +01:00
Tom Gundersen
2ae7505f01 man: network - clarify BindCarrier documentation
Make it clear that we are talking of links (in the sense used in networkd) and not ports.

Addresses issue #964.
2016-02-23 01:25:32 +01:00
Tom Gundersen
eb142d8ec1 man: network - improve IPv6Token documentation
Enabling router advertisement may even trigger SLAAC or DHCPv6 to be used to configure
IPv6 addresses on the link. It may not be obvious that only in the SLAAC case will the
Token have an effect. Clarify this in the man page.

Addresses issue #863.
2016-02-23 01:25:32 +01:00
Lennart Poettering
7882632d5a man: extend the Personality= documentation
Among other fixes, add information about more architectures that are supported
these days.
2016-02-22 23:23:06 +01:00
Lennart Poettering
da6c766d53 man: document the new EmitLLDP= .network setting
Also, beef up the LLDP documentation a bit.
2016-02-21 20:59:55 +01:00
Lennart Poettering
f479d3baa7 man: update references to fedora cloud image
We are now at F23, hence let's use that as example.
2016-02-21 20:40:57 +01:00
Lennart Poettering
7cececb2ea networkd: turn on LLDP reception by default, in "routers-only" mode
This way "networkctl status" becomes a bit more useful by default, as router
information is just visible, without any further configuration.

LLDP reception is fully passive and relatively low simple and low traffic,
hence this should be safe to enable by default.
2016-02-21 20:40:57 +01:00
Lennart Poettering
e997c4b09d networkctl: extend "networkctl list" and "networctl lldp" to optionally take interface names
This way, the output may be reduced to only show data about the specified
interfaces.
2016-02-21 20:40:57 +01:00
Lennart Poettering
34437b4f9c sd-lldp: rework sd-lldp API
This reworks the sd-lldp substantially, simplifying things on one hand, and
extending the logic a bit on the other.

Specifically:

- Besides the sd_lldp object only one other object is maintained now,
  sd_lldp_neighbor. It's used both as storage for literal LLDP packets, and for
  maintainging info about peers in the database. Separation between packet, TLV
  and chassis data is not maintained anymore. This should be a major
  simplification.

- The sd-lldp API has been extended so that a couple of per-neighbor fields may
  be queried directly, without iterating through the object. Other fields that
  may appear multiple times, OTOH have to be iterated through.

- The maximum number of entries in the neighbor database is now configurable
  during runtime.

- The generation of callbacks from sd_lldp objects is more restricted:
  callbacks are only invoked when actual data changed.

- The TTL information is now hooked with a timer event, so that removals from
  the neighbor database due to TTLs now result in a callback event.

- Querying LLDP neighbor database will now return a strictly ordered array, to
  guarantee stability.

- A "capabilities" mask may now be configured, that selects what type of LLDP
  neighbor data is collected. This may be used to restrict collection of LLDP
  info about routers instead of all neighbors. This is now exposed via
  networkd's LLDP= setting.

- sd-lldp's API to serialize the collected data to text files has been removed.
  Instead, there's now an API to extract the raw binary data from LLDP neighbor
  objects, as well as one to convert this raw binary data back to an LLDP
  neighbor object. networkd will save this raw binary data to /run now, and the
  client side can simply parse the information.

- support for parsing the more exotic TLVs has been removed, since we are not
  using that. Instead there are now APIs to extract the raw data from TLVs.
  Given how easy it is to parse the TLVs clients should do so now directly
  instead of relying on our APIs for that.

- A lot of the APIs that parse out LLDP strings have been simplified so that
  they actually return strings, instead of char arrays with a length. To deal
  with possibly dangerous characters the strings are escaped if needed.

- APIs to extract and format the chassis and port IDs as strings has been
  added.

- lldp.h has been simplified a lot. The enums are anonymous now, since they
  were never used as enums, but simply as constants. Most definitions we don't
  actually use ourselves have eben removed.
2016-02-21 20:40:56 +01:00
Samuel Tardieu
de2645af05 systemd-resolve: fix typo in man page 2016-02-19 14:42:38 +01:00
Zbigniew Jędrzejewski-Szmek
236d312b8d resolve: print TLSA packets in hexadecimal
https://tools.ietf.org/html/rfc6698#section-2.2 says:
> The certificate association data field MUST be represented as a string
> of hexadecimal characters. Whitespace is allowed within the string of
> hexadecimal characters
2016-02-18 11:41:40 -05:00
Zbigniew Jędrzejewski-Szmek
82d1d24093 systemd-resolve: easy querying of TLSA records
$ systemd-resolve --tlsa fedoraproject.org
_443._tcp.fedoraproject.org IN TLSA 0 0 1 GUAL5bejH7czkXcAeJ0vCiRxwMnVBsDlBMBsFtfLF8A=
        -- Cert. usage: CA constraint
        -- Selector: Full Certificate
        -- Matching type: SHA-256

$ systemd-resolve --tlsa=tcp fedoraproject.org:443
_443._tcp.fedoraproject.org IN TLSA 0 0 1 GUAL5bejH7czkXcAeJ0vCiRxwMnVBsDlBMBsFtfLF8A=
        ...

$ systemd-resolve --tlsa=udp fedoraproject.org
_443._udp.fedoraproject.org: resolve call failed: '_443._udp.fedoraproject.org' not found

v2:
- use uint16_t
- refuse port 0
2016-02-18 11:41:40 -05:00
Zbigniew Jędrzejewski-Szmek
dab48ea63a systemd-resolve: allow whole packets to be dumped in binary form 2016-02-16 19:55:50 -05:00
Zbigniew Jędrzejewski-Szmek
1ace2438c6 systemd-resolve: reword --help output
The output didn't specify if the default for --cname/--search/--legend and
other options was yes or no. Change the description to be explicit about that.

Also make the --help output and man page closer.
2016-02-16 19:10:25 -05:00
Zbigniew Jędrzejewski-Szmek
edb4843fbd man: show output in example systemd-resolve commands
I think example output allows the reader of the man page to
see what functionlity is provided without running the commands
themselves. Specific values in the examples are bound to get out
of date but this is not a problem.
2016-02-16 19:10:25 -05:00
Lennart Poettering
8eff97a103 Merge pull request #2618 from zonque/busproxy-removal
remove bus-proxyd
2016-02-15 14:54:09 +01:00
Zbigniew Jędrzejewski-Szmek
7f6e804332 Promote systemd-activate to /usr/bin/systemd-socket-activate
It has fairly wide functionality now and the interface has been
stable for a while. It it a useful testing tool.

The name is changed to better indicate what it does.
2016-02-14 20:33:32 -05:00
Zbigniew Jędrzejewski-Szmek
cf98937cc7 activate: allow multiple, possibly invalid, fd names
Previous code only allowed a single name to be passed, and duplicated
it over all descriptors. For the sake of testing, allow different
names and in arbitrary number. If just one is given, duplicate it
to match the number of sockets. This matches previuos behaviour.

Since this is a testing tool, it seems useful to allow passing invalid
names to test application behaviour with invalid names. Hence, only
warn. When warning, escape the name.
2016-02-13 11:54:39 -05:00
Zbigniew Jędrzejewski-Szmek
06e948901a Merge pull request #2603 from poettering/drop-compat-libs
Some spring cleaning
2016-02-13 10:36:02 -05:00
Lennart Poettering
479050b363 core: drop Capabilities= setting
The setting is hardly useful (since its effect is generally reduced to zero due
to file system caps), and with the advent of ambient caps an actually useful
replacement exists, hence let's get rid of this.

I am pretty sure this was unused and our man page already recommended against
its use, hence this should be a safe thing to remove.
2016-02-13 11:59:34 +01:00
Lennart Poettering
91ba5ac7d0 Merge pull request #2589 from keszybz/resolve-tool-2
Better support of OPENPGPKEY, CAA, TLSA packets and tests
2016-02-13 11:15:41 +01:00
Daniel Mack
798c486fbc remove bus-proxyd
As kdbus won't land in the anticipated way, the bus-proxy is not needed in
its current form. It can be resurrected at any time thanks to the history,
but for now, let's remove it from the sources. If we'll have a similar tool
in the future, it will look quite differently anyway.

Note that stdio-bridge is still available. It was restored from a version
prior to f252ff17, and refactored to make use of the current APIs.
2016-02-12 19:10:01 +01:00
Zbigniew Jędrzejewski-Szmek
b266400c92 Merge pull request #2590 from zonque/bus-endpoint-removal
Remove kdbus custom endpoint support
2016-02-11 21:58:46 -05:00
Michael Biebl
c629ff587b Typo fixes 2016-02-12 00:26:37 +01:00
Jakub Wilk
07ff561c26 man: fix typos 2016-02-12 00:01:16 +01:00
Daniel Mack
9ca6ff50ab Remove kdbus custom endpoint support
This feature will not be used anytime soon, so remove a bit of cruft.

The BusPolicy= config directive will stay around as compat noop.
2016-02-11 22:12:04 +01:00
Zbigniew Jędrzejewski-Szmek
4ac2ca1bdb systemd-resolve: allow easy querying of openpgp keys
$ systemd-resolve --openpgp zbyszek@fedoraproject.org
d08ee310438ca124a6149ea5cc21b6313b390dce485576eff96f8722._openpgpkey.fedoraproject.org. IN OPENPGPKEY
        mQINBFBHPMsBEACeInGYJCb+7TurKfb6wGyTottCDtiSJB310i37/6ZYoeIay/5soJjlM
        yfMFQ9T2XNT/0LM6gTa0MpC1st9LnzYTMsT6tzRly1D1UbVI6xw0g0vE5y2Cjk3xUwAyn
        ...
2016-02-11 13:12:41 -05:00
Lennart Poettering
394bac4fef man: document that resolved cares about /etc/hosts 2016-02-11 16:25:22 +01:00
Zbigniew Jędrzejewski-Szmek
da25e02913 man: follow up fixes for #2575 2016-02-10 19:49:40 -05:00
Lennart Poettering
a858cd7113 man: correct explanation of "systemctl is-enabled" output
The "is-enabled" command doesn't care whether the symlinks are declared in the
[Install] section of a unit file or not, when returning "enabled". Any alias,
.wants/ or .requires/ symlinks suffice.

Fixes: #975
2016-02-10 23:48:50 +01:00
Lennart Poettering
1917c8cab4 man: document that ExecStartPost= is only run if ExecStart= succeeded
Fixes: #846
2016-02-10 23:48:50 +01:00
Lennart Poettering
1534e170b4 man: document that "systemctl enable" supports abbreviated unit file names
Fixes: #1502
2016-02-10 23:48:50 +01:00
Lennart Poettering
358a9d5114 man: document that nss-myhostname handles *.localhost and *.localdomain too
(And similar for resolved)

Fixes: #1630
2016-02-10 23:48:50 +01:00
Lennart Poettering
be73bb486a man: document that [Install] has no effect in unit file .d/*.conf drop-ins
Fixes: #1774
Fixes: #1090
2016-02-10 23:48:50 +01:00
Lennart Poettering
41448597f2 man: document distinction between ConditionXYZ= and AssertXYZ=
References: #2468
2016-02-10 23:48:46 +01:00
Lennart Poettering
6e004630fe man: document rescue.target and emergency.target in more detail
Fixes: #2523
2016-02-10 23:48:29 +01:00
Lennart Poettering
926db6521b Merge pull request #2574 from zonque/netclass-remove
cgroup: remove support for NetClass= directive
2016-02-10 17:03:00 +01:00
Daniel Mack
50f48ad37a cgroup: remove support for NetClass= directive
Support for net_cls.class_id through the NetClass= configuration directive
has been added in v227 in preparation for a per-unit packet filter mechanism.
However, it turns out the kernel people have decided to deprecate the net_cls
and net_prio controllers in v2. Tejun provides a comprehensive justification
for this in his commit, which has landed during the merge window for kernel
v4.5:

  https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=bd1060a1d671

As we're aiming for full support for the v2 cgroup hierarchy, we can no
longer support this feature. Userspace tool such as nftables are moving over
to setting rules that are specific to the full cgroup path of a task, which
obsoletes these controllers anyway.

This commit removes support for tweaking details in the net_cls controller,
but keeps the NetClass= directive around for legacy compatibility reasons.
2016-02-10 16:38:56 +01:00
Lennart Poettering
89beff89ed core: treat JobTimeout=0 as equivalent to JobTimeout=infinity
Corrects an incompatibility introduced with 36c16a7cdd.

Fixes: #2537
2016-02-10 16:09:24 +01:00
Lennart Poettering
eef0a274e6 activate: add a new switch --inetd to enable inetd-style socket activation
Previously, using --accept would enable inetd-style socket activation in addition to per-connection operation. This is
now split into two switches: --accept only switches between per-connection or single-instance operation. --inetd
switches between inetd-style or new-style fd passing.

This breaks the interface of the tool, but given that it is a debugging tool shipped in /usr/lib/systemd/ it's not
really a public interface.

This change allows testing new-style per-connection daemons.
2016-02-10 14:32:27 +01:00
Lennart Poettering
d31e430f14 activate: add new --seqpacket switch for testing SOCK_SEQPACKET sockets 2016-02-10 14:32:27 +01:00
Daniel Mack
978d665086 Merge pull request #2564 from poettering/fix-2467
Fix for #2467
2016-02-10 13:39:48 +01:00
Lennart Poettering
6bf0f408e4 core: make the StartLimitXYZ= settings generic and apply to any kind of unit, not just services
This moves the StartLimitBurst=, StartLimitInterval=, StartLimitAction=, RebootArgument= from the [Service] section
into the [Unit] section of unit files, and thus support it in all unit types, not just in services.

This way we can enforce the start limit much earlier, in particular before testing the unit conditions, so that
repeated start-up failure due to failed conditions is also considered for the start limit logic.

For compatibility the four options may also be configured in the [Service] section still, but we only document them in
their new section [Unit].

This also renamed the socket unit failure code "service-failed-permanent" into "service-start-limit-hit" to express
more clearly what it is about, after all it's only triggered through the start limit being hit.

Finally, the code in busname_trigger_notify() and socket_trigger_notify() is altered to become more alike.

Fixes: #2467
2016-02-10 13:26:56 +01:00
Lennart Poettering
a0956ed01f man: link resolved bus API documentation from its man page
This is similar how we already do it for logind or machined.
2016-02-09 20:39:43 +01:00
Lennart Poettering
14f4532026 Merge pull request #2543 from keszybz/build-sys-and-man-fixes
Build sys and man fixes
2016-02-08 12:52:39 +01:00
Zbigniew Jędrzejewski-Szmek
89fc708c0a man: clarify that generators are run before /var
Just a clarification. At least systemd-openqa-generator from
openqa gets this wrong.
2016-02-06 17:54:48 -05:00
Zbigniew Jędrzejewski-Szmek
89a1675845 man/hostnamectl: refer to transient hostname as "fallback"
Saying it is the "default" is misleading, because it is almost
never used.
2016-02-06 17:54:48 -05:00
Zbigniew Jędrzejewski-Szmek
75f2310f21 man/hostname: remove obsolete text
All distribution-specific code was removed ages ago.
2016-02-06 17:54:48 -05:00
Lennart Poettering
ce359e98f8 core: when a service's ExecStartPre= times out, skip ExecStop=
This makes sure we never run two control processes at the same time, we cannot keep track off.

This introduces a slight change of behaviour but cleans up the definition of ExecStop= and ExecStopPost=. The former is
now invoked only if the service managed to start-up correctly. The latter is called even if start-up failed half-way.
Thus, ExecStopPost= may be used as clean-up step for both successful and failed start-up attempts, but ExecStop='s
purpose is clearly defined as being responsible for shutting down the service and nothing else.

The precise behaviour of this was not documented yet. This commit adds the necessary docs.

Fixes: #1254
2016-02-03 23:58:47 +01:00
Lennart Poettering
7732f92bad nspawn: optionally run a stub init process as PID 1
This adds a new switch --as-pid2, which allows running commands as PID 2, while a stub init process is run as PID 1.
This is useful in order to run arbitrary commands in a container, as PID1's semantics are different from all other
processes regarding reaping of unknown children or signal handling.
2016-02-03 23:58:24 +01:00
Lennart Poettering
5f932eb9af nspawn: add new --chdir= switch
Fixes: #2192
2016-02-03 23:58:24 +01:00
Lennart Poettering
a92ff4003f Merge pull request #2519 from msekletar/journalctl-device-log-current-boot-v2
journalctl: add match for the current boot when called with devpath (v2)
2016-02-03 16:26:21 +01:00
Tom Gundersen
5508e4f218 Merge pull request #2453 from poettering/journalctl-f
journalctl --fields logic
2016-02-03 15:36:06 +01:00
Michal Sekletar
3cea8e06e4 man: clarify what happens when journalctl is called with devpath 2016-02-03 13:54:32 +01:00
Michal Sekletar
f471010353 man: document that udev_device_new_* functions set errno on error 2016-02-03 12:14:32 +01:00
Lennart Poettering
69e714f3d8 journalctl: add new --fields switch to dump all currently used field names
Fixes #2176
2016-02-01 22:42:33 +01:00
Lennart Poettering
eb86030ec0 sd-journal: add an API to enumerate known field names of the journal
This adds two new calls to get the list of all journal fields names currently in use.

This is the low-level support to implement the feature requested in #2176 in a more optimized way.
2016-02-01 22:42:33 +01:00
Lennart Poettering
2c29d3324d man: document the new RuntimeMaxSec= setting 2016-02-01 22:37:58 +01:00
Lennart Poettering
393003e1de sd-event: permit a USEC_INFINITY timeout as an alternative to a disabling an event source
This should simplify handling of time events in clients and is in-line with the USEC_INFINITY macro we already have.
This way setting a timeout to 0 indicates "elapse immediately", and a timeout of USEC_INFINITY "elapse never".
2016-02-01 22:18:15 +01:00
Torstein Husebø
e94968ba72 resolve: fix typos 2016-02-01 21:08:00 +01:00
Jan Synacek
39fd5b08a7 sd-journal: introduce has_runtime_files and has_persistent_files
Also introduce sd_journal_has_runtime_files() and
sd_journal_has_persistent_files() to the public API. These functions
can be used to easily find out if the open journal files are runtime
and/or persistent.
2016-02-01 11:59:27 +01:00
Lennart Poettering
dcabda4155 Merge pull request #2469 from keszybz/resolved-2
Resolved 2
2016-01-30 15:04:56 +01:00
Zbigniew Jędrzejewski-Szmek
c542f805dd man: reword sentence 2016-01-29 12:24:15 -05:00
Zbigniew Jędrzejewski-Szmek
ba82da3bb5 resolve-host: add option to list protocols 2016-01-29 12:13:08 -05:00
Martin Pitt
7d82cd4d53 Merge pull request #2474 from poettering/doc-fix-2189
man: document special considerations when mixing templated service un…
2016-01-29 16:53:13 +01:00
Lennart Poettering
ae0a5fb1e1 man: document special considerations when mixing templated service units and DefaultDependencies=no
Fixes #2189.
2016-01-29 16:50:50 +01:00
Lennart Poettering
6c033c3496 man: document which section the configuration settings of timesyncd.conf belong into 2016-01-29 14:53:05 +01:00
Lennart Poettering
dbc7bede4a man: actually say which section resolv.conf's setting should be placed in 2016-01-29 14:53:01 +01:00
Zbigniew Jędrzejewski-Szmek
27d3b124c7 man: force space in cmdsynopsis
Docbook renders the man page as "[OPTIONS]--type" without it.
2016-01-28 18:35:01 -05:00
Lennart Poettering
aabf5d4243 systemctl: rename "reload-or-try-restart" verb to "try-reload-or-restart"
But also keep the old name as (undocumented) compatibility around.

The reload-or-try-restart was documented to be a NOP if the unit is not running, since the previous commits this is
also implemented. The old name suggests that the "try" logic only applies to restarting. Fix this, by moving the "try-"
to the front, to indicate that the whole option is a NOP if the service isn't running.
2016-01-28 18:57:04 +01:00
Lennart Poettering
2fcee0a59a man: stop documenting legacy RedHatisms
We generally document only the supported verbs, but not the compatibility verbs we also support, in order to keep the
documentation minimal.
2016-01-28 18:46:24 +01:00
Jan Engelhardt
cd72d2044a doc: improved wording in some places
Avoid "mountpoint mounted" (word repetition),
"queriable" (no match in m-w.com and dict.cc).
2016-01-28 11:13:17 +01:00
Jan Engelhardt
ace483c471 man: try to repair some nonsensical paragraph 2016-01-28 11:12:29 +01:00
Jan Engelhardt
055a100d2e man: top-align cell text for large tables 2016-01-28 11:12:29 +01:00
Jan Engelhardt
9c5baa43ae man: avoid double virtualization
"VM virtualization" <=> "virtual machine virtualization", and double
virtualization is just incorrect in this context.
2016-01-28 11:12:29 +01:00
Zbigniew Jędrzejewski-Szmek
1c18f60af1 man: fix references to a few external man pages
Noticed in pull request #2067.
2016-01-27 23:50:19 -05:00
Daniel Mack
443d6d529c Merge branch 'pr/980' 2016-01-27 17:57:49 +01:00
Andrei Borzenkov
ef6187272b man: make systemctl is-enabled description match enable.
systemctl is-enabled is not limited to wants.d - it also checks for
requires.d and alias links.
2016-01-27 17:57:30 +01:00
Lennart Poettering
fccd4b67b5 man: document slices.target
Fixes: #2438
2016-01-27 02:21:28 +01:00
Lennart Poettering
1f00ededc7 man: document that unit file globbing only operates on primary unit names
See: #2397
2016-01-27 02:21:28 +01:00
Tom Gundersen
1cdc944823 Merge pull request #1975 from ssahani/vxlan2
networkd: Add support to configure VXLAN Port
2016-01-27 01:17:52 +01:00
Lennart Poettering
f59d94bce0 man: document that logind's RemoveIPC= option excepts all system users
Fixes #2324.
2016-01-26 14:42:04 +01:00
Lennart Poettering
adc800a6e0 resolved: allow configuration of routing domains in Domains= 2016-01-26 14:42:04 +01:00
Lennart Poettering
b2a81c0b52 networkd: optinally use DHCP lease domain info for routing only
This changes the UseDomains= setting of .network files to take an optional third value "route", in addition to the
boolean values. If set, the passed domain information is used for routing rules only, but not for the search path
logic.
2016-01-26 14:42:04 +01:00
Lennart Poettering
3df9bec57c networkd: rework Domains= setting
Previously, .network files only knew a vaguely defined "Domains=" concept, for which the documentation declared it was
the "DNS domain" for the network connection, without specifying what that means.

With this the Domains setting is reworked, so that there are now "routing" domains and "search" domains. The former are
to be used by resolved to route DNS request to specific network interfaces, the latter is to be used for searching
single-label hostnames with (in addition to being used for routing). Both settings are configured in the "Domains="
setting. Normal domain names listed in it are now considered search domains (for compatibility with existing setups),
while those prefixed with "~" are considered routing domains only. To route all lookups to a specific interface the
routing domain "." may be used, referring to the root domain. An alternative syntax for this is the "*", as was already
implemented before using the "wildcard" domain concept.

This commit adds proper parsers for this new logic, and exposes this via the sd-network API. This information is not
used by resolved yet, this will be added in a later commit.
2016-01-26 14:42:03 +01:00
Mantas Mikulėnas
5abea6149a logind: update documentation for cf7d1a30e4 2016-01-26 14:24:06 +02:00
Zbigniew Jędrzejewski-Szmek
6a089ddddd man: add stub sd-bus(3)
We have 126 broken links to sd-bus.html, it's nice to fix that.
Current version is mostly a stub, with a long list of links to other
pages. I think that's fine, especially that sd-bus might evolve
quite a bit before it is made public.

Not all of linked pages are written. Still missing:
sd_bus_can_send
sd_bus_get_name_creds
sd_bus_get_owner_creds
sd_bus_message_can_send
sd_bus_message_get_creds
sd_bus_message_set_allow_interactive_authorization
sd_bus_send
sd_bus_set_address
sd_bus_set_description
sd_bus_start
sd_event_set_prepare
sd-device
systemd.busname
2016-01-25 20:20:58 -05:00
Zbigniew Jędrzejewski-Szmek
a3972469b2 man: fix reference to sd_event_source_get_io_revents 2016-01-25 20:05:09 -05:00
Zbigniew Jędrzejewski-Szmek
524f3e5c9d man: fix references to a few external man pages
Noticed in pull request #2067.
2016-01-25 20:04:58 -05:00
Lennart Poettering
624993ac85 man: document systemd-resolve(8)
This also links up the new manpage from systemd-resolved.service(8), and makes a couple of unrelated additions.
2016-01-25 17:19:18 +01:00
Yu Watanabe
e6b6225e3b journal-remote: add an example to man 2016-01-24 16:12:13 +09:00
Daniel Mack
07313a1826 Merge pull request #2409 from snakeroot/dropin-doc-2
man: describe precedence of drop-in .conf files over unit files
2016-01-22 09:10:13 +01:00
Susant Sahani
530a071ab5 man: add man for systemd-activate datagram syntax 2016-01-22 09:42:54 +05:30
Chris Atkinson
0cf4c0d141 man: describe precedence of drop-in .conf files over unit files 2016-01-21 17:21:46 -05:00
Jan Synacek
40c9fe4c08 basic/terminal-util: introduce SYSTEMD_COLORS environment variable
... to determine if color output should be enabled. If the variable is not set,
fall back to using on_tty(). Also, rewrite existing code to use
colors_enabled() where appropriate.
2016-01-20 10:12:41 +01:00
Daniel Mack
d619a0c4a5 Merge pull request #2373 from keszybz/man-api-build-3
Man page grammar and build tweaks v3
2016-01-19 20:44:58 +01:00
Zbigniew Jędrzejewski-Szmek
f23e83b156 man/sd_event_{add_io,add_time,add_signal,now}: various small fixes
- remove things which are clear from the context
- 0 is a valid descriptor number, hence "positive" → "non-negative"
- "positive" means greater than zero, hence "positive non-zero" → "positive"
- use oxford comma
- reword some things for clarity
2016-01-19 12:18:24 -05:00
Lennart Poettering
d555eb990b Merge pull request #2369 from zonque/resolved
resolved: hide public mDNS configuration knobs for now
2016-01-19 15:11:10 +01:00
Lennart Poettering
5f0f8d749d Merge pull request #2357 from keszybz/warnings-2
Remove gcc warnings v2
2016-01-19 15:09:53 +01:00
Daniel Mack
60402bdc52 resolved: remove configuration knobs for mDNS until it's ready
These bits were intenionally left out while mDNS is under development.

Remove the exposed knobs and man page entries again until this is settled.
2016-01-19 14:11:05 +01:00
Susant Sahani
ea0288d17c networkd: VXLAN add support to configure port
This patch add support to configure port

PortRange:
VXLAN bases source UDP port based on flow to help the
receiver to be able to load balance based on outer header flow.

DestinatinPort:

Allow configuring the default destination port on a per-device basis.
2016-01-19 12:17:54 +05:30
Zbigniew Jędrzejewski-Szmek
2c86ba5a51 sd-event: check clock argument to sd_event_now()
sd_event_now() is a public function, so we must check all
arguments for validity. Update man page and add tests.

Sample debug message:
Assertion 'IN_SET(clock, CLOCK_REALTIME, CLOCK_REALTIME_ALARM, CLOCK_MONOTONIC, CLOCK_BOOTTIME, CLOCK_BOOTTIME_ALARM)' failed at src/libsystemd/sd-event/sd-event.c:2719, function sd_event_now(). Ignoring.
2016-01-18 15:09:36 -05:00
Jakub Wilk
b8e1d4d183 man: fix typos 2016-01-15 12:48:01 +01:00
Jan Synacek
b908bb63c4 man/tmpfiles.d: add note about permissions and ownership of symlinks
...because this is might not be obvious.
2016-01-13 08:41:54 +01:00
Lennart Poettering
d9a090b995 Merge pull request #490 from pyssling/master
Add machine-id setting
2016-01-12 23:30:20 +01:00
Nils Carlson
ee48dbd55f core: Add machine-id setting
Allow for overriding all other machine-ids which may be present on
the system using a kernel command line systemd.machine_id or
--machine-id= option.

This is especially useful for network booted systems where the
machine-id needs to be static, or for containers where a specific
machine-id is wanted.
2016-01-12 22:10:41 +00:00
Ismo Puustinen
ece87975a9 man: add AmbientCapabilities entry. 2016-01-12 12:14:50 +02:00
Arthur Clement
f81bae7599 doc typo, src: systemd/src/journal-remote/journal-gatewayd.c 2016-01-11 16:38:35 +01:00
Lennart Poettering
8a516214c4 resolved: introduce support for per-interface negative trust anchors 2016-01-06 18:36:32 +01:00
Lennart Poettering
30c778094b resolved: populate negative trust anchor by default
Let's increase compatibility with many private domains by default, and
ship a default NTA list of wel-known private domains, where it is
unlikely they will be deployed as official TLD anytime soon.
2016-01-06 01:04:23 +01:00
Lennart Poettering
d33b6cf343 resolved: try to detect fritz.box-style private DNS zones, and downgrade to non-DNSSEC mode for them
This adds logic to detect cases like the Fritz!Box routers which serve
a private DNS domain "fritz.box" under the TLD "box" that does not
exist in the root servers. If this is detected DNSSEC validation is
turned off for this private domain, thus improving compatibility with
such private DNS zones.

This should be fairly secure as we first rely on the proof that .box
does not exist before this logic is applied. Nevertheless the logic is
only enabled for DNSSEC=allow-downgrade mode.

This logic does not work for routers that set up a full DNS zone directly
under a non-existing TLD, as in that case we cannot prove
that the domain is truly non-existing according to the root servers.
2016-01-05 22:13:56 +01:00
Lennart Poettering
ad6c047561 resolved,networkd: add a per-interface DNSSEC setting
This adds a DNSSEC= setting to .network files, and makes resolved honour
them.
2016-01-05 20:10:31 +01:00
Lennart Poettering
1ed8c0fbb4 resolved: rename "downgrade-ok" mode to "allow-downgrade"
After discussing this with Tom, we figured out "allow-downgrade" sounds
nicer.
2016-01-05 20:00:53 +01:00
Lennart Poettering
f41b446a76 man: document that DNS= and Domains= is implemented by resolved 2016-01-05 17:41:41 +01:00
Lennart Poettering
b83d91c029 resolved: make MulticastDNS support configurable in resolved.conf
The option is already there, but wasn't exported in the configuration
file so far. Fix that.
2016-01-05 17:41:41 +01:00
Lennart Poettering
aaa297d4e5 networkd,resolved: add a per-interface mdns configuration option 2016-01-05 17:41:41 +01:00
Lennart Poettering
d57d3973a7 man: fix a few typos 2016-01-05 17:30:43 +01:00
Lennart Poettering
b5a8703fdb man: add documentation for dnssec-trust-anchors.d(5) 2016-01-05 14:20:27 +01:00
Lennart Poettering
519d39deee man: add basic documentation for resolved.conf's DNSSEC= switch 2016-01-05 00:31:32 +01:00
Jakub Wilk
7f3fdb7f19 man: fix typos 2015-12-26 20:37:17 +01:00
Zbigniew Jędrzejewski-Szmek
720e593603 Merge pull request #2197 from mscherer/add_seal_config
Add Seal option in the configuration file for journald-remote
2015-12-25 11:16:18 -05:00
Michael Biebl
4559a7218c man: fix typo in systemctl(1) 2015-12-21 11:54:41 +01:00
Michael Scherer
9d3737f13e Add Seal option in the configuration file for journald-remote
While journal received remotely can be sealed, it can only be done
on the command line using --seal, so for consistency, we will
also permit to set it in the configuration file.
2015-12-20 13:23:33 +01:00
Yu Watanabe
190f373bc8 man: fix typo in journal-remote.conf(5) 2015-12-15 23:24:28 +09:00
Lennart Poettering
b43d75c378 importd: drop dkr support
The current code is not compatible with current dkr protocols anyway,
and dkr has a different focus ("microservices") than nspawn anyway
("whole machine containers"), hence drop support for it, we cannot
reasonably keep this up to date, and it creates the impression we'd
actually care for the microservices usecase.
2015-12-10 16:54:41 +01:00
Lennart Poettering
4afd3348c7 tree-wide: expose "p"-suffix unref calls in public APIs to make gcc cleanup easy
GLIB has recently started to officially support the gcc cleanup
attribute in its public API, hence let's do the same for our APIs.

With this patch we'll define an xyz_unrefp() call for each public
xyz_unref() call, to make it easy to use inside a
__attribute__((cleanup())) expression. Then, all code is ported over to
make use of this.

The new calls are also documented in the man pages, with examples how to
use them (well, I only added docs where the _unref() call itself already
had docs, and the examples, only cover sd_bus_unrefp() and
sd_event_unrefp()).

This also renames sd_lldp_free() to sd_lldp_unref(), since that's how we
tend to call our destructors these days.

Note that this defines no public macro that wraps gcc's attribute and
makes it easier to use. While I think it's our duty in the library to
make our stuff easy to use, I figure it's not our duty to make gcc's own
features easy to use on its own. Most likely, client code which wants to
make use of this should define its own:

       #define _cleanup_(function) __attribute__((cleanup(function)))

Or similar, to make the gcc feature easier to use.

Making this logic public has the benefit that we can remove three header
files whose only purpose was to define these functions internally.

See #2008.
2015-11-27 19:19:36 +01:00
Lennart Poettering
2281b56044 Merge pull request #1828 from fbuihuu/set-property-on-inactive-unit
core: allow 'SetUnitProperties()' to run on inactive units too
2015-11-27 14:00:57 +01:00
Lennart Poettering
6182e51efa Merge pull request #2040 from keszybz/randomized-delay
core: rename Random* to RandomizedDelay*
2015-11-27 13:48:12 +01:00
Tom Gundersen
c283267467 Merge pull request #2031 from poettering/resolved-search-domains
resolved. Fully implement search domains for single-label names
2015-11-26 23:58:45 +01:00
Zbigniew Jędrzejewski-Szmek
20cc0ac7a0 man: remove repeated words in description of RandomizedDelay 2015-11-26 16:45:27 -05:00
Zbigniew Jędrzejewski-Szmek
6f5d79986a core: rename Random* to RandomizedDelay*
The name RandomSec is too generic: "Sec" just specifies the default
unit type, and "Random" by itself is not enough. Rename to something
that should give the user general idea what the setting does without
looking at documentation.
2015-11-26 16:32:41 -05:00
Lennart Poettering
f7b5b034e8 Merge pull request #1994 from karelzak/rlimits
core: support <soft:hard> ranges for RLIMIT options
2015-11-26 13:17:25 +01:00
Lennart Poettering
fedb9a51e6 Merge pull request #2022 from alkino/master
man: Add a not that mount unit cannot be templated
2015-11-26 13:09:56 +01:00
Evgeny Vereshchagin
13b6b49fa2 man: fix function name 2015-11-26 07:54:08 +00:00
Lennart Poettering
a51c10485a resolved: add a generic DnsSearchDomain concept
With this change, we add a new object to resolved, "DnsSearchDomain="
which wraps a search domain. This is then used to introduce a global
search domain list, in addition to the existing per-link search domain
list which is reword to make use of this new object too.

This is preparation for implement proper unicast DNS search domain
support.
2015-11-25 21:58:38 +01:00
Lennart Poettering
9f2912db78 man: fix documentation how /etc/resolv.conf is read
/etc/resolv.conf is only read when the DNS= setting does not appear at
all in resolved.conf, regardless if set to the empty list or anything
else. Correct that in the man page.
2015-11-25 21:58:37 +01:00
Karel Zak
91518d20dd core: support <soft:hard> ranges for RLIMIT options
The new parser supports:

 <value>       - specify both limits to the same value
 <soft:hard>   - specify both limits

the size or time specific suffixes are supported, for example

  LimitRTTIME=1sec
  LimitAS=4G:16G

The patch introduces parse_rlimit_range() and rlim type (size, sec,
usec, etc.) specific parsers. No code is duplicated now.

The patch also sync docs for DefaultLimitXXX= and LimitXXX=.

References: https://github.com/systemd/systemd/issues/1769
2015-11-25 12:03:32 +01:00
Nicolas Cornu
cc8454d522 man: Add a not that mount unit cannot be templated 2015-11-24 18:24:57 +01:00
Zbigniew Jędrzejewski-Szmek
958caa58c0 man: include the target name when linking to man pages in html output
Links like http://www.freedesktop.org/software/systemd/man/systemd.socket.html
are changed to http://www.freedesktop.org/software/systemd/man/systemd.socket.html#Accept=.

This implementation is quick & dirty, and misses various corner
cases. A fairly important one is that when a few directives share the
same anchor (which happens when multiple directives are described in
the same paragraph), generated links for everything except the first
one link to an invalid anchor. Another shortcoming is that the
formatting does not use the proper generateID machinery, so the anchor
name could be wrong in some cases. But it seems to work for a large
percentage of links, so seems to be an improvement in usability. When
the anchor is missing, we land at the top of the page, which is the
same as before. If the anchor were to point to different spot, this
would be more confusing... Not sure if that ever happens. Anyway, the
user should be able to recover from landing on the wrong place in the
page.

(Mostly) fixes https://github.com/systemd/systemd/issues/1956.
2015-11-22 23:54:29 -05:00
Franck Bui
e9fd88f2e9 core: allow 'SetUnitProperties()' to run on inactive units too
'set-property' has been primarly designed to change some properties of
*active* units.

However it can easily work on inactive units as well. In that case
changes are only saved in a drop-in for futur uses and changes will be
effective when unit will be started.

Actually it already works on inactive units but that was not
documented and not fully supported. Indeed the inactive units had to
be known by the manager otherwise it was reported as not loaded:

 $ systemctl status my-test.service
 * my-test.service - My Testing Unit
    Loaded: loaded (/etc/systemd/system/my-test.service; static; vendor preset: disabled)
   Drop-In: /etc/systemd/system/my-test.service.d
    Active: inactive (dead)

 $ systemctl set-property my-test.service MemoryLimit=1000000
 Failed to set unit properties on my-test.service: Unit my-test.service is not loaded.

[ Note: that the unit load state reported by the 'status' command
  might be confusing since it claimed the unit as loaded but
  'set-property' reported the contrary. ]

One can possibily workaround this by making the unit a dependency of
another active unit so the manager will keep it around:

 $ systemctl add-wants multi-user.target my-test.service
 Created symlink from /etc/systemd/system/multi-user.target.wants/my-test.service to /etc/systemd/system/my-test.service.

 $ systemctl set-property my-test.service MemoryLimit=1000000

 $ systemctl status my-test.service
 * my-test.service - My Testing Unit
    Loaded: loaded (/etc/systemd/system/my-test.service; enabled; vendor preset: disabled)
   Drop-In: /etc/systemd/system/my-test.service.d
            `-50-MemoryLimit.conf
    Active: inactive (dead)

This patch simply forces 'SetUnitProperties()' to load the unit if
it's not already the case.

It also documents the fact that 'set-property' can be used on inactive
units.
2015-11-22 15:06:14 +01:00
Evgeny Vereshchagin
a0533c6d2c man: update WatchdogSec section
* add info about sd_event_set_watchdog
* add missing Restart values
2015-11-21 04:17:47 +00:00
Lennart Poettering
1bd4903c8f Merge pull request #1950 from evverx/man-systemd-exec-env
man: systemd.exec: add missing variables
2015-11-20 12:24:43 +01:00
Lennart Poettering
dc83f27a7c man: fully document sd-event interfaces
This completes the set of man pages for sd-event and contains some minor
other fixes for other man pages too.

The sd_event_set_name(3) man page is renamed to
sd_event_source_set_description(3), which is the correct name of the
concept today.
2015-11-19 23:38:54 +01:00
Martin Pitt
8cb9bee994 gitignore: only ignore .html files in man/
src/journal-remote/browse.html is git-tracked source and should not be ignored.
Avoid accidentally ignoring similar ones in the future.
2015-11-19 16:52:08 +01:00
Evgeny Vereshchagin
5c019cf260 man: systemd.exec: add missing variables 2015-11-19 13:37:16 +00:00
Lennart Poettering
744c769375 core: add new RandomSec= setting for time units
This allows configuration of a random time on top of the elapse events,
in order to spread time events in a network evenly across a range.
2015-11-18 17:07:11 +01:00
Lennart Poettering
70b4f81970 man: improve and fix documentation for RemainAfterElapse= 2015-11-18 17:04:04 +01:00
Lennart Poettering
4658a529be Merge pull request #1940 from evverx/man-journald-syslog-forwarding
man: remove section about syslog forwarding
2015-11-18 11:32:45 +01:00
Lennart Poettering
aa2fb804a1 Merge pull request #1912 from mustrumr/calendarspec-sub-second-v3
Calendarspec sub second v3
2015-11-18 11:31:42 +01:00
Lennart Poettering
edf1e71381 Merge pull request #1889 from ssahani/socket-proto
socket: Add support for socket protcol
2015-11-18 11:30:06 +01:00
Susant Sahani
74bb646ee5 socket: Add support for socket protcol
Now we don't support the socket protocol like
sctp and udplite .

This patch add a new config param
SocketProtocol: udplite/sctp

With this now we can configure the protocol as

udplite = IPPROTO_UDPLITE
sctp = IPPROTO_SCTP

Tested with nspawn:
2015-11-18 09:34:18 +05:30
Evgeny Vereshchagin
7e07f37585 man: remove section about syslog forwarding
journald: turn ForwardToSyslog= off by default
After all, rsyslog and friends nowadays read their data directly from
the journal, hence the forwarding is unnecessary in most cases.

see 46b131574f
2015-11-18 02:06:39 +00:00
Hristo Venev
ab15dfb7b1 man: calendarspec sub-second support 2015-11-17 23:52:09 +02:00
Lennart Poettering
3e0c30ac56 core: add RemainAfterElapse= setting to timer units
Previously, after a timer unit elapsed we'd leave it around for good,
which has the nice benefit that starting a timer that shall trigger at a
specific point in time multiple times will only result in one trigger
instead of possibly many. With this change a new option
RemainAfterElapse= is added. It defaults to "true", to mimic the old
behaviour. If set to "false" timer units will be unloaded after they
elapsed. This is specifically useful for transient timer units.
2015-11-17 20:48:23 +01:00
David Herrmann
920a726221 Merge pull request #1915 from poettering/btrfs-root-subvol
tmpfiles: create subvolumes for "v", "q", and "Q" only if / is a subv…
2015-11-16 15:48:21 +01:00
Lennart Poettering
2904e949f2 tmpfiles: create subvolumes for "v", "q", and "Q" only if / is a subvolume
It's not a good idea to create subvolumes for parts of the OS tree (such
as /home, or /var) if the root directory is not a subvolume too. We
shouldn't assume control of "heavier" objects such as subvolumes, if the
originating object (the root directory) is a "light-weight" object, i.e.
a plain directory.

Effectively this means that chroot() environments that are run on a
plain directory do not have to deal with problems around systemd
creating subvolumes that cannot be removed with a simple "rm" anymore.
However, if the chroot manager creates a proper subvolume for such an
environment it will also get further subvolumes placed in there, under
the assumption that the manager understands the concept of subvolumes in
that case.
2015-11-16 15:25:42 +01:00
Lennart Poettering
a5bc6e5450 logind: change default to UserTasksMax= to 4096 2015-11-16 11:58:04 +01:00
Lennart Poettering
9ded9cd14c core: enable TasksMax= for all services by default, and set it to 512
Also, enable TasksAccounting= for all services by default, too.

See:

http://lists.freedesktop.org/archives/systemd-devel/2015-November/035006.html
2015-11-16 11:57:48 +01:00
Lennart Poettering
90558f3158 logind: add a new UserTasksMax= setting to logind.conf
This new setting configures the TasksMax= field for the slice objects we
create for each user.

This alters logind to create the slice unit as transient unit explicitly
instead of relying on implicit generation of slice units by simply
starting them. This also enables us to set a friendly description for
slice units that way.
2015-11-13 19:50:52 +01:00
Lennart Poettering
7236f0c6d7 man: document our definition of a year and a month
Let's be accurate here, as this might be surprising to people.
2015-11-13 19:50:52 +01:00
Lennart Poettering
eb55ec9fec util-lib: when parsing time values, accept "M" as short for "month"
nginx defines an uppercase "M" that way (in contrast to the lowercase
"m" for "minute"), and it sounds like an OK logic to follow, so that we
understand a true superset of time values nginx understands.

http://nginx.org/en/docs/syntax.html
2015-11-13 19:50:52 +01:00
Lennart Poettering
0af20ea2ee core: add new DefaultTasksMax= setting for system.conf
This allows initializing the TasksMax= setting of all units by default
to some fixed value, instead of leaving it at infinity as before.
2015-11-13 19:50:52 +01:00
Lennart Poettering
8c6422713f Merge pull request #1883 from evverx/man-systemd-service-sd-watchdog-enabled
man: add note about sd_watchdog_enabled
2015-11-13 18:37:24 +01:00
Evgeny Vereshchagin
582f2fcbfa man: add note about sd_watchdog_enabled 2015-11-13 16:48:34 +00:00
Lennart Poettering
af3fa99c23 Merge pull request #1880 from fsateler/sysctl-doc
man: document systemd-sysctl arguments
2015-11-13 16:40:37 +01:00
Felipe Sateler
14f01575e8 man: document systemd-sysctl arguments 2015-11-13 11:37:16 -03:00
Tom Gundersen
cf0f970fe1 Merge pull request #1879 from poettering/networkd-forward
stop managing per-interface IP forwarding settings
2015-11-13 14:18:32 +01:00
Michal Schmidt
7152869f0a Merge pull request #1869 from poettering/kill-overridable
Remove support for RequiresOverridable= and RequisiteOverridable=
2015-11-13 14:04:34 +01:00
Lennart Poettering
765afd5c4d networkd: stop managing per-interface IP forwarding settings
As it turns out the kernel does not support per-interface IPv6 packet
forwarding controls (unlike as it does for IPv4), but only supports a
global option (#1597). Also, the current per-interface management of the
setting isn't really useful, as you want it to propagate to at least one
more interface than the one you configure it on. This created much grief
(#1411, #1808).

Hence, let's roll this logic back and simplify this again, so that we
can expose the same behaviour on IPv4 and IPv6 and things start to work
automatically again for most folks: if a network with this setting set
is set up we propagate the setting into the global setting, but this is
strictly one-way: we never reset it again, and we do nothing for network
interfaces where this setting is not enabled.

Fixes: #1808, #1597.
2015-11-13 13:02:50 +01:00
Lennart Poettering
f6d6bad146 nspawn: add new --network-veth-extra= switch for defining additional veth links
The new switch operates like --network-veth, but may be specified
multiple times (to define multiple link pairs) and allows flexible
definition of the interface names.

This is an independent reimplementation of #1678, but defines different
semantics, keeping the behaviour completely independent of
--network-veth. It also comes will full hook-up for .nspawn files, and
the matching documentation.
2015-11-12 22:04:49 +01:00
Lennart Poettering
f32b43bda4 core: remove support for RequiresOverridable= and RequisiteOverridable=
As discussed at systemd.conf 2015 and on also raised on the ML:

http://lists.freedesktop.org/archives/systemd-devel/2015-November/034880.html

This removes the two XyzOverridable= unit dependencies, that were
basically never used, and do not enhance user experience in any way.
Most folks looking for the functionality this provides probably opt for
the "ignore-dependencies" job mode, and that's probably a good idea.

Hence, let's simplify systemd's dependency engine and remove these two
dependency types (and their inverses).

The unit file parser and the dbus property parser will now redirect
the settings/properties to result in an equivalent non-overridable
dependency. In the case of the unit file parser we generate a warning,
to inform the user.

The dbus properties for this unit type stay available on the unit
objects, but they are now hidden from usual introspection and will
always return the empty list when queried.

This should provide enough compatibility for the few unit files that
actually ever made use of this.
2015-11-12 19:27:24 +01:00
Lennart Poettering
79413b673b core: simplify handling of %u, %U, %s and %h unit file specifiers
Previously, the %u, %U, %s and %h specifiers would resolve to the user
name, numeric user ID, shell and home directory of the user configured
in the User= setting of a unit file, or the user of the manager instance
if no User= setting was configured. That at least was the theory. In
real-life this was not ever actually useful:

- For the systemd --user instance it made no sense to ever set User=,
  since the instance runs in user context after all, and hence the
  privileges to change user IDs don't even exist. The four specifiers
  were actually not useful at all in this case.

- For the systemd --system instance we did not allow any resolving that
  would require NSS. Hence, %s and %h were not supported, unless
  User=root was set, in which case they would be hardcoded to /bin/sh
  and /root, to avoid NSS. Then, %u would actually resolve to whatever
  was set with User=, but %U would only resolve to the numeric UID of
  that setting if the User= was specified in numeric form, or happened
  to be root (in which case 0 was hardcoded as mapping). Two of the
  specifiers are entirely useless in this case, one is realistically
  also useless, and one is pretty pointless.

- Resolving of these settings would only happen if User= was actually
  set *before* the specifiers where resolved. This behaviour was
  undocumented and is really ugly, as specifiers should actually be
  considered something that applies to the whole file equally,
  independently of order...

With this change, %u, %U, %s and %h are drastically simplified: they now
always refer to the user that is running the service instance, and the
user configured in the unit file is irrelevant. For the system instance
of systemd this means they always resolve to "root", "0", "/bin/sh" and
"/root", thus avoiding NSS. For the user instance, to the data for the
specific user.

The new behaviour is identical to the old behaviour in all --user cases
and for all units that have no User= set (or set to "0" or "root").
2015-11-12 17:57:04 +01:00
Lennart Poettering
485630813d man: improve the unit file enable state table a bit 2015-11-12 17:57:04 +01:00
Lennart Poettering
0ec0deaa30 install: follow unit file symlinks in /usr, but not /etc when looking for [Install] data
Some distributions use alias unit files via symlinks in /usr to cover
for legacy service names. With this change we'll allow "systemctl
enable" on such aliases.

Previously, our rule was that symlinks are user configuration that
"systemctl enable" + "systemctl disable" creates and removes, while unit
files is where the instructions to do so are store. As a result of the
rule we'd never read install information through symlinks, since that
would mix enablement state with installation instructions.

Now, the new rule is that only symlinks inside of /etc are
configuration. Unit files, and symlinks in /usr are now valid for
installation instructions.

This patch is quite a rework of the whole install logic, and makes the
following addional changes:

- Adds a complete test "test-instal-root" that tests the install logic
  pretty comprehensively.

- Never uses canonicalize_file_name(), because that's incompatible with
  operation relative to a specific root directory.

- unit_file_get_state() is reworked to return a proper error, and
  returns the state in a call-by-ref parameter. This cleans up confusion
  between the enum type and errno-like errors.

- The new logic puts a limit on how long to follow unit file symlinks:
  it will do so only for 64 steps at max.

- The InstallContext object's fields are renamed to will_process and
  has_processed (will_install and has_installed) since they are also
  used for deinstallation and all kinds of other operations.

- The root directory is always verified before use.

- install.c is reordered to place the exported functions together.

- Stricter rules are followed when traversing symlinks: the unit suffix
  must say identical, and it's not allowed to link between regular units
  and templated units.

- Various modernizations

- The "invalid" unit file state has been renamed to "bad", in order to
  avoid confusion between UNIT_FILE_INVALID and
  _UNIT_FILE_STATE_INVALID. Given that the state should normally not be
  seen and is not documented this should not be a problematic change.
  The new name is now documented however.

Fixes #1375, #1718, #1706
2015-11-12 17:57:04 +01:00
Daniel Mack
1f920a3381 Merge pull request #1863 from poettering/network-man
man patch fix, and port journalctl --sync to use CLOCK_MONOTONIC timestamp files
2015-11-12 13:57:38 +01:00
Lennart Poettering
2a2e1b36a0 core: remove SmackFileSystemRootLabel= again
Apparently, util-linux' mount command implicitly drops the smack-related
options anyway before passing them to the kernel, if the kernel doesn't
know SMACK, hence there's no point in duplicating this in systemd.

Fixes #1696
2015-11-12 12:50:59 +01:00
Lennart Poettering
b97e7fabae man: add more (and simpler examples) to network.link(5) 2015-11-12 11:16:17 +01:00
Tom Gundersen
fb5c8184a9 Merge pull request #1854 from poettering/unit-deps
Dependency engine improvements
2015-11-11 23:14:12 +01:00
Lennart Poettering
c129bd5df3 man: document automatic dependencies
For all units ensure there's an "Automatic Dependencies" section in the
man page, and explain which dependencies are automatically added in all
cases, and which ones are added on top if DefaultDependencies=yes is
set.

This is also done for systemd.exec(5), systemd.resource-control(5) and
systemd.unit(5) as these pages describe common behaviour of various unit
types.
2015-11-11 20:47:07 +01:00
Filipe Brandenburger
b4c14404b3 execute: Add new PassEnvironment= directive
This directive allows passing environment variables from the system
manager to spawned services. Variables in the system manager can be set
inside a container by passing `--set-env=...` options to systemd-spawn.

Tested with an on-disk test.service unit. Tested using multiple variable
names on a single line, with an empty setting to clear the current list
of variables, with non-existing variables.

Tested using `systemd-run -p PassEnvironment=VARNAME` to confirm it
works with transient units.

Confirmed that `systemctl show` will display the PassEnvironment
settings.

Checked that man pages are generated correctly.

No regressions in `make check`.
2015-11-11 07:55:23 -08:00
Tom Gundersen
f5a8c43f39 networkd: IPv6 router discovery - follow IPv6AcceptRouterAdvertisemnt=
The previous behavior:
When DHCPv6 was enabled, router discover was performed first, and then DHCPv6 was
enabled only if the relevant flags were passed in the Router Advertisement message.
Moreover, router discovery was performed even if AcceptRouterAdvertisements=false,
moreover, even if router advertisements were accepted (by the kernel) the flags
indicating that DHCPv6 should be performed were ignored.

New behavior:
If RouterAdvertisements are accepted, and either no routers are found, or an
advertisement is received indicating DHCPv6 should be performed, the DHCPv6
client is started. Moreover, the DHCP option now truly enables the DHCPv6
client regardless of router discovery (though it will probably not be
very useful to get a lease withotu any routes, this seems the more consistent
approach).

The recommended default setting should be to set DHCP=ipv4 and to leave
IPv6AcceptRouterAdvertisements unset.
2015-11-11 15:42:38 +01:00
Lennart Poettering
dbd6e31cf9 journalctl: make --rotate synchronous, too
Of course, ideally we'd just use normal synchronous bus calls, but this
is out of the question as long as we rely on dbus-daemon (which logs to
journald, and thus cannot use to avoid cyclic sync loops). Hence,
instead, reuse the wait logic already implemented for --sync, and use a
signal in one direction, and a mtime watch file for the reply.
2015-11-11 14:29:10 +01:00
Lennart Poettering
94b6551662 journalctl: add new --sync switch for syncing the journal to disk
With this new "--sync" switch we add a synchronous way to sync
everything queued to disk, and return only after that's complete. This
command gives the guarantee that anything queued before has hit the disk
before the command returns.

While we are at it, also improve the man pages and help text for
journalctl a bit.
2015-11-11 13:39:18 +01:00
Tom Gundersen
827d04b68b Merge pull request #1841 from keszybz/remove-snapshot
Remove snapshot unit type
2015-11-11 02:24:45 +01:00
Zbigniew Jędrzejewski-Szmek
36b4a7ba55 Remove snapshot unit type
Snapshots were never useful or used for anything. Many systemd
developers that I spoke to at systemd.conf2015, didn't even know they
existed, so it is fairly safe to assume that this type can be deleted
without harm.

The fundamental problem with snapshots is that the state of the system
is dynamic, devices come and go, users log in and out, timers fire...
and restoring all units to some state from the past would "undo"
those changes, which isn't really possible.

Tested by creating a snapshot, running the new binary, and checking
that the transition did not cause errors, and the snapshot is gone,
and snapshots cannot be created anymore.

New systemctl says:
Unknown operation snapshot.
Old systemctl says:
Failed to create snapshot: Support for snapshots has been removed.

IgnoreOnSnaphost settings are warned about and ignored:
Support for option IgnoreOnSnapshot= has been removed and it is ignored

http://lists.freedesktop.org/archives/systemd-devel/2015-November/034872.html
2015-11-10 19:33:06 -05:00
Zbigniew Jędrzejewski-Szmek
6d0c987d21 man: normalize indentation in sd-detect-virt(1) 2015-11-10 18:48:59 -05:00
Lennart Poettering
a4c1800284 core: accept time units for time-based resource limits
Let's make sure "LimitCPU=30min" can be parsed properly, following the
usual logic how we parse time values. Similar for LimitRTTIME=.

While we are at it, extend a bit on the man page section about resource
limits.

Fixes: #1772
2015-11-10 17:36:46 +01:00
Lennart Poettering
9905e698b4 man: fix reference to description of time span syntax 2015-11-10 17:31:30 +01:00
Tom Gundersen
8f84882240 Merge pull request #1825 from ssahani/ipv61-1
networkd: add support to configure IPv6 hop limit
2015-11-10 15:03:37 +01:00
Tom Gundersen
64d4e8f90b Merge pull request #1830 from jsynacek/journalctl-time
man/journalctl: mention systemd.time(7) where appropriate
2015-11-10 14:46:02 +01:00
Tom Gundersen
5af12d8b09 Merge pull request #1831 from keszybz/todo-trimming
Todo trimming
2015-11-10 14:43:42 +01:00
Zbigniew Jędrzejewski-Szmek
9f6434a675 man: describe the reason why runlevels are obsolete
Put it at the top of the file, where it's hard to miss.

Also add the mapping of runlevel → target because since it is now
static.

I'm not adding runlevel(7), because we do not want to make obsolete
stuff even more prominent.
2015-11-10 08:16:08 -05:00
Zbigniew Jędrzejewski-Szmek
28f90ea25f man: tweak description of machinectl show
Also, machinectl status is anything but terse. Remove "terse".
2015-11-10 07:53:43 -05:00
Jan Synacek
20b2aec031 man/journalctl: mention systemd.time(7) where appropriate
Original bug report: https://bugzilla.redhat.com/show_bug.cgi?id=1182661
2015-11-10 13:05:48 +01:00
Susant Sahani
a86cba89be man: add man for IPV6 hop limit 2015-11-10 09:29:24 +05:30
Lennart Poettering
b18fc75b07 Merge pull request #1790 from endocode/kayrus/fix_man_kernel_cl
Fixed kernel-command-line links
2015-11-10 01:01:51 +01:00
Tom Gundersen
89c22dc342 Merge pull request #1629 from ssahani/vxlan
networkd: vxlan add option to set FDB entries
2015-11-09 23:36:59 +01:00
Lennart Poettering
6c9e781eba Merge pull request #1799 from jengelh/doc
doc: typo and ortho fixes
2015-11-09 18:16:21 +01:00
Lennart Poettering
dfa1f15874 Merge pull request #1794 from karelzak/size_limit
core: support IEC suffixes for RLIMIT stuff
2015-11-09 17:02:12 +01:00
Iago López Galeiras
9fb1642519 detect-virt: add rkt app container runtime 2015-11-09 16:40:35 +01:00
kayrus
af105d0314 Fixed kernel-command-line links 2015-11-06 14:59:42 +01:00
Jan Engelhardt
7ca4155737 doc: use expanded forms for written style 2015-11-06 13:46:26 +01:00
Jan Engelhardt
a8eaaee72a doc: correct orthography, word forms and missing/extraneous words 2015-11-06 13:45:21 +01:00
Jan Engelhardt
b938cb902c doc: correct punctuation and improve typography in documentation 2015-11-06 13:00:02 +01:00
Karel Zak
412ea7a936 core: support IEC suffixes for RLIMIT stuff
Let's make things more user-friendly and support for example

  LimitAS=16G

rather than force users to always use LimitAS=16106127360.

The change is relevant for options:

  [Default]Limit{FSIZE,DATA,STACK,CORE,RSS,AS,MEMLOCK,MSGQUEUE}

The patch introduces config_parse_bytes_limit(), it's the same as
config_parse_limit() but uses parse_size() tu support the suffixes.

Addresses: https://github.com/systemd/systemd/issues/1772
2015-11-06 11:06:52 +01:00