Commit 2bf95739 authored by Paul Eggert's avatar Paul Eggert
Browse files

Improve port to platforms lacking euidaccess (Bug#35406)

* lib-src/emacsclient.c (set_local_socket):
Use faccessat with AT_EACCESS instead of using euidaccess.
* admin/merge-gnulib, lib/gnulib.mk.in, m4/gnulib-comp.m4:
Revert previous change.
parent 445713f5
Pipeline #1451 passed with stage
in 64 minutes and 4 seconds
...@@ -31,7 +31,7 @@ GNULIB_MODULES=' ...@@ -31,7 +31,7 @@ GNULIB_MODULES='
count-leading-zeros count-one-bits count-trailing-zeros count-leading-zeros count-one-bits count-trailing-zeros
crypto/md5-buffer crypto/sha1-buffer crypto/sha256-buffer crypto/sha512-buffer crypto/md5-buffer crypto/sha1-buffer crypto/sha256-buffer crypto/sha512-buffer
d-type diffseq dosname dtoastr dtotimespec dup2 d-type diffseq dosname dtoastr dtotimespec dup2
environ euidaccess execinfo explicit_bzero faccessat environ execinfo explicit_bzero faccessat
fcntl fcntl-h fdopendir fcntl fcntl-h fdopendir
filemode filevercmp flexmember fpieee fstatat fsusage fsync filemode filevercmp flexmember fpieee fstatat fsusage fsync
getloadavg getopt-gnu gettime gettimeofday gitlog-to-changelog getloadavg getopt-gnu gettime gettimeofday gitlog-to-changelog
......
...@@ -1472,7 +1472,7 @@ set_local_socket (char const *server_name) ...@@ -1472,7 +1472,7 @@ set_local_socket (char const *server_name)
int sockdirnamelen = snprintf (sockdirname, sizeof sockdirname, int sockdirnamelen = snprintf (sockdirname, sizeof sockdirname,
"/run/user/%"PRIuMAX, id); "/run/user/%"PRIuMAX, id);
if (0 <= sockdirnamelen && sockdirnamelen < sizeof sockdirname if (0 <= sockdirnamelen && sockdirnamelen < sizeof sockdirname
&& euidaccess (sockdirname, X_OK) == 0) && faccessat (AT_FDCWD, sockdirname, X_OK, AT_EACCESS) == 0)
message message
(true, (true,
("%s: Should XDG_RUNTIME_DIR='%s' be in the environment?\n" ("%s: Should XDG_RUNTIME_DIR='%s' be in the environment?\n"
......
...@@ -88,7 +88,6 @@ ...@@ -88,7 +88,6 @@
# dtotimespec \ # dtotimespec \
# dup2 \ # dup2 \
# environ \ # environ \
# euidaccess \
# execinfo \ # execinfo \
# explicit_bzero \ # explicit_bzero \
# faccessat \ # faccessat \
...@@ -1492,7 +1491,9 @@ endif ...@@ -1492,7 +1491,9 @@ endif
## begin gnulib module euidaccess ## begin gnulib module euidaccess
ifeq (,$(OMIT_GNULIB_MODULE_euidaccess)) ifeq (,$(OMIT_GNULIB_MODULE_euidaccess))
ifneq (,$(gl_GNULIB_ENABLED_euidaccess))
endif
EXTRA_DIST += euidaccess.c EXTRA_DIST += euidaccess.c
EXTRA_libgnu_a_SOURCES += euidaccess.c EXTRA_libgnu_a_SOURCES += euidaccess.c
...@@ -2148,7 +2149,9 @@ endif ...@@ -2148,7 +2149,9 @@ endif
## begin gnulib module root-uid ## begin gnulib module root-uid
ifeq (,$(OMIT_GNULIB_MODULE_root-uid)) ifeq (,$(OMIT_GNULIB_MODULE_root-uid))
ifneq (,$(gl_GNULIB_ENABLED_6099e9737f757db36c47fa9d9f02e88c))
endif
EXTRA_DIST += root-uid.h EXTRA_DIST += root-uid.h
endif endif
......
...@@ -220,12 +220,6 @@ AC_DEFUN([gl_INIT], ...@@ -220,12 +220,6 @@ AC_DEFUN([gl_INIT],
gl_ENVIRON gl_ENVIRON
gl_UNISTD_MODULE_INDICATOR([environ]) gl_UNISTD_MODULE_INDICATOR([environ])
gl_HEADER_ERRNO_H gl_HEADER_ERRNO_H
gl_FUNC_EUIDACCESS
if test $HAVE_EUIDACCESS = 0; then
AC_LIBOBJ([euidaccess])
gl_PREREQ_EUIDACCESS
fi
gl_UNISTD_MODULE_INDICATOR([euidaccess])
gl_EXECINFO_H gl_EXECINFO_H
gl_FUNC_EXPLICIT_BZERO gl_FUNC_EXPLICIT_BZERO
if test $HAVE_EXPLICIT_BZERO = 0; then if test $HAVE_EXPLICIT_BZERO = 0; then
...@@ -441,6 +435,7 @@ AC_DEFUN([gl_INIT], ...@@ -441,6 +435,7 @@ AC_DEFUN([gl_INIT],
gl_gnulib_enabled_260941c0e5dc67ec9e87d1fb321c300b=false gl_gnulib_enabled_260941c0e5dc67ec9e87d1fb321c300b=false
gl_gnulib_enabled_cloexec=false gl_gnulib_enabled_cloexec=false
gl_gnulib_enabled_dirfd=false gl_gnulib_enabled_dirfd=false
gl_gnulib_enabled_euidaccess=false
gl_gnulib_enabled_getdtablesize=false gl_gnulib_enabled_getdtablesize=false
gl_gnulib_enabled_getgroups=false gl_gnulib_enabled_getgroups=false
gl_gnulib_enabled_be453cec5eecf5731a274f2de7f2db36=false gl_gnulib_enabled_be453cec5eecf5731a274f2de7f2db36=false
...@@ -450,6 +445,7 @@ AC_DEFUN([gl_INIT], ...@@ -450,6 +445,7 @@ AC_DEFUN([gl_INIT],
gl_gnulib_enabled_5264294aa0a5557541b53c8c741f7f31=false gl_gnulib_enabled_5264294aa0a5557541b53c8c741f7f31=false
gl_gnulib_enabled_open=false gl_gnulib_enabled_open=false
gl_gnulib_enabled_03e0aaad4cb89ca757653bd367a6ccb7=false gl_gnulib_enabled_03e0aaad4cb89ca757653bd367a6ccb7=false
gl_gnulib_enabled_6099e9737f757db36c47fa9d9f02e88c=false
gl_gnulib_enabled_strtoll=false gl_gnulib_enabled_strtoll=false
gl_gnulib_enabled_682e609604ccaac6be382e4ee3a4eaec=false gl_gnulib_enabled_682e609604ccaac6be382e4ee3a4eaec=false
func_gl_gnulib_m4code_260941c0e5dc67ec9e87d1fb321c300b () func_gl_gnulib_m4code_260941c0e5dc67ec9e87d1fb321c300b ()
...@@ -480,6 +476,22 @@ AC_DEFUN([gl_INIT], ...@@ -480,6 +476,22 @@ AC_DEFUN([gl_INIT],
gl_gnulib_enabled_dirfd=true gl_gnulib_enabled_dirfd=true
fi fi
} }
func_gl_gnulib_m4code_euidaccess ()
{
if ! $gl_gnulib_enabled_euidaccess; then
gl_FUNC_EUIDACCESS
if test $HAVE_EUIDACCESS = 0; then
AC_LIBOBJ([euidaccess])
gl_PREREQ_EUIDACCESS
fi
gl_UNISTD_MODULE_INDICATOR([euidaccess])
gl_gnulib_enabled_euidaccess=true
if test $HAVE_EUIDACCESS = 0; then
func_gl_gnulib_m4code_a9786850e999ae65a836a6041e8e5ed1
fi
func_gl_gnulib_m4code_6099e9737f757db36c47fa9d9f02e88c
fi
}
func_gl_gnulib_m4code_getdtablesize () func_gl_gnulib_m4code_getdtablesize ()
{ {
if ! $gl_gnulib_enabled_getdtablesize; then if ! $gl_gnulib_enabled_getdtablesize; then
...@@ -576,6 +588,12 @@ AC_DEFUN([gl_INIT], ...@@ -576,6 +588,12 @@ AC_DEFUN([gl_INIT],
gl_gnulib_enabled_03e0aaad4cb89ca757653bd367a6ccb7=true gl_gnulib_enabled_03e0aaad4cb89ca757653bd367a6ccb7=true
fi fi
} }
func_gl_gnulib_m4code_6099e9737f757db36c47fa9d9f02e88c ()
{
if ! $gl_gnulib_enabled_6099e9737f757db36c47fa9d9f02e88c; then
gl_gnulib_enabled_6099e9737f757db36c47fa9d9f02e88c=true
fi
}
func_gl_gnulib_m4code_strtoll () func_gl_gnulib_m4code_strtoll ()
{ {
if ! $gl_gnulib_enabled_strtoll; then if ! $gl_gnulib_enabled_strtoll; then
...@@ -594,12 +612,12 @@ AC_DEFUN([gl_INIT], ...@@ -594,12 +612,12 @@ AC_DEFUN([gl_INIT],
gl_gnulib_enabled_682e609604ccaac6be382e4ee3a4eaec=true gl_gnulib_enabled_682e609604ccaac6be382e4ee3a4eaec=true
fi fi
} }
if test $HAVE_EUIDACCESS = 0; then
func_gl_gnulib_m4code_a9786850e999ae65a836a6041e8e5ed1
fi
if test $HAVE_FACCESSAT = 0 || test $REPLACE_FACCESSAT = 1; then if test $HAVE_FACCESSAT = 0 || test $REPLACE_FACCESSAT = 1; then
func_gl_gnulib_m4code_260941c0e5dc67ec9e87d1fb321c300b func_gl_gnulib_m4code_260941c0e5dc67ec9e87d1fb321c300b
fi fi
if test $HAVE_FACCESSAT = 0 || test $REPLACE_FACCESSAT = 1; then
func_gl_gnulib_m4code_euidaccess
fi
if test $HAVE_FACCESSAT = 0 || test $REPLACE_FACCESSAT = 1; then if test $HAVE_FACCESSAT = 0 || test $REPLACE_FACCESSAT = 1; then
func_gl_gnulib_m4code_03e0aaad4cb89ca757653bd367a6ccb7 func_gl_gnulib_m4code_03e0aaad4cb89ca757653bd367a6ccb7
fi fi
...@@ -646,6 +664,7 @@ AC_DEFUN([gl_INIT], ...@@ -646,6 +664,7 @@ AC_DEFUN([gl_INIT],
AM_CONDITIONAL([gl_GNULIB_ENABLED_260941c0e5dc67ec9e87d1fb321c300b], [$gl_gnulib_enabled_260941c0e5dc67ec9e87d1fb321c300b]) AM_CONDITIONAL([gl_GNULIB_ENABLED_260941c0e5dc67ec9e87d1fb321c300b], [$gl_gnulib_enabled_260941c0e5dc67ec9e87d1fb321c300b])
AM_CONDITIONAL([gl_GNULIB_ENABLED_cloexec], [$gl_gnulib_enabled_cloexec]) AM_CONDITIONAL([gl_GNULIB_ENABLED_cloexec], [$gl_gnulib_enabled_cloexec])
AM_CONDITIONAL([gl_GNULIB_ENABLED_dirfd], [$gl_gnulib_enabled_dirfd]) AM_CONDITIONAL([gl_GNULIB_ENABLED_dirfd], [$gl_gnulib_enabled_dirfd])
AM_CONDITIONAL([gl_GNULIB_ENABLED_euidaccess], [$gl_gnulib_enabled_euidaccess])
AM_CONDITIONAL([gl_GNULIB_ENABLED_getdtablesize], [$gl_gnulib_enabled_getdtablesize]) AM_CONDITIONAL([gl_GNULIB_ENABLED_getdtablesize], [$gl_gnulib_enabled_getdtablesize])
AM_CONDITIONAL([gl_GNULIB_ENABLED_getgroups], [$gl_gnulib_enabled_getgroups]) AM_CONDITIONAL([gl_GNULIB_ENABLED_getgroups], [$gl_gnulib_enabled_getgroups])
AM_CONDITIONAL([gl_GNULIB_ENABLED_be453cec5eecf5731a274f2de7f2db36], [$gl_gnulib_enabled_be453cec5eecf5731a274f2de7f2db36]) AM_CONDITIONAL([gl_GNULIB_ENABLED_be453cec5eecf5731a274f2de7f2db36], [$gl_gnulib_enabled_be453cec5eecf5731a274f2de7f2db36])
...@@ -655,6 +674,7 @@ AC_DEFUN([gl_INIT], ...@@ -655,6 +674,7 @@ AC_DEFUN([gl_INIT],
AM_CONDITIONAL([gl_GNULIB_ENABLED_5264294aa0a5557541b53c8c741f7f31], [$gl_gnulib_enabled_5264294aa0a5557541b53c8c741f7f31]) AM_CONDITIONAL([gl_GNULIB_ENABLED_5264294aa0a5557541b53c8c741f7f31], [$gl_gnulib_enabled_5264294aa0a5557541b53c8c741f7f31])
AM_CONDITIONAL([gl_GNULIB_ENABLED_open], [$gl_gnulib_enabled_open]) AM_CONDITIONAL([gl_GNULIB_ENABLED_open], [$gl_gnulib_enabled_open])
AM_CONDITIONAL([gl_GNULIB_ENABLED_03e0aaad4cb89ca757653bd367a6ccb7], [$gl_gnulib_enabled_03e0aaad4cb89ca757653bd367a6ccb7]) AM_CONDITIONAL([gl_GNULIB_ENABLED_03e0aaad4cb89ca757653bd367a6ccb7], [$gl_gnulib_enabled_03e0aaad4cb89ca757653bd367a6ccb7])
AM_CONDITIONAL([gl_GNULIB_ENABLED_6099e9737f757db36c47fa9d9f02e88c], [$gl_gnulib_enabled_6099e9737f757db36c47fa9d9f02e88c])
AM_CONDITIONAL([gl_GNULIB_ENABLED_strtoll], [$gl_gnulib_enabled_strtoll]) AM_CONDITIONAL([gl_GNULIB_ENABLED_strtoll], [$gl_gnulib_enabled_strtoll])
AM_CONDITIONAL([gl_GNULIB_ENABLED_682e609604ccaac6be382e4ee3a4eaec], [$gl_gnulib_enabled_682e609604ccaac6be382e4ee3a4eaec]) AM_CONDITIONAL([gl_GNULIB_ENABLED_682e609604ccaac6be382e4ee3a4eaec], [$gl_gnulib_enabled_682e609604ccaac6be382e4ee3a4eaec])
# End of code from modules # End of code from modules
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment