Start the process of splitting sshd into separate binaries. This step
authordjm <djm@openbsd.org>
Fri, 17 May 2024 00:30:23 +0000 (00:30 +0000)
committerdjm <djm@openbsd.org>
Fri, 17 May 2024 00:30:23 +0000 (00:30 +0000)
commit71f11376417c30579eb9fbc67fa82334d840bd3f
treef61569a49e0d0cce839ebd50aba90ff4ad53ae66
parent631d5f39368afddae8e98d071834d04a914e98c7
Start the process of splitting sshd into separate binaries. This step
splits sshd into a listener and a session binary. More splits are
planned.

After this changes, the listener binary will validate the configuration,
load the hostkeys, listen on port 22 and manage MaxStartups only. All
session handling will be performed by a new sshd-session binary that the
listener fork+execs.

This reduces the listener process to the minimum necessary and sets us
up for future work on the sshd-session binary.

feedback/ok markus@ deraadt@

NB. if you're updating via source, please restart sshd after installing,
otherwise you run the risk of locking yourself out.
35 files changed:
usr.bin/ssh/Makefile
usr.bin/ssh/Makefile.inc
usr.bin/ssh/auth-rhosts.c
usr.bin/ssh/auth.c
usr.bin/ssh/auth.h
usr.bin/ssh/auth2-gss.c
usr.bin/ssh/auth2-hostbased.c
usr.bin/ssh/auth2-kbdint.c
usr.bin/ssh/auth2-none.c
usr.bin/ssh/auth2-passwd.c
usr.bin/ssh/auth2-pubkey.c
usr.bin/ssh/auth2.c
usr.bin/ssh/channels.c
usr.bin/ssh/kex.c
usr.bin/ssh/kex.h
usr.bin/ssh/kexgexs.c
usr.bin/ssh/misc.c
usr.bin/ssh/misc.h
usr.bin/ssh/monitor.c
usr.bin/ssh/monitor.h
usr.bin/ssh/monitor_wrap.c
usr.bin/ssh/monitor_wrap.h
usr.bin/ssh/msg.c
usr.bin/ssh/packet.c
usr.bin/ssh/packet.h
usr.bin/ssh/pathnames.h
usr.bin/ssh/servconf.c
usr.bin/ssh/servconf.h
usr.bin/ssh/serverloop.c
usr.bin/ssh/session.c
usr.bin/ssh/ssh_api.c
usr.bin/ssh/sshd-session.c [new file with mode: 0644]
usr.bin/ssh/sshd-session/Makefile [new file with mode: 0644]
usr.bin/ssh/sshd.c
usr.bin/ssh/sshd/Makefile