diff options
Diffstat (limited to 'lib/sha1.c')
| -rw-r--r-- | lib/sha1.c | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/lib/sha1.c b/lib/sha1.c index ce0f0b2e71f..8306d887da5 100644 --- a/lib/sha1.c +++ b/lib/sha1.c | |||
| @@ -122,21 +122,29 @@ sha1_finish_ctx (struct sha1_ctx *ctx, void *resbuf) | |||
| 122 | } | 122 | } |
| 123 | #endif | 123 | #endif |
| 124 | 124 | ||
| 125 | #ifdef GL_COMPILE_CRYPTO_STREAM | ||
| 126 | |||
| 127 | #include "af_alg.h" | ||
| 128 | |||
| 125 | /* Compute SHA1 message digest for bytes read from STREAM. The | 129 | /* Compute SHA1 message digest for bytes read from STREAM. The |
| 126 | resulting message digest number will be written into the 16 bytes | 130 | resulting message digest number will be written into the 20 bytes |
| 127 | beginning at RESBLOCK. */ | 131 | beginning at RESBLOCK. */ |
| 128 | int | 132 | int |
| 129 | sha1_stream (FILE *stream, void *resblock) | 133 | sha1_stream (FILE *stream, void *resblock) |
| 130 | { | 134 | { |
| 131 | struct sha1_ctx ctx; | 135 | switch (afalg_stream (stream, "sha1", resblock, SHA1_DIGEST_SIZE)) |
| 132 | size_t sum; | 136 | { |
| 137 | case 0: return 0; | ||
| 138 | case -EIO: return 1; | ||
| 139 | } | ||
| 133 | 140 | ||
| 134 | char *buffer = malloc (BLOCKSIZE + 72); | 141 | char *buffer = malloc (BLOCKSIZE + 72); |
| 135 | if (!buffer) | 142 | if (!buffer) |
| 136 | return 1; | 143 | return 1; |
| 137 | 144 | ||
| 138 | /* Initialize the computation context. */ | 145 | struct sha1_ctx ctx; |
| 139 | sha1_init_ctx (&ctx); | 146 | sha1_init_ctx (&ctx); |
| 147 | size_t sum; | ||
| 140 | 148 | ||
| 141 | /* Iterate over full file contents. */ | 149 | /* Iterate over full file contents. */ |
| 142 | while (1) | 150 | while (1) |
| @@ -194,6 +202,7 @@ sha1_stream (FILE *stream, void *resblock) | |||
| 194 | free (buffer); | 202 | free (buffer); |
| 195 | return 0; | 203 | return 0; |
| 196 | } | 204 | } |
| 205 | #endif | ||
| 197 | 206 | ||
| 198 | #if ! HAVE_OPENSSL_SHA1 | 207 | #if ! HAVE_OPENSSL_SHA1 |
| 199 | /* Compute SHA1 message digest for LEN bytes beginning at BUFFER. The | 208 | /* Compute SHA1 message digest for LEN bytes beginning at BUFFER. The |