summaryrefslogtreecommitdiffstats
path: root/docs/DEBUGGING.md (unfollow)
Commit message (Collapse)AuthorFilesLines
2024-10-30docs: Align some comments in HACKING.mdDaan De Meyer1-3/+3
2024-10-30update NEWSLennart Poettering1-9/+52
2024-10-30update TODOLennart Poettering1-0/+11
2024-10-29network: Restrict the valid charset of DNR namesRonan Pigott3-0/+16
Not all possible DNS names will survive serialization. Restrict the set of valid dns names to LDH encoded names. Fixes: 25c33e350042 (network: parse RFC9463 DHCPv4 DNR option, 2024-01-16) Fixes: a07e83cc58f6 (network: Parse RFC9463 DHCPv6 DNR option, 2024-01-17) Fixes: 0c90d1d2f243 (ndisc: Parse RFC9463 encrypted DNS (DNR) option, 2024-01-19)
2024-10-29busctl: minor tweak to help text for --limit-messages=Lennart Poettering1-2/+2
2024-10-29import: Draw progress barsDaan De Meyer4-4/+69
Currently every progress update results in a new progress message which is extremely verbose. Instead, let's use the progress bar infra to draw a proper progress bar similar to what we do in systemd-repart now.
2024-10-29TEST-80-NOTIFYACCESS: don't specify --pid= if MAINPID= is provided explicitlyMike Yuan1-1/+1
Otherwise, with recent additions, the MAINPIDFDID= generated by systemd-notify would mismatch with overridden MAINPID=.
2024-10-29notify: send MAINPIDFDID= for --pid= too if availableMike Yuan1-26/+48
2024-10-29core/service: support sd_notify() MAINPIDFD=1 and MAINPIDFDID=Mike Yuan3-31/+115
These serve as race-free alternatives for MAINPID= notification.
2024-10-29shared/fdset: minor modernizationMike Yuan1-21/+19
2024-10-29mkosi: update fedora commit referenceLennart Poettering1-1/+1
* e42eed4afd test_sysusers_defined: support new ! line flag for creating fully locked accounts * 2c6a4e2f90 Version 256.7 * bedc0270e7 Move yum/dnf protection removal config file under /usr * 5a82129a41 Reword some descriptions * ce99022f7b Version 256.6
2024-10-29busctl: add the usual section highlighting to our --help textsLennart Poettering1-7/+9
2024-10-29busctl: add a testcase that definitely causes the timeout to triggerLennart Poettering1-1/+9
2024-10-29busctl: if --timeout= or --limit-messages= are specified with no argument, ↵Lennart Poettering1-0/+10
reset to defaults. Follow-up for: 989e843e7543b21b91de4368da44692d674722a5 See: #34048
2024-10-29busctl: rename --num-matches= → --limit-messages=Lennart Poettering5-18/+23
We should avoid unnecessary abbreviations for such messages, and this puts a maximum limit on things, hence it should indicate this in the name. Moreover, matches is a bit confusing, since most people will probably call "busctl monitor" without any match specification, i.e. zero matches, but that's not what was meant here at all. Also, add a brief switch for this (-N) since I figure in particular "-N1" might be a frequent operation people might want to use. Follow-up for: 989e843e7543b21b91de4368da44692d674722a5 See: #34048
2024-10-29busctl: fix timeout calculation for "busctl monitor"Lennart Poettering1-2/+5
The --timeout= logic was implemented incorrectly, as it would not put a a limit on the runtime of the operation, but only on the IO sleep. However, spurious wakeups are possible, hence the timer would be reset too often. Fix that, by determining the absolute timestamp early, and checking against that. Follow-up for: 989e843e7543b21b91de4368da44692d674722a5 See: #34048
2024-10-29NEWS: be less misleading since systemd-run does not support ↵Mike Yuan1-1/+1
ExtraFileDescriptors= yet
2024-10-29meson.build: do not mark test-progress-bar as manualLennart Poettering1-1/+0
It will finish on its own always and cleanly, and running it always should increase test coverage.
2024-10-29progress-bar: issue Windows Terminal progress indicating ANSI sequencesLennart Poettering1-2/+13
This generates the Windows Terminal OSC sequences indicating progress. This let's the terminal know that we are doing a slow operation, and how we are progressing. Windows Terminal uses this in two ways: it shows a circle in the tab that completes, and it highlights the progress in the task bar. I found no Linux terminal that currently supports it, but also none that didn't like it. Thankfully most terminals correctly ignore unrecognized OSC sequences. I think we should just merge this, and see if this trips up too many people, but I have reason to believe this shouldn't be too bad. And yes, I do work from Windows Terminal sometimes, ssh into my Linux build systems, and it is really cute seeing the progress animation there.
2024-10-29udevadm: automatically anable JSON-SEQ in case JSON is used for "udevadm ↵Lennart Poettering3-2/+9
info -a" We are going to output a series of JSON objects, hence let's automatically enable JSON-SEQ output mode, as we usually do. "jq --seq" supports this natively, hence this should not really restrict us. Follow-up for: 67ea8a4c0edef33b1775536bc81d5de2c8ac4d88
2024-10-29mkosi: Move copying packages to the output directory to the postinst scriptDaan De Meyer6-27/+24
Now that we have the mkosi.clangd script to run clangd from the mkosi build script, it becomes clear that doing cleanup with mkosi.clean has a big gap in that we always run the mkosi.clean script and thus we also run it when we run the mkosi.clangd script, causing the previously built packages to be removed when we run clangd without producing new ones. In mkosi we're improving the situation by only running clean scripts when we clean up the output directory and disallowing writing to the output directory from build scripts. Let's adapt systemd to these changes by moving the copying of packages to the output directory to the postinst script.
2024-10-29test: test new 'u' sysusers.d linesLennart Poettering1-0/+11
2024-10-29sysusers.d: lock all system users defined by usLennart Poettering7-7/+7
2024-10-29sysusers: add new ! line flag for creating fully locked accountsLennart Poettering2-8/+36
Fixes: #13522
2024-10-29network: add missing else in dhcp_lease_loadRonan Pigott2-1/+2
Fixes: 3fd6708cde0f (network: Serialize DNR servers)
2024-10-29update-utmp: wait slightly longer for the private bus socket being activeYu Watanabe1-4/+7
Before a339495b1d67f69f49ffffdd96002164a28f1c93, update-utmp typically connects the public DBus socket when disconnected from the private DBus socket, as dbus service should be active even during PID1 is being reexecuted. However, after a339495b1d67f69f49ffffdd96002164a28f1c93, update-utmp tries to connect only the private DBus socket, but reexecution of PID1 may be slow, hence all trials may fail when the reexecution is slow. With this change, now it waits for 100ms to 2000ms, so in total it waits about 37 seconds in average, previously about 4 seconds.
2024-10-29man: fix return parameter type of sd_device_get_device_id()Lennart Poettering1-1/+1
2024-10-28socket: support setting ownership of message queuesDavid Michael3-5/+58
This applies the existing SocketUser=/SocketGroup= options to units defining a POSIX message queue, bringing them in line with UNIX sockets and FIFOs. They are set on the file descriptor rather than a file system path because the /dev/mqueue path interface is an optional mount unit.
2024-10-28update NEWS for v257Lennart Poettering1-103/+411
2024-10-28po: Translated using Weblate (Czech)Pavel Borecki1-7/+6
Currently translated at 86.5% (219 of 253 strings) Co-authored-by: Pavel Borecki <pavel.borecki@gmail.com> Translate-URL: https://translate.fedoraproject.org/projects/systemd/main/cs/ Translation: systemd/main
2024-10-28cgroup: Add support for ProtectControlGroups= private and strictRyan Wilson10-34/+323
This commit adds two settings private and strict to the ProtectControlGroups= property. Private will unshare the cgroup namespace and mount a read-write private cgroup2 filesystem at /sys/fs/cgroup. Strict does the same except the mount is read-only. Since the unit is running in a cgroup namespace, the new root of /sys/fs/cgroup is the unit's own cgroup. We also add a new dbus property ProtectControlGroupsEx which accepts strings instead of boolean. This will allow users to use private/strict via dbus and systemd-run in addition to service files. Note private and strict fall back to no and yes respectively if the kernel doesn't support cgroup2 or system is not using unified hierarchy. Fixes: #34634
2024-10-28core: Refactor ProtectControlGroups= to use enum vs boolRyan Wilson10-25/+85
This commit refactors ProtectControlGroups= from using a boolean in the dbus/execute backend to using an enum. There is no functional change but this will allow adding new non-boolean values (e.g. strict, private) a la PrivateHome.
2024-10-28sd-json,tree-wide: add sd_json_format_enabled() and use it everwhereZbigniew Jędrzejewski-Szmek31-95/+99
We often used a pattern like if (!FLAGS_SET(flags, SD_JSON_FORMAT_OFF)), which is rather verbose and also contains a double negative, which we try to avoid. Add a little helper to avoid an explicit bit check. This change clarifies an aditional thing: in some cases we treated SD_JSON_FORMAT_OFF as a flag (flags & SD_JSON_FORMAT_OFF), while in other cases we treated it as an independent enum value (flags == SD_JSON_FORMAT_OFF). In the first form, flags like SD_JSON_FORMAT_SSE do _not_ turn the json output on, while in the second form they do. Let's use the first form everywhere. No functional change intended. Initially I wasn't sure if this helper should be made public or just internal, but it seems such a common pattern that if we expose the flags, we might just as well expose it too, to make life easier for any consumers.
2024-10-28sd-id128: mark functions as const, not pureZbigniew Jędrzejewski-Szmek1-5/+5
We would need to use pure if the funtion was getting pointers and dereferencing them. But sd128_t is a structure and those functions only access the parameters of the call.
2024-10-28sd-common: add __const__Zbigniew Jędrzejewski-Szmek1-0/+4
const is stronger than pure, see https://gcc.gnu.org/onlinedocs/gcc/Common-Function-Attributes.html#index-pure-function-attribute and https://gcc.gnu.org/onlinedocs/gcc/Common-Function-Attributes.html#index-const-function-attribute.
2024-10-28meson: add loongarch64's definition to cpu_arch_definesZhou Qiankang1-7/+8
The default definition to add is `-D__loongarch64__`, which is not searched in [bpf_tracing.h](https://github.com/libbpf/libbpf/blob/09b9e83102eb8ab9e540d36b4559c55f3bcdb95d/src/bpf_tracing.h#L68) This may avoid `error: Must specify a BPF target arch via __TARGET_ARCH_xxx` in loongarch64 Signed-off-by: Zhou Qiankang <wszqkzqk@qq.com>
2024-10-27po: Translated using Weblate (Indonesian)Andika Triwidada1-50/+33
Currently translated at 100.0% (253 of 253 strings) Co-authored-by: Andika Triwidada <andika@gmail.com> Translate-URL: https://translate.fedoraproject.org/projects/systemd/main/id/ Translation: systemd/main
2024-10-27core: Add RootDirectory= path to error message if directory does not existRyan Wilson1-10/+26
A colleague reported when RootDirectory= does not exist, systemd reports an error like: ``` Failed to set up mount namespacing: No such file or directory ``` Unfortunately, with large spec files, it can be hard to diagnose which path systemd is talking about. Thus, to make the error message more helpful and similar to mount error messages, we add the root directory/image path into the error message like: ``` Failed to set up mount namespacing: /tmp/thisdoesnotexist: No such file or directory ```
2024-10-27core/execute: Rename error_path -> reterr_path/ret_path per coding guidelinesRyan Wilson3-18/+18
This is a non-functional change to ensure error_path used to print out the offending mount causing an error follows coding guidelines.
2024-10-26core/cgroup: rename CGROUP_PRESSURE_WATCH_ON/OFF -> CGROUP_PRESSURE_WATCH_YES/NOYu Watanabe4-21/+20
No functional change, but let's print yes/no rather than on/off in systemd-analyze. Similar to 2e8a581b9cc1132743c2341fc334461096266ad4 and edd3f4d9b7a63dc9a142ef20119e80d1d9527f2f. (Note, the commit messages of those commits are wrong, as parse_boolean() supports on/off anyway.)
2024-10-26hwdb: add Stream Deck Neo (#34903)Sascha Mester1-0/+4
2024-10-26sd-event: fix memleak when built without assertionYu Watanabe1-5/+8
Fixes a bug introduced by baf3fdec27f0b3a1f3d39c7def2a778824cbee51. This also adds several assertions at the beginning of the function. Fixes #34899.
2024-10-26man: fix typoYu Watanabe1-1/+1
Follow-up for 115fac3c29c80d8917158df2275d45fee118d61f.
2024-10-26basic/missing: add short comment about when CLONE_NEWCGROUP is addedYu Watanabe1-0/+1
2024-10-26tree-wide: replace for loop with FOREACH_ELEMENT or FOREACH_ARRAY macros ↵Integral46-269/+249
(#34893)
2024-10-25machine: operation should not send a response when 'done' callback setIvan Kruglov1-14/+17
2024-10-25test: add brief testcase for systemd-run disconnect handlingLennart Poettering1-0/+3
2024-10-25run: reconnect if our dbus connection is terminatedLennart Poettering1-57/+196
We must be prepared that systemd temporarily drops off the bus or disconnects our direct connections (due to systemctl daemon-reexec or so). Hence automatically reconnect when we watch the unit status, and handle this case gracefully. Fixes: #32906 #27204
2024-10-25update TODOLennart Poettering1-3/+0
2024-10-25run: drop "-" prefix from command line when generating unit descriptionLennart Poettering1-1/+13
Let's not confuse users with the login shell indicator and drop it from the description. This means a run0 session will now usually show up with a description of "[run0] /bin/bash" rather than "[run0] -/bin/bash".