core: quote each exec directory entry when serializing
Quote each serialized exec directory entry, and use extract flags compatible with config_parse_exec_directories() when deserializing. This allows paths containing spaces and escaped characters to round-trip correctly. Fixes #41853. Replaces #42686.
This commit is contained in:
@@ -0,0 +1,18 @@
|
||||
# SPDX-License-Identifier: LGPL-2.1-or-later
|
||||
[Unit]
|
||||
Description=Test for RuntimeDirectory (escape)
|
||||
|
||||
[Service]
|
||||
ExecStart=bash -x -c 'test -d "%t/test-exec_runtimedirectory-escape/backsl\ash"'
|
||||
ExecStart=bash -x -c 'test -d "%t/test-exec_runtimedirectory-escape/foo bar:baz\\quux"'
|
||||
ExecStart=bash -x -c 'test -d "%t/test-exec_runtimedirectory-escape/%I"'
|
||||
ExecStart=bash -x -c 'test -d "%t/test-exec_runtimedirectory-escape/%i"'
|
||||
ExecStart=bash -x -c 'test -d "%t/test-exec_runtimedirectory-escape/hoge ho:ge"'
|
||||
ExecStart=bash -x -c 'test -L "%t/test-exec_runtimedirectory-escape/foo:bar"'
|
||||
ExecStart=bash -x -c 'test "$(readlink %t/test-exec_runtimedirectory-escape/foo:bar)" = "hoge ho:ge"'
|
||||
Type=oneshot
|
||||
RuntimeDirectory=test-exec_runtimedirectory-escape/backsl\ash
|
||||
RuntimeDirectory="test-exec_runtimedirectory-escape/foo bar\:baz\\quux"
|
||||
RuntimeDirectory=test-exec_runtimedirectory-escape/%I
|
||||
RuntimeDirectory=test-exec_runtimedirectory-escape/%i
|
||||
RuntimeDirectory="test-exec_runtimedirectory-escape/hoge ho\:ge:test-exec_runtimedirectory-escape/foo\:bar"
|
||||
Reference in New Issue
Block a user