1
0
mirror of https://github.com/systemd/systemd.git synced 2024-11-08 11:27:32 +03:00
Commit Graph

22464 Commits

Author SHA1 Message Date
Lennart Poettering
34829a324b nspawn: split out cgroup related calls into nspawn-cgroup.[ch] 2015-09-07 18:44:30 +02:00
Lennart Poettering
9a2a5625bf nspawn: split out network related code to nspawn-network.[ch] 2015-09-07 18:44:30 +02:00
Lennart Poettering
7a8f63251d nspawn: split all port exposure code into nspawn-expose-port.[ch] 2015-09-07 18:44:30 +02:00
Lennart Poettering
e83bebeff7 nspawn: split out mount related functions into a new nspawn-mount.c file 2015-09-07 18:44:30 +02:00
Daniel Mack
1dc0b4e4b0 Merge pull request #1189 from poettering/unit-start
unit: move "not supported" check after condition check in unit_start()
2015-09-07 14:27:13 +02:00
Lennart Poettering
d11a76451f unit: move "not supported" check after condition check in unit_start()
Make sure we always check conditions before checking whether the unit
type is supported in unit_start(), since condition checks are "clean
errors", while "not supported" errors are fatal.

This cleans up the boot output of systemd in containers, where a lot of
NOTSUPP lines were shown befor this fix.

This partially reverts 8ff4d2ab0d which
reorder the checks.
2015-09-07 14:10:53 +02:00
Lennart Poettering
75f86906c5 basic: rework virtualization detection API
Introduce a proper enum, and don't pass around string ids anymore. This
simplifies things quite a bit, and makes virtualization detection more
similar to architecture detection.
2015-09-07 13:42:47 +02:00
Daniel Mack
c626bf1d30 NEWS: fix typos 2015-09-07 13:06:53 +02:00
Lennart Poettering
47f5a38cdf update NEWS 2015-09-07 12:43:25 +02:00
Daniel Mack
fcf554fd7a Merge pull request #1178 from poettering/gpt-auto-fixes
handle LUKS root partitions better in gpt-auto, plus other fixes
2015-09-07 12:28:34 +02:00
Lennart Poettering
f9a25b6ad5 Merge pull request #1183 from dvdhrm/cpename
man: clarify wording of os-release.CPE_NAME
2015-09-07 11:12:27 +02:00
David Herrmann
06fc9df273 Merge pull request #1182 from martinpitt/master
tests: Skip test-cgroup-util test_mask_supported() when not running under systemd
2015-09-07 11:02:40 +02:00
David Herrmann
74c1d3e74e man: clarify wording of os-release.CPE_NAME
We expect the CPE_NAME to be formatted in URI binding syntax. Make that
clear in the documentation. Furthermore, the CPE-spec has been taken over
by NIST, so adjust the links as well.

Reported by: Ben Harris <bjh21@cam.ac.uk>
2015-09-07 10:57:50 +02:00
Martin Pitt
b3a7ba8968 tests: Skip test-cgroup-util test_mask_supported() when not running under systemd
Commit 5f4c5fef6 introduced this new test case, but this does not work in
build chroots where cgroupfs is not mounted. So skip the test if systemd is not
running.
2015-09-07 08:09:13 +02:00
Daniel Mack
9ec0fc9a39 Merge pull request #1181 from evverx/update-systemd-analyze-completion
shell-completion: update systemd-analyze bash-completion
2015-09-07 05:53:19 +02:00
Evgeny Vereshchagin
20ba8107a5 shell-completion: update systemd-analyze bash-completion
* Change --no-man to --man (see dad29df)
* --{from,to}-pattern require arg
2015-09-07 04:51:21 +03:00
Tom Gundersen
5bac59d920 Merge pull request #1179 from poettering/sd-event-sigchld-fix
sd-event: make sure to create a signal queue for the right signal
2015-09-07 03:02:08 +02:00
Tom Gundersen
6167a91c74 Merge pull request #1165 from poettering/nspawn-files
various fixes to the core, logind, machined, nspawn
2015-09-07 02:59:08 +02:00
Evgeny Vereshchagin
4387795e0e analyze: add alias handling for --{from,to}-pattern options
`systemd-analyze dot --from-pattern default.target` works fine
2015-09-07 01:47:32 +03:00
Lennart Poettering
10edebf6cd sd-event: make sure to create a signal queue for the right signal
We should never access the "signal" part of the event source unless the
event source is actually for a signal. In this case it's a child pid
handler however, hence make sure to use the right signal.

This is a fix for PR #1177, which in turn was a fix for
9da4cb2be2.
2015-09-07 00:31:24 +02:00
Lennart Poettering
4c3e8e39ea systemctl: a number of cleanups regarding error handling in systemctl 2015-09-07 00:12:05 +02:00
Lennart Poettering
dd2c31bb04 gpt-auto: minor simplificatin handling the no-auto GPT flag
Let's query the flags only once, and document why we ignore it for the
ESP.
2015-09-07 00:12:05 +02:00
Lennart Poettering
c6ba0c184d gpt-auto: try to handle LUKS root partitions better
If the root file system is located on an encrypted root disk, we'll not
find the GPT partition table for it. Let's fix that by following the
slaves/ symlinks in /sys for the device. We only handle devices having
exactly one backing device.

Also see: #1167
2015-09-07 00:11:51 +02:00
Daniel Mack
2009bcfd23 Merge pull request #1168 from poettering/readme-kernel-version
README: bump minimal required kernel version
2015-09-07 00:11:25 +02:00
Daniel Mack
9a7034bbbe Merge pull request #1177 from phomes/sd-event-bug-fix
sd-event: fix call to event_make_signal_data
2015-09-07 00:11:09 +02:00
Lennart Poettering
5e8d4254f9 NEWS: add more content to both the 225 and 226 NEWS section 2015-09-07 00:08:12 +02:00
Thomas Hindoe Paaboel Andersen
b8a50a99a6 sd-event: fix call to event_make_signal_data
This looks like a typo from commit 9da4cb2b where it was added.
2015-09-06 22:19:09 +02:00
Lennart Poettering
8c65223d47 Merge pull request #1174 from mbiebl/remove-sphinx-leftover
build-sys: remove sphinx binary from configure summary
2015-09-06 21:07:01 +02:00
Lennart Poettering
d72a6ae1b4 Merge pull request #1176 from piotrdrag/master
Updated Polish translation
2015-09-06 21:05:49 +02:00
Piotr Drąg
eb3ef64961 Updated Polish translation 2015-09-06 20:42:16 +02:00
Michael Biebl
d6629e64f8 build-sys: remove sphinx binary from configure summary
We no longer use sphinx as part of the build process so remove it from
the configure summary as well.
This is a leftover from commit 2799e519ca.
2015-09-06 19:08:13 +02:00
Lennart Poettering
a0c3e16b7b README: bump minimal required kernel version
We generally try to support 2y old kernels, which allows us bump the
minimal required version to 3.11 now.

Also, clarify that support for the unified cgroup hierarchy requires 4.2
or newer.
2015-09-06 15:58:20 +02:00
Lennart Poettering
480a4b9777 Merge pull request #1153 from evverx/dot-alias-handling
analyze: add "alias" handling to dot subcommand
2015-09-06 12:34:09 +02:00
Evgeny Vereshchagin
83efb7c227 analyze: add "alias" handling to dot subcommand
`systemd-analyze dot default.target` works fine
2015-09-06 06:10:16 +03:00
Lennart Poettering
25b31f2fbd Merge pull request #1159 from AnchorCat/polkit-details/v2
Provide unit name and operation in manage-units polkit checks (v2)
2015-09-06 02:00:05 +02:00
Lennart Poettering
9efce95846 Merge pull request #1162 from dvdhrm/bus-recursive-nodes
sd-bus: make introspection data non-recursive
2015-09-06 01:58:48 +02:00
Lennart Poettering
08acb521f3 units: make sure that .nspawn files override the default settings in systemd-nspawn@.service 2015-09-06 01:49:06 +02:00
Lennart Poettering
f757855e81 nspawn: add new .nspawn files for container settings
.nspawn fiels are simple settings files that may accompany container
images and directories and contain settings otherwise passed on the
nspawn command line. This provides an efficient way to attach execution
data directly to containers.
2015-09-06 01:49:06 +02:00
Lennart Poettering
87766aa462 Merge pull request #1161 from dvdhrm/include-order2
CODING_STYLE: mandate alphabetical include order (v2)
2015-09-06 01:30:08 +02:00
Kay Sievers
718909ec33 Merge pull request #1160 from dvdhrm/bus-user
sd-bus: derive uid from cgroup if possible
2015-09-05 23:06:31 +02:00
Lennart Poettering
5f430ff76e machine: make sure to call unlockpt() even for local host pty connections
This fixes breakage for local host pty handling, introduced in
395745ba53.

Fixes #1139
2015-09-05 20:27:52 +02:00
Lennart Poettering
91b3e7fb6c logind: make scope of wall message handling smaller 2015-09-05 20:27:52 +02:00
Lennart Poettering
8ff4d2ab0d unit: make unit_can_start() more accurate
This funciton is exposed via CanStart on the bus, and should be as
accurate as possible. Hence: make sure to return false for units of unit
types not supported on the system, and for unit types where
configuration failed to load.

Also see #1105.
2015-09-05 20:27:52 +02:00
Lennart Poettering
9ce56418b1 core: don't use uninitialized errno 2015-09-05 20:27:52 +02:00
Lennart Poettering
7d10550305 machine: clarify that /var/lib/containers is legacy 2015-09-05 20:27:51 +02:00
David Herrmann
44eb1adda9 sd-bus: make introspection data non-recursive
Currently, our introspection data looks like this:

        <node>
         <interface name="org.freedesktop.DBus.Peer">
           ...
         </interface>
         <interface name="org.freedesktop.DBus.Introspectable">
           ...
         </interface>
         <interface name="org.freedesktop.DBus.Properties">
           ...
         </interface>
         <node name="org"/>
         <node name="org/freedesktop"/>
         <node name="org/freedesktop/login1"/>
         <node name="org/freedesktop/login1/user"/>
         <node name="org/freedesktop/login1/user/self"/>
         <node name="org/freedesktop/login1/user/_1000"/>
         <node name="org/freedesktop/login1/seat"/>
         <node name="org/freedesktop/login1/seat/self"/>
         <node name="org/freedesktop/login1/seat/seat0"/>
         <node name="org/freedesktop/login1/session"/>
         <node name="org/freedesktop/login1/session/self"/>
         <node name="org/freedesktop/login1/session/c1"/>
        </node>

(ordered alphabetically for better visibility)

This is grossly incorrect. The spec says that we're allowed to return
non-directed children, however, it does not allow us to return data
recursively in multiple parents. If we return "org", then we must not
return anything else that starts with "org/".

It is unclear, whether we can include child-nodes as a tree. Moreover, it
is usually not what the caller wants. Hence, this patch changes sd-bus to
never return introspection data recursively. Instead, only a single
child-layer is returned.

This patch relies on enumerators to never return hierarchies. If someone
registers an enumerator via sd_bus_add_enumerator, they better register
sub-enumerators if they support *TRUE* hierarchies. Each enumerator is
treated as a single layer and not filtered.
Enumerators are still allowed to return nested data. However, that data
is still required to be a single hierarchy. For instance, returning
"/org/foo" and "/com/bar" is fine, but including "/com" or "/org" in that
dataset is not.
This should be the default for enumerators and I see no reason to filter
in sd-bus. Moreover, filtering that data-set would require to sort the
strv by path and then do prefix-filtering. This is O(n log n), which
would be fine, but still better to avoid.

Fixes #664.
2015-09-05 19:43:29 +02:00
David Herrmann
b47c788854 TODO: update networkd section
Remove two freshly implemented features, and add TSO support as a new
one.
2015-09-05 18:29:14 +02:00
David Herrmann
54c1f2d761 CODING_STYLE: mandate alphabetical include order
systemd-internal headers must not rely on include order. That means, they
either must contain forward-declarations of used types/functions, or they
must include all dependencies on their own. Therefore, there is no reason
to mandate an include order on the call-side.

However, global includes should always be ordered first. We don't want
local definitions to leak into global includes, possible changing their
behavior. Apparently, namespacing is a complex problem that people are
incapable of implementing properly..

Apart from "global before local", there is no reason to mandate a random
include order (which we happen to do right now). Instead, mandate
alphabetical ordering. The current rules do not have any benefit at all.
They neither reduce include-complexity, nor allow easy auditing of
include files. But with alphabetical ordering, we get duplicate-detection
for free, it gets *much much* easier to figure out whether a header is
already included, and it is trivial to add new headers.
2015-09-05 18:24:26 +02:00
David Herrmann
64ce4ad758 sd-bus: derive uid from cgroup if possible
Whenever we run in a user context, sd_bus_{default_user,open_user}() and
friends should always connect to the user-bus of the current context,
instead of deriving the uid from getuid(). This allows us running
programs via sudo/su, without the nasty side-effect of accidentally
connecting to the root user-bus.

This patch enforces the idea of making su/sudo *not* opening sessions by
default. That is, all they do is raising privileges, but keeping
everything set as before. You can still use su/sudo to open real sessions
by requesting a login-session (or loading pam_systemd otherwise).
However, in this case XDG_RUNTIME_DIR= will not be set (as usual in these
cases), hence, you will not be able to connect to *any* user-bus.

Long story short: With this patch applied, both:
        - ./busctl --user
        - sudo ./busctl --user
..will successfully connect to the user-bus of the local user.

Fixes #390.
2015-09-05 18:07:53 +02:00
Michael Chapman
88ced61bf9 core: pass details to polkit for some unit actions
The following details are passed:

- unit: the primary name of the unit upon which the action was
        invoked (i.e. after resolving any aliases);
- verb: one of 'start', 'stop', 'reload', 'restart', 'try-restart',
        'reload-or-restart', 'reload-or-try-restart', 'kill',
        'reset-failed', or 'set-property', corresponding to the
        systemctl verb used to invoke the action.

Typical use of these details in a polkit policy rule might be:

  // Allow alice to manage example.service;
  // fall back to implicit authorization otherwise.
  polkit.addRule(function(action, subject) {
      if (action.id == "org.freedesktop.systemd1.manage-units" &&
          action.lookup("unit") == "example.service" &&
          subject.user == "alice") {
          return polkit.Result.YES;
      }
  });

We also supply a custom polkit message that includes the unit's name and
the requested operation.
2015-09-06 00:07:17 +10:00