lib: Move bareuseronly verification into commit/core
Conceptually `ostree-repo-pull.c` should be be written using just public APIs; we theoretically support building without HTTP for people who just want to use the object store portion and do their own fetching. We have some nontrivial behaviors in the pull layer though; one of those is the "bareuseronly" verification. Make a new internal API that accepts flags, move it into `commit.c`. This is prep for further work in changing object import to support reflinks. Closes: #1193 Approved by: jlebon
This commit is contained in:
1 parent
d4c7093e37
commit
160864d557
9 files changed
+316
-288
No files matched your search
+1
-1
@@ -314,7 +314,7 @@ $CMD_PREFIX ostree --repo=repo-input commit -b content-with-suid --statoverride=
|
||||
if $CMD_PREFIX ostree pull-local --repo=repo --bareuseronly-files repo-input content-with-suid 2>err.txt; then
|
||||
assert_not_reached "copying suid file with --bareuseronly-files worked?"
|
||||
fi
|
||||
assert_file_has_content err.txt 'object.*\.file: invalid mode.*with bits 040.*'
|
||||
assert_file_has_content err.txt 'Content object.*: invalid mode.*with bits 040.*'
|
||||
echo "ok pull-local (bareuseronly files)"
|
||||
|
||||
if ! skip_one_without_user_xattrs; then
|
||||
|
||||
+1
-1
@@ -127,7 +127,7 @@ for flag in "" "--mirror"; do
|
||||
if ${CMD_PREFIX} ostree --repo=mirrorrepo pull ${flag} --bareuseronly-files origin content-with-suid 2>err.txt; then
|
||||
assert_not_reached "pulled unsafe bareuseronly"
|
||||
fi
|
||||
assert_file_has_content err.txt 'object.*\.file: invalid mode.*with bits 040.*'
|
||||
assert_file_has_content err.txt 'Content object.*: invalid mode.*with bits 040.*'
|
||||
done
|
||||
echo "ok pull (bareuseronly, unsafe)"
|
||||
|
||||
|
||||
@@ -45,7 +45,7 @@ $CMD_PREFIX ostree --repo=repo-input commit -b content-with-suid --statoverride=
|
||||
if $CMD_PREFIX ostree pull-local --repo=repo repo-input 2>err.txt; then
|
||||
assert_not_reached "copying suid file into bare-user worked?"
|
||||
fi
|
||||
assert_file_has_content err.txt "Invalid mode.*with bits 040.*in bare-user-only"
|
||||
assert_file_has_content err.txt "Content object.*invalid mode.*with bits 040.*"
|
||||
echo "ok failed to commit suid"
|
||||
|
||||
cd ${test_tmpdir}
|
||||
|
||||
Reference in new issue
Block a user