[openssh-commits] [openssh] 01/04: Shim <sys/queue.h> and <sys/tree.h>.

git+noreply at mindrot.org git+noreply at mindrot.org
Tue Feb 10 13:17:42 AEDT 2026


This is an automated email from the git hooks/post-receive script.

dtucker pushed a commit to branch master
in repository openssh.

commit eeb671fa2f0fd7dda4c6b726098fe28016dc185b
Author: Darren Tucker <dtucker at dtucker.net>
AuthorDate: Tue Feb 10 03:39:45 2026 +1100

    Shim <sys/queue.h> and <sys/tree.h>.
    
    This significantly reduces the diff vs upstream making future syncs
    less painful.  ok djm@
---
 auth-options.c   |  3 +--
 channels.c       |  2 +-
 clientloop.c     |  2 +-
 configure.ac     | 16 ++++++++++++++++
 gss-serv.c       |  1 -
 krl.c            |  4 ++--
 monitor.c        |  6 +++---
 monitor_wrap.c   |  2 +-
 mux.c            |  3 +--
 nchan.c          |  2 +-
 packet.c         |  2 +-
 packet.h         |  6 +++---
 servconf.c       |  2 +-
 servconf.h       |  2 +-
 serverloop.c     |  2 +-
 session.c        |  6 +++---
 sftp-client.c    |  2 +-
 sftp-usergroup.c |  2 +-
 srclimit.c       |  2 +-
 ssh-agent.c      |  7 ++++---
 ssh-keyscan.c    |  5 +++--
 ssh-pkcs11.c     |  4 +---
 ssh.c            |  7 ++++---
 ssh_api.h        |  3 +--
 sshconnect2.c    |  3 +--
 sshd-auth.c      |  5 ++---
 sshd-session.c   |  8 ++++----
 sshd.c           |  3 +--
 28 files changed, 61 insertions(+), 51 deletions(-)

diff --git a/auth-options.c b/auth-options.c
index 90be7b02d..e15f600ab 100644
--- a/auth-options.c
+++ b/auth-options.c
@@ -18,6 +18,7 @@
 #include "includes.h"
 
 #include <sys/types.h>
+#include <sys/queue.h>
 
 #include <stdlib.h>
 #include <netdb.h>
@@ -29,8 +30,6 @@
 #include <ctype.h>
 #include <limits.h>
 
-#include "openbsd-compat/sys-queue.h"
-
 #include "xmalloc.h"
 #include "ssherr.h"
 #include "log.h"
diff --git a/channels.c b/channels.c
index 83ff8bb8e..c7e75418f 100644
--- a/channels.c
+++ b/channels.c
@@ -47,6 +47,7 @@
 #include <sys/un.h>
 #include <sys/socket.h>
 #include <sys/time.h>
+#include <sys/queue.h>
 
 #include <netinet/in.h>
 #include <arpa/inet.h>
@@ -64,7 +65,6 @@
 #include <termios.h>
 #include <unistd.h>
 
-#include "openbsd-compat/sys-queue.h"
 #include "xmalloc.h"
 #include "ssh.h"
 #include "ssh2.h"
diff --git a/clientloop.c b/clientloop.c
index d91d5de55..05d82e159 100644
--- a/clientloop.c
+++ b/clientloop.c
@@ -66,6 +66,7 @@
 #include <sys/stat.h>
 #include <sys/socket.h>
 #include <sys/time.h>
+#include <sys/queue.h>
 
 #include <ctype.h>
 #include <errno.h>
@@ -81,7 +82,6 @@
 #include <unistd.h>
 #include <limits.h>
 
-#include "openbsd-compat/sys-queue.h"
 #include "xmalloc.h"
 #include "ssh.h"
 #include "ssh2.h"
diff --git a/configure.ac b/configure.ac
index 962c43540..c6245305d 100644
--- a/configure.ac
+++ b/configure.ac
@@ -553,6 +553,22 @@ AC_CHECK_HEADERS([ \
 	esac >"$header"
 ])
 
+dnl Now create replacement headers for those that we always want to shim.
+for include in sys/queue.h sys/tree.h; do
+	COMPATINCLUDES="openbsd-compat/include"
+	header="$COMPATINCLUDES/$include"
+	dir=`dirname "$header"`
+	mkdir -p "$dir"
+	case "$include" in
+	sys/queue.h)
+		echo '#include "openbsd-compat/sys-queue.h"'
+		;;
+	sys/tree.h)
+		echo '#include "openbsd-compat/sys-tree.h"'
+		;;
+	esac >"$header"
+done
+
 AC_CHECK_DECLS([le32toh, le64toh, htole64], [], [], [
 #ifdef HAVE_SYS_TYPES_H
 # include <sys/types.h>
diff --git a/gss-serv.c b/gss-serv.c
index 82f4cacdd..ae3465c3b 100644
--- a/gss-serv.c
+++ b/gss-serv.c
@@ -37,7 +37,6 @@
 #include <string.h>
 #include <unistd.h>
 
-#include "openbsd-compat/sys-queue.h"
 #include "xmalloc.h"
 #include "sshkey.h"
 #include "hostfile.h"
diff --git a/krl.c b/krl.c
index bea5b1b98..eb4b7c249 100644
--- a/krl.c
+++ b/krl.c
@@ -18,8 +18,8 @@
 #include "includes.h"
 
 #include <sys/types.h>
-#include <openbsd-compat/sys-tree.h>
-#include <openbsd-compat/sys-queue.h>
+#include <sys/tree.h>
+#include <sys/queue.h>
 
 #include <errno.h>
 #include <fcntl.h>
diff --git a/monitor.c b/monitor.c
index fa66b60cb..55c4a47ba 100644
--- a/monitor.c
+++ b/monitor.c
@@ -28,8 +28,10 @@
 #include "includes.h"
 
 #include <sys/types.h>
-#include <sys/socket.h>
 #include <sys/wait.h>
+#include <sys/socket.h>
+#include <sys/tree.h>
+#include <sys/queue.h>
 
 #include <errno.h>
 #include <fcntl.h>
@@ -49,8 +51,6 @@
 #include <openssl/dh.h>
 #endif
 
-#include "openbsd-compat/sys-tree.h"
-#include "openbsd-compat/sys-queue.h"
 #include "openbsd-compat/openssl-compat.h"
 
 #include "atomicio.h"
diff --git a/monitor_wrap.c b/monitor_wrap.c
index c56f46768..383bae4b0 100644
--- a/monitor_wrap.c
+++ b/monitor_wrap.c
@@ -29,6 +29,7 @@
 
 #include <sys/types.h>
 #include <sys/uio.h>
+#include <sys/queue.h>
 #include <sys/wait.h>
 
 #include <errno.h>
@@ -45,7 +46,6 @@
 #include <openssl/evp.h>
 #endif
 
-#include "openbsd-compat/sys-queue.h"
 #include "xmalloc.h"
 #include "ssh.h"
 #ifdef WITH_OPENSSL
diff --git a/mux.c b/mux.c
index 629cc0f73..be3263c50 100644
--- a/mux.c
+++ b/mux.c
@@ -20,6 +20,7 @@
 #include "includes.h"
 
 #include <sys/types.h>
+#include <sys/queue.h>
 #include <sys/stat.h>
 #include <sys/socket.h>
 #include <sys/un.h>
@@ -38,8 +39,6 @@
 #include <util.h>
 #include <paths.h>
 
-#include "openbsd-compat/sys-queue.h"
-
 #include "atomicio.h"
 #include "xmalloc.h"
 #include "log.h"
diff --git a/nchan.c b/nchan.c
index bd4758ac1..4bf5e8bb1 100644
--- a/nchan.c
+++ b/nchan.c
@@ -27,12 +27,12 @@
 
 #include <sys/types.h>
 #include <sys/socket.h>
+#include <sys/queue.h>
 
 #include <errno.h>
 #include <string.h>
 #include <stdarg.h>
 
-#include "openbsd-compat/sys-queue.h"
 #include "ssh2.h"
 #include "sshbuf.h"
 #include "ssherr.h"
diff --git a/packet.c b/packet.c
index 8785db9d8..2551c2a4e 100644
--- a/packet.c
+++ b/packet.c
@@ -40,7 +40,7 @@
 #include "includes.h"
 
 #include <sys/types.h>
-#include "openbsd-compat/sys-queue.h"
+#include <sys/queue.h>
 #include <sys/socket.h>
 #include <sys/time.h>
 
diff --git a/packet.h b/packet.h
index b63b7709d..6d6a064bd 100644
--- a/packet.h
+++ b/packet.h
@@ -16,6 +16,9 @@
 #ifndef PACKET_H
 #define PACKET_H
 
+#include <sys/queue.h>
+
+#include <signal.h>
 #include <termios.h>
 
 #ifdef WITH_OPENSSL
@@ -36,9 +39,6 @@
 # define EVP_PKEY	void
 #endif /* WITH_OPENSSL */
 
-#include <signal.h>
-#include "openbsd-compat/sys-queue.h"
-
 struct kex;
 struct sshkey;
 struct sshbuf;
diff --git a/servconf.c b/servconf.c
index be9cc827b..252e49ccb 100644
--- a/servconf.c
+++ b/servconf.c
@@ -14,6 +14,7 @@
 
 #include <sys/types.h>
 #include <sys/socket.h>
+#include <sys/queue.h>
 #include <sys/stat.h>
 #ifdef __OpenBSD__
 #include <sys/sysctl.h>
@@ -39,7 +40,6 @@
 #include <errno.h>
 #include <util.h>
 
-#include "openbsd-compat/sys-queue.h"
 #include "xmalloc.h"
 #include "ssh.h"
 #include "log.h"
diff --git a/servconf.h b/servconf.h
index e1ccc0431..f588f02e9 100644
--- a/servconf.h
+++ b/servconf.h
@@ -16,7 +16,7 @@
 #ifndef SERVCONF_H
 #define SERVCONF_H
 
-#include <openbsd-compat/sys-queue.h>
+#include <sys/queue.h>
 
 #define MAX_PORTS		256	/* Max # ports. */
 
diff --git a/serverloop.c b/serverloop.c
index dba2fc305..53842f7d3 100644
--- a/serverloop.c
+++ b/serverloop.c
@@ -41,6 +41,7 @@
 #include <sys/wait.h>
 #include <sys/socket.h>
 #include <sys/time.h>
+#include <sys/queue.h>
 
 #include <netinet/in.h>
 
@@ -55,7 +56,6 @@
 #include <unistd.h>
 #include <stdarg.h>
 
-#include "openbsd-compat/sys-queue.h"
 #include "xmalloc.h"
 #include "packet.h"
 #include "sshbuf.h"
diff --git a/session.c b/session.c
index 926cc2b81..227881ec9 100644
--- a/session.c
+++ b/session.c
@@ -36,10 +36,11 @@
 #include "includes.h"
 
 #include <sys/types.h>
+#include <sys/wait.h>
+#include <sys/un.h>
 #include <sys/stat.h>
 #include <sys/socket.h>
-#include <sys/un.h>
-#include <sys/wait.h>
+#include <sys/queue.h>
 
 #include <arpa/inet.h>
 
@@ -58,7 +59,6 @@
 #include <unistd.h>
 #include <limits.h>
 
-#include "openbsd-compat/sys-queue.h"
 #include "xmalloc.h"
 #include "ssh.h"
 #include "ssh2.h"
diff --git a/sftp-client.c b/sftp-client.c
index 02bd6ac3e..d8b364581 100644
--- a/sftp-client.c
+++ b/sftp-client.c
@@ -23,10 +23,10 @@
 #include "includes.h"
 
 #include <sys/types.h>
+#include <sys/queue.h>
 #ifdef HAVE_SYS_STATVFS_H
 #include <sys/statvfs.h>
 #endif
-#include "openbsd-compat/sys-queue.h"
 #include <sys/stat.h>
 #include <sys/time.h>
 #include <sys/uio.h>
diff --git a/sftp-usergroup.c b/sftp-usergroup.c
index 3cfcefea5..d931b2911 100644
--- a/sftp-usergroup.c
+++ b/sftp-usergroup.c
@@ -19,7 +19,7 @@
 #include "includes.h"
 
 #include <sys/types.h>
-#include <openbsd-compat/sys-tree.h>
+#include <sys/tree.h>
 
 #include <glob.h>
 #include <stdlib.h>
diff --git a/srclimit.c b/srclimit.c
index dacc570aa..05f22ee13 100644
--- a/srclimit.c
+++ b/srclimit.c
@@ -19,7 +19,7 @@
 
 #include <sys/socket.h>
 #include <sys/types.h>
-#include <openbsd-compat/sys-tree.h>
+#include <sys/tree.h>
 
 #include <limits.h>
 #include <netdb.h>
diff --git a/ssh-agent.c b/ssh-agent.c
index 848b0f9a5..f86749353 100644
--- a/ssh-agent.c
+++ b/ssh-agent.c
@@ -37,13 +37,14 @@
 #include "includes.h"
 
 #include <sys/types.h>
+#include <sys/time.h>
+#include <sys/queue.h>
 #include <sys/resource.h>
+#include <sys/socket.h>
 #include <sys/stat.h>
+#include <sys/un.h>
 #include <sys/socket.h>
 #include <sys/wait.h>
-#include <sys/time.h>
-#include <sys/un.h>
-#include "openbsd-compat/sys-queue.h"
 
 #ifdef WITH_OPENSSL
 #include <openssl/evp.h>
diff --git a/ssh-keyscan.c b/ssh-keyscan.c
index f9788114d..9bd3e78eb 100644
--- a/ssh-keyscan.c
+++ b/ssh-keyscan.c
@@ -10,9 +10,10 @@
 #include "includes.h"
  
 #include <sys/types.h>
-#include "openbsd-compat/sys-queue.h"
-#include <sys/resource.h>
+#include <sys/socket.h>
+#include <sys/queue.h>
 #include <sys/time.h>
+#include <sys/resource.h>
 
 #include <netinet/in.h>
 #include <arpa/inet.h>
diff --git a/ssh-pkcs11.c b/ssh-pkcs11.c
index c490974d8..c147ef2a7 100644
--- a/ssh-pkcs11.c
+++ b/ssh-pkcs11.c
@@ -23,6 +23,7 @@
 #include <sys/time.h>
 
 #include <sys/types.h>
+#include <sys/queue.h>
 #include <stdarg.h>
 #include <stdio.h>
 
@@ -30,9 +31,6 @@
 #include <string.h>
 #include <dlfcn.h>
 
-#include "openbsd-compat/sys-queue.h"
-#include "openbsd-compat/openssl-compat.h"
-
 #ifdef WITH_OPENSSL
 #include "openbsd-compat/openssl-compat.h"
 #include <openssl/bn.h>
diff --git a/ssh.c b/ssh.c
index 0b1a6e158..e15cb44c2 100644
--- a/ssh.c
+++ b/ssh.c
@@ -43,10 +43,12 @@
 #include "includes.h"
 
 #include <sys/types.h>
-#include <sys/stat.h>
-#include <sys/resource.h>
 #include <sys/ioctl.h>
+#include <sys/queue.h>
+#include <sys/resource.h>
 #include <sys/socket.h>
+#include <sys/stat.h>
+#include <sys/time.h>
 #include <sys/wait.h>
 #include <sys/utsname.h>
 
@@ -75,7 +77,6 @@
 #include <openssl/err.h>
 #endif
 #include "openbsd-compat/openssl-compat.h"
-#include "openbsd-compat/sys-queue.h"
 
 #include "xmalloc.h"
 #include "ssh.h"
diff --git a/ssh_api.h b/ssh_api.h
index 584f896a7..d5ba57480 100644
--- a/ssh_api.h
+++ b/ssh_api.h
@@ -18,11 +18,10 @@
 #ifndef API_H
 #define API_H
 
+#include <sys/queue.h>
 #include <sys/types.h>
 #include <signal.h>
 
-#include "openbsd-compat/sys-queue.h"
-
 #include "cipher.h"
 #include "sshkey.h"
 #include "kex.h"
diff --git a/sshconnect2.c b/sshconnect2.c
index 5e99d293f..efef5cd6f 100644
--- a/sshconnect2.c
+++ b/sshconnect2.c
@@ -29,6 +29,7 @@
 #include <sys/types.h>
 #include <sys/socket.h>
 #include <sys/wait.h>
+#include <sys/queue.h>
 #include <sys/stat.h>
 
 #include <errno.h>
@@ -45,8 +46,6 @@
 #include <vis.h>
 #endif
 
-#include "openbsd-compat/sys-queue.h"
-
 #include "xmalloc.h"
 #include "ssh.h"
 #include "ssh2.h"
diff --git a/sshd-auth.c b/sshd-auth.c
index 0f238e1b3..9f19ead2a 100644
--- a/sshd-auth.c
+++ b/sshd-auth.c
@@ -32,12 +32,11 @@
 #include <sys/types.h>
 #include <sys/ioctl.h>
 #include <sys/wait.h>
+#include <sys/tree.h>
 #include <sys/stat.h>
 #include <sys/socket.h>
 #include <sys/time.h>
-
-#include "openbsd-compat/sys-tree.h"
-#include "openbsd-compat/sys-queue.h"
+#include <sys/queue.h>
 
 #include <errno.h>
 #include <fcntl.h>
diff --git a/sshd-session.c b/sshd-session.c
index a3ad3a2bc..fdaa401b9 100644
--- a/sshd-session.c
+++ b/sshd-session.c
@@ -31,12 +31,12 @@
 
 #include <sys/types.h>
 #include <sys/ioctl.h>
-#include <sys/socket.h>
+#include <sys/wait.h>
+#include <sys/tree.h>
 #include <sys/stat.h>
+#include <sys/socket.h>
 #include <sys/time.h>
-#include "openbsd-compat/sys-tree.h"
-#include "openbsd-compat/sys-queue.h"
-#include <sys/wait.h>
+#include <sys/queue.h>
 
 #include <errno.h>
 #include <fcntl.h>
diff --git a/sshd.c b/sshd.c
index 2d5634057..e296ed789 100644
--- a/sshd.c
+++ b/sshd.c
@@ -31,8 +31,7 @@
 #include <sys/socket.h>
 #include <sys/stat.h>
 #include <sys/time.h>
-#include "openbsd-compat/sys-tree.h"
-#include "openbsd-compat/sys-queue.h"
+#include <sys/queue.h>
 #include <sys/wait.h>
 #include <sys/utsname.h>
 

-- 
To stop receiving notification emails like this one, please contact
djm at mindrot.org.


More information about the openssh-commits mailing list