diff --git a/TODO b/TODO index f662104b2c..aa51332c05 100644 --- a/TODO +++ b/TODO @@ -17,21 +17,17 @@ Bugfixes: * make polkit checks async -* logind is leaking fifos? +* fail gracefully if logind reaches it RLIMIT_NFILES for fifos Features: * ConditionCapability= -* order network mounts after network-fs-ready.target or so - * read fedora style timezone name config for compat * if we can not get user quota for tmpfs, mount a separate tmpfs instance for every user in /run/user/$USER with a configured maximum size -* bind mounts should be ordered after remount-root-fs.service - * default to actual 32bit PIDs, via /proc/sys/kernel/pid_max * increase RLIMIT_NOFILE for logind, logger by default diff --git a/src/timedated.c b/src/timedated.c index f6fe2d83b6..16f54b59d2 100644 --- a/src/timedated.c +++ b/src/timedated.c @@ -170,8 +170,24 @@ static int read_data(void) { free_data(); r = read_one_line_file("/etc/timezone", &zone); - if (r < 0 && r != -ENOENT) - return r; + if (r < 0) { + if (r != -ENOENT) + log_warning("Failed to read /etc/timezone: %s", strerror(-r)); + +#ifdef TARGET_FEDORA + r = parse_env_file("/etc/sysconfig/clock", NEWLINE, + "ZONE", &zone, + NULL); + + if (r < 0 && r != -ENOENT) + log_warning("Failed to read /etc/sysconfig/clock: %s", strerror(-r)); +#endif + } + + if (isempty(zone)) { + free(zone); + zone = NULL; + } verify_timezone();