URI: 
       Add some comments to bencrypt - dedup - deduplicating backup program
  HTML git clone git://bitreich.org/dedup/ git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/dedup/
   DIR Log
   DIR Files
   DIR Refs
   DIR Tags
   DIR README
   DIR LICENSE
       ---
   DIR commit dda406622a65ea3905118661977763385ff03d3b
   DIR parent 1feae458b96873f36e197e2eadcf34bde003b43e
  HTML Author: sin <sin@2f30.org>
       Date:   Fri,  3 May 2019 12:24:28 +0100
       
       Add some comments to bencrypt
       
       Diffstat:
         M bencrypt.c                          |      14 ++++++++++----
       
       1 file changed, 10 insertions(+), 4 deletions(-)
       ---
   DIR diff --git a/bencrypt.c b/bencrypt.c
       @@ -47,15 +47,15 @@ static struct bops bops = {
        
        /* Encryption layer context */
        struct ectx {
       -        int type;        /* encryption algorithm type for new blocks */
       +        int type;                /* encryption algorithm type for new blocks */
                unsigned char key[KEYSIZE];        /* secret key */
        };
        
        /* Encryption descriptor */
        struct ed {
       -        uint16_t type;        /* encryption algorithm type */
       -        uint8_t reserved[6];
       -        uint64_t size;
       +        uint16_t type;                /* encryption algorithm type */
       +        uint8_t reserved[6];        /* should be set to 0 when writing */
       +        uint64_t size;                /* size of encrypted block */
                unsigned char nonce[crypto_aead_xchacha20poly1305_ietf_NPUBBYTES];
        };
        
       @@ -98,6 +98,7 @@ becreat(struct bctx *bctx, char *path, int mode, struct bparam *bpar)
                struct bops *bops;
                int type;
        
       +        /* Determine algorithm type */
                if (strcasecmp(bpar->ealgo, "none") == 0)
                        type = EDNONETYPE;
                else if (strcasecmp(bpar->ealgo, "XChaCha20-Poly1305") == 0)
       @@ -105,12 +106,14 @@ becreat(struct bctx *bctx, char *path, int mode, struct bparam *bpar)
                else
                        return -1;
        
       +        /* Ensure that if caller requested encryption, a key was provided */
                if (type != EDNONETYPE && bpar->key == NULL)
                        return -1;
        
                if (sodium_init() < 0)
                        return -1;
        
       +        /* Allocate and initialize encryption context */
                bctx->ectx = calloc(1, sizeof(struct ectx));
                if (bctx->ectx == NULL)
                        return -1;
       @@ -133,6 +136,7 @@ beopen(struct bctx *bctx, char *path, int flags, int mode, struct bparam *bpar)
                struct ectx *ectx;
                struct bops *bops;
        
       +        /* Allocate and initialize encryption context */
                bctx->ectx = calloc(1, sizeof(struct ectx));
                if (bctx->ectx == NULL)
                        return -1;
       @@ -146,6 +150,7 @@ beopen(struct bctx *bctx, char *path, int flags, int mode, struct bparam *bpar)
                        return -1;
                }
        
       +        /* Determine algorithm type */
                if (strcasecmp(bpar->ealgo, "none") == 0)
                        ectx->type = EDNONETYPE;
                else if (strcasecmp(bpar->ealgo, "XChaCha20-Poly1305") == 0)
       @@ -156,6 +161,7 @@ beopen(struct bctx *bctx, char *path, int flags, int mode, struct bparam *bpar)
                        return -1;
                }
        
       +        /* Ensure that if repo is encrypted, a key was provided */
                if (ectx->type != EDNONETYPE && bpar->key == NULL) {
                        bops->close(bctx);
                        free(ectx);