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().
Susant Sahani [Wed, 5 Mar 2014 15:13:25 +0000 (20:43 +0530)]
sd-rtnl:introduce table-based lookup and typesafe read() functions
This patch introduces new netlink attribute parsing logic
which is table based lookup and sd_rtnl_message_read_*
methods for reading attributes. By doing this user does not
have to loop for the attribute values . Only providing the
attribute type it gets the attribute values which is optimized
and sd_rtnl_message_read_* methods are simplified.
Lennart Poettering [Thu, 6 Mar 2014 17:26:35 +0000 (18:26 +0100)]
generators: make automatic discovery generators work correctly when reloading
In addition to checking whether the diestination mount point is
populated, check whether it is already a mount point.
If it is already a mount point, or if it is unpopulated, let's create
the unit.
Lennart Poettering [Thu, 6 Mar 2014 17:26:06 +0000 (18:26 +0100)]
generators: add Documentation= fields that point to the generator man pages
Lennart Poettering [Thu, 6 Mar 2014 16:05:55 +0000 (17:05 +0100)]
util: move more intellegince into parse_proc_cmdline()
Already split variable assignments before invoking the callback. And
drop "rd." settings if we are not in an initrd.
Zbigniew Jędrzejewski-Szmek [Thu, 6 Mar 2014 13:10:19 +0000 (08:10 -0500)]
man: update link to LSB
https://bugzilla.redhat.com/show_bug.cgi?id=1073402
Lennart Poettering [Thu, 6 Mar 2014 04:03:39 +0000 (05:03 +0100)]
update TODO
Lennart Poettering [Thu, 6 Mar 2014 03:57:16 +0000 (04:57 +0100)]
core: include partition label in .device description fields
Lennart Poettering [Thu, 6 Mar 2014 03:52:31 +0000 (04:52 +0100)]
logind: fix reference to systemd-user-sessions.service
Lennart Poettering [Thu, 6 Mar 2014 03:52:13 +0000 (04:52 +0100)]
gpt-auto-generation: set a pretty description string
Lennart Poettering [Thu, 6 Mar 2014 03:51:48 +0000 (04:51 +0100)]
units: don't use the word 'Reboot' for Startup, but simply 'Boot'
Lennart Poettering [Thu, 6 Mar 2014 03:51:11 +0000 (04:51 +0100)]
units: properly capitalize the unit description
Lennart Poettering [Thu, 6 Mar 2014 03:50:19 +0000 (04:50 +0100)]
man: bring gpt-auto-generator up to date
Lennart Poettering [Thu, 6 Mar 2014 03:05:13 +0000 (04:05 +0100)]
gpt-auto-generator: properly handle LUKS partitions
Lennart Poettering [Thu, 6 Mar 2014 03:04:58 +0000 (04:04 +0100)]
unit-name: modernizations
Lennart Poettering [Thu, 6 Mar 2014 01:26:52 +0000 (02:26 +0100)]
cryptsetup: some fixes
Lennart Poettering [Thu, 6 Mar 2014 01:19:42 +0000 (02:19 +0100)]
core: correctly unregister PIDs from PID hashtables
Lennart Poettering [Thu, 6 Mar 2014 01:19:06 +0000 (02:19 +0100)]
util: add timeout to generator execution
Lennart Poettering [Wed, 5 Mar 2014 21:31:03 +0000 (22:31 +0100)]
update TODO
Lennart Poettering [Wed, 5 Mar 2014 21:26:10 +0000 (22:26 +0100)]
generators: rework mount generators
- Add support for finding and mounting /srv based on GPT data, similar
to how we already handly /home.
- Share the fsck logic between GPT, EFI and fstab generators
- Make sure we never run the EFI generator inside containers
- Drop DefaultDependencies=no from EFI mount units
- Other fixes
Umut Tezduyar Lindskog [Wed, 5 Mar 2014 19:51:36 +0000 (20:51 +0100)]
man: ipv4 link-local
Lennart Poettering [Wed, 5 Mar 2014 18:02:53 +0000 (19:02 +0100)]
systemd-run: don't print error messages twice
Lennart Poettering [Wed, 5 Mar 2014 17:57:21 +0000 (18:57 +0100)]
systemd-run: make sure --nice=, --uid=, --gid=, --setenv= also work in --scope mode
Tom Gundersen [Wed, 5 Mar 2014 10:53:26 +0000 (11:53 +0100)]
networkd: listen to changes to the MAC address
Bridges will change their MAC address when other devices are enslaved. We need
the correct MAC address to acquire a DHCP lease, so take note of it whenever
it changes.
Tom Gundersen [Wed, 5 Mar 2014 10:47:38 +0000 (11:47 +0100)]
sd-rtnl: do not blindly enter containers in message_read()
We need a separate container_enter() function, which will be part of a largerg
API change. For now, just fix message_read().
Tom Gundersen [Wed, 5 Mar 2014 10:07:15 +0000 (11:07 +0100)]
sd-dhcp-client: log the MAC address we are using
Mark Oteiza [Wed, 5 Mar 2014 09:41:13 +0000 (10:41 +0100)]
networkd: restore logic for enslaving to a master bonding interface
This partially reverts commit 54abf46, which unintentionally removed the
enslaving support for bonding interfaces
Zbigniew Jędrzejewski-Szmek [Thu, 27 Feb 2014 05:11:54 +0000 (00:11 -0500)]
journal: forget file after encountering an error
If we encounter an inconsistency in a file, let's just
ignore it. Otherwise, after previous patch, we would try,
and fail, to use this file in every invocation of sd_journal_next
or sd_journal_previous that happens afterwards.
Zbigniew Jędrzejewski-Szmek [Thu, 27 Feb 2014 05:07:29 +0000 (00:07 -0500)]
journal: assume that next entry is after previous entry
With a corrupted file, we can get in a situation where two entries
in the entry array point to the same object. Then journal_file_next_entry
will find the first one using generic_arrray_bisect, and try to move to
the second one, but since the address is the same, generic_array_get will
return the first one. journal_file_next_entry ends up in an infinite loop.
https://bugzilla.redhat.com/show_bug.cgi?id=1047039
Lennart Poettering [Wed, 5 Mar 2014 03:41:40 +0000 (04:41 +0100)]
update TODO
Lennart Poettering [Wed, 5 Mar 2014 03:41:01 +0000 (04:41 +0100)]
core: don't override NoNewPriviliges= from SystemCallFilter= if it is already explicitly set
Lennart Poettering [Wed, 5 Mar 2014 03:07:37 +0000 (04:07 +0100)]
systemd-run: support all currently exported properties with -p
Lennart Poettering [Wed, 5 Mar 2014 02:49:00 +0000 (03:49 +0100)]
core: make the LimitXYZ= properties settable for transient service units
Lennart Poettering [Wed, 5 Mar 2014 02:38:36 +0000 (03:38 +0100)]
systemd-run: add some extra safety checks
Lennart Poettering [Wed, 5 Mar 2014 02:37:48 +0000 (03:37 +0100)]
man: document missing options of systemd-run
Lennart Poettering [Wed, 5 Mar 2014 02:36:22 +0000 (03:36 +0100)]
systemd-run: add new --property= switch that can set arbitrary properties for the unit that is created
The code for parsing these properties is shared with "systemctl
set-property", which means all the resource control settings are
immediately available.
Lennart Poettering [Wed, 5 Mar 2014 02:34:48 +0000 (03:34 +0100)]
strv: add new STR_IN_SET() macro that operates similar to IN_SET() but for strings
Lennart Poettering [Wed, 5 Mar 2014 01:30:47 +0000 (02:30 +0100)]
update TODO
Lennart Poettering [Wed, 5 Mar 2014 01:29:58 +0000 (02:29 +0100)]
missing: if RLIMIT_RTTIME is not defined by the libc, then we need a new define for the max number of rlimits, too
Lennart Poettering [Wed, 5 Mar 2014 01:27:37 +0000 (02:27 +0100)]
core: when passing resource limit values to client, map RLIM_INFINITY into portable value (uint64_t) -1
Thomas Hindoe Paaboel Andersen [Tue, 4 Mar 2014 22:16:30 +0000 (23:16 +0100)]
add bash completion for systemd-cat
Umut Tezduyar Lindskog [Tue, 4 Mar 2014 12:58:35 +0000 (13:58 +0100)]
architecture: Add cris
Lennart Poettering [Tue, 4 Mar 2014 19:01:44 +0000 (20:01 +0100)]
update TODO
Lennart Poettering [Tue, 4 Mar 2014 18:20:21 +0000 (19:20 +0100)]
logind: make $XDG_RUNTIME_DIR a per-user tmpfs
This way each user allocates from his own pool, with its own size limit.
This puts the size limit by default to 10% of the physical RAM size but
makes it configurable in logind.conf.