chiark / gitweb /
elogind.git
7 years agomount: only run fsck for actual device nodes
Lennart Poettering [Mon, 24 Sep 2012 10:39:13 +0000 (12:39 +0200)]
mount: only run fsck for actual device nodes

7 years agomain: don't try to mout cpuset with cpu+cpuacct anymore
Lennart Poettering [Mon, 24 Sep 2012 09:35:51 +0000 (11:35 +0200)]
main: don't try to mout cpuset with cpu+cpuacct anymore

Turns out cpuset needs explicit initialization before we could make use
of it. Thus mounting cpuset with cpu/cpuacct would make it impossible to
just create a group in "cpu" and start it.

7 years agoRevert "comment out uncommitted test source code"
Lennart Poettering [Mon, 24 Sep 2012 08:19:23 +0000 (10:19 +0200)]
Revert "comment out uncommitted test source code"

This reverts commit b8bc868009372deb2f30263322572723e5968842.

Added the test file now.

7 years agojournal: add missing test file
Lennart Poettering [Mon, 24 Sep 2012 08:18:10 +0000 (10:18 +0200)]
journal: add missing test file

7 years agoNEWS: fix some typos
Lennart Poettering [Sun, 23 Sep 2012 17:19:22 +0000 (19:19 +0200)]
NEWS: fix some typos

7 years agocomment out uncommitted test source code
Kay Sievers [Sun, 23 Sep 2012 12:31:53 +0000 (14:31 +0200)]
comment out uncommitted test source code

7 years agoudev: free fd before return in accelerometer.c
Lukas Nykryn [Fri, 21 Sep 2012 11:03:00 +0000 (13:03 +0200)]
udev: free fd before return in accelerometer.c

7 years agoudev: free fd before return in scsi_serial.c
Lukas Nykryn [Fri, 21 Sep 2012 11:01:29 +0000 (13:01 +0200)]
udev: free fd before return in scsi_serial.c

7 years agoudev: free rule structure on error
Václav Pavlín [Fri, 21 Sep 2012 12:54:30 +0000 (14:54 +0200)]
udev: free rule structure on error

7 years agoudev: check return value of write
Václav Pavlín [Fri, 21 Sep 2012 11:51:45 +0000 (13:51 +0200)]
udev: check return value of write

7 years agoudev: check return value of symlink
Václav Pavlín [Fri, 21 Sep 2012 10:52:08 +0000 (12:52 +0200)]
udev: check return value of symlink

7 years agolibudev: check return value of rename
Václav Pavlín [Fri, 21 Sep 2012 10:40:29 +0000 (12:40 +0200)]
libudev: check return value of rename

7 years agoudev: check malloc return in collect/collect.c
Václav Pavlín [Fri, 21 Sep 2012 10:17:23 +0000 (12:17 +0200)]
udev: check malloc return in collect/collect.c

Returns from no memory checks updated with log_oom call

7 years agobash-completion: fix whitespace
Dave Reisner [Fri, 14 Sep 2012 02:54:01 +0000 (22:54 -0400)]
bash-completion: fix whitespace

Use spaces for indentation instead of tabs.

7 years agobash-completion: add rumidentary support for journalctl
Dave Reisner [Fri, 14 Sep 2012 02:49:42 +0000 (22:49 -0400)]
bash-completion: add rumidentary support for journalctl

7 years agojournal: bring mmap cache prototype in sync
Lennart Poettering [Fri, 21 Sep 2012 22:16:13 +0000 (00:16 +0200)]
journal: bring mmap cache prototype in sync

7 years agobuild-sys: prepare release 191 v191
Lennart Poettering [Fri, 21 Sep 2012 21:05:10 +0000 (23:05 +0200)]
build-sys: prepare release 191

7 years agojournal: always keep marked mmap windows around
Lennart Poettering [Fri, 21 Sep 2012 21:33:22 +0000 (23:33 +0200)]
journal: always keep marked mmap windows around

7 years agomissing: Fix compilation error due to wrong __NR_name_to_handle_at definition
Eelco Dolstra [Fri, 21 Sep 2012 16:55:51 +0000 (12:55 -0400)]
missing: Fix compilation error due to wrong __NR_name_to_handle_at definition

"__NR_name_to_handle" should read "__NR_name_to_handle_at".  This
fixes a compilation error on systems with older kernel headers.

7 years agojournald: log how big the journal files may grow
Lennart Poettering [Fri, 21 Sep 2012 20:50:26 +0000 (22:50 +0200)]
journald: log how big the journal files may grow

7 years agojournalctl: make the argument to -n optional
Lennart Poettering [Fri, 21 Sep 2012 20:33:02 +0000 (22:33 +0200)]
journalctl: make the argument to -n optional

7 years agojournal: completely rework the mmap cache as I too dumb to actually understand it
Lennart Poettering [Fri, 21 Sep 2012 18:52:23 +0000 (20:52 +0200)]
journal: completely rework the mmap cache as I too dumb to actually understand it

Instead of doing hand optimized fd bisect arrays just use plain old
hashmaps. Now I can understand my own code again. Yay!

As a side effect this should fix some bad memory accesses caused by
accesses after mmap(), introduced in 189.

7 years agomulti-seat-x: drop a lot of unnecessary code
Lennart Poettering [Fri, 21 Sep 2012 15:03:18 +0000 (17:03 +0200)]
multi-seat-x: drop a lot of unnecessary code

7 years agosysctl: always return the last error we encountered
Lennart Poettering [Fri, 21 Sep 2012 15:01:39 +0000 (17:01 +0200)]
sysctl: always return the last error we encountered

7 years agonspawn: document why we don't check resolv.conf mount errors
Lennart Poettering [Fri, 21 Sep 2012 14:55:56 +0000 (16:55 +0200)]
nspawn: document why we don't check resolv.conf mount errors

7 years agonspawn: we can't overmount /etc/localtime anymore since it's usually a symlink now
Lennart Poettering [Fri, 21 Sep 2012 14:54:54 +0000 (16:54 +0200)]
nspawn: we can't overmount /etc/localtime anymore since it's usually a symlink now

Create the right symlink if possible for /etc/localtime

7 years agohwclock: add missing OOM check
Lennart Poettering [Fri, 21 Sep 2012 14:29:09 +0000 (16:29 +0200)]
hwclock: add missing OOM check

7 years agopam: document that we don't do error checking when parsing vtnr
Lennart Poettering [Fri, 21 Sep 2012 14:17:22 +0000 (16:17 +0200)]
pam: document that we don't do error checking when parsing vtnr

7 years agojournal: don't allow journal_file_open() to be called with ret being NULL
Lennart Poettering [Fri, 21 Sep 2012 14:16:39 +0000 (16:16 +0200)]
journal: don't allow journal_file_open() to be called with ret being NULL

7 years agologin: missing break for getopt ARG_NO_ASK_PASSWORD in loginctl
Lukas Nykryn [Fri, 21 Sep 2012 10:33:32 +0000 (12:33 +0200)]
login: missing break for getopt ARG_NO_ASK_PASSWORD in loginctl

7 years agosysctl: fix error code handling
Lukas Nykryn [Fri, 21 Sep 2012 10:30:56 +0000 (12:30 +0200)]
sysctl: fix error code handling

After  if (r <= 0) r can't  be 0 so
if (k < 0 && r == 0) never happens.

7 years agomodules-load: initalize files to null
Václav Pavlín [Fri, 21 Sep 2012 13:03:28 +0000 (15:03 +0200)]
modules-load: initalize files to null

7 years agolocale: make sure that l is freed
Václav Pavlín [Fri, 21 Sep 2012 13:00:43 +0000 (15:00 +0200)]
locale: make sure that l is freed

7 years agologin: check return value of session_get_idle_hint
Václav Pavlín [Fri, 21 Sep 2012 11:38:40 +0000 (13:38 +0200)]
login: check return value of session_get_idle_hint

7 years agologind: check return value, log warning on error
Václav Pavlín [Fri, 21 Sep 2012 11:01:39 +0000 (13:01 +0200)]
logind: check return value, log warning on error

7 years agocgtop: missing '-'
Václav Pavlín [Fri, 21 Sep 2012 10:04:02 +0000 (12:04 +0200)]
cgtop: missing '-'

Return codes in systemd are negated and
if (r < 0)  if (r == ENOENT)
        was never true.

7 years agomulti-seat-x: drop framebuffer specific stuff, as we have a DRM driver now
Dave Airlie [Fri, 21 Sep 2012 13:53:10 +0000 (15:53 +0200)]
multi-seat-x: drop framebuffer specific stuff, as we have a DRM driver now

7 years agoRevert "multi-seat: drop multi-seat-x wrapper, as upstream X can handle multi-seat...
Lennart Poettering [Fri, 21 Sep 2012 13:51:04 +0000 (15:51 +0200)]
Revert "multi-seat: drop multi-seat-x wrapper, as upstream X can handle multi-seat graphics on its own now"

This reverts commit 636d30a0895f17eca8313d50f9b2fc1ec5e128da.

Turns out we will need the multi-seat wrapper a bit longer, however
without the fb-specific bits in it.

7 years agologind: split up HandleSleepKey= into HandleSuspendKey= and HandleHibernateKey=
Lennart Poettering [Fri, 21 Sep 2012 13:44:14 +0000 (15:44 +0200)]
logind: split up HandleSleepKey= into HandleSuspendKey= and HandleHibernateKey=

The kernel and X11 distuingish these two, and Thinkpad keys have both,
hence we really should distinguish them too.

7 years agomulti-seat: drop multi-seat-x wrapper, as upstream X can handle multi-seat graphics...
Lennart Poettering [Fri, 21 Sep 2012 10:46:22 +0000 (12:46 +0200)]
multi-seat: drop multi-seat-x wrapper, as upstream X can handle multi-seat graphics on its own now

7 years agocore: call va_end in all cases
Lukas Nykryn [Fri, 21 Sep 2012 08:23:08 +0000 (10:23 +0200)]
core: call va_end in all cases

7 years agoshared: call va_end in all cases
Lukas Nykryn [Fri, 21 Sep 2012 08:22:46 +0000 (10:22 +0200)]
shared: call va_end in all cases

7 years agologind: allow users to override their own suspend/sleep inhibitors
Lennart Poettering [Fri, 21 Sep 2012 09:57:48 +0000 (11:57 +0200)]
logind: allow users to override their own suspend/sleep inhibitors

7 years agoupdate TODO
Lennart Poettering [Thu, 20 Sep 2012 21:00:44 +0000 (23:00 +0200)]
update TODO

7 years agofix typo in NEWS
Lennart Poettering [Thu, 20 Sep 2012 20:50:26 +0000 (22:50 +0200)]
fix typo in NEWS

7 years agoupdate TODO v190
Lennart Poettering [Thu, 20 Sep 2012 18:52:19 +0000 (20:52 +0200)]
update TODO

7 years agotimedated: /etc/sysconfig/clock is dead on Fedora, remove it
Lennart Poettering [Thu, 20 Sep 2012 18:51:18 +0000 (20:51 +0200)]
timedated: /etc/sysconfig/clock is dead on Fedora, remove it

7 years agotypo fix
Lennart Poettering [Thu, 20 Sep 2012 17:58:31 +0000 (19:58 +0200)]
typo fix

7 years agofix typos
Lennart Poettering [Thu, 20 Sep 2012 17:12:23 +0000 (19:12 +0200)]
fix typos

7 years agoupdate TODO
Lennart Poettering [Thu, 20 Sep 2012 17:00:26 +0000 (19:00 +0200)]
update TODO

7 years agobuild-sys: prepare v190
Lennart Poettering [Thu, 20 Sep 2012 16:54:20 +0000 (18:54 +0200)]
build-sys: prepare v190

7 years agoutil: fix overflow checks
Lennart Poettering [Thu, 20 Sep 2012 15:53:03 +0000 (17:53 +0200)]
util: fix overflow checks

7 years agobuild-sys: require certain version of libselinux
Jan Engelhardt [Thu, 20 Sep 2012 08:20:49 +0000 (10:20 +0200)]
build-sys: require certain version of libselinux

./.libs/libsystemd-core.a(libsystemd_core_la-selinux-access.o):
In function "selinux_access_check":
src/core/selinux-access.c:487: undefined reference to
"selinux_check_access"

7 years agoutil: overflow hardening
Lennart Poettering [Thu, 20 Sep 2012 09:08:27 +0000 (11:08 +0200)]
util: overflow hardening

7 years agoutil: make sure heap allocators fail when array allocations are out of bounds
Lennart Poettering [Wed, 19 Sep 2012 22:02:01 +0000 (00:02 +0200)]
util: make sure heap allocators fail when array allocations are out of bounds

https://bugzilla.redhat.com/show_bug.cgi?id=858777

7 years agojournald: don't accept arbitrarily sized journal data fields
Lennart Poettering [Wed, 19 Sep 2012 20:51:28 +0000 (22:51 +0200)]
journald: don't accept arbitrarily sized journal data fields

https://bugzilla.redhat.com/show_bug.cgi?id=858746

7 years agoutil: define union dirent_storage and make use of it everywhere
Lennart Poettering [Wed, 19 Sep 2012 20:21:09 +0000 (22:21 +0200)]
util: define union dirent_storage and make use of it everywhere

Make sure to allocate enough space for readdir_r().

https://bugzilla.redhat.com/show_bug.cgi?id=858754

7 years agoutil: fix bad strstrip() return value in normalize_env_assignment()
Lennart Poettering [Wed, 19 Sep 2012 20:01:31 +0000 (22:01 +0200)]
util: fix bad strstrip() return value in normalize_env_assignment()

https://bugzilla.redhat.com/show_bug.cgi?id=858780

7 years agopath: support specifier resolvin in .path units
Lennart Poettering [Wed, 19 Sep 2012 18:09:27 +0000 (20:09 +0200)]
path: support specifier resolvin in .path units

7 years agolibudev: remove dead code
Kay Sievers [Wed, 19 Sep 2012 17:35:47 +0000 (19:35 +0200)]
libudev: remove dead code

7 years agotimedated: unregister the right bus service
Lennart Poettering [Wed, 19 Sep 2012 17:09:22 +0000 (19:09 +0200)]
timedated: unregister the right bus service

https://bugzilla.redhat.com/show_bug.cgi?id=858771

7 years agoupdate TODO
Lennart Poettering [Wed, 19 Sep 2012 13:46:43 +0000 (15:46 +0200)]
update TODO

7 years agologind: if a lid-switch lock was taken while the lid was closed, recheck lid status...
Lennart Poettering [Wed, 19 Sep 2012 13:42:29 +0000 (15:42 +0200)]
logind: if a lid-switch lock was taken while the lid was closed, recheck lid status when the lock is released

7 years agologind: properly parse handle-lid-switch inhibitor
Lennart Poettering [Wed, 19 Sep 2012 13:29:24 +0000 (15:29 +0200)]
logind: properly parse handle-lid-switch inhibitor

7 years agoman: document new inhibitor types
Lennart Poettering [Wed, 19 Sep 2012 13:28:55 +0000 (15:28 +0200)]
man: document new inhibitor types

7 years agologind: rework power key/suspend key/lid switch handling
Lennart Poettering [Wed, 19 Sep 2012 11:10:10 +0000 (13:10 +0200)]
logind: rework power key/suspend key/lid switch handling

http://lists.freedesktop.org/archives/systemd-devel/2012-September/006604.html
https://bugzilla.gnome.org/show_bug.cgi?id=680689

This changes the meaning of the
HandlePowerKey=/HandleSleepKey=/HandleLidSwitch= setting of logind.conf

7 years agojournal: when comparing two entries from separate files make sure we reposition the...
Lennart Poettering [Wed, 19 Sep 2012 07:56:00 +0000 (09:56 +0200)]
journal: when comparing two entries from separate files make sure we reposition the mmap window

The mmap cache doesn't guarantee that we can look at two files at the
same time. Hence make sure to look at the entries to compare one
after the other, instead of at the same time when comparing them, and
reposition the window in between.

7 years agomount: reword directory empty warning a bit
Lennart Poettering [Wed, 19 Sep 2012 07:55:56 +0000 (09:55 +0200)]
mount: reword directory empty warning a bit

7 years agosystemctl: warn about triggering units only at the end
Zbigniew Jędrzejewski-Szmek [Tue, 18 Sep 2012 20:03:34 +0000 (22:03 +0200)]
systemctl: warn about triggering units only at the end

Instead of checking each unit separately, check once at the end. This
should avoid spurious warnings about a service being triggerable by
other stuff.

7 years agosystemctl: properly report success
Zbigniew Jędrzejewski-Szmek [Wed, 19 Sep 2012 06:15:07 +0000 (08:15 +0200)]
systemctl: properly report success

Systemctl would always return 1, because it treated uninteresting dbus
messages ("job added") as errors. Just ignore everything apart from
interesting ("job removed") messages.

7 years agosystemctl: use automatic cleanup once more
Zbigniew Jędrzejewski-Szmek [Tue, 18 Sep 2012 18:37:15 +0000 (20:37 +0200)]
systemctl: use automatic cleanup once more

Semantics are slightly different, because before unit_name_mangle
returning NULL was ignored, and now it is reported as oom. But
unit_name_mangle only returns NULL on oom.

7 years agosystemctl: use automatic cleanup
Zbigniew Jędrzejewski-Szmek [Tue, 18 Sep 2012 18:22:57 +0000 (20:22 +0200)]
systemctl: use automatic cleanup

Introduce a helper method to unref dbus messages and use it.

7 years agocore: move ManagerRunningAs to shared
Zbigniew Jędrzejewski-Szmek [Tue, 18 Sep 2012 15:11:12 +0000 (17:11 +0200)]
core: move ManagerRunningAs to shared

Note: I did s/MANAGER/SYSTEMD/ everywhere, even though it makes the
patch quite verbose. Nevertheless, keeping MANAGER prefix in some
places, and SYSTEMD prefix in others would just lead to confusion down
the road. Better to rip off the band-aid now.

7 years agoautomount: also whine if an automount directory is not empty
Lennart Poettering [Tue, 18 Sep 2012 16:59:01 +0000 (18:59 +0200)]
automount: also whine if an automount directory is not empty

7 years agomount: notify the user if we over-mount a non-empty directory
Lennart Poettering [Tue, 18 Sep 2012 16:40:31 +0000 (18:40 +0200)]
mount: notify the user if we over-mount a non-empty directory

https://bugzilla.redhat.com/show_bug.cgi?id=858266

7 years agoupdate TODO
Lennart Poettering [Tue, 18 Sep 2012 10:15:19 +0000 (12:15 +0200)]
update TODO

7 years agomount: don't mount securityfs in a container
Lennart Poettering [Tue, 18 Sep 2012 10:05:47 +0000 (12:05 +0200)]
mount: don't mount securityfs in a container

7 years agounit-printf: add specifiers for the host name, machine id, boot id
Lennart Poettering [Tue, 18 Sep 2012 09:53:47 +0000 (11:53 +0200)]
unit-printf: add specifiers for the host name, machine id, boot id

7 years agounit-printf: before resolving exec context specifiers check whether the object actual...
Lennart Poettering [Tue, 18 Sep 2012 09:40:01 +0000 (11:40 +0200)]
unit-printf: before resolving exec context specifiers check whether the object actually has an exec context

7 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

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

7 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

https://bugs.freedesktop.org/show_bug.cgi?id=50177

7 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

7 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

7 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

https://bugs.freedesktop.org/show_bug.cgi?id=54176

7 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

7 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

7 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

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

7 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

-----BEGIN PGP SIGNED MESSAGE-----
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.

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://www.enigmail.net/

iEYEARECAAYFAlBJBi8ACgkQrlYvE4MpobOzTwCdEUikbvRWUCwOb83KlVF0Nuy5
lRAAnjZZNuc19Z+aNxm3k3nwD4p/JYco
=yops
-----END PGP SIGNATURE-----

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

7 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

7 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

https://bugzilla.redhat.com/show_bug.cgi?id=847207

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

https://bugs.freedesktop.org/show_bug.cgi?id=54766

7 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.

https://bugs.freedesktop.org/show_bug.cgi?id=54522

7 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

7 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

7 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

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

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