X-Git-Url: https://git.distorted.org.uk/u/mdw/catacomb/blobdiff_plain/79ba130cb5776f994f6a3f0f87159d8cbc5ff129..b817bfc642225b8c3c0b6a7e42d1fb949b61a606:/cbc-def.h diff --git a/cbc-def.h b/cbc-def.h index aff245c..c0fc600 100644 --- a/cbc-def.h +++ b/cbc-def.h @@ -1,6 +1,6 @@ /* -*-c-*- * - * $Id: cbc-def.h,v 1.1 1999/12/10 23:16:39 mdw Exp $ + * $Id: cbc-def.h,v 1.5 2004/04/08 01:36:15 mdw Exp $ * * Definitions for cipher block chaining mode * @@ -27,14 +27,6 @@ * MA 02111-1307, USA. */ -/*----- Revision history --------------------------------------------------* - * - * $Log: cbc-def.h,v $ - * Revision 1.1 1999/12/10 23:16:39 mdw - * Split mode macros into interface and implementation. - * - */ - #ifndef CATACOMB_CBC_DEF_H #define CATACOMB_CBC_DEF_H @@ -49,6 +41,10 @@ #include #include +#ifndef CATACOMB_ARENA_H +# include "arena.h" +#endif + #ifndef CATACOMB_BLKC_H # include "blkc.h" #endif @@ -57,6 +53,10 @@ # include "gcipher.h" #endif +#ifndef CATACOMB_PARANOIA_H +# include "paranoia.h" +#endif + /*----- Macros ------------------------------------------------------------*/ /* --- @CBC_DEF@ --- * @@ -71,7 +71,7 @@ /* --- @pre_cbcgetiv@ --- * \ * \ * Arguments: @const pre_cbcctx *ctx@ = pointer to CBC context block \ - * @void *iv#@ = pointer to output data block \ + * @void *iv@ = pointer to output data block \ * \ * Returns: --- \ * \ @@ -134,7 +134,7 @@ void pre##_cbcinit(pre##_cbcctx *ctx, \ const void *key, size_t sz, \ const void *iv) \ { \ - static octet zero[PRE##_BLKSZ] = { 0 }; \ + static const octet zero[PRE##_BLKSZ] = { 0 }; \ pre##_init(&ctx->ctx, key, sz); \ BLKC_LOAD(PRE, ctx->iv, iv ? iv : zero); \ } \ @@ -389,7 +389,7 @@ typedef struct gctx { \ \ static gcipher *ginit(const void *k, size_t sz) \ { \ - gctx *g = CREATE(gctx); \ + gctx *g = S_CREATE(gctx); \ g->c.ops = &gops; \ pre##_cbcinit(&g->k, k, sz, 0); \ return (&g->c); \ @@ -410,7 +410,8 @@ static void gdecrypt(gcipher *c, const void *s, void *t, size_t sz) \ static void gdestroy(gcipher *c) \ { \ gctx *g = (gctx *)c; \ - DESTROY(g); \ + BURN(*g); \ + S_DESTROY(g); \ } \ \ static void gsetiv(gcipher *c, const void *iv) \ @@ -420,12 +421,12 @@ static void gsetiv(gcipher *c, const void *iv) \ } \ \ static const gcipher_ops gops = { \ - &pre##_cbc.b, \ - gencrypt, gdecrypt, gdestroy, gsetiv, 0 \ + &pre##_cbc, \ + gencrypt, gdecrypt, gdestroy, gsetiv, 0 \ }; \ \ const gccipher pre##_cbc = { \ - { #pre "-cbc", PRE##_KEYSZ, PRE##_BLKSZ }, \ + #pre "-cbc", pre##_keysz, PRE##_BLKSZ, \ ginit \ }; \ \