chiark / gitweb /
Sven Eden [Mon, 20 Aug 2018 07:25:00 +0000 (09:25 +0200)]
Prep v239: Fix logind-session.c, it got screwed by migration.
Sven Eden [Mon, 20 Aug 2018 07:24:05 +0000 (09:24 +0200)]
Prep v239: terminal-util.[hc] - Mask new 'urlify' functions, we do not need them.
Sven Eden [Mon, 20 Aug 2018 07:18:16 +0000 (09:18 +0200)]
Prep v239: string-util.[hc] - Unmasked skip_leading_chars() - Newly utilized by strstrip()
Sven Eden [Mon, 20 Aug 2018 07:16:39 +0000 (09:16 +0200)]
Prep v239: path-util.[hc] - Masked path_simplify_and_warn() - Nowhere needed.
Sven Eden [Mon, 20 Aug 2018 07:15:27 +0000 (09:15 +0200)]
Prep v239: fd-util.[hc] - Masked fd_duplicate_data_fd() - Nowhere needed.
Sven Eden [Thu, 16 Aug 2018 06:07:55 +0000 (08:07 +0200)]
Prep v239: sync manager_get_user_by_pid() with upstream updates
Sven Eden [Wed, 15 Aug 2018 07:01:47 +0000 (09:01 +0200)]
Prep v239: Uncomment header inclusions that are new or needed now.
Sven Eden [Wed, 15 Aug 2018 07:00:48 +0000 (09:00 +0200)]
Prep v239: fs-util: Mask new chase_symlinks_and_*() functions.
They are nowhere needed.
Sven Eden [Wed, 15 Aug 2018 06:58:23 +0000 (08:58 +0200)]
Prep v239: Remove basic/set.c - No longer needed.
Sven Eden [Wed, 15 Aug 2018 06:47:37 +0000 (08:47 +0200)]
Prep v239: manager_get_session_by_pid() : Support Session **ret parameter.
Sven Eden [Wed, 15 Aug 2018 06:38:17 +0000 (08:38 +0200)]
Prep v239: Unmask Valgrind options and checks in meson files.
Doesn't hurt to leave that possibility open.
Sven Eden [Wed, 15 Aug 2018 06:34:24 +0000 (08:34 +0200)]
Prep v239: Fix sd_event_add_inotify.xml
elogind has no inotify test program
Sven Eden [Tue, 14 Aug 2018 16:39:33 +0000 (18:39 +0200)]
Prep v239: Add missing updates that evaded migration.
Sven Eden [Tue, 14 Aug 2018 16:21:43 +0000 (18:21 +0200)]
Prep v239: 73-seat-late.rules is now built from 73-seat-late.rules.m4
Sven Eden [Tue, 14 Aug 2018 16:07:33 +0000 (18:07 +0200)]
Prep v239: Remove portabled, rc-local and time-sync.
They, or at least bits of them, have slithered in during migration.
Sven Eden [Fri, 10 Aug 2018 15:41:29 +0000 (17:41 +0200)]
Build system: Fix various issues that came from errornous migration.
No matter how much advanced check_tree.pl is, there are plenty possibilities
where upstream changes can be transported wrong. Mainly adding something we then
have to mask out. But at the end of the day this is actually wanted, so we do
not miss important changes.
Sven Eden [Fri, 10 Aug 2018 15:36:28 +0000 (17:36 +0200)]
Bump pwx migration tools to stored last mutual commit for upstream v239 tag.
Lennart Poettering [Fri, 22 Jun 2018 11:03:47 +0000 (13:03 +0200)]
meson: bump package and library version
Lennart Poettering [Fri, 22 Jun 2018 10:57:54 +0000 (12:57 +0200)]
final touches to NEWS
Yu Watanabe [Thu, 21 Jun 2018 01:51:35 +0000 (10:51 +0900)]
NEWS: mention 'timedatectl show'
Zbigniew Jędrzejewski-Szmek [Wed, 20 Jun 2018 22:08:36 +0000 (00:08 +0200)]
NEWS: mention %E
Lennart Poettering [Wed, 20 Jun 2018 17:36:06 +0000 (19:36 +0200)]
update TODO
Zbigniew Jędrzejewski-Szmek [Wed, 20 Jun 2018 20:35:36 +0000 (22:35 +0200)]
NEWS: mention ConditionSecurity=uefi-secureboot
Follow-up for
be405b909e5d78b43e3af47e0d10cd84c714e2f3.
Yu Watanabe [Wed, 20 Jun 2018 16:29:49 +0000 (01:29 +0900)]
meson: make DNS-over-TLS support optional
This adds dns-over-tls option to meson. If set to 'false',
systemd-resolved is not linked with libgnutls.
Lennart Poettering [Wed, 20 Jun 2018 09:54:25 +0000 (11:54 +0200)]
NEWS: document that the BLS is now part of our tree
Zbigniew Jędrzejewski-Szmek [Wed, 20 Jun 2018 10:38:36 +0000 (12:38 +0200)]
test-sizeof: another aproach to _Float128 availability detection
Lennart Poettering [Wed, 20 Jun 2018 11:01:51 +0000 (13:01 +0200)]
tree-wide: drop MSG_NOSIGNAL flag from recvmsg() invocations
MSG_NOSIGNAL is only defined for sendmsg(), not for recvmsg(), hence
let's drop it's use, in particular as it appears to create problems on
older kernels. See:
https://lists.freedesktop.org/archives/systemd-devel/2018-June/040869.html
Lennart Poettering [Wed, 20 Jun 2018 09:06:17 +0000 (11:06 +0200)]
update NEWS contributors list again
Lennart Poettering [Wed, 20 Jun 2018 10:46:18 +0000 (12:46 +0200)]
units: make system-update-pre.target a passive unit (#9349)
This is an additional synchronization point normally not needed. Hence,
let's make it passive, i.e. pull it in from the unit which wants to be
ordered before the update service rather than by the update service
itself.
Zbigniew Jędrzejewski-Szmek [Wed, 20 Jun 2018 10:11:00 +0000 (12:11 +0200)]
Drop copyrights tags for "systemd authors"
Zbigniew Jędrzejewski-Szmek [Wed, 20 Jun 2018 09:58:53 +0000 (11:58 +0200)]
tree-wide: drop copyright headers from frequent contributors
Fixes #9320.
for p in Shapovalov Chevalier Rozhkov Sievers Mack Herrmann Schmidt Rudenberg Sahani Landden Andersen Watanabe; do
git grep -e 'Copyright.*'$p -l|xargs perl -i -0pe 's|/([*][*])?[*]\s+([*#]\s+)?Copyright[^\n]*'$p'[^\n]*\s*[*]([*][*])?/\n*|\n|gms; s|\s+([*#]\s+)?Copyright[^\n]*'$p'[^\n]*\n*|\n|gms'
done
Yu Watanabe [Tue, 19 Jun 2018 05:17:02 +0000 (14:17 +0900)]
sd-bus: fix typo in comment
Yu Watanabe [Tue, 19 Jun 2018 05:09:13 +0000 (14:09 +0900)]
tree-wide: do not assign values if not used
Chris Lamb [Mon, 18 Jun 2018 20:43:12 +0000 (22:43 +0200)]
Correct a number of trivial typos.
Yu Watanabe [Fri, 15 Jun 2018 05:25:22 +0000 (14:25 +0900)]
man: use systemd-boot instead of sd-boot
Lennart Poettering [Thu, 19 Apr 2018 14:51:04 +0000 (16:51 +0200)]
update NEWS
Zbigniew Jędrzejewski-Szmek [Thu, 14 Jun 2018 07:18:02 +0000 (09:18 +0200)]
NEWS: rework the description of device naming changes
We really should try to be as precise as possible here. Saying
"your interfaces might be renamed" scares the shit of out people,
for obvious reasons. This change only touches some niche cases
fortunately, let's make this clear.
Lennart Poettering [Thu, 14 Jun 2018 13:22:45 +0000 (15:22 +0200)]
NEWS: update contributor list to current git
Zbigniew Jędrzejewski-Szmek [Thu, 14 Jun 2018 10:28:53 +0000 (12:28 +0200)]
Also drop <authorgroup> from autogenerated pages
Zbigniew Jędrzejewski-Szmek [Thu, 14 Jun 2018 10:02:53 +0000 (12:02 +0200)]
man: drop unused <authorgroup> tags from man sources
Docbook styles required those to be present, even though the templates that we
use did not show those names anywhere. But something changed semi-recently (I
would suspect docbook templates, but there was only a minor version bump in
recent years, and the changelog does not suggest anything related), and builds
now work without those entries. Let's drop this dead weight.
Tested with F26-F29, debian unstable.
$ perl -i -0pe 's/\s*<authorgroup>.*<.authorgroup>//gms' man/*xml
Zbigniew Jędrzejewski-Szmek [Thu, 14 Jun 2018 10:47:16 +0000 (12:47 +0200)]
Drop my copyright headers
perl -i -0pe 's/\s*Copyright © .... Zbigniew Jędrzejewski.*?\n/\n/gms' man/*xml
git grep -e 'Copyright.*Jędrzejewski' -l | xargs perl -i -0pe 's/(#\n)?# +Copyright © [0-9, -]+ Zbigniew Jędrzejewski.*?\n//gms'
git grep -e 'Copyright.*Jędrzejewski' -l | xargs perl -i -0pe 's/\s*\/\*\*\*\s+Copyright © [0-9, -]+ Zbigniew Jędrzejewski[^\n]*?\s*\*\*\*\/\s*/\n\n/gms'
git grep -e 'Copyright.*Jędrzejewski' -l | xargs perl -i -0pe 's/\s+Copyright © [0-9, -]+ Zbigniew Jędrzejewski[^\n]*//gms'
Lennart Poettering [Tue, 12 Jun 2018 17:00:24 +0000 (19:00 +0200)]
tree-wide: beautify remaining copyright statements
Let's unify an beautify our remaining copyright statements, with a
unicode ©. This means our copyright statements are now always formatted
the same way. Yay.
Lennart Poettering [Tue, 12 Jun 2018 16:23:39 +0000 (18:23 +0200)]
tree-wide: remove Lennart's copyright lines
These lines are generally out-of-date, incomplete and unnecessary. With
SPDX and git repository much more accurate and fine grained information
about licensing and authorship is available, hence let's drop the
per-file copyright notice. Of course, removing copyright lines of others
is problematic, hence this commit only removes my own lines and leaves
all others untouched. It might be nicer if sooner or later those could
go away too, making git the only and accurate source of authorship
information.
Lennart Poettering [Tue, 12 Jun 2018 15:04:27 +0000 (17:04 +0200)]
tree-wide: drop 'This file is part of systemd' blurb
This part of the copyright blurb stems from the GPL use recommendations:
https://www.gnu.org/licenses/gpl-howto.en.html
The concept appears to originate in times where version control was per
file, instead of per tree, and was a way to glue the files together.
Ultimately, we nowadays don't live in that world anymore, and this
information is entirely useless anyway, as people are very welcome to
copy these files into any projects they like, and they shouldn't have to
change bits that are part of our copyright header for that.
hence, let's just get rid of this old cruft, and shorten our codebase a
bit.
Lennart Poettering [Tue, 5 Jun 2018 14:52:22 +0000 (16:52 +0200)]
copy: rework copy_file_atomic() to copy the specified file via O_TMPFILE if possible
Lennart Poettering [Tue, 5 Jun 2018 14:51:31 +0000 (16:51 +0200)]
util: allow mkdtemp_malloc() to be called with NULL pattern
In that case simply place the directory in /tmp.
Yu Watanabe [Thu, 14 Jun 2018 02:26:29 +0000 (11:26 +0900)]
fs-util: introduce fchmod_and_chown()
The new function fchmod_and_chown() is almost same as chmod_and_chown()
except it takes file descriptor instead of file path.
Franck Bui [Wed, 13 Jun 2018 16:15:55 +0000 (18:15 +0200)]
locale-util: on overlayfs FTW_MOUNT causes nftw(3) to not list *any* files
On overlayfs, FTW_MOUNT causes nftw to not list *any* files because the
condition used by glibc to verify that it's on the same mountpoint doesn't work
on overlayfs, see https://bugzilla.suse.com/show_bug.cgi?id=
1096807 for the
details.
However using FTW_MOUNT doesn't seem to be really needed when walking through
the keymap directorie tree. So until the glibc or the kernel is fixed (which
might take some time), let's make localectl works with overlayfs.
There's a small side effect here, by which regular (non-directory) files with
bind mounts will be parsed while they were skipped by the previous logic.
Yu Watanabe [Sun, 10 Jun 2018 08:17:34 +0000 (17:17 +0900)]
timedatectl: add 'show' command to display machine-readable output
Closes #9249.
Zbigniew Jędrzejewski-Szmek [Tue, 5 Jun 2018 09:21:00 +0000 (11:21 +0200)]
test-sizeof: also print float types from ISO/IEC TS 18661-3
Iwan Timmer [Wed, 13 Jun 2018 18:26:24 +0000 (20:26 +0200)]
resolve: rename PrivateDNS to DNSOverTLS
PrivateDNS is not considered a good name for this option, so rename it to DNSOverTLS
Franck Bui [Fri, 1 Jun 2018 16:21:03 +0000 (18:21 +0200)]
pid1: preserve current value of log target across re-{load,execution}
To make debugging easier, this patches allows one to change the log target and
do reload/reexec without modifying configuration permanently, which makes
debugging easier.
Indeed if one changed the log target at runtime (via the bus or via signals),
the change was lost on the next reload/reexecution.
In order to restore back the default value (set via system.conf, environment
variables or any other means ), the empty string in the "LogTarget" property is
now supported as well as sending SIGTRMIN+26 signal.
Franck Bui [Wed, 30 May 2018 15:57:23 +0000 (17:57 +0200)]
pid1: preserve current value of log level across re-{load,execution}
To make debugging easier, this patches allows one to change the log level and
do reload/reexec without modifying configuration permanently, which makes
debugging easier.
Indeed if one changed the log max level at runtime (via the bus or via
signals), the change was lost on the next daemon reload/reexecution.
In order to restore the original value back (set via system.conf, environment
variables or any other means), the empty string in the "LogLevel" property is
now supported as well as sending SIGRTMIN+23 signal.
Zbigniew Jędrzejewski-Szmek [Wed, 13 Jun 2018 08:34:30 +0000 (10:34 +0200)]
test-alloc-util: add casts to bools from p ointers
C++03: "An rvalue of arithmetic, enumeration, pointer, or pointer to member
type can be converted to an rvalue of type bool. A zero value, null pointer
value, or null member pointer value is converted to false; any other value is
converted to true"
C should behave the same because pointers are scalars in C, but let's verify
that.
Zbigniew Jędrzejewski-Szmek [Mon, 11 Jun 2018 14:02:03 +0000 (16:02 +0200)]
tree-wide: drop !! casts to booleans
They are not needed, because anything that is non-zero is converted
to true.
C11:
> 6.3.1.2: When any scalar value is converted to _Bool, the result is 0 if the
> value compares equal to 0; otherwise, the result is 1.
https://stackoverflow.com/questions/
31551888/casting-int-to-bool-in-c-c
Zbigniew Jędrzejewski-Szmek [Mon, 11 Jun 2018 14:07:45 +0000 (16:07 +0200)]
test-alloc-util: add a "test" for bool casts
Just in case ;)
There is no good place, test-alloc-util.c is as good as any, and it's quite
short so far, so let's add this there.
Zbigniew Jędrzejewski-Szmek [Mon, 11 Jun 2018 11:47:25 +0000 (13:47 +0200)]
basic/parse-util: remove unnecessary parentheses
Lennart Poettering [Tue, 12 Jun 2018 13:43:59 +0000 (15:43 +0200)]
terminal-util: make file names in --cat-config output clickable links
Lennart Poettering [Tue, 12 Jun 2018 13:20:05 +0000 (15:20 +0200)]
NEWS: add an example that actually applies
Lennart Poettering [Tue, 12 Jun 2018 13:19:54 +0000 (15:19 +0200)]
NEWS: the tool is called resolvconf, without the inner e
Lennart Poettering [Tue, 12 Jun 2018 13:18:50 +0000 (15:18 +0200)]
NEWS: break lines with emacs once more
Let's follow the line break rules our .dir-locals.el file defines
Lennart Poettering [Tue, 12 Jun 2018 13:18:25 +0000 (15:18 +0200)]
NEWS: some .mailmap work to clean up contributors list
Yu Watanabe [Mon, 4 Jun 2018 12:27:57 +0000 (21:27 +0900)]
conf-parser: simplify conf_parse_path()
Follow-up for
97651797e83d0548aef9f808657d3518d89e5aee.
Yu Watanabe [Wed, 13 Jun 2018 02:16:26 +0000 (11:16 +0900)]
bash-completion/resolvectl: support privatedns command
Yu Watanabe [Wed, 13 Jun 2018 05:52:57 +0000 (14:52 +0900)]
NEWS: add more news
Lennart Poettering [Tue, 12 Jun 2018 18:50:15 +0000 (20:50 +0200)]
NEWS: announce DNS-over-TLS too
Lennart Poettering [Tue, 12 Jun 2018 14:26:36 +0000 (16:26 +0200)]
update NEWS with new PrivateMounts= blurb
Lennart Poettering [Tue, 12 Jun 2018 18:50:15 +0000 (20:50 +0200)]
NEWS: announce DNS-over-TLS too
Lennart Poettering [Tue, 12 Jun 2018 17:37:22 +0000 (19:37 +0200)]
core: when applying io/blkio per-device rules, don't remove them if they fail
These devices might show up later, hence leave the rules as they are.
Applying the limits should not alter configuration.
Lennart Poettering [Thu, 7 Jun 2018 14:03:43 +0000 (16:03 +0200)]
tree-wide: unify how we define bit mak enums
Let's always write "1 << 0", "1 << 1" and so on, except where we need
more than 31 flag bits, where we write "UINT64(1) << 0", and so on to force
64bit values.
Iwan Timmer [Fri, 27 Apr 2018 15:50:38 +0000 (17:50 +0200)]
resolved: support for DNS-over-TLS
Add support for DNS-over-TLS using GnuTLS. To reduce latency also TLS False Start and TLS session resumption is supported.
Michael Biebl [Tue, 12 Jun 2018 14:19:21 +0000 (16:19 +0200)]
doc: more spelling fixes
Michael Biebl [Tue, 12 Jun 2018 13:41:38 +0000 (15:41 +0200)]
NEWS: typo fixes
Zbigniew Jędrzejewski-Szmek [Tue, 12 Jun 2018 12:06:47 +0000 (14:06 +0200)]
NEWS: mention "bad-setting" load state and other small additions
Zbigniew Jędrzejewski-Szmek [Tue, 12 Jun 2018 12:06:13 +0000 (14:06 +0200)]
NEWS, CODE_QUALITY: wording fixes
No additions, just moving stuff around and wording cleanups.
Lennart Poettering [Tue, 12 Jun 2018 10:03:28 +0000 (12:03 +0200)]
tree-wide: drop trailing whitespace
Lennart Poettering [Tue, 12 Jun 2018 10:02:51 +0000 (12:02 +0200)]
prepare an initial NEWS file for v239
Lennart Poettering [Mon, 11 Jun 2018 10:32:37 +0000 (12:32 +0200)]
tree-wide: use PATH_STARTSWITH_SET() at two more places
Lennart Poettering [Mon, 11 Jun 2018 10:22:58 +0000 (12:22 +0200)]
core: rework how we validate DeviceAllow= settings
Let's make sure we don't validate "char-*" and "block-*" expressions as
paths.
Lennart Poettering [Mon, 11 Jun 2018 10:17:32 +0000 (12:17 +0200)]
cgroup: beef up device lookup logic for block devices
Let's chase block devices through btrfs and LUKS like we do elsewhere.
Zbigniew Jędrzejewski-Szmek [Tue, 29 May 2018 10:19:09 +0000 (12:19 +0200)]
pid1: do not reset subtree_control on already-existing units with delegation
Fixes #8364.
Reproducer:
$ sudo systemd-run -t -p Delegate=yes bash
# mkdir /sys/fs/cgroup/system.slice/run-u6958.service/supervisor
# echo $$ > /sys/fs/cgroup/system.slice/run-u6958.service/supervisor/cgroup.procs
# echo +memory > /sys/fs/cgroup/system.slice/run-u6958.service/cgroup.subtree_control
# cat /sys/fs/cgroup/system.slice/run-u6958.service/cgroup.subtree_control
memory
# systemctl daemon-reload
# cat /sys/fs/cgroup/system.slice/run-u6958.service/cgroup.subtree_control
(empty)
With patch, the last command shows 'memory'.
Zbigniew Jędrzejewski-Szmek [Mon, 11 Jun 2018 11:17:43 +0000 (13:17 +0200)]
meson: also reject shifts that change the sign bit
../src/test/test-sizeof.c: In function ‘main’:
../src/test/test-sizeof.c:70:24: error: result of ‘1 << 31’ requires 33 bits to represent, but ‘int’ only has 32 bits [-Werror=shift-overflow=]
X = (1 << 31),
^~
cc1: some warnings being treated as errors
Follow-up for
b05ecb8cadd8c32d31b1aabcff4e507bd89b5465.
Zbigniew Jędrzejewski-Szmek [Mon, 11 Jun 2018 12:37:36 +0000 (14:37 +0200)]
basic/path-util: fix ordering in error message
Jun 11 14:29:12 krowka systemd[1]: /etc/systemd/system/workingdir.service:6: = path is not normalizedWorkingDirectory: /../../etc
↓
Jun 11 14:32:12 krowka systemd[1]: /etc/systemd/system/workingdir.service:6: WorkingDirectory= path is not normalized: /../../etc
Lennart Poettering [Fri, 1 Jun 2018 15:46:01 +0000 (17:46 +0200)]
core: introduce a new load state "bad-setting"
Since
bb28e68477a3a39796e4999a6cbc6ac6345a9159 parsing failures of
certain unit file settings will result in load failures of units. This
introduces a new load state "bad-setting" that is entered in precisely
this case.
With this addition error messages on bad settings should be a lot more
explicit, as we don't have to show some generic "errno" error in that
case, but can explicitly say that a bad setting is at fault.
Internally this unit load state is entered as soon as any configuration
loader call returns ENOEXEC. Hence: config parser calls should return
ENOEXEC now for such essential unit file settings. Turns out, they
generally already do.
Fixes: #9107
Marc Kleine-Budde [Tue, 5 Jun 2018 14:08:29 +0000 (16:08 +0200)]
conf-parser: add config_parse_permille()
Marc Kleine-Budde [Tue, 5 Jun 2018 13:15:33 +0000 (15:15 +0200)]
parse-util: add permille parser + tests
Zbigniew Jędrzejewski-Szmek [Mon, 11 Jun 2018 07:57:05 +0000 (09:57 +0200)]
basic/format-table: remove parameter with constant value
Zbigniew Jędrzejewski-Szmek [Sat, 9 Jun 2018 11:41:44 +0000 (13:41 +0200)]
basic/ellipsize: do not assume the string is NUL-terminated when length is given
oss-fuzz flags this as:
==1==WARNING: MemorySanitizer: use-of-uninitialized-value
0. 0x7fce77519ca5 in ascii_is_valid systemd/src/basic/utf8.c:252:9
1. 0x7fce774d203c in ellipsize_mem systemd/src/basic/string-util.c:544:13
2. 0x7fce7730a299 in print_multiline systemd/src/shared/logs-show.c:244:37
3. 0x7fce772ffdf3 in output_short systemd/src/shared/logs-show.c:495:25
4. 0x7fce772f5a27 in show_journal_entry systemd/src/shared/logs-show.c:1077:15
5. 0x7fce772f66ad in show_journal systemd/src/shared/logs-show.c:1164:29
6. 0x4a2fa0 in LLVMFuzzerTestOneInput systemd/src/fuzz/fuzz-journal-remote.c:64:21
...
I didn't reproduce the issue, but this looks like an obvious error: the length
is specified, so we shouldn't use the string with any functions for normal
C-strings.
Zbigniew Jędrzejewski-Szmek [Sat, 9 Jun 2018 11:41:24 +0000 (13:41 +0200)]
basic/utf8: add ascii_is_valid_n()
Yu Watanabe [Mon, 11 Jun 2018 03:31:02 +0000 (12:31 +0900)]
util-lib: reject too long path for timedate_is_valid()
This should fix https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=8827.
Zbigniew Jędrzejewski-Szmek [Sat, 9 Jun 2018 11:12:52 +0000 (13:12 +0200)]
meson: do not allow bit-shift overflows
The primary motivation is to catch enum values created through a shift that is
too big:
../src/test/test-sizeof.c:26:29: error: left shift count >= width of type [-Werror=shift-count-overflow]
enum_with_shift = 1 << 32,
^~
cc1: some warnings being treated as errors
The compiler will now reject those.
This is an alternative to #9224.
Lennart Poettering [Thu, 7 Jun 2018 11:07:52 +0000 (13:07 +0200)]
sd-event: document sd_event_source_set_io_fd_own()
With this we have 100% of the sd-event symbols documented again. Yay!
Lennart Poettering [Thu, 7 Jun 2018 10:40:35 +0000 (12:40 +0200)]
sd-event: add destroy callback logic to sd-event too
This adds what has been added to sd_bus_slot and sd_bus_track to
sd_event too.
Lennart Poettering [Thu, 7 Jun 2018 10:29:52 +0000 (12:29 +0200)]
sd-bus: also add destroy callbacks to sd_bus_track objects
This augments previous work for this for sd_bus_slot objects, and adds
the same concept to sd_bus_track objects, too.
Lennart Poettering [Thu, 7 Jun 2018 11:24:03 +0000 (13:24 +0200)]
copy: put a depth limit on copying file system trees recursively
This is a safety net against bind mount cycles, as such pick it
relatively high at 2048 for now.
As suggested by @filbranden on #9213
Lennart Poettering [Wed, 6 Jun 2018 15:33:28 +0000 (17:33 +0200)]
copy: extend check for mount point crossing
We do this checks as protection against bind mount cycles on the same
file system. However, the check wasn't really effective for that, as
it would only detect cycles A → B → A this way. By using
fs_is_mount_point() we'll also detect cycles A → A.
Also, while we are at it, make these file system boundary checks
optional. This is not used anywhere, but might be eventually...
Most importantly though add a longer blurb explanation the why.
Filipe Brandenburger [Mon, 4 Jun 2018 21:23:14 +0000 (14:23 -0700)]
copy: only check for traversing mount points on directories
This fixes the copy routines on overlay filesystem, which typically
returns the underlying st_dev for files, symlinks, etc.
The value of st_dev is guaranteed to be the same for directories, so
checking it on directories only fixes this code on overlay filesystem
and still keeps it from traversing mount points (which was the original
intent.)
There's a small side effect here, by which regular (non-directory) files
with bind mounts will be copied by the new logic (while they were
skipped by the previous logic.)
Tested: ./build/test-copy with an overlay on /tmp.
Fixes: #9134
Lennart Poettering [Thu, 7 Jun 2018 16:20:04 +0000 (18:20 +0200)]
update TODO
Lennart Poettering [Thu, 7 Jun 2018 15:35:58 +0000 (17:35 +0200)]
update TODO
The three ancient entries marked "bugfixes" are already fixed (in two
cases), or are not really bugs (in the other case). Let's clean this up
a bit.
Lennart Poettering [Mon, 4 Jun 2018 19:00:44 +0000 (21:00 +0200)]
update TODO