iAdd some comments to bencrypt.c - 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 d0213e5514ecb4a49986054e94943ff3016c5766 /scm/dedup/commit/d0213e5514ecb4a49986054e94943ff3016c5766.gph bitreich.org 70 1parent 606b9b2b5560acf057d87bacb67d18512c3c1653 /scm/dedup/commit/606b9b2b5560acf057d87bacb67d18512c3c1653.gph bitreich.org 70 hAuthor: sin URL:mailto:sin@2f30.org bitreich.org 70 iDate: Thu, 2 May 2019 16:37:38 +0100 Err bitreich.org 70 i Err bitreich.org 70 iAdd some comments to bencrypt.c Err bitreich.org 70 i Err bitreich.org 70 iDiffstat: Err bitreich.org 70 i M bencrypt.c | 8 ++++++++ Err bitreich.org 70 i Err bitreich.org 70 i1 file changed, 8 insertions(+), 0 deletions(-) Err bitreich.org 70 i--- Err bitreich.org 70 1diff --git a/bencrypt.c b/bencrypt.c /scm/dedup/file/bencrypt.c.gph bitreich.org 70 i@@ -174,6 +174,7 @@ beput(struct bctx *bctx, void *buf, size_t n, unsigned char *md) Err bitreich.org 70 i char *ebuf; Err bitreich.org 70 i size_t en; Err bitreich.org 70 i Err bitreich.org 70 i+ /* Calculate size of encrypted block */ Err bitreich.org 70 i ectx = bctx->ectx; Err bitreich.org 70 i if (ectx->type == EDNONETYPE) Err bitreich.org 70 i en = n; Err bitreich.org 70 i@@ -182,12 +183,15 @@ beput(struct bctx *bctx, void *buf, size_t n, unsigned char *md) Err bitreich.org 70 i else Err bitreich.org 70 i return -1; Err bitreich.org 70 i Err bitreich.org 70 i+ /* Allocate encrypted block */ Err bitreich.org 70 i ebuf = malloc(EDSIZE + en); Err bitreich.org 70 i if (ebuf == NULL) Err bitreich.org 70 i return -1; Err bitreich.org 70 i Err bitreich.org 70 i+ /* Prepend the encryption descriptor */ Err bitreich.org 70 i ed.type = ectx->type; Err bitreich.org 70 i ed.size = en; Err bitreich.org 70 i+ /* Fill nonce buffer */ Err bitreich.org 70 i if (ectx->type == EDNONETYPE) { Err bitreich.org 70 i memset(ed.nonce, 0, sizeof(ed.nonce)); Err bitreich.org 70 i } else if (ectx->type == EDCHACHATYPE) { Err bitreich.org 70 i@@ -198,6 +202,7 @@ beput(struct bctx *bctx, void *buf, size_t n, unsigned char *md) Err bitreich.org 70 i } Err bitreich.org 70 i packed(ebuf, &ed); Err bitreich.org 70 i Err bitreich.org 70 i+ /* Encrypt block */ Err bitreich.org 70 i if (ectx->type == EDNONETYPE) { Err bitreich.org 70 i memcpy(&ebuf[EDSIZE], buf, en); Err bitreich.org 70 i } else if (ectx->type == EDCHACHATYPE) { Err bitreich.org 70 i@@ -230,17 +235,20 @@ beget(struct bctx *bctx, unsigned char *md, void *buf, size_t *n) Err bitreich.org 70 i char *ebuf; Err bitreich.org 70 i size_t dn, size; Err bitreich.org 70 i Err bitreich.org 70 i+ /* Calculate maximum size of encrypted block */ Err bitreich.org 70 i size = EDSIZE + *n + crypto_aead_xchacha20poly1305_ietf_ABYTES; Err bitreich.org 70 i ebuf = malloc(size); Err bitreich.org 70 i if (ebuf == NULL) Err bitreich.org 70 i return -1; Err bitreich.org 70 i Err bitreich.org 70 i+ /* Read encrypted block */ Err bitreich.org 70 i bops = bstorageops(); Err bitreich.org 70 i if (bops->get(bctx, md, ebuf, &size) < 0) { Err bitreich.org 70 i free(ebuf); Err bitreich.org 70 i return -1; Err bitreich.org 70 i } Err bitreich.org 70 i Err bitreich.org 70 i+ /* Decrypt block */ Err bitreich.org 70 i unpacked(ebuf, &ed); Err bitreich.org 70 i if (ed.type == EDNONETYPE) { Err bitreich.org 70 i dn = ed.size; Err bitreich.org 70 .