idup-check: Print hashes of corrupt blocks - dedup - deduplicating backup program Err bitreich.org 70
hgit clone git://bitreich.org/dedup/ git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/dedup/ URL:git://bitreich.org/dedup/ git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/dedup/ bitreich.org 70
1Log /scm/dedup/log.gph bitreich.org 70
1Files /scm/dedup/files.gph bitreich.org 70
1Refs /scm/dedup/refs.gph bitreich.org 70
1Tags /scm/dedup/tag bitreich.org 70
1README /scm/dedup/file/README.gph bitreich.org 70
1LICENSE /scm/dedup/file/LICENSE.gph bitreich.org 70
i--- Err bitreich.org 70
1commit fb016d2858d1d77359c56f4d67070fc8386879b6 /scm/dedup/commit/fb016d2858d1d77359c56f4d67070fc8386879b6.gph bitreich.org 70
1parent bfcf7e2d112888bb42b40e2d25211edc7375f8c5 /scm/dedup/commit/bfcf7e2d112888bb42b40e2d25211edc7375f8c5.gph bitreich.org 70
hAuthor: sin <sin@2f30.org> URL:mailto:sin@2f30.org bitreich.org 70
iDate: Sun, 5 May 2019 20:56:51 +0100 Err bitreich.org 70
i Err bitreich.org 70
idup-check: Print hashes of corrupt blocks Err bitreich.org 70
i Err bitreich.org 70
iDiffstat: Err bitreich.org 70
i M dup-check.1 | 3 +++ Err bitreich.org 70
i M dup-check.c | 14 +++++++++++++- Err bitreich.org 70
i Err bitreich.org 70
i2 files changed, 16 insertions(+), 1 deletion(-) Err bitreich.org 70
i--- Err bitreich.org 70
1diff --git a/dup-check.1 b/dup-check.1 /scm/dedup/file/dup-check.1.gph bitreich.org 70
i@@ -19,6 +19,9 @@ This is done by recalculating the hash of Err bitreich.org 70
i all blocks contained in the snapshot and checking Err bitreich.org 70
i whether the recorded hash of each block matches the Err bitreich.org 70
i actual hash. Err bitreich.org 70
i+.sp Err bitreich.org 70
i+If a corrupt block is detected, the hash of the Err bitreich.org 70
i+block will be printed on standard output. Err bitreich.org 70
i .Sh OPTIONS Err bitreich.org 70
i .Bl -tag -width "-k keyfile" Err bitreich.org 70
i .It Fl k Ar keyfile Err bitreich.org 70
1diff --git a/dup-check.c b/dup-check.c /scm/dedup/file/dup-check.c.gph bitreich.org 70
i@@ -8,6 +8,8 @@ Err bitreich.org 70
i #include <stdlib.h> Err bitreich.org 70
i #include <unistd.h> Err bitreich.org 70
i Err bitreich.org 70
i+#include <sodium.h> Err bitreich.org 70
i+ Err bitreich.org 70
i #include "arg.h" Err bitreich.org 70
i #include "block.h" Err bitreich.org 70
i #include "config.h" Err bitreich.org 70
i@@ -24,9 +26,19 @@ check(struct sctx *sctx, struct bctx *bctx) Err bitreich.org 70
i unsigned char md[MDSIZE]; Err bitreich.org 70
i int n; Err bitreich.org 70
i Err bitreich.org 70
i+ if (sodium_init() < 0) Err bitreich.org 70
i+ errx(1, "sodium_init: failed"); Err bitreich.org 70
i+ Err bitreich.org 70
i while ((n = sget(sctx, md)) == MDSIZE) { Err bitreich.org 70
i- if (bcheck(bctx, md) < 0) Err bitreich.org 70
i+ char mdstr[MDSIZE * 2 + 1]; Err bitreich.org 70
i+ int r; Err bitreich.org 70
i+ Err bitreich.org 70
i+ if ((r = bcheck(bctx, md)) < 0) { Err bitreich.org 70
i berr("bcheck"); Err bitreich.org 70
i+ } else if (r > 0) { Err bitreich.org 70
i+ sodium_bin2hex(mdstr, sizeof(mdstr), md, MDSIZE); Err bitreich.org 70
i+ puts(mdstr); Err bitreich.org 70
i+ } Err bitreich.org 70
i } Err bitreich.org 70
i if (n < 0) Err bitreich.org 70
i serr("sget"); Err bitreich.org 70
.
Response:
text/plain