summaryrefslogtreecommitdiffstats
path: root/src/timedate (follow)
Commit message (Collapse)AuthorAgeFilesLines
* polkit: simplify bus_verify_polkit_async() + drop auth-by-cap dbus featureLennart Poettering2023-12-211-16/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | This simplifies bus_verify_polkit_async() and related calls quite a bit: 1. This removes any support for authentication-by-Linux-capability. This is ultimately a kdbus leftover: with classic AF_UNIX transports we cannot authenticate by capabilities securely (because we cannot acquire it from the peer without races), hence we never actually did. Since the necessary kernel work didn't materialize in the last 10y, and is unlikely to be added, let's just kill this context. We cannot quite remove the caps stuff from sd-bus for API compat, but for our polkit logic let's kill it. 2. The "good_uid" and "interactive" params are only necessary in very few cases, hence let's move them to a new call bus_verify_polkit_async_full() and make bus_verify_polkit_async() a wrapper around it without those two parameters. This also fixes a bunch of wrong uses of the "interactive" bool. The bool makes no sense today as the ALLOW_INTERACTIVE_AUTHORIZATION field in the D-Bus message header replaces it fully. We only need it to implement method calls we introduced prior to that header field becoming available in D-Bus. And it should only be used on such old method calls, and otherwise always be set to false. This does not change behaviour in any way. Just simplifies stuff. Fixes: #21586
* timedatectl: add missing commands to the help outputAntonio Alvarez Feijoo2023-10-231-0/+3
| | | | Follow up to 159a855b34c35484c28cf4b0178f93bc16447fac
* tree-wide: port various parsers over to read_stripped_line()Lennart Poettering2023-10-171-6/+4
|
* timedate: Extend timeout for setting NTPPhylLu2023-10-112-2/+13
| | | | | | | | | One of the steps in setting up NTP is to enable/disable the 'systemd-timesyncd.service' and then perform a daemon reload. we use an extra-long timeout for reload in timedated as same as used in systemd daemon reload to avoiding certain situation have longer reload times (which exceed the 25 second default timeout used for dbus-communication), potentially leading to setting NTP failure.
* tree-wide: use LIST_CLEAR()David Tardon2023-08-171-6/+1
|
* meson: move declarations of timedated and friendsYu Watanabe2023-07-311-0/+16
|
* label: Introduce LabelOps to do pre/post labelling operationsDaan De Meyer2023-05-311-1/+1
| | | | | | | | | By default, label_ops is initialized with a NULL pointer which translates to noop labelling operations. In mac_selinux_init() and the new mac_smack_init(), we initialize label_ops with a MAC specific LabelOps pointer. We also introduce mac_init() to initialize any configured MACs and replace all usages of mac_selinux_init() with mac_init().
* basic: add RuntimeScope enumLennart Poettering2023-03-101-1/+1
| | | | | | | | | | | | In various tools and services we have a per-system and per-user concept. So far we sometimes used a boolean indicating whether we are in system mode, or a reversed boolean indicating whether we are in user mode, or the LookupScope enum used by the lookup path logic. Let's address that, in introduce a common enum for this, we can use all across the board. This is mostly just search/replace, no actual code changes.
* timedatectl: port to new 'vertical' table typeLennart Poettering2022-11-101-29/+23
|
* Rename def.h to constants.hZbigniew Jędrzejewski-Szmek2022-11-081-1/+1
| | | | | | The name "def.h" originates from before the rule of "no needless abbreviations" was established. Let's rename the file to clarify that it contains a collection of various semi-related constants.
* basic: move version() to build.h+cZbigniew Jędrzejewski-Szmek2022-11-081-1/+1
|
* tree-wide: use ASSERT_PTR moreDavid Tardon2022-09-132-35/+14
|
* Use https for freedesktop.orgMichael Biebl2022-06-282-2/+2
| | | | grep -l -r http:// | xargs sed -E -i s'#http://(.*).freedesktop.org#https://\1.freedesktop.org#'
* timedatectl: fix a memory leakEvgeny Vereshchagin2022-05-041-1/+1
| | | | | | | | | | | | | | | | | | | | | | ``` timedatectl list-timezones --no-pager ... ==164329==ERROR: LeakSanitizer: detected memory leaks Direct leak of 8192 byte(s) in 1 object(s) allocated from: #0 0x7fe8a74b6f8c in reallocarray (/lib64/libasan.so.6+0xaef8c) #1 0x7fe8a63485dc in strv_push ../src/basic/strv.c:419 #2 0x7fe8a6349419 in strv_consume ../src/basic/strv.c:490 #3 0x7fe8a634958d in strv_extend ../src/basic/strv.c:542 #4 0x7fe8a643d787 in bus_message_read_strv_extend ../src/libsystemd/sd-bus/bus-message.c:5606 #5 0x7fe8a643db9d in sd_bus_message_read_strv ../src/libsystemd/sd-bus/bus-message.c:5628 #6 0x4085fb in list_timezones ../src/timedate/timedatectl.c:314 #7 0x7fe8a61ef3e1 in dispatch_verb ../src/shared/verbs.c:103 #8 0x410f91 in timedatectl_main ../src/timedate/timedatectl.c:1025 #9 0x41111c in run ../src/timedate/timedatectl.c:1043 #10 0x411242 in main ../src/timedate/timedatectl.c:1046 #11 0x7fe8a489df1f in __libc_start_call_main (/lib64/libc.so.6+0x40f1f) ```
* timedate: update to use new-style sd-bus macrosSonali Srivastava2022-04-111-36/+25
|
* strv: make iterator in STRV_FOREACH() declaread in the loopYu Watanabe2022-03-191-1/+0
| | | | This also avoids multiple evaluations in STRV_FOREACH_BACKWARDS()
* list: declare iterator of LIST_FOREACH() in the loopYu Watanabe2022-03-191-6/+0
|
* timedate: use cleanup attribute at one more placeYu Watanabe2022-03-171-11/+18
|
* policy files: adjust landing page linkZbigniew Jędrzejewski-Szmek2022-01-121-1/+1
|
* timedatectl: Uniform commas in NTPMessage outputScott Worley2021-12-211-1/+1
|
* Merge pull request #20138 from keszybz/coding-style-variable-declsLuca Boccassi2021-11-051-1/+1
|\ | | | | A coding style tweak and checking of sd_notify() calls and voidification of pager_open()
| * Make pager_open() return voidZbigniew Jędrzejewski-Szmek2021-11-031-1/+1
| |
* | tree-wide: do not print hint about -M if -M is already usedZbigniew Jędrzejewski-Szmek2021-11-041-1/+1
|/ | | | | | | | (Or when -H is used, since -H and -M are incompatible.) Note that the slightly unusual form with separate boolean variables (hint_vars, hint_addr) instead of e.g. a const char* variable to hold the message, because this way we don't trigger the warning about non-literal format.
* alloc-util: add strdupa_safe() + strndupa_safe() and use it everywhereLennart Poettering2021-10-141-1/+1
| | | | | | | | | | | | | Let's define two helpers strdupa_safe() + strndupa_safe() which do the same as their non-safe counterparts, except that they abort if called with allocations larger than ALLOCA_MAX. This should ensure that all our alloca() based allocations are subject to this limit. afaics glibc offers three alloca() based APIs: alloca() itself, strndupa() + strdupa(). With this we have now replacements for all of them, that take the limit into account.
* Drop the text argument from assert_not_reached()Zbigniew Jędrzejewski-Szmek2021-08-031-1/+1
| | | | | | | | | | | | | | | | | In general we almost never hit those asserts in production code, so users see them very rarely, if ever. But either way, we just need something that users can pass to the developers. We have quite a few of those asserts, and some have fairly nice messages, but many are like "WTF?" or "???" or "unexpected something". The error that is printed includes the file location, and function name. In almost all functions there's at most one assert, so the function name alone is enough to identify the failure for a developer. So we don't get much extra from the message, and we might just as well drop them. Dropping them makes our code a tiny bit smaller, and most importantly, improves development experience by making it easy to insert such an assert in the code without thinking how to phrase the argument.
* tree-wide: add FORMAT_TIMESPAN()Zbigniew Jędrzejewski-Szmek2021-07-091-18/+12
|
* tree-wide: use FORMAT_TIMESTAMP()Zbigniew Jędrzejewski-Szmek2021-07-091-9/+5
|
* timedated: make ntp_synced() staticZbigniew Jędrzejewski-Szmek2021-05-121-0/+13
| | | | No need to have this in basic.
* bus-print-property: introduce BusPrintPropertyFlagsYu Watanabe2021-04-281-13/+9
| | | | Follow-ups for 1ceaad69378272c64da4ecaab0d59ebb7a92ca0a.
* timedate: make log_unit_xxx_errno() refuse zero errnoYu Watanabe2021-04-161-15/+24
|
* Merge pull request #19243 from bluca/lgtmZbigniew Jędrzejewski-Szmek2021-04-091-1/+2
|\ | | | | Fix various issues reported by LGTM
| * timedated: use format_timestamp instead of ctimeLuca Boccassi2021-04-081-1/+2
| | | | | | | | | | | | Some static analyzers (lgtm) warn against using non-re-entrant functions, even though at the moment this code is not multi-threaded, just switch to format_timestamp.
* | timedatectl: rework handling of conditions in print_status_info()Zbigniew Jędrzejewski-Szmek2021-04-081-16/+9
|/ | | | | | gcc-11.0.1-0.3.fc34.x86_64 was complaining that n might be unset with --optimization=1. It was wrong, but let's rework the code to make it obvious that it is always set.
* timedated: fix skipping of comments in config fileZbigniew Jędrzejewski-Szmek2021-03-091-1/+1
| | | | | | | | Reading file '/usr/lib/systemd/ntp-units.d/80-systemd-timesync.list' Failed to add NTP service "# This file is part of systemd.", ignoring: Invalid argument Failed to add NTP service "# See systemd-timedated.service(8) for more information.", ignoring: Invalid argument :(
* timedate: do not ignore fix_system argument in SetLocalRTC methodYu Watanabe2021-02-241-7/+9
| | | | Fixes #18391.
* tree-wide: enable colorized logging for daemons when run in consoleYu Watanabe2021-01-312-2/+2
| | | | It may be useful when debugging daemons.
* tree-wide: Drop custom formatting for print() help messagesDaan De Meyer2021-01-311-6/+5
| | | | | | | | | | | | I think this formatting was originally used because it simplified adding new options to the help messages. However, these days, most tools their help message end with "\nSee the %s for details.\n" so the final line almost never has to be edited which eliminates the benefit of the custom formatting used for printf() help messages. Let's make things more consistent and use the same formatting for printf() help messages that we use everywhere else. Prompted by https://github.com/systemd/systemd/pull/18355#discussion_r567241580
* timedate: actually reset system time with new timezoneYu Watanabe2021-01-121-1/+1
| | | | | | Fix a bug introduced by 56b0ef2fc283425df6ae6f1dc198e0c408f70471. Closes CID#1436943.
* timedate: use localtime_or_gmtime_r() and mktime_or_timegm()Yu Watanabe2020-11-201-16/+4
|
* basic/env-util: add little helper to call setenv or unsetenvZbigniew Jędrzejewski-Szmek2020-11-101-5/+3
|
* license: LGPL-2.1+ -> LGPL-2.1-or-laterYu Watanabe2020-11-096-6/+6
|
* Replace gendered pronouns with gender neutral ones. (#16844)PhoenixDiscord2020-08-271-1/+1
|
* Merge pull request #16624 from keszybz/timesync-retry-intervalZbigniew Jędrzejewski-Szmek2020-07-301-1/+1
|\ | | | | Make timesyncd retry interval grow more slowly
| * timedatectl: do not show (null) if the address of NTP server is not resolvedYu Watanabe2020-07-161-1/+1
| |
* | bus: use bus_log_connect_error to print error messagefangxiuning2020-07-211-1/+1
|/
* bus: use bus_log_parse_error to print messagefangxiuning2020-07-111-1/+1
|
* table use table_log_print_error() instead of table_log_show_errorfangxiuning2020-07-081-4/+4
|
* table add table_log_show_error()fangxiuning2020-07-081-4/+4
|
* shared: split out property get helpersLennart Poettering2020-06-301-0/+1
| | | | No code changes, just some refactoring.
* shared: split out code for printing propertiesLennart Poettering2020-06-301-0/+1
| | | | No code changes, just some refactoring.