chiark / gitweb /
Lennart Poettering [Tue, 16 Apr 2013 12:50:05 +0000 (14:50 +0200)]
util: make generation of profcs PID paths nicer
Lennart Poettering [Tue, 16 Apr 2013 03:47:04 +0000 (05:47 +0200)]
path-util: unify code for detecting OS trees
This also makes sure we always detect an OS tree the same way, by
checking for /etc/os-release.
Lennart Poettering [Tue, 16 Apr 2013 03:25:57 +0000 (05:25 +0200)]
macro: rework how we define cleanup macros
There's now a generic _cleanup_ macro with an argument. The macros for
specific types are now defined using this macro, and in the header files
where they belong.
All cleanup handlers are now inline functions.
Lennart Poettering [Tue, 16 Apr 2013 03:04:53 +0000 (05:04 +0200)]
util: replace decimal_str_max() by a typesafe macro DECIMAL_STR_WIDTH()
DECIMAL_STR_WIDTH() now works on any numeric type, and is easier to
distingish from DECIMAL_STR_MAX().
This also replaces another manual implementaiton of ulog10 by this macro.
Lennart Poettering [Tue, 16 Apr 2013 02:54:46 +0000 (04:54 +0200)]
bus: parse unit/user unit/session from cgroup path
Lennart Poettering [Tue, 16 Apr 2013 02:41:11 +0000 (04:41 +0200)]
update TODO
Lennart Poettering [Tue, 16 Apr 2013 02:36:06 +0000 (04:36 +0200)]
nspawn: introduce the new /machine/ tree in the cgroup tree and move containers there
Containers will now carry a label (normally derived from the root
directory name, but configurable by the user), and the container's root
cgroup is /machine/<label>. This label is called "machine name", and can
cover both containers and VMs (as soon as libvirt also makes use of
/machine/).
libsystemd-login can be used to query the machine name from a process.
This patch also includes numerous clean-ups for the cgroup code.
Lennart Poettering [Tue, 16 Apr 2013 01:57:50 +0000 (03:57 +0200)]
util: make sure result of hostname_cleanup() passes hostname_is_valid()
Lennart Poettering [Tue, 16 Apr 2013 01:54:53 +0000 (03:54 +0200)]
logind: filter configured cgroup controller lists
Lennart Poettering [Tue, 16 Apr 2013 01:52:59 +0000 (03:52 +0200)]
logind: when looking for cgroup prefixes, allocate from stack
Michael Biebl [Tue, 16 Apr 2013 00:14:45 +0000 (02:14 +0200)]
libudev: remove udev_monitor_new_from_socket() symbol
This function was removed in v183, so drop it from the symbols
versioning file.
Kay Sievers [Tue, 16 Apr 2013 00:10:55 +0000 (02:10 +0200)]
bus: copy iteration macro from the kernel
Kay Sievers [Mon, 15 Apr 2013 23:45:44 +0000 (01:45 +0200)]
hwdb: update
Kay Sievers [Mon, 15 Apr 2013 23:44:36 +0000 (01:44 +0200)]
bus: catch up with kernel changes
Auke Kok [Mon, 15 Apr 2013 23:23:42 +0000 (16:23 -0700)]
bootchart: put the bootchart into the journal.
This bit of code is mostly stolen from coredump.c. We construct
a simple journal message and append the bootchart file in the
journal automatically.
You can extract the latest bootchart from the current boot with
something like:
$ journalctl -b MESSAGE_ID=
9f26aa562cf440c2b16c773d0479b518 --field=BOOTCHART
which prints it to stdout.
None of the other logic is touched. The journal entry is created
even if bootchart was run manually, which is probably wrong.
Kay Sievers [Mon, 15 Apr 2013 21:39:42 +0000 (23:39 +0200)]
bus: fix missing macro argument renaming
<fdo-vcs> systemd kay master *
b1454bf src/libsystemd-bus/ bus-kernel.c kdbus.h
<fdo-vcs> systemd bus: catch up with kernel changes
<kmacleod> kay: randomly looked at your commit, it looks like in KDBUS_FOREACH_ITEM
you missed changing a (d) to an (i) in (uint8_t*) (d) < (uint8_t*) (k) + (k)->size; ?
<kay> kmacleod: hah, so there *is* a reason for using _foo in macros :)
<kay> kmacleod: thanks!
Kay Sievers [Mon, 15 Apr 2013 21:32:38 +0000 (23:32 +0200)]
bus: catch up with kernel changes
Lennart Poettering [Mon, 15 Apr 2013 19:55:12 +0000 (21:55 +0200)]
audit: since nspawn now sets CAP_AUDIT_CONTROL for containers we cannot user this anymore to skip audit session ID retrieval
As audit is still broken in containers we need a reliable way how we can
determine whether the audit data we read from 7proc is actually useful.
Previously we used CAP_AUDIT_CONTROL for this, since nspawn removed that
from the nspawn container. This has changed a while back however, which
means we used audit data of host system in the container.
This adds an explicit container check to the audit calls, so that all
audit data is turned off in containers.
This should fix session creation with pam_systemd/logind in nspawn containers.
Lennart Poettering [Mon, 15 Apr 2013 19:55:07 +0000 (21:55 +0200)]
core: let's make our log messages proper sentences with full stops
Lennart Poettering [Mon, 15 Apr 2013 19:52:56 +0000 (21:52 +0200)]
core: always create /user and /machine top-level cgroup dirs
This allows clients to put inotify watches on these trees to watch for
state changes, without having to wait until these dirs are created.
This introduces the new top-level /machine cgroup dir as canonical
location where OS containers and VMs shall be located (as discussed with
the libvirt folks).
Lennart Poettering [Mon, 15 Apr 2013 19:52:21 +0000 (21:52 +0200)]
update TODO
Harald Hoyer [Mon, 15 Apr 2013 16:34:53 +0000 (18:34 +0200)]
do not change console to non-unicode for LANG=C
If systemd-vconsole-setup was started with LANG=C (no locale.conf), then
it would set the console to non-unicode, which is not what we want.
Anatol Pomozov [Mon, 15 Apr 2013 02:37:54 +0000 (19:37 -0700)]
Fix spelling errors using 'codespell' tool
Lennart Poettering [Mon, 15 Apr 2013 12:16:45 +0000 (14:16 +0200)]
sd-login: add a sd_pid_get_user_unit() call
Lennart Poettering [Mon, 15 Apr 2013 12:05:00 +0000 (14:05 +0200)]
bus: handle env vars safely
Make sure that our library is safe for usage in SUID programs when it
comes to env var handling
Lennart Poettering [Sun, 14 Apr 2013 23:50:46 +0000 (01:50 +0200)]
kdbus: parse cgroup meta data, too
Lennart Poettering [Sun, 14 Apr 2013 23:30:18 +0000 (01:30 +0200)]
localectl: read X11 keymaps from the correct file
As reported by Sergey Udaltsov.
Zbigniew Jędrzejewski-Szmek [Sun, 14 Apr 2013 22:48:45 +0000 (18:48 -0400)]
udev/ata_id: zero out variable properly
b8a2b0f76 'use initalization instead of explicit zeroing'
introduced a bug where only the first sizeof(uint_t*) bytes
would be zeroed out, instead of the whole array.
Zbigniew Jędrzejewski-Szmek [Sun, 14 Apr 2013 22:42:44 +0000 (18:42 -0400)]
bus: remove two unused variables
Zbigniew Jędrzejewski-Szmek [Sun, 14 Apr 2013 22:37:38 +0000 (18:37 -0400)]
systemd-python: fix formatting in docstring
Auke Kok [Sun, 14 Apr 2013 21:11:47 +0000 (14:11 -0700)]
TODO: bootchart items.
Auke Kok [Sun, 14 Apr 2013 19:54:54 +0000 (12:54 -0700)]
readahead: document options and commands.
Zbigniew Jędrzejewski-Szmek [Sun, 14 Apr 2013 18:29:17 +0000 (14:29 -0400)]
readahead-analyze: avoid division-by-0
Also remove a few casts and use _cleanup_fclose_ to simplify logic.
Zbigniew Jędrzejewski-Szmek [Sun, 14 Apr 2013 17:11:06 +0000 (13:11 -0400)]
MurmurHash3: actually inline functions
"__attribute__((always_inline))" does not replace "inline" and they
still need to be used together. This fixes "always_inline function
might not be inlinable [-Wattributes]" warning in gcc 4.7
Idea-from-patch-by: Siarhei Siamashka <siarhei.siamashka@gmail.com>
Lennart Poettering [Sun, 14 Apr 2013 15:49:18 +0000 (17:49 +0200)]
kdbus: generare bloom filters properly for messages we send
Lennart Poettering [Sun, 14 Apr 2013 15:47:12 +0000 (17:47 +0200)]
kdbus: update kdbus.h from upstream
Lennart Poettering [Sun, 14 Apr 2013 15:46:41 +0000 (17:46 +0200)]
bus: always explicitly rewind read index before passing message to caller or callback
Lennart Poettering [Sun, 14 Apr 2013 15:45:26 +0000 (17:45 +0200)]
bus: fix counting of argN= matches
Lennart Poettering [Sun, 14 Apr 2013 15:43:59 +0000 (17:43 +0200)]
util: introduce alloca0() and use it at a number of places
Kay Sievers [Sun, 14 Apr 2013 14:28:34 +0000 (16:28 +0200)]
bus: zero data structure and catch up with error value change
Lennart Poettering [Sun, 14 Apr 2013 01:20:12 +0000 (03:20 +0200)]
kdbus: also parse cmdline message attribute
Lennart Poettering [Sun, 14 Apr 2013 01:19:51 +0000 (03:19 +0200)]
kdbus: make name acquirement ioctls valgrind clean
Zbigniew Jędrzejewski-Szmek [Sun, 14 Apr 2013 01:02:03 +0000 (21:02 -0400)]
Include <fcntl.h> instead of <sys/fcntl.h>
<fcntl.h> is POSIX. On Linux, <sys/fcntl.h> simply includes
<fcntl.h>, so there should be on difference. On Android
likewise, except that there is some more stuff. QNX has
only <fcntl.h>.
https://bugs.freedesktop.org/show_bug.cgi?id=63423
Zbigniew Jędrzejewski-Szmek [Sun, 14 Apr 2013 00:22:53 +0000 (20:22 -0400)]
fileio: in envfiles, do not skip lines following empty lines
https://bugs.freedesktop.org/show_bug.cgi?id=63477
Zbigniew Jędrzejewski-Szmek [Fri, 12 Apr 2013 23:19:48 +0000 (19:19 -0400)]
Remove a few NULLs
Just {} is used in a lot of places now, and there's nothing
special abose those few.
Lennart Poettering [Sat, 13 Apr 2013 19:53:11 +0000 (21:53 +0200)]
kdbus: parse even more kernel meta data fields
Lennart Poettering [Sat, 13 Apr 2013 18:12:27 +0000 (20:12 +0200)]
kdbus: update to newest kdbus API
Mirco Tischler [Fri, 12 Apr 2013 23:03:49 +0000 (01:03 +0200)]
journal: fix broken tags _SOURCE_REALTIME_TIMESTAMP and _MACHINE_ID
Zbigniew Jędrzejewski-Szmek [Thu, 11 Apr 2013 22:59:18 +0000 (18:59 -0400)]
systemctl: new verb 'list-sockets'
LISTEN UNIT ACTIVATES
/dev/initctl systemd-initctl.socket systemd-initctl.service
/dev/log systemd-journald.socket systemd-journald.service
...
[::]:19531 systemd-journal-gatewayd.socket systemd-journal-gatewayd.service
kobject-uevent 1 systemd-udevd-kernel.socket systemd-udevd.service
17 sockets listed.
Pass --all to see loaded but inactive sockets, too.
Zbigniew Jędrzejewski-Szmek [Thu, 11 Apr 2013 22:58:45 +0000 (18:58 -0400)]
util: add wrapper for realloc to avoid specyfing type
Lennart Poettering [Fri, 12 Apr 2013 20:51:23 +0000 (22:51 +0200)]
kdbus: make our little test pass cleanly again
Lennart Poettering [Fri, 12 Apr 2013 20:48:34 +0000 (22:48 +0200)]
kbdus: add null bloom filter to our messages
This makes things work again with the requirements of the kernel on
bloom filters.
Lennart Poettering [Fri, 12 Apr 2013 19:45:14 +0000 (21:45 +0200)]
kdbus: use a valid service name for testing
Lennart Poettering [Fri, 12 Apr 2013 19:44:55 +0000 (21:44 +0200)]
kdbus: update kdbus.h from upstream
Lennart Poettering [Fri, 12 Apr 2013 19:44:14 +0000 (21:44 +0200)]
kdbus: make sure msg structure is properly initialized
Lennart Poettering [Fri, 12 Apr 2013 19:43:50 +0000 (21:43 +0200)]
bus: don't calculate kmsg message too large
Lennart Poettering [Fri, 12 Apr 2013 18:17:15 +0000 (20:17 +0200)]
bus: add kdbus test for name registry
Lennart Poettering [Fri, 12 Apr 2013 18:17:00 +0000 (20:17 +0200)]
dbus: fill in kdbus sender+destination from kdbus data
Kay Sievers [Fri, 12 Apr 2013 19:04:02 +0000 (21:04 +0200)]
bus: rename KDBUS_CMD_FNAME_POLICY_NONE -> KDBUS_CMD_FNAME_POLICY_OPEN
Kay Sievers [Fri, 12 Apr 2013 18:32:19 +0000 (20:32 +0200)]
bus: test - re-enable check for returned error
Kay Sievers [Fri, 12 Apr 2013 18:08:28 +0000 (20:08 +0200)]
bus: align the buffer we pass to the kernel
Kay Sievers [Fri, 12 Apr 2013 14:45:37 +0000 (16:45 +0200)]
bus: create kdbus bus without an active policy
Lennart Poettering [Fri, 12 Apr 2013 01:08:14 +0000 (03:08 +0200)]
bus: implement basic name registration with kdbus
Tom Gundersen [Thu, 11 Apr 2013 19:14:40 +0000 (21:14 +0200)]
tmpfiles: create static device nodes before udev is started
Since v183, the contents of /usr/lib/udev/devices is no longer copied to /dev
on boot, rather systemd-tmpfiles should be used instead. However, as
systemd-tmpfiles --create is only ran long after udevd has been started, it is
no longer possible to use udev rules to assign permissions to the static nodes.
This calls systemd-tmpfiles --create early, before udev is started, and
restricts the call to /dev, which is known to be mounted already.
In the future, this could also take over the creation of static device nodes
from systemd-udevd.
Lennart Poettering [Fri, 12 Apr 2013 00:24:28 +0000 (02:24 +0200)]
bus: be nice to people who don't have kdbus in their kernels
Lennart Poettering [Fri, 12 Apr 2013 00:21:57 +0000 (02:21 +0200)]
bus: make sure things still compile fine without valgrind's headers installed
Lennart Poettering [Fri, 12 Apr 2013 00:19:26 +0000 (02:19 +0200)]
bus: make the kdbus code valgrind clean
Lennart Poettering [Thu, 11 Apr 2013 23:57:53 +0000 (01:57 +0200)]
bus: parse and expose kdbus message timestamps
Lennart Poettering [Thu, 11 Apr 2013 23:49:52 +0000 (01:49 +0200)]
bus: also parse PID starttime out of kdbus message
Lennart Poettering [Thu, 11 Apr 2013 23:45:18 +0000 (01:45 +0200)]
bus: parse uid/gid/pid/tid meta data from kdbus messages
Lennart Poettering [Thu, 11 Apr 2013 23:16:40 +0000 (01:16 +0200)]
bus: make kdbus work so that we can exchange real messages
We have ignition, we have tremendous fire!
Zbigniew Jędrzejewski-Szmek [Thu, 11 Apr 2013 23:02:37 +0000 (19:02 -0400)]
hwclock: use _cleanup_ to simplify function
Zbigniew Jędrzejewski-Szmek [Thu, 11 Apr 2013 22:57:42 +0000 (18:57 -0400)]
errno is positive
Make sure we compare errno against positive error codes.
The ones in hwclock.c and install.c can have an impact, the
rest are unlikely to be hit or in code that isn't widely
used.
Also check that errno > 0, to help gcc know that we are
returning a negative error code.
Zbigniew Jędrzejewski-Szmek [Thu, 11 Apr 2013 22:11:47 +0000 (18:11 -0400)]
systemctl: show the name of failing unit in red
It makes it easier to pick out problematic unit
names from a long list.
Zbigniew Jędrzejewski-Szmek [Thu, 11 Apr 2013 02:40:58 +0000 (22:40 -0400)]
systemctl: allow multiple arguments to --type
This mirrors --property, and is generally useful.
New functionality is used in bash completion.
In case of zsh completion, new functionality is less useful
because of caching. Nevertheless, zsh completion for restart
is made to behave more-or-less the same as bash completion.
At least sockets can be restarted.
Lennart Poettering [Thu, 11 Apr 2013 22:43:57 +0000 (00:43 +0200)]
bus: fix formatting of bus address
Lennart Poettering [Thu, 11 Apr 2013 22:43:42 +0000 (00:43 +0200)]
bus: fix kdbus ioctl invocation
Lennart Poettering [Thu, 11 Apr 2013 22:43:29 +0000 (00:43 +0200)]
bus: properly check if kdbus connection worked
Lennart Poettering [Thu, 11 Apr 2013 22:43:12 +0000 (00:43 +0200)]
bus: fill in unique name when using kdbus
Lennart Poettering [Thu, 11 Apr 2013 22:26:12 +0000 (00:26 +0200)]
bus: add kdbus test case
Lennart Poettering [Thu, 11 Apr 2013 21:09:29 +0000 (23:09 +0200)]
bus: basic implementation of kdbus client side
Lennart Poettering [Thu, 11 Apr 2013 00:09:53 +0000 (02:09 +0200)]
update TODO
Lennart Poettering [Thu, 11 Apr 2013 00:09:36 +0000 (02:09 +0200)]
bus: calculate iovec for messages only when we need it
Lennart Poettering [Thu, 11 Apr 2013 00:07:14 +0000 (02:07 +0200)]
macro: make sure ALIGN() can be calculated constant by the compiler
If we pass a constant value to ALIGN() gcc should have the chance to
calculate the value during compilation rather than runtime, so let's
avoid a static inline call if we can.
Kay Sievers [Thu, 11 Apr 2013 17:56:34 +0000 (19:56 +0200)]
TODO: update
Zbigniew Jędrzejewski-Szmek [Wed, 10 Apr 2013 23:31:58 +0000 (19:31 -0400)]
shell-completion: show failed units as candidates for start
Also show disabled units as candidates for reenable,
since it works and one may want to do enable-or-reenable
in one line.
Zbigniew Jędrzejewski-Szmek [Wed, 10 Apr 2013 23:06:00 +0000 (19:06 -0400)]
shell-completion: replace printf with echo
It is faster to use a bash built-in, then to invoke an external
program. The problem of unit names starting with a dash is solved
by prepending a space. Spaces are ignored anyway.
For zsh, replace echo "$unit", which is vulnerable to dashes,
with echo " $unit".
Zbigniew Jędrzejewski-Szmek [Wed, 10 Apr 2013 22:30:19 +0000 (18:30 -0400)]
systemctl: ellipsize job list only when necessary, highlight running
I was debugging systemd waiting on a missing disk, and noticed
that the job listing could use some polishing. Jobs that are
actually running are highlighted, so it's easier to see what
very actually waiting for.
Also, the needed widths are precalculated, to use available columns
more ecomically.
Zbigniew Jędrzejewski-Szmek [Wed, 10 Apr 2013 22:58:44 +0000 (18:58 -0400)]
udev/ata_id: use initalization instead of explicit zeroing
Lukas Nykryn [Wed, 10 Apr 2013 10:54:02 +0000 (12:54 +0200)]
libsystemd-bus: initalize handle_cmsg to false
Lukas Nykryn [Wed, 10 Apr 2013 10:54:00 +0000 (12:54 +0200)]
tty-ask-password-agent: free passwords
Lukas Nykryn [Wed, 10 Apr 2013 10:53:58 +0000 (12:53 +0200)]
journalctl: check return of strjoin
Zbigniew Jędrzejewski-Szmek [Sat, 6 Apr 2013 02:24:10 +0000 (22:24 -0400)]
Use initalization instead of explicit zeroing in more places
Lennart Poettering [Wed, 10 Apr 2013 21:21:53 +0000 (23:21 +0200)]
localctl: skip locale entries with non-UTF8 names
glibc should place these in the locale archive. For now, let's just skip
them from our output, since they are aliases anyway.
https://bugs.freedesktop.org/show_bug.cgi?id=63389
Lennart Poettering [Wed, 10 Apr 2013 21:04:20 +0000 (23:04 +0200)]
bus: when we unmarshal an fd it should stay owned by the message object
If the user wants the fd to stay valid he should keep a reference to the
message object or duplicate the fd.
This unifies behaviour of demarshalling data fields and unix fds.
Fedora systemd team [Wed, 10 Apr 2013 07:49:24 +0000 (09:49 +0200)]
logind: avoid creating stale session state files
There were old session state files accumulating in /run/systemd/session.
They confused e.g. "reboot", which thought there were still users logged
in. The files got created like this:
session_stop(Session *s) ->
...
unlink(s->state_file);
...
seat_set_active(s->seat, NULL) ->
session_save(...); /* re-creates the state file we just
unlinked */
Fix it simply by clearing the s->started flag earlier to prevent
any further writes of the state file (session_save() checks the flag).
Lennart Poettering [Tue, 9 Apr 2013 20:20:05 +0000 (22:20 +0200)]
update TODO
Lennart Poettering [Tue, 9 Apr 2013 20:18:16 +0000 (22:18 +0200)]
logind: introduce an explicit session class for cronjobs and similar
cronjobs are neither interactive user session, nor lock screens, nor
login screens, hence they should get their own class.
Lennart Poettering [Tue, 9 Apr 2013 19:31:16 +0000 (21:31 +0200)]
update TODO
Lennart Poettering [Tue, 9 Apr 2013 19:28:11 +0000 (21:28 +0200)]
bus: also remove recursive invocation of message_append_ap()