Work around environments that (stupidly) ignore SIGALRM.
[gnulib.git] / ChangeLog
index 6c165cd..97aec20 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,222 @@
+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