From bb9c0a1ed4e6b3be4c5a259d3a6192960bc0c432 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Niels=20M=C3=B6ller?= Date: Mon, 31 Oct 2022 19:04:23 +0100 Subject: New function _nettle_poly1305_update. --- md-internal.h | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) (limited to 'md-internal.h') diff --git a/md-internal.h b/md-internal.h index fe520c63..a97b7b90 100644 --- a/md-internal.h +++ b/md-internal.h @@ -32,6 +32,8 @@ #ifndef NETTLE_MD_INTERNAL_H_INCLUDED #define NETTLE_MD_INTERNAL_H_INCLUDED +#include + /* Internal helper macros for Merkle-Damgård hash functions. Assumes the context structs includes the following fields: @@ -51,7 +53,18 @@ memcpy((ctx)->block + (ctx)->index, (data), __md_left); \ (data) += __md_left; \ (length) -= __md_left; \ - (ctx)->index = 0; \ } while(0) +#define MD_FILL_OR_RETURN_INDEX(block_size, block, index, length, data) \ + do { \ + unsigned __md_left = (block_size) - (index); \ + if ((length) < __md_left) \ + { \ + memcpy(block + (index), (data), (length)); \ + return (index) + (length); \ + } \ + memcpy((block) + (index), (data), __md_left); \ + (data) += __md_left; \ + (length) -= __md_left; \ + } while(0) #endif /* NETTLE_MD_INTERNAL_H_INCLUDED */ -- cgit v1.2.1