summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* tree-wide: switch various uses of mkdtemp() over to mkdtemp_malloc() (#36057)HEADmainLuca Boccassi9 hours4-58/+41
|\
| * nspawn: assorted coding style fixesLennart Poettering19 hours2-5/+3
| |
| * tree-wide: switch various uses of mkdtemp() over to mkdtemp_malloc()Lennart Poettering19 hours3-53/+38
| |
* | escape: make 'bad' parameter optionalLennart Poettering9 hours2-3/+5
| | | | | | | | | | Treat a NULL bad parameter just like an empty one: do not escape any additional characters except for the CC chars.
* | meson: bump C std to gnu17Mike Yuan9 hours3-8/+8
| | | | | | | | GCC 8.4 (our baseline) defaults to gnu17 already.
* | hexdump: if size is SIZE_MAX, use strlen()Lennart Poettering13 hours2-0/+7
|/ | | | | Similar how we do this as various places: if SIZE_MAX is specified as size determine the size automatically via strlen().
* mkosi: update fedora commit referenceZbigniew Jędrzejewski-Szmek30 hours1-1/+1
| | | | | | | | * c7fecc18eb Skip test_sysusers_defined on upstream builds * f257050ddd Add a .editorconfig file * aa5546e9ed Add a few mkosi artifact directories to .gitignore * 01e5bc1c93 Set SBAT in sd-boot when building on OBS * a7eec4d33d Run upstream integration test suite with Fedora CI
* Several fixlets for GCC warnings (#36051)Zbigniew Jędrzejewski-Szmek31 hours7-28/+48
|\ | | | | Replaces #36043 and #36039.
| * fundamental-macro: conditionalize several gcc warning pragmasYu Watanabe33 hours3-5/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes the following error: In file included from ../src/basic/macro.h:13, from ../src/basic/env-util.h:9, from ../src/nss-systemd/nss-systemd.c:7: ../src/fundamental/macro-fundamental.h:61:9: error: option ‘-Wzero-as-null-pointer-constant’ is valid for C++/ObjC++ but not for C [-Werror=pragmas] 61 | _Pragma("GCC diagnostic ignored \"-Wzero-as-null-pointer-constant\"") | ^~~~~~~ ../src/nss-systemd/nss-systemd.c:106:1: note: in expansion of macro ‘DISABLE_WARNING_ZERO_AS_NULL_POINTER_CONSTANT’ 106 | DISABLE_WARNING_ZERO_AS_NULL_POINTER_CONSTANT; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ cc1: all warnings being treated as errors
| * nss-systemd: work around -Werror=zero-as-null-pointer-constant issue with ↵Lennart Poettering34 hours2-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PTHREAD_MUTEX_INITIALIZER This fixes builds on Fedora: ../src/nss-systemd/nss-systemd.c:105:18: error: zero as null pointer constant [-Werror=zero-as-null-pointer-constant] 105 | .mutex = PTHREAD_MUTEX_INITIALIZER, | ^~~~~~~~~~~~~~~~~~~~~~~~~ ../src/nss-systemd/nss-systemd.c:105:18: error: zero as null pointer constant [-Werror=zero-as-null-pointer-constant] ../src/nss-systemd/nss-systemd.c:109:18: error: zero as null pointer constant [-Werror=zero-as-null-pointer-constant] 109 | .mutex = PTHREAD_MUTEX_INITIALIZER, | ^~~~~~~~~~~~~~~~~~~~~~~~~ ../src/nss-systemd/nss-systemd.c:109:18: error: zero as null pointer constant [-Werror=zero-as-null-pointer-constant] ../src/nss-systemd/nss-systemd.c:113:18: error: zero as null pointer constant [-Werror=zero-as-null-pointer-constant] 113 | .mutex = PTHREAD_MUTEX_INITIALIZER, | ^~~~~~~~~~~~~~~~~~~~~~~~~ ../src/nss-systemd/nss-systemd.c:113:18: error: zero as null pointer constant [-Werror=zero-as-null-pointer-constant] ../src/nss-systemd/nss-systemd.c:117:18: error: zero as null pointer constant [-Werror=zero-as-null-pointer-constant] 117 | .mutex = PTHREAD_MUTEX_INITIALIZER, | ^~~~~~~~~~~~~~~~~~~~~~~~~ ../src/nss-systemd/nss-systemd.c:117:18: error: zero as null pointer constant [-Werror=zero-as-null-pointer-constant] cc1: all warnings being treated as errors
| * fundamental: unify gcc warning pragmas at one placeLennart Poettering34 hours5-26/+17
| | | | | | | | | | This also drops HAVE_WSTRINGOP_TRUNCATION as the corresponding option was introduced in GCC 8, and our baseline is GCC 8.4.
* | Two readme tweaks (#36053)Lennart Poettering31 hours2-8/+8
|\ \
| * | README: add sgx to list of required groupsZbigniew Jędrzejewski-Szmek31 hours1-2/+2
| | | | | | | | | | | | Follow-up for c9c4899f4444d9586e541b5e72597a37f949433a.
| * | docs/HACKING: use 'run0' to indicate which commands require privilegesZbigniew Jędrzejewski-Szmek31 hours1-6/+6
|/ /
* | update TODOLennart Poettering32 hours1-0/+2
| |
* | README: update requirementsYu Watanabe32 hours1-6/+21
| |
* | udev: set clock group for PTP and RTC devicesMiroslav Lichvar33 hours5-1/+8
|/ | | | | Add a new group for clock devices to enable applications like linuxptp to open clocks without root privileges.
* test: add link to Ubuntu autopkgtest status page in READMELuca Boccassi39 hours1-0/+4
| | | | Known issues will be listed there by the team managing the infra
* process-util: port pid_from_same_root_fs() to pidref + more (#35975)Lennart Poettering40 hours9-84/+150
|\ | | | | Let's continue our move to PidRef.
| * process-util: slightly update comment in freeze()Lennart Poettering42 hours1-1/+2
| |
| * process-util: port pid_from_same_root_fs() to pidref, and port three places ↵Lennart Poettering42 hours6-50/+123
| | | | | | | | over to it
| * test-process-util: don't run rest of test suite in forked off childLennart Poettering42 hours1-1/+1
| | | | | | | | | | We left the test suite running in the child after forking off a temporary child for testing. That's bad. fix it.
| * process-util: introduce new FORK_FREEZE flag for safe_fork()Lennart Poettering42 hours4-32/+14
| | | | | | | | | | | | Often we want to fork off a process that just hangs until we kill it, let's add a simple flag to create one of this type, and use it at various places.
| * pidref: various shortcuts to pidref_equal()Lennart Poettering42 hours1-0/+10
|/ | | | | This adds some shortcuts to pidref_equal(), so that we don't have to query the pidfs id if there's no need.
* tree-wide: drop support for kernels without pidfd_open() and ↵Lennart Poettering42 hours7-166/+74
|\ | | | | | | pidfd_send_signal() (#35971)
| * process-util: depend on CLONE_PIDFDMike Yuan6 days1-43/+34
| |
| * tree-wide: drop support for kernels without pidfd_open() and pidfd_send_signal()Mike Yuan6 days6-83/+35
| | | | | | | | Our baseline is v5.4 now.
| * sd-event: assign pid to event source at last also in sd_event_add_child_pidfd()Mike Yuan6 days1-5/+5
| | | | | | | | | | I.e. apply 54988a27b9d1487e1690f94b79031ef61edd6651 to sd_event_add_child_pidfd() too.
| * missing_syscall: require a bunch of syscalls below baselineMike Yuan6 days1-35/+0
| | | | | | | | pidfd-related ones are left out and will be dealt with later.
* | namespace-util: don't reset UID/GIDs in namespace_enter() unless we enter a ↵Lennart Poettering42 hours1-2/+4
| | | | | | | | | | | | | | userns The reset of UID/GID only really makes sense if we enter a userns, hence let#s restrict it to that.
* | shared/bus-util: add missing `set.h` includeJan Macku43 hours1-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ``` In file included from ../src/shared/bus-get-properties.c:4: ../src/shared/bus-message-util.h:22:60: error: unknown type name ‘Set’ 22 | int bus_message_append_string_set(sd_bus_message *m, const Set *s); | ^~~ ../src/shared/bus-get-properties.c: In function ‘bus_property_get_string_set’: ../src/shared/bus-get-properties.c:178:9: error: unknown type name ‘Set’ 178 | Set **s = ASSERT_PTR(userdata); | ^~~ ``` follow-up to https://github.com/systemd/systemd/commit/91080bc9733b5b2478bfc0ed58f6a7ae5da7e639
* | shell-completions: add systemctl sleepDuncan Overbruck44 hours2-1/+2
| |
* | meson: enable -Wzero-as-null-pointer-constant (#36028)Lennart Poettering46 hours36-50/+65
|\ \ | | | | | | | | | | | | Support for C added in gcc 15: https://github.com/gcc-mirror/gcc/commit/236c0829ee21a179c81b83f0d7f112ca23c47a4d
| * | meson: enable -Wzero-as-null-pointer-constantMike Yuan2 days33-29/+76
| | | | | | | | | | | | | | | Support for C added in gcc 15: https://github.com/gcc-mirror/gcc/commit/236c0829ee21a179c81b83f0d7f112ca23c47a4d
| * | tree-wide: remove unnecessary gcc >= 7 version checkMike Yuan2 days17-35/+3
| | | | | | | | | | | | Our baseline is gcc 8.4.
* | | pid1: add GracefulOptions= setting to .mount units (#36023)Lennart Poettering46 hours10-9/+161
|\ \ \ | |/ / |/| | | | | | | | | | | | | | This new setting can be used to specify mount options that shall only be added to the mount option string if the kernel supports them. This shall be used for adding "usrquota" to tmp.mount without breaking compat, but is generally be useful.
| * | pid1: add GracefulOptions= setting to .mount unitsLennart Poettering2 days10-9/+161
| | | | | | | | | | | | | | | | | | | | | | | | This new setting can be used to specify mount options that shall only be added to the mount option string if the kernel supports them. This shall be used for adding "usrquota" to tmp.mount without breaking compat, but is generally be useful.
* | | Revert "OBS: build Fedora/Debian/Ubuntu x86_64 packages on PRs"Luca Boccassi2 days1-33/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | This does not work yet, as we configure multiple git sources, and the workflow service gets confused. We need to update one (the actual code repo) and leave the recipe repos intact, but this is not supported right now. This reverts commit 01f05f0087204914e489057baf12317815325956.
* | | OBS: build Fedora/Debian/Ubuntu x86_64 packages on PRsLuca Boccassi2 days1-0/+33
| | | | | | | | | | | | | | | Start with a subset of what is built from main, can be expanded as needed
* | | log: check isempty for object_field and extra_fieldhanjinpeng2 days1-2/+2
| | |
* | | pty_open_peer() follow-up (#36027)Lennart Poettering2 days5-92/+7
|\ \ \ | |/ / |/| |
| * | terminal-util: drop unused open_terminal_in_namespace()Mike Yuan3 days4-71/+0
| | | | | | | | | | | | | | | | | | With our baseline including TIOCGPTPEER we now systematically open pty peer through ioctl(), i.e. this sits unused since 1d522f1a866f911980b5eaad87182bf58c58fa32. Kill it!
| * | run: with TIOCGPTPEER there's no longer need to acquire pty peer through IPCMike Yuan3 days1-20/+6
| | |
| * | run: correct log level for pty_open_peer() errorMike Yuan3 days1-1/+1
| | | | | | | | | | | | Everything around it logs loudly.
* | | pam-systemd: introduce "user-light" session type, and make ↵Lennart Poettering2 days14-44/+296
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | "background-light" the default for system users (#35987) This implements one idea from #34988: default to "user-light" and "background-light" for system users, so that the service manager is only pulled in for sessions that likely need them, i.e. not cron jobs or ftp logins. This is a compat break to some degree, but I think a worthy one. I updated the NEWS file to explain this.
| * | | logind: improve log message we generate when a user logs inLennart Poettering3 days1-1/+7
| | | | | | | | | | | | | | | | | | | | Mention the session type and class both in the human readable string and in the structured log.
| * | | run0: allow explicit control of service manager activation for run0 sessionsLennart Poettering3 days5-0/+93
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds a new --lightweight=yes/no switch which allows controlling whether the invoked service will have the service manager around or not. Moreover, this changes that if the target user is root it will now support to the lightweight mode, i.e. run0 towards root will no longer pull in the service manager (a real tty login via getty still will though!). My thinking here is that quickly raising privileges via run0 probably shouldn't be considered a proper login but just something short lived, temporary for a single command or similar.
| * | | run: fire sd_notify("READY=1") when in service mode and the unit is properly ↵Lennart Poettering3 days1-16/+79
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | started Let's make sure systemd-run itself works nicely as a service that tells the caller when it is ready. Note that we don't fire the same message in scope mode, since in that case want to leave sd_notify() handling to the invoked process.
| * | | logind: introduce "user-light" session classLennart Poettering3 days10-25/+113
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This new session class is to "user" what "background" is to "background-light": it doesn't cause the per-user service manager to start. This new session class is now the default if no session class was provided at session registration time and the following conditions hold: 1. The session is not graphical 2. The user is not a regular user (but not root) Or in other words root and system users won't get a service manager started automatically if they go through a PAM session as part of things like cron or ftp. They will however still get one if they log in graphically. This changes behaviour a bit, but hopefully in OK was. This also makes "background-light" for system users incl. root. This addresses one of the ideas discussed in #34988.
| * | | logind: introduce macro for the last session class condition checkLennart Poettering3 days2-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | For all checks regarding the properties of sessoin classes we have SESSION_CLASS_CAN_XYZ() style macros. Except for one. Convert that one too.