From 62af1d0b2a31185dc8acaf3fe8fc3149414277bd Mon Sep 17 00:00:00 2001
From: RincewindsHat <12514511+RincewindsHat@users.noreply.github.com>
Date: Sat, 17 Sep 2022 02:56:19 +0200
Subject: gnulib changes
---
gl/sha256-stream.c | 145 -----------------------------------------------------
1 file changed, 145 deletions(-)
delete mode 100644 gl/sha256-stream.c
(limited to 'gl/sha256-stream.c')
diff --git a/gl/sha256-stream.c b/gl/sha256-stream.c
deleted file mode 100644
index c2e63989..00000000
--- a/gl/sha256-stream.c
+++ /dev/null
@@ -1,145 +0,0 @@
-/* sha256.c - Functions to compute SHA256 and SHA224 message digest of files or
- memory blocks according to the NIST specification FIPS-180-2.
-
- Copyright (C) 2005-2006, 2008-2022 Free Software Foundation, Inc.
-
- This file is free software: you can redistribute it and/or modify
- it under the terms of the GNU Lesser General Public License as
- published by the Free Software Foundation; either version 2.1 of the
- License, or (at your option) any later version.
-
- This file is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public License
- along with this program. If not, see . */
-
-/* Written by David Madore, considerably copypasting from
- Scott G. Miller's sha1.c
-*/
-
-#include
-
-/* Specification. */
-#if HAVE_OPENSSL_SHA256
-# define GL_OPENSSL_INLINE _GL_EXTERN_INLINE
-#endif
-#include "sha256.h"
-
-#include
-
-#if USE_UNLOCKED_IO
-# include "unlocked-io.h"
-#endif
-
-#include "af_alg.h"
-
-#define BLOCKSIZE 32768
-#if BLOCKSIZE % 64 != 0
-# error "invalid BLOCKSIZE"
-#endif
-
-/* Compute message digest for bytes read from STREAM using algorithm ALG.
- Write the message digest into RESBLOCK, which contains HASHLEN bytes.
- The initial and finishing operations are INIT_CTX and FINISH_CTX.
- Return zero if and only if successful. */
-static int
-shaxxx_stream (FILE *stream, char const *alg, void *resblock,
- ssize_t hashlen, void (*init_ctx) (struct sha256_ctx *),
- void *(*finish_ctx) (struct sha256_ctx *, void *))
-{
- switch (afalg_stream (stream, alg, resblock, hashlen))
- {
- case 0: return 0;
- case -EIO: return 1;
- }
-
- char *buffer = malloc (BLOCKSIZE + 72);
- if (!buffer)
- return 1;
-
- struct sha256_ctx ctx;
- init_ctx (&ctx);
- size_t sum;
-
- /* Iterate over full file contents. */
- while (1)
- {
- /* We read the file in blocks of BLOCKSIZE bytes. One call of the
- computation function processes the whole buffer so that with the
- next round of the loop another block can be read. */
- size_t n;
- sum = 0;
-
- /* Read block. Take care for partial reads. */
- while (1)
- {
- /* Either process a partial fread() from this loop,
- or the fread() in afalg_stream may have gotten EOF.
- We need to avoid a subsequent fread() as EOF may
- not be sticky. For details of such systems, see:
- https://sourceware.org/bugzilla/show_bug.cgi?id=1190 */
- if (feof (stream))
- goto process_partial_block;
-
- n = fread (buffer + sum, 1, BLOCKSIZE - sum, stream);
-
- sum += n;
-
- if (sum == BLOCKSIZE)
- break;
-
- if (n == 0)
- {
- /* Check for the error flag IFF N == 0, so that we don't
- exit the loop after a partial read due to e.g., EAGAIN
- or EWOULDBLOCK. */
- if (ferror (stream))
- {
- free (buffer);
- return 1;
- }
- goto process_partial_block;
- }
- }
-
- /* Process buffer with BLOCKSIZE bytes. Note that
- BLOCKSIZE % 64 == 0
- */
- sha256_process_block (buffer, BLOCKSIZE, &ctx);
- }
-
- process_partial_block:;
-
- /* Process any remaining bytes. */
- if (sum > 0)
- sha256_process_bytes (buffer, sum, &ctx);
-
- /* Construct result in desired memory. */
- finish_ctx (&ctx, resblock);
- free (buffer);
- return 0;
-}
-
-int
-sha256_stream (FILE *stream, void *resblock)
-{
- return shaxxx_stream (stream, "sha256", resblock, SHA256_DIGEST_SIZE,
- sha256_init_ctx, sha256_finish_ctx);
-}
-
-int
-sha224_stream (FILE *stream, void *resblock)
-{
- return shaxxx_stream (stream, "sha224", resblock, SHA224_DIGEST_SIZE,
- sha224_init_ctx, sha224_finish_ctx);
-}
-
-/*
- * Hey Emacs!
- * Local Variables:
- * coding: utf-8
- * End:
- */
--
cgit v1.2.3-74-g34f1