summaryrefslogtreecommitdiff
path: root/obnam.md
diff options
context:
space:
mode:
authorLars Wirzenius <liw@liw.fi>2021-01-04 18:57:49 +0200
committerLars Wirzenius <liw@liw.fi>2021-01-04 20:02:06 +0200
commit8efabc60f87e5462b01f4832d575f68382929624 (patch)
tree422b3941b6867871486df2198aef0e431c6b95ac /obnam.md
parent650b7cee5700eae9ab6c300fbdb816dead6f01f5 (diff)
downloadobnam2-8efabc60f87e5462b01f4832d575f68382929624.tar.gz
feat: verify checksum of chunks downloaded from server
Diffstat (limited to 'obnam.md')
-rw-r--r--obnam.md20
1 files changed, 20 insertions, 0 deletions
diff --git a/obnam.md b/obnam.md
index 0c4ab50..accfca2 100644
--- a/obnam.md
+++ b/obnam.md
@@ -976,6 +976,26 @@ when I run obnam --config smoke.yaml list-files
then file live/data.dat was backed up because it was changed
~~~
+## Checksum verification
+
+Each chunk has metadata with the checksum of the chunk contents. This
+scenario verifies that the client checks the contents hasn't been
+modified.
+
+~~~scenario
+given an installed obnam
+and a running chunk server
+and a client config based on smoke.yaml
+and a file live/data.dat containing some random data
+when I run obnam --config smoke.yaml backup
+then backup generation is GEN
+when I invoke obnam --config smoke.yaml get-chunk <GEN>
+then exit code is 0
+when chunk <GEN> on chunk server is replaced by an empty file
+when I invoke obnam --config smoke.yaml get-chunk <GEN>
+then command fails
+~~~
+
## Tricky filenames
Obnam needs to handle all filenames the underlying operating and file