X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=ChangeLog;h=0af5d80c390e4d9cd1a7d39c0834aa5e30d6a3fe;hb=c78091bebe80acf4b14d460999b2b2a9cea15b28;hp=ca738bfcea06a15135ba24525c9d084c3d6b0260;hpb=0fe818e1182e7721ec9a9acefd3122824f4b4924;p=gnulib.git diff --git a/ChangeLog b/ChangeLog index ca738bfce..0af5d80c3 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,6 +1,90 @@ +2012-02-19 Paul Eggert + Bruno Haible + + acl: Don't use GETACLCNT and similar ops, since they are unreliable. + + - There were several instances of this pattern: + + for (;;) { + n = acl (f, GETACLCNT, 0, NULL); + [ allocate an array A of size N ] + if (acl (f, GETACL, n, a) == n) + break; + } + + This loop might never terminate if some other process is constantly + manipulating the file's ACL. The loop should be rewritten to + terminate. + + - The acl (... GETACLNT ...) call is merely an optimization; its value + is merely a hint as to how big to make the array. A better + optimization is to avoid the acl (... GETACLNT ...) call entirely, + and just guess a reasonably-big size, growing the size and trying + again if it's not large enough. This guarantees termination, and + saves a system call. + + * lib/acl-internal.h: Include . + (MIN, SIZE_MAX): New macros. + * lib/file-has-acl.c (file_has_acl) [Solaris]: Read the entries into + a stack-allocated buffer, and use malloc if it does not fit. Don't + use GETACLCNT. + * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise. + +2012-02-19 Bruno Haible + + acl: Fix endless loop on Solaris with vxfs. + * lib/file-has-acl.c (file_has_acl) [Solaris]: Treat a failing + acl()/facl() call for ACE_GETACL like a failing call for ACE_GETACLCNT. + * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise. + * lib/copy-acl.c (qcopy_acl)[Solaris]: Likewise. + * tests/test-sameacls.c (main)[Solaris]: Likewise. + Reported by Bill Jones in + , via Paul Eggert. + +2012-02-19 Bruno Haible + + acl: Fix copy-acl test failure on Solaris 11 2011-11. + * lib/file-has-acl.c (NEW_ACE_WRITEA_DATA): New macro. + (acl_ace_nontrivial): Relax the restrictions on access_masks[] so + that this function returns 0 in some more cases. + +2012-02-19 Bruno Haible + + acl: Update doc references. + * doc/acl-resources.txt: Update links to Solaris documentation. + +2012-02-19 Bruno Haible + + Fix test failure in many locales on Solaris 11. + * tests/test-pipe-filter-gi1.c (main): Don't use range expression in + 'tr' arguments. + * tests/test-pipe-filter-ii1.c (main): Likewise. + * build-aux/bootstrap (check_versions): Run 'tr' command with range + expressions in the C locale. + * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise. + * m4/host-os.m4 (gl_HOST_OS): Likewise. + +2012-02-19 Bruno Haible + + gnulib-tool: Improve usage message. + * gnulib-tool (func_usage): Move doc of --help and --version to the + section "Operation modes". + +2012-02-18 Reuben Thomas + + README-release: make it easier to execute commands + * top/README-release: break commands out on to separate lines. + +2012-02-16 Stefano Lattarini + + GNUmakefile: simplify detection of unconfigured trees + * top/GNUmakefile: Use $(wildcard) instead of $(shell) to determine + whether the tree make is being run from is already configured or + not. Related simplifications. + 2012-02-13 Simon Josefsson - * gnulib-tool (Usage): Document --help and --version. + * gnulib-tool (func_usage): Document --help and --version. 2012-02-11 Jim Meyering