mirror of
https://github.com/shadow-maint/shadow.git
synced 2026-01-26 14:03:17 +00:00
Adding function check_fds to new file fd.c. The function check_fds
should be called in every setuid/setgid program.
Co-developed-by: Alejandro Colomar <alx@kernel.org>
Cherry-picked-from: d2f2c1877a30 ("Adding checks for fd omission")
Link: <https://github.com/shadow-maint/shadow/pull/964>
Link: <https://inbox.sourceware.org/libc-alpha/ZeyujhVRsDTUNUtw@debian/T/>
[alx: It seems we shouldn't need this, as libc does it for us. But it ]
[ shouldn't hurt either. Let's be paranoic. ]
Cc: <Guillem Jover <guillem@hadrons.org>
Cc: "Serge E. Hallyn" <serge@hallyn.com>
Cc: "Skyler Ferrante (RIT Student)" <sjf5462@rit.edu>
Cc: Iker Pedrosa <ipedrosa@redhat.com>
Cc: Christian Brauner <christian@brauner.io>
Cc: Rich Felker <dalias@libc.org>
Cc: Andreas Schwab <schwab@linux-m68k.org>
Cc: Thorsten Glaser <tg@mirbsd.de>
Cc: NRK <nrk@disroot.org>
Cc: Florian Weimer <fweimer@redhat.com>
Cc: enh <enh@google.com>
Cc: Laurent Bercot <ska-dietlibc@skarnet.org>
Cc: Gabriel Ravier <gabravier@gmail.com>
Cc: Zack Weinberg <zack@owlfolio.org>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
195 lines
2.8 KiB
Makefile
195 lines
2.8 KiB
Makefile
|
|
AUTOMAKE_OPTIONS = 1.0 foreign
|
|
|
|
DEFS =
|
|
|
|
noinst_LTLIBRARIES = libshadow.la
|
|
|
|
if USE_PAM
|
|
LIBCRYPT_PAM = $(LIBCRYPT)
|
|
else
|
|
LIBCRYPT_PAM =
|
|
endif
|
|
|
|
AM_CPPFLAGS = -I$(top_srcdir)/lib -I$(top_srcdir) $(ECONF_CPPFLAGS)
|
|
|
|
libshadow_la_CPPFLAGS = $(ECONF_CPPFLAGS)
|
|
if HAVE_VENDORDIR
|
|
libshadow_la_CPPFLAGS += -DVENDORDIR=\"$(VENDORDIR)\"
|
|
endif
|
|
|
|
libshadow_la_CPPFLAGS += -I$(top_srcdir)
|
|
libshadow_la_CFLAGS = $(LIBBSD_CFLAGS) $(LIBCRYPT_PAM) $(LIBSYSTEMD)
|
|
libshadow_la_LIBADD = $(LIBADD_DLOPEN)
|
|
|
|
libshadow_la_SOURCES = \
|
|
addgrps.c \
|
|
age.c \
|
|
agetpass.c \
|
|
alloc.c \
|
|
alloc.h \
|
|
audit_help.c \
|
|
basename.c \
|
|
bit.c \
|
|
bit.h \
|
|
chkname.c \
|
|
chkname.h \
|
|
chowndir.c \
|
|
chowntty.c \
|
|
cleanup.c \
|
|
cleanup_group.c \
|
|
cleanup_user.c \
|
|
commonio.c \
|
|
commonio.h \
|
|
console.c \
|
|
copydir.c \
|
|
csrand.c \
|
|
date_to_str.c \
|
|
defines.h \
|
|
encrypt.c \
|
|
entry.c \
|
|
env.c \
|
|
exitcodes.h \
|
|
faillog.h \
|
|
failure.c \
|
|
failure.h \
|
|
fd.c \
|
|
fields.c \
|
|
find_new_gid.c \
|
|
find_new_uid.c \
|
|
find_new_sub_gids.c \
|
|
find_new_sub_uids.c \
|
|
fputsx.c \
|
|
get_gid.c \
|
|
get_pid.c \
|
|
get_uid.c \
|
|
getdate.h \
|
|
getdate.y \
|
|
getdef.c \
|
|
getdef.h \
|
|
getlong.c \
|
|
getgr_nam_gid.c \
|
|
getrange.c \
|
|
gettime.c \
|
|
getulong.c \
|
|
groupio.c \
|
|
groupmem.c \
|
|
groupio.h \
|
|
gshadow.c \
|
|
hushed.c \
|
|
idmapping.h \
|
|
idmapping.c \
|
|
isexpired.c \
|
|
limits.c \
|
|
list.c \
|
|
lockpw.c \
|
|
loginprompt.c \
|
|
mail.c \
|
|
mempcpy.c \
|
|
mempcpy.h \
|
|
motd.c \
|
|
myname.c \
|
|
nss.c \
|
|
nscd.c \
|
|
nscd.h \
|
|
obscure.c \
|
|
pam_defs.h \
|
|
pam_pass.c \
|
|
pam_pass_non_interactive.c \
|
|
port.c \
|
|
port.h \
|
|
prefix_flag.c \
|
|
prototypes.h \
|
|
pwauth.c \
|
|
pwauth.h \
|
|
pwio.c \
|
|
pwio.h \
|
|
pwd_init.c \
|
|
pwd2spwd.c \
|
|
pwdcheck.c \
|
|
pwmem.c \
|
|
remove_tree.c \
|
|
rlogin.c \
|
|
root_flag.c \
|
|
run_part.h \
|
|
run_part.c \
|
|
salt.c \
|
|
selinux.c \
|
|
semanage.c \
|
|
setugid.c \
|
|
setupenv.c \
|
|
sgetgrent.c \
|
|
sgetpwent.c \
|
|
sgetspent.c \
|
|
sgroupio.c \
|
|
sgroupio.h\
|
|
shadow.c \
|
|
shadowio.c \
|
|
shadowio.h \
|
|
shadowlog.c \
|
|
shadowlog.h \
|
|
shadowlog_internal.h \
|
|
shadowmem.c \
|
|
shell.c \
|
|
spawn.c \
|
|
sssd.c \
|
|
sssd.h \
|
|
stpecpy.c \
|
|
stpecpy.h \
|
|
stpeprintf.c \
|
|
stpeprintf.h \
|
|
strtoday.c \
|
|
sub.c \
|
|
subordinateio.h \
|
|
subordinateio.c \
|
|
sulog.c \
|
|
ttytype.c \
|
|
tz.c \
|
|
ulimit.c \
|
|
user_busy.c \
|
|
valid.c \
|
|
write_full.c \
|
|
xgetpwnam.c \
|
|
xprefix_getpwnam.c \
|
|
xgetpwuid.c \
|
|
xgetgrnam.c \
|
|
xgetgrgid.c \
|
|
xgetspnam.c \
|
|
yesno.c
|
|
|
|
if WITH_TCB
|
|
libshadow_la_SOURCES += tcbfuncs.c tcbfuncs.h
|
|
endif
|
|
|
|
if WITH_BTRFS
|
|
libshadow_la_SOURCES += btrfs.c
|
|
endif
|
|
|
|
if ENABLE_LASTLOG
|
|
libshadow_la_SOURCES += log.c
|
|
endif
|
|
|
|
if ENABLE_LOGIND
|
|
libshadow_la_SOURCES += logind.c
|
|
else
|
|
libshadow_la_SOURCES += utmp.c
|
|
endif
|
|
|
|
if !WITH_LIBBSD
|
|
libshadow_la_SOURCES += \
|
|
freezero.h \
|
|
freezero.c \
|
|
readpassphrase.h \
|
|
readpassphrase.c
|
|
endif
|
|
|
|
# These files are unneeded for some reason, listed in
|
|
# order of appearance:
|
|
#
|
|
# sources for dbm support (not yet used)
|
|
|
|
EXTRA_DIST = \
|
|
.indent.pro \
|
|
gshadow_.h \
|
|
xgetXXbyYY.c
|