passfd: give nicer error for recvfd at eof
[gnulib.git] / ChangeLog
index aae8c64..36ede18 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,255 @@
+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
+       * lib/ignore-value.h (ignore_value): Use __extension__ and
+       __typeof__ only for GCC 3.4 and later.  Reported by Eric Blake in
+       <http://lists.gnu.org/archive/html/bug-gnulib/2013-11/msg00102.html>.
+       Change the comment to try to explain this better.
+
+2013-11-27  Pádraig Brady <P@draigBrady.com>
+
+       selinux-h: improve stub types and add more stub functions
+
+       * lib/se-selinux.in.h: Change security_context_t to a typedef
+       rather than a define, as it's a pointer type and so is better
+       as a typedef to avoid issues declaring multiple variables
+       with the comma operator.  Also add stub for string_to_security_class().
+       * lib/se-context.in.h: Add stub functions for
+       context_{type,range,role,user}_get().
+
+2013-11-27  Paul Eggert  <eggert@cs.ucla.edu>
+
+       ignore-value: prefer GCC version back through 2.0
+       The code didn't match the comments, so I did a bit of software
+       archaeology.  GCC 2.0 seems to support __extension__ and
+       __typeof__, so fix both code and comments to use 2.0.
+       * lib/ignore-value.h (ignore_value): Use __extension__ and
+       __typeof__ for GCC 2.0 through 3.3, too.
+
+2013-11-25  Mats Erik Andersson  <gnu@gisladisker.se>
+
+       pty: Activate the signature wrapper of forkpty.
+       The intended preprocessor macro HAVE_FORKPTY is
+       never defined, yet `lib/forkpty.c' depends on it.
+
+       * m4/pty.m4 (gl_FUNC_FORKPTY): At completed analysis,
+       apply AC_DEFINE_UNQUOTED to HAVE_FORKPTY with value
+       $HAVE_FORKPTY for access to wrapper in `lib/forkpty.c'.
+
+2013-11-18  Jim Meyering  <meyering@fb.com>
+       and Paul Eggert  <eggert@cs.ucla.edu>
+
+       quotearg: don't attempt to store 1 << 31 into an "int"
+       * lib/quotearg.c (quotearg_buffer_restyled): Building coreutils with
+       gcc's new -fsanitize=undefined and running its tests triggered some
+       new test failures due to undefined behavior, all with this diagnostic:
+         lib/quotearg.c:629:62: runtime error: left shift of 1 by 31 places \
+           cannot be represented in type int
+       Rather than shifting "1" left to form a mask, shift the bits right and
+       simply use "1" as the mask.
+
+2013-11-21  Paul Eggert  <eggert@cs.ucla.edu>
+
+       error: depend on stdio
+       Problem reported by Nikos Mavrogiannopoulos in
+       <http://lists.gnu.org/archive/html/bug-gnulib/2013-11/msg00084.html>
+       * modules/error (Depends-on): Add stdio.
+
+2013-11-18  Ben Pfaff  <blp@cs.stanford.edu>
+
+       * doc/relocatable-maint.texi (Supporting Relocation): Improve
+       wording.
+       Reported by Reuben Thomas <rrt@sc3d.org>.
+
 2013-11-13  Paul Eggert  <eggert@cs.ucla.edu>
 
        * lib/getgroups.c (posix_getgroups, getgroups) [__APPLE__]: