Lennart Poettering [Wed, 12 Mar 2014 21:26:22 +0000 (22:26 +0100)]
macro: make sure we can use IN_SET() also with complex function calls as first argument
Lennart Poettering [Wed, 12 Mar 2014 20:13:58 +0000 (21:13 +0100)]
systemctl: add new "list-machines" command
"systemctl list-machines" shows one line per local container which
includes the current system state of the container, the number of failed
units as well as the number of currently queued jobs.
Lennart Poettering [Wed, 12 Mar 2014 19:55:13 +0000 (20:55 +0100)]
core: introduce system state enum
The system state knows the states starting →
running/degraded/maintenance → stopping, where:
starting = system startup
running = normal operation
degraded = at least one unit is currently in failed state
maintenance = rescue/emergency mode is active or queued
stopping = system shutdown
Lennart Poettering [Wed, 12 Mar 2014 19:54:29 +0000 (20:54 +0100)]
sd-login: add sd_machine_get_class() call
Josh Triplett [Wed, 12 Mar 2014 01:51:17 +0000 (18:51 -0700)]
util: Make in_charset a static inline in util.h
With in_charset now reduced to a one-liner (plus asserts), make it a
static inline.
Josh Triplett [Tue, 11 Mar 2014 23:45:56 +0000 (16:45 -0700)]
util: Rewrite in_charset to use strspn
This simplifies in_charset down to a one-liner, and allows for possible
optimizations of strspn in libc.
Josh Triplett [Wed, 12 Mar 2014 04:16:33 +0000 (21:16 -0700)]
backlight: Avoid restoring brightness to an unreadably dim level
Some systems turn the backlight all the way off at the lowest levels.
Clamp saved brightness to at least 1 or 5% of max_brightness. This
avoids preserving an unreadably dim screen, which would otherwise force
the user to disable state restoration.
Josh Triplett [Wed, 12 Mar 2014 04:09:04 +0000 (21:09 -0700)]
backlight: Fix copy/paste error printing an unrelated error code
udev_device_get_sysattr_value returns NULL on failure, but doesn't
provide an error code; thus, when printing an error from it, don't print
an unrelated error code from a previous call.
Lennart Poettering [Wed, 12 Mar 2014 15:39:21 +0000 (16:39 +0100)]
NEWS: 211 was actually released past midnight, so let's use the correct date
Lennart Poettering [Wed, 12 Mar 2014 15:38:49 +0000 (16:38 +0100)]
update TODO
Kay Sievers [Wed, 12 Mar 2014 00:25:05 +0000 (01:25 +0100)]
test-dhcp-client: remove pointless initializer, wrongly committed earlier
Mike Gilbert [Tue, 11 Mar 2014 22:14:18 +0000 (18:14 -0400)]
build-sys: Fix move-to-rootlibdir
Since we now use ln -s --relative, using this sed statement is redundant
and causes broken symlinks to be installed.
Kay Sievers [Tue, 11 Mar 2014 21:38:54 +0000 (22:38 +0100)]
logind: move lid switch handling from logind-main to logind-core
../src/login/logind-dbus.c:1352: error: undefined reference to 'manager_set_lid_switch_ignore'
collect2: error: ld returned 1 exit status
make[2]: *** [test-login-tables]
Kay Sievers [Tue, 11 Mar 2014 20:46:36 +0000 (21:46 +0100)]
build-sys: add libsystemd-label to network/dhcp users
Lennart Poettering [Tue, 11 Mar 2014 19:57:17 +0000 (20:57 +0100)]
build-sys: we still want to rebuild the tarball though on upload
David Herrmann [Tue, 11 Mar 2014 19:46:57 +0000 (20:46 +0100)]
NEWS: fix typo
sittings -> settings
Lennart Poettering [Tue, 11 Mar 2014 19:45:47 +0000 (20:45 +0100)]
build-sys: when I upload the tarball, don't run the whole distcheck thing again
I run this anyway, and given how slow it is now due to -flto, let's make
my workflow a bit faster...
Kay Sievers [Tue, 11 Mar 2014 19:41:12 +0000 (20:41 +0100)]
NEWS: update
Lennart Poettering [Tue, 11 Mar 2014 19:25:00 +0000 (20:25 +0100)]
build-sys: prepare release 211
Lennart Poettering [Tue, 11 Mar 2014 19:20:54 +0000 (20:20 +0100)]
man: improve nspawn's --user= documentation
Lennart Poettering [Tue, 11 Mar 2014 19:18:06 +0000 (20:18 +0100)]
NEWS: prepare for release 211
Lennart Poettering [Tue, 11 Mar 2014 18:10:49 +0000 (19:10 +0100)]
update TODO
Lennart Poettering [Tue, 11 Mar 2014 18:03:50 +0000 (19:03 +0100)]
bus: replace sd_bus_label_{escape,unescape}() by new sd_bus_path_{encode,decode}()
The new calls work similarly, but enforce a that a common, fixed bus
path prefix is used.
This follows discussions with Simon McVittie on IRC that it should be a
good idea to make sure that people don't use the escaping applied here
too wildly as anything other than the last label of a bus path.
Lennart Poettering [Tue, 11 Mar 2014 17:02:17 +0000 (18:02 +0100)]
update TODO
Lennart Poettering [Tue, 11 Mar 2014 16:57:15 +0000 (17:57 +0100)]
fstab-generator: when running in a container, ignore fstab entries referring to device nodes
Since these device nodes will never appear in the container anyway
there's no point in waiting for them.
This makes it easier to boot images generated with general purpose
installers like Anaconda which unconditionally populate /etc/fstab to
boot in containers.
Zbigniew Jędrzejewski-Szmek [Tue, 11 Mar 2014 16:55:17 +0000 (12:55 -0400)]
build-sys: sign releases
Djalal Harouni [Tue, 11 Mar 2014 13:57:16 +0000 (14:57 +0100)]
hostnamectl: read OS pretty_name and cpe_name from remote
Djalal Harouni [Tue, 11 Mar 2014 13:57:15 +0000 (14:57 +0100)]
hostnamed: expose OperatingSystemPrettyName and OperatingSystemCPEName on the bus
Djalal Harouni [Tue, 11 Mar 2014 13:57:14 +0000 (14:57 +0100)]
hostnamed: minor improvements in context_write_data_other()
Prepare context_write_data_other() and rename it to
context_write_data_machine_info()
Mantas Mikulėnas [Tue, 11 Mar 2014 15:49:00 +0000 (17:49 +0200)]
logind: Do not fail display count if a device has no parent
udev_device_get_parent() may return NULL when the device doesn't have a
parent, as is the case with (for example) /sys/devices/virtual/drm/ttm.
Also, log an actual error message instead of "-12 displays connected".
Mantas Mikulėnas [Tue, 11 Mar 2014 16:00:13 +0000 (18:00 +0200)]
nspawn: fix argv[0] for getent
Lennart Poettering [Tue, 11 Mar 2014 16:43:00 +0000 (17:43 +0100)]
nspawn: allow using kdbus from nspawn containers
Lennart Poettering [Tue, 11 Mar 2014 16:42:24 +0000 (17:42 +0100)]
core: support globbing matches in DeviceAllow= when checking for device groups
Lennart Poettering [Tue, 11 Mar 2014 16:27:58 +0000 (17:27 +0100)]
gpt-auto-generator: rename root device node symlink to /dev/gpt-auto-root
Before it was placed in /dev/disk/by-id, which makes it a bit too much
API. However, it's mostly an implementation detail for now, hence move
it out of the stable block device dir.
Marcel Holtmann [Tue, 11 Mar 2014 16:33:31 +0000 (09:33 -0700)]
hwdb: Update database of Bluetooth company identifiers
Lukas Nykryn [Mon, 24 Feb 2014 16:06:21 +0000 (17:06 +0100)]
udev: properly detect reference to unexisting part of PROGRAM's result
Tom Gundersen [Tue, 11 Mar 2014 09:57:00 +0000 (10:57 +0100)]
sd-dhcp-client: use close_nointr_nofail()
We are already assuming the close() will not fail, so make it explicit.
Tom Gundersen [Mon, 10 Mar 2014 22:40:34 +0000 (23:40 +0100)]
networkd: rework startup
Open all listenerns before loading configuration.
Tom Gundersen [Sun, 9 Mar 2014 21:51:07 +0000 (22:51 +0100)]
sd-dhcp: generalise ip header generation
This will be needed for sd-dhcp-server.
Lennart Poettering [Tue, 11 Mar 2014 04:40:36 +0000 (05:40 +0100)]
README: document that we still encourage people to turn off audit when they want to use containers
Djalal Harouni [Wed, 19 Feb 2014 22:17:45 +0000 (23:17 +0100)]
logind: add a debug message in case the session already exists
If the session already exists then the only way to log it is to set the
debug option of pam_systemd. There are no debug messages in the login
service that permits to log if the session already exists.
So just add it, and while we are it add the "uid" field to the debug
message that indicates that the session was created.
Andrey Borzenkov [Fri, 21 Feb 2014 16:44:06 +0000 (20:44 +0400)]
man: fix description of systemctl --after/--before
It was backward - --after fetches After property, so units shown really
come *before* unit given as argument. Same for --before.
Lennart Poettering [Tue, 11 Mar 2014 04:23:39 +0000 (05:23 +0100)]
man: multiple sleep modes are to be separated by whitespace, not commas
As pointed out by Jason A. Donenfeld.
Harald Hoyer [Thu, 6 Mar 2014 15:35:02 +0000 (16:35 +0100)]
systemctl: for switch-root check, if we switch to a systemd init
If "systemctl switch-root" is called with a specific "INIT" or
/proc/cmdline contains "init=", then systemd would not serialize
itsself.
Let systemctl check, if the new init is in the standard systemd
installation path and if so, clear the INIT parameter,
to let systemd serialize itsself.
Harald Hoyer [Thu, 6 Mar 2014 08:12:57 +0000 (09:12 +0100)]
util: add files_same() helper function
files_same() returns
1, if the files are the same
0, if the files have different inode/dev numbers
errno, for any stat error
Lennart Poettering [Tue, 11 Mar 2014 03:19:43 +0000 (04:19 +0100)]
update TODO
Lennart Poettering [Tue, 11 Mar 2014 03:10:19 +0000 (04:10 +0100)]
dbus: suppress duplicate and misleading messages
When we try to send a signal on a connection we didn't hae the time to
process the Disconnected message yet, don't generate multiple warning
messages, but only a single debug message.
https://bugs.freedesktop.org/show_bug.cgi?id=75874
Lennart Poettering [Tue, 11 Mar 2014 02:09:00 +0000 (03:09 +0100)]
update TODO
Lennart Poettering [Tue, 11 Mar 2014 02:08:54 +0000 (03:08 +0100)]
nspawn: fix getent fallback
Lennart Poettering [Tue, 11 Mar 2014 01:48:59 +0000 (02:48 +0100)]
update TODO
Lennart Poettering [Tue, 11 Mar 2014 01:41:13 +0000 (02:41 +0100)]
nspawn: when resoliving UIDs/GIDs for "-u", do so in forked off /usr/bin/getent instead of in-process
When the container runs a different native architecture than the host we
shouldn't attempt to load the container's NSS modules with the host's
libc. Instead, resolve UID/GID by invoking /usr/bin/getent in the
container. The tool should be fairly universally available and allows us
to do resolving of the UID/GID with the container's libc in a parsable
format.
https://bugs.freedesktop.org/show_bug.cgi?id=75733
Lennart Poettering [Tue, 11 Mar 2014 00:01:38 +0000 (01:01 +0100)]
nspawn: make sure we don't try to mount the container block device in the child after the parent added us to the device cgroup
Lennart Poettering [Mon, 10 Mar 2014 22:17:42 +0000 (23:17 +0100)]
update TODO
Peter Rajnoha [Mon, 10 Mar 2014 21:58:14 +0000 (22:58 +0100)]
rules: mark loop device as SYSTEMD_READY=0 if no file is attached
Check existence of loop/backing_file in sysfs and mark loop devices with
SYSTEMD_READY if missing. Such loop files is uninitialized and it's not
ready for use yet (there's no file attached).
Samuli Suominen [Sat, 8 Mar 2014 07:49:29 +0000 (09:49 +0200)]
build-sys: Find the tools for users with no /sbin:/usr/sbin in PATH since some systems still make the distiction between bin and sbin.
Lennart Poettering [Mon, 10 Mar 2014 20:36:01 +0000 (21:36 +0100)]
nspawn: don't try mknod() of /dev/console with the correct major/minor
We overmount /dev/console with an external pty anyway, hence there's no
point in using the real major/minor when we create the node to
overmount. Instead, use the one of /dev/null now.
This fixes a race against the cgroup device controller setup we are
using. In case /dev/console was create before the cgroup policy was
applied all was good, but if created in the opposite order the mknod()
would fail, since creating /dev/console is not allowed by it. Creating
/dev/null instances is however permitted, and hence use it.
Lennart Poettering [Mon, 10 Mar 2014 19:35:52 +0000 (20:35 +0100)]
nspawn: add --image= switch to boot GPT disk images that follow the Discoverable Partitions Specification
Lennart Poettering [Mon, 10 Mar 2014 16:21:16 +0000 (17:21 +0100)]
man: fix formatting of uuids
Zbigniew Jędrzejewski-Szmek [Mon, 10 Mar 2014 12:25:15 +0000 (08:25 -0400)]
logind: fix policykit checks
Martin Pitt [Mon, 10 Mar 2014 07:54:22 +0000 (08:54 +0100)]
input_id: Recognize buttonless joystick types
Input devices like rudders or pedals are joystick-like; they don't have
buttons, but axes like RX, THROTTLE, or RUDDER. These don't interfere with
other device types with absolute axes (touch screens, touchpads, and
accelerometers), so it's fairly safe to mark them as ID_INPUT_JOYSTICK and thus
hand out dynamic ACLs to the user.
https://bugs.freedesktop.org/show_bug.cgi?id=70734
poma [Sun, 9 Mar 2014 17:12:50 +0000 (18:12 +0100)]
man: fix example in systemd.link
'man/systemd.link.xml' recovery from:
commit
eac684ef1c29684b1bcd27a89c38c202e568e469
Author: Tom Gundersen <teg@jklm.no>
Date: Tue Feb 25 19:30:40 2014 +0100
man: split out systemd.net{work,dev}(5) from systemd-networkd(8)
Tom Gundersen [Sun, 9 Mar 2014 13:43:37 +0000 (14:43 +0100)]
network: link - simplify code a bit and remove some debug logging
Dave Reisner [Sat, 8 Mar 2014 22:32:53 +0000 (17:32 -0500)]
fix off by one error in array index assertion
Since the index is already post-incremented when the array is appended
to, this assertion can be wrongly reached when the array is at capacity
(with the NULL terminator). The bug is reproducible on shutdown with
the following settings in /etc/systemd/system.conf:
LogTarget=journal-or-kmsg
LogColor=yes
LogLocation=yes
Reported by Thermi on IRC.
Kay Sievers [Sat, 8 Mar 2014 18:38:06 +0000 (19:38 +0100)]
units: remove "AllowUser=root own", the bus owner can always own names
Daniel Mack [Sat, 8 Mar 2014 17:22:14 +0000 (18:22 +0100)]
sd-bus: sync kdbus.h
Zbigniew Jędrzejewski-Szmek [Sat, 8 Mar 2014 16:57:28 +0000 (11:57 -0500)]
networkd: fix confusion from missing braces
Fixup for
76800848f281c3 'networkd: link - degrade failed UP to warning'.
Daniel Mack [Sat, 8 Mar 2014 13:18:48 +0000 (14:18 +0100)]
sd-bus: check for potential integer overflow in KDBUS_ITEM_FOREACH()
For large values of item->size, the 'part' pointer can wrap around,
which results in an illegal pointer, but currently passes the for-loop
condition.
Lennart Poettering [Sat, 8 Mar 2014 03:05:48 +0000 (04:05 +0100)]
update TODO
Lennart Poettering [Sat, 8 Mar 2014 02:55:43 +0000 (03:55 +0100)]
gpt-auto-generator: probe only partition table and partitions we are interested in
Instead of iterating through the list of partitions and probing them all
with blkid, simply probe the partition table and use that information to
only probe the partitions we care for.
Tom Gundersen [Sat, 8 Mar 2014 00:08:30 +0000 (01:08 +0100)]
networkd: link - degrade failed UP to warning
Something else may still bring the link up, so don't enter failed state prematurely.
Tom Gundersen [Sat, 8 Mar 2014 00:05:02 +0000 (01:05 +0100)]
sd-rtnl: increase default timeout to match sd-bus
Daniel Mack [Fri, 7 Mar 2014 20:38:48 +0000 (21:38 +0100)]
Make tables for DEFINE_STRING_TABLE_LOOKUP consistent
Bring some arrays that are used for DEFINE_STRING_TABLE_LOOKUP() in the
same order than the enums they reference.
Also, pass the corresponding _MAX value to the array initalizer where
appropriate.
Daniel Mack [Fri, 7 Mar 2014 16:56:53 +0000 (17:56 +0100)]
units: set 'AllowUser=root own' and 'AllowWorld=talk' own for all .busname files
Daniel Mack [Fri, 7 Mar 2014 16:56:20 +0000 (17:56 +0100)]
dbus1-generator: set AllowWorld=own for now
Daniel Mack [Fri, 7 Mar 2014 16:29:01 +0000 (17:29 +0100)]
sd-bus: add support for policy upload on activator connections
Activator connections may upload policy when registering to the bus.
This patch contains code to translate between BusNamePolicy objects and
the kdbus specific items.
Daniel Mack [Fri, 7 Mar 2014 16:14:52 +0000 (17:14 +0100)]
sd-bus: sync kdbus.h (ABI break)
Bring kdbus.h in sync with recent policy related changes. Most notably,
KDBUS_MAKE_POLICY_OPEN is now gone. The rest doesn't matter for systemd
at this point, as the policy functionality was not yet used.
Daniel Mack [Thu, 6 Mar 2014 21:42:42 +0000 (22:42 +0100)]
busname: add parser for bus name policies
There are three directives to specify bus name polices in .busname
files:
* AllowUser [username] [access]
* AllowGroup [groupname] [access]
* AllowWorld [access]
Where [access] is one of
* 'see': The user/group/world is allowed to see a name on the bus
* 'talk': The user/group/world is allowed to talk to a name
* 'own': The user/group/world is allowed to own a name
There is no user added yet in this commit.
Lennart Poettering [Fri, 7 Mar 2014 17:50:13 +0000 (18:50 +0100)]
man: reference the Discoverable Partitions Spec from the gpt-auto-generator man page
Lennart Poettering [Fri, 7 Mar 2014 16:29:16 +0000 (17:29 +0100)]
busname: don't drop 'service' from the result string
Tom Gundersen [Fri, 7 Mar 2014 16:34:38 +0000 (17:34 +0100)]
networkd: use new rtnl_message_read() API
Susant Sahani [Fri, 7 Mar 2014 15:08:02 +0000 (20:38 +0530)]
sd-rtnl: introduce read ether and ip address functions
This patch introduces reading ethernet address and IPV4/IPv6
as well which is based on table based look up.
[tomegun: rename read_ether() to read_ether_addr() to match the append function.]
Daniel Mack [Fri, 7 Mar 2014 13:43:59 +0000 (14:43 +0100)]
manager: flush memory stream before using the buffer
When the manager receives a SIGUSR2 signal, it opens a memory stream
with open_memstream(), uses the returned file handle for logging, and
dumps the logged content with log_dump().
However, the char* buffer is only safe to use after the file handle has
been flushed with fflush, as the man pages states:
When the stream is closed (fclose(3)) or flushed (fflush(3)), the
locations pointed to by ptr and sizeloc are updated to contain,
respectively, a pointer to the buffer and the current size of the
buffer.
These values remain valid only as long as the caller performs no
further output on the stream. If further output is performed, then the
stream must again be flushed before trying to access these variables.
Without that call, dump remains NULL and the daemon crashes in
log_dump().
Kay Sievers [Fri, 7 Mar 2014 13:37:01 +0000 (14:37 +0100)]
udev-builtin-blkid: remove dead code
Daniel Mack [Fri, 7 Mar 2014 10:41:18 +0000 (11:41 +0100)]
core/busname: add lookup string for BUSNAME_FAILURE_SERVICE_FAILED_PERMANENT
When a busname unit enters BUSNAME_FAILURE_SERVICE_FAILED_PERMANENT, the
serialization will not be able to look up the result as string via
busname_result_to_string(). This leads to an assertion trap during
daemon-reexec.
Thomas Bächler [Fri, 7 Mar 2014 00:50:34 +0000 (01:50 +0100)]
units: Do not unescape instance name in systemd-backlight@.service
The instance name is never escaped in the udev rule, but unescaped in the unit.
This results in the following error message on Asus boards:
Failed to get backlight or LED device 'backlight:eeepc/wmi': No such file or directory
Armin K [Tue, 4 Mar 2014 15:23:41 +0000 (16:23 +0100)]
build-sys: Don't distribute generated udev rule
It contains hardcoded path to systemd-sysctl executable which
is /usr/lib/systemd/systemd-sysctl on latest stable release and
as such it will complain at runtime if rootprefix != prefix
[zj: readd the file to nodist_udevrules_DATA]
Zbigniew Jędrzejewski-Szmek [Fri, 7 Mar 2014 04:54:13 +0000 (23:54 -0500)]
man: add missing comma
marcosf0> missing comma in udevadm "see also" section
Zbigniew Jędrzejewski-Szmek [Fri, 7 Mar 2014 04:24:30 +0000 (23:24 -0500)]
build-sys: update intructions for Makefile-man.am regeneration
Zbigniew Jędrzejewski-Szmek [Fri, 7 Mar 2014 04:24:20 +0000 (23:24 -0500)]
man: describe functions for appending to messages
Lennart Poettering [Fri, 7 Mar 2014 03:38:39 +0000 (04:38 +0100)]
update TODO
Lennart Poettering [Fri, 7 Mar 2014 03:31:26 +0000 (04:31 +0100)]
gpt-auto-generator: automatically find the root disk of the system
When run in an initrd and no root= argument is set (or is set to
root=gpt-auto) we will automatically look for the root partition on the
same disk the EFI ESP is located on.
Since we look for swap, /home and /srv on the disk the root partition is
located on, we hence have a fully discoverable chain:
Firmware discovers the EFI ESP partition → the initrd discovers the
root partition → the host OS discovers swap, /home, and /srv.
Note that this requires an EFI boot loader that sets the
LoaderDevicePartUUID EFI variable, such as Gummiboot.
Lennart Poettering [Fri, 7 Mar 2014 02:30:30 +0000 (03:30 +0100)]
udev: automatically create a symlink /dev/disk/by-id/gpt-auto-root if there's a suitable root partition
Lennart Poettering [Fri, 7 Mar 2014 01:39:59 +0000 (02:39 +0100)]
fstab-generator: the root partition is not optional
Lennart Poettering [Fri, 7 Mar 2014 01:39:01 +0000 (02:39 +0100)]
efi-boot-generator: typo fix
Lennart Poettering [Fri, 7 Mar 2014 01:35:19 +0000 (02:35 +0100)]
udev-builtin-blkid: when we find a GPT partition marked as root disk on the same disk as the ESP, expose a property on the udev device
This is preparation for a logic to automatically discover the root
partition to boot from if no partition has been configured explicitly.
This makes use of our newly defined GPT type GUIDs for our root disks:
#define GPT_ROOT_X86 SD_ID128_MAKE(44,47,95,40,f2,97,41,b2,9a,f7,d1,31,d5,f0,45,8a)
#define GPT_ROOT_X86_64 SD_ID128_MAKE(4f,68,bc,e3,e8,cd,4d,b1,96,e7,fb,ca,f9,84,b7,09)
We define differen GUIDs for different architectures to allow images
which finde the right root partition for the appropriate arch.
Lennart Poettering [Fri, 7 Mar 2014 01:34:18 +0000 (02:34 +0100)]
udev-builtin-blkid: modernizations and minor fixes
Lennart Poettering [Thu, 6 Mar 2014 20:14:26 +0000 (21:14 +0100)]
fstab-generator: merge /proc/cmdline parsing loops into one
Zachary Cook [Thu, 6 Mar 2014 08:49:49 +0000 (03:49 -0500)]
man: systemd-bootchart - fix spacing in command
Use the same formatting as the systemd-analyze man page, so that man shows a space.
Thomas Hindoe Paaboel Andersen [Thu, 6 Mar 2014 19:28:32 +0000 (20:28 +0100)]
strv: set _printf_ on strv_extendf
Tom Gundersen [Thu, 6 Mar 2014 18:44:37 +0000 (19:44 +0100)]
sd-rtnl/networkd: use new rtnl_message_read() API and drop helper
With the new sd_rtnl_message_read_string(), there is no longer a need for
rtnl_message_get_ifname().