summaryrefslogtreecommitdiff
path: root/lib/getgroups.c
Commit message (Collapse)AuthorAgeFilesLines
* ; Add 2024 to copyright yearsPo Lu2024-01-021-1/+1
|
* ; Add 2023 to copyright years.Eli Zaretskii2023-01-011-1/+2
|
* Update from gnulibPaul Eggert2022-01-041-2/+1
|
* ; Add 2022 to copyright years.Eli Zaretskii2022-01-011-1/+2
|
* Update from GnulibPaul Eggert2021-10-041-14/+8
| | | | | | | | | | | | | | | | | | Make the following changes by hand, and run 'admin/merge-gnulib'. * .gitignore: Add lib/malloc/*.gl.h. * admin/merge-gnulib: Copy lib/af_alg.h and lib/save-cwd.h directly from Gnulib, without worrying about Gnulib modules, as these files are special cases. (AVOIDED_MODULES): Remove malloc-posix. * lib/malloc.c, lib/realloc.c, m4/malloc.m4, m4/realloc.m4: * m4/year2038.m4: New files, copied from Gnulib. * lib/malloca.c, lib/malloca.h: * m4/close-stream.m4, m4/glibc21.m4, m4/malloca.m4: Remove. These are either no longer present in Gnulib, or are no longer needed by modules that Emacs uses. * oldXMenu/AddPane.c, oldXmenu/Addsel.c: Include XmenuInt.h first; needed for new Gnulib. * src/xmenu.c: Call emacs_abort, not abort.
* Update from Gnulib by running admin/merge-gnulib.Paul Eggert2021-01-011-2/+1
|
* Update copyright year to 2021Paul Eggert2021-01-011-1/+2
| | | | Run "TZ=UTC0 admin/update-copyright".
* Update from gnulibPaul Eggert2019-12-311-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This incorporates: 2019-12-23 mktime, nstrftime: tweak division performance 2019-12-22 count-leading-zeros: assume 'long long' 2019-12-22 count-one-bits: assume 'long long' 2019-12-22 count-trailing-zeros: assume 'long long' 2019-12-12 inttypes-incomplete: assume 'long long' 2019-12-22 malloca: assume 'long long' 2019-12-22 stdint: assume 'long long' 2019-12-22 strtoll, strtoimax, strtoumax: assume 'long long' 2019-12-22 prefer lib_SOURCES to unconditional AC_LIBOBJ 2019-12-19 nstrftime: avoid a shadowing warning 2019-12-18 improve port of AC_C_RESTRICT to Oracle C++ 2019-12-12 stdalign: port to xlclang 16.01 2019-12-11 stddef, unistd: fix compilation error in C++ mode on MSVC 2019-12-08 fix compilation errors in C++ mode on Haiku 2019-12-08 fix compilation errors in 32-bit C++ mode on HP-UX 11/ia64 2019-12-08 fix compilation error in C++ mode on OpenBSD * build-aux/config.guess, doc/misc/texinfo.tex: * lib/count-leading-zeros.h, lib/count-one-bits.h: * lib/count-trailing-zeros.h, lib/inttypes.in.h, lib/malloca.h: * lib/mktime.c, lib/nstrftime.c, lib/signal.in.h, lib/stdalign.in.h: * lib/stddef.in.h, lib/stdint.in.h, lib/stdio.in.h, lib/stdlib.in.h: * lib/strtoimax.c, lib/unistd.in.h, m4/gnulib-common.m4: * m4/inttypes.m4, m4/largefile.m4, m4/malloca.m4, m4/strtoimax.m4: * m4/strtoll.m4: Copy from Gnulib. Also, change copyright notices in some other Gnulib-copied files to exactly match Gnulib, as Gnulib updated them in a trivially different way. * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
* Update copyright year to 2020Paul Eggert2020-01-011-1/+2
| | | | Run "TZ=UTC0 admin/update-copyright $(git ls-files)".
* Update from GnulibPaul Eggert2018-12-311-2/+1
| | | | | | This incorporates mostly just copyright-year changes, plus recent minor updates from glibc for the non-Emacs regular expression code.
* Merge from origin/emacs-26Paul Eggert2018-12-311-1/+2
|\ | | | | | | | | | | 2fcf2df Fix copyright years by hand 26bed8b Update copyright year to 2019 2814292 Fix value of default frame height. (Bug#33921)
| * Update copyright year to 2019Paul Eggert2019-01-011-1/+2
| | | | | | | | Run 'TZ=UTC0 admin/update-copyright $(git ls-files)'.
* | Update from GnulibPaul Eggert2018-11-131-2/+2
|/ | | | | | | | | | | | | | | | | | | | | | | | | | This incorporates: 2018-11-03 nstrftime: simplify test for mktime failure 2018-11-02 gnulib-common.m4: port _Noreturn to C++ 2018-10-22 std-gnu11: Support Autoconf versions < 2.64 2018-10-22 Assume Autoconf >= 2.63 2018-10-16 Remove support for Ultrix 2018-10-16 getloadavg: Remove support for ConvexOS 2018-10-16 getloadavg: Remove support for Sony NEWS 2018-10-16 Remove support for Dynix/ptx 2018-10-16 fsusage: Remove support for AIX 3 2018-10-16 fsusage, stat-size, getloadavg: Remove support for AIX PS/2 2018-10-16 getloadavg: Remove support for HP-UX on m68k 2018-10-16 fsusage, mountlist: Remove support for DolphinOS 2018-10-16 getloadavg: Remove support for Alliant FX/2800 2018-10-16 getloadavg: Remove support for tek4300 2018-10-16 getloadavg: Remove support for Ardent * build-aux/config.guess, build-aux/config.sub, lib/_Noreturn.h: * lib/fsusage.c, lib/getgroups.c, lib/getloadavg.c: * lib/nstrftime.c, lib/time.in.h, m4/errno_h.m4: * m4/fsusage.m4, m4/getgroups.m4, m4/gnulib-common.m4, m4/longlong.m4: * m4/std-gnu11.m4, m4/stdint.m4: Copy from Gnulib. * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate:
* Merge from GnulibPaul Eggert2017-12-311-1/+1
| | | | | | | This incorporates: 2018-01-01 maint: Run 'make update-copyright' 2017-12-29 Add cross-compilation results for GNU/Hurd. 2017-12-12 explicit_bzero: port to macOS + Clang 9.0.0
* Merge from GnulibPaul Eggert2017-09-131-1/+1
| | | | | | | This incorporates: 2017-09-13 all: prefer https: URLs This just changes http: to https: in comments, in files copied from Gnulib.
* Merge from gnulibPaul Eggert2017-01-011-2/+1
| | | | | | | | | | | | | | | This incorporates: 2016-12-19 stdint: Fix WINT_MAX to match wint_t on mingw 2016-12-18 getopt: Fix link error for users of getopt() in <unistd.h> 2016-12-17 getlogin: Port to newer mingw 2016-12-17 stdint: Fix WINT_MAX to match wint_t on MSVC 2016-12-17 Avoid redefinition errors on MSVC * lib/getopt.in.h, lib/stdint.in.h, lib/stdio.in.h, lib/unistd.in.h: * m4/stdint.m4, m4/unistd_h.m4: Copy from gnulib. * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate. Plus, this commit updates the indenting on copyright notices to match that of gnulib.
* Update copyright year to 2017Paul Eggert2016-12-311-1/+2
| | | | Run admin/update-copyright.
* Merge from gnulibPaul Eggert2016-01-011-1/+1
| | | | | This mostly just updates copyright dates of gnulib files. It also updates to the latest version of texinfo.tex.
* Merge from gnulib, incorporating:Paul Eggert2015-01-011-1/+1
| | | | 2015-01-01 version-etc: new year
* Update copyright year to 2014 by running admin/update-copyright.Paul Eggert2014-01-011-1/+1
|
* Merge from gnulib, incorporating:Paul Eggert2013-11-271-0/+15
| | | | | 2013-11-13 getgroups: work around _DARWIN_C_SOURCE problem * lib/getgroups.c: Update from gnulib.
* Merge from gnulib.Paul Eggert2013-09-191-1/+1
| | | | | | | | | This incorporates the following changes: 2013-09-19 stdio: OS X port of putc_unlocked + extern inline 2013-09-19 signal: OS X port of sigaddset etc. + extern inline 2013-09-19 extern-inline: do not always suppress extern inline on OS X 2013-09-17 getgroups: statement without effect 2013-08-28 headers: check that _GL_INLINE_HEADER_BEGIN is defined
* Merge from gnulib.Paul Eggert2013-01-021-1/+1
|
* Use faccessat, not access, when checking file permissions.Paul Eggert2012-11-131-0/+116
This fixes a bug that has been present in Emacs since its creation. It was reported by Chris Torek in 1983 even before GNU Emacs existed, which must set some sort of record. (Torek's bug report was against a predecessor of GNU Emacs, but GNU Emacs happened to have the same common flaw.) See Torek's Usenet posting "setuid/setgid programs & Emacs" Article-I.D.: sri-arpa.858 Posted: Fri Apr 8 14:18:56 1983. * .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, check_writable) (Ffile_readable_p): * src/lread.c (openp, load_path_check): * src/process.c (allocate_pty): * src/xrdb.c (file_p): Use effective UID when checking permissions, not real UID. * src/callproc.c (init_callproc): * src/charset.c (init_charset): * src/lread.c (load_path_check, init_lread): Test whether directories are accessible, not merely whether they exist. * src/conf_post.h (GNULIB_SUPPORT_ONLY_AT_FDCWD): New macro. * src/fileio.c (check_existing, check_executable, check_writable) (Ffile_readable_p): Use symbolic names instead of integers for the flags, as they're portable now. (check_writable): New arg AMODE. All uses changed. Set errno on failure. (Ffile_readable_p): Use faccessat, not stat + open + close. (Ffile_writable_p): No need to call check_existing + check_writable. Just call check_writable and then look at errno. This saves a syscall. dir should never be nil; replace an unnecessary runtime check with an eassert. When checking the parent directory of a nonexistent file, check that the directory is searchable as well as writable, as we can't create files in unsearchable directories. (file_directory_p): New function, which uses 'stat' on most platforms but faccessat with D_OK (for efficiency) if WINDOWSNT. (Ffile_directory_p, Fset_file_times): Use it. (file_accessible_directory_p): New function, which uses a single syscall for efficiency. (Ffile_accessible_directory_p): Use it. * src/xrdb.c (file_p): Use file_directory_p. * src/lisp.h (file_directory_p, file_accessible_directory_p): New decls. * 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. (dir_warning): First arg is now a usage string, not a format. Use errno. All uses changed. * src/nsterm.m (ns_term_init): Remove unnecessary call to file-readable that merely introduced a race. * src/process.c, src/sysdep.c, src/term.c: All uses of '#ifdef O_NONBLOCK' changed to '#if O_NONBLOCK', to accommodate gnulib O_* style, and similarly for the other O_* flags. * src/w32.c (sys_faccessat): Rename from sys_access and switch to faccessat's API. All uses changed. * src/xrdb.c: Do not include <sys/stat.h>; no longer needed. (magic_db): Rename from magic_file_p. (magic_db, search_magic_path): Return an XrmDatabase rather than a char *, so that we don't have to test for file existence separately from opening the file for reading. This removes a race fixes a permission-checking problem, and simplifies the code. All uses changed. (file_p): Remove; no longer needed. Fixes: debbugs:12632