diff options
Diffstat (limited to 'security/gnupg2/patches/patch-ah')
-rw-r--r-- | security/gnupg2/patches/patch-ah | 241 |
1 files changed, 0 insertions, 241 deletions
diff --git a/security/gnupg2/patches/patch-ah b/security/gnupg2/patches/patch-ah deleted file mode 100644 index 8783ef974f8..00000000000 --- a/security/gnupg2/patches/patch-ah +++ /dev/null @@ -1,241 +0,0 @@ -$NetBSD: patch-ah,v 1.5 2009/12/15 20:10:41 drochner Exp $ - ---- g10/encr-data.c.orig 2009-06-05 13:58:27.000000000 +0000 -+++ g10/encr-data.c -@@ -37,35 +37,14 @@ static int mdc_decode_filter ( void *opa - static int decode_filter ( void *opaque, int control, IOBUF a, - byte *buf, size_t *ret_len); - --typedef struct decode_filter_context_s -+typedef struct - { - gcry_cipher_hd_t cipher_hd; - gcry_md_hd_t mdc_hash; - char defer[22]; - int defer_filled; - int eof_seen; -- int refcount; --} *decode_filter_ctx_t; -- -- --/* Helper to release the decode context. */ --static void --release_dfx_context (decode_filter_ctx_t dfx) --{ -- if (!dfx) -- return; -- -- assert (dfx->refcount); -- if ( !--dfx->refcount ) -- { -- gcry_cipher_close (dfx->cipher_hd); -- dfx->cipher_hd = NULL; -- gcry_md_close (dfx->mdc_hash); -- dfx->mdc_hash = NULL; -- xfree (dfx); -- } --} -- -+} decode_filter_ctx_t; - - - /**************** -@@ -81,11 +60,7 @@ decrypt_data( void *procctx, PKT_encrypt - unsigned blocksize; - unsigned nprefix; - -- dfx = xtrycalloc (1, sizeof *dfx); -- if (!dfx) -- return gpg_error_from_syserror (); -- dfx->refcount = 1; -- -+ memset( &dfx, 0, sizeof dfx ); - if ( opt.verbose && !dek->algo_info_printed ) - { - if (!openpgp_cipher_test_algo (dek->algo)) -@@ -107,13 +82,13 @@ decrypt_data( void *procctx, PKT_encrypt - - if ( ed->mdc_method ) - { -- if (gcry_md_open (&dfx->mdc_hash, ed->mdc_method, 0 )) -+ if (gcry_md_open (&dfx.mdc_hash, ed->mdc_method, 0 )) - BUG (); - if ( DBG_HASHING ) -- gcry_md_start_debug (dfx->mdc_hash, "checkmdc"); -+ gcry_md_start_debug (dfx.mdc_hash, "checkmdc"); - } - -- rc = openpgp_cipher_open (&dfx->cipher_hd, dek->algo, -+ rc = openpgp_cipher_open (&dfx.cipher_hd, dek->algo, - GCRY_CIPHER_MODE_CFB, - (GCRY_CIPHER_SECURE - | ((ed->mdc_method || dek->algo >= 100)? -@@ -127,7 +102,7 @@ decrypt_data( void *procctx, PKT_encrypt - - - /* log_hexdump( "thekey", dek->key, dek->keylen );*/ -- rc = gcry_cipher_setkey (dfx->cipher_hd, dek->key, dek->keylen); -+ rc = gcry_cipher_setkey (dfx.cipher_hd, dek->key, dek->keylen); - if ( gpg_err_code (rc) == GPG_ERR_WEAK_KEY ) - { - log_info(_("WARNING: message was encrypted with" -@@ -146,7 +121,7 @@ decrypt_data( void *procctx, PKT_encrypt - goto leave; - } - -- gcry_cipher_setiv (dfx->cipher_hd, NULL, 0); -+ gcry_cipher_setiv (dfx.cipher_hd, NULL, 0); - - if ( ed->len ) - { -@@ -167,8 +142,8 @@ decrypt_data( void *procctx, PKT_encrypt - temp[i] = c; - } - -- gcry_cipher_decrypt (dfx->cipher_hd, temp, nprefix+2, NULL, 0); -- gcry_cipher_sync (dfx->cipher_hd); -+ gcry_cipher_decrypt (dfx.cipher_hd, temp, nprefix+2, NULL, 0); -+ gcry_cipher_sync (dfx.cipher_hd); - p = temp; - /* log_hexdump( "prefix", temp, nprefix+2 ); */ - if (dek->symmetric -@@ -178,18 +153,17 @@ decrypt_data( void *procctx, PKT_encrypt - goto leave; - } - -- if ( dfx->mdc_hash ) -- gcry_md_write (dfx->mdc_hash, temp, nprefix+2); -- -- dfx->refcount++; -+ if ( dfx.mdc_hash ) -+ gcry_md_write (dfx.mdc_hash, temp, nprefix+2); -+ - if ( ed->mdc_method ) -- iobuf_push_filter ( ed->buf, mdc_decode_filter, dfx ); -+ iobuf_push_filter( ed->buf, mdc_decode_filter, &dfx ); - else -- iobuf_push_filter ( ed->buf, decode_filter, dfx ); -+ iobuf_push_filter( ed->buf, decode_filter, &dfx ); - - proc_packets ( procctx, ed->buf ); - ed->buf = NULL; -- if ( ed->mdc_method && dfx->eof_seen == 2 ) -+ if ( ed->mdc_method && dfx.eof_seen == 2 ) - rc = gpg_error (GPG_ERR_INV_PACKET); - else if ( ed->mdc_method ) - { -@@ -208,28 +182,26 @@ decrypt_data( void *procctx, PKT_encrypt - bytes are appended. */ - int datalen = gcry_md_get_algo_dlen (ed->mdc_method); - -- assert (dfx->cipher_hd); -- assert (dfx->mdc_hash); -- gcry_cipher_decrypt (dfx->cipher_hd, dfx->defer, 22, NULL, 0); -- gcry_md_write (dfx->mdc_hash, dfx->defer, 2); -- gcry_md_final (dfx->mdc_hash); -+ gcry_cipher_decrypt (dfx.cipher_hd, dfx.defer, 22, NULL, 0); -+ gcry_md_write (dfx.mdc_hash, dfx.defer, 2); -+ gcry_md_final (dfx.mdc_hash); - -- if (dfx->defer[0] != '\xd3' || dfx->defer[1] != '\x14' ) -+ if (dfx.defer[0] != '\xd3' || dfx.defer[1] != '\x14' ) - { - log_error("mdc_packet with invalid encoding\n"); - rc = gpg_error (GPG_ERR_INV_PACKET); - } - else if (datalen != 20 -- || memcmp (gcry_md_read (dfx->mdc_hash, 0), -- dfx->defer+2,datalen )) -+ || memcmp (gcry_md_read (dfx.mdc_hash, 0),dfx.defer+2,datalen)) - rc = gpg_error (GPG_ERR_BAD_SIGNATURE); -- /* log_printhex("MDC message:", dfx->defer, 22); */ -- /* log_printhex("MDC calc:", gcry_md_read (dfx->mdc_hash,0), datalen); */ -+ /* log_printhex("MDC message:", dfx.defer, 22); */ -+ /* log_printhex("MDC calc:", gcry_md_read (dfx.mdc_hash,0), datalen); */ - } - - - leave: -- release_dfx_context (dfx); -+ gcry_cipher_close (dfx.cipher_hd); -+ gcry_md_close (dfx.mdc_hash); - return rc; - } - -@@ -240,7 +212,7 @@ static int - mdc_decode_filter (void *opaque, int control, IOBUF a, - byte *buf, size_t *ret_len) - { -- decode_filter_ctx_t dfx = opaque; -+ decode_filter_ctx_t *dfx = opaque; - size_t n, size = *ret_len; - int rc = 0; - int c; -@@ -252,11 +224,11 @@ mdc_decode_filter (void *opaque, int con - } - else if( control == IOBUFCTRL_UNDERFLOW ) - { -- assert (a); -- assert ( size > 44 ); -+ assert(a); -+ assert( size > 44 ); - - /* Get at least 22 bytes and put it somewhere ahead in the buffer. */ -- for (n=22; n < 44 ; n++ ) -+ for(n=22; n < 44 ; n++ ) - { - if( (c = iobuf_get(a)) == -1 ) - break; -@@ -305,10 +277,8 @@ mdc_decode_filter (void *opaque, int con - - if ( n ) - { -- if ( dfx->cipher_hd ) -- gcry_cipher_decrypt (dfx->cipher_hd, buf, n, NULL, 0); -- if ( dfx->mdc_hash ) -- gcry_md_write (dfx->mdc_hash, buf, n); -+ gcry_cipher_decrypt (dfx->cipher_hd, buf, n, NULL, 0); -+ gcry_md_write (dfx->mdc_hash, buf, n); - } - else - { -@@ -317,10 +287,6 @@ mdc_decode_filter (void *opaque, int con - } - *ret_len = n; - } -- else if ( control == IOBUFCTRL_FREE ) -- { -- release_dfx_context (dfx); -- } - else if ( control == IOBUFCTRL_DESC ) - { - *(char**)buf = "mdc_decode_filter"; -@@ -332,7 +298,7 @@ mdc_decode_filter (void *opaque, int con - static int - decode_filter( void *opaque, int control, IOBUF a, byte *buf, size_t *ret_len) - { -- decode_filter_ctx_t fc = opaque; -+ decode_filter_ctx_t *fc = opaque; - size_t n, size = *ret_len; - int rc = 0; - -@@ -343,18 +309,11 @@ decode_filter( void *opaque, int control - if ( n == -1 ) - n = 0; - if ( n ) -- { -- if (fc->cipher_hd) -- gcry_cipher_decrypt (fc->cipher_hd, buf, n, NULL, 0); -- } -+ gcry_cipher_decrypt (fc->cipher_hd, buf, n, NULL, 0); - else - rc = -1; /* EOF */ - *ret_len = n; - } -- else if ( control == IOBUFCTRL_FREE ) -- { -- release_dfx_context (fc); -- } - else if ( control == IOBUFCTRL_DESC ) - { - *(char**)buf = "decode_filter"; |