chiark / gitweb /
9 years agounit: split unit_printf() and friends into its own .c file
Lennart Poettering [Tue, 18 Sep 2012 09:27:56 +0000 (11:27 +0200)]
unit: split unit_printf() and friends into its own .c file

9 years agounit: fix %f resolving
Lennart Poettering [Tue, 18 Sep 2012 09:18:37 +0000 (11:18 +0200)]
unit: fix %f resolving

9 years agojournalctl: don't choke on entries with no MESSAGE= field
Lennart Poettering [Tue, 18 Sep 2012 09:12:31 +0000 (11:12 +0200)]
journalctl: don't choke on entries with no MESSAGE= field

9 years agodocs: typos in loginctl.xml
Thomas Hindoe Paaboel Andersen [Thu, 13 Sep 2012 19:09:44 +0000 (21:09 +0200)]
docs: typos in loginctl.xml

9 years agotarget: imply default ordering for PartsOf deps as well
Lennart Poettering [Tue, 18 Sep 2012 09:01:34 +0000 (11:01 +0200)]
target: imply default ordering for PartsOf deps as well

9 years agoexecute: apply PAM logic only to main process if PermissionsStartOnly is set
Lennart Poettering [Tue, 18 Sep 2012 08:54:23 +0000 (10:54 +0200)]
execute: apply PAM logic only to main process if PermissionsStartOnly is set

9 years agoselinux: rework method tail, make it into a nulstr array
Lennart Poettering [Tue, 18 Sep 2012 00:19:54 +0000 (02:19 +0200)]
selinux: rework method tail, make it into a nulstr array

9 years agoselinux: use existing library calls for audit data
Lennart Poettering [Mon, 17 Sep 2012 23:55:49 +0000 (01:55 +0200)]
selinux: use existing library calls for audit data

9 years agoselinux: prefer source path over fragment path
Lennart Poettering [Mon, 17 Sep 2012 23:55:24 +0000 (01:55 +0200)]
selinux: prefer source path over fragment path

9 years agoutil: introduce get_process_gid()
Lennart Poettering [Mon, 17 Sep 2012 23:53:15 +0000 (01:53 +0200)]
util: introduce get_process_gid()

9 years agoselinux: add bus service access control
Daniel J Walsh [Thu, 6 Sep 2012 20:23:11 +0000 (16:23 -0400)]
selinux: add bus service access control

Hash: SHA1

This patch adds the ability to look at the calling process that is trying to
do dbus calls into systemd, then it checks with the SELinux policy to see if
the calling process is allowed to do the activity.

The basic idea is we want to allow NetworkManager_t to be able to start and
stop ntpd.service, but not necessarly mysqld.service.

Similarly we want to allow a root admin webadm_t that can only manage the
apache environment.  systemctl enable httpd.service, systemctl disable
iptables.service bad.

To make this code cleaner, we really need to refactor the dbus-manager.c code.
 This has just become a huge if-then-else blob, which makes doing the correct
check difficult.

Version: GnuPG v1.4.12 (GNU/Linux)
Comment: Using GnuPG with Mozilla -


9 years agoUpdate TODO
Lennart Poettering [Mon, 17 Sep 2012 23:17:03 +0000 (01:17 +0200)]
Update TODO

9 years agologind: split up inhibit acquire policy
Lennart Poettering [Mon, 17 Sep 2012 23:16:23 +0000 (01:16 +0200)]
logind: split up inhibit acquire policy

9 years agojournald: log when we fail to forward messages to syslog
Lennart Poettering [Mon, 17 Sep 2012 21:59:26 +0000 (23:59 +0200)]
journald: log when we fail to forward messages to syslog

9 years agolog: avoid function loop
Lennart Poettering [Mon, 17 Sep 2012 20:14:24 +0000 (22:14 +0200)]
log: avoid function loop

9 years agoconf-parser: don't unescape parsed configuration strings by default
Lennart Poettering [Mon, 17 Sep 2012 19:58:03 +0000 (21:58 +0200)]
conf-parser: don't unescape parsed configuration strings by default

In many cases this might have a negative effect since we drop escaping
from strings where we better shouldn't have dropped it.

If unescaping makes sense for some settings we can readd it later again,
on a per-case basis.

9 years agologind: make VT reservation logic compatible with containers
Lennart Poettering [Mon, 17 Sep 2012 17:11:48 +0000 (19:11 +0200)]
logind: make VT reservation logic compatible with containers

9 years agomain: newer kernels return EINVAL if we invoke reboot() in a container lacking perms...
Lennart Poettering [Mon, 17 Sep 2012 16:28:40 +0000 (18:28 +0200)]
main: newer kernels return EINVAL if we invoke reboot() in a container lacking perms, deal with it

9 years agoutil: various cleanups for printing boot status
Lennart Poettering [Mon, 17 Sep 2012 16:23:10 +0000 (18:23 +0200)]
util: various cleanups for printing boot status

9 years agogit: update .gitignore
Lennart Poettering [Mon, 17 Sep 2012 15:47:09 +0000 (17:47 +0200)]
git: update .gitignore

9 years agoutmp: read the right timestamp
Lennart Poettering [Mon, 17 Sep 2012 15:45:18 +0000 (17:45 +0200)]
utmp: read the right timestamp

9 years agomain: when transitioning from initrd to the main system log to kmsg
Lennart Poettering [Mon, 17 Sep 2012 15:42:13 +0000 (17:42 +0200)]
main: when transitioning from initrd to the main system log to kmsg

When the new PID is invoked the journal socket from the initrd might
still be around. Due to the default log target being journal we'd log to
that initially when the new main systemd initializes even if the kernel
command line included a directive to redirect systemd's logging

With this fix we initially always log to kmsg now, if we are PID1, and
only after parsing the kernel cmdline try to open the journal if that's

(The effective benefit of this is that SELinux performance data is now
logged again to kmsg like it used to be.)

9 years agohwclock: always set the kernel's timezone
Kay Sievers [Mon, 17 Sep 2012 14:41:13 +0000 (16:41 +0200)]
hwclock: always set the kernel's timezone

Properly tell the kernel at bootup, and any later time zone changes,
the actual system time zone.

Things like the kernel's FAT filesystem driver needs the actual time
zone to calculate the proper local time to use for the on-disk time

9 years agomain: bump up RLIMIT_NOFILE for systemd itself
Lennart Poettering [Mon, 17 Sep 2012 14:35:59 +0000 (16:35 +0200)]
main: bump up RLIMIT_NOFILE for systemd itself

For setups with many listening sockets the default kernel resource limit
of 1024 fds is not enough. Bump this up to 64K to avoid any limitations
in this regard. We are careful to pass on the kernel default to daemons
however, since normally resource limits are a good to enforce,
especially since select() can't handle fds > 1023.

9 years agojournald: properly update perms on freshly rotate user journals
Lennart Poettering [Mon, 17 Sep 2012 13:53:42 +0000 (15:53 +0200)]
journald: properly update perms on freshly rotate user journals

9 years agoservice: don't hit an assert if a service unit changes type and we get a spurious...
Lennart Poettering [Mon, 17 Sep 2012 12:55:56 +0000 (14:55 +0200)]
service: don't hit an assert if a service unit changes type and we get a spurious event from before

9 years agoupdate TODO
Lennart Poettering [Mon, 17 Sep 2012 11:24:35 +0000 (13:24 +0200)]
update TODO

9 years agoudev: add btrfs support
Kay Sievers [Sun, 16 Sep 2012 21:31:11 +0000 (23:31 +0200)]
udev: add btrfs support

All "btrfs" file systems will be registered with the kernel when they
show up.

Incomplete multi-device volumes will set SYSTEMD_READY=0, to prevent
access until the volume is complete and fully registered.

9 years agodirective-index: journal directives
Zbigniew Jędrzejewski-Szmek [Fri, 10 Aug 2012 17:35:43 +0000 (19:35 +0200)]
directive-index: journal directives

9 years agodirective-index: system manager directives
Zbigniew Jędrzejewski-Szmek [Fri, 10 Aug 2012 17:14:30 +0000 (19:14 +0200)]
directive-index: system manager directives

9 years agodirective-index: add UDEV fields
Zbigniew Jędrzejewski-Szmek [Sun, 16 Sep 2012 09:11:34 +0000 (11:11 +0200)]
directive-index: add UDEV fields

9 years agoman: generate an index of directives
Zbigniew Jędrzejewski-Szmek [Thu, 9 Aug 2012 16:08:14 +0000 (18:08 +0200)]
man: generate an index of directives

Systemd has a large (and growing) number of manpages. Sometimes it's
not immediately obvious, where to look for a directive. Especially,
when something is described in more than one place. Making sense of
all the settings should be easier with an index.

9 years agologind: make sure there's always a getty available on TTY6
Lennart Poettering [Mon, 17 Sep 2012 10:39:16 +0000 (12:39 +0200)]
logind: make sure there's always a getty available on TTY6

Previously, if X allocated all 6 TTYs (for multi-session for example) no
getty would be available anymore to guarantee console-based logins.

With the new ReserveVT= switch in logind.conf we can now choose one VT
(6 by default) that will always be subject to autovt-style activation,
i.e. we'll always have a getty on TTY6, and X will never take possession
of it.

9 years agobuild-sys: __secure_getenv lost dunder in libc 2.17
Zbigniew Jędrzejewski-Szmek [Sun, 16 Sep 2012 22:21:25 +0000 (00:21 +0200)]
build-sys: __secure_getenv lost dunder in libc 2.17

9 years agotmpfiles: use write(2) for the 'w' action
Dave Reisner [Sat, 15 Sep 2012 16:58:49 +0000 (12:58 -0400)]
tmpfiles: use write(2) for the 'w' action

This resolves problems with filesystems which do not implement the
aio_write file operation. In this case, the kernel will fall back using
a loop writing technique for each pointer in a received iovec. The
result is strange errors in dmesg such as:

[   31.855871] elevator: type  not found
[   31.856262] elevator: switch to
[   31.856262]  failed

It does not make sense to implement a synchronous aio_write method for
sysfs as this isn't a real filesystem where a reasonable use case for
using writev exists, nor is there an expectation that tmpfiles will be
used to write more data than can be reasonably written in a single write

In addition, some sysfs attrs are currently buggy and will NOT reject
the second write with the newline, causing the sysfs value to be zeroed
out. This of course should be fixed in the kernel regardless of any
wrongdoing in userspace, but this simple change makes us immune to such
a bug.

This change means that we do not write a trailing newline by default, as
the expected use case of 'w' is for sysfs and procfs. In exchange, honor
C-style backslash escapes so that if the newline is really needed, the
user can add it.

9 years agosocket: prevent signed integer overflow
Dave Reisner [Sat, 15 Sep 2012 16:58:48 +0000 (12:58 -0400)]
socket: prevent signed integer overflow

src/core/socket.c:588:25: error: overflow in implicit constant conversion
src/core/socket.c:589:17: error: overflow in implicit constant conversion

9 years agonspawn: fix memleak introduced with automatic cleanup
Zbigniew Jędrzejewski-Szmek [Sun, 16 Sep 2012 14:33:20 +0000 (16:33 +0200)]
nspawn: fix memleak introduced with automatic cleanup

6b2d0e8 introduced a memleak instead of fixing one.
Fix both.

9 years agonspawn: use automatic cleanup for umask
Zbigniew Jędrzejewski-Szmek [Sun, 16 Sep 2012 14:14:11 +0000 (16:14 +0200)]
nspawn: use automatic cleanup for umask

9 years agonspawn: _cleanup_free_ more
Zbigniew Jędrzejewski-Szmek [Sun, 16 Sep 2012 13:21:48 +0000 (15:21 +0200)]
nspawn: _cleanup_free_ more

9 years agonspawn: use automatic cleanup
Zbigniew Jędrzejewski-Szmek [Sun, 16 Sep 2012 13:09:47 +0000 (15:09 +0200)]
nspawn: use automatic cleanup

This one actually clears up a (totally harmless) memleak.

9 years agonspawn: mount tmpfs on /dev/shm
Zbigniew Jędrzejewski-Szmek [Sun, 16 Sep 2012 12:58:51 +0000 (14:58 +0200)]
nspawn: mount tmpfs on /dev/shm

Most things seem to function fine without /dev/shm, but it is expected
to be there (quoting linux/Documentation/filesystems/tmpfs.txt:
glibc 2.2 and above expects tmpfs to be mounted at /dev/shm for POSIX
shared memory (shm_open, shm_unlink)).

Since /tmp/ is already mounted as tmpfs, it would be enough to mkdir
/tmp/shm and chmod it. Mounting it separately has the advantage that
it can be easily remounted to change the quota.

9 years agoinstall: use automatic cleanup
Zbigniew Jędrzejewski-Szmek [Sun, 16 Sep 2012 10:55:28 +0000 (12:55 +0200)]
install: use automatic cleanup

9 years agoinstall: treat non-existent directory as empty
Zbigniew Jędrzejewski-Szmek [Sun, 16 Sep 2012 10:35:46 +0000 (12:35 +0200)]
install: treat non-existent directory as empty

When looking for symlinks, it doesn't make sense to error-out if
the directory is missing. The user might delete an empty directory.

This check caused test-unit-file to fail when run before installation.

9 years agologind: redefine idleness to start at last activity
Zbigniew Jędrzejewski-Szmek [Sun, 22 Jul 2012 13:39:37 +0000 (15:39 +0200)]
logind: redefine idleness to start at last activity

Before, after the timeout, a session would be timestamped as idle
since 'last activity' + 'idle timeout'. Now, it is timestamped as idle
since 'last activity'.

Before, after all sessions were idle, the seat would be marked with as
idle with the timestamp of the oldest idle session. Now it is
marked with the timestamp of the youngest idle session.

Both changes seem to me to be closer to natural understanding of
idleness: the time since last activity counts.

9 years agoupdate TODO
Lennart Poettering [Sat, 15 Sep 2012 05:38:38 +0000 (07:38 +0200)]
update TODO

9 years agoTODO: isolate items to fix before F18
Lennart Poettering [Sat, 15 Sep 2012 04:57:15 +0000 (06:57 +0200)]
TODO: isolate items to fix before F18

9 years agoupdate TODO
Lennart Poettering [Fri, 14 Sep 2012 18:50:24 +0000 (20:50 +0200)]
update TODO

9 years agoman: update localtime(5) a bit
Lennart Poettering [Fri, 14 Sep 2012 18:45:37 +0000 (20:45 +0200)]
man: update localtime(5) a bit

9 years agoman: mention journalctl in the systemd man page
Lennart Poettering [Fri, 14 Sep 2012 18:27:05 +0000 (20:27 +0200)]
man: mention journalctl in the systemd man page

9 years agotimedated: make /etc/timezone a Debian-only thing
Lennart Poettering [Fri, 14 Sep 2012 18:20:29 +0000 (20:20 +0200)]
timedated: make /etc/timezone a Debian-only thing

9 years agotimedate: assorted improvements
Lennart Poettering [Fri, 14 Sep 2012 18:02:52 +0000 (20:02 +0200)]
timedate: assorted improvements

- Make writing/reading of /etc/timezone dependendent of HAVE_SYSV_COMPAT

- Introduce symlink_atomic() after all, and use it

- Use relative symlink for /etc/localtime

9 years agoman: remove timezone(5) and add localtime(5)
Shawn Landden [Wed, 22 Aug 2012 06:11:27 +0000 (23:11 -0700)]
man: remove timezone(5) and add localtime(5)

9 years agotimedated: gather timezone from /etc/localtime sym target
Shawn Landden [Wed, 22 Aug 2012 06:11:26 +0000 (23:11 -0700)]
timedated: gather timezone from /etc/localtime sym target

/etc/localtime -> /usr/share/zoneinfo/...


/etc/localtime -> ../usr/share/zoneinfo/...

(note, ../usr is not the same if /etc is a symlink, as this isn't
using canonicalize_file_name())

keep other method for now, consider dropping later.

Supporting relative links here are problematic as timezones in
/usr/share/zoneinfo are often themselves symlinks (and symlinks to
symlinks), so this implamentation only supports absolute symlinks
"/usr/share/zoneinfo/" and relative symlinks starting with

>From TODO (kay sievers):
* kill /etc/timezone handling entirely? What does it provide?
  - /etc/localtime carries the same information already:
      $ ls -l /etc/localtime; cat /etc/timezone
      lrwxrwxrwx 1 root root 33 Jul 27 09:55 /etc/localtime -> /usr/share/zoneinfo/Europe/Berlin
  - systemd enforces /usr to be available at bootup, so we can
    enforce the use of the symlink

9 years agobuild-sys: Append -Werror when testing flags
Lucas De Marchi [Fri, 14 Sep 2012 14:18:41 +0000 (14:18 +0000)]
build-sys: Append -Werror when testing flags

Clang don't treat unknown warnings flags as an error, but rather as a
warning. The result is that the detection for whic CFLAGS are supported
by this compiler will not work, since the compilation will succeed.

With this patch we now successfully detect clang doesn't support
-Wlogical-op, as opposed to previous behavior:

checking if clang supports flag -Wlogical-op in envvar CFLAGS... no

We use this macro only for LDFLAGS and CFLAGS, so it's safe to stash
-Werror there.

9 years agonspawn: Fix minor typo in man page
Pierre Schmitz [Fri, 14 Sep 2012 15:19:23 +0000 (17:19 +0200)]
nspawn: Fix minor typo in man page

9 years agosystemctl: show unit name when a job fails
Lennart Poettering [Fri, 14 Sep 2012 13:11:07 +0000 (15:11 +0200)]
systemctl: show unit name when a job fails

9 years agoutil: more modernizations
Lennart Poettering [Fri, 14 Sep 2012 08:36:50 +0000 (10:36 +0200)]
util: more modernizations

9 years agoutil: various additional modernizations
Lennart Poettering [Fri, 14 Sep 2012 08:24:27 +0000 (10:24 +0200)]
util: various additional modernizations

9 years agoutil: modernize a few functions with automatic cleanup variables
Lennart Poettering [Fri, 14 Sep 2012 08:06:42 +0000 (10:06 +0200)]
util: modernize a few functions with automatic cleanup variables

Just trying to get the feel for it. And it's pretty cool.

9 years agotest: split of cryptsetup into its own test
Lennart Poettering [Thu, 13 Sep 2012 21:19:05 +0000 (23:19 +0200)]
test: split of cryptsetup into its own test

9 years agosystemctl: minor coding style fixes
Lennart Poettering [Thu, 13 Sep 2012 20:42:22 +0000 (22:42 +0200)]
systemctl: minor coding style fixes

9 years agoinstall: append .service when enable/disable... is called
Václav Pavlín [Thu, 13 Sep 2012 20:35:18 +0000 (22:35 +0200)]
install: append .service when enable/disable... is called

9 years agomacro: introduce _cleanup_free_ macro for automatic freeing of scoped vars and make...
Lennart Poettering [Thu, 13 Sep 2012 20:30:26 +0000 (22:30 +0200)]
macro: introduce _cleanup_free_ macro for automatic freeing of scoped vars and make use of it

9 years agorpm: expose preset dir as rpm macro and in systemd.pc
Lennart Poettering [Thu, 13 Sep 2012 20:17:46 +0000 (22:17 +0200)]
rpm: expose preset dir as rpm macro and in systemd.pc

9 years agoload-fragment: Expand specifiers in conditions.
Auke Kok [Thu, 13 Sep 2012 19:34:25 +0000 (12:34 -0700)]
load-fragment: Expand specifiers in conditions.

Add specifier expansion to Path and String conditions.

Specifier expansion for conditions will help create instance
and user session units by allowing us to template conditions
based on the instance or user session parameters.

An example would be a system-wide user session service file
that conditionally runs based on whether a user has the
service configured through a configuration file in ~/.config/.

9 years agodaemon: Fix broken links to sd-daemon.c
Eelco Dolstra [Thu, 13 Sep 2012 17:44:47 +0000 (13:44 -0400)]
daemon: Fix broken links to sd-daemon.c

9 years agoman: reword logind.conf.xml a bit
Lennart Poettering [Thu, 13 Sep 2012 17:40:19 +0000 (19:40 +0200)]
man: reword logind.conf.xml a bit

9 years agodocs: typo fixes in pam_systemd.xml
Thomas Hindoe Paaboel Andersen [Tue, 11 Sep 2012 20:53:48 +0000 (22:53 +0200)]
docs: typo fixes in pam_systemd.xml

9 years agodocs: typo fixes in logind.conf.xml and os-release.xml
Thomas Hindoe Paaboel Andersen [Mon, 10 Sep 2012 17:41:37 +0000 (19:41 +0200)]
docs: typo fixes in logind.conf.xml and os-release.xml

9 years agoman: fix typos in halt.xml and journalctl.xml
Thomas Hindoe Paaboel Andersen [Wed, 5 Sep 2012 21:08:06 +0000 (23:08 +0200)]
man: fix typos in halt.xml and journalctl.xml

9 years agoman: fix a bunch of typos in docs
Thomas Hindoe Paaboel Andersen [Tue, 4 Sep 2012 17:24:16 +0000 (19:24 +0200)]
man: fix a bunch of typos in docs

9 years agopython: make gcc shut up
Lennart Poettering [Thu, 13 Sep 2012 17:34:09 +0000 (19:34 +0200)]
python: make gcc shut up

9 years agomanager: fix the build
Lennart Poettering [Thu, 13 Sep 2012 17:29:46 +0000 (19:29 +0200)]
manager: fix the build

9 years agomanager: extend performance measurement interface to include firmware/loader times
Lennart Poettering [Thu, 13 Sep 2012 16:54:32 +0000 (18:54 +0200)]
manager: extend performance measurement interface to include firmware/loader times

This only adds the fields to the D-Bus interfaces but doesn't fill them
in with anything useful yet. Gummiboot exposes the necessary bits of
information to use however and as soon as I get my fingers on a proper
UEFI laptop I'll hook up the remaining bits.

Since we want to stabilize the D-Bus interface soon and include it in
the stability promise we should get the last fixes in, hence this change

9 years agojournal: fix 128bit IDs of unit reload entries
Lennart Poettering [Thu, 13 Sep 2012 16:22:17 +0000 (18:22 +0200)]
journal: fix 128bit IDs of unit reload entries

9 years agoupdate-utmp: Don't error out on runlevel updates if utmp doesn't exist
Colin Walters [Thu, 13 Sep 2012 14:51:30 +0000 (10:51 -0400)]
update-utmp: Don't error out on runlevel updates if utmp doesn't exist

Other parts of the code handle utmp not existing, so let's be
consistent.  At the moment my GNOME-OSTree builds don't have utmp.

9 years agoupdate TODO
Lennart Poettering [Thu, 13 Sep 2012 15:11:10 +0000 (17:11 +0200)]
update TODO

9 years agojournal: never assert directly on data read from the journal
Lennart Poettering [Thu, 13 Sep 2012 15:10:46 +0000 (17:10 +0200)]
journal: never assert directly on data read from the journal

9 years agojournald: don't reposition window if we don't have to
Lennart Poettering [Thu, 13 Sep 2012 15:06:04 +0000 (17:06 +0200)]
journald: don't reposition window if we don't have to

9 years agopython: fix error handling, and allocate argument array on the stack
Lennart Poettering [Thu, 13 Sep 2012 02:25:59 +0000 (04:25 +0200)]
python: fix error handling, and allocate argument array on the stack

9 years agopython: reindent to follow coding style
Lennart Poettering [Thu, 13 Sep 2012 02:16:10 +0000 (04:16 +0200)]
python: reindent to follow coding style

9 years agopython: change license to LGPL 2.1
Lennart Poettering [Thu, 13 Sep 2012 02:05:28 +0000 (04:05 +0200)]
python: change license to LGPL 2.1

The original license has been MIT for this code, but David Strauss (its
original author) agreed to relicense it to LGPL 2.1 for inclusion in

9 years agopython: integrate David Strauss' python-systemd package
Lennart Poettering [Thu, 13 Sep 2012 02:01:18 +0000 (04:01 +0200)]
python: integrate David Strauss' python-systemd package

9 years agotmpfiles: plug file descriptor leak.
Dave Reisner [Wed, 12 Sep 2012 20:21:00 +0000 (16:21 -0400)]
tmpfiles: plug file descriptor leak.

Introduced in d4e9eb91.

9 years agoreadahead: use 20K instead of 16K as temporary request nr bump
Lennart Poettering [Wed, 12 Sep 2012 22:06:30 +0000 (00:06 +0200)]
readahead: use 20K instead of 16K as temporary request nr bump

9 years agoupdate TODO
Kay Sievers [Wed, 12 Sep 2012 19:28:52 +0000 (21:28 +0200)]
update TODO

9 years agoupdate TODO
Kay Sievers [Wed, 12 Sep 2012 19:07:26 +0000 (21:07 +0200)]
update TODO

9 years agojournalctl: print QR code only if we are running on an UTF-8 system
Lennart Poettering [Wed, 12 Sep 2012 07:23:38 +0000 (09:23 +0200)]
journalctl: print QR code only if we are running on an UTF-8 system

9 years agosystemctl: direct the user to list-unit-files from the list-units output
Lennart Poettering [Wed, 12 Sep 2012 06:56:57 +0000 (08:56 +0200)]
systemctl: direct the user to list-unit-files from the list-units output

9 years agotmpfiles: support globbing for w option
Dave Reisner [Mon, 3 Sep 2012 21:13:18 +0000 (17:13 -0400)]
tmpfiles: support globbing for w option

Break out the write logic into a separate function and simply use it as
a callback to glob_item.

This allows users to consolidate writes to sysfs with multiple similar
pathnames, e.g.

  w /sys/class/block/sd[a-z]/queue/read_ahead_kb - - - - 1024

9 years agotest: extend unit-name test a bit
Lennart Poettering [Wed, 12 Sep 2012 06:31:08 +0000 (08:31 +0200)]
test: extend unit-name test a bit

9 years agologin: reshuffle meaning of require_active parameter
Lennart Poettering [Wed, 12 Sep 2012 06:30:35 +0000 (08:30 +0200)]
login: reshuffle meaning of require_active parameter

9 years agologind: Avoid unnecesary rewrite of user file when switching sessions of the same...
Colin Guthrie [Tue, 4 Sep 2012 00:37:28 +0000 (01:37 +0100)]
logind: Avoid unnecesary rewrite of user file when switching sessions of the same user.

9 years agologind: Ensure the user, seat and session files are updated when the session is closing.
Colin Guthrie [Tue, 4 Sep 2012 00:37:27 +0000 (01:37 +0100)]
logind: Ensure the user, seat and session files are updated when the session is closing.

9 years agologind: Add a two new variables to the user session tracking file.
Colin Guthrie [Mon, 3 Sep 2012 22:57:58 +0000 (23:57 +0100)]
logind: Add a two new variables to the user session tracking file.

This counts 'online sessions' in addition to 'active sessions' and 'sessions'.

In this context, an 'online session' covers all session in the 'active' state
in addition to the explicit 'online' state.

This provides an easy machanism to determin all relevant sessions easily
(i.e. those that are not 'closing') and adds new semantics to the sd-login.c
APIs sd_uid_get_sessions() and sd_uid_get_seats() where the require_active
argument can be supplied as a value 2 which only lists sessions which are

This functionality should allow client applications to avoid deadlocks where
they only exit when all sessions are complete, such as a the problem where
PulseAudio will not exit until all sessions are gone, but in itself prevents
the session from exiting.

9 years agologind: Properly list the ACTIVE_SEATS in the user session tracking file.
Colin Guthrie [Mon, 3 Sep 2012 22:47:02 +0000 (23:47 +0100)]
logind: Properly list the ACTIVE_SEATS in the user session tracking file.

Prevsiouly the first active seat for a user would never be listed and
any subsequent seats would be concatenated on without any spaces.

9 years agologind: If all user sessions are in closing state, set the overall status to closing.
Colin Guthrie [Mon, 3 Sep 2012 22:47:01 +0000 (23:47 +0100)]
logind: If all user sessions are in closing state, set the overall status to closing.

PulseAudio for example will keep a client connection open provided
at least one session exists. However, if all sessions are currently
in the process of closing, we should flag that as the overall state
appropriately to better reflect what is happening.

Although this does better reflect the status for any given user, it does
not actually solve the overall problem of PulseAudio still finding some
sessions active and thus not exiting and therefore actually preventing
the session from closing. Future commits will extend sd-login to cope
with this situation.

9 years agopam: Add session class to the debug log.
Colin Guthrie [Mon, 3 Sep 2012 22:47:00 +0000 (23:47 +0100)]
pam: Add session class to the debug log.

9 years agounit-name: rework unit_name_replace_instance function()
Lennart Poettering [Wed, 12 Sep 2012 02:46:38 +0000 (04:46 +0200)]
unit-name: rework unit_name_replace_instance function()

9 years agojournal: don't set seal flag if we don't have gcrypt built-in
Lennart Poettering [Tue, 11 Sep 2012 01:03:36 +0000 (03:03 +0200)]
journal: don't set seal flag if we don't have gcrypt built-in