Merge commit 'a39d4083cab589d7cd6a13e8a4b8db8875261d75'
[gnulib.git] / ChangeLog
index 21659ea..4335802 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,203 @@
+2014-01-01  Paul Eggert  <eggert@cs.ucla.edu>
+
+       doc: update main copyright year
+       * doc/gnulib.texi: Update copyright date.
+
+2014-01-01  Eric Blake  <eblake@redhat.com>
+
+       version-etc: new year
+       * lib/version-etc.c (COPYRIGHT_YEAR): Bump to 2014.
+       * all files: run 'make update-copyright'
+
+2013-12-24  Eric Blake  <eblake@redhat.com>
+
+       passfd: give nicer error for recvfd at eof
+       * lib/passfd.c (recvfd): Fake ENOTCONN if other end closes early.
+       * tests/test-passfd.c (main): Enhance test to cover this.
+
+2013-12-17  Paul Eggert  <eggert@cs.ucla.edu>
+
+       gettimeofday: port recent C++ fix to Emacs
+       Without this further patch, Emacs won't build due to
+       the portcheck failing.  Also, this simplifies the patch a bit.
+       * lib/time.in.h (localtime, gmtime): Don't replace unless
+       GNULIB_GETTIMEOFDAY.  Treat them more like mktime.
+       * lib/time.in.h (localtime, gmtime):
+       * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME):
+       * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS):
+       * modules/time (time.h):
+       Don't worry about about the possibility of localtime and gmtime
+       being absent; they're present in all C libraries we know about.
+       * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS):
+       Don't assume sys_time is present and has been initialized.
+       Instead, use a hack that should work even if it hasn't been.
+       Don't use a portcheck for gmtime or localtime; this supports
+       the hack.
+       * modules/time (time.h): Substitute GNULIB_GETTIMEOFDAY.
+
+2013-12-17  John W. Eaton  <jwe@gnu.org>
+
+       gettimeofday: fix C++ crosscompilation
+
+       Never replace gmtime and localtime by macros when compiling with
+       C++, this prevents <ctime> from being included.
+
+       * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Do not
+       define gmtime and localtime as preprocessor macros.  Instead
+       define some HAVE_GMTIME, HAVE_LOCALTIME, REPLACE_GMTIME, and
+       REPLACE_LOCALTIME substitutions.
+       * lib/time.in.h: Declare gmtime and localtime when needed.
+       * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): AC_SUBST HAVE_GMTIME,
+       HAVE_LOCALTIME, REPLACE_GMTIME, and REPLACE_LOCALTIME.
+       * modules/time: Depend on gettimeofday, and substitute the above
+       variables in time.h.
+
+2013-12-17  Paul Eggert  <eggert@cs.ucla.edu>
+
+       qacl: port to Windows better
+       See Eli Zaretskii in
+       <http://lists.gnu.org/archive/html/emacs-devel/2013-12/msg00593.html>.
+       * lib/file-has-acl.c (acl_access_nontrivial):
+       Return -1 and set errno if !HAVE_ACL_FIRST_ENTRY &&
+       !HAVE_ACL_TO_SHORT_TEXT && !HAVE_ACL_FREE_TEXT.
+
+2013-12-12  Alexander V. Lukyanov  <lav@netis.ru>
+
+       md5, sha1, sha256, sha512: fix (trivial) compile error in c++ mode.
+       * lib/gl_openssl.h: Cast void pointers to a specific type.
+
+2013-12-07  Pádraig Brady <P@draigBrady.com>
+
+       open-tests: fix build failure with -Werror=old-style-declaration
+       * tests/test-open.h: Reorder the inline to avoid the issue.
+
+2013-12-07  Pádraig Brady <P@draigBrady.com>
+
+       md5, sha1, sha256, sha512: fix link error with partial libcrypto
+       * m4/gl-openssl.m4 (gl_CRYPTO_CHECK): Only clear LIB_CRYPTO at
+       init time, so that if early checks find crypto routines,
+       while the last does not, then @LIB_CRYPTO@ is replaced correctly,
+       avoiding link failures.
+
+2013-12-07  Paul Eggert  <eggert@cs.ucla.edu>
+
+       md5, sha1, sha256, sha512: add gl_SET_CRYPTO_CHECK_DEFAULT
+       This provides a new way to specify the default for
+       gl_CRYPTO_CHECK, one that is reflected in the --help message.
+       Emacs uses this, as well as the old way.
+       This attempts to implement a suggestion by Pádraig Brady in
+       <http://lists.gnu.org/archive/html/coreutils/2013-12/msg00080.html>.
+       * m4/gl-openssl.m4(gl_SET_CRYPTO_CHECK_DEFAULT): New macro.
+       (gl_CRYPTO_CHECK): Use it.  Mention the default in --help output.
+
+       md5, sha1, sha256, sha512: add 'auto', and a way to specify default
+       * m4/gl-openssl.m4 (gl_CRYPTO_CHECK):
+       Add support for a new option, --with-openssl=auto, which causes
+       the library to be used if available and silently ignored if not.
+       Add support to allow allow configure.ac to specify its own
+       default, by setting with_openssl_default before invoking gl_INIT.
+
+2013-12-05  Paul Eggert  <eggert@cs.ucla.edu>
+
+       open-tests: port to glibc with _FORTIFY_SOURCE and -O1
+       Problem reported by Daiki Ueno in:
+       http://lists.gnu.org/archive/html/bug-gnulib/2013-06/msg00052.html
+       * tests/test-open.h (__always_inline):
+       New macro, if not already defined.
+       (test_open): Use it.
+
+2013-12-04  Eric Blake  <eblake@redhat.com>
+
+       include_next: minimize code duplication
+       * modules/include_next (Depends-on): Add absolute-header.
+       * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Reuse
+       gl_ABSOLUTE_HEADER_ONE instead of open-coding it.
+
+2013-12-04  Pádraig Brady <P@draigBrady.com>
+
+       getcwd: fix compile error in configure check
+       * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Include errno.h
+
+2013-12-04  Pádraig Brady <P@draigBrady.com>
+
+       regex: suppress core dumps from detection code
+       * m4/regex.m4 (gl_REGEX): Catch the SIGABRT and convert to SIGTERM
+       to suppress core dumps that may well occur on glibc systems.
+       These core dumps might not be cleaned up automatically, or could
+       trigger some system core dump handling logic.
+
+2013-12-03  Pádraig Brady <P@draigBrady.com>
+
+       md5, sha1, sha256, sha512: support mandating use of openssl
+       * m4/gl-openssl.m4 (gl_crypto_check): Adjust the --with-openssl
+       description, to list the now 3 separate options.  also don't
+       mention the default=no, since this is implicit given the option
+       is described as --with-openssl rather than --without-openssl.
+       If projects change the default they're free to document that.
+       with --with-openssl[=yes] we now error out when the specified
+       hash algorithm is not available in libcrypto.
+
+2013-12-03  Ivailo  <xakepa10@gmail.com>
+
+       test-xvasprintf: (trivial) fix to disable some -Wformat-security diags
+       * tests/test-xvasprintf.c: Disable -Wformat-zero-length and
+       -Wformat-nonliteral checks, as these edge cases are part of the test.
+
+2013-12-03  Eric Blake  <eblake@redhat.com>
+
+       regex: avoid glibc deadlock during configure
+       * m4/regex.m4 (gl_REGEX): Avoid recursive malloc deadlock when
+       glibc bug 15078 in turn triggers bug 16159.
+       Reported by Michal Privoznik.
+
+2013-12-02  Pádraig Brady <P@draigBrady.com>
+
+       md5, sha1, sha256, sha512: use openssl routines if available.
+       --with-openssl the libcrypto md5, sha1, sha224, sha256, sha384, sha256
+       routines will be used if available, requiring apps to link @LIB_CRYPTO@
+       * lib/gl_openssl.h: Provide wrappers for specified openssl hash.
+       * m4/gl-openssl.m4 (gl_CRYPTO_CHECK): New function to lookup libcrypto
+       in the standard system location.
+       * m4/sha1.m4: Call gl_CRYPTO_CHECK() for SHA1.
+       * m4/sha256.m4: Likewise with SHA256.
+       * m4/sha512.m4: Likewise with SHA512.
+       * m4/md5.m4: Likewise with MD5.
+       * m4/gc.m4: Ensure @LIB_CRYPTO@ set for tests.
+       * lib/sha1.h: Include wrappers if HAVE_OPENSSL_SHA1.
+       * lib/sha256.h: Likewise with SHA256.
+       * lib/sha512.h: Likewise with SHA512.
+       * lib/md5.h: Likewise with MD5.
+       * lib/sha1.c: Exlude functionality if HAVE_OPENSSL_SHA1.
+       * lib/sha256.c: Likewise with SHA256.
+       * lib/sha512.c: Likewise with SHA512.
+       * lib/md5.c: Likewise with MD5.
+       * modules/crypto/sha1 (Link:): Add the new optional lib.
+       (Depends-on:): Add dependency on extern-inline.
+       * modules/crypto/sha256: Likewise.
+       * modules/crypto/sha512: Likewise.
+       * modules/crypto/md5: Likewise.
+       * modules/crypto/sha1-tests: Reference the lib here too.
+       * modules/crypto/md5-tests: Likewise.
+       * modules/crypto/gc-des-tests: Likewise.
+       * modules/crypto/gc-hmac-md5-tests: Likewise.
+       * modules/crypto/gc-hmac-sha1-tests: Likewise.
+       * modules/crypto/gc-hmac-sha256-tests: Likewise.
+       * modules/crypto/gc-hmac-sha512-tests: Likewise.
+       * modules/crypto/gc-md5-tests: Likewise.
+       * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
+       * modules/crypto/gc-sha1-tests: Likewise.
+       * modules/crypto/gc-tests: Likewise.
+       * modules/crypto/hmac-md5-tests: Likewise.
+       * modules/crypto/hmac-sha1-tests: Likewise.
+       * modules/crypto/hmac-sha256-tests: Likewise.
+       * modules/crypto/hmac-sha512-tests: Likewise.
+
+2013-11-29  RV1971  <rv1971@web.de>
+
+       base64: (trivial) fix compilation regression on some compilers
+       * lib/base64.c: Don't return the void function,
+       instead split to a separate return statement.
+
 2013-11-28  Paul Eggert  <eggert@cs.ucla.edu>
 
        ignore-value: revert previous code change
 2013-11-28  Paul Eggert  <eggert@cs.ucla.edu>
 
        ignore-value: revert previous code change
        coding: utf-8
        End:
 
        coding: utf-8
        End:
 
-       Copyright (C) 1997-2013 Free Software Foundation, Inc.
+       Copyright (C) 1997-2014 Free Software Foundation, Inc.
 
        Copying and distribution of this file, with or without
        modification, are permitted provided the copyright notice
 
        Copying and distribution of this file, with or without
        modification, are permitted provided the copyright notice