openssh/openbsd-compat
Darren Tucker 326495744f
Simplify pselect shim and remove side effects.
Instead of maintaing state (pipe descriptors, signal handlers) across
pselect-on-select invocations, set up and restore them each call.
This prevents outside factors (eg a closefrom or signal handler
installation) from potentially causing problems.  This does result in a
drop in throughput of a couple of percent on geriatric platforms without
a native pselect due to the extra overhead.  Tweaks & ok djm@
2024-10-25 19:01:02 +11:00
..
regress main(void) to prevent unused variable warning. 2023-05-09 19:26:56 +10:00
arc4random_uniform.c Move OPENBSD ORIGINAL marker. 2022-09-02 14:30:38 +10:00
arc4random.c Always use compat getentropy. 2022-11-02 12:20:50 +11:00
arc4random.h conditionally include mman.h in arc4random code 2024-09-18 09:01:23 +10:00
base64.c remove sys/param.h in -portable, after upstream 2021-12-22 09:02:50 +11:00
base64.h Remove obsolete CVS $Id from source files. 2016-08-17 14:08:42 +10:00
basename.c
bcrypt_pbkdf.c remove sys/param.h in -portable, after upstream 2021-12-22 09:02:50 +11:00
bindresvport.c Include stdlib.h for arc4random_uniform prototype. 2021-09-29 20:03:58 +10:00
blf.h sync bcrypt-related files with OpenBSD 2021-11-29 12:30:22 +11:00
blowfish.c sync bcrypt-related files with OpenBSD 2021-11-29 12:30:22 +11:00
bsd-asprintf.c openbsd-compat/bsd-asprintf: add <stdio.h> include for vsnprintf 2022-09-08 12:04:00 +10:00
bsd-closefrom.c Only include unistd.h once. 2023-08-10 11:30:24 +10:00
bsd-cygwin_util.c Fix signedness bug in Cygwin code 2022-01-21 09:53:07 +11:00
bsd-cygwin_util.h Use Cygwin-specific matching only for users+groups. 2019-03-12 09:19:19 +11:00
bsd-err.c Add missing includes for bsd-err.c. 2017-08-27 08:55:40 +10:00
bsd-flock.c typo: missing ; 2018-02-26 14:39:14 +11:00
bsd-getentropy.c Fix RNG seeding for OpenSSL w/out self seeding. 2023-08-03 20:29:08 +10:00
bsd-getline.c Skip getline() on HP-UX 10.x. 2021-11-06 21:09:48 +11:00
bsd-getpagesize.c Include includes.h for HAVE_GETPAGESIZE. 2017-10-31 10:09:33 +11:00
bsd-getpeereid.c
bsd-malloc.c Handle calloc(0,x) where different from malloc. 2018-02-26 00:09:04 +11:00
bsd-misc.c Add clang sanitizer tests. 2022-07-03 22:53:44 +10:00
bsd-misc.h Constify utimes in compat library to match specs. 2022-02-25 15:14:22 +11:00
bsd-nextstep.c Strip trailing whitespace. 2016-08-02 09:44:25 +10:00
bsd-nextstep.h Many typo fixes from Karsten Weiss 2018-04-10 10:19:02 +10:00
bsd-openpty.c Test if sshd accidentally acquires controlling tty 2022-02-14 14:19:40 +11:00
bsd-poll.c Avoid assuming layout of fd_set 2022-11-08 19:33:47 +11:00
bsd-poll.h revert c64b62338b and guard POLL* defines instead 2022-10-17 09:41:47 +11:00
bsd-pselect.c Simplify pselect shim and remove side effects. 2024-10-25 19:01:02 +11:00
bsd-setres_id.c Fix format string integer type in error message. 2019-07-19 07:23:26 +10:00
bsd-setres_id.h Remove obsolete CVS $Id from source files. 2016-08-17 14:08:42 +10:00
bsd-signal.c Remove mysignal wrapper. 2020-01-23 18:55:24 +11:00
bsd-signal.h Include signal.h to prevent redefintion of _NSIG. 2020-01-26 14:09:17 +11:00
bsd-snprintf.c remove unused upper-case const strings in fmtfp 2023-04-06 14:33:10 +10:00
bsd-statvfs.c remove sys/param.h in -portable, after upstream 2021-12-22 09:02:50 +11:00
bsd-statvfs.h bsd-statvfs: include sys/vfs.h, check for f_flags. 2018-02-26 00:09:04 +11:00
bsd-timegm.c whitespace at EOL 2022-10-05 03:47:26 +11:00
bsd-waitpid.c Replace spaces with tabs. 2016-08-02 10:01:52 +10:00
bsd-waitpid.h polish whitespace for portable files 2021-04-03 17:47:37 +11:00
chacha_private.h Remove unused ivbits argument from chacha_keysetup 2022-03-01 09:02:06 +11:00
charclass.h - djm@cvs.openbsd.org 2010/09/25 09:30:16 2010-10-07 21:39:17 +11:00
daemon.c - (dtucker) [auth-passwd.c auth1.c auth2-kbdint.c auth2-none.c auth2-passwd.c 2009-03-08 11:40:27 +11:00
dirname.c remove sys/param.h in -portable, after upstream 2021-12-22 09:02:50 +11:00
explicit_bzero.c Using explicit_memset for the explicit_bzero compatibility layer. 2021-02-05 17:07:03 +11:00
fake-rfc2553.c Replace spaces with tabs. 2016-08-02 10:01:52 +10:00
fake-rfc2553.h Remove obsolete CVS $Id from source files. 2016-08-17 14:08:42 +10:00
fmt_scaled.c Resync fmt_scaled. with OpenBSD. 2022-03-11 18:43:58 +11:00
fnmatch.c sync fnmatch.c with upstream to fix another typo 2020-03-13 14:30:16 +11:00
fnmatch.h Define __BSD_VISIBLE in fnmatch.h. 2019-11-02 22:46:22 +11:00
freezero.c Include stdlib.h for declaration of free. 2018-07-11 12:14:09 +10:00
getcwd.c Return ERANGE from getcwd() if buffer size is 1. 2022-07-14 11:22:08 +10:00
getgrouplist.c Repair $OpenBSD markers. 2016-08-02 09:06:27 +10:00
getopt_long.c avoid clash between for getopt's struct option 2023-02-27 17:10:12 +11:00
getopt.h unbreak fuzzers for clang16 2024-01-08 14:45:14 +11:00
getrrsetbyname-ldns.c avoid uninitialised free of ldns_res 2014-12-30 08:16:11 +11:00
getrrsetbyname.c sync getrrsetbyname.c with recent upstream changes 2024-05-08 09:43:59 +10:00
getrrsetbyname.h - jakob@cvs.openbsd.org 2007/10/11 18:36:41 2007-10-26 16:26:46 +10:00
glob.c Sync rev 1.49. 2020-04-21 18:28:19 +10:00
glob.h upstream commit 2019-11-15 16:06:30 +11:00
inet_aton.c remove sys/param.h in -portable, after upstream 2021-12-22 09:02:50 +11:00
inet_ntoa.c
inet_ntop.c remove sys/param.h in -portable, after upstream 2021-12-22 09:02:50 +11:00
kludge-fd_set.c - (djm) [openbsd-compat/Makefile.in openbsd-compat/kludge-fd_set.c] 2014-10-01 09:43:07 +10:00
libressl-api-compat.c remove support for old libcrypto 2023-03-24 13:56:25 +11:00
Makefile.in Add a timegm implementation from Heimdal via Samba. 2022-08-11 22:51:10 +10:00
md5.c support --without-openssl at configure time 2015-01-14 21:48:18 +11:00
md5.h support --without-openssl at configure time 2015-01-14 21:48:18 +11:00
memmem.c Add OPENBSD ORIGINAL marker. 2021-04-24 17:52:24 +10:00
mktemp.c Add prototypes for mkstemp replacements. 2023-03-10 14:46:57 +11:00
openbsd-compat.h unbreak fuzzers for clang16 2024-01-08 14:45:14 +11:00
openssl-compat.c Add compat functions for EVP_Digest{Sign,Verify}. 2024-08-17 11:25:36 +10:00
openssl-compat.h Add compat functions for EVP_Digest{Sign,Verify}. 2024-08-17 11:25:36 +10:00
port-aix.c Handle GIDs > 2^31 in getgrouplist. 2021-06-17 21:03:19 +10:00
port-aix.h Constify aix_krb5_get_principal_name. 2020-02-17 22:53:24 +11:00
port-irix.c Move log.h include inside ifdefs. 2019-07-08 17:27:26 +10:00
port-irix.h Remove obsolete CVS $Id from source files. 2016-08-17 14:08:42 +10:00
port-linux.c Cast to sockaddr * in systemd interface. 2024-07-07 18:46:19 +10:00
port-linux.h notify systemd on listen and reload 2024-04-03 14:40:32 +11:00
port-net.c polish whitespace for portable files 2021-04-03 17:47:37 +11:00
port-net.h fix rdomain compilation errors 2017-10-27 08:42:33 +11:00
port-prngd.c Fix ifdefs around get_random_bytes_prngd. 2021-07-02 15:20:32 +10:00
port-solaris.c Solaris: prefer PRIV_XPOLICY to PRIV_LIMIT 2023-10-12 13:20:01 +11:00
port-solaris.h Remove obsolete CVS $Id from source files. 2016-08-17 14:08:42 +10:00
port-uw.c polish whitespace for portable files 2021-04-03 17:47:37 +11:00
port-uw.h
pwcache.c Cast *ID types to unsigned long when printing. 2019-07-06 13:02:34 +10:00
readpassphrase.c Move signal compat code into bsd-signal.{c,h} 2018-02-11 21:24:48 +11:00
readpassphrase.h
reallocarray.c Wrap stdint.h includes in ifdefs. 2015-02-23 03:07:24 +11:00
recallocarray.c Wrap stdint.h include in #ifdef. 2017-06-09 13:36:29 +10:00
rresvport.c - (djm) [openbsd-compat/rresvport.c] Add unistd.h for missing close() 2008-07-14 12:03:27 +10:00
setenv.c lastenv is only used in setenv. 2021-07-27 17:45:34 +10:00
setproctitle.c Include stdio.h for vsnprintf. 2019-06-16 12:55:27 +10:00
sha1.c upstream rev 1.27: fix integer overflow. 2019-06-14 14:22:39 +10:00
sha1.h support --without-openssl at configure time 2015-01-14 21:48:18 +11:00
sha2.c polish whitespace for portable files 2021-04-03 17:47:37 +11:00
sha2.h Remove sys/cdefs.h include. 2019-07-23 22:36:39 +10:00
sigact.c - (djm) [openbsd-compat/sigact.c] Avoid NULL derefs in ancient sigaction 2008-06-15 10:55:34 +10:00
sigact.h
strcasestr.c Add strcasestr to compat library. 2016-12-13 10:23:03 +11:00
strlcat.c
strlcpy.c - millert@cvs.openbsd.org 2006/05/05 15:27:38 2011-09-23 10:38:11 +10:00
strmode.c
strndup.c Use includes.h instead of config.h. 2018-04-29 17:54:12 +10:00
strnlen.c Use includes.h instead of config.h. 2018-04-29 17:54:12 +10:00
strptime.c - (dtucker) [configure.ac openbsd-compat/Makefile.in 2010-08-16 13:15:23 +10:00
strsep.c
strtoll.c
strtonum.c polish whitespace for portable files 2021-04-03 17:47:37 +11:00
strtoul.c
strtoull.c - (dtucker) [configure.ac openbsd-compat/Makefile.in openbsd-compat/strtoull.c 2013-02-15 12:13:01 +11:00
sys-queue.h undef TAILQ_CONCAT and friends 2020-08-04 14:58:46 +10:00
sys-tree.h - (dtucker) [configure.ac openbsd-compat/sys-tree.h] Test if compiler allows 2013-02-08 11:50:09 +11:00
timingsafe_bcmp.c - matthew@cvs.openbsd.org 2010/09/24 13:33:00 2010-10-07 21:25:27 +11:00
vis.c Move DEF_WEAK into defines.h. 2016-10-15 05:51:12 +11:00
vis.h Update vis.h and vis.c from OpenBSD. 2016-06-03 16:03:44 +10:00
xcrypt.c remove sys/param.h in -portable, after upstream 2021-12-22 09:02:50 +11:00