iRevert "Store key in hex format" - 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 f3cfc694a10d1cd07ad4ddc04806e3819adfa510 /scm/dedup/commit/f3cfc694a10d1cd07ad4ddc04806e3819adfa510.gph bitreich.org 70 1parent bf808eff120238a6a3ef7cc243469143a7f8c40b /scm/dedup/commit/bf808eff120238a6a3ef7cc243469143a7f8c40b.gph bitreich.org 70 hAuthor: sin URL:mailto:sin@2f30.org bitreich.org 70 iDate: Tue, 21 May 2019 12:10:15 +0100 Err bitreich.org 70 i Err bitreich.org 70 iRevert "Store key in hex format" Err bitreich.org 70 i Err bitreich.org 70 iThis reverts commit bf808eff120238a6a3ef7cc243469143a7f8c40b. Err bitreich.org 70 i Err bitreich.org 70 iDiffstat: Err bitreich.org 70 i M key.c | 18 ++---------------- Err bitreich.org 70 i Err bitreich.org 70 i1 file changed, 2 insertions(+), 16 deletions(-) Err bitreich.org 70 i--- Err bitreich.org 70 1diff --git a/key.c b/key.c /scm/dedup/file/key.c.gph bitreich.org 70 i@@ -25,17 +25,12 @@ keygen(unsigned char *key, size_t n) Err bitreich.org 70 i int Err bitreich.org 70 i writekey(int fd, unsigned char *key, size_t n) Err bitreich.org 70 i { Err bitreich.org 70 i- unsigned char keystr[KEYSIZE * 2 + 1]; Err bitreich.org 70 i- Err bitreich.org 70 i assert(KEYSIZE == crypto_aead_xchacha20poly1305_ietf_KEYBYTES); Err bitreich.org 70 i if (n != KEYSIZE) { Err bitreich.org 70 i seterr("invalid key size"); Err bitreich.org 70 i return -1; Err bitreich.org 70 i } Err bitreich.org 70 i- Err bitreich.org 70 i- sodium_bin2hex(keystr, sizeof(keystr), key, n); Err bitreich.org 70 i- Err bitreich.org 70 i- if (xwrite(fd, keystr, sizeof(keystr) - 1) != sizeof(keystr) - 1) { Err bitreich.org 70 i+ if (xwrite(fd, key, n) != n) { Err bitreich.org 70 i seterr("failed to write key"); Err bitreich.org 70 i return -1; Err bitreich.org 70 i } Err bitreich.org 70 i@@ -45,23 +40,14 @@ writekey(int fd, unsigned char *key, size_t n) Err bitreich.org 70 i int Err bitreich.org 70 i readkey(int fd, unsigned char *key, size_t n) Err bitreich.org 70 i { Err bitreich.org 70 i- unsigned char keystr[KEYSIZE * 2 + 1]; Err bitreich.org 70 i- size_t binlen; Err bitreich.org 70 i- Err bitreich.org 70 i assert(KEYSIZE == crypto_aead_xchacha20poly1305_ietf_KEYBYTES); Err bitreich.org 70 i if (n != KEYSIZE) { Err bitreich.org 70 i seterr("invalid key size"); Err bitreich.org 70 i return -1; Err bitreich.org 70 i } Err bitreich.org 70 i- Err bitreich.org 70 i- if (xread(fd, keystr, sizeof(keystr) - 1) != sizeof(keystr) - 1) { Err bitreich.org 70 i+ if (xread(fd, key, n) != n) { Err bitreich.org 70 i seterr("failed to read key"); Err bitreich.org 70 i return -1; Err bitreich.org 70 i } Err bitreich.org 70 i- keystr[sizeof(keystr) - 1] = '\0'; Err bitreich.org 70 i- Err bitreich.org 70 i- sodium_hex2bin(key, n, keystr, sizeof(keystr), NULL, &binlen, NULL); Err bitreich.org 70 i- if (binlen != KEYSIZE) Err bitreich.org 70 i- return -1; Err bitreich.org 70 i return 0; Err bitreich.org 70 i } Err bitreich.org 70 .