Commit Graph

14483 Commits

Author SHA1 Message Date
Lennart Poettering
8f8f05a919 bus: add sd_bus_track object for tracking peers, and port core over to it
This is primarily useful for services that need to track clients which
reference certain objects they maintain, or which explicitly want to
subscribe to certain events. Something like this is done in a large
number of services, and not trivial to do. Hence, let's unify this at
one place.

This also ports over PID 1 to use this to ensure that subscriptions to
job and manager events are correctly tracked. As a side-effect this
makes sure we properly serialize and restore the track list across
daemon reexec/reload, which didn't work correctly before.

This also simplifies how we distribute messages to broadcast to the
direct busses: we only track subscriptions for the API bus and
implicitly assume that all direct busses are subscribed. This should be
a pretty OK simplification since clients connected via direct bus
connections are shortlived anyway.
2014-03-03 02:34:13 +01:00
Thomas Hindoe Paaboel Andersen
d9256bac4d add bash completion for systemd-cgtop 2014-03-02 23:07:35 +01:00
Zbigniew Jędrzejewski-Szmek
840292befd Disallow sizes with increasing unit size
Things like 3B4T, 4B50B, 400 100 (meaning 4*1024**4+3, 54, and 500,
respectively) are now disallowed. It is necessary to say 4T3B, 54B,
500 instead. I think this was confusing and error prone.

As a special form, 400B 100 is allowed, i.e. "B" suffix is treated
as different from "", although they mean the same thing.
2014-03-02 13:59:02 -05:00
Zbigniew Jędrzejewski-Szmek
9480794b27 Allow fractional parts in disk sizes
It seems natural to be able to say SystemMaxUsage=1.5G.

https://bugzilla.redhat.com/show_bug.cgi?id=1047568
2014-03-02 13:59:02 -05:00
Marcel Holtmann
e525326bd0 hwdb: Update database of Bluetooth company identifiers 2014-03-02 10:02:10 -08:00
Zbigniew Jędrzejewski-Szmek
5f8fd969bd build-sys: fix location of network-util.h 2014-03-01 21:45:48 -05:00
Thomas Hindoe Paaboel Andersen
e1528e085c networkd-wait-online: use automatic cleanup 2014-03-01 23:16:55 +01:00
Thomas Hindoe Paaboel Andersen
abdab4f602 add bash completion for systemd-cgls 2014-03-01 23:10:38 +01:00
Tom Gundersen
474cba1c7d TODO 2014-03-01 14:13:18 +01:00
Zbigniew Jędrzejewski-Szmek
88ce2902ca build-sys: distribute kdbus documentation 2014-03-01 07:45:07 -05:00
Zbigniew Jędrzejewski-Szmek
489a3d957e Update gitignore 2014-03-01 07:45:07 -05:00
Thomas Hindoe Paaboel Andersen
9319e46051 update TODO 2014-03-01 04:03:52 +01:00
Thomas Andersen
0d6883b6a8 bash: add completion for systemd-nspawn 2014-03-01 03:30:41 +01:00
Tero Roponen
13e8ceb84e nspawn: fix detection of missing /proc/self/loginuid
Running 'systemd-nspawn -D /srv/Fedora/' gave me this error:
 Failed to read /proc/self/loginuid: No such file or directory

 Container Fedora failed with error code 1.

This patch fixes the problem.
2014-02-28 12:58:02 +01:00
Tom Gundersen
cb6fa44cb5 sd-network: turn states 'unknown' and 'unmanaged' into errnos 2014-02-28 02:08:08 +01:00
Tom Gundersen
82bdf8ce36 sd-network: fix header 2014-02-28 02:08:08 +01:00
Henrik Grindal Bakken
46eea341c3 architecture: Add tilegx
Add Tilera's TILE-GX processor family support.
2014-02-28 01:48:31 +01:00
Tom Gundersen
020d59000f networkd: add networkd-wait-online
This is mostly a proof of concept to try sd-network, so we don't
hook it up with a .service file quite yet. We probably want it to
be more clever about deciding when we are 'online'.

The binary  will wait for at least one network managed by networkd,
and until all networks managed by networkd are configured.
2014-02-28 01:17:38 +01:00
Tom Gundersen
fe8db0c5ee sd-network: add new library
This is similar to sd-login, but exposes the state of networkd rather than logind.

Include it in libsystemd-dhcp and rename it to libsystemd-network.
2014-02-28 01:01:13 +01:00
Lukas Nykryn
c594cccee2 udev/rules: setup tty permissions and group for sclp_line, ttysclp and 3270/tty 2014-02-27 11:19:09 +01:00
Lukas Nykryn
a14f149760 cdrom_id: use the old MMC fallback
https://bugzilla.redhat.com/show_bug.cgi?id=1038015
The problem seems to be that the your virtual DVD is emulating a really
old DVD device, and doing it kind of strangely.

> dracut:# /lib/udev/cdrom_id --debug /dev/sr0
> probing: '/dev/sr0'
> INQUIRY: [IMM     ][Virtual CD/DVD   ][0316]
> GET CONFIGURATION failed with SK=5h/ASC=24h/ACQ=00h

So your virtual drive rejects the GET CONFIGURATION command as illegal.

Other pre-MMC2 drives that don't accept this command usually return the
error
SK=5h,ASC=20h (invalid/unsupported command code), in which case cdrom_id
tries an older method, and then ID_CDROM_MEDIA_TRACK_COUNT_DATA gets set
and all the /dev/disk/by-label (etc) links get set up.

The virtual drive returns the error SK=5h,ASC=24h (invalid field in
Command Descriptor Block), which cdrom_id doesn't handle, so it gives up
and the links never get made.

The ideal solution would be to make the IMM to emulate a device that's
less than 15 years old, but I'm not going to hold my breath waiting for
that.

So probably cdrom_id should also use the old MMC fallback when the error
is SK=5h,ASC=24h, and then all of this would work as expected.

Suggested-by:Luca Miccini <lmiccini@redhat.com>
2014-02-27 11:12:04 +01:00
Stef Walter
0f62019c34 autogen: Allow running autogen from a builddir != srcdir
While the configure correctly supports being run outside of
the top source directory by default, it's nice if autogen.sh
does too:

 $ git clone git://anongit.freedesktop.org/systemd/systemd
 $ cd systemd
 $ mkdir $(uname -m)
 $ cd $(uname -m)
 $ ../autogen.sh a
 $ make
2014-02-27 01:16:14 -05:00
Armin K
2141e47892 build-sys: Do not distribute generated udev service files
They are already in nodist_systemunit_DATA and if they are
shipped, they contain hardcoded paths to udevadm and
systemd-udevd which will cause them to fail to start when
rootprefix != prefix and rootlibdir != libdir.
2014-02-27 01:11:59 -05:00
Kieran Clancy
77e8ff6974 hwdb: keymaps for Samsung 900X3E/900X3F
Keymaps for Samsung 900X3E and 900X3F should be the same as for other
models in the series.

I have also moved the comment for '# Series 9' to the right place
2014-02-27 00:48:26 -05:00
Zbigniew Jędrzejewski-Szmek
0b6b7c2004 journalctl: refuse extra arguments with --verify and similar
Positional arguments only make sense with the default action.
For other actions, complain instead of ignoring them silently.
2014-02-27 00:43:24 -05:00
Uoti Urpala
47d80904a1 logs-show: fix corrupt output with empty messages
If a message had zero length, journalctl would print no newline, and
two output lines would be concatenated. Fix. The problem was
introduced in commit 31f7bf1994 ("logs-show: print multiline
messages"). Affected short and verbose output modes.

Before fix:

Feb 09 21:16:17 glyph dhclient[1323]: Feb 09 21:16:17 glyph NetworkManager[788]: <info> (enp4s2): DHCPv4 state changed nbi -> preinit

after:

Feb 09 21:16:17 glyph dhclient[1323]:
Feb 09 21:16:17 glyph NetworkManager[788]: <info> (enp4s2): DHCPv4 state changed nbi -> preinit
2014-02-27 00:43:24 -05:00
Tom Gundersen
911f4d4d60 build-sys: networkd - simplify makefile fragment 2014-02-26 23:16:34 +01:00
Lennart Poettering
aef831369c mount: don't fire PropertiesChanged signals for mounts that are stopped 2014-02-26 04:32:03 +01:00
Lennart Poettering
ff5f34d08c mount: don't send out PropertiesChanged message if actually nothing got changed 2014-02-26 04:32:03 +01:00
Lennart Poettering
dd7a22a990 mount: minor modernization 2014-02-26 04:32:03 +01:00
Zbigniew Jędrzejewski-Szmek
1ae383a8a3 Use /var/run/dbus/system_bus_socket for the D-Bus socket 2014-02-25 21:26:42 -05:00
Lennart Poettering
47bc23c18c README: document that /var/run must be a symlink → /run 2014-02-26 02:54:37 +01:00
Lennart Poettering
df1e020461 Revert back to /var/run at a couple of problems
This partially reverts 41a55c46ab

Some specifications we want to stay compatibility actually document
/var/run, not /run, and we should stay compatible with that. In order to
make sure our D-Bus implementation works on any system, regardless if
running systemd or not, we should always use /var/run which is the
only path mandated by the D-Bus spec.

Similar, glibc hardcodes the utmp location to /var/run, and this is
exposed in _UTMP_PATH in limits.h, hence let's stay in sync with this
public API, too.

We simply do not support systems where /var/run is not a symlink → /run.
Hence both are equivalent. Staying compatible with upstream
specifications hence weighs more than cleaning up superficial
appearance.
2014-02-26 02:47:43 +01:00
Zbigniew Jędrzejewski-Szmek
41a55c46ab Replace /var/run with /run in remaining places
/run was already used almost everywhere, fix the remaining places
for consistency.
2014-02-25 20:41:24 -05:00
Lennart Poettering
f513e420c8 exec: imply NoNewPriviliges= only when seccomp filters are used in user mode 2014-02-26 02:28:52 +01:00
Lennart Poettering
9c423fbf2a update TODO 2014-02-26 02:19:28 +01:00
Lennart Poettering
538b08707a build-sys: add missing makefile symlinks 2014-02-26 02:19:28 +01:00
Lennart Poettering
4298d0b512 core: add new RestrictAddressFamilies= switch
This new unit settings allows restricting which address families are
available to processes. This is an effective way to minimize the attack
surface of services, by turning off entire network stacks for them.

This is based on seccomp, and does not work on x86-32, since seccomp
cannot filter socketcall() syscalls on that platform.
2014-02-26 02:19:28 +01:00
Lennart Poettering
9875fd7875 nspawn: no need for duplicate checks against EEXIST 2014-02-26 02:19:28 +01:00
Lennart Poettering
7c66bae2ff seccomp: we should control NO_NEW_PRIVS on our own, not let seccomp do this for us 2014-02-26 02:19:28 +01:00
Tom Gundersen
fe6b2d55bc networkd: add basic support for MACVLANs 2014-02-25 21:19:08 +01:00
Tom Gundersen
e3ab0c0e19 man: refer to systemd.net{work,dev}(5) from systemd-networkd(8) 2014-02-25 19:50:26 +01:00
Tom Gundersen
eac684ef1c man: split out systemd.net{work,dev}(5) from systemd-networkd(8) 2014-02-25 19:30:40 +01:00
Tom Gundersen
1ff28eaee3 man: split out systemd.link(5) from udev(7) 2014-02-25 17:04:13 +01:00
Tom Gundersen
c7f3ba1ecd man: networkd - clarify that multiple addresses/routes are supported 2014-02-25 16:06:45 +01:00
Tomasz Torcz
b3e4387351 fix typo in iDRAC network interface name: irdac->idrac 2014-02-25 14:05:20 +01:00
Jasper St. Pierre
9c413373d2 login: Allow calling org.freedesktop.login1.Seat.SwitchTo 2014-02-25 13:14:55 +01:00
David Herrmann
3e6b205f81 login: set pos-slot to fallback on pos-eviction
If we evict a session position, we open the position slot for future
sessions. However, there might already be another session on the same
position if both were started on the same VT. This is currently done if
gdm spawns the session on its own Xserver.

Hence, look for such a session on pos-eviction and claim the new slot
immediately.
2014-02-25 13:10:42 +01:00
Ansgar Burchardt
949138ccc3 NEWS: fix typo 2014-02-25 13:02:50 +01:00
David Herrmann
a1937e679f login: fix pos-array allocation
GREEDY_REALLOC takes a pointer to the real size, not the array-width as
argument. Therefore, our array is currently way to small to keep the seat
positions.

Introduce GREEDY_REALLOC0_T() as typed version of GREEDY_REALLOC and store
the array-width instead of array-size.
2014-02-25 12:22:31 +01:00