Files
emacs/src
Paul Eggert 05b8b86699 GnuTLS integer-overflow and style fixes
This tweaks the recently-added GnuTLS improvements so that
they avoid some integer-overflow problems and follow typical
Emacs style a bit better.
* configure.ac (HAVE_GNUTLS3_HMAC, HAVE_GNUTLS3_AEAD)
(HAVE_GNUTLS3_CIPHER): Use AC_CACHE_CHECK so that the
configure-time results are displayed.
* src/fns.c (extract_data_from_object): Return char *, not char
const *, since one gnutls caller wants a non-const pointer.  Use
CONSP rather than !NILP when testing for conses.  Use CAR_SAFE
instead of rolling our own code.  Prefer signed types to unsigned
when either will do.  Report problems for lengths out of range,
instead of silently mishandling them.
* src/gnutls.c (emacs_gnutls_strerror): New function, to simplify
callers.  All callers of gnutls_sterror changed.
(Fgnutls_boot): Check for integers out of range rather than
silently truncating them.
(gnutls_symmetric_aead): Check for integer overflow in size
calculations.
(gnutls_symmetric_aead, Fgnutls_macs, Fgnutls_digests):
Prefer signed to unsigned integers where either	will do.
(gnutls_symmetric_aead, gnutls_symmetric):
Work even if ptrdiff_t is wider than ‘long’.
(gnutls_symmetric, Fgnutls_hash_mac, Fgnutls_hash_digest):
Check for integer overflow in algorithm selection.
2017-07-14 16:36:18 -07:00
..
2017-01-25 21:25:37 -08:00
2016-12-31 19:42:26 -08:00
2016-12-31 19:42:26 -08:00
2017-07-05 18:59:30 -07:00
2017-05-16 10:27:41 -07:00
2017-04-06 20:03:21 -07:00
2016-12-31 19:42:26 -08:00
2017-05-16 10:27:41 -07:00
2016-12-31 19:42:26 -08:00
2016-12-31 19:42:26 -08:00
2017-01-01 01:10:47 -08:00
2016-12-31 19:42:26 -08:00
2016-12-31 19:42:26 -08:00
2016-12-31 19:42:26 -08:00
2016-12-31 19:42:26 -08:00
2016-12-31 19:42:26 -08:00
2016-12-31 19:42:26 -08:00
2016-12-31 19:42:26 -08:00
2016-12-31 19:42:26 -08:00
2017-06-05 20:33:55 -04:00
2016-12-31 19:42:26 -08:00
2017-06-22 11:22:53 -07:00
2016-12-31 19:42:26 -08:00
2016-12-31 19:42:26 -08:00
2017-04-17 10:20:39 -07:00
2016-12-31 19:42:26 -08:00
2016-12-31 19:42:26 -08:00
2017-01-01 01:10:47 -08:00
2016-12-31 19:42:26 -08:00
2017-06-11 17:05:29 -07:00
2017-01-25 21:25:37 -08:00
2016-12-31 19:42:26 -08:00
2017-02-01 15:23:19 -08:00
2016-12-31 19:42:26 -08:00
2017-05-20 15:32:52 +02:00
2017-05-31 16:50:24 -07:00
2016-12-31 19:42:26 -08:00
2016-12-31 19:42:26 -08:00
2017-06-05 19:16:04 +03:00
2016-12-31 19:42:26 -08:00
2017-06-22 11:22:53 -07:00
2016-12-31 19:42:26 -08:00
2016-12-31 19:42:26 -08:00
2017-05-16 10:27:41 -07:00
2017-01-01 01:10:47 -08:00
2017-07-14 16:36:18 -07:00
2016-12-31 19:42:26 -08:00
2017-06-25 12:54:12 -07:00
2017-06-25 12:54:12 -07:00
2017-01-01 01:10:47 -08:00
2017-01-01 01:10:47 -08:00
2016-12-31 19:42:26 -08:00
2017-06-21 12:18:56 -07:00
2016-12-31 19:42:26 -08:00
2017-01-25 21:25:37 -08:00
2016-12-31 19:42:26 -08:00
2017-01-01 01:10:47 -08:00
2017-07-14 16:36:18 -07:00
2016-12-31 19:42:26 -08:00
2017-05-21 21:50:18 +02:00
2017-01-25 21:25:37 -08:00
2016-12-31 19:42:26 -08:00
2017-06-18 11:52:46 -07:00
2017-01-01 01:10:47 -08:00
2017-02-18 18:17:03 -08:00
2016-12-31 19:42:26 -08:00
2017-01-01 01:10:47 -08:00
2016-12-31 19:42:26 -08:00
2016-12-31 19:42:26 -08:00
2016-12-31 19:42:26 -08:00
2017-07-01 12:58:49 +01:00
2017-07-01 12:58:49 +01:00
2017-01-01 01:10:47 -08:00
2017-01-01 01:10:47 -08:00
2017-01-01 01:10:47 -08:00
2016-12-31 19:42:26 -08:00
2017-07-05 18:59:31 -07:00
2016-12-31 19:42:26 -08:00
2016-12-31 19:42:26 -08:00
2016-12-31 19:42:26 -08:00
2017-05-16 10:27:41 -07:00
2017-01-01 01:10:47 -08:00
2017-03-04 23:18:39 -08:00
2017-05-16 10:27:41 -07:00
2016-12-31 19:42:26 -08:00
2016-12-31 19:42:26 -08:00
2017-01-01 01:10:47 -08:00
2017-07-01 12:58:49 +01:00
2017-02-26 09:58:25 -08:00
2016-12-31 19:42:26 -08:00
2017-01-01 01:10:47 -08:00
2016-12-31 19:42:26 -08:00
2017-02-18 12:56:12 +02:00
2017-04-17 10:20:39 -07:00
2016-12-31 19:42:26 -08:00
2016-12-31 19:42:26 -08:00
2017-01-25 21:25:37 -08:00
2016-12-31 19:42:26 -08:00
2016-12-31 19:42:26 -08:00
2016-12-31 19:42:26 -08:00
2016-12-31 19:42:26 -08:00
2017-01-01 01:10:47 -08:00
2017-01-01 01:10:47 -08:00
2017-01-01 01:10:47 -08:00
2016-12-31 19:42:26 -08:00
2017-05-14 19:02:50 +03:00
2017-01-01 01:10:47 -08:00
2016-12-31 19:42:26 -08:00
2017-01-01 01:10:47 -08:00
2017-01-01 01:10:47 -08:00
2016-12-31 19:42:26 -08:00
2017-01-01 01:10:47 -08:00
2017-01-01 01:10:47 -08:00
2017-01-01 01:10:47 -08:00
2016-12-31 19:42:26 -08:00
2017-05-02 11:04:33 +03:00
2017-01-01 01:10:47 -08:00
2017-01-01 01:10:47 -08:00
2016-12-31 19:42:26 -08:00
2017-01-01 01:10:47 -08:00
2017-07-06 00:24:56 -07:00
2017-01-01 01:10:47 -08:00
2017-01-01 01:10:47 -08:00
2017-01-01 01:10:47 -08:00
2017-01-01 01:10:47 -08:00
2016-12-31 19:42:26 -08:00
2017-01-25 21:25:37 -08:00
2016-12-31 19:42:26 -08:00
2016-12-31 19:42:26 -08:00
2017-01-01 01:10:47 -08:00
2017-01-01 01:10:47 -08:00

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
Copyright (C) 2001-2017 Free Software Foundation, Inc.
See the end of the file for license conditions.


This directory contains the source files for the C component of GNU Emacs.
Nothing in this directory is needed for using Emacs once it is built
and installed, if the dumped Emacs is copied elsewhere.

See the files ../README and then ../INSTALL for installation instructions.

The file 'Makefile.in' is used as a template by the script
'../configure' to produce 'Makefile'.  This is the file which actually
controls the compilation of Emacs C source files.  All of this should
work transparently; you should only need to change to the parent
directory, run './configure', and then run 'make'.

This file is part of GNU Emacs.

GNU Emacs is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

GNU Emacs 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 General Public License for more details.

You should have received a copy of the GNU General Public License
along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.