time-util: always accept UTC as valid timezone

We already handle it specially in get_timezones(), hence we should OK it
here too, even if the timezone file doesn't actually exist.

Prompted by:

https://serverfault.com/questions/991172/invalid-time-zone-utc

(Yes, Ubuntu should install the UTC timezone data unconditionally: it
should not be an option, even if all other timezone data is excluded,
but since it's our business to validate user input but not out business
to validate distros, let's just accept "UTC" unconditionally, it's magic
after all)
This commit is contained in:
Lennart Poettering 2019-11-11 16:53:52 +01:00
parent 5b1733cdae
commit e8b9e9c470
1 changed files with 4 additions and 0 deletions

View File

@ -1277,6 +1277,10 @@ bool timezone_is_valid(const char *name, int log_level) {
if (isempty(name))
return false;
/* Always accept "UTC" as valid timezone, since it's the fallback, even if user has no timezones installed. */
if (streq(name, "UTC"))
return true;
if (name[0] == '/')
return false;