chiark / gitweb /
elogind.git
9 years agodhcp-network: don't pass ifindex to bind_udp_socket
Tom Gundersen [Tue, 6 May 2014 19:57:09 +0000 (21:57 +0200)]
dhcp-network: don't pass ifindex to bind_udp_socket

UDP sockets can anyway not be bound to specific netdev's. The packages would have to be filtered
when received instead.

9 years agoman: document sd_event_add_time(3)
Lennart Poettering [Tue, 6 May 2014 16:51:08 +0000 (18:51 +0200)]
man: document sd_event_add_time(3)

9 years agotimesyncd: hook up systemd-timesyncd with systemd-timedated
Lennart Poettering [Tue, 6 May 2014 16:20:49 +0000 (18:20 +0200)]
timesyncd: hook up systemd-timesyncd with systemd-timedated

Later on we will probably remove support for controlling any other NTP
implementations but systemd-timesyncd, but for now, let's keep things
generic

9 years agotimesyncd: never accept NTP time from server that is older than systemd's release...
Lennart Poettering [Tue, 6 May 2014 16:08:04 +0000 (18:08 +0200)]
timesyncd: never accept NTP time from server that is older than systemd's release time

9 years agojournald: remove some dead code
Lennart Poettering [Tue, 6 May 2014 15:03:28 +0000 (17:03 +0200)]
journald: remove some dead code

9 years agoload-fragment: minor cleanup
Lennart Poettering [Tue, 6 May 2014 15:03:09 +0000 (17:03 +0200)]
load-fragment: minor cleanup

9 years agoupdate TODO
Lennart Poettering [Tue, 6 May 2014 15:02:54 +0000 (17:02 +0200)]
update TODO

9 years agotimesyncd: read server settings from a configuration file
Lennart Poettering [Tue, 6 May 2014 15:02:11 +0000 (17:02 +0200)]
timesyncd: read server settings from a configuration file

Also, allow compiling in a default server list via a configure command
line item.

9 years agotimesyncd: when an NTP server doesn't respond, proceed with the next
Lennart Poettering [Tue, 6 May 2014 14:15:02 +0000 (16:15 +0200)]
timesyncd: when an NTP server doesn't respond, proceed with the next

9 years agolist: make LIST_FIND_TAIL work for empty lists
Lennart Poettering [Tue, 6 May 2014 11:07:15 +0000 (13:07 +0200)]
list: make LIST_FIND_TAIL work for empty lists

9 years agoupdate TODO
Lennart Poettering [Tue, 6 May 2014 11:04:29 +0000 (13:04 +0200)]
update TODO

9 years agotimesyncd: keep order of NTP servers
Lennart Poettering [Tue, 6 May 2014 10:34:03 +0000 (12:34 +0200)]
timesyncd: keep order of NTP servers

9 years agoupdate TODO
Lennart Poettering [Tue, 6 May 2014 10:33:53 +0000 (12:33 +0200)]
update TODO

9 years agotimesyncd: make sure to reread /etc/resolv.conf when we try the next NTP server
Lennart Poettering [Tue, 6 May 2014 10:33:43 +0000 (12:33 +0200)]
timesyncd: make sure to reread /etc/resolv.conf when we try the next NTP server

9 years agotimesyncd: accept NTP version 3 responses
Kay Sievers [Tue, 6 May 2014 10:29:20 +0000 (12:29 +0200)]
timesyncd: accept NTP version 3 responses

9 years agotimesyncd: add a more servers by default
Lennart Poettering [Mon, 5 May 2014 23:37:29 +0000 (01:37 +0200)]
timesyncd: add a more servers by default

9 years agotimesyncd: also try next server when sendto() fails
Lennart Poettering [Mon, 5 May 2014 23:37:13 +0000 (01:37 +0200)]
timesyncd: also try next server when sendto() fails

9 years agotimesyncd: don't busy loop when we cannot connect to any servers
Lennart Poettering [Mon, 5 May 2014 23:29:47 +0000 (01:29 +0200)]
timesyncd: don't busy loop when we cannot connect to any servers

9 years agotimesyncd: properly handle multiple configured NTP servers and multiplei IP addresses...
Lennart Poettering [Mon, 5 May 2014 23:17:35 +0000 (01:17 +0200)]
timesyncd: properly handle multiple configured NTP servers and multiplei IP addresses per server name

9 years agotimesyncd: lookup name server via sd-resolve, support IPv6, react to SIGINT/SITERM
Lennart Poettering [Mon, 5 May 2014 21:53:17 +0000 (23:53 +0200)]
timesyncd: lookup name server via sd-resolve, support IPv6, react to SIGINT/SITERM

9 years agosd-resolve: make sure we can destroy a query object from its own callback handler
Lennart Poettering [Mon, 5 May 2014 21:49:19 +0000 (23:49 +0200)]
sd-resolve: make sure we can destroy a query object from its own callback handler

9 years agosd-event: allow disabling event sources when an event object is dying anyway
Lennart Poettering [Mon, 5 May 2014 21:48:25 +0000 (23:48 +0200)]
sd-event: allow disabling event sources when an event object is dying anyway

9 years agosd-event: make it easy to bind signal handling to event loop exits
Lennart Poettering [Mon, 5 May 2014 21:47:56 +0000 (23:47 +0200)]
sd-event: make it easy to bind signal handling to event loop exits

By passing a NULL callback provide a simple way to make event loops exit
on SIGTERM and other signals.

9 years agotimesync: use safe_close() where possible
Lennart Poettering [Mon, 5 May 2014 19:47:38 +0000 (21:47 +0200)]
timesync: use safe_close() where possible

9 years agotimesync: always initialize structs when declaring them as far as possible with conts...
Lennart Poettering [Mon, 5 May 2014 19:47:09 +0000 (21:47 +0200)]
timesync: always initialize structs when declaring them as far as possible with contsant values

9 years agobuild-sys: enable timesyncd by default
Lennart Poettering [Mon, 5 May 2014 19:39:10 +0000 (21:39 +0200)]
build-sys: enable timesyncd by default

9 years agoupdate TODO
Lennart Poettering [Mon, 5 May 2014 19:18:54 +0000 (21:18 +0200)]
update TODO

9 years agobuild-sys: move async.[ch] to src/shared
Lennart Poettering [Mon, 5 May 2014 19:18:34 +0000 (21:18 +0200)]
build-sys: move async.[ch] to src/shared

So that we can use it at multiple places.

9 years agocore: require cgroups filesystem to be available
Kay Sievers [Mon, 5 May 2014 16:49:43 +0000 (18:49 +0200)]
core: require cgroups filesystem to be available

We should no longer pretend that we can run in any sensible way
without the kernel supporting us with cgroups functionality.

9 years agohwdb: update
Kay Sievers [Mon, 5 May 2014 12:23:10 +0000 (14:23 +0200)]
hwdb: update

9 years agotimesyncd: log drift value as signed
Kay Sievers [Mon, 5 May 2014 12:21:40 +0000 (14:21 +0200)]
timesyncd: log drift value as signed

9 years agosd-rtnl-message: append - fix uninitialized memory
Tom Gundersen [Fri, 2 May 2014 20:29:18 +0000 (22:29 +0200)]
sd-rtnl-message: append - fix uninitialized memory

We were not properly clearing the padding at the front of some containers.

9 years agosd-rtnl: route - allow setting multiple matching routes
Tom Gundersen [Fri, 2 May 2014 13:49:40 +0000 (15:49 +0200)]
sd-rtnl: route - allow setting multiple matching routes

9 years agoTODO
Tom Gundersen [Wed, 30 Apr 2014 08:37:13 +0000 (10:37 +0200)]
TODO

9 years agotimesyncd: log drift correction
Kay Sievers [Sat, 3 May 2014 13:03:27 +0000 (15:03 +0200)]
timesyncd: log drift correction

9 years agoasync: add asynchronous close() call
Lennart Poettering [Fri, 2 May 2014 15:56:05 +0000 (17:56 +0200)]
async: add asynchronous close() call

9 years agoupdate TODO
Lennart Poettering [Fri, 2 May 2014 15:56:01 +0000 (17:56 +0200)]
update TODO

9 years agotimesyncd: use nanosecond mode
Kay Sievers [Wed, 30 Apr 2014 14:55:10 +0000 (16:55 +0200)]
timesyncd: use nanosecond mode

9 years agotimesyncd: remove debug code
Kay Sievers [Wed, 30 Apr 2014 07:37:47 +0000 (09:37 +0200)]
timesyncd: remove debug code

9 years agonetworkd: dont configure route if lease doesn't have one
Umut Tezduyar Lindskog [Tue, 29 Apr 2014 20:40:38 +0000 (22:40 +0200)]
networkd: dont configure route if lease doesn't have one

9 years agosd-network: add support for only listening to some types of changes
Tom Gundersen [Tue, 29 Apr 2014 20:27:29 +0000 (22:27 +0200)]
sd-network: add support for only listening to some types of changes

9 years agotimesyncd: limit debug values to milliseconds
Kay Sievers [Tue, 29 Apr 2014 21:48:23 +0000 (23:48 +0200)]
timesyncd: limit debug values to milliseconds

9 years agoupdate TODO
Michal Sekletar [Tue, 29 Apr 2014 20:15:47 +0000 (22:15 +0200)]
update TODO

9 years agosd-dhcp-lease: fix double realloc
Tom Gundersen [Tue, 29 Apr 2014 19:57:11 +0000 (21:57 +0200)]
sd-dhcp-lease: fix double realloc

9 years agobuild-sys: fix linking order for networkd-wait-only
Kay Sievers [Tue, 29 Apr 2014 14:26:09 +0000 (16:26 +0200)]
build-sys: fix linking order for networkd-wait-only

9 years agosd-resolve: rework sd-resolve to be callback based, similar in style to sd-bus and...
Lennart Poettering [Tue, 29 Apr 2014 13:44:31 +0000 (15:44 +0200)]
sd-resolve: rework sd-resolve to be callback based, similar in style to sd-bus and sd-event

9 years agonetworkd: fix distcheck
Tom Gundersen [Tue, 29 Apr 2014 13:42:05 +0000 (15:42 +0200)]
networkd: fix distcheck

9 years agosd-dhcp-lease: (de)serialize DNS and NTP servers
Tom Gundersen [Tue, 29 Apr 2014 11:29:12 +0000 (13:29 +0200)]
sd-dhcp-lease: (de)serialize DNS and NTP servers

Also use inet_ntoa rather than inet_ntop.

9 years agosd-dhcp-leaes: use newdup()
Tom Gundersen [Tue, 29 Apr 2014 10:46:06 +0000 (12:46 +0200)]
sd-dhcp-leaes: use newdup()

9 years agosd-dhcp-lease: add NTP support
Tom Gundersen [Tue, 29 Apr 2014 10:17:27 +0000 (12:17 +0200)]
sd-dhcp-lease: add NTP support

Export the NTP servers so timesyncd can use them.

9 years agotimesyncd: update log message
Kay Sievers [Tue, 29 Apr 2014 08:16:07 +0000 (10:16 +0200)]
timesyncd: update log message

9 years agotimesyncd: add unit and man page
Kay Sievers [Tue, 29 Apr 2014 06:57:51 +0000 (08:57 +0200)]
timesyncd: add unit and man page

9 years agomachine-id: only look into KVM uuid when we are not running in a
Lennart Poettering [Mon, 28 Apr 2014 16:11:40 +0000 (18:11 +0200)]
machine-id: only look into KVM uuid when we are not running in a
container

9 years agorename timedate-sntp to timesync
Kay Sievers [Mon, 28 Apr 2014 12:45:42 +0000 (14:45 +0200)]
rename timedate-sntp to timesync

9 years agoconf-parser: Fix typo in comment
Jonathan Boulle [Mon, 28 Apr 2014 06:15:50 +0000 (08:15 +0200)]
conf-parser: Fix typo in comment

Fix minor typo in conf parser

9 years agonetworkd: link - don't fail a link if RF kill is active
Tom Gundersen [Sun, 27 Apr 2014 22:16:46 +0000 (00:16 +0200)]
networkd: link - don't fail a link if RF kill is active

9 years agoTODO: network
Tom Gundersen [Sun, 27 Apr 2014 09:23:30 +0000 (11:23 +0200)]
TODO: network

9 years agonetworkd: netdev - log when loading a .netdev file
Tom Gundersen [Sun, 27 Apr 2014 11:15:35 +0000 (13:15 +0200)]
networkd: netdev - log when loading a .netdev file

9 years agonetworkd: update TODO
Umut Tezduyar Lindskog [Sun, 27 Apr 2014 21:45:42 +0000 (23:45 +0200)]
networkd: update TODO

9 years agosd-dhcp-client: log positive error number
Umut Tezduyar Lindskog [Sun, 27 Apr 2014 20:01:42 +0000 (22:01 +0200)]
sd-dhcp-client: log positive error number

Log error no for such client_stop(client, DHCP_EVENT_STOP)

9 years agolibnetworkd: add link local tests
Umut Tezduyar Lindskog [Sun, 27 Apr 2014 19:58:26 +0000 (21:58 +0200)]
libnetworkd: add link local tests

- Also only allow positive ifindex on both dhcp and ipv4ll

[tomegun: the kernel always sets a positive ifindex, but some APIs accept
          ifindex=0 with various meanings, so we should protect against
          accidentally passing ifindex=0 along.]

9 years agonetworkd: do not complain about IFF_RUNNING
Umut Tezduyar Lindskog [Sun, 27 Apr 2014 20:33:42 +0000 (22:33 +0200)]
networkd: do not complain about IFF_RUNNING

Otherwise:
eth0: unknown link flags gained: 0x00040 (ignoring)

[tomegun: hiding these messages is ok, as IFF_RUNNING is redundant
          and can be deduced from operstate and IFF_LOWER_UP]

9 years agojob: add waiting jobs to run queue in unit_coldplug
Brandon Philips [Fri, 25 Apr 2014 15:31:59 +0000 (09:31 -0600)]
job: add waiting jobs to run queue in unit_coldplug

When we have job installed and added to run queue for service which is
still in dead state and systemd initiates reload then after reload we
never add deserialized job to the run queue again. This is caused by
check in service_coldplug() where we check if deserialized state is
something else than dead state, which is not the case thus we never call
service_set_state() and finally unit_notify() where we would have added
job to the run queue.

Thanks to Michal Sekletar <msekleta@redhat.com> for the original patch.

9 years agobuild-sys: add configure switch for -fsanitize=undefined
Zbigniew Jędrzejewski-Szmek [Thu, 24 Apr 2014 18:49:15 +0000 (20:49 +0200)]
build-sys: add configure switch for -fsanitize=undefined

--enable-undefined-sanitizer mirrors --enable-memory-sanitizer.

9 years agotest-journal-flush: avoid predictable names in /var/tmp
Zbigniew Jędrzejewski-Szmek [Fri, 25 Apr 2014 23:58:21 +0000 (19:58 -0400)]
test-journal-flush: avoid predictable names in /var/tmp

9 years agoman: networkd typo fixes
poma [Sat, 26 Apr 2014 09:09:45 +0000 (11:09 +0200)]
man: networkd typo fixes

9 years agonetworkd-wait-online: refactor a bit
Tom Gundersen [Thu, 24 Apr 2014 19:32:25 +0000 (21:32 +0200)]
networkd-wait-online: refactor a bit

Clarify that we are waiting for any link to reach 'carrier' state, regardless
of who manages it. This will be useful when we add support for waiting for more
operational states.

9 years agonetworkd-wait-online: drop config file and add commandline options instead
Tom Gundersen [Thu, 24 Apr 2014 19:28:46 +0000 (21:28 +0200)]
networkd-wait-online: drop config file and add commandline options instead

9 years agocore: reindent {selinux, ima, smack}-setup.c
Will Woods [Fri, 25 Apr 2014 22:26:33 +0000 (18:26 -0400)]
core: reindent {selinux, ima, smack}-setup.c

7-space indentation is just too weird to leave alone.
Make it 8 spaces, as per CODING_STYLE. No other changes.

9 years agoupdate TODO
Lennart Poettering [Fri, 25 Apr 2014 11:28:02 +0000 (13:28 +0200)]
update TODO

9 years agocore: expose CFS CPU time quota as high-level unit properties
Lennart Poettering [Fri, 25 Apr 2014 11:27:25 +0000 (13:27 +0200)]
core: expose CFS CPU time quota as high-level unit properties

9 years agocore: make sure we always write changed cgroup attributes to the cgroupfs
Lennart Poettering [Fri, 25 Apr 2014 11:26:37 +0000 (13:26 +0200)]
core: make sure we always write changed cgroup attributes to the cgroupfs

9 years agoupdate TODO
Lennart Poettering [Fri, 25 Apr 2014 05:16:01 +0000 (07:16 +0200)]
update TODO

9 years agobootchart: print to stdout and display default values in help
Zbigniew Jędrzejewski-Szmek [Thu, 24 Apr 2014 23:16:37 +0000 (19:16 -0400)]
bootchart: print to stdout and display default values in help

9 years agobootchart: rewrite usage message more generally
WaLyong Cho [Thu, 24 Apr 2014 15:50:52 +0000 (00:50 +0900)]
bootchart: rewrite usage message more generally

9 years agobootchart: add control group option
WaLyong Cho [Thu, 24 Apr 2014 15:50:51 +0000 (00:50 +0900)]
bootchart: add control group option

9 years agoudev: warn when name_to_handle_at is not implemented
Zbigniew Jędrzejewski-Szmek [Sun, 20 Apr 2014 17:57:26 +0000 (13:57 -0400)]
udev: warn when name_to_handle_at is not implemented

We have a bunch of reports from people who have a custom kernel and
are confused why udev is not running. Issue a warning on
error. Barring an error in the code, the only error that is possible
is ENOSYS.

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

9 years agoservice: rename StartLimitAction enum to FailureAction
Michael Olbrich [Thu, 24 Apr 2014 07:35:38 +0000 (09:35 +0200)]
service: rename StartLimitAction enum to FailureAction

It's used for the FailureAction property as well.

9 years agoservice: add FailureAction= option
Michael Olbrich [Thu, 24 Apr 2014 07:35:37 +0000 (09:35 +0200)]
service: add FailureAction= option

It has the same possible values as StartLimitAction= and is executed
immediately if a service fails.

9 years agoudev: increase the size of RESULT buffer
Robert Milasan [Thu, 24 Apr 2014 09:23:33 +0000 (11:23 +0200)]
udev: increase the size of RESULT buffer

Under some conditions, in udev_rules_apply_to_event the fact that
result is 1024 bytes, creates problems if the output of the running
command/app is bigger then 1024 bytes.

9 years agobus: update kdbus.h
Kay Sievers [Thu, 24 Apr 2014 08:36:19 +0000 (10:36 +0200)]
bus: update kdbus.h

9 years agotest-resolve.c: Cleanup and make use of sockaddr_pretty()
Daniel Buch [Wed, 26 Mar 2014 13:17:07 +0000 (14:17 +0100)]
test-resolve.c: Cleanup and make use of sockaddr_pretty()

9 years agoFix keysize handling in cryptsetup (bits vs. bytes)
David Härdeman [Tue, 25 Mar 2014 10:05:28 +0000 (11:05 +0100)]
Fix keysize handling in cryptsetup (bits vs. bytes)

The command line key-size is in bits but the libcryptsetup API expects bytes.

Note that the modulo 8 check is in the original cryptsetup binary as well, so
it's no new limitation.

(v2: changed the point at which the /= 8 is performed, rebased, removed tabs)

9 years agoAdd more password agent information
David Härdeman [Tue, 25 Mar 2014 10:05:23 +0000 (11:05 +0100)]
Add more password agent information

Add an (optional) "Id" key in the password agent .ask files. The Id is
supposed to be a simple string in "<subsystem>:<target>" form which
is used to provide more information on what the requested passphrase
is to be used for (which e.g. allows an agent to only react to cryptsetup
requests).

(v2: rebased, fixed indentation, escape name, use strappenda)

9 years agoerrno: make sure to handle the 3 errnos that are aliases for others properly
Lennart Poettering [Thu, 24 Apr 2014 06:11:39 +0000 (08:11 +0200)]
errno: make sure to handle the 3 errnos that are aliases for others properly

9 years agoutil: make sure all our name_to_handle_at() code makes use of file_handle_union
Lennart Poettering [Thu, 24 Apr 2014 05:46:31 +0000 (07:46 +0200)]
util: make sure all our name_to_handle_at() code makes use of file_handle_union

9 years agonetworkd-wait-online: improve interoptability and enable by default
Tom Gundersen [Wed, 23 Apr 2014 15:42:55 +0000 (17:42 +0200)]
networkd-wait-online: improve interoptability and enable by default

To make sure we don't delay boot on systems where (some) network links are managed by someone else
we don't block if something else has successfully brought up a link.

We will still block until all links we are aware of that are  managed by networkd have been
configured, but if no such links exist, and someone else have configured a link sufficiently
that it has a carrier, it may be that the link is ready so we should no longer block.

Note that in all likelyhood the link is not ready (no addresses/routes configured),
so whatever network managment daemon configured it should provide a similar wait-online
service to block network-online.target until it is ready.

The aim is to block as long as we know networking is not fully configured, but no longer. This
will allow systemd-networkd-wait-online.service to be enabled on any system, even if we don't
know whether networkd is the main/only network manager.

Even in the case networking is fully configured by networkd, the default behavior may not be
sufficient: if two links need to be configured, but the first is fully configured before the
second one appears we will assume the network is up. To work around that, we allow specifying
specific devices to wait for before considering the network up.

This unit is enabled by default, just like systemd-networkd, but will only be pulled in if
anyone pulls in network-online.target.

9 years agohostnamectl: read kernel name and release from remote
Djalal Harouni [Wed, 23 Apr 2014 21:41:13 +0000 (22:41 +0100)]
hostnamectl: read kernel name and release from remote

9 years agohostnamed: expose KernelName and KernelRelease on the bus
Djalal Harouni [Wed, 23 Apr 2014 21:41:12 +0000 (22:41 +0100)]
hostnamed: expose KernelName and KernelRelease on the bus

9 years agoupdate TODO
Lennart Poettering [Wed, 23 Apr 2014 20:41:44 +0000 (22:41 +0200)]
update TODO

9 years agoanalyze: fix plot with bad y size
Jeffrey Clark [Wed, 23 Apr 2014 20:37:43 +0000 (22:37 +0200)]
analyze: fix plot with bad y size

systemd-analyze plot > test.svg produces output with all y and height
element attributes equal to zero. This of course causes the resulting
svg to appear blank (zero height). Bug does not affect x86. Looks like
a compiler optimization may be the culprit.

https://github.com/archlinuxarm/PKGBUILDs/issues/815

9 years agojournal-gatewayd: bugfix for invalid level case
Thomas Hindoe Paaboel Andersen [Wed, 23 Apr 2014 18:32:29 +0000 (20:32 +0200)]
journal-gatewayd: bugfix for invalid level case

introduced in cafc7f91306ea17ace4a6c3d76d81c8780c87452

9 years agoman: recommend that XDG_SESSION_DESKTOP and XDG_CURRENT_DESKTOP use the same identifiers
Lennart Poettering [Wed, 23 Apr 2014 18:11:38 +0000 (20:11 +0200)]
man: recommend that XDG_SESSION_DESKTOP and XDG_CURRENT_DESKTOP use the same identifiers

9 years agouse new name DRAW_TREE_VERTICAL
Thomas Hindoe Paaboel Andersen [Wed, 23 Apr 2014 17:22:39 +0000 (19:22 +0200)]
use new name DRAW_TREE_VERTICAL

Was renamed in 6b01f1d3911bd7c7eadbb8a3b4375bd3ac05c98f

9 years agodelta: draw arrows with draw_special_char()
Lennart Poettering [Wed, 23 Apr 2014 17:05:46 +0000 (19:05 +0200)]
delta: draw arrows with draw_special_char()

Let's unify generation of unicode chars at one place.

Also, don't add an extra space into chars we print, except for the tree
chars where this is really necessary.

9 years agoinstall: simplification
Lennart Poettering [Wed, 23 Apr 2014 04:57:34 +0000 (06:57 +0200)]
install: simplification

9 years agolabel: there is no label_retest_selinux() call
Lennart Poettering [Wed, 23 Apr 2014 04:57:24 +0000 (06:57 +0200)]
label: there is no label_retest_selinux() call

9 years agobus: simplification
Lennart Poettering [Wed, 23 Apr 2014 04:57:00 +0000 (06:57 +0200)]
bus: simplification

9 years agobacklight: warn if kernel exposes backlight device with bogus max_brightness
Lennart Poettering [Wed, 23 Apr 2014 04:55:54 +0000 (06:55 +0200)]
backlight: warn if kernel exposes backlight device with bogus max_brightness

We shouldn't silently tape over broken kernel drivers.

9 years agoupdate TODO
Lennart Poettering [Tue, 22 Apr 2014 04:49:16 +0000 (06:49 +0200)]
update TODO