diff options
| author | Paul Eggert | 2012-10-19 09:52:02 -0700 |
|---|---|---|
| committer | Paul Eggert | 2012-10-19 09:52:02 -0700 |
| commit | e752e0b0a2622d8d0ba518bf81f6fa652d926e67 (patch) | |
| tree | 3b7cfbf8aa3ecaa587cd6fbc2d17b64d055d2b07 /src/ChangeLog | |
| parent | 6ec83f926d5ff699901fb530162d7f1bdfa85808 (diff) | |
| download | emacs-e752e0b0a2622d8d0ba518bf81f6fa652d926e67.tar.gz emacs-e752e0b0a2622d8d0ba518bf81f6fa652d926e67.zip | |
Use faccessat, not access, when checking file permissions.
* .bzrignore: Add lib/fcntl.h.
* configure.ac (euidaccess): Remove check; gnulib does this for us now.
(gl_FCNTL_O_FLAGS): Define a dummy version.
* lib/at-func.c, lib/euidaccess.c, lib/faccessat.c, lib/fcntl.in.h:
* lib/getgroups.c, lib/group-member.c, lib/root-uid.h:
* lib/xalloc-oversized.h, m4/euidaccess.m4, m4/faccessat.m4:
* m4/fcntl_h.m4, m4/getgroups.m4, m4/group-member.m4:
New files, from gnulib.
* lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
* admin/merge-gnulib (GNULIB_MODULES): Add faccessat.
(GNULIB_TOOL_FLAGS): Avoid at-internal, fchdir, malloc-posix,
openat-die, openat-h, save-cwd. Do not avoid fcntl-h.
Omit gnulib's m4/fcntl-o.m4.
* nt/inc/ms-w32.h (AT_FDCWD, AT_EACCESS): New symbols.
(access): Remove.
(faccessat): New macro.
* src/Makefile.in (LIB_EACCESS): New macro.
(LIBES): Use it.
* src/callproc.c (init_callproc):
* src/charset.c (init_charset):
* src/fileio.c (check_existing, check_executable):
* src/lread.c (openp, load_path_check):
* src/process.c (allocate_pty):
* src/xrdb.c (file_p):
Use faccessat, not access or euidaccess. Use symbolic names
instead of integers for the flags, as they're portable now.
* src/charset.c, src/xrdb.c: Include <fcntl.h>, for the new flags used.
* src/fileio.c (Ffile_readable_p):
Use faccessat, not stat + open + close.
(file_directory_p): New function, which uses 'stat' on most places
but 'access' (for efficiency) if WINDOWSNT.
* src/fileio.c (Ffile_directory_p, Fset_file_times):
* src/xrdb.c (file_p): Use file_directory_p.
* src/lisp.h (file_directory_p): New decl.
* src/lread.c (openp): When opening a file, use fstat rather than
stat, as that avoids a permissions race. When not opening a file,
use file_directory_p rather than stat.
* src/process.c, src/sysdep.c, src/term.c: All uses of '#ifdef O_NONBLOCK'
changed to '#if O_NONBLOCK', to accommodate gnulib O_* tyle.
* src/w32.c (sys_faccessat): Rename from sys_access and switch to
faccessat's API. All uses changed.
Fixes: debbugs:12632
Diffstat (limited to 'src/ChangeLog')
| -rw-r--r-- | src/ChangeLog | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index 5a1b4a5d8ee..ee18650e992 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,32 @@ | |||
| 1 | 2012-10-19 Paul Eggert <eggert@cs.ucla.edu> | ||
| 2 | |||
| 3 | Use faccessat, not access, when checking file permissions (Bug#12632). | ||
| 4 | * Makefile.in (LIB_EACCESS): New macro. | ||
| 5 | (LIBES): Use it. | ||
| 6 | * callproc.c (init_callproc): | ||
| 7 | * charset.c (init_charset): | ||
| 8 | * fileio.c (check_existing, check_executable): | ||
| 9 | * lread.c (openp, load_path_check): | ||
| 10 | * process.c (allocate_pty): | ||
| 11 | * xrdb.c (file_p): | ||
| 12 | Use faccessat, not access or euidaccess. Use symbolic names | ||
| 13 | instead of integers for the flags, as they're portable now. | ||
| 14 | * charset.c, xrdb.c: Include <fcntl.h>, for the new flags used. | ||
| 15 | * fileio.c (Ffile_readable_p): | ||
| 16 | Use faccessat, not stat + open + close. | ||
| 17 | (file_directory_p): New function, which uses 'stat' on most places | ||
| 18 | but 'access' (for efficiency) if WINDOWSNT. | ||
| 19 | * fileio.c (Ffile_directory_p, Fset_file_times): | ||
| 20 | * xrdb.c (file_p): Use file_directory_p. | ||
| 21 | * lisp.h (file_directory_p): New decl. | ||
| 22 | * lread.c (openp): When opening a file, use fstat rather than | ||
| 23 | stat, as that avoids a permissions race. When not opening a file, | ||
| 24 | use file_directory_p rather than stat. | ||
| 25 | * process.c, sysdep.c, term.c: All uses of '#ifdef O_NONBLOCK' | ||
| 26 | changed to '#if O_NONBLOCK', to accommodate gnulib O_* style. | ||
| 27 | * w32.c (sys_faccessat): Rename from sys_access and switch to | ||
| 28 | faccessat's API. All uses changed. | ||
| 29 | |||
| 1 | 2012-10-19 Kazuhiro Ito <kzhr@d1.dion.ne.jp> (tiny change) | 30 | 2012-10-19 Kazuhiro Ito <kzhr@d1.dion.ne.jp> (tiny change) |
| 2 | 31 | ||
| 3 | * font.c (Ffont_at): Fix previous change. | 32 | * font.c (Ffont_at): Fix previous change. |