Work around environments that (stupidly) ignore SIGALRM.
[gnulib.git] / ChangeLog
index 9ac5ab8..97aec20 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,432 @@
+2008-06-10  Bruno Haible  <bruno@clisp.org>
+
+       * tests/test-memmem.c (main): Reset SIGALRM to default handling before
+       using alarm().
+       * tests/test-strcasestr.c (main): Likewise.
+       * tests/test-strstr.c (main): Likewise.
+
+2008-06-09  Bruno Haible  <bruno@clisp.org>
+
+       Work around the Solaris 10 ACE ACLs ABI change.
+       * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
+       declare if ACL_NO_TRIVIAL is present.
+       (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
+       NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
+       NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
+       * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
+       define if ACL_NO_TRIVIAL is present.
+       (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
+       and use the current ABI.
+       (file_has_acl): Use same #if condition as elsewhere.
+       * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
+       in use, and use the current ABI.
+       * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
+       Reported by Jim Meyering.
+
+2008-06-09  Eric Blake  <ebb9@byu.net>
+
+       Work around environments that (stupidly) ignore SIGALRM.
+       * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
+       before using alarm().
+       * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
+       * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
+       Reported by Ian Beckwith <ianb@erislabs.net>.
+
+       Produce autobuild blurb earlier in log.
+       * modules/autobuild (configure.ac-early): Move AB_INIT here.
+
+2008-06-09  Jim Meyering  <meyering@redhat.com>
+       and Ondřej Vašík  <ovasik@redhat.com>
+
+       utimens.c: correct kernel bug work-around
+       Ondřej Vašík found that the invalid return value of 280 indicates
+       failure, not success, and the kernel bug we're trying to work
+       around affects not just the utimensat call, but also the fallback
+       futimens call.
+       * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
+       not success.
+       [HAVE_FUTIMENS]: Use the same work-around, here.
+
+2008-06-09  Jim Meyering  <meyering@redhat.com>
+
+       add more guards around definition of ACE_-related code
+       * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
+       ALLOW and ACE_OWNER are also defined.
+
+2008-06-08  Bruno Haible  <bruno@clisp.org>
+
+       * lib/acl-internal.h: Add me as co-author.
+       * lib/file-has-acl.c: Likewise.
+       * lib/set-mode-acl.c: Likewise.
+       * lib/copy-acl.c: Likewise.
+
+2008-06-08  Bruno Haible  <bruno@clisp.org>
+
+       Add support for AIX ACLs.
+       * lib/acl-internal.h (acl_nontrivial): New declaration.
+       * lib/file-has-acl.c (acl_nontrivial): New function.
+       (file_has_acl): Add implementation using AIX 4 ACL API.
+       * lib/set-mode-acl.c (qset_acl): Likewise.
+       * lib/copy-acl.c (qcopy_acl): Likewise.
+
+2008-06-08  Bruno Haible  <bruno@clisp.org>
+
+       Add support for HP-UX ACLs.
+       * lib/acl-internal.h (acl_nontrivial): New declaration.
+       * lib/file-has-acl.c (acl_nontrivial): New function.
+       (file_has_acl): Add implementation using HP-UX 11 ACL API.
+       * lib/set-mode-acl.c (qset_acl): Likewise.
+       * lib/copy-acl.c (qcopy_acl): Likewise.
+
+2008-06-08  Bruno Haible  <bruno@clisp.org>
+
+       Add support for Cygwin ACLs.
+       * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
+       * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
+       the chmod_or_fchmod call.
+       * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
+
+2008-06-08  Bruno Haible  <bruno@clisp.org>
+
+       Fix bug with setuid modes in Solaris 10+ code.
+       * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
+       succeeded, when the mode contains some special bits.
+
+2008-06-08  Bruno Haible  <bruno@clisp.org>
+
+       Add support for Solaris 7..10 ACLs.
+       * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
+       declarations.
+       * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
+       functions.
+       (file_has_acl): Add implementation using Solaris 7..10 ACL API.
+       * lib/set-mode-acl.c (qset_acl): Likewise.
+       * lib/copy-acl.c (qcopy_acl): Likewise.
+
+2008-06-08  Bruno Haible  <bruno@clisp.org>
+
+       * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
+       declaration.
+       * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
+       (acl_access_nontrivial): Remove MacOS X case.
+       (file_has_acl): Use acl_extended_nontrivial.
+       * lib/copy-acl.c (qcopy_acl): Likewise.
+
+2008-06-08  Bruno Haible  <bruno@clisp.org>
+
+       * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
+
+2008-06-08  Jim Meyering  <meyering@redhat.com>
+
+       * modules/acl (Maintainer): Add Bruno Haible.
+
+2008-06-07  Bruno Haible  <bruno@clisp.org>
+
+       Improve support for Tru64 ACLs.
+       * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
+       ACL on OSF/1.
+
+2008-06-07  Bruno Haible  <bruno@clisp.org>
+
+       Add support for MacOS X ACLs.
+       * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
+       ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
+       * lib/set-mode-acl.c (qset_acl): Likewise.
+       * lib/copy-acl.c (qcopy_acl): Likewise.
+
+2008-06-07  Bruno Haible  <bruno@clisp.org>
+
+       Fix memory leak introduced on 2008-05-22.
+       * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
+       use.
+
+2008-06-07  Bruno Haible  <bruno@clisp.org>
+
+       * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
+       to construct an empty ACL.
+
+2008-06-07  Bruno Haible  <bruno@clisp.org>
+
+       * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
+       precisely.
+       * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
+
+2008-06-07  Bruno Haible  <bruno@clisp.org>
+
+       * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
+       * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
+
+2008-06-07  Bruno Haible  <bruno@clisp.org>
+
+       * doc/posix-functions/_setjmp.texi: Explain the use of this function
+       regardless of POSIX.
+       * doc/posix-functions/_longjmp.texi: Likewise.
+       * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
+       SystemV platform in this case.
+
+2008-06-06  Eric Blake  <ebb9@byu.net>
+
+       Document abort() bugs.
+       * doc/posix-functions/abort.texi (abort): Mention anomalies.
+
+       * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
+       * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
+       sigsetjmp.
+       * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
+       siglongjmp, but only as a macro.
+       * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
+       is obsolete.
+       * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
+
+       Tweak documentation to cover cygwin argz bugs.
+       * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
+       argz bug fix; no code change needed since no cygwin releases
+       occurred between the last fix and the bug being tested.
+       * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
+       module and recently fixed cygwin bugs.
+       * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
+       * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
+       * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
+       * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
+       * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
+       Likewise.
+       * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
+       * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
+       * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
+       * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
+       * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
+       * doc/glibc-functions/argz_stringify.texi (argz_stringify):
+       Likewise.
+
+       Avoid gcc warning on cygwin.
+       * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
+       !ACL_NO_TRIVIAL]: Avoid unused variable.
+
+2008-06-05  Eric Blake  <ebb9@byu.net>
+
+       Be tolerant of UNKNOWN version in gnulib-tool test dir.
+       * top/GNUmakefile (_dummy): Warn rather than reconfigure if
+       git-version-gen fails to come up with a version.
+       Reported by Simon Josefsson.
+
+2008-06-05  Jim Meyering  <meyering@redhat.com>
+           Paul Eggert  <eggert@cs.ucla.edu>
+
+       utimens.c: work around a probable Linux kernel bug
+       * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
+       appears to be a kernel bug that causes utimensat to return 280
+       instead of 0, indicating success.
+
+2008-06-04  Bruno Haible  <bruno@clisp.org>
+
+       * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
+       2008-06-01 commit.
+
+2008-06-04  Bruno Haible  <bruno@clisp.org>
+
+       * lib/acl-internal.h (acl_access_nontrivial): New declaration.
+       * lib/file-has-acl.c (acl_access_nontrivial): New function.
+       (file_has_acl): Use it. Save errno afterwards.
+       * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
+
+2008-06-03  Bruno Haible  <bruno@clisp.org>
+
+       * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
+       draft code. Simplify #ifs.
+       * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
+       Put Solaris code after POSIX-draft code. Fix comments regarding
+       Solaris 10, HP-UX. Mention Cygwin.
+       * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
+
+2008-06-03  Eric Blake  <ebb9@byu.net>
+
+       Provide fallback for older kernels.
+       * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
+       Provide runtime fallback if kernel lacks support.
+       Reported by Mike Frysinger.
+
+2008-06-02  Bruno Haible  <bruno@clisp.org>
+
+       * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
+       it exists.
+
+2008-06-02  Bruno Haible  <bruno@clisp.org>
+
+       * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
+       * lib/copy-acl.c (qcopy_acl): Update comment.
+
+2008-06-02  Bruno Haible  <bruno@clisp.org>
+
+       * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
+       like ACL APIs.
+
+2008-06-02  Bruno Haible  <bruno@clisp.org>
+
+       * tests/test-file-has-acl.sh: Use different code for Cygwin.
+       * tests/test-set-mode-acl.sh: Likewise.
+       * tests/test-copy-acl.sh: Likewise.
+       * tests/test-copy-file.sh: Likewise.
+
+2008-06-02  Bruno Haible  <bruno@clisp.org>
+
+       * tests/test-file-has-acl.sh: Remove unused code.
+
+2008-06-01  Bruno Haible  <bruno@clisp.org>
+
+       * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
+       (copy_acl): Just a wrapper around qcopy_acl that emits the error
+       messages.
+       * lib/set-mode-acl.c (qset_acl): Document return value precisely.
+
+2008-06-01  Bruno Haible  <bruno@clisp.org>
+
+       * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
+       tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
+       needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
+       APIs.
+       * modules/acl-tests (configure.ac): Remove tests now contained in
+       m4/acl.m4.
+
+2008-06-02  Jim Meyering  <meyering@redhat.com>
+
+       announce-gen: use a better key-server host name
+       * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
+       it may be more consistently reliable.  Suggested by Werner Koch
+       in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
+
+2008-06-01  Bruno Haible  <bruno@clisp.org>
+
+       * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
+       Reported by Voroskoi Andras <voroskoi@gmail.com>.
+
+2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
+
+       * lib/stdio-impl.h [__DragonFly__]: Fix typo.
+
+2008-06-01  Bruno Haible  <bruno@clisp.org>
+
+       New ACL tests.
+       * tests/test-file-has-acl.sh: New file.
+       * tests/test-file-has-acl.c: New file.
+       * tests/test-set-mode-acl.sh: New file.
+       * tests/test-set-mode-acl.c: New file.
+       * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
+       * tests/test-copy-acl.c: New file.
+       * modules/acl-tests: New file, based on modules/copy-file-tests.
+       * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
+       (Depends-on): Add acl-tests.
+       (configure.ac): Remove checks.
+       (Makefile.am): Don't create test-sameacls program here any more.
+
+2008-06-01  Bruno Haible  <bruno@clisp.org>
+
+       * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
+       * tests/test-sameacls.c: Include progname.h.
+       (main): Invoke set_program_name. Portability fixes for MacOS X,
+       Solaris, HP-UX.
+
+2008-06-01  Bruno Haible  <bruno@clisp.org>
+
+       * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
+       function.
+       Reported by VOROSKOI Andras <voroskoi@gmail.com>.
+
+2008-06-01  Bruno Haible  <bruno@clisp.org>
+
+       * modules/rpmatch (Depends-on): Add strdup.
+
+2008-06-01  Bruno Haible  <bruno@clisp.org>
+
+       * lib/pipe.c: Include unistd-safer.h.
+       (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
+       * modules/pipe (Depends-on): Add unistd-safer.
+
+2008-05-30  Simon Josefsson  <simon@josefsson.org>
+
+       * modules/autobuild (configure.ac): Call AB_INIT.
+
+2008-05-30  Simon Josefsson  <simon@josefsson.org>
+
+       * tests/test-getaddrinfo.c: Don't print debug messages by default.
+       Suggested by Bruno Haible <bruno@clisp.org>.
+
+2008-05-30  Simon Josefsson  <simon@josefsson.org>
+
+       * tests/test-base64.c: Cast size_t to unsigned long when invoking
+       printf.  Use %lu instead of %d.  Reported by Bruno Haible
+       <bruno@clisp.org>.
+
+2008-05-29  Eric Blake  <ebb9@byu.net>
+
+       Prefer new POSIX 200x interfaces over futimesat.
+       * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
+       * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
+       when available.
+       [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
+
+2008-05-28  Bruno Haible  <bruno@clisp.org>
+
+       * modules/stpcpy (License): Change to LGPLv2+.
+       Requested by David Lutterkort <dlutter@redhat.com>.
+
+2008-05-27  Bruno Haible  <bruno@clisp.org>
+
+       * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
+       current mingw.
+       Reported by Jose E. Marchesi <jemarch@gnu.org>.
+
+2008-05-27  Bruno Haible  <bruno@clisp.org>
+
+       * modules/iconv_open (Link): New section, from module 'iconv'.
+       * modules/striconv (Link): Likewise.
+       * modules/striconveh (Link): Likewise.
+       * modules/xstriconv (Link): Likewise.
+       * modules/unicodeio (Link): Likewise.
+       * modules/propername (Link): Likewise.
+       Reported by Jim Meyering.
+
+2008-05-26  Jim Meyering  <meyering@redhat.com>
+
+       sha256: do not artificially restrict buffer length to be < 2^32
+       * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
+       uint32_t to size_t.
+       * lib/sha256.c (sha256_conclude_ctx): Change type of a local
+       to match.
+
+       avoid unaligned access errors, e.g., on sparc
+       * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
+       direct access through a possibly-unaligned uint64* pointer.
+       * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
+       direct access through a possibly-unaligned uint32* pointer.
+       Prompted by this patch from Tom "spot" Callaway:
+       http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
+
+       sha512.c: fix typo in comment
+       * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
+
+2008-05-25  Bruno Haible  <bruno@clisp.org>
+
+       * lib/set-mode-acl.c: Renamed from lib/acl.c.
+       * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
+       (Makefile.am): Update lib_SOURCES.
+
+2008-05-25  Bruno Haible  <bruno@clisp.org>
+
+       * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
+
 2008-05-25  Jim Meyering  <meyering@redhat.com>
 
+       useless-if-before-free: freed expr may have white-space differences
+       * build-aux/useless-if-before-free: Recognize cases in which the
+       freed expression differs from the tested one in embedded white
+       space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
+       $1 was used, so we can't make any regexp shy.  Improved tests now
+       detect this.
+
+       useless-if-before-free: accept white space in the expression.
+       * build-aux/useless-if-before-free: For now, any white space
+       in the expression must be identical in the free argument.
+
        useless-if-before-free: efficiency tweak
        * build-aux/useless-if-before-free: Make the expression-matching
        regexp "shy".