Lennart Poettering [Tue, 18 Mar 2014 03:44:39 +0000 (04:44 +0100)]
machinectl: reimplement machinectl's "reboot" verb on top of "kill", and add new verb "poweroff"
There's really no point to send the reboot SIGINT from machinectl
directly, if machined can do that anyway. This saves code, and
makes machinectl network transparent for these verbs. And while we are
at it we can easily add a "poweroff" verb in addition to "reboot". Yay!
Lennart Poettering [Tue, 18 Mar 2014 03:43:08 +0000 (04:43 +0100)]
machined: fix Kill() bus call on machine objects when "what" is specified as "leader"
Lennart Poettering [Tue, 18 Mar 2014 02:53:59 +0000 (03:53 +0100)]
update TODO
Lennart Poettering [Tue, 18 Mar 2014 03:06:54 +0000 (04:06 +0100)]
core: remount /sys/fs/cgroup/ read-only after we mounted all controllers
Given that glibc searches for /dev/shm by just looking for any tmpfs we
should be more careful with providing tmpfs instances arbitrary code
might end up writing to.
Lennart Poettering [Tue, 18 Mar 2014 03:06:36 +0000 (04:06 +0100)]
cgroup: it's not OK to invoke alloca() in loops
Lennart Poettering [Tue, 18 Mar 2014 02:53:02 +0000 (03:53 +0100)]
systemctl: sort local host entry before container in list-machines output
Lennart Poettering [Tue, 18 Mar 2014 02:51:24 +0000 (03:51 +0100)]
systemctl: prefix list-units and list-machines output with a circle indicating a failure state
(Subject to --no-legend)
Kay Sievers [Tue, 18 Mar 2014 02:57:35 +0000 (03:57 +0100)]
timedatectl: clear ADJ_MAXERROR to make sure we keep STA_SYNC set
Thomas Hindoe Paaboel Andersen [Mon, 17 Mar 2014 20:59:43 +0000 (21:59 +0100)]
systemd-run: extend bash completion
--system
-H --host
-M --machine
--service-type (options: simple forking oneshot dbus notify idle)
--uid
--gid
--nice
--setenv
-p --property (options read from bus_append_unit_property_assignment)
Thomas Hindoe Paaboel Andersen [Mon, 17 Mar 2014 20:50:49 +0000 (21:50 +0100)]
remove unused variable
poma [Mon, 17 Mar 2014 20:08:40 +0000 (21:08 +0100)]
man: networkd - additional examples related to bridging
Lennart Poettering [Mon, 17 Mar 2014 17:28:30 +0000 (18:28 +0100)]
build-sys: move sd-login src/login → src/libsystemd/sd-login
After all, it is ultimately linked to libsystems.so anyway, thus belongs
there and shares very little with the rest of logind, hence let's move
this away.
Lennart Poettering [Mon, 17 Mar 2014 17:15:38 +0000 (18:15 +0100)]
update TODO
Lennart Poettering [Mon, 17 Mar 2014 17:14:26 +0000 (18:14 +0100)]
sd-login: add calls that retrieve credentials of peers connected to AF_UNIX peers
This is supposed to be an extension of SO_PEERCRED and SO_PEERSEC,
except for cgroup information.
Lennart Poettering [Mon, 17 Mar 2014 14:18:11 +0000 (15:18 +0100)]
update TODO
Miklos Vajna [Fri, 14 Mar 2014 20:13:38 +0000 (21:13 +0100)]
core, libsystemd, systemd, timedate, udev: spelling fixes
Jason St. John [Mon, 17 Mar 2014 04:03:46 +0000 (00:03 -0400)]
man: improve wording of systemctl's --after/--before
Commit 4a77ca7 was an attempt at fixing the wording of --after and --before,
but the new wording was unclear.
Split the combined --after/--before section into a separate section for
each, explicitly state what each option does, and add information about
how these lists are generated.
Reported-by: Andrey Borzenkov <arvidjaar@gmail.com>
Reported-by: Lennart Poettering <lennart@poettering.net>
Zbigniew Jędrzejewski-Szmek [Mon, 17 Mar 2014 04:13:48 +0000 (00:13 -0400)]
build-sys: bump required µhttpd version
MHD_USE_EPOLL_LINUX_ONLY, MHD_USE_DUAL_STACK are only available in
next-but-last release.
Zbigniew Jędrzejewski-Szmek [Mon, 17 Mar 2014 02:33:35 +0000 (22:33 -0400)]
journal-remote: implement inheriting http(s) sockets
Now --listen-http=-3 --listen-https=-4 can be used to spawn a µhttpd
server on those two ports, in http and https modes respectively.
As before, --listen-http=3 --listen-https=4 will launch µhttpd servers
on ports 3 and 4.
Zbigniew Jędrzejewski-Szmek [Mon, 17 Mar 2014 00:05:50 +0000 (20:05 -0400)]
microhttpd-util: use static buffer for static messages
Most of the messages we send do not require a allocating and
freeing a buffer, to optimize this by using const strings.
Also, rename respond_error to mhd_respond*, since it is used
not only for errors.
Make use of information from printf to avoid one extra call to
strlen.
Zbigniew Jędrzejewski-Szmek [Sat, 15 Mar 2014 19:58:03 +0000 (15:58 -0400)]
journal-remote: HTTP(s) support
The whole tool is made dependent on µhttpd availability. It should be
easy to make the µhttpd parts conditional, but since transfer over
HTTP seems to be the primary use case, currently this is not done.
Current implementation uses nested epoll loops: sd-event is used for
the external event loop, and µhttpd uses epoll in its own
loop. Unfortunately µhttpd does not expose enough information to add
the descriptors it uses to the external event loop. This means that
starvation of other events is possible, if one of the inner µhttpd
loops is constantly busy. This means that µhttpd servers should not
be mixed with other sources.
The TLS authentication parts haven't been really tested properly, and
should not be take too seriously.
Zbigniew Jędrzejewski-Szmek [Thu, 1 Nov 2012 22:08:03 +0000 (23:08 +0100)]
journal-remote: tool to receive messages over the network
Zbigniew Jędrzejewski-Szmek [Sat, 1 Dec 2012 10:12:05 +0000 (11:12 +0100)]
journal-gatewayd: check if certificate is signed by CA
If --trust=ca.crt is used, only clients presenting certificates signed
by the ca will be allowed to proceed. No hostname matching is
performed, so any client wielding a signed certificate will be
authorized.
Error functions are moved from journal-gateway to microhttp-util and
made non-static, since now they are used in two source files.
Zbigniew Jędrzejewski-Szmek [Wed, 28 Nov 2012 22:08:35 +0000 (23:08 +0100)]
journal-gatewayd: log to journal from gnutls
Prefix "gnutls: " is added. Some semi-random mapping of gnutls levels
to syslog levels is done, but since gnutls levels seem to be used
rather loosely, most end up as debug.
Zbigniew Jędrzejewski-Szmek [Wed, 28 Nov 2012 11:45:31 +0000 (12:45 +0100)]
build-sys: add check on gnutls
Zbigniew Jędrzejewski-Szmek [Mon, 26 Nov 2012 22:02:14 +0000 (23:02 +0100)]
journal-gatewayd: ask clients to provide certificates
A certificate authority certificate will be presented to clients,
causing them to present their client certificate, if it is signed by
this authority (default behaviour of most clients). No certificate
checking is actually performed.
Zbigniew Jędrzejewski-Szmek [Mon, 10 Mar 2014 01:33:04 +0000 (21:33 -0400)]
activate: export make_socket_fd
Also improve logging to print out the parsed address on error.
Zbigniew Jędrzejewski-Szmek [Fri, 2 Nov 2012 14:05:31 +0000 (15:05 +0100)]
shared: export is_dir
Zbigniew Jędrzejewski-Szmek [Sat, 3 Nov 2012 19:13:46 +0000 (20:13 +0100)]
journal: export valid_user_field and size defines
In preparation for use elsewhere.
Zbigniew Jędrzejewski-Szmek [Thu, 1 Nov 2012 21:36:52 +0000 (22:36 +0100)]
journal: extract duplicated code to a function
Zbigniew Jędrzejewski-Szmek [Thu, 1 Nov 2012 21:26:22 +0000 (22:26 +0100)]
journal: extract duplicated code to a function
Zbigniew Jędrzejewski-Szmek [Tue, 11 Mar 2014 01:19:23 +0000 (21:19 -0400)]
journald: remove stray reset of error return value
Lennart Poettering [Mon, 17 Mar 2014 02:31:38 +0000 (03:31 +0100)]
systemctl: introduce -r switch to show units running in local containers in addition to the host
Kay Sievers [Sun, 16 Mar 2014 23:18:55 +0000 (00:18 +0100)]
timedated: move test logging to test program
Kay Sievers [Sun, 16 Mar 2014 22:51:50 +0000 (23:51 +0100)]
timedated: update spike handling
Kay Sievers [Sun, 16 Mar 2014 21:57:42 +0000 (22:57 +0100)]
timedated: update spike handling
Kay Sievers [Sun, 16 Mar 2014 16:45:06 +0000 (17:45 +0100)]
timedated: handle external system time changes
Josh Triplett [Sat, 15 Mar 2014 18:40:07 +0000 (11:40 -0700)]
Use strlen even for constant strings
GCC optimizes strlen("string constant") to a constant, even with -O0.
Thus, replace patterns like sizeof("string constant")-1 with
strlen("string constant") where possible, for clarity. In particular,
for expressions intended to add up the lengths of components going into
a string, this often makes it clearer that the expression counts the
trailing '\0' exactly once, by putting the +1 for the '\0' at the end of
the expression, rather than hidden in a sizeof in the middle of the
expression.
Tom Gundersen [Sun, 16 Mar 2014 12:55:41 +0000 (13:55 +0100)]
nspawn: UP the host side of the veth pair after adding it to a bridge
Tom Gundersen [Sun, 16 Mar 2014 12:02:16 +0000 (13:02 +0100)]
sd-rtnl: never treat broadcasts as replies
Otherwise the sequence number of a broadcast may match the sequence number of a
pending unicast message and cause confusion.
Tom Gundersen [Sat, 15 Mar 2014 19:03:34 +0000 (20:03 +0100)]
networkd: netdev - support joining already existing netdevs
Tom Gundersen [Sat, 15 Mar 2014 19:02:24 +0000 (20:02 +0100)]
sd-rtnl: make RTM_NEWLINK report EEXIST by default
Use RTM_SETLINK to update an existing link.
Kay Sievers [Sat, 15 Mar 2014 15:57:51 +0000 (16:57 +0100)]
timedated: print delay and jitter in debug output
Wieland Hoffmann [Mon, 10 Mar 2014 14:17:32 +0000 (15:17 +0100)]
_sd_machines: Use machinectl --no-legend
Otherwise bogus entries from the header and footer would show up in the
completion list.
Wieland Hoffmann [Mon, 10 Mar 2014 14:17:31 +0000 (15:17 +0100)]
zsh completion: Install _sd_machines with _machinectl
_machinectl uses _sd_machines to provide a list of all available
machines.
Zbigniew Jędrzejewski-Szmek [Sat, 15 Mar 2014 01:43:56 +0000 (21:43 -0400)]
timedated: use builtins for integer log and exp
Sebastian Thorarensen [Thu, 13 Mar 2014 23:38:15 +0000 (00:38 +0100)]
journald: add support for wall forwarding
This will let journald forward logs as messages sent to all logged in
users (like wall).
Two options are added:
* ForwardToWall (default yes)
* MaxLevelWall (default emerg)
'ForwardToWall' is overridable by kernel command line option
'systemd.journald.forward_to_wall'.
This is used to emulate the traditional syslogd behaviour of sending
emergency messages to all logged in users.
Sebastian Thorarensen [Thu, 13 Mar 2014 23:38:05 +0000 (00:38 +0100)]
utmp-wtmp: allow overriding username on wall
utmp_wall() now takes an optional argument 'username_override' which
allows the caller to override the username shown on wall messages.
journald will use this to inform users that its wall messages comes from
'systemd-journald'.
Lennart Poettering [Fri, 14 Mar 2014 20:15:32 +0000 (21:15 +0100)]
sd-bus: don't choke if somebody sends us a message with a unix fd count of 0
It's kinda pointless to include a unix fd header field in messages if it
carries the value 0, but let's do this anyway...
Lennart Poettering [Fri, 14 Mar 2014 20:12:36 +0000 (21:12 +0100)]
sd-bus: don't access invalid memory if a signal matcher was freed from its own callback
Lennart Poettering [Fri, 14 Mar 2014 20:11:31 +0000 (21:11 +0100)]
util: add hexdump() call to create pretty hexdumps of data
This is very useful when debugging sd-bus to look at messages.
Lennart Poettering [Fri, 14 Mar 2014 20:10:55 +0000 (21:10 +0100)]
update TODO
Michael Olbrich [Fri, 14 Mar 2014 17:19:29 +0000 (18:19 +0100)]
networkd: fix typo
It's HAVE_SPLIT_USR not HAVE_SPLIT_USER
Lennart Poettering [Fri, 14 Mar 2014 14:12:05 +0000 (15:12 +0100)]
gpt: introduce root partition type GUIDs for ARM 32bit + ARM 64bit
Michael Marineau [Fri, 14 Mar 2014 04:32:13 +0000 (21:32 -0700)]
tmpfiles: add --root option to operate on an alternate fs tree
This makes it possible to initialize or cleanup an arbitrary filesystem
hierarchy in the same way that it would be during system boot.
Michael Marineau [Fri, 14 Mar 2014 04:32:12 +0000 (21:32 -0700)]
shared: add root argument to search_and_fopen
This adds the same root argument to search_and_fopen that
conf_files_list already has. Tools that use those two functions as a
pair can now be easily modified to load configuration files from an
alternate root filesystem tree.
Zbigniew Jędrzejewski-Szmek [Fri, 14 Mar 2014 13:05:56 +0000 (09:05 -0400)]
Do not return -1 (EINVAL) on allocation error
Zbigniew Jędrzejewski-Szmek [Fri, 14 Mar 2014 12:43:21 +0000 (08:43 -0400)]
machine-id-setup: use path_kill_slashes and modernizations
Tom Gundersen [Fri, 14 Mar 2014 12:04:57 +0000 (13:04 +0100)]
man: network - clarify which options may be specified more than once.
Greg KH [Fri, 14 Mar 2014 04:43:04 +0000 (04:43 +0000)]
machine-id: add --root option to operate on an alternate fs tree
This makes it possible to initialize the /etc/machine-id file on an
arbitrary filesystem hierarchy. This helps systems that wish to run
this at image creation time in a subdirectory, or from initramfs before
pivot-root is called.
[tomegun: converted to using _cleanup_free_ macros]
Tom Gundersen [Thu, 13 Mar 2014 19:46:45 +0000 (20:46 +0100)]
networkd: allow more than one static DNS server
Tom Gundersen [Thu, 13 Mar 2014 18:02:28 +0000 (19:02 +0100)]
networkd: fix creation of runtime dirs at startup
This allows us to drop the repeated attempted creations of the runtime dirs during runtime.
Tom Gundersen [Thu, 13 Mar 2014 17:42:56 +0000 (18:42 +0100)]
networkd: lease - store (up to) one dhcp lease file per interface
This removes an accidentally left-over test fragment.
Dave Reisner [Fri, 14 Mar 2014 01:56:07 +0000 (21:56 -0400)]
nspawn: remove unused variable
Brandon Philips [Thu, 13 Mar 2014 22:19:40 +0000 (15:19 -0700)]
nspawn: allow -EEXIST on mkdir_safe /home/${uid}
With systemd 211 nspawn attempts to create the home directory for the
given uid. However, if the home directory already exists then it will
fail. Don't error out on -EEXIST.
Lennart Poettering [Fri, 14 Mar 2014 00:49:32 +0000 (01:49 +0100)]
update TODO
Lennart Poettering [Fri, 14 Mar 2014 00:38:19 +0000 (01:38 +0100)]
logind: automatically remove SysV + POSIX IPC objects when the users owning them fully log out
Kay Sievers [Mon, 10 Mar 2014 21:15:56 +0000 (22:15 +0100)]
timedated: add SNTP client/query hookup (unused for now)
Lennart Poettering [Thu, 13 Mar 2014 19:33:22 +0000 (20:33 +0100)]
sd-bus: don't look for a 64bit value when we only have 32bit value on reply cookie hash table access
This broke hashtable lookups for the message cookies on s390x, which is
a 64bit BE machine where accessing 32bit values as 64bit and vice versa
will explode.
Also, while we are at it, be a bit more careful when dealing with the
64bit cookies we expose and the 32bit serial numbers dbus uses in its
payload.
Problem identified by Fridrich Strba.
Lennart Poettering [Thu, 13 Mar 2014 19:00:50 +0000 (20:00 +0100)]
bus: fix memory leak when kdbus is not enabled
Tom Gundersen [Thu, 13 Mar 2014 16:47:30 +0000 (17:47 +0100)]
nspawn: make host0's MAC address persistent
We still need to make sure that no two MAC addresses are the same, so we use
a logic similar to what is used in udev to generate MAC addresses, and base
it on a hash of the host's machine ID and thecontainer's name.
Hendrik Brueckner [Tue, 11 Mar 2014 17:41:09 +0000 (18:41 +0100)]
getty: Start getty on 3270 terminals available on Linux on System z
Add the first 3270 terminal device that is associated with the Linux preferred
console to the list of virtualization consoles. This is required to
automatically start a getty if the conmode=3270 kernel parameter is specified
for Linux on z/VM instances. Note that a queued upstream patch also enable
the 3270 terminal device if it is associated with the Linux preferred console.
How
To successfully start agetty on a 3270 terminal, a change in the agetty
parameter order is required. Previously, agetty would started like this:
/sbin/agetty --keep-baud 3270/tty1 115200,38400,9600 TERM
The agetty program interprets the "3270/tty1" as baud rate and fails to start
with the "bad speed: 3270/tty1" error message. Fixing this in agetty is more
complex rather than reordering the command line parameters like this:
/sbin/agetty --keep-baud 115200,38400,9600 3270/tty1 TERM
According to agetty sources and "agetty --help", agetty accepts the "tty",
"baudrate tty", and "tty baudrate" specifications.
P.S. The "tty: Set correct tty name in 'active' sysfs attribute" introduces
a change to display the terminal device which is associated with the
Linux preferred console. This change helps to let systemd handle this
particular case only. Without the changes of this commit, no additional
3270 terminal device can be managed by systemd.
https://git.kernel.org/cgit/linux/kernel/git/gregkh/tty.git/commit/?id=
723abd87f6e536f1353c8f64f621520bc29523a3
Lennart Poettering [Thu, 13 Mar 2014 02:58:56 +0000 (03:58 +0100)]
systemctl: autopage always if systemctl status is invoked without args
Lennart Poettering [Thu, 13 Mar 2014 02:58:03 +0000 (03:58 +0100)]
systemctl: suppress duplicate newline if there's not log output in "systemctl status"
Lennart Poettering [Thu, 13 Mar 2014 02:44:32 +0000 (03:44 +0100)]
systemctl: reorder verbs
Lennart Poettering [Thu, 13 Mar 2014 02:44:21 +0000 (03:44 +0100)]
systemctl: make sure status -a doesn't terminate too soon
Lennart Poettering [Thu, 13 Mar 2014 02:43:36 +0000 (03:43 +0100)]
systemctl: show a colored red dot in "status" output indicating the state of a unit
Zbigniew Jędrzejewski-Szmek [Thu, 13 Mar 2014 01:39:31 +0000 (21:39 -0400)]
build-sys: make sure we rebuild manpages when doing releases
https://bugs.freedesktop.org/show_bug.cgi?id=76056
Lennart Poettering [Thu, 13 Mar 2014 00:39:09 +0000 (01:39 +0100)]
update TODO
Lennart Poettering [Thu, 13 Mar 2014 00:33:33 +0000 (01:33 +0100)]
nspawn: honour GPT partition flags when mounting file systems following the discoverable partitions spec
Lennart Poettering [Thu, 13 Mar 2014 00:06:41 +0000 (01:06 +0100)]
gpt-auto-generator: there's no point in looking for a superblock on raw disk, we only care for a partition table
Lennart Poettering [Thu, 13 Mar 2014 00:06:19 +0000 (01:06 +0100)]
gpt-auto-generator: print debug messages when we ignore a block device
Lennart Poettering [Thu, 13 Mar 2014 00:01:56 +0000 (01:01 +0100)]
gpt-auto-generator: honour read-only and no-auto flag from GPT data
Similar to the read-only and no-automount flags of Microsoft Basic Data
Partitions, introduce our own flags. We map them to the same flag bits
as Microsoft's, to keep things simple.
Lennart Poettering [Wed, 12 Mar 2014 23:46:58 +0000 (00:46 +0100)]
cryptsetup: call static variables parsed from command line arg_XYZ like in all other tools
Tomasz Torcz [Wed, 12 Mar 2014 18:25:11 +0000 (19:25 +0100)]
gpt-auto-generator: don't return OOM on parentless devices
Daniel Buch [Wed, 12 Mar 2014 19:09:25 +0000 (20:09 +0100)]
socket.c: make use of union sockaddr_union
Lennart Poettering [Wed, 12 Mar 2014 22:33:46 +0000 (23:33 +0100)]
systemctl: when "systemctl status" is called without arguments show a short overall system state
Previously "systemctl status" without argument would print the status of
all loaded units. This has now been moved to "systemctl status -a".
Lennart Poettering [Wed, 12 Mar 2014 21:27:13 +0000 (22:27 +0100)]
manager: use system state enum where appropriate
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.