summaryrefslogtreecommitdiff
path: root/lib/mem.c
diff options
context:
space:
mode:
authorNikos Mavrogiannopoulos <nmav@redhat.com>2016-04-22 12:25:59 +0200
committerNikos Mavrogiannopoulos <nmav@gnutls.org>2016-04-24 14:07:09 +0200
commitd417c2e908d53e80d55949ca0a16c363b12e875b (patch)
tree20d6080a47be4f8455e925d2da2e3f8c31400df3 /lib/mem.c
parent40810a957eefb61c732bbe68a4a2ccdc7faecf04 (diff)
downloadgnutls-d417c2e908d53e80d55949ca0a16c363b12e875b.tar.gz
handshake: added support for ECDH with curve X25519
This follows draft-ietf-tls-rfc4492bis-07 and rfc7748
Diffstat (limited to 'lib/mem.c')
-rw-r--r--lib/mem.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/lib/mem.c b/lib/mem.c
index 2f4fc93f34..65f06588a3 100644
--- a/lib/mem.c
+++ b/lib/mem.c
@@ -113,3 +113,18 @@ void gnutls_free(void *ptr)
}
#endif
+
+/* Returns 1 if the provided buffer is all zero.
+ * It leaks no information via timing.
+ */
+unsigned _gnutls_mem_is_zero(const uint8_t *ptr, unsigned size)
+{
+ unsigned i;
+ uint8_t res = 0;
+
+ for (i=0;i<size;i++) {
+ res |= ptr[i];
+ }
+
+ return ((res==0)?1:0);
+}