diff options
author | Paul Eggert <eggert@cs.ucla.edu> | 2017-07-16 16:22:33 -0700 |
---|---|---|
committer | Paul Eggert <eggert@cs.ucla.edu> | 2017-07-16 16:29:12 -0700 |
commit | 59f6972134f312863dc761bf66a954a8036d0d86 (patch) | |
tree | cd479a7fe59b72985f98e57c4b4d861c01cf5bc8 /m4/explicit_bzero.m4 | |
parent | 252444aaa3a7cb9fc70289a5a3920f8a9d848109 (diff) | |
download | emacs-59f6972134f312863dc761bf66a954a8036d0d86.tar.gz |
Use explicit_bzero to clear GnuTLS keys
* admin/merge-gnulib (GNULIB_MODULES): Add explicit_bzero.
* lib/explicit_bzero.c, m4/explicit_bzero.m4: New files.
* lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
* src/gnutls.c (clear_storage): New function.
(gnutls_symmetric_aead): Use it instead of memset.
Diffstat (limited to 'm4/explicit_bzero.m4')
-rw-r--r-- | m4/explicit_bzero.m4 | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/m4/explicit_bzero.m4 b/m4/explicit_bzero.m4 new file mode 100644 index 00000000000..f9dc678207a --- /dev/null +++ b/m4/explicit_bzero.m4 @@ -0,0 +1,22 @@ +dnl Copyright 2017 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +AC_DEFUN([gl_FUNC_EXPLICIT_BZERO], +[ + AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS]) + + dnl Persuade glibc <string.h> to declare explicit_bzero. + AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) + + AC_CHECK_FUNCS_ONCE([explicit_bzero]) + if test $ac_cv_func_explicit_bzero = no; then + HAVE_EXPLICIT_BZERO=0 + fi +]) + +AC_DEFUN([gl_PREREQ_EXPLICIT_BZERO], +[ + AC_CHECK_FUNCS([explicit_memset]) +]) |