1
0
mirror of https://github.com/systemd/systemd.git synced 2024-12-23 21:35:11 +03:00
Commit Graph

22459 Commits

Author SHA1 Message Date
Daniel Mack
ce40506ddb Merge pull request #1339 from alkino/master
Hook more properties for transient units
2015-09-23 11:04:34 +02:00
Georg Müller
6a512301bb Set accept_ra to "2" if enabled in config
This causes the kernel to accept router advertisments even if
ip forwarding is enabled for this interface.

This fixes #1340.
2015-09-23 10:27:45 +02:00
Nicolas Cornu
602b83559a Hook more properties for transient units
systemd-run can now launch units with WorkingDirectory, RootDirectory set.
2015-09-23 09:45:50 +02:00
David Herrmann
2d7c6aa20c core: make setup_pam() synchronous
If we spawn a unit with a non-empty 'PAMName=', we fork off a
child-process _inside_ the unit, known as '(sd-pam)', which watches the
session. It waits for the main-process to exit and then finishes it via
pam_close_session(3).

However, the '(sd-pam)' setup is highly asynchronous. There is no
guarantee that process gets spawned before we finish the unit setup.
Therefore, there might be a root-owned process inside of the cgroup of
the unit, thus causing cg_migrate() to error-out with EPERM.

This patch makes setup_pam() synchronous and waits for the '(sd-pam)'
setup to finish before continuing. This guarantees that setresuid(2) was
at least tried before we continue with the child setup of the real unit.
Note that if setresuid(2) fails, we already warn loudly about it. You
really must make sure that you own the passed user if using 'PAMName='.
It seems very plausible to rely on that assumption.
2015-09-23 00:51:20 +02:00
Lennart Poettering
5c781d6b0d Merge pull request #1346 from dvdhrm/user-shutdown
core: fix shutdown of --user
2015-09-23 00:48:02 +02:00
Lennart Poettering
73de5e9464 Merge pull request #1348 from larsu/master
busctl: also monitor messages to SERVICE arguments
2015-09-23 00:39:27 +02:00
Lars Uebernickel
f6d1e6cbe9 busctl: also monitor messages to SERVICE arguments
Add a 'destination' match rule for every SERVICE argument in addition to
the 'sender' rule. This is consistent with busctl(1), which documents
monitor as dumping "messages to or from this peer".
2015-09-23 00:06:18 +02:00
David Herrmann
8ebfe0cbaa core: fix shutdown of --user
Shutting down a user session currently fails with:

Sep 22 22:35:38 david-t2 systemd[640]: Reached target Shutdown.
Sep 22 22:35:38 david-t2 systemd[640]: Starting Exit the Session...
Sep 22 22:35:38 david-t2 systemd[640]: Received SIGRTMIN+24 from PID 659 (kill).
Sep 22 22:35:38 david-t2 systemd[640]: Shutting down.
Sep 22 22:35:38 david-t2 systemd[640]: Not executed by init (PID 1).
Sep 22 22:35:38 david-t2 systemd[640]: Critical error while doing system shutdown: Operation not permitted

This is a regression from:

    commit 287419c119
    Author: Alban Crequy <alban.crequy@gmail.com>
    Date:   Fri Sep 18 13:37:34 2015 +0200

        containers: systemd exits with non-zero code

Make sure we never ever execute systemd-shutdown from within a
user-manager. Restore the previous behavior by partially reverting given
commit.
2015-09-22 22:56:01 +02:00
David Herrmann
3c0fffb74e Merge pull request #1342 from filbranden/gitignore1
build-sys: add new test binaries to .gitignore
2015-09-22 19:12:52 +02:00
Filipe Brandenburger
6cf0d77955 build-sys: add new test binaries to .gitignore 2015-09-22 10:04:37 -07:00
Filipe Brandenburger
a01a4517e1 build-sys: Check behavior of -Werror=shadow before deciding to use it
gcc versions 4.6 and earlier used to complain when a local variable
shadows a global function, 4.7 and above only complain if a local
variable shadows a global variable.

Fix this by checking whether gcc 4.7+ behavior is in place before
deciding to use -Werror=shadow in $(CFLAGS), by using a custom test
program source that shadows a global function with a local variable and
confirming that -Werror=shadow does not make the compile to break.

Tested:
- On gcc 4.7 and 4.8, confirmed nothing changed (other than the order of
  the -Werror=shadow argument, going to the end of CFLAGS.)
- On gcc 4.6, confirmed by looking at the config.log output that the
  check for -Werror=shadow failed and it was not included in CFLAGS.
- Ran `make V=1` to confirm -Werror=shadow was still in use, introduced
  a bogus shadowing issue and confirmed it was caught when building with
  a recent gcc.
2015-09-22 09:54:33 -07:00
Filipe Brandenburger
6a937f0645 build-sys: properly quote m4 macro arguments in CC_CHECK_FLAGS_APPEND
The variables should be quoted inside [...] to avoid double macro
expansion.  This is currently not an issue, since the values (-W...) are
not really macros, but we might as well just fix that issue now.

Tested by re-running autogen.sh and comparing the value of OUR_CFLAGS in
the generated Makefile.  Ran a full build from a clean tree to confirm
no other issues were introduced.
2015-09-22 09:54:33 -07:00
Lennart Poettering
68321c9a97 Merge pull request #1338 from kaysievers/pam
pam: systemd-user - call selinux module
2015-09-22 18:19:36 +02:00
Kay Sievers
a6affd88ba udev: ata_id - ATA_ID_SATA_CAPABILITY == 76 2015-09-22 18:00:52 +02:00
Kay Sievers
a13cff19ce pam: systemd-user - call selinux module
https://bugzilla.redhat.com/show_bug.cgi?id=1262933
2015-09-22 17:54:13 +02:00
Lennart Poettering
03364e472b update TODO 2015-09-22 17:42:59 +02:00
David Herrmann
840cdfcd81 Merge pull request #1334 from poettering/sd-bus-default-flush-close
sd-bus: introduce new sd_bus_default_flush_close() call
2015-09-22 17:33:58 +02:00
Kay Sievers
c1f330a1f4 Merge pull request #1324 from pugs/master
Fixup WWN bytes for big-endian systems
2015-09-22 17:08:39 +02:00
Daniel Mack
d11885c814 Merge pull request #1335 from poettering/some-fixes
A variety of mostly unrelated fixes
2015-09-22 17:04:38 +02:00
Lennart Poettering
f98f4ace4d Merge pull request #1336 from pszewczyk/functionfs_sockets_v3
core: add support for usb functionfs v3
2015-09-22 16:55:08 +02:00
Lennart Poettering
3be78ab2b8 importd: make sure we don't accidentally close fd 0
Fixes #1330
2015-09-22 16:40:36 +02:00
Lennart Poettering
7757cfbecb man: drop reference to yum from man pages
Apparently, yum is obsolete, and dnf is the new yum. Mention only dnf
hence, and don't mention yum anymore.
2015-09-22 16:36:49 +02:00
Pawel Szewczyk
8c7c98398b man: Add documentation for functionfs socket activation 2015-09-22 16:32:16 +02:00
Pawel Szewczyk
6b7e592310 core: Add FFSDescriptors and FFSStrings service parameters
By using these parameters functionfs service can specify ffs descriptors
and strings which should be written to ep0.
2015-09-22 16:32:16 +02:00
Pawel Szewczyk
602524469e core: Add socket type for usb functionfs endpoints
For handling functionfs endpoints additional socket type is added.
2015-09-22 16:32:16 +02:00
Lennart Poettering
6f2deb8447 notify: sort header files, follow CODING_STYLE 2015-09-22 16:32:04 +02:00
Lennart Poettering
c077529ba6 util: drop UID_IS_INVALID() in favour of uid_is_valid()
No need to keep both functions, settle on uid_is_valid() for everything.
2015-09-22 16:31:32 +02:00
Lennart Poettering
f6c2284ad3 util.h: order includes, as suggested by CODING_STYLE
Of course, because Linux is broken we cannot actually really order it,
and must keep linux/fs.h after sys/mount.h... Yay for Linux!
2015-09-22 16:31:19 +02:00
Lennart Poettering
8c721f2bcb util: clean-ups to enum parsers
Never log when we fail due to OOM when translating enums, let the caller
do that. Translating basic types like enums should be something where
the caller logs, not the translatior functions.

Return -1 when NULL is passed to all enum parser functions.

The non-fallback versions of the enum translator calls already handle
NULL as failure, instead of hitting an assert, and we should do this
here, too.
2015-09-22 16:31:10 +02:00
Lennart Poettering
08edf879ed cgtop: make sure help text doesn't cause main contents to move
Let's always keep space for the full help text. (We used to do that, but
recently another line of help was added which broke this.)
2015-09-22 16:31:02 +02:00
Lennart Poettering
4fdae6c847 util: minor cleanups for loop_read() and friends
When 0 bytes are to be written, make sure to go into read() at least
once, in order to validate the parameters, such as the passed fd.

Return error on huge values, add a couple of asserts and casts where
appropriate.
2015-09-22 16:30:51 +02:00
Lennart Poettering
1fc464f6fb cgtop: underline table header
Let's underline the header line of the table shown by cgtop, how it is
customary for tables. In order to do this, let's introduce new ANSI
underline macros, and clean up the existing ones as side effect.
2015-09-22 16:30:42 +02:00
Lennart Poettering
3ade55d31b sd-id128: make size constraints a bit more obvious 2015-09-22 16:30:32 +02:00
Lennart Poettering
ed0d40229b util: add safe_closedir() similar to safe_fclose() 2015-09-22 16:30:24 +02:00
Lennart Poettering
f6d9c616b6 copy: make copy_bytes() return whether we hit EOF or not 2015-09-22 16:30:17 +02:00
Lennart Poettering
c622fbdb8d copy: be more careful when trying to reflink 2015-09-22 16:30:12 +02:00
Lennart Poettering
fa2f8973ad sd-bus: introduce new sd_bus_default_flush_close() call
If code enqueues a message on one of the default busses, but doesn't
sync on it, and immediately drops the reference to the bus again, it
will stay queued and consume memory. Intrdouce a new call
sd_bus_default_flush_close() that can be invoked at the end of programs
(or threads) and flushes out all unsent messages on any of the default
busses.
2015-09-22 16:29:10 +02:00
doubleodoug
fc4049c1ab login: support more than just power-gpio-key
Adding additional keys prevents this gpio-keys powerswitch from working,
e.g. this wouldn't poweroff:

button@23 {
    label = "power-switch";
    linux,code = <116>;
    gpios = <&gpio 23 1>;
};
button@25 {
    label = "KEY_A";
    linux,code = <30>;
    gpios = <&gpio 25 1>;
};

Changing ATTRS{keys}=="116" to ATTRS{keys}=="*116*" makes the
power-switch and the A key both work properly.

(David: rephrase and merge-commits)
2015-09-22 16:18:17 +02:00
Lennart Poettering
9c90e27767 Merge pull request #1333 from dvdhrm/sd-network-cleanup
sd-network: random API cleanups
2015-09-22 15:31:55 +02:00
David Herrmann
9ef61f2e48 sd-lldp: hide internal details
Currently, sd-lldp.h exports "UPDATE_INFO".. and defines it to a magic
constant '10'. This is completely bogus, so fix it to follow our coding
standards:

  - Prefix exported symbols by SD_LLDP_*

  - Define a separate event-enum for event types

  - Translate internal state to external event-types
2015-09-22 15:19:42 +02:00
David Herrmann
8955cf0a45 sd-lldp: hide internal information
Don't export constant that are only used internally.
2015-09-22 15:14:49 +02:00
David Herrmann
e4c3b8e856 sd-pppoe: fix namespacing
Prefix all exported constants by SD_PPPOE_* to avoid namespacing
conflicts.
2015-09-22 15:09:58 +02:00
David Herrmann
be19c5b5e0 sd-ipv4ll: fix namespacing
Prefix all exported constants with SD_IPV4LL_* to avoid namespacing
conflicts.
2015-09-22 15:08:28 +02:00
David Herrmann
2237aa02f3 sd-ipv4acd: fix namespacing
Prefix all exported constants with SD_IPV4ACD to prevent namespacing
conflicts.
2015-09-22 15:05:35 +02:00
David Herrmann
575ac4c62e sd-icmp6-nd: fix namespacing
Prefix all exported constants by SD_ICMP6_ND_* to avoid any namespacing
conflicts.
2015-09-22 15:01:55 +02:00
David Herrmann
10c9ce615d sd-dhcp6: fix namespacing
Prefix all exported constants with SD_DHCP6_CLIENT_* to avoid any
namespacing conflicts.
2015-09-22 14:52:23 +02:00
David Herrmann
0374814250 sd-dhcp: fix namespacing
Prefix all constants with SD_DHCP_CLIENT_* to avoid namespacing
conflicts.
2015-09-22 14:46:21 +02:00
Thomas Haller
f89087272b sd-dhcp6: ensure canceling lease timers and refactor setting lease
Factor our common code to set/clear the client lease.
Resetting the lease involves canceling old timers.

Also, most importantly, when resetting the lease
in client_receive_advertise(), ensure to cancel
the timers too. It is not immediately clear, why
at that point no timers would be pending.

The lease-unref from sd_dhcp6_client_unref() can
be omited, because of the preceeding client_reset()
call.
2015-09-22 14:41:47 +02:00
Lennart Poettering
85fade1edb Merge pull request #986 from karelzak/monitor
mount: use libmount to monitor mountinfo & utab
2015-09-22 14:31:58 +02:00
Lennart Poettering
29e71235c7 Merge pull request #1331 from dvdhrm/misc-cleanup
util, nspawn, machined: random cleanups
2015-09-22 14:30:09 +02:00