popen-safer: prevent popen from clobbering std descriptors
[gnulib.git] / ChangeLog
index da55331..2161c2b 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,51 @@
+2009-08-19  Eric Blake  <ebb9@byu.net>
+
+       popen-safer: prevent popen from clobbering std descriptors
+       * modules/popen-safer: New file.
+       * lib/popen-safer.c: Likewise.
+       * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
+       * lib/stdio--.h (popen): Provide override.
+       * lib/stdio-safer.h (popen_safer): Provide declaration.
+       * tests/test-popen.c (includes): Partially test this.
+       * modules/popen-safer-tests: New file, for more tests.
+       * tests/test-popen-safer.c: Likewise.
+       * MODULES.html.sh (file stream based Input/Output): Mention it.
+
+       tests: test some of the *-safer modules
+       * modules/fopen-safer (Depends-on): Add fopen.
+       * modules/fcntl-safer (Depends-on): Add fcntl.
+       * modules/stdlib-safer (Depends-on): Add stdlib.
+       (configure.ac): Set indicator.
+       * modules/unistd-safer (configure.ac): Likewise.
+       * modules/tmpfile-safer (configure.ac): Likewise.
+       (Depends-on): Add tmpfile.
+       * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
+       active.
+       * tests/test-fopen.c (includes): Test safer versions when they are
+       in use.
+       * tests/test-open.c (includes): Likewise.
+
+       popen: fix cygwin 1.5 bug when stdin closed
+       * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
+       * modules/popen: New file.
+       * modules/popen-tests: Likewise.
+       * tests/test-popen.c: Likewise.
+       * m4/popen.m4: Likewise.
+       * lib/popen.c: Likewise.
+       * lib/stdio.in.h (popen): New declaration.
+       * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
+       * modules/stdio (Makefile.am): Likewise.
+       * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
+
+2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
+
+       maint.mk: give full control over update-copyright exclusions
+       * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
+       ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
+       (update-copyright): Don't force inclusion of top-level
+       ChangeLog.  Don't force exclusion of all COPYING files, but make
+       them the default exclusion instead.
+
 2009-08-16  Bruno Haible  <bruno@clisp.org>
 
        Fix test failures on Solaris 10.