From 36b354d74be5adbb73d7dcd2ceb49b5105145d02 Mon Sep 17 00:00:00 2001 From: Ed Maste Date: Thu, 16 Mar 2023 08:41:22 -0400 Subject: Vendor import of OpenSSH 9.3p1 --- .depend | 51 +- .github/ci-status.md | 7 +- .github/configs | 2 +- .github/run_test.sh | 2 +- .github/setup_ci.sh | 6 +- .github/workflows/c-cpp.yml | 1 + .github/workflows/selfhosted.yml | 3 + .github/workflows/upstream.yml | 1 + ChangeLog | 15098 ++++++++++++++++--------------- Makefile.in | 5 + README | 3 +- README.md | 1 + auth-pam.c | 15 +- auth-shadow.c | 14 +- auth.c | 3 +- auth2-hostbased.c | 9 +- auth2-none.c | 3 +- auth2-pubkey.c | 8 +- auth2-pubkeyfile.c | 3 +- auth2.c | 5 +- authfd.c | 9 +- authfile.c | 4 +- canohost.c | 5 +- channels.c | 42 +- channels.h | 4 +- clientloop.c | 14 +- compat.c | 53 +- compat.h | 14 +- contrib/redhat/openssh.spec | 2 +- contrib/suse/openssh.spec | 2 +- dispatch.c | 3 +- dns.c | 8 +- dns.h | 4 +- hostfile.c | 15 +- kex.c | 72 +- kex.h | 5 +- kexgexs.c | 3 +- krl.c | 3 +- misc.c | 5 +- misc.h | 5 +- moduli.c | 13 +- monitor.c | 11 +- mux.c | 4 +- openbsd-compat/bsd-getentropy.c | 2 +- openbsd-compat/bsd-snprintf.c | 90 +- openbsd-compat/getopt.h | 3 + openbsd-compat/getopt_long.c | 14 + openbsd-compat/getrrsetbyname.c | 47 +- openbsd-compat/libressl-api-compat.c | 14 +- openbsd-compat/mktemp.c | 23 + openbsd-compat/openbsd-compat.h | 3 + packet.c | 4 +- progressmeter.c | 95 +- readconf.c | 11 +- regress/Makefile | 6 +- regress/agent-getpeereid.sh | 3 +- regress/agent-restrict.sh | 6 +- regress/agent.sh | 4 +- regress/dhgex.sh | 6 +- regress/integrity.sh | 4 +- regress/keygen-sshfp.sh | 22 +- regress/knownhosts.sh | 20 +- regress/multiplex.sh | 4 +- regress/sshd-log-wrapper.sh | 12 - regress/test-exec.sh | 88 +- regress/timestamp.c | 46 + regress/unittests/kex/test_proposal.c | 47 +- regress/unittests/kex/tests.c | 8 +- regress/unittests/misc/test_ptimeout.c | 6 +- sandbox-seccomp-filter.c | 93 +- scp.c | 8 +- servconf.c | 15 +- serverloop.c | 5 +- session.c | 4 +- sftp-client.c | 3 +- sftp-server.c | 4 +- sftp.c | 14 +- ssh-add.c | 9 +- ssh-agent.c | 8 +- ssh-dss.c | 3 +- ssh-ecdsa-sk.c | 3 +- ssh-ecdsa.c | 4 +- ssh-keygen.0 | 10 +- ssh-keygen.1 | 19 +- ssh-keygen.c | 42 +- ssh-keyscan.0 | 15 +- ssh-keyscan.1 | 19 +- ssh-keyscan.c | 22 +- ssh-pkcs11.c | 8 +- ssh-rsa.c | 3 +- ssh.c | 3 +- ssh_config.0 | 14 +- ssh_config.5 | 6 +- sshconnect.c | 5 +- sshconnect2.c | 81 +- sshd.0 | 14 +- sshd.8 | 20 +- sshd.c | 92 +- sshd_config.0 | 18 +- sshd_config.5 | 18 +- umac.c | 5 +- version.h | 4 +- 102 files changed, 8602 insertions(+), 8117 deletions(-) delete mode 100644 regress/sshd-log-wrapper.sh create mode 100644 regress/timestamp.c diff --git a/.depend b/.depend index 5226523aa2ad..259bf3b2f136 100644 --- a/.depend +++ b/.depend @@ -16,21 +16,20 @@ auth-passwd.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-c auth-rhosts.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h packet.h openbsd-compat/sys-queue.h dispatch.h uidswap.h pathnames.h log.h ssherr.h misc.h xmalloc.h sshbuf.h sshkey.h servconf.h canohost.h hostfile.h auth.h auth-pam.h audit.h loginrec.h auth-shadow.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h auth-sia.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h -auth.o: authfile.h monitor_wrap.h compat.h channels.h +auth.o: authfile.h monitor_wrap.h channels.h auth.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h match.h groupaccess.h log.h ssherr.h sshbuf.h misc.h servconf.h openbsd-compat/sys-queue.h sshkey.h hostfile.h auth.h auth-pam.h audit.h loginrec.h auth-options.h canohost.h uidswap.h packet.h dispatch.h auth2-chall.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h ssh2.h sshkey.h hostfile.h auth.h auth-pam.h audit.h loginrec.h sshbuf.h packet.h openbsd-compat/sys-queue.h dispatch.h ssherr.h log.h misc.h servconf.h auth2-gss.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h -auth2-hostbased.o: canohost.h monitor_wrap.h pathnames.h match.h -auth2-hostbased.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h ssh2.h packet.h openbsd-compat/sys-queue.h dispatch.h kex.h mac.h crypto_api.h sshbuf.h log.h ssherr.h misc.h servconf.h compat.h sshkey.h hostfile.h auth.h auth-pam.h audit.h loginrec.h +auth2-hostbased.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h ssh2.h packet.h openbsd-compat/sys-queue.h dispatch.h kex.h mac.h crypto_api.h sshbuf.h log.h ssherr.h misc.h servconf.h sshkey.h hostfile.h auth.h auth-pam.h audit.h loginrec.h canohost.h +auth2-hostbased.o: monitor_wrap.h pathnames.h match.h auth2-kbdint.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h packet.h openbsd-compat/sys-queue.h dispatch.h hostfile.h auth.h auth-pam.h audit.h loginrec.h log.h ssherr.h misc.h servconf.h -auth2-none.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h atomicio.h xmalloc.h sshkey.h hostfile.h auth.h auth-pam.h audit.h loginrec.h packet.h openbsd-compat/sys-queue.h dispatch.h log.h ssherr.h misc.h servconf.h compat.h ssh2.h monitor_wrap.h +auth2-none.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h atomicio.h xmalloc.h sshkey.h hostfile.h auth.h auth-pam.h audit.h loginrec.h packet.h openbsd-compat/sys-queue.h dispatch.h log.h ssherr.h misc.h servconf.h ssh2.h monitor_wrap.h auth2-passwd.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h packet.h openbsd-compat/sys-queue.h dispatch.h ssherr.h log.h sshkey.h hostfile.h auth.h auth-pam.h audit.h loginrec.h monitor_wrap.h misc.h servconf.h auth2-pubkey.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h ssh.h ssh2.h packet.h openbsd-compat/sys-queue.h dispatch.h kex.h mac.h crypto_api.h sshbuf.h log.h ssherr.h misc.h servconf.h compat.h sshkey.h hostfile.h auth.h auth-pam.h audit.h loginrec.h auth2-pubkey.o: pathnames.h uidswap.h auth-options.h canohost.h monitor_wrap.h authfile.h match.h channels.h session.h sk-api.h -auth2-pubkeyfile.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h ssh.h log.h ssherr.h misc.h compat.h sshkey.h digest.h hostfile.h auth.h auth-pam.h audit.h loginrec.h auth-options.h authfile.h match.h -auth2.o: digest.h -auth2.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h atomicio.h xmalloc.h ssh2.h packet.h openbsd-compat/sys-queue.h dispatch.h log.h ssherr.h sshbuf.h misc.h servconf.h compat.h sshkey.h hostfile.h auth.h auth-pam.h audit.h loginrec.h pathnames.h monitor_wrap.h -authfd.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h ssh.h sshbuf.h sshkey.h authfd.h cipher.h cipher-chachapoly.h chacha.h poly1305.h cipher-aesctr.h rijndael.h compat.h log.h ssherr.h atomicio.h misc.h +auth2-pubkeyfile.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h ssh.h log.h ssherr.h misc.h sshkey.h digest.h hostfile.h auth.h auth-pam.h audit.h loginrec.h auth-options.h authfile.h match.h +auth2.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h atomicio.h xmalloc.h ssh2.h packet.h openbsd-compat/sys-queue.h dispatch.h log.h ssherr.h sshbuf.h misc.h servconf.h sshkey.h hostfile.h auth.h auth-pam.h audit.h loginrec.h pathnames.h monitor_wrap.h digest.h +authfd.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h ssh.h sshbuf.h sshkey.h authfd.h cipher.h cipher-chachapoly.h chacha.h poly1305.h cipher-aesctr.h rijndael.h log.h ssherr.h atomicio.h misc.h authfile.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h cipher.h cipher-chachapoly.h chacha.h poly1305.h cipher-aesctr.h rijndael.h ssh.h log.h ssherr.h authfile.h misc.h atomicio.h sshkey.h sshbuf.h krl.h bitmap.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h bitmap.h canohost.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h packet.h openbsd-compat/sys-queue.h dispatch.h log.h ssherr.h canohost.h misc.h @@ -44,11 +43,11 @@ cipher.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat cleanup.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h log.h ssherr.h clientloop.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h openbsd-compat/sys-queue.h xmalloc.h ssh.h ssh2.h packet.h dispatch.h sshbuf.h compat.h channels.h sshkey.h cipher.h cipher-chachapoly.h chacha.h poly1305.h cipher-aesctr.h rijndael.h kex.h mac.h crypto_api.h clientloop.o: myproposal.h log.h ssherr.h misc.h readconf.h clientloop.h sshconnect.h authfd.h atomicio.h sshpty.h match.h msg.h hostfile.h -compat.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h packet.h openbsd-compat/sys-queue.h dispatch.h compat.h log.h ssherr.h match.h kex.h mac.h crypto_api.h +compat.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h packet.h openbsd-compat/sys-queue.h dispatch.h compat.h log.h ssherr.h match.h dh.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h digest-libc.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h ssherr.h sshbuf.h digest.h digest-openssl.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h -dispatch.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h ssh2.h log.h ssherr.h dispatch.h packet.h openbsd-compat/sys-queue.h compat.h +dispatch.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h ssh2.h log.h ssherr.h dispatch.h packet.h openbsd-compat/sys-queue.h dns.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h sshkey.h ssherr.h dns.h log.h digest.h ed25519.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h crypto_api.h entropy.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h @@ -61,7 +60,7 @@ hash.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h hmac.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h sshbuf.h digest.h hmac.h hostfile.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h match.h sshkey.h hostfile.h log.h ssherr.h misc.h pathnames.h digest.h hmac.h sshbuf.h kex.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h ssh.h ssh2.h atomicio.h version.h packet.h openbsd-compat/sys-queue.h dispatch.h compat.h cipher.h cipher-chachapoly.h chacha.h poly1305.h cipher-aesctr.h rijndael.h sshkey.h kex.h mac.h crypto_api.h log.h ssherr.h -kex.o: match.h misc.h monitor.h sshbuf.h digest.h +kex.o: match.h misc.h monitor.h myproposal.h sshbuf.h digest.h xmalloc.h kexc25519.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h sshkey.h kex.h mac.h crypto_api.h sshbuf.h digest.h ssherr.h ssh2.h kexdh.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h kexecdh.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h ssherr.h @@ -94,8 +93,8 @@ platform-tracing.o: includes.h config.h defines.h platform.h openbsd-compat/open platform.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h log.h ssherr.h misc.h servconf.h openbsd-compat/sys-queue.h sshkey.h hostfile.h auth.h auth-pam.h audit.h loginrec.h poly1305.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h poly1305.h progressmeter.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h progressmeter.h atomicio.h misc.h utf8.h -readconf.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h openbsd-compat/glob.h xmalloc.h ssh.h ssherr.h compat.h cipher.h cipher-chachapoly.h chacha.h poly1305.h cipher-aesctr.h rijndael.h pathnames.h log.h sshkey.h misc.h readconf.h match.h kex.h mac.h crypto_api.h -readconf.o: uidswap.h myproposal.h digest.h +readconf.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h openbsd-compat/glob.h xmalloc.h ssh.h ssherr.h cipher.h cipher-chachapoly.h chacha.h poly1305.h cipher-aesctr.h rijndael.h pathnames.h log.h sshkey.h misc.h readconf.h match.h kex.h mac.h crypto_api.h uidswap.h +readconf.o: myproposal.h digest.h readpass.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h misc.h pathnames.h log.h ssherr.h ssh.h uidswap.h rijndael.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h rijndael.h sandbox-capsicum.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h @@ -107,12 +106,12 @@ sandbox-seccomp-filter.o: includes.h config.h defines.h platform.h openbsd-compa sandbox-solaris.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h sandbox-systrace.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h scp.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h openbsd-compat/glob.h xmalloc.h ssh.h atomicio.h pathnames.h log.h ssherr.h misc.h progressmeter.h utf8.h sftp.h sftp-common.h sftp-client.h -servconf.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h openbsd-compat/glob.h openbsd-compat/sys-queue.h xmalloc.h ssh.h log.h ssherr.h sshbuf.h misc.h servconf.h compat.h pathnames.h cipher.h cipher-chachapoly.h chacha.h poly1305.h cipher-aesctr.h rijndael.h sshkey.h -servconf.o: kex.h mac.h crypto_api.h match.h channels.h groupaccess.h canohost.h packet.h dispatch.h hostfile.h auth.h auth-pam.h audit.h loginrec.h myproposal.h digest.h -serverloop.o: cipher-aesctr.h rijndael.h kex.h mac.h crypto_api.h hostfile.h auth.h auth-pam.h audit.h loginrec.h session.h auth-options.h serverloop.h -serverloop.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h openbsd-compat/sys-queue.h xmalloc.h packet.h dispatch.h sshbuf.h log.h ssherr.h misc.h servconf.h canohost.h sshpty.h channels.h compat.h ssh2.h sshkey.h cipher.h cipher-chachapoly.h chacha.h poly1305.h -session.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h openbsd-compat/sys-queue.h xmalloc.h ssh.h ssh2.h sshpty.h packet.h dispatch.h sshbuf.h ssherr.h match.h uidswap.h compat.h channels.h sshkey.h cipher.h cipher-chachapoly.h chacha.h poly1305.h cipher-aesctr.h -session.o: rijndael.h hostfile.h auth.h auth-pam.h audit.h loginrec.h auth-options.h authfd.h pathnames.h log.h misc.h servconf.h sshlogin.h serverloop.h canohost.h session.h kex.h mac.h crypto_api.h monitor_wrap.h sftp.h atomicio.h +servconf.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h openbsd-compat/glob.h openbsd-compat/sys-queue.h xmalloc.h ssh.h log.h ssherr.h sshbuf.h misc.h servconf.h pathnames.h cipher.h cipher-chachapoly.h chacha.h poly1305.h cipher-aesctr.h rijndael.h sshkey.h kex.h +servconf.o: mac.h crypto_api.h match.h channels.h groupaccess.h canohost.h packet.h dispatch.h hostfile.h auth.h auth-pam.h audit.h loginrec.h myproposal.h digest.h +serverloop.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h openbsd-compat/sys-queue.h xmalloc.h packet.h dispatch.h sshbuf.h log.h ssherr.h misc.h servconf.h canohost.h sshpty.h channels.h ssh2.h sshkey.h cipher.h cipher-chachapoly.h chacha.h poly1305.h cipher-aesctr.h +serverloop.o: rijndael.h kex.h mac.h crypto_api.h hostfile.h auth.h auth-pam.h audit.h loginrec.h session.h auth-options.h serverloop.h +session.o: hostfile.h auth.h auth-pam.h audit.h loginrec.h auth-options.h authfd.h pathnames.h log.h misc.h servconf.h sshlogin.h serverloop.h canohost.h session.h kex.h mac.h crypto_api.h monitor_wrap.h sftp.h atomicio.h +session.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h openbsd-compat/sys-queue.h xmalloc.h ssh.h ssh2.h sshpty.h packet.h dispatch.h sshbuf.h ssherr.h match.h uidswap.h channels.h sshkey.h cipher.h cipher-chachapoly.h chacha.h poly1305.h cipher-aesctr.h rijndael.h sftp-client.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h openbsd-compat/sys-queue.h xmalloc.h ssherr.h sshbuf.h log.h atomicio.h progressmeter.h misc.h utf8.h sftp.h sftp-common.h sftp-client.h openbsd-compat/glob.h sftp-common.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h ssherr.h sshbuf.h log.h misc.h sftp.h sftp-common.h sftp-glob.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h sftp.h sftp-common.h sftp-client.h openbsd-compat/glob.h @@ -125,7 +124,7 @@ sk-usbhid.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-com sntrup761.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h srclimit.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h addr.h canohost.h log.h ssherr.h misc.h srclimit.h xmalloc.h ssh-add.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h ssh.h log.h ssherr.h sshkey.h sshbuf.h authfd.h authfile.h pathnames.h misc.h digest.h ssh-sk.h sk-api.h hostfile.h -ssh-agent.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h openbsd-compat/sys-queue.h xmalloc.h ssh.h ssh2.h sshbuf.h sshkey.h authfd.h compat.h log.h ssherr.h misc.h digest.h match.h msg.h pathnames.h ssh-pkcs11.h sk-api.h myproposal.h +ssh-agent.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h openbsd-compat/sys-queue.h xmalloc.h ssh.h ssh2.h sshbuf.h sshkey.h authfd.h log.h ssherr.h misc.h digest.h match.h msg.h pathnames.h ssh-pkcs11.h sk-api.h myproposal.h ssh-dss.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h ssh-ecdsa-sk.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h openbsd-compat/openssl-compat.h sshbuf.h ssherr.h digest.h sshkey.h ssh-ecdsa.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h @@ -133,8 +132,8 @@ ssh-ed25519-sk.o: includes.h config.h defines.h platform.h openbsd-compat/openbs ssh-ed25519.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h crypto_api.h log.h ssherr.h sshbuf.h sshkey.h ssh.h ssh-keygen.o: cipher-chachapoly.h chacha.h poly1305.h cipher-aesctr.h rijndael.h ssh-keygen.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h sshkey.h authfile.h sshbuf.h pathnames.h log.h ssherr.h misc.h match.h hostfile.h dns.h ssh.h ssh2.h ssh-pkcs11.h atomicio.h krl.h digest.h utf8.h authfd.h sshsig.h ssh-sk.h sk-api.h cipher.h -ssh-keyscan.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h openbsd-compat/sys-queue.h xmalloc.h ssh.h sshbuf.h sshkey.h cipher.h cipher-chachapoly.h chacha.h poly1305.h cipher-aesctr.h rijndael.h kex.h mac.h crypto_api.h compat.h myproposal.h packet.h dispatch.h log.h -ssh-keyscan.o: ssherr.h atomicio.h misc.h hostfile.h ssh_api.h ssh2.h dns.h addr.h +ssh-keyscan.o: dispatch.h log.h ssherr.h atomicio.h misc.h hostfile.h ssh_api.h ssh2.h dns.h addr.h +ssh-keyscan.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h openbsd-compat/sys-queue.h xmalloc.h ssh.h sshbuf.h sshkey.h cipher.h cipher-chachapoly.h chacha.h poly1305.h cipher-aesctr.h rijndael.h digest.h kex.h mac.h crypto_api.h compat.h myproposal.h packet.h ssh-keysign.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h log.h ssherr.h sshkey.h ssh.h ssh2.h misc.h sshbuf.h authfile.h msg.h canohost.h pathnames.h readconf.h uidswap.h ssh-pkcs11-client.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h ssh-pkcs11-helper.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h openbsd-compat/sys-queue.h xmalloc.h sshbuf.h log.h ssherr.h misc.h sshkey.h authfd.h ssh-pkcs11.h @@ -153,12 +152,12 @@ sshbuf-getput-crypto.o: includes.h config.h defines.h platform.h openbsd-compat/ sshbuf-io.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h ssherr.h sshbuf.h atomicio.h sshbuf-misc.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h ssherr.h sshbuf.h sshbuf.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h ssherr.h sshbuf.h misc.h -sshconnect.o: authfd.h kex.h mac.h crypto_api.h -sshconnect.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h hostfile.h ssh.h sshbuf.h packet.h openbsd-compat/sys-queue.h dispatch.h compat.h sshkey.h sshconnect.h log.h ssherr.h misc.h readconf.h atomicio.h dns.h monitor_fdpass.h ssh2.h version.h authfile.h +sshconnect.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h hostfile.h ssh.h sshbuf.h packet.h openbsd-compat/sys-queue.h dispatch.h sshkey.h sshconnect.h log.h ssherr.h misc.h readconf.h atomicio.h dns.h monitor_fdpass.h ssh2.h version.h authfile.h authfd.h +sshconnect.o: kex.h mac.h crypto_api.h sshconnect2.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h openbsd-compat/sys-queue.h xmalloc.h ssh.h ssh2.h sshbuf.h packet.h dispatch.h compat.h cipher.h cipher-chachapoly.h chacha.h poly1305.h cipher-aesctr.h rijndael.h sshkey.h kex.h mac.h crypto_api.h -sshconnect2.o: myproposal.h sshconnect.h authfile.h dh.h authfd.h log.h ssherr.h misc.h readconf.h match.h canohost.h msg.h pathnames.h uidswap.h hostfile.h utf8.h ssh-sk.h sk-api.h +sshconnect2.o: sshconnect.h authfile.h dh.h authfd.h log.h ssherr.h misc.h readconf.h match.h canohost.h msg.h pathnames.h uidswap.h hostfile.h utf8.h ssh-sk.h sk-api.h sshd.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h ./openbsd-compat/sys-tree.h openbsd-compat/sys-queue.h xmalloc.h ssh.h ssh2.h sshpty.h packet.h dispatch.h log.h ssherr.h sshbuf.h misc.h match.h servconf.h uidswap.h compat.h cipher.h cipher-chachapoly.h chacha.h -sshd.o: poly1305.h cipher-aesctr.h rijndael.h digest.h sshkey.h kex.h mac.h crypto_api.h myproposal.h authfile.h pathnames.h atomicio.h canohost.h hostfile.h auth.h auth-pam.h audit.h loginrec.h authfd.h msg.h channels.h session.h monitor.h monitor_wrap.h ssh-sandbox.h auth-options.h version.h sk-api.h srclimit.h dh.h +sshd.o: poly1305.h cipher-aesctr.h rijndael.h digest.h sshkey.h kex.h mac.h crypto_api.h authfile.h pathnames.h atomicio.h canohost.h hostfile.h auth.h auth-pam.h audit.h loginrec.h authfd.h msg.h channels.h session.h monitor.h monitor_wrap.h ssh-sandbox.h auth-options.h version.h sk-api.h srclimit.h dh.h ssherr.o: ssherr.h sshkey-xmss.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h sshkey.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h crypto_api.h ssh2.h ssherr.h misc.h sshbuf.h cipher.h cipher-chachapoly.h chacha.h poly1305.h cipher-aesctr.h rijndael.h digest.h sshkey.h match.h ssh-sk.h openbsd-compat/openssl-compat.h diff --git a/.github/ci-status.md b/.github/ci-status.md index d13bbfa8c038..c57c3d83d11a 100644 --- a/.github/ci-status.md +++ b/.github/ci-status.md @@ -4,7 +4,8 @@ master : [![Upstream self-hosted](https://github.com/openssh/openssh-portable-selfhosted/actions/workflows/upstream.yml/badge.svg)](https://github.com/openssh/openssh-portable-selfhosted/actions/workflows/upstream.yml?query=branch:master) [![CIFuzz](https://github.com/openssh/openssh-portable/actions/workflows/cifuzz.yml/badge.svg)](https://github.com/openssh/openssh-portable/actions/workflows/cifuzz.yml) [![Fuzzing Status](https://oss-fuzz-build-logs.storage.googleapis.com/badges/openssh.svg)](https://bugs.chromium.org/p/oss-fuzz/issues/list?sort=-opened&can=1&q=proj:openssh) +[![Coverity Status](https://scan.coverity.com/projects/21341/badge.svg)](https://scan.coverity.com/projects/openssh-portable) -9.1 : -[![C/C++ CI](https://github.com/openssh/openssh-portable/actions/workflows/c-cpp.yml/badge.svg?branch=V_9_1)](https://github.com/openssh/openssh-portable/actions/workflows/c-cpp.yml?query=branch:V_9_1) -[![C/C++ CI self-hosted](https://github.com/openssh/openssh-portable-selfhosted/actions/workflows/selfhosted.yml/badge.svg?branch=V_9_1)](https://github.com/openssh/openssh-portable-selfhosted/actions/workflows/selfhosted.yml?query=branch:V_9_1) +9.2 : +[![C/C++ CI](https://github.com/openssh/openssh-portable/actions/workflows/c-cpp.yml/badge.svg?branch=V_9_2)](https://github.com/openssh/openssh-portable/actions/workflows/c-cpp.yml?query=branch:V_9_2) +[![C/C++ CI self-hosted](https://github.com/openssh/openssh-portable-selfhosted/actions/workflows/selfhosted.yml/badge.svg?branch=V_9_2)](https://github.com/openssh/openssh-portable-selfhosted/actions/workflows/selfhosted.yml?query=branch:V_9_2) diff --git a/.github/configs b/.github/configs index bdd5ddbdfaf0..8f21fc54a268 100755 --- a/.github/configs +++ b/.github/configs @@ -221,7 +221,7 @@ case "${TARGET_HOST}" in # test run does not time out. # The agent-restrict test fails due to some quoting issue when run # with sh or ksh so specify bash for now. - TEST_TARGET="t-exec TEST_SHELL=bash" + TEST_TARGET="t-exec unit TEST_SHELL=bash" SKIP_LTESTS="rekey sftp" ;; debian-riscv64) diff --git a/.github/run_test.sh b/.github/run_test.sh index 8eeaf5e9b09d..d5fd487d9009 100755 --- a/.github/run_test.sh +++ b/.github/run_test.sh @@ -21,7 +21,7 @@ if [ ! -z "$SUDO" ] && [ ! -z "$TEST_SSH_HOSTBASED_AUTH" ]; then fi output_failed_logs() { - for i in regress/failed*; do + for i in regress/failed*.log; do if [ -f "$i" ]; then echo ------------------------------------------------------------------------- echo LOGFILE $i diff --git a/.github/setup_ci.sh b/.github/setup_ci.sh index e4480e614f31..691c70dd7ed6 100755 --- a/.github/setup_ci.sh +++ b/.github/setup_ci.sh @@ -7,10 +7,10 @@ PACKAGES="" case "`./config.guess`" in *cygwin) PACKAGER=setup - echo Setting CYGWIN sustem environment variable. + echo Setting CYGWIN system environment variable. setx CYGWIN "binmode" - chmod -R go-rw /cygdrive/d/a - umask 077 + echo Removing extended ACLs so umask works as expected. + setfacl -b . regress PACKAGES="$PACKAGES,autoconf,automake,cygwin-devel,gcc-core" PACKAGES="$PACKAGES,make,openssl-devel,zlib-devel" ;; diff --git a/.github/workflows/c-cpp.yml b/.github/workflows/c-cpp.yml index e6ea49550f71..f3163884a037 100644 --- a/.github/workflows/c-cpp.yml +++ b/.github/workflows/c-cpp.yml @@ -123,3 +123,4 @@ jobs: regress/valgrind-out/ regress/asan.log.* regress/msan.log.* + regress/log/* diff --git a/.github/workflows/selfhosted.yml b/.github/workflows/selfhosted.yml index 50bc9fffb723..d38cba520500 100644 --- a/.github/workflows/selfhosted.yml +++ b/.github/workflows/selfhosted.yml @@ -21,6 +21,7 @@ jobs: matrix: target: - alpine + - centos7 - debian-i386 - dfly30 - dfly48 @@ -51,6 +52,7 @@ jobs: include: # Then we include extra libvirt test configs. - { target: aix51, config: default, host: libvirt } + - { target: centos7, config: pam, host: libvirt } - { target: debian-i386, config: pam, host: libvirt } - { target: dfly30, config: without-openssl, host: libvirt} - { target: dfly48, config: pam ,host: libvirt } @@ -109,6 +111,7 @@ jobs: config.h config.log regress/*.log + regress/log/* regress/valgrind-out/ - name: shutdown VM if: always() diff --git a/.github/workflows/upstream.yml b/.github/workflows/upstream.yml index 1e2c2acb7ac0..b280793d31f3 100644 --- a/.github/workflows/upstream.yml +++ b/.github/workflows/upstream.yml @@ -46,6 +46,7 @@ jobs: name: ${{ matrix.target }}-${{ matrix.config }}-logs path: | /usr/obj/regress/usr.bin/ssh/obj/*.log + /usr/obj/regress/usr.bin/ssh/obj/log/* - name: shutdown VM if: always() run: vmshutdown diff --git a/ChangeLog b/ChangeLog index 4251831a1732..f1d1b37d583c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,11196 +1,11238 @@ -commit 6dfb65de949cdd0a5d198edee9a118f265924f33 +commit cb30fbdbee869f1ce11f06aa97e1cb8717a0b645 Author: Damien Miller -Date: Thu Feb 2 23:21:54 2023 +1100 +Date: Thu Mar 16 08:28:19 2023 +1100 - crank versions in RPM specs + depend -commit d07cfb11a0ca574eb68a3931d8c46fbe862a2021 +commit 1dba63eb10c40b6fda9f5012ed6ae87e2d3d028e Author: Damien Miller -Date: Thu Feb 2 23:21:45 2023 +1100 +Date: Thu Mar 16 08:27:54 2023 +1100 - update version in README + crank version -commit 9fe207565b4ab0fe5d1ac5bb85e39188d96fb214 -Author: Damien Miller -Date: Thu Feb 2 23:17:49 2023 +1100 +commit ba7532d0dac9aaf0ad7270664c43837fc9f64a5f +Author: djm@openbsd.org +Date: Wed Mar 15 21:19:57 2023 +0000 - adapt compat_kex_proposal() test to portable + upstream: openssh-9.3 + + OpenBSD-Commit-ID: 8011495f2449c1029bb316bd015eab2e00509848 -commit 903c556b938fff2d7bff8da2cc460254430963c5 -Author: djm@openbsd.org -Date: Thu Feb 2 12:12:52 2023 +0000 +commit 6fd4daafb949b66bf555f3100f715a9ec64c3390 +Author: dtucker@openbsd.org +Date: Tue Mar 14 07:28:47 2023 +0000 - upstream: test compat_kex_proposal(); by dtucker@ + upstream: Free KRL ptr in addition to its contents. - OpenBSD-Regress-ID: 0e404ee264db546f9fdbf53390689ab5f8d38bf2 + From Coverity CID 291841, ok djm@ + + OpenBSD-Commit-ID: f146ba08b1b43af4e0d7ad8c4dae3748b4fa31b6 -commit 405fba71962dec8409c0c962408e09049e5624b5 +commit 1d270bd303afaf6d94e9098cbbf18e5e539e2088 Author: dtucker@openbsd.org -Date: Thu Jan 19 07:53:45 2023 +0000 +Date: Tue Mar 14 07:26:25 2023 +0000 - upstream: Check if we can copy sshd or need to use sudo to do so + upstream: Check pointer for NULL before deref. - during reexec test. Skip test if neither can work. Patch from anton@, tweaks - from me. + None of the existing callers seem to do that, but it's worth checking. + From Coverity CID 291834, ok djm@ - OpenBSD-Regress-ID: 731b96ae74d02d5744e1f1a8e51d09877ffd9b6d + OpenBSD-Commit-ID: a0a97113f192a7cb1a2c97b932f677f573cda7a4 -commit b2a2a8f69fd7737ea17dc044353c514f2f962f35 -Author: djm@openbsd.org -Date: Thu Feb 2 12:10:22 2023 +0000 +commit d95af508e78c0cd3dce56b83853baaa59ae295cf +Author: dtucker@openbsd.org +Date: Sun Mar 12 10:40:39 2023 +0000 - upstream: openssh-9.2 + upstream: Limit number of entries in SSH2_MSG_EXT_INFO - OpenBSD-Commit-ID: f7389f32413c74d6e2055f05cf65e7082de03923 + request. This is already constrained by the maximum SSH packet size but this + makes it explicit. Prompted by Coverity CID 291868, ok djm@ markus@ + + OpenBSD-Commit-ID: aea023819aa44a2dcb9dd0fbec10561896fc3a09 -commit 12da7823336434a403f25c7cc0c2c6aed0737a35 -Author: djm@openbsd.org -Date: Thu Feb 2 12:10:05 2023 +0000 +commit 8f287ba60d342b3e2f750e7332d2131e3ec7ecd0 +Author: dtucker@openbsd.org +Date: Sun Mar 12 09:41:18 2023 +0000 - upstream: fix double-free caused by compat_kex_proposal(); bz3522 + upstream: calloc can return NULL but xcalloc can't. - by dtucker@, ok me + From Coverity CID 291881, ok djm@ - OpenBSD-Commit-ID: 2bfc37cd2d41f67dad64c17a64cf2cd3806a5c80 + OpenBSD-Commit-ID: 50204b755f66b2ec7ac3cfe379d07d85ca161d2b -commit 79efd95ab5ff99f4cb3a955e2d713b3f54fb807e -Author: Darren Tucker -Date: Wed Feb 1 17:17:26 2023 +1100 +commit 83a56a49fd50f4acf900f934279482e4ef329715 +Author: dtucker@openbsd.org +Date: Fri Mar 10 07:17:08 2023 +0000 - Skip connection-timeout test on minix3. + upstream: Explicitly ignore return from fcntl - Minix 3's Unix domain sockets don't seem to work the way we expect, so - skip connection-timeout test on that platform. While there, group - together all similarly skipped tests and explicitly comment. + (... FD_CLOEXEC) here too. Coverity CID 291853. + + OpenBSD-Commit-ID: 99d8b3da9d0be1d07ca8dd8e98800a890349e9b5 -commit 6b508c4e039619842bcf5a16f8a6b08dd6bec44a +commit 0fda9d704d3bbf54a5e64ce02a6fecb11fe7f047 Author: Damien Miller -Date: Wed Feb 1 12:12:05 2023 +1100 +Date: Fri Mar 10 15:59:46 2023 +1100 - fix libfido2 detection without pkg-config + bounds checking for getrrsetbyname() replacement; - Place libfido2 before additional libraries (that it may depend upon) - and not after. bz3530 from James Zhang; ok dtucker@ + Spotted by Coverity in CID 405033; ok millert@ -commit 358e300fed5e6def233a2c06326e51e20ebed621 -Author: deraadt@openbsd.org -Date: Wed Jan 18 20:56:36 2023 +0000 +commit 89b8df518f21677045599df0ad3e5dd0f39909b5 +Author: dtucker@openbsd.org +Date: Fri Mar 10 04:06:21 2023 +0000 - upstream: delete useless dependency + upstream: Plug mem leak on error path. Coverity CID 405026, ok djm@. - OpenBSD-Commit-ID: e1dc11143f83082e3154d6094f9136d0dc2637ad + OpenBSD-Commit-ID: 8212ca05d01966fb5e72205c592b2257708a2aac -commit a4cb9be1b021b511e281ee55c356f964487d9e82 -Author: deraadt@openbsd.org -Date: Wed Jan 18 20:43:15 2023 +0000 +commit bf4dae0ad192c3e2f03f7223834b00d88ace3d3e +Author: Darren Tucker +Date: Fri Mar 10 14:46:57 2023 +1100 - upstream: Create and install sshd random relink kit. + Add prototypes for mkstemp replacements. - ../Makefile.inc and Makfile are concatenated for reuse, which hopefully won't - be too fragile, we'll see if we need a different approach. The resulting sshd - binary is tested with the new sshd -V option before installation. As the - binary layout is now semi-unknown (meaning relative, fixed, and gadget - offsets are not precisely known), change the filesystem permissions to 511 to - prevent what I call "logged in BROP". I have ideas for improving this further - but this is a first step ok djm + Should prevent warnings due to our wrapper function. + +commit 4e04d68d6a33cdc73b831fd4b5e6124175555d3d +Author: dtucker@openbsd.org +Date: Fri Mar 10 03:01:51 2023 +0000 + + upstream: Expliticly ignore return code from fcntl(.. FD_CLOEXEC) since - OpenBSD-Commit-ID: 1e0a2692b7e20b126dda60bf04999d1d30d959d8 + there's not much we can do anyway. From Coverity CID 291857, ok djm@ + + OpenBSD-Commit-ID: 051429dd07af8db3fec10d82cdc78d90bb051729 -commit bc7de6f91a9a0ae2f148a9d31a4027d441a51999 -Author: jmc@openbsd.org -Date: Wed Jan 18 06:55:32 2023 +0000 +commit d6d38fd77cbe091c59e1bb720c3a494df4990640 +Author: djm@openbsd.org +Date: Fri Mar 10 02:32:04 2023 +0000 - upstream: tweak previous; ok djm + upstream: Like sshd_config, some ssh_config options are not - OpenBSD-Commit-ID: df71ce4180c58202dfdc1d92626cfe900b91b7c3 + first-match-wins. sshd_config.5 was fixed in r1.348, this is the same for + this file + + OpenBSD-Commit-ID: 7be55b9351cde449b136afcc52d07aa4113b215e -commit a20b7e999773e6333c8aa9b0a7fa41966e63b037 -Author: Darren Tucker -Date: Tue Jan 31 19:35:44 2023 +1100 +commit 7187d3f86bf8f2066cc9941f217d23b0cacae25e +Author: dtucker@openbsd.org +Date: Fri Mar 10 02:24:56 2023 +0000 - Skip connection-timeout test under Valgrind. + upstream: Remove no-op (int) > INT_MAX checks - Valgrind slows things down so much that the timeout test fails. Skip - this test until we figure out if we can make it work. + since they can never be true. From Coverity CID 405031, ok djm@ + + OpenBSD-Commit-ID: 9df3783b181e056595e2bb9edf7ed41d61cf8e84 -commit c3ffb54b4fc5e608206037921db6ccbc2f5ab25f +commit 77adde4305542ebe3005dd456122624fe2347b01 Author: Darren Tucker -Date: Wed Jan 25 21:58:40 2023 +1100 +Date: Fri Mar 10 13:27:29 2023 +1100 - Skip connection-timeout when missing FD passing. + Wrap mkstemp calls with umask set/restore. - This tests uses multiplexing which uses file descriptor passing, so - skip it if we don't have that. Fixes test failures on Cygwin. + glibc versions 2.06 and earlier did not set a umask on files created by + mkstemp created the world-writable. Wrap mkstemp to set and restore + the umask. From Coverity (CIDs 291826 291886 291891), ok djm@ -commit 35253af01d8c0ab444c8377402121816e71c71f5 -Author: djm@openbsd.org -Date: Wed Jan 18 02:00:10 2023 +0000 +commit 633d3dc2a1e9e2a013d019a0576a0771c8423713 +Author: jcs@openbsd.org +Date: Thu Mar 9 21:06:24 2023 +0000 - upstream: when restoring non-blocking mode to stdio fds, restore + upstream: modify parentheses in conditionals to make it clearer what is - exactly the flags that ssh started with and don't just clobber them with - zero, as this could also remove the append flag from the set; + being assigned and what is being checked - bz3523; ok dtucker@ + ok djm dtucker - OpenBSD-Commit-ID: 1336b03e881db7564a4b66014eb24c5230e9a0c0 + OpenBSD-Commit-ID: 19c10baa46ae559474409f75a5cb3d0eade7a9b8 -commit 7d17ea151c0b2519f023bd9cc7f141128833ac47 -Author: millert@openbsd.org -Date: Wed Jan 18 01:50:21 2023 +0000 +commit 733030840c4772f858de95d5940ec0c37663e8b0 +Author: dtucker@openbsd.org +Date: Thu Mar 9 07:11:05 2023 +0000 - upstream: Add a -V (version) option to sshd like the ssh client + upstream: Re-split the merge of the reorder-hostkeys test. - has. OK markus@ deraadt@ + In the kex_proposal_populate_entries change I merged the the check for + reordering hostkeys with the actual reordering, but kex_assemble_names + mutates options.hostkeyalgorithms which renders the check ineffective. + Put the check back where it was. Spotted and tested by jsg@, ok djm@ - OpenBSD-Commit-ID: abe990ec3e636fb040132aab8cbbede98f0c413e + OpenBSD-Commit-ID: a7469f25a738db5567395d1881e32479a7ffc9de -commit 62360feb7f08f2a4c6fc36f3b3449309203c42c9 -Author: millert@openbsd.org -Date: Tue Jan 17 18:52:44 2023 +0000 +commit 54ac4ab2b53ce9fcb66b8250dee91c070e4167ed +Author: djm@openbsd.org +Date: Thu Mar 9 06:58:26 2023 +0000 - upstream: For "ssh -V" always exit 0, there is no need to check opt + upstream: include destination constraints for smartcard keys too. - again. This was missed when the fallthrough in the switch case above it was - removed. OK deraadt@ + Spotted by Luci Stanescu; ok deraadt@ markus@ - OpenBSD-Commit-ID: 5583e5d8f6d62a8a4215cfa95a69932f344c8120 + OpenBSD-Commit-ID: add879fac6903a1cb1d1e42c4309e5359c3d870f -commit 12492c0abf1eb415d08a897cc1d8b9e789888230 -Author: djm@openbsd.org -Date: Tue Jan 17 10:15:10 2023 +0000 +commit bfd1ad01d974a316b60622759ad17537fa2d92b4 +Author: Darren Tucker +Date: Thu Mar 9 18:24:54 2023 +1100 - upstream: also check that an active session inhibits + Limit the number of PAM environment variables. - UnusedConnectionTimeout idea markus@ + xcalloc has its own limits, but these are specific to PAM. From + Coverity CID 405198, ok djm@ + +commit a231414970e01a35f45a295d5f93698fa1249b28 +Author: Darren Tucker +Date: Thu Mar 9 18:19:44 2023 +1100 + + Limit the number of PAM environment variables. - OpenBSD-Regress-ID: 55c0fb61f3bf9e092b0a53f9041d3d2012f14003 + From Coverity CID 405194, tweaks and ok djm@ -commit cef2593c33ac46a58238ff998818754eabdf64ff -Author: djm@openbsd.org -Date: Tue Jan 17 10:02:34 2023 +0000 +commit 36c6c3eff5e4a669ff414b9daf85f919666e8e03 +Author: dtucker@openbsd.org +Date: Wed Mar 8 06:21:32 2023 +0000 - upstream: regression test for UnusedConnectionTimeout + upstream: Plug mem leak. Coverity CID 405196, ok djm@ - OpenBSD-Regress-ID: 7f29001374a68e71e5e078f69e4520cf4bcca084 + OpenBSD-Commit-ID: 175f09349387c292f626da68f65f334faaa085f2 -commit aff9493a89c71d6a080419b49ac64eead9730491 -Author: djm@openbsd.org -Date: Mon Jan 16 04:11:29 2023 +0000 +commit dfb9b736e1ccf9e6b03eea21cd961f4fd0634c98 +Author: tb@openbsd.org +Date: Wed Mar 8 05:33:53 2023 +0000 - upstream: unbreak test: cannot access shell positional parameters + upstream: ssh-pkcs11: synchronize error messages with errors - past $9 without wrapping the position in braces (i.e. need ${10}, etc.) + A handful of error messages contained incorrect function names or + otherwise inaccurate descriptions. Fix them to match reality. - OpenBSD-Regress-ID: 3750ec98d5d409ce6a93406fedde6f220d2ea2ac + input/ok djm + + OpenBSD-Commit-ID: 165a15db52f75b31e1804b043480c36af09f3411 -commit 0293c19807f83141cdf33b443154459f9ee471f6 -Author: djm@openbsd.org -Date: Tue Jan 17 09:44:48 2023 +0000 +commit 51875897b81b5c21b80c256a29597916edbde454 +Author: guenther@openbsd.org +Date: Wed Mar 8 04:43:12 2023 +0000 - upstream: Add a sshd_config UnusedConnectionTimeout option to terminate - - client connections that have no open channels for some length of time. This - complements the recently-added ChannelTimeout option that terminates inactive - channels after a timeout. + upstream: Delete obsolete /* ARGSUSED */ lint comments. - ok markus@ + ok miod@ millert@ - OpenBSD-Commit-ID: ca983be74c0350364c11f8ba3bd692f6f24f5da9 + OpenBSD-Commit-ID: 7be168a570264d59e96a7d2d22e927d45fee0e4c -commit 8ec2e3123802d2beeca06c1644b0b647f6d36dab +commit a76085bda883c2104afb33ab0334eca190927362 +Author: Darren Tucker +Date: Wed Mar 8 17:25:37 2023 +1100 + + Extra brackets to prevent warning. + +commit 147ae57d4dfa0508109f93b78a7d8b92819e1f83 Author: djm@openbsd.org -Date: Sun Jan 15 23:35:10 2023 +0000 +Date: Wed Mar 8 00:05:58 2023 +0000 - upstream: adapt to ed25519 changes in src/usr.bin/ssh + upstream: use RSA/SHA256 when testing usability of private key in - OpenBSD-Regress-ID: 4b3e7ba7ee486ae8a0b4790f8112eded2bb7dcd5 + agent; with/ok dtucker + + OpenBSD-Commit-ID: fe1382e2fdf23fcae631308e72342bad56066a56 -commit 9fbbfeca1ce4c7ec0001c827bbf4189a3ba0964b +commit 27fd251bc906a763e70ce0f27c8abdf8bbd1e416 Author: djm@openbsd.org -Date: Sun Jan 15 23:05:32 2023 +0000 +Date: Wed Mar 8 00:05:37 2023 +0000 - upstream: update OpenSSH's Ed25519 code to the last version of SUPERCOP + upstream: use RSA/SHA256 when testing usability of private key; - (20221122) and change the import approach to the same one we use for - Streamlined NTRUPrime: use a shell script to extract the bits we need from - SUPERCOP, make some minor adjustments and squish them all into a single file. + based on fix in bz3546 by Dmitry Belyavskiy; with/ok dtucker - ok tb@ tobhe@ + OpenBSD-Commit-ID: 0ef414cc363a832f9fab92a5da0234448bce2eba + +commit eee9f3fc3d52ae7d2106929bb06b7f291fb0b81a +Author: djm@openbsd.org +Date: Tue Mar 7 21:47:42 2023 +0000 + + upstream: refactor to be more readable top to bottom. Prompted by - OpenBSD-Commit-ID: 1bc0fd624cb6af440905b8ba74ac7c03311b8e3b + Coverity CID 405048 which was a false-positive fd leak; ok dtucker@ + + OpenBSD-Commit-ID: fc55ec2af622a017defb9b768bf26faefc792c00 -commit 6283f4bd83eee714d0f5fc55802eff836b06fea8 +commit 42a06b29a4c99272bf690f9b3be520b08b448dc5 Author: Darren Tucker -Date: Sat Jan 14 22:02:44 2023 +1100 +Date: Tue Mar 7 18:34:41 2023 +1100 - Allow writev is seccomp sandbox. - - This seems to be used by recent glibcs at least in some configurations. - From bz#3512, ok djm@ + Add header changes missed in previous. -commit 923c3f437f439cfca238fba37e97a7041782f615 +commit 4710077096edff2e6926dd5b15bf586491d317db Author: dtucker@openbsd.org -Date: Sat Jan 14 10:05:54 2023 +0000 +Date: Tue Mar 7 06:09:14 2023 +0000 - upstream: Shell syntax fix. From ren mingshuai vi github PR#369. + upstream: Fix mem leak in environment setup. - OpenBSD-Regress-ID: 6696b2eeefe128099fc3d7ea9f23252cc35156f9 + From jjelen at redhat.com via bz#2687, ok djm@ + + OpenBSD-Commit-ID: 9f9e4ba3cac003e6f81da3bcebd1b9ec43e7f353 -commit 4d87a00f704e0365e11c3c38b170c1275ec461fc +commit 03acc50d0ccb78fc91d1570de1cd0fdfea646028 Author: dtucker@openbsd.org -Date: Sat Jan 14 09:57:08 2023 +0000 +Date: Mon Mar 6 12:15:47 2023 +0000 - upstream: Instead of skipping the all-tokens test if we don't have + upstream: Unit test for kex_proposal_populate_entries. - OpenSSL (since we use it to compute the hash), put the hash at the end and - just omit it if we don't have it. Prompted by bz#3521. + OpenBSD-Regress-ID: bdb211d80d572a08bf14b49fe2a58b9ff265c006 + +commit 3f9231c2e1f374ebb08016ba00ea97b47c0ed20b +Author: djm@openbsd.org +Date: Tue Mar 7 05:37:26 2023 +0000 + + upstream: fix memory leak in process_read() path; Spotted by James - OpenBSD-Regress-ID: c79ecba64250ed3b6417294b6c965e6b12ca5eea + Robinson in GHPR363; ok markus@ + + OpenBSD-Commit-ID: cdc2d98e6478b7e7f3a36976845adae3820429d8 -commit b05406d6f93b8c8ec11ec8b27e7c76cc7a5a55fb -Author: jmc@openbsd.org -Date: Fri Jan 13 07:13:40 2023 +0000 +commit c5e6e890839ec520ab9301a92cba56303749dea2 +Author: djm@openbsd.org +Date: Tue Mar 7 01:30:52 2023 +0000 - upstream: fix double phrase in previous; + upstream: correct size for array argument when changing - OpenBSD-Commit-ID: 671e6c8dc5e9230518b2bbfa143daaa88adc66c2 + UMAC_OUTPUT_LEN Coverity CID 291845; ok dtucker@ + + OpenBSD-Commit-ID: 2eb017d10705bb623d4418691f961c930eafaec0 -commit 40564812b659c530eb1f4b62d09e85612aef3107 +commit 9641753e0fd146204d57b2a4165f552a81afade4 Author: dtucker@openbsd.org -Date: Fri Jan 13 03:16:29 2023 +0000 +Date: Mon Mar 6 12:14:48 2023 +0000 - upstream: Document "UserKnownHostsFile none". ok djm@ + upstream: Refactor creation of KEX proposal. - OpenBSD-Commit-ID: f695742d39e34ecdcc3c861c3739a84648a4bce5 + This adds kex_proposal_populate_entries (and corresponding free) which + populates the KEX proposal array with dynamically allocated strings. + This replaces the previous mix of static and dynamic that has been the + source of previous leaks and bugs. Remove unused compat functions. + With & ok djm@. + + OpenBSD-Commit-ID: f2f99da4aae2233cb18bf9c749320c5e040a9c7b -commit d03e245e034019a37388f6f5f893ce848ab6d2e2 -Author: Darren Tucker -Date: Fri Jan 13 23:02:34 2023 +1100 +commit aa59d6a489fb20973fa461d0fdb1110db412947b +Author: dtucker@openbsd.org +Date: Sun Mar 5 09:24:35 2023 +0000 - Retry package installation 3 times. + upstream: Fix mem and FILE leaks in moduli screening. - When setting up the CI environment, retry package installation 3 times - before going up. Should help prevent spurious failures during - infrastructure issues. + If multiple -Ocheckpoint= options are passed, the earlier ones would + be overwritten and leaked. If we use an input file that wasn't stdin, + close that. From Coverity CIDs 291884 and 291894. + + OpenBSD-Commit-ID: a4d9d15f572926f841788912e2b282485ad09e8b -commit 625f6bc39840167dafb3bf5b6a3e18503ac986e8 +commit 23b8cb41767af99a1aac24589d1882d9c8c2c205 Author: dtucker@openbsd.org -Date: Fri Jan 13 04:47:34 2023 +0000 +Date: Sun Mar 5 08:18:58 2023 +0000 - upstream: Move scp path setting to a helper function. The previous + upstream: Plug mem leak in moduli checkpoint option parsing. - commit to add scp to the test sshd's path causes the t-envpass test to fail - when the test scp is given using a fully qualified path. Put this in a - helper function and only call it from the scp tests. + From Coverity CID 291894. - OpenBSD-Regress-ID: 7533dc1c4265c1de716abb062957994195b36df4 + OpenBSD-Commit-ID: 9b1aba2d049741ae21c8dc4560a7e29ab17310f4 -commit 6e6f88647042b3cde54a628545c2f5fb656a9327 +commit fc7f8f2188d4a4fc8ba77eddbe863c7665666db5 Author: dtucker@openbsd.org -Date: Fri Jan 13 04:23:00 2023 +0000 +Date: Sun Mar 5 05:34:09 2023 +0000 - upstream: Add scp's path to test sshd's PATH. + upstream: Remove unused compat.h includes. - If the scp we're testing is fully qualified (eg it's not in the system - PATH) then add its path to the under-test sshd's PATH so we can find - it. Prompted by bz#3518. + We've previously removed a lot of the really old compatibility code, + and with it went the need to include compat.h in most of the files that + have it. - OpenBSD-Regress-ID: 7df4f5a0be3aa135495b7e5a6719d3cbc26cc4c0 + OpenBSD-Commit-ID: 5af8baa194be00a3092d17598e88a5b29f7ea2b4 -commit 8a5e99a70fcf9b022a8aa175ebf6a71f58511da3 -Author: Darren Tucker -Date: Fri Jan 13 15:49:48 2023 +1100 +commit 6c165c36246d8004c20e1df5cec4961a5ac422d6 +Author: dtucker@openbsd.org +Date: Sat Mar 4 03:22:59 2023 +0000 - Remove skipping test when scp not in path. + upstream: Use time_t for x11 timeout. - An upcoming change renders this obsolete by adding scp's path to the - test sshd's PATH, and removing this first will make the subsequent sync - easier. + Use time_t instead of u_int for remaining x11 timeout checks for 64bit + time_t safety. From Coverity CIDs 405197 and 405028, ok djm@ + + OpenBSD-Commit-ID: 356685bfa1fc3d81bd95722d3fc47101cc1a4972 -commit 41f36dd896c8fb8337d403fcf476762986976e9d +commit 4a3918f51bd2d968387e7aa87e33b32c78077fb4 Author: dtucker@openbsd.org -Date: Fri Jan 13 02:58:20 2023 +0000 +Date: Fri Mar 3 10:23:42 2023 +0000 - upstream: Add a "Host" line to the output of ssh -G showing the + upstream: Ensure ms_remain is always initialized - original host arg. Inspired by patch from vincent at bernat.ch via bz#3343, - ok djm@ + similar to what we do in ssh_packet_write_wait. bz#2687, from jjelen + at redhat.com. - OpenBSD-Commit-ID: 59c0f60a222113a44d0650cd394376e3beecc883 + OpenBSD-Commit-ID: a50e0541cf823f8d1c72f71ccde925d3dbe6dfac -commit f673b49f3be3eb51074fbb8a405beb6cd0f7d93e -Author: djm@openbsd.org -Date: Fri Jan 13 02:44:02 2023 +0000 +commit e44846a4487d2885ac7f2610be09b1e2bf52249b +Author: dtucker@openbsd.org +Date: Fri Mar 3 09:48:51 2023 +0000 - upstream: avoid printf("%s", NULL) if using ssh + upstream: Check for non-NULL before string - -oUserKnownHostsFile=none and a hostkey in one of the system known hosts file - changes; ok dtucker@ + comparison. From jjelen at redhat.com via bz#2687. - OpenBSD-Commit-ID: 7ca87614bfc6da491315536a7f2301434a9fe614 + OpenBSD-Commit-ID: 0d9b2e0cac88a311b5766b1aef737082583c285f -commit 93fc7c576563e3d88a1dc019dd213f65607784cc +commit 1842d523fae63b862ce8e60725c9b606cddb86a6 Author: djm@openbsd.org -Date: Wed Jan 11 05:39:38 2023 +0000 +Date: Fri Mar 3 05:00:34 2023 +0000 - upstream: clamp the minimum buffer lengths and number of inflight + upstream: guard against getsockname(-1, ...) from Coverity CID - requests too + 291832 - OpenBSD-Commit-ID: c4965f62fa0ba850940fd66ae3f60cf516bbcd56 + OpenBSD-Commit-ID: e58d5227327917d189229b7f0b37d2780f360d5f -commit 48bf234322e639d279c5a28435eae50155e9b514 +commit 78571a5fe9847d40d7f220c92b707574ae9ec4ce Author: djm@openbsd.org -Date: Wed Jan 11 05:36:50 2023 +0000 +Date: Fri Mar 3 04:36:20 2023 +0000 - upstream: ignore bogus upload/download buffer lengths in the limits + upstream: some options are not first-match-wins. Mention that there - extension + are exceptions at the start of the manpage and label some of them in the + option description. - OpenBSD-Commit-ID: c5b023e0954693ba9a5376e4280c739b5db575f8 + OpenBSD-Commit-ID: 3b74728446fa6fc8742769eeb8c3674e233e84c4 -commit 36b00d31833ca74cb0f7c7d8eda1bde55700f929 +commit d1c1b3272e8895a96c4f5889bd6e07a8525bd9f1 Author: djm@openbsd.org -Date: Wed Jan 11 02:13:52 2023 +0000 +Date: Fri Mar 3 04:34:49 2023 +0000 - upstream: remove whitespace at EOL from code extracted from SUPERCOP + upstream: actually print "channeltimeout none" in config dump mode; - OpenBSD-Commit-ID: 1ec524ff2fbb9387d731601437c82008f35a60f4 + spotted via Coverity CID 405022 + + OpenBSD-Commit-ID: b074b52bf138b75f08264e8da15880b29c7a630f -commit d888de06c5e4d7dbf2f2b85f2b5bf028c570cf78 -Author: djm@openbsd.org -Date: Wed Jan 11 00:51:27 2023 +0000 +commit 8bf61e95610b48192d4e1720cc15d9004617301d +Author: Darren Tucker +Date: Fri Mar 3 14:50:03 2023 +1100 - upstream: rewrite this test to use a multiplexed ssh session so we can + Add Coverity badges. + +commit 93291bd723959adf462b1df958106cf07a7734dd +Author: dtucker@openbsd.org +Date: Fri Mar 3 03:12:24 2023 +0000 + + upstream: Check return values of dup2. Spotted by Coverity, ok djm@ - control its lifecycle without risk of race conditions; fixes some of the - Github integration tests for openssh-portable + OpenBSD-Commit-ID: 19fb1b53072826d00c67df677731d2f6c1dd602b + +commit e37261dff33af23f37202cfce0848d36f5c1055c +Author: dtucker@openbsd.org +Date: Fri Mar 3 02:37:58 2023 +0000 + + upstream: Use time_t for x11_refuse_time timeout. We need - OpenBSD-Regress-ID: 5451cad59ba0d43ae9eeda48ec80f54405fee969 + SSH_TIME_T_MAX for this, so move from misc.c to misc.h so it's available. + Fixes a Coverity warning for 64bit time_t safety, ok djm@ + + OpenBSD-Commit-ID: c69c4c3152cdaab953706db4ccf4d5fd682f7d8d -commit 4bcc737a35fdd9cc4af7423d6c23dfd0c7ef4786 -Author: Damien Miller -Date: Wed Jan 11 11:45:17 2023 +1100 +commit 32755a98c29114b13f4c9d47454bbb265b932ad7 +Author: dtucker@openbsd.org +Date: Fri Mar 3 02:34:29 2023 +0000 - remove buffer len workaround for NetBSD 4.x + upstream: Check return value from fctnl and warn on failure. - Switching to from pipes to a socketpair for communicating with the - ssh process avoids the (kernel bug?) problem. + Spotted by Coverity, ok djm@ + + OpenBSD-Commit-ID: 2097c7db3cf657f1e3a6c5077041bacc63143cab -commit f5154d2aac3e6a32a1b13dec23a701a087850cdc -Author: Damien Miller -Date: Wed Jan 11 11:44:19 2023 +1100 +commit 5fc60e8246c36b8255f72a937ebe9787b39648c6 +Author: dtucker@openbsd.org +Date: Thu Mar 2 11:10:27 2023 +0000 - add back use of pipes in scp.c under USE_PIPES + upstream: Remove SUDO in proxy command wrapper. Anything that needs - This matches sftp.c which prefers socketpair but uses pipes on - some older platforms. + sudo is already run by it, and it breaks if root isn't in sudoers. + + OpenBSD-Regress-ID: 6cf22fda32a89c16915f31a6ed9bbdbef2a3bac9 -commit eec737b59cf13841de46134967a206607000acd4 -Author: millert@openbsd.org -Date: Tue Jan 10 23:22:15 2023 +0000 +commit 0d514659b23a257247491179cfbb53a6dd64e164 +Author: dtucker@openbsd.org +Date: Thu Mar 2 08:24:41 2023 +0000 - upstream: Switch scp from using pipes to a socketpair for + upstream: Fix breakage on dhgex test. - communication with it's ssh sub-processes. We no longer need to reserve two - descriptors to ensure that we don't end up using fd 0-2 unexpectedly, that is - handled by sanitise_stdfd() in main(). Based on an original diff from djm@. - OK deraadt@ djm@ + This was due to the sshd logs being written to the wrong log file. + While there, make save_debug_logs less verbose, write the name of the + tarball to regress.log and use $SUDO to remove the old symlinks (which + shouldn't be needed, but won't hurt). Initial problem spotted by anton@. - OpenBSD-Commit-ID: b80c372faac462471e955ddeab9480d668a2e48d + OpenBSD-Regress-ID: 9c44fb9cd418e6ff31165e7a6c1f9f11a6d19f5b -commit d213d126a4a343abd3a1eb13687d39c1891fe5c8 -Author: jmc@openbsd.org -Date: Fri Jan 6 08:44:11 2023 +0000 +commit 860201201d4ae655702807966901682cff30a171 +Author: dtucker@openbsd.org +Date: Thu Mar 2 08:14:52 2023 +0000 - upstream: tweak previous; ok djm + upstream: Quote grep and log message better. - OpenBSD-Commit-ID: 229c493452766d70a78b0f02f6ff9894f9028858 + OpenBSD-Regress-ID: 3823d9063127169736aa274b1784cb28e15b64d4 -commit 4a5590a5ee47b7dfd49773e9fdba48ad3089fe64 -Author: Damien Miller -Date: Mon Jan 9 16:33:56 2023 +1100 +commit 03a03c6002525f5ad9c8fc874a5d5826a35d9858 +Author: dtucker@openbsd.org +Date: Thu Mar 2 06:41:56 2023 +0000 - try to improve logging for dynamic-forward test + upstream: Always call fclose on checkpoints. - previously the logs from the ssh used to exercise the forwarding - channel would clobber the logs from the ssh actually doing the - forwarding + In the case of an fprintf failure we would not call fclose which would + leak the FILE pointer. While we're there, try to clean up the temp file + on failure. Spotted by Coverity, ok djm@ + + OpenBSD-Commit-ID: 73c7ccc5d4fcc235f54c6b20767a2815408525ef -commit 715bc25dcfccf9fb2bee820155fe071d01a618db +commit 13fe8f9785e6d90400ce548939a0b0ddc11fcb3c +Author: dtucker@openbsd.org +Date: Wed Mar 1 21:54:50 2023 +0000 + + upstream: Remove old log symlinks + + before creating new ones. In -portable some platforms don't like + overwriting existing symlinks. + + OpenBSD-Regress-ID: 7e7ddc0beb73e945e1c4c58d51c8a125b518120f + +commit 131fcbcaffd1e3bcf5ab766ec497b5d768955310 Author: Darren Tucker -Date: Sat Jan 7 23:24:50 2023 +1100 +Date: Wed Mar 1 23:23:02 2023 +1100 - Skip dynamic-forward test on minix3. + Adjust test jobs for new log directory. + +commit a6f4ac8a2baf77e5361cfa017d0dc250d1409bec +Author: dtucker@openbsd.org +Date: Wed Mar 1 09:29:32 2023 +0000 + + upstream: Rework logging for the regression tests. - This test relies on loopback addresses which minix does not have. - Previously the test would not run at all since it also doesn't have - netcat, but now we use our own netcat it tries and fails. + Previously we would log to ssh.log and sshd.log, but that is insufficient + for tests that have more than one concurent ssh/sshd. + + Instead, we'll log to separate datestamped files in a $OBJ/log/ and + leave a symlink at the previous location pointing at the most recent + instance with an entry in regress.log showing which files were created + at each point. This should be sufficient to reconstruct what happened + even for tests that use multiple instances of each program. If the test + fails, tar up all of the logs for later analysis. + + This will let us also capture the output from some of the other tools + which was previously sent to /dev/null although most of those will be + in future commits. + + OpenBSD-Regress-ID: f802aa9e7fa51d1a01225c05fb0412d015c33e24 -commit dd1249bd5c45128a908395c61b26996a70f82205 -Author: Damien Miller -Date: Sun Jan 8 12:08:59 2023 +1100 +commit 8ead62ed5e86c7df597d8604f332f49cd1527b85 +Author: dtucker@openbsd.org +Date: Tue Feb 28 21:31:50 2023 +0000 - don't test IPv6 addresses if platform lacks support + upstream: fatal out if allocating banner string fails to avoid + + potential null deref later in sscanf. Spotted by Coverity, ok deraadt@ + + OpenBSD-Commit-ID: 74e8d228ac00552e96e9e968dfcccf8dd1f46ad5 -commit d77fc611a62f2dfee0b654c31a50a814b13310dd +commit 44ca56ba0b3f531f1d85730cc701097cd49e6868 Author: dtucker@openbsd.org -Date: Fri Jan 6 12:33:33 2023 +0000 +Date: Tue Feb 28 08:45:24 2023 +0000 - upstream: When OpenSSL is not available, skip parts of percent test + upstream: Explicitly ignore return from fchmod - that require it. Based on github pr#368 from ren mingshuai. + similar to other calls to prevent warning. - OpenBSD-Regress-ID: 49a375b2cf61ccb95b52e75e2e025cd10988ebb2 + OpenBSD-Commit-ID: fdc5287dcee0860b5a493186414226c655b0eb0a -commit 1cd2aac312af9172f1b5cb06c2e1cd090abb83cf -Author: Darren Tucker -Date: Sat Jan 7 23:01:11 2023 +1100 +commit 803392933a3a6f09f834aa5f0c2aab06a3b382f4 +Author: dtucker@openbsd.org +Date: Mon Feb 27 22:12:40 2023 +0000 - Use our own netcat for dynamic-forward test. + upstream: Plug mem leak on globbed ls error path. - That way we can be surer about its behaviour rather than trying to - second-guess the behaviour of various netcat implementations. + Spotted by Coverity, ok deraadt@ + + OpenBSD-Commit-ID: de28476025db29820a9a2e56e98b964d8a02861c -commit 26cab41c05d7b0859d2a1ea5b6ed253d91848a80 +commit aa33b4d396abf47a2a45f982f28d054fb1dcb5c3 Author: Darren Tucker -Date: Sat Jan 7 14:30:43 2023 +1100 +Date: Mon Feb 27 21:04:22 2023 +1100 - Use autoconf to find openssl binary. + Cast time_t's in debug output to long long. - It's possible to install an OpenSSL in a path not in the system's - default library search path. OpenSSH can still use this (eg if you - specify an rpath) but the openssl binary there may not work. If one is - available on the system path just use that. + Should fix Coverity warning about truncation of 64bit time_t. -commit 5532e010a0eeb6aa264396514f9aed7948471538 +commit b0fd60a9de62a03189ad57d0c07f0ac51dc00e95 Author: Darren Tucker -Date: Sat Jan 7 10:34:18 2023 +1100 +Date: Mon Feb 27 17:28:59 2023 +1100 - Check openssl_bin path is executable before using. + Do shadow expiry calcs using "long long". + + Coverity flags these as potentially not 64bit time_t safe so use + long long for the calculations and debug output. ok djm@ -commit 5d7b16cff48598d5908db970bfdc9ff9326142c8 -Author: Darren Tucker -Date: Fri Jan 6 23:19:07 2023 +1100 +commit 01dbeb3084d714bbd001ff9d03b9de542e8cdf58 +Author: Damien Miller +Date: Mon Feb 27 17:07:52 2023 +1100 - Set OPENSSL_BIN from OpenSSL directory. + avoid clash between for getopt's struct option + + Since we don't use getopt_long() nothing outside the getopt() + implementation itself uses this structure, so move it into the + source to remove it from visibility and clashes with libc's + + ok dtucker@ -commit 344a0e8240eaf08da5d46a5e3a9ecad6e4f64c35 -Author: dtucker@openbsd.org -Date: Fri Jan 6 08:50:33 2023 +0000 +commit eb88d07c43afe407094e7d609248d85a15e148ef +Author: Darren Tucker +Date: Sat Feb 25 14:45:41 2023 +1100 - upstream: Save debug logs from ssh for debugging purposes. + Revert explicit chmods on private keys. - OpenBSD-Regress-ID: 109e40b06de1c006a3b8e0d8745b790b2c5870a0 + This should no longer be needed on Cygwin test runners due to previous + commit. -commit e1ef172646f7f49c80807eea90225ef5e0be55a8 -Author: djm@openbsd.org -Date: Fri Jan 6 08:07:39 2023 +0000 +commit 52b75db61030a6c8baf66b73644380cf3f58e26a +Author: Darren Tucker +Date: Sat Feb 25 14:43:28 2023 +1100 - upstream: regression test for ChannelTimeout + Remove extended ACLs from working dirs. - OpenBSD-Regress-ID: 280bfbefcfa415428ad744e43f69a8dede8ad685 + This should allow umask to work as expected and prevent tests from + failing due to excessive permissions on private keys. -commit 2393ea8daf25853459eb07a528d7577688847777 -Author: djm@openbsd.org -Date: Fri Jan 6 07:18:18 2023 +0000 +commit 0c5d4c843df5605b043a758d69f9a611ef63c479 +Author: Darren Tucker +Date: Fri Feb 24 13:44:13 2023 +1100 - upstream: fix typo in verbose logging + Explicitly set permissions on user and host keys. - OpenBSD-Regress-ID: 0497cdb66e003b2f50ed77291a9104fba2e017e9 + On cygwin, the umask might not be sufficient. Should fix tests on + Github runners. -commit 161a5378a3cc2e7aa3f9674cb7f4686ae6ce9586 +commit 6c9fc9d7a9f7abf82c3294d74e6d4a25735862ce Author: djm@openbsd.org -Date: Fri Jan 6 02:59:50 2023 +0000 +Date: Wed Feb 22 03:56:43 2023 +0000 - upstream: unit tests for misc.c:ptimeout_* API + upstream: fix progressmeter corruption on wide displays; bz3534 - OpenBSD-Regress-ID: 01f8fb12d08e5aaadd4bd4e71f456b6588be9a94 + feedback/ok dtucker@ + + OpenBSD-Commit-ID: f4affee067cec7c182f3e0b307d758e0472762a3 -commit 018d671d78145f03d6f07ae9d64d51321da70325 -Author: tb@openbsd.org -Date: Wed Jan 4 22:48:57 2023 +0000 +commit fe0bd3cde9665d364e5eedd2c2c2e60d4cdc3786 +Author: dtucker@openbsd.org +Date: Tue Feb 21 06:48:18 2023 +0000 - upstream: Copy bytes from the_banana[] rather than banana() + upstream: fseek to end of known_hosts before writing to it. - Fixes test failure due to segfault seen on arm64 with xonly snap. + POSIX and ANSI C require that applications call fseek or similar between + read and writing to a RW file. OpenBSD doesn't enforce this, but some + (System V derived) platforms need this to prevent it from writing a + spurious extra byte (in this case, a newline). ok djm@ deraadt@ - ok djm + OpenBSD-Commit-ID: 33e680dcd8110582a93a40a8491024e961f45137 + +commit 357fb8ae14c07cd025eeed66e73de91bab569849 +Author: Darren Tucker +Date: Tue Feb 21 17:51:09 2023 +1100 + + Also run unit tests on AIX VMs. - OpenBSD-Regress-ID: 86e2aa4bbd1dff1bc4ebb2969c0d6474485be046 + In the past these tests took too long, but these days it only adds + about 5 min to the run. -commit ab6bb69e251faa8b24f81b25c72ec0120f20cad4 -Author: Damien Miller -Date: Fri Jan 6 19:13:36 2023 +1100 +commit 17781aaa5188ee1477f7779b280d105512e3dbed +Author: Darren Tucker +Date: Tue Feb 21 17:38:55 2023 +1100 - unbreak scp on NetBSD 4.x + Wrap stdint.h inside ifdef. + +commit ef798bad38505f7bf1b5fa5c0843dfc5a2b192b9 +Author: Mayank Sharma +Date: Mon Feb 20 17:37:15 2023 +0530 + + Add includes to ptimeout test. - e555d5cad5 effectively increased the default copy buffer size for SFTP - transfers. This caused NetBSD 4.x to hang during the "copy local file to - remote file in place" scp.sh regression test. + Fixes test failures on AIX due to type mismatches. + +commit ab69dda05d5268454209f529fa80f477e60d846a +Author: Darren Tucker +Date: Mon Feb 20 18:24:39 2023 +1100 + + Always use the openssl binary configure tells us. - This puts back the original 32KB copy buffer size until we can properly - figure out why. + This fixes tests on platforms that do not have the openssl tool + installed at all. + +commit 2a7e3449908571af601a4c2d12ab140096442e47 +Author: dtucker@openbsd.org +Date: Fri Feb 17 04:22:50 2023 +0000 + + upstream: Remove now-unused compat bit SSH_BUG_RSASIGMD5. The code - lots of debugging assistance from dtucker@ + to set this was removed in OpenSSH 7.7 when support for SSH implementations + dating back to before RFC standardization were removed. "burn it all" djm@ + + OpenBSD-Commit-ID: 6330935fbe23dd00be79891505e06d1ffdac7cda -commit 2d1ff2b9431393ad99ef496d5e3b9dd0d4f5ac8c -Author: djm@openbsd.org -Date: Fri Jan 6 02:47:18 2023 +0000 +commit 0833ccf2c8b7ae08b296c06f17bd53e3ab94b0b0 +Author: dtucker@openbsd.org +Date: Fri Feb 17 03:06:18 2023 +0000 - upstream: Implement channel inactivity timeouts + upstream: Remove now-unused compat bit SSH_BUG_BIGENDIANAES. This - This adds a sshd_config ChannelTimeouts directive that allows channels that - have not seen traffic in a configurable interval to be automatically closed. - Different timeouts may be applied to session, X11, agent and TCP forwarding - channels. + was previously set for OpenSSH 2.3 (released in 2000) but this check was + removed in OpenSSH 7.7 (2018). ok djm@ deraadt@ - Note: this only affects channels over an opened SSH connection and not - the connection itself. Most clients close the connection when their channels - go away, with a notable exception being ssh(1) in multiplexing mode. + OpenBSD-Commit-ID: 326426ea328707fc9e83305291ab135c87f678af + +commit c81c2bea6e828d52b62b448b4ffdd3c163177975 +Author: Damien Miller +Date: Fri Feb 17 10:12:40 2023 +1100 + + whitespace fixes + +commit 500f90b39db5f0014e6b0c49ff1f45c994b69293 +Author: Damien Miller +Date: Fri Feb 17 10:02:08 2023 +1100 + + whitespace at EOL + +commit 68350152406339170721c15e97afdf827a5e4001 +Author: dtucker@openbsd.org +Date: Thu Feb 16 10:10:00 2023 +0000 + + upstream: Remove SSH_BUG_PASSWORDPAD compat bit - ok markus dtucker + since it's no longer used. ok markus@ - OpenBSD-Commit-ID: ae8bba3ed9d9f95ff2e2dc8dcadfa36b48e6c0b8 + OpenBSD-Commit-ID: b92c21f56fe4b7f9a54790d6a9650725c226820b -commit 0e34348d0bc0b1522f75d6212a53d6d1d1367980 -Author: djm@openbsd.org -Date: Fri Jan 6 02:42:34 2023 +0000 +commit 537cccd804eaf65f32bdce037cc31db4e0ab0f44 +Author: dtucker@openbsd.org +Date: Thu Feb 16 07:55:15 2023 +0000 - upstream: Add channel_set_xtype() + upstream: Remove SSH_BUG_IGNOREMSG compat flag - This sets an "extended" channel type after channel creation (e.g. - "session:subsystem:sftp") that will be used for setting channel inactivity - timeouts. + since it's only applicable to SSH1 and thus no longer used. ok markus@ + "kill it with fire" djm@ - ok markus dtucker + OpenBSD-Commit-ID: ea13318b1937795d9db4790d3ce0a6ed01584dab + +commit 285cf6cd4b91a0a0ce33193c358c99085af33e43 +Author: jmc@openbsd.org +Date: Fri Feb 10 06:41:53 2023 +0000 + + upstream: space between macro and punctuation; sort usage(); - OpenBSD-Commit-ID: 42564aa92345045b4a74300528f960416a15d4ca + OpenBSD-Commit-ID: 6141610cfca037700730e41f868d1d9124958f8c -commit ceedf09b2977f3a756c759a6e7eb8f8e9db86a18 -Author: djm@openbsd.org -Date: Fri Jan 6 02:41:49 2023 +0000 +commit d39a96f70f81878c77336ed35f5c648c1804b71a +Author: jmc@openbsd.org +Date: Fri Feb 10 06:40:48 2023 +0000 - upstream: tweak channel ctype names + upstream: space between macro and punctuation; - These are now used by sshd_config:ChannelTimeouts to specify timeouts by - channel type, so force them all to use a similar format without whitespace. + OpenBSD-Commit-ID: abc95e550be9e6d9a7ff64b65c104c7be21ab19e + +commit 16e82bf53fc34e43e3b948d43b68d5b27a7335e6 +Author: jmc@openbsd.org +Date: Fri Feb 10 06:39:27 2023 +0000 + + upstream: sort SYNOPSIS; - ok dtucker markus + OpenBSD-Commit-ID: dacd9da33277d5669a51213d880632599c890c1e + +commit d9685121ff6d57b8797411f3cb123884a4b96e30 +Author: Darren Tucker +Date: Sat Feb 11 12:32:19 2023 +1100 + + Improve seccomp compat on older systems. - OpenBSD-Commit-ID: 66834765bb4ae14f96d2bb981ac98a7dae361b65 + Check if flags to mmap and madvise are defined before using them. + Should fix problems building on older Linux systems that don't have + these. bz#3537, with & ok djm@. -commit c60438158ad4b2f83d8504257aba1be7d0b0bb4b +commit 6180b0fa4f7996687678702806257e661fd5931e Author: djm@openbsd.org -Date: Fri Jan 6 02:39:59 2023 +0000 +Date: Fri Feb 10 05:06:03 2023 +0000 - upstream: Add channel_force_close() + upstream: test -Ohashalg=... and that the default output contains both - This will forcibly close an open channel by simulating read/write errors, - draining the IO buffers and calling the detach function. + specified hash algorithms; prompted by dtucker@ - Previously the detach function was only ever called during channel garbage - collection, but there was no way to signal the user of a channel (e.g. - session.c) that its channel was being closed deliberately (vs. by the - usual state-machine logic). So this adds an extra "force" argument to the - channel cleanup callback to indicate this condition. + OpenBSD-Regress-ID: 26f309208c8d8b8fa9c5f419767b85f1e9b22f51 + +commit d651f5c9fe37e61491eee46c49ba9fa03dbc0e6a +Author: djm@openbsd.org +Date: Fri Feb 10 04:56:30 2023 +0000 + + upstream: let ssh-keygen and ssh-keyscan accept - ok markus dtucker + -Ohashalg=sha1|sha256 when outputting SSHFP fingerprints to allow algorithm + selection. bz3493 ok dtucker@ - OpenBSD-Commit-ID: 23052707a42bdc62fda2508636e624afd466324b + OpenBSD-Commit-ID: e6e07fe21318a873bd877f333e189eb963a11b3d -commit d478cdc7ad6edd4b1bcd1e86fb2f23194ff33d5a +commit 18938d11a90b74d63c20b2d3c965d5bd64786ab1 Author: djm@openbsd.org -Date: Fri Jan 6 02:38:23 2023 +0000 +Date: Fri Feb 10 04:47:19 2023 +0000 - upstream: replace manual poll/ppoll timeout math with ptimeout API + upstream: add a `sshd -G` option that parses and prints the - feedback markus / ok markus dtucker + effective configuration without attempting to load private keys and perform + other checks. This allows usage of the option before keys have been + generated. - OpenBSD-Commit-ID: c5ec4f2d52684cdb788cd9cbc1bcf89464014be2 + bz3460 feedback/ok dtucker@ + + OpenBSD-Commit-ID: 774504f629023fc25a559ab1d95401adb3a7fb29 -commit 4adf3817a24efe99b06e62630577d683c7cd8065 +commit df7d3dbf7194db8e97730ee0425d4d9d7bdb8b10 Author: djm@openbsd.org -Date: Fri Jan 6 02:37:04 2023 +0000 +Date: Fri Feb 10 04:40:28 2023 +0000 - upstream: add ptimeout API for keeping track of poll/ppoll + upstream: make `ssh -Q CASignatureAlgorithms` work as the manpage says - timeouts; ok dtucker markus + it should bz3532 - OpenBSD-Commit-ID: 3335268ca135b3ec15a947547d7cfbb8ff929ead + OpenBSD-Commit-ID: 0ddb17b3fcbd99bfb5baea4ac5e449620cbd3adc -commit 8c7c69d32375d2f3ce9da0109c9bffc560842316 -Author: djm@openbsd.org -Date: Thu Jan 5 05:49:13 2023 +0000 +commit d3b8d4198b6595f23b5859d43dc8fc701f97429b +Author: Darren Tucker +Date: Fri Feb 10 14:26:44 2023 +1100 - upstream: suppress "Connection closed" message when in quiet mode - - OpenBSD-Commit-ID: 8a3ab7176764da55f60bfacfeae9b82d84e3908f + Add CentOS 7 test targets. -commit 845ceecea2ac311b0c267f9ecbd34862e1876fc6 -Author: djm@openbsd.org -Date: Mon Jan 2 07:03:57 2023 +0000 +commit 22efb01e355bba4755b730ed417f91c081445bfc +Author: dtucker@openbsd.org +Date: Thu Feb 9 09:55:33 2023 +0000 - upstream: regression test for PermitRemoteOpen + upstream: Test adding terminating newline to known_hosts. - OpenBSD-Regress-ID: 8271aafbf5c21950cd5bf966f08e585cebfe630c + OpenBSD-Regress-ID: 5fc3010ac450195b3fbdeb68e875564968800365 -commit b3daa8dc582348d6ab8150bc1e571b7aa08c5388 -Author: djm@openbsd.org -Date: Mon Jan 2 07:03:30 2023 +0000 +commit caec6da1a583ed8c32c6ad3b81bbcaab46ac8b61 +Author: dtucker@openbsd.org +Date: Wed Feb 8 08:06:03 2023 +0000 - upstream: fix bug in PermitRemoteOpen which caused it to ignore its + upstream: ssh-agent doesn't actually take -v, - first argument unless it was one of the special keywords "any" or "none". - - Reported by Georges Chaudy in bz3515; ok dtucker@ + so the recently-added ones will result in the test not cleaning up + after itself. Patch from cjwatson at debian.org vi bz#3536. - OpenBSD-Commit-ID: c5678a39f1ff79993d5ae3cfac5746a4ae148ea5 + OpenBSD-Regress-ID: 1fc8283568f5bf2f918517c2c1e778072cf61b1a -commit 0872663a7be0301bcc3d49acdbc9b740a3d972d4 -Author: jmc@openbsd.org -Date: Mon Dec 26 19:16:03 2022 +0000 +commit 3c379c9a849a635cc7f05cbe49fe473ccf469ef9 +Author: dtucker@openbsd.org +Date: Thu Feb 9 09:54:11 2023 +0000 - upstream: spelling fixes; from paul tagliamonte amendments to his + upstream: Ensure that there is a terminating newline when adding a new - diff are noted on tech + entry to known_hosts. bz#3529, with git+openssh at limpsquid.nl, ok deraadt@ + markus@ - OpenBSD-Commit-ID: d776dd03d0b882ca9c83b84f6b384f6f9bd7de4a + OpenBSD-Commit-ID: fa8d90698da1886570512b96f051e266eac105e0 -commit 797da2812a71785b34890bb6eb44767a7d09cd34 -Author: djm@openbsd.org -Date: Fri Dec 16 07:13:22 2022 +0000 +commit 95b6bbd2553547260b324b39d602061c88b774bc +Author: Darren Tucker +Date: Tue Feb 7 08:43:47 2023 +1100 - upstream: Mention that scp uses the SFTP protocol and remove - - reference to legacy flag. Spotted by, feedback and ok jmc@ - - OpenBSD-Commit-ID: 9dfe04966f52e941966b46c7a2972147f95281b3 + Replace 9.1 with 9.2 on CI status page. -commit 93f2ce8c050a7a2a628646c00b40b9b53fef93ef -Author: djm@openbsd.org -Date: Fri Dec 16 06:56:47 2022 +0000 +commit 195313dfe10a23c82e9d56d5fdd2f59beee1bdcf +Author: Damien Miller +Date: Fri Feb 3 16:33:09 2023 +1100 - upstream: Clear signal mask early in main(); sshd may have been + harden Linux seccomp sandbox - started with one or more signals masked (sigprocmask(2) is not cleared - on fork/exec) and this could interfere with various things, e.g. the - login grace timer. + Linux mmap(2) and madvise(2) syscalls support quite a number of funky + flags that we don't expect that sshd/libc will ever need. We can + exclude this kernel attack surface by filtering the mmap(2) flags + and the madvise(2) advice arguments. - Execution environments that fail to clear the signal mask before running - sshd are clearly broken, but apparently they do exist. + Similarly, the sandboxed process in sshd is a single-threaded program + that does not use shared memory for synchronisation or communication. + Therefore, there should be no reason for the advanced priority + inheritance futex(2) operations to be necessary. These can also be + excluded. - Reported by Sreedhar Balasubramanian; ok dtucker@ + Motivated by Jann Horn pointing out that there have been kernel bugs + in nearby Linux kernel code, e.g. CVE-2020-29368, CVE-2020-29374 and + CVE-2022-42703. - OpenBSD-Commit-ID: 77078c0b1c53c780269fc0c416f121d05e3010ae + Feedback Jann Horn, ok dtucker@ -commit 4acfaabfae41badb9d334a2ee88c5c6ad041c0d5 -Author: jmc@openbsd.org -Date: Fri Dec 16 06:52:48 2022 +0000 +commit 6dfb65de949cdd0a5d198edee9a118f265924f33 +Author: Damien Miller +Date: Thu Feb 2 23:21:54 2023 +1100 - upstream: add -X to usage(); - - OpenBSD-Commit-ID: 1bdc3df7de11d766587b0428318336dbffe4a9d0 + crank versions in RPM specs -commit e555d5cad5afae7d5ef2bbc02ca591178fe16fed +commit d07cfb11a0ca574eb68a3931d8c46fbe862a2021 +Author: Damien Miller +Date: Thu Feb 2 23:21:45 2023 +1100 + + update version in README + +commit 9fe207565b4ab0fe5d1ac5bb85e39188d96fb214 +Author: Damien Miller +Date: Thu Feb 2 23:17:49 2023 +1100 + + adapt compat_kex_proposal() test to portable + +commit 903c556b938fff2d7bff8da2cc460254430963c5 Author: djm@openbsd.org -Date: Fri Dec 16 03:40:03 2022 +0000 +Date: Thu Feb 2 12:12:52 2023 +0000 - upstream: add a -X option to both scp(1) and sftp(1) to allow - - control over some SFTP protocol knobs: the copy buffer length and - the number of inflight requests, both of which are used during - upload/download. + upstream: test compat_kex_proposal(); by dtucker@ - Previously these could be controlled in sftp(1) using the -b/-R options. - This makes them available in both SFTP protocol clients using the same - option character sequence. + OpenBSD-Regress-ID: 0e404ee264db546f9fdbf53390689ab5f8d38bf2 + +commit 405fba71962dec8409c0c962408e09049e5624b5 +Author: dtucker@openbsd.org +Date: Thu Jan 19 07:53:45 2023 +0000 + + upstream: Check if we can copy sshd or need to use sudo to do so - ok dtucker@ + during reexec test. Skip test if neither can work. Patch from anton@, tweaks + from me. - OpenBSD-Commit-ID: 27502bffc589776f5da1f31df8cb51abe9a15f1c + OpenBSD-Regress-ID: 731b96ae74d02d5744e1f1a8e51d09877ffd9b6d -commit 5a7a7acab2f466dc1d7467b5d05d35268c3137aa -Author: deraadt@openbsd.org -Date: Thu Dec 15 18:20:39 2022 +0000 +commit b2a2a8f69fd7737ea17dc044353c514f2f962f35 +Author: djm@openbsd.org +Date: Thu Feb 2 12:10:22 2023 +0000 - upstream: The idiomatic way of coping with signed char vs unsigned - - char (which did not come from stdio read functions) in the presence of - ctype macros, is to always cast to (unsigned char). casting to (int) - for a "macro" which is documented to take int, is weird. And sadly wrong, - because of the sing extension risk.. same diff from florian + upstream: openssh-9.2 - OpenBSD-Commit-ID: 65b9a49a68e22ff3a0ebd593f363e9f22dd73fea + OpenBSD-Commit-ID: f7389f32413c74d6e2055f05cf65e7082de03923 -commit b0b58222c7cc62efd8212c4fb65a545f58ebb22d -Author: Darren Tucker -Date: Mon Dec 19 18:49:51 2022 +1100 +commit 12da7823336434a403f25c7cc0c2c6aed0737a35 +Author: djm@openbsd.org +Date: Thu Feb 2 12:10:05 2023 +0000 - Simply handling of SSH_CONNECTION PAM env var. + upstream: fix double-free caused by compat_kex_proposal(); bz3522 - Prompted by bz#3508: there's no need to cache the value of - sshpam_conninfo so remove the global. While there, add check of - return value from pam_putenv. ok djm@ + by dtucker@, ok me + + OpenBSD-Commit-ID: 2bfc37cd2d41f67dad64c17a64cf2cd3806a5c80 -commit ed8444572ae684fdb892f97bae342c6cb6456f04 +commit 79efd95ab5ff99f4cb3a955e2d713b3f54fb807e Author: Darren Tucker -Date: Mon Dec 19 18:42:34 2022 +1100 +Date: Wed Feb 1 17:17:26 2023 +1100 - Add tests for LibreSSL 3.7.0 and OpenSSL 1.1.1s. + Skip connection-timeout test on minix3. + + Minix 3's Unix domain sockets don't seem to work the way we expect, so + skip connection-timeout test on that platform. While there, group + together all similarly skipped tests and explicitly comment. -commit abb9a8aaddfcacbd12641f6e4f203da0fa85a287 -Author: Darren Tucker -Date: Sun Dec 18 21:36:25 2022 +1100 +commit 6b508c4e039619842bcf5a16f8a6b08dd6bec44a +Author: Damien Miller +Date: Wed Feb 1 12:12:05 2023 +1100 - Use sudo when resetting perms on directories. + fix libfido2 detection without pkg-config + + Place libfido2 before additional libraries (that it may depend upon) + and not after. bz3530 from James Zhang; ok dtucker@ -commit 2f5664c5908d84697cbe91302d5d5c4d83cb2121 -Author: Darren Tucker -Date: Sun Dec 18 21:19:33 2022 +1100 +commit 358e300fed5e6def233a2c06326e51e20ebed621 +Author: deraadt@openbsd.org +Date: Wed Jan 18 20:56:36 2023 +0000 - Set group perms on regress dir. + upstream: delete useless dependency - This ensures that the tests don't fail due to StrictMode checks. + OpenBSD-Commit-ID: e1dc11143f83082e3154d6094f9136d0dc2637ad -commit 137196300fc1540affadde880210f02ba6cb4abf -Author: Darren Tucker -Date: Sun Dec 18 21:13:42 2022 +1100 +commit a4cb9be1b021b511e281ee55c356f964487d9e82 +Author: deraadt@openbsd.org +Date: Wed Jan 18 20:43:15 2023 +0000 - Fetch regress logs from obj dir. + upstream: Create and install sshd random relink kit. + + ../Makefile.inc and Makfile are concatenated for reuse, which hopefully won't + be too fragile, we'll see if we need a different approach. The resulting sshd + binary is tested with the new sshd -V option before installation. As the + binary layout is now semi-unknown (meaning relative, fixed, and gadget + offsets are not precisely known), change the filesystem permissions to 511 to + prevent what I call "logged in BROP". I have ideas for improving this further + but this is a first step ok djm + + OpenBSD-Commit-ID: 1e0a2692b7e20b126dda60bf04999d1d30d959d8 -commit 5f93c4836527d9fda05de8944a1c7b4a205080c7 -Author: Darren Tucker -Date: Tue Dec 13 20:59:54 2022 +1100 +commit bc7de6f91a9a0ae2f148a9d31a4027d441a51999 +Author: jmc@openbsd.org +Date: Wed Jan 18 06:55:32 2023 +0000 - obsdsnap test VMs runs-on libvirt too. + upstream: tweak previous; ok djm + + OpenBSD-Commit-ID: df71ce4180c58202dfdc1d92626cfe900b91b7c3 -commit 8386886fb1ab7fda73069fb0db1dbe0e5a52f758 +commit a20b7e999773e6333c8aa9b0a7fa41966e63b037 Author: Darren Tucker -Date: Tue Dec 13 20:55:37 2022 +1100 +Date: Tue Jan 31 19:35:44 2023 +1100 - Run upstream obsdsnap tests on ephemeral runners. + Skip connection-timeout test under Valgrind. + + Valgrind slows things down so much that the timeout test fails. Skip + this test until we figure out if we can make it work. -commit b6e01459b55ece85d7f296b2bc719d1841e1009e +commit c3ffb54b4fc5e608206037921db6ccbc2f5ab25f Author: Darren Tucker -Date: Tue Dec 13 20:48:56 2022 +1100 +Date: Wed Jan 25 21:58:40 2023 +1100 - Move obsdsnap test VMs to ephemeral runners. + Skip connection-timeout when missing FD passing. + + This tests uses multiplexing which uses file descriptor passing, so + skip it if we don't have that. Fixes test failures on Cygwin. -commit ea6fdf9a1aa71a411f7db218a986392c4fb55693 -Author: Damien Miller -Date: Fri Dec 9 18:00:21 2022 +1100 +commit 35253af01d8c0ab444c8377402121816e71c71f5 +Author: djm@openbsd.org +Date: Wed Jan 18 02:00:10 2023 +0000 - use calloc for allocating arc4random structs + upstream: when restoring non-blocking mode to stdio fds, restore - ok dtucker + exactly the flags that ssh started with and don't just clobber them with + zero, as this could also remove the append flag from the set; + + bz3523; ok dtucker@ + + OpenBSD-Commit-ID: 1336b03e881db7564a4b66014eb24c5230e9a0c0 -commit 4403b62f5548e91389cb3339d26a9d0c4bb07b34 -Author: dtucker@openbsd.org -Date: Fri Dec 9 00:22:29 2022 +0000 +commit 7d17ea151c0b2519f023bd9cc7f141128833ac47 +Author: millert@openbsd.org +Date: Wed Jan 18 01:50:21 2023 +0000 - upstream: Warn if no host keys for hostbased auth can be loaded. + upstream: Add a -V (version) option to sshd like the ssh client - OpenBSD-Commit-ID: 2a0a13132000cf8d3593133c1b49768aa3c95977 + has. OK markus@ deraadt@ + + OpenBSD-Commit-ID: abe990ec3e636fb040132aab8cbbede98f0c413e -commit a6183e25e3f1842e21999fe88bc40bb99b121dc3 -Author: dtucker@openbsd.org -Date: Fri Dec 9 00:17:40 2022 +0000 +commit 62360feb7f08f2a4c6fc36f3b3449309203c42c9 +Author: millert@openbsd.org +Date: Tue Jan 17 18:52:44 2023 +0000 - upstream: Add server debugging for hostbased auth. + upstream: For "ssh -V" always exit 0, there is no need to check opt - auth_debug_add queues messages about the auth process which is sent to - the client after successful authentication. This also sends those to - the server debug log to aid in debugging. From bz#3507, ok djm@ + again. This was missed when the fallthrough in the switch case above it was + removed. OK deraadt@ - OpenBSD-Commit-ID: 46ff67518cccf9caf47e06393e2a121ee5aa258a + OpenBSD-Commit-ID: 5583e5d8f6d62a8a4215cfa95a69932f344c8120 -commit b85c3581c16aaf6e83b9a797c80705a56b1f312e -Author: cheloha@openbsd.org -Date: Sun Dec 4 23:50:49 2022 +0000 +commit 12492c0abf1eb415d08a897cc1d8b9e789888230 +Author: djm@openbsd.org +Date: Tue Jan 17 10:15:10 2023 +0000 - upstream: remove '?' from getopt(3) loops + upstream: also check that an active session inhibits - userspace: remove vestigial '?' cases from top-level getopt(3) loops - - getopt(3) returns '?' when it encounters a flag not present in the in - the optstring or if a flag is missing its option argument. We can - handle this case with the "default" failure case with no loss of - legibility. Hence, remove all the redundant "case '?':" lines. + UnusedConnectionTimeout idea markus@ - Prompted by dlg@. With help from dlg@ and millert@. + OpenBSD-Regress-ID: 55c0fb61f3bf9e092b0a53f9041d3d2012f14003 + +commit cef2593c33ac46a58238ff998818754eabdf64ff +Author: djm@openbsd.org +Date: Tue Jan 17 10:02:34 2023 +0000 + + upstream: regression test for UnusedConnectionTimeout - Link: https://marc.info/?l=openbsd-tech&m=167011979726449&w=2 + OpenBSD-Regress-ID: 7f29001374a68e71e5e078f69e4520cf4bcca084 + +commit aff9493a89c71d6a080419b49ac64eead9730491 +Author: djm@openbsd.org +Date: Mon Jan 16 04:11:29 2023 +0000 + + upstream: unbreak test: cannot access shell positional parameters - ok naddy@ millert@ dlg@ + past $9 without wrapping the position in braces (i.e. need ${10}, etc.) - OpenBSD-Commit-ID: b2f89346538ce4f5b33ab8011a23e0626a67e66e + OpenBSD-Regress-ID: 3750ec98d5d409ce6a93406fedde6f220d2ea2ac -commit 9a067e8d28a2249fd73f004961e30c113ee85e5d -Author: dtucker@openbsd.org -Date: Wed Dec 7 11:45:43 2022 +0000 +commit 0293c19807f83141cdf33b443154459f9ee471f6 +Author: djm@openbsd.org +Date: Tue Jan 17 09:44:48 2023 +0000 - upstream: Fix comment typo. + upstream: Add a sshd_config UnusedConnectionTimeout option to terminate - OpenBSD-Regress-ID: 3b04faced6511bb5e74648c6a4ef4bf2c4decf03 + client connections that have no open channels for some length of time. This + complements the recently-added ChannelTimeout option that terminates inactive + channels after a timeout. + + ok markus@ + + OpenBSD-Commit-ID: ca983be74c0350364c11f8ba3bd692f6f24f5da9 -commit ce3c3e78ce45d68a82c7c8dc89895f297a67f225 -Author: Darren Tucker -Date: Wed Dec 7 18:58:25 2022 +1100 +commit 8ec2e3123802d2beeca06c1644b0b647f6d36dab +Author: djm@openbsd.org +Date: Sun Jan 15 23:35:10 2023 +0000 - Add SANDBOX_DEBUG to the kitchensink test build. + upstream: adapt to ed25519 changes in src/usr.bin/ssh + + OpenBSD-Regress-ID: 4b3e7ba7ee486ae8a0b4790f8112eded2bb7dcd5 -commit bc234605fa3eb10f56bf0d74c8ecb0d91ada9d05 -Author: Damien Miller -Date: Wed Dec 7 18:38:25 2022 +1100 +commit 9fbbfeca1ce4c7ec0001c827bbf4189a3ba0964b +Author: djm@openbsd.org +Date: Sun Jan 15 23:05:32 2023 +0000 - disable SANDBOX_SECCOMP_FILTER_DEBUG + upstream: update OpenSSH's Ed25519 code to the last version of SUPERCOP - It was mistakenly enabled in 2580916e4872 + (20221122) and change the import approach to the same one we use for + Streamlined NTRUPrime: use a shell script to extract the bits we need from + SUPERCOP, make some minor adjustments and squish them all into a single file. - Reported by Peter sec-openssh-com.22.fichtner AT 0sg.net + ok tb@ tobhe@ + + OpenBSD-Commit-ID: 1bc0fd624cb6af440905b8ba74ac7c03311b8e3b -commit b087c5cfa011b27992e01589314fec830266f99d -Author: Rose <83477269+AtariDreams@users.noreply.github.com> -Date: Tue Nov 29 15:12:54 2022 -0500 +commit 6283f4bd83eee714d0f5fc55802eff836b06fea8 +Author: Darren Tucker +Date: Sat Jan 14 22:02:44 2023 +1100 - Update autotools + Allow writev is seccomp sandbox. - Regenerate config files using latest autotools + This seems to be used by recent glibcs at least in some configurations. + From bz#3512, ok djm@ -commit d63f5494978a185c7421d492b9c2f6f05bb54138 -Author: Darren Tucker -Date: Tue Dec 6 12:22:36 2022 +1100 +commit 923c3f437f439cfca238fba37e97a7041782f615 +Author: dtucker@openbsd.org +Date: Sat Jan 14 10:05:54 2023 +0000 - Fix typo in comment. Spotted by tim@ + upstream: Shell syntax fix. From ren mingshuai vi github PR#369. + + OpenBSD-Regress-ID: 6696b2eeefe128099fc3d7ea9f23252cc35156f9 -commit 73dcca12115aa12ed0d123b914d473c384e52651 +commit 4d87a00f704e0365e11c3c38b170c1275ec461fc Author: dtucker@openbsd.org -Date: Sun Dec 4 11:03:11 2022 +0000 +Date: Sat Jan 14 09:57:08 2023 +0000 - upstream: Remove duplicate includes. + upstream: Instead of skipping the all-tokens test if we don't have - Patch from AtariDreams via github PR#364. + OpenSSL (since we use it to compute the hash), put the hash at the end and + just omit it if we don't have it. Prompted by bz#3521. - OpenBSD-Commit-ID: b9186638a05cb8b56ef7c0de521922b6723644ea + OpenBSD-Regress-ID: c79ecba64250ed3b6417294b6c965e6b12ca5eea -commit 3cec15543010bc8d6997d896b1717a650afb7e92 -Author: djm@openbsd.org -Date: Fri Dec 2 04:40:27 2022 +0000 +commit b05406d6f93b8c8ec11ec8b27e7c76cc7a5a55fb +Author: jmc@openbsd.org +Date: Fri Jan 13 07:13:40 2023 +0000 - upstream: make struct sshbuf private + upstream: fix double phrase in previous; - and remove an unused field; ok dtucker + OpenBSD-Commit-ID: 671e6c8dc5e9230518b2bbfa143daaa88adc66c2 + +commit 40564812b659c530eb1f4b62d09e85612aef3107 +Author: dtucker@openbsd.org +Date: Fri Jan 13 03:16:29 2023 +0000 + + upstream: Document "UserKnownHostsFile none". ok djm@ - OpenBSD-Commit-ID: c7a3d77c0b8c153d463398606a8d57569186a0c3 + OpenBSD-Commit-ID: f695742d39e34ecdcc3c861c3739a84648a4bce5 -commit 5796bf8ca9535f9fa7d01829a540d2550e05c860 +commit d03e245e034019a37388f6f5f893ce848ab6d2e2 Author: Darren Tucker -Date: Fri Dec 2 11:43:36 2022 +1100 +Date: Fri Jan 13 23:02:34 2023 +1100 - Restore ssh-agent permissions on exit. + Retry package installation 3 times. - ...enough that subsequent builds can overwrite ssh-agent if necessary. + When setting up the CI environment, retry package installation 3 times + before going up. Should help prevent spurious failures during + infrastructure issues. -commit ccf5a13868cbb4659107458cac1e017c98abcbda +commit 625f6bc39840167dafb3bf5b6a3e18503ac986e8 Author: dtucker@openbsd.org -Date: Thu Dec 1 02:22:13 2022 +0000 +Date: Fri Jan 13 04:47:34 2023 +0000 - upstream: Clean up ssh-add and ssh-agent logs. + upstream: Move scp path setting to a helper function. The previous - OpenBSD-Regress-ID: 9eda8e4c3714d7f943ab2e73ed58a233bd29cd2c + commit to add scp to the test sshd's path causes the t-envpass test to fail + when the test scp is given using a fully qualified path. Put this in a + helper function and only call it from the scp tests. + + OpenBSD-Regress-ID: 7533dc1c4265c1de716abb062957994195b36df4 -commit 7a8b40cf6a5eda80173140cc6750a6db8412fa87 +commit 6e6f88647042b3cde54a628545c2f5fb656a9327 Author: dtucker@openbsd.org -Date: Thu Dec 1 02:19:29 2022 +0000 +Date: Fri Jan 13 04:23:00 2023 +0000 - upstream: Log output of ssh-agent and ssh-add + upstream: Add scp's path to test sshd's PATH. - This should make debugging easier. + If the scp we're testing is fully qualified (eg it's not in the system + PATH) then add its path to the under-test sshd's PATH so we can find + it. Prompted by bz#3518. - OpenBSD-Regress-ID: 5974b02651f428d7e1079b41304c498ca7e306c8 + OpenBSD-Regress-ID: 7df4f5a0be3aa135495b7e5a6719d3cbc26cc4c0 -commit 4a1805d532616233dd6072e5cd273b96dd3062e6 -Author: dtucker@openbsd.org -Date: Tue Nov 29 22:41:14 2022 +0000 +commit 8a5e99a70fcf9b022a8aa175ebf6a71f58511da3 +Author: Darren Tucker +Date: Fri Jan 13 15:49:48 2023 +1100 - upstream: Add void to client_repledge args to fix compiler warning. ok djm@ + Remove skipping test when scp not in path. - OpenBSD-Commit-ID: 7e964a641ce4a0a0a11f047953b29929d7a4b866 + An upcoming change renders this obsolete by adding scp's path to the + test sshd's PATH, and removing this first will make the subsequent sync + easier. -commit 815c4704930aa449edf6e812e99d69e9ffd31f01 -Author: djm@openbsd.org -Date: Mon Nov 28 01:38:22 2022 +0000 +commit 41f36dd896c8fb8337d403fcf476762986976e9d +Author: dtucker@openbsd.org +Date: Fri Jan 13 02:58:20 2023 +0000 - upstream: tighten pledge(2) after session establishment + upstream: Add a "Host" line to the output of ssh -G showing the - feedback, ok & testing in snaps deraadt@ + original host arg. Inspired by patch from vincent at bernat.ch via bz#3343, + ok djm@ - OpenBSD-Commit-ID: aecf4d49d28586dfbcc74328d9333398fef9eb58 + OpenBSD-Commit-ID: 59c0f60a222113a44d0650cd394376e3beecc883 -commit f7cebbbf407d772ed71403d314343766782fe540 +commit f673b49f3be3eb51074fbb8a405beb6cd0f7d93e Author: djm@openbsd.org -Date: Mon Nov 28 01:37:36 2022 +0000 +Date: Fri Jan 13 02:44:02 2023 +0000 - upstream: New EnableEscapeCommandline ssh_config(5) option - - This option (default "no") controls whether the ~C escape is available. - Turning it off by default means we will soon be able to use a stricter - default pledge(2) in the client. + upstream: avoid printf("%s", NULL) if using ssh - feedback deraadt@ dtucker@; tested in snaps for a while + -oUserKnownHostsFile=none and a hostkey in one of the system known hosts file + changes; ok dtucker@ - OpenBSD-Commit-ID: 7e277595d60acb8263118dcb66554472257b387a + OpenBSD-Commit-ID: 7ca87614bfc6da491315536a7f2301434a9fe614 -commit d323f7ecf52e3d4ec1f4939bf31693e02f891dca -Author: mbuhl@openbsd.org -Date: Fri Nov 18 19:47:40 2022 +0000 +commit 93fc7c576563e3d88a1dc019dd213f65607784cc +Author: djm@openbsd.org +Date: Wed Jan 11 05:39:38 2023 +0000 - upstream: In channel_request_remote_forwarding the parameters for + upstream: clamp the minimum buffer lengths and number of inflight - permission_set_add are leaked as they are also duplicated in the call. Found - by CodeChecker. ok djm + requests too - OpenBSD-Commit-ID: 4aef50fa9be7c0b138188814c8fe3dccc196f61e + OpenBSD-Commit-ID: c4965f62fa0ba850940fd66ae3f60cf516bbcd56 -commit 62cc33e6eed847aafdc29e34aa69e9bd82a0ee16 -Author: Darren Tucker -Date: Wed Nov 30 11:23:11 2022 +1100 +commit 48bf234322e639d279c5a28435eae50155e9b514 +Author: djm@openbsd.org +Date: Wed Jan 11 05:36:50 2023 +0000 - Use -fzero-call-used-regs=used on clang 15. + upstream: ignore bogus upload/download buffer lengths in the limits - clang 15 seems to have a problem with -fzero-call-used-reg=all which - causes spurious "incorrect signature" failures with ED25519. On those - versions, use -fzero-call-used-regs=used instead. (We may add exceptions - later if specific versions prove to be OK). Also move the GCC version - check to match. + extension - Initial investigation by Daniel Pouzzner (douzzer at mega nu), workaround - suggested by Bill Wendling (morbo at google com). bz#3475, ok djm@ + OpenBSD-Commit-ID: c5b023e0954693ba9a5376e4280c739b5db575f8 -commit f84b9cffd52c9c5c359a54a1929f9948e803ab1d -Author: Darren Tucker -Date: Mon Nov 28 21:09:28 2022 +1100 +commit 36b00d31833ca74cb0f7c7d8eda1bde55700f929 +Author: djm@openbsd.org +Date: Wed Jan 11 02:13:52 2023 +0000 - Skip unit tests on slow riscv64 hardware. + upstream: remove whitespace at EOL from code extracted from SUPERCOP + + OpenBSD-Commit-ID: 1ec524ff2fbb9387d731601437c82008f35a60f4 -commit 9f2747e0bed3faca92679eae69aef10c95dc82f5 -Author: Darren Tucker -Date: Sun Nov 27 15:26:22 2022 +1100 +commit d888de06c5e4d7dbf2f2b85f2b5bf028c570cf78 +Author: djm@openbsd.org +Date: Wed Jan 11 00:51:27 2023 +0000 - Rework how selfhosted tests interact with runners. - - Previously there was one runner per test target (mostly VMs). This had - a few limitations: - - multiple tests that ran on the same target (eg multiple build - configs) were serialized on availability or that runner. - - it needed manual balancing of VMs over host machines. + upstream: rewrite this test to use a multiplexed ssh session so we can - To address this, make VMs that use ephemeral disks (ie most of them) - all use a pool of runners with the "libvirt" label. This requires that - we distinguish between "host" and "target" for those. Native runners - and VMs with persistent disks (eg the constantly-updated snapshot ones) - specify the same host and target. + control its lifecycle without risk of race conditions; fixes some of the + Github integration tests for openssh-portable - This should improve test throughput. + OpenBSD-Regress-ID: 5451cad59ba0d43ae9eeda48ec80f54405fee969 -commit d664ddaec87bdc7385be8ef7f1337793e1679d48 -Author: Darren Tucker -Date: Sun Nov 27 12:19:37 2022 +1100 +commit 4bcc737a35fdd9cc4af7423d6c23dfd0c7ef4786 +Author: Damien Miller +Date: Wed Jan 11 11:45:17 2023 +1100 - Run vmstartup from temp dir. + remove buffer len workaround for NetBSD 4.x - This will allow us to create ephemeral disk images per-runner. + Switching to from pipes to a socketpair for communicating with the + ssh process avoids the (kernel bug?) problem. -commit 0fa16e952b1fc1c4cf65e3dd138b0e87003e2e45 -Author: Darren Tucker -Date: Sun Nov 27 12:14:00 2022 +1100 +commit f5154d2aac3e6a32a1b13dec23a701a087850cdc +Author: Damien Miller +Date: Wed Jan 11 11:44:19 2023 +1100 - Make "config" in matrix singular and pass in env. + add back use of pipes in scp.c under USE_PIPES - This will allow the startup scripts to adapt their behaviour based on - the type and config. - -commit e8857043af54809187be1e8b06749db61112899f -Author: Darren Tucker -Date: Sun Nov 27 11:42:22 2022 +1100 - - Add "libvirt" label to dfly30. + This matches sftp.c which prefers socketpair but uses pipes on + some older platforms. -commit 9775473d84902dc37753686cd10ae71fbe67efda -Author: Darren Tucker -Date: Sun Nov 27 09:28:20 2022 +1100 +commit eec737b59cf13841de46134967a206607000acd4 +Author: millert@openbsd.org +Date: Tue Jan 10 23:22:15 2023 +0000 - Rename "os" in matrix to "target". + upstream: Switch scp from using pipes to a socketpair for - This is in preparation to distinguish this from the host that the runner - runs on in case where they are separate (eg VMs). - -commit 04fd00ceff39f4544ced6f5342060abe584835d0 -Author: Darren Tucker -Date: Sun Nov 27 09:23:04 2022 +1100 - - Remove unused self-hosted test targets. + communication with it's ssh sub-processes. We no longer need to reserve two + descriptors to ensure that we don't end up using fd 0-2 unexpectedly, that is + handled by sanitise_stdfd() in main(). Based on an original diff from djm@. + OK deraadt@ djm@ + + OpenBSD-Commit-ID: b80c372faac462471e955ddeab9480d668a2e48d -commit c9d9fcad2a11c1cd1550a541f44091d65f0b5584 -Author: Darren Tucker -Date: Sun Nov 27 09:16:15 2022 +1100 +commit d213d126a4a343abd3a1eb13687d39c1891fe5c8 +Author: jmc@openbsd.org +Date: Fri Jan 6 08:44:11 2023 +0000 - Remove explicit "default" test config argument. + upstream: tweak previous; ok djm - Not specifying the test config implicitly selects default args. + OpenBSD-Commit-ID: 229c493452766d70a78b0f02f6ff9894f9028858 -commit 15a01cf15f396f87c6d221c5a6af98331c818962 -Author: Darren Tucker -Date: Wed Nov 23 13:18:54 2022 +1100 +commit 4a5590a5ee47b7dfd49773e9fdba48ad3089fe64 +Author: Damien Miller +Date: Mon Jan 9 16:33:56 2023 +1100 - Add fallback for old platforms w/out MAP_ANON. + try to improve logging for dynamic-forward test + + previously the logs from the ssh used to exercise the forwarding + channel would clobber the logs from the ssh actually doing the + forwarding -commit 6b9bbbfe8b26db6e9a30a7e08c223e85421aed98 +commit 715bc25dcfccf9fb2bee820155fe071d01a618db Author: Darren Tucker -Date: Wed Nov 23 13:09:11 2022 +1100 +Date: Sat Jan 7 23:24:50 2023 +1100 - If we haven't found it yet, recheck for sys/stat.h. + Skip dynamic-forward test on minix3. - On some very old platforms, sys/stat.h needs sys/types.h, however - autoconf 2.71's AC_CHECK_INCLUDES_DEFAULT checks for them in the - opposite order, which in combination with modern autoconf's - "present but cannot be compiled" behaviour causes it to not be - detected. + This test relies on loopback addresses which minix does not have. + Previously the test would not run at all since it also doesn't have + netcat, but now we use our own netcat it tries and fails. -commit 8926956f22639132a9f2433fcd25224e01b900f5 -Author: Darren Tucker -Date: Fri Nov 11 11:25:37 2022 +1100 +commit dd1249bd5c45128a908395c61b26996a70f82205 +Author: Damien Miller +Date: Sun Jan 8 12:08:59 2023 +1100 - Add dfly62 test target. + don't test IPv6 addresses if platform lacks support -commit 650de7ecd3567b5a5dbf16dd1eb598bd8c20bca8 +commit d77fc611a62f2dfee0b654c31a50a814b13310dd Author: dtucker@openbsd.org -Date: Thu Nov 10 23:03:10 2022 +0000 +Date: Fri Jan 6 12:33:33 2023 +0000 - upstream: Handle dynamic remote port forwarding in escape commandline's + upstream: When OpenSSL is not available, skip parts of percent test - -R processing. bz#3499, ok djm@ + that require it. Based on github pr#368 from ren mingshuai. - OpenBSD-Commit-ID: 194ee4cfe7ed0e2b8ad0727f493c798a50454208 + OpenBSD-Regress-ID: 49a375b2cf61ccb95b52e75e2e025cd10988ebb2 -commit 5372db7e7985ba2c00f20fdff8942145ca99e033 +commit 1cd2aac312af9172f1b5cb06c2e1cd090abb83cf Author: Darren Tucker -Date: Thu Nov 10 12:44:51 2022 +1100 +Date: Sat Jan 7 23:01:11 2023 +1100 - Remove seed passing over reexec. - - This was added for the benefit of platforms using ssh-rand-helper to - prevent a delay on each connection as sshd reseeded itself. + Use our own netcat for dynamic-forward test. - ssh-random-helper is long gone, and since the re-exec happens before the - chroot the re-execed sshd can reseed itself normally. ok djm@ + That way we can be surer about its behaviour rather than trying to + second-guess the behaviour of various netcat implementations. -commit ca98d3f8c64cfc51af81e1b01c36a919d5947ec2 +commit 26cab41c05d7b0859d2a1ea5b6ed253d91848a80 Author: Darren Tucker -Date: Wed Nov 9 20:59:20 2022 +1100 +Date: Sat Jan 7 14:30:43 2023 +1100 - Skip reexec test on OpenSSL 1.1.1 specifically. + Use autoconf to find openssl binary. - OpenSSL 1.1.1 has a bug in its RNG that breaks reexec fallback, so skip - that test. See bz#3483 for details. + It's possible to install an OpenSSL in a path not in the system's + default library search path. OpenSSH can still use this (eg if you + specify an rpath) but the openssl binary there may not work. If one is + available on the system path just use that. -commit 5ec4ebc2548e5f7f1b55b2a5cef5b67bdca8146f -Author: dtucker@openbsd.org -Date: Wed Nov 9 09:04:12 2022 +0000 +commit 5532e010a0eeb6aa264396514f9aed7948471538 +Author: Darren Tucker +Date: Sat Jan 7 10:34:18 2023 +1100 - upstream: Fix typo in fatal error message. - - Patch from vapier at chromium.org. - - OpenBSD-Commit-ID: 8a0c164a6a25eef0eedfc30df95bfa27644e35cf + Check openssl_bin path is executable before using. -commit e6abafe9a6d809422d3432b95b3f9747b0acaa71 +commit 5d7b16cff48598d5908db970bfdc9ff9326142c8 +Author: Darren Tucker +Date: Fri Jan 6 23:19:07 2023 +1100 + + Set OPENSSL_BIN from OpenSSL directory. + +commit 344a0e8240eaf08da5d46a5e3a9ecad6e4f64c35 Author: dtucker@openbsd.org -Date: Wed Nov 9 09:01:52 2022 +0000 +Date: Fri Jan 6 08:50:33 2023 +0000 - upstream: Remove errant colon and simplify format - - string in error messages. Patch from vapier at chromium.org. + upstream: Save debug logs from ssh for debugging purposes. - OpenBSD-Commit-ID: fc28466ebc7b74e0072331947a89bdd239c160d3 + OpenBSD-Regress-ID: 109e40b06de1c006a3b8e0d8745b790b2c5870a0 -commit db2027a687516f87c3fb141e87154bb3d8a7807c +commit e1ef172646f7f49c80807eea90225ef5e0be55a8 Author: djm@openbsd.org -Date: Wed Nov 9 01:37:44 2022 +0000 +Date: Fri Jan 6 08:07:39 2023 +0000 - upstream: rename client_global_hostkeys_private_confirm() to - - client_global_hostkeys_prove_confirm(), as it handles the - "hostkeys-prove00@openssh.com" message; no functional change + upstream: regression test for ChannelTimeout - OpenBSD-Commit-ID: 31e09bd3cca6eed26855b88fb8beed18e9bd026d + OpenBSD-Regress-ID: 280bfbefcfa415428ad744e43f69a8dede8ad685 -commit 1c2be7c2004cf1abcd172fee9fe3eab57cd4c426 +commit 2393ea8daf25853459eb07a528d7577688847777 Author: djm@openbsd.org -Date: Wed Nov 9 00:15:59 2022 +0000 +Date: Fri Jan 6 07:18:18 2023 +0000 - upstream: typo in comment + upstream: fix typo in verbose logging - OpenBSD-Commit-ID: 39c58f41e0f32d1ff31731fa6f5bbbc3ad25084a + OpenBSD-Regress-ID: 0497cdb66e003b2f50ed77291a9104fba2e017e9 -commit cf1a9852d7fc93e4abc4168aed09529a57427cdc -Author: Darren Tucker -Date: Wed Nov 9 09:23:47 2022 +1100 +commit 161a5378a3cc2e7aa3f9674cb7f4686ae6ce9586 +Author: djm@openbsd.org +Date: Fri Jan 6 02:59:50 2023 +0000 - Defer seed_rng until after closefrom call. + upstream: unit tests for misc.c:ptimeout_* API - seed_rng will initialize OpenSSL, and some engine providers (eg Intel's - QAT) will open descriptors for their own use. bz#3483, patch from - joel.d.schuetze at intel.com, ok djm@ + OpenBSD-Regress-ID: 01f8fb12d08e5aaadd4bd4e71f456b6588be9a94 -commit dffa64480163fbf76af7e4fb62c26bb0dd6642aa -Author: Darren Tucker -Date: Wed Nov 9 08:27:47 2022 +1100 +commit 018d671d78145f03d6f07ae9d64d51321da70325 +Author: tb@openbsd.org +Date: Wed Jan 4 22:48:57 2023 +0000 - Fix comment text. From emaste at freebsd.org. + upstream: Copy bytes from the_banana[] rather than banana() + + Fixes test failure due to segfault seen on arm64 with xonly snap. + + ok djm + + OpenBSD-Regress-ID: 86e2aa4bbd1dff1bc4ebb2969c0d6474485be046 -commit d9df5689c29823ab830ec4f54c83c6cc3c0077ad -Author: Pierre Ossman -Date: Wed Jul 6 13:52:10 2022 +0200 +commit ab6bb69e251faa8b24f81b25c72ec0120f20cad4 +Author: Damien Miller +Date: Fri Jan 6 19:13:36 2023 +1100 - Avoid assuming layout of fd_set + unbreak scp on NetBSD 4.x - POSIX doesn't specify the internal layout of the fd_set object, so let's - not assume it is just a bit mask. This increases compatibility with - systems that have a different layout. + e555d5cad5 effectively increased the default copy buffer size for SFTP + transfers. This caused NetBSD 4.x to hang during the "copy local file to + remote file in place" scp.sh regression test. - The assumption is also worthless as we already refuse to use file - descriptors over FD_SETSIZE anyway. Meaning that the default size of - fd_set is quite sufficient. + This puts back the original 32KB copy buffer size until we can properly + figure out why. + + lots of debugging assistance from dtucker@ -commit 419aa8a312e8d8f491933ca3d5933e602cb05aae -Author: Darren Tucker -Date: Tue Nov 8 12:42:52 2022 +1100 +commit 2d1ff2b9431393ad99ef496d5e3b9dd0d4f5ac8c +Author: djm@openbsd.org +Date: Fri Jan 6 02:47:18 2023 +0000 - Shutdown any VM before trying to check out repo. + upstream: Implement channel inactivity timeouts - In the case where the previous run did not clean up, the checkout will - fail as it'll leave a stale mount. + This adds a sshd_config ChannelTimeouts directive that allows channels that + have not seen traffic in a configurable interval to be automatically closed. + Different timeouts may be applied to session, X11, agent and TCP forwarding + channels. + + Note: this only affects channels over an opened SSH connection and not + the connection itself. Most clients close the connection when their channels + go away, with a notable exception being ssh(1) in multiplexing mode. + + ok markus dtucker + + OpenBSD-Commit-ID: ae8bba3ed9d9f95ff2e2dc8dcadfa36b48e6c0b8 -commit a32c07cbb78f65d8527642b96474a83b413f8108 -Author: Darren Tucker -Date: Tue Nov 8 11:33:25 2022 +1100 +commit 0e34348d0bc0b1522f75d6212a53d6d1d1367980 +Author: djm@openbsd.org +Date: Fri Jan 6 02:42:34 2023 +0000 - Run vm startup and shutdown from runner temp dir. + upstream: Add channel_set_xtype() - Should work even if the github workspace dir is on a stale sshfs mount. - -commit 2b40a7dfcdb8e616155b9504145aa52b271455aa -Author: Darren Tucker -Date: Tue Nov 8 11:03:31 2022 +1100 - - Add valrind-5 test here too. - -commit 2ea03d1f6d0a05ee2b63ed2dc0f2d54f1e4655a1 -Author: Darren Tucker -Date: Tue Nov 8 09:21:10 2022 +1100 - - Update checkout and upload actions. + This sets an "extended" channel type after channel creation (e.g. + "session:subsystem:sftp") that will be used for setting channel inactivity + timeouts. - Update actions/checkout and actions/upload-artifact to main branch for - compatibility with node.js v16. - -commit 4e316ff0f18a118232bb9ac6512ee62773a9e8ea -Author: Darren Tucker -Date: Tue Nov 8 09:17:04 2022 +1100 - - Split out rekey test since it runs the longest. + ok markus dtucker + + OpenBSD-Commit-ID: 42564aa92345045b4a74300528f960416a15d4ca -commit 21625a6424258a92a96a3bb73ae6aabc5ed8a6b4 -Author: dtucker@openbsd.org -Date: Mon Nov 7 10:09:28 2022 +0000 +commit ceedf09b2977f3a756c759a6e7eb8f8e9db86a18 +Author: djm@openbsd.org +Date: Fri Jan 6 02:41:49 2023 +0000 - upstream: The IdentityFile option in ssh_config can also be used to + upstream: tweak channel ctype names - specify a public key file, as documented in ssh.1 for the -i option. Document - this also for IdentityFile in ssh_config.5, for documentation completeness. - From laalsaas at systemli.org via portable github PR#352, ok jmc@ djm@ + These are now used by sshd_config:ChannelTimeouts to specify timeouts by + channel type, so force them all to use a similar format without whitespace. - OpenBSD-Commit-ID: 2f943be9f96e60ef81a9a4faa25b009999f9883b + ok dtucker markus + + OpenBSD-Commit-ID: 66834765bb4ae14f96d2bb981ac98a7dae361b65 -commit 747691604d3325ed2b62bad85b6fd8563ad32f6c -Author: dtucker@openbsd.org -Date: Mon Nov 7 10:05:38 2022 +0000 +commit c60438158ad4b2f83d8504257aba1be7d0b0bb4b +Author: djm@openbsd.org +Date: Fri Jan 6 02:39:59 2023 +0000 - upstream: Remove some set but otherwise unused variables, spotted + upstream: Add channel_force_close() - in -portable by clang 16's -Wunused-but-set-variable. ok djm@ + This will forcibly close an open channel by simulating read/write errors, + draining the IO buffers and calling the detach function. - OpenBSD-Commit-ID: 3d943ddf2369b38fbf89f5f19728e7dc1daf3982 + Previously the detach function was only ever called during channel garbage + collection, but there was no way to signal the user of a channel (e.g. + session.c) that its channel was being closed deliberately (vs. by the + usual state-machine logic). So this adds an extra "force" argument to the + channel cleanup callback to indicate this condition. + + ok markus dtucker + + OpenBSD-Commit-ID: 23052707a42bdc62fda2508636e624afd466324b -commit 1d78d25653805aefc7a8dd9d86cd7359ada3823c -Author: dtucker@openbsd.org -Date: Mon Nov 7 10:02:59 2022 +0000 +commit d478cdc7ad6edd4b1bcd1e86fb2f23194ff33d5a +Author: djm@openbsd.org +Date: Fri Jan 6 02:38:23 2023 +0000 - upstream: Check for and disallow MaxStartups values less than or + upstream: replace manual poll/ppoll timeout math with ptimeout API - equal to zero during config parsing, rather than faling later at runtime. - bz#3489, ok djm@ + feedback markus / ok markus dtucker - OpenBSD-Commit-ID: d79c2b7a8601eb9be493629a91245d761154308b + OpenBSD-Commit-ID: c5ec4f2d52684cdb788cd9cbc1bcf89464014be2 -commit a00f59a645072e5f5a8d207af15916a7b23e2642 +commit 4adf3817a24efe99b06e62630577d683c7cd8065 Author: djm@openbsd.org -Date: Mon Nov 7 04:04:40 2022 +0000 +Date: Fri Jan 6 02:37:04 2023 +0000 - upstream: fix parsing of hex cert expiry time; was checking whether the - - start time began with "0x", not the expiry time. + upstream: add ptimeout API for keeping track of poll/ppoll - from Ed Maste + timeouts; ok dtucker markus - OpenBSD-Commit-ID: 6269242c3e1a130b47c92cfca4d661df15f05739 + OpenBSD-Commit-ID: 3335268ca135b3ec15a947547d7cfbb8ff929ead -commit f58acaf8c7315483f4ac87d46a1aa2142a713cd8 -Author: Darren Tucker -Date: Mon Nov 7 15:10:59 2022 +1100 +commit 8c7c69d32375d2f3ce9da0109c9bffc560842316 +Author: djm@openbsd.org +Date: Thu Jan 5 05:49:13 2023 +0000 - Fix merge conflict. + upstream: suppress "Connection closed" message when in quiet mode + + OpenBSD-Commit-ID: 8a3ab7176764da55f60bfacfeae9b82d84e3908f -commit 162e5741020a8d996c0c12b988b118e71ed728e6 -Author: Darren Tucker -Date: Mon Nov 7 15:04:33 2022 +1100 +commit 845ceecea2ac311b0c267f9ecbd34862e1876fc6 +Author: djm@openbsd.org +Date: Mon Jan 2 07:03:57 2023 +0000 - Branch-specific links for master status badges. + upstream: regression test for PermitRemoteOpen + + OpenBSD-Regress-ID: 8271aafbf5c21950cd5bf966f08e585cebfe630c -commit e4b7c12ab24579312aa3ed38ce7041a439ec2d56 -Author: Darren Tucker -Date: Mon Nov 7 14:46:38 2022 +1100 +commit b3daa8dc582348d6ab8150bc1e571b7aa08c5388 +Author: djm@openbsd.org +Date: Mon Jan 2 07:03:30 2023 +0000 - Add CIFuzz status badge. + upstream: fix bug in PermitRemoteOpen which caused it to ignore its + + first argument unless it was one of the special keywords "any" or "none". + + Reported by Georges Chaudy in bz3515; ok dtucker@ + + OpenBSD-Commit-ID: c5678a39f1ff79993d5ae3cfac5746a4ae148ea5 -commit b496b9f831acd1e5bcd875e26e797488beef494a -Author: Darren Tucker -Date: Mon Nov 7 14:45:16 2022 +1100 +commit 0872663a7be0301bcc3d49acdbc9b740a3d972d4 +Author: jmc@openbsd.org +Date: Mon Dec 26 19:16:03 2022 +0000 - Do not run CIFuzz on selfhosted tree. + upstream: spelling fixes; from paul tagliamonte amendments to his - We already run it on the regular tree, no need to double up. + diff are noted on tech + + OpenBSD-Commit-ID: d776dd03d0b882ca9c83b84f6b384f6f9bd7de4a -commit 2138b1c4ddb300129a41a5104627b0d561184c7b -Author: Darren Tucker -Date: Mon Nov 7 14:41:58 2022 +1100 +commit 797da2812a71785b34890bb6eb44767a7d09cd34 +Author: djm@openbsd.org +Date: Fri Dec 16 07:13:22 2022 +0000 - Whitespace change to trigger CIFuzz workflow. + upstream: Mention that scp uses the SFTP protocol and remove + + reference to legacy flag. Spotted by, feedback and ok jmc@ + + OpenBSD-Commit-ID: 9dfe04966f52e941966b46c7a2972147f95281b3 -commit 4670b97ef87c7b0f21283c9b07c7191be88dda05 -Author: Darren Tucker -Date: Mon Nov 7 14:34:04 2022 +1100 +commit 93f2ce8c050a7a2a628646c00b40b9b53fef93ef +Author: djm@openbsd.org +Date: Fri Dec 16 06:56:47 2022 +0000 - Run cifuzz workflow on the actions as regular CI. + upstream: Clear signal mask early in main(); sshd may have been + + started with one or more signals masked (sigprocmask(2) is not cleared + on fork/exec) and this could interfere with various things, e.g. the + login grace timer. + + Execution environments that fail to clear the signal mask before running + sshd are clearly broken, but apparently they do exist. + + Reported by Sreedhar Balasubramanian; ok dtucker@ + + OpenBSD-Commit-ID: 77078c0b1c53c780269fc0c416f121d05e3010ae -commit 79391e66ce851ace1baf3c6a35e83a23f08ec2ba -Author: David Korczynski -Date: Tue Nov 30 11:45:20 2021 +0000 +commit 4acfaabfae41badb9d334a2ee88c5c6ad041c0d5 +Author: jmc@openbsd.org +Date: Fri Dec 16 06:52:48 2022 +0000 - Add CIFuzz integration + upstream: add -X to usage(); + + OpenBSD-Commit-ID: 1bdc3df7de11d766587b0428318336dbffe4a9d0 -commit c1893364a0be243270014d7d34362a8101d55112 -Author: dtucker@openbsd.org -Date: Mon Nov 7 02:21:22 2022 +0000 +commit e555d5cad5afae7d5ef2bbc02ca591178fe16fed +Author: djm@openbsd.org +Date: Fri Dec 16 03:40:03 2022 +0000 - upstream: Import regenerated moduli. + upstream: add a -X option to both scp(1) and sftp(1) to allow - OpenBSD-Commit-ID: b0e54ee4d703bd6929bbc624068666a7a42ecb1f + control over some SFTP protocol knobs: the copy buffer length and + the number of inflight requests, both of which are used during + upload/download. + + Previously these could be controlled in sftp(1) using the -b/-R options. + This makes them available in both SFTP protocol clients using the same + option character sequence. + + ok dtucker@ + + OpenBSD-Commit-ID: 27502bffc589776f5da1f31df8cb51abe9a15f1c -commit 5c3f18fb994ef27e685b205ee2351851b80fdbd1 -Author: dtucker@openbsd.org -Date: Mon Nov 7 01:53:01 2022 +0000 +commit 5a7a7acab2f466dc1d7467b5d05d35268c3137aa +Author: deraadt@openbsd.org +Date: Thu Dec 15 18:20:39 2022 +0000 - upstream: Fix typo. From pablomh via -portable github PR#344. + upstream: The idiomatic way of coping with signed char vs unsigned - OpenBSD-Commit-ID: d056ee2e73691dc3ecdb44a6de68e6b88cd93827 + char (which did not come from stdio read functions) in the presence of + ctype macros, is to always cast to (unsigned char). casting to (int) + for a "macro" which is documented to take int, is weird. And sadly wrong, + because of the sing extension risk.. same diff from florian + + OpenBSD-Commit-ID: 65b9a49a68e22ff3a0ebd593f363e9f22dd73fea -commit e1c6fcc142066417c9832e634463faa3dd5d116c +commit b0b58222c7cc62efd8212c4fb65a545f58ebb22d Author: Darren Tucker -Date: Mon Nov 7 12:46:58 2022 +1100 +Date: Mon Dec 19 18:49:51 2022 +1100 - Link to branch-specific queries for V_9_1 status. + Simply handling of SSH_CONNECTION PAM env var. + + Prompted by bz#3508: there's no need to cache the value of + sshpam_conninfo so remove the global. While there, add check of + return value from pam_putenv. ok djm@ -commit 4f4a5fad6d8892c3f8ee9cd81ec7de6458210c9f +commit ed8444572ae684fdb892f97bae342c6cb6456f04 Author: Darren Tucker -Date: Sun Nov 6 10:55:59 2022 +1100 +Date: Mon Dec 19 18:42:34 2022 +1100 - Use "prohibit-password" in -portable comments. - - "without-password" is the deprecated alias for "prohibit-password", - so we should reference the latter. From emaste at freebsd.org. + Add tests for LibreSSL 3.7.0 and OpenSSL 1.1.1s. -commit 0f7e1eba55259ec037f515000b4c4afbf446230a +commit abb9a8aaddfcacbd12641f6e4f203da0fa85a287 Author: Darren Tucker -Date: Sun Nov 6 10:50:01 2022 +1100 +Date: Sun Dec 18 21:36:25 2022 +1100 - Fix tracing disable on FreeBSD. - - Some versions of FreeBSD do not support using id 0 to refer to the - current pid for procctl, so pass getpid() explicitly. From - emaste at freebsd.org. + Use sudo when resetting perms on directories. -commit 32fddb982fd61b11a2f218a115975a87ab126d43 +commit 2f5664c5908d84697cbe91302d5d5c4d83cb2121 Author: Darren Tucker -Date: Mon Nov 7 10:39:01 2022 +1100 +Date: Sun Dec 18 21:19:33 2022 +1100 - Fix setres*id checks to work with clang-16. + Set group perms on regress dir. - glibc has the prototypes for setresuid and setresgid behind _GNU_SOURCE, - and clang 16 will error out on implicit function definitions, so add - _GNU_SOURCE and the required headers to the configure checks. From - sam at @gentoo.org via bz#3497. + This ensures that the tests don't fail due to StrictMode checks. -commit 12af712d116f42164bcfa56db901d06e4fa27199 -Author: Sam James -Date: Sun Nov 6 04:52:38 2022 +0000 +commit 137196300fc1540affadde880210f02ba6cb4abf +Author: Darren Tucker +Date: Sun Dec 18 21:13:42 2022 +1100 - configure.ac: Fix -Wstrict-prototypes - - Clang 16 now warns on this and it'll be removed in C23, so let's - just be future proof. It also reduces noise when doing general - Clang 16 porting work (which is a big job as it is). github PR#355. - - Signed-off-by: Sam James + Fetch regress logs from obj dir. -commit 40b0a5eb6e3edfa2886b60c09c7803353b0cc7f5 -Author: Sam James -Date: Sun Nov 6 04:47:35 2022 +0000 +commit 5f93c4836527d9fda05de8944a1c7b4a205080c7 +Author: Darren Tucker +Date: Tue Dec 13 20:59:54 2022 +1100 - configure.ac: Add include for openpty - - Another Clang 16ish fix (which makes -Wimplicit-function-declaration - an error by default). github PR#355. - - See: 2efd71da49b9cfeab7987058cf5919e473ff466b - See: be197635329feb839865fdc738e34e24afd1fca8 + obsdsnap test VMs runs-on libvirt too. -commit 6b17e128879ec6cc32ca2c28b5d894b4aa72e32d -Author: Rochdi Nassah -Date: Fri Oct 28 01:26:31 2022 +0100 +commit 8386886fb1ab7fda73069fb0db1dbe0e5a52f758 +Author: Darren Tucker +Date: Tue Dec 13 20:55:37 2022 +1100 - Fix broken zlib link. + Run upstream obsdsnap tests on ephemeral runners. -commit 99500df246ccb736ddbdd04160dcc82165d81a77 +commit b6e01459b55ece85d7f296b2bc719d1841e1009e Author: Darren Tucker -Date: Fri Nov 4 16:59:26 2022 +1100 +Date: Tue Dec 13 20:48:56 2022 +1100 - Don't run openbsd-compat tests on Cygwin. - - Add "compat-tests" to the default TEST_TARGET so we can override as - necessary. Override TEST_TARGET for Cygwin as the tests don't currently - compile there. + Move obsdsnap test VMs to ephemeral runners. -commit 3cae9f92a31897409666aa1e6f696f779759332b -Author: djm@openbsd.org -Date: Thu Nov 3 21:59:20 2022 +0000 +commit ea6fdf9a1aa71a411f7db218a986392c4fb55693 +Author: Damien Miller +Date: Fri Dec 9 18:00:21 2022 +1100 - upstream: replace recently-added valid_domain() check for hostnames - - going to known_hosts with a more relaxed check for bad characters; previous - commit broke address literals. Reported by/feedback from florian@ + use calloc for allocating arc4random structs - OpenBSD-Commit-ID: 10b86dc6a4b206adaa0c11b58b6d5933898d43e0 + ok dtucker -commit 9655217231c9056200bea7ae2dffcc9c0c3eb265 -Author: Darren Tucker -Date: Thu Nov 3 23:07:50 2022 +1100 +commit 4403b62f5548e91389cb3339d26a9d0c4bb07b34 +Author: dtucker@openbsd.org +Date: Fri Dec 9 00:22:29 2022 +0000 - Rerun tests on changes to Makefile.in in any dir. + upstream: Warn if no host keys for hostbased auth can be loaded. + + OpenBSD-Commit-ID: 2a0a13132000cf8d3593133c1b49768aa3c95977 -commit 3500f0405a3ab16b59a26f3508c4257a3fc3bce6 -Author: Darren Tucker -Date: Thu Nov 3 23:04:08 2022 +1100 +commit a6183e25e3f1842e21999fe88bc40bb99b121dc3 +Author: dtucker@openbsd.org +Date: Fri Dec 9 00:17:40 2022 +0000 - Link libssh into compat tests. + upstream: Add server debugging for hostbased auth. - The cygwin compat code uses xmalloc, so add libssh.a so pick up that. + auth_debug_add queues messages about the auth process which is sent to + the client after successful authentication. This also sends those to + the server debug log to aid in debugging. From bz#3507, ok djm@ + + OpenBSD-Commit-ID: 46ff67518cccf9caf47e06393e2a121ee5aa258a -commit ec59effcf65b8a4c85d47ff5a271123259dd0ab8 -Author: Darren Tucker -Date: Thu Nov 3 21:44:23 2022 +1100 +commit b85c3581c16aaf6e83b9a797c80705a56b1f312e +Author: cheloha@openbsd.org +Date: Sun Dec 4 23:50:49 2022 +0000 - Fix compat regress to work with non-GNU make. + upstream: remove '?' from getopt(3) loops + + userspace: remove vestigial '?' cases from top-level getopt(3) loops + + getopt(3) returns '?' when it encounters a flag not present in the in + the optstring or if a flag is missing its option argument. We can + handle this case with the "default" failure case with no loss of + legibility. Hence, remove all the redundant "case '?':" lines. + + Prompted by dlg@. With help from dlg@ and millert@. + + Link: https://marc.info/?l=openbsd-tech&m=167011979726449&w=2 + + ok naddy@ millert@ dlg@ + + OpenBSD-Commit-ID: b2f89346538ce4f5b33ab8011a23e0626a67e66e -commit 73550a218e7dfbbd599534cbf856309bc924f6fd -Author: Darren Tucker -Date: Thu Nov 3 13:41:16 2022 +1100 +commit 9a067e8d28a2249fd73f004961e30c113ee85e5d +Author: dtucker@openbsd.org +Date: Wed Dec 7 11:45:43 2022 +0000 - Increase selfhosted job timeout. + upstream: Fix comment typo. - The default job timeout of 360 (6h) is not enough to complete the - regress tests for some of the slow VMs depending on the load on the host. - Increase to 600 (10h). + OpenBSD-Regress-ID: 3b04faced6511bb5e74648c6a4ef4bf2c4decf03 -commit db97d8d0b90c6ce52b94b153d6f8f5f7d3b11777 +commit ce3c3e78ce45d68a82c7c8dc89895f297a67f225 Author: Darren Tucker -Date: Thu Nov 3 10:00:43 2022 +1100 +Date: Wed Dec 7 18:58:25 2022 +1100 - Only run opensslver tests if built with OpenSSL. + Add SANDBOX_DEBUG to the kitchensink test build. -commit ba053709638dff2f6603df0c1f340352261d63ea -Author: Darren Tucker -Date: Wed Nov 2 14:16:04 2022 +1100 +commit bc234605fa3eb10f56bf0d74c8ecb0d91ada9d05 +Author: Damien Miller +Date: Wed Dec 7 18:38:25 2022 +1100 - Add tests for OpenSSL 3.0.7 and LibreSSL 3.6.1. + disable SANDBOX_SECCOMP_FILTER_DEBUG + + It was mistakenly enabled in 2580916e4872 + + Reported by Peter sec-openssh-com.22.fichtner AT 0sg.net -commit edd24101c7e17d1a8f6576e1aaf62233b47ad6f5 -Author: Darren Tucker -Date: Thu Nov 3 08:17:39 2022 +1100 +commit b087c5cfa011b27992e01589314fec830266f99d +Author: Rose <83477269+AtariDreams@users.noreply.github.com> +Date: Tue Nov 29 15:12:54 2022 -0500 - Run compat regress tests too. + Update autotools + + Regenerate config files using latest autotools -commit fe88d67e7599b0bc73f6e4524add28d743e7f977 +commit d63f5494978a185c7421d492b9c2f6f05bb54138 Author: Darren Tucker -Date: Thu Nov 3 08:14:05 2022 +1100 +Date: Tue Dec 6 12:22:36 2022 +1100 - Compat tests need libcrypto. + Fix typo in comment. Spotted by tim@ + +commit 73dcca12115aa12ed0d123b914d473c384e52651 +Author: dtucker@openbsd.org +Date: Sun Dec 4 11:03:11 2022 +0000 + + upstream: Remove duplicate includes. - This was moved to CHANNELLIBS during the libs refactor. Spotted by - rapier at psc.edu. + Patch from AtariDreams via github PR#364. + + OpenBSD-Commit-ID: b9186638a05cb8b56ef7c0de521922b6723644ea -commit 96b519726b7944eee3c23a54eee3d5c031ba1533 -Author: Darren Tucker -Date: Thu Nov 3 04:24:39 2022 +1100 +commit 3cec15543010bc8d6997d896b1717a650afb7e92 +Author: djm@openbsd.org +Date: Fri Dec 2 04:40:27 2022 +0000 - Include time.h when defining timegm. + upstream: make struct sshbuf private - Fixes build on some platforms eg recent AIX. + and remove an unused field; ok dtucker + + OpenBSD-Commit-ID: c7a3d77c0b8c153d463398606a8d57569186a0c3 -commit da6038bd5cd55eb212eb2aec1fc8ae79bbf76156 +commit 5796bf8ca9535f9fa7d01829a540d2550e05c860 Author: Darren Tucker -Date: Tue Nov 1 19:10:30 2022 +1100 +Date: Fri Dec 2 11:43:36 2022 +1100 - Always use compat getentropy. + Restore ssh-agent permissions on exit. - Have it call native getentropy and fall back as required. Should fix - issues of platforms where libc has getentropy but it is not implemented - in the kernel. Based on github PR#354 from simsergey. + ...enough that subsequent builds can overwrite ssh-agent if necessary. -commit 5ebe18cab6be3247b44c807ac145164010465b82 -Author: Darren Tucker -Date: Wed Nov 2 10:51:48 2022 +1100 +commit ccf5a13868cbb4659107458cac1e017c98abcbda +Author: dtucker@openbsd.org +Date: Thu Dec 1 02:22:13 2022 +0000 - Check for sockaddr_in.sin_len. + upstream: Clean up ssh-add and ssh-agent logs. - If found, set SOCK_HAS_LEN which is used in addr.c. Should fix keyscan - tests on platforms with this (eg old NetBSD). + OpenBSD-Regress-ID: 9eda8e4c3714d7f943ab2e73ed58a233bd29cd2c -commit a1febadf426536612c2734168d409147c392e7cf +commit 7a8b40cf6a5eda80173140cc6750a6db8412fa87 Author: dtucker@openbsd.org -Date: Sun Oct 30 18:42:07 2022 +0000 +Date: Thu Dec 1 02:19:29 2022 +0000 - upstream: Use variable for diff options + upstream: Log output of ssh-agent and ssh-add - instead of unconditionally specifying "-rN". This will make life easier - in -portable where not all diff's understand -N. + This should make debugging easier. - OpenBSD-Regress-ID: 8b8a407115546be1c6d72d350b1e4f1f960d3cd3 + OpenBSD-Regress-ID: 5974b02651f428d7e1079b41304c498ca7e306c8 -commit f6d3ed9a8a9280cbb68d6a499850cfe810e92bd0 -Author: Darren Tucker -Date: Mon Oct 31 05:13:02 2022 +1100 +commit 4a1805d532616233dd6072e5cd273b96dd3062e6 +Author: dtucker@openbsd.org +Date: Tue Nov 29 22:41:14 2022 +0000 - OpenSSL dev branch is 302 not 320. + upstream: Add void to client_repledge args to fix compiler warning. ok djm@ - While there, also accept 301 which it shat it was previously. + OpenBSD-Commit-ID: 7e964a641ce4a0a0a11f047953b29929d7a4b866 -commit 25c8a2bbcc10c493d27faea57c42a6bf13fa51f2 +commit 815c4704930aa449edf6e812e99d69e9ffd31f01 Author: djm@openbsd.org -Date: Fri Oct 28 02:47:04 2022 +0000 +Date: Mon Nov 28 01:38:22 2022 +0000 - upstream: put sshkey_check_rsa_length() back in sshkey.c to unbreak + upstream: tighten pledge(2) after session establishment - OPENSSL=no builds + feedback, ok & testing in snaps deraadt@ - OpenBSD-Commit-ID: 99eec58abe382ecd14b14043b195ee1babb9cf6e + OpenBSD-Commit-ID: aecf4d49d28586dfbcc74328d9333398fef9eb58 -commit 1192588546c29ceec10775125f396555ea71850f +commit f7cebbbf407d772ed71403d314343766782fe540 Author: djm@openbsd.org -Date: Fri Oct 28 02:29:34 2022 +0000 +Date: Mon Nov 28 01:37:36 2022 +0000 - upstream: allow ssh-keyscan(1) to accept CIDR address ranges, e.g. - - ssh-keyscan 192.168.0.0/24 + upstream: New EnableEscapeCommandline ssh_config(5) option - If a CIDR range is passed, then it will be expanded to all possible - addresses in the range including the all-0s and all-1s addresses. + This option (default "no") controls whether the ~C escape is available. + Turning it off by default means we will soon be able to use a stricter + default pledge(2) in the client. - bz#976 feedback/ok markus@ + feedback deraadt@ dtucker@; tested in snaps for a while - OpenBSD-Commit-ID: ce6c5211f936ac0053fd4a2ddb415277931e6c4b - -commit 64af4209309461c79c39eda2d13f9d77816c6398 -Author: Damien Miller -Date: Fri Oct 28 12:54:35 2022 +1100 - - fix merge botch + OpenBSD-Commit-ID: 7e277595d60acb8263118dcb66554472257b387a -commit 27267642699342412964aa785b98afd69d952c88 -Author: djm@openbsd.org -Date: Fri Oct 28 00:44:44 2022 +0000 +commit d323f7ecf52e3d4ec1f4939bf31693e02f891dca +Author: mbuhl@openbsd.org +Date: Fri Nov 18 19:47:40 2022 +0000 - upstream: refactor sshkey_private_deserialize + upstream: In channel_request_remote_forwarding the parameters for - feedback/ok markus@ + permission_set_add are leaked as they are also duplicated in the call. Found + by CodeChecker. ok djm - OpenBSD-Commit-ID: f5ca6932fdaf840a5e8250becb38315a29b5fc9f + OpenBSD-Commit-ID: 4aef50fa9be7c0b138188814c8fe3dccc196f61e -commit 2519a7077a9332f70935e5242ba91ee670ed6b87 -Author: djm@openbsd.org -Date: Fri Oct 28 00:44:17 2022 +0000 +commit 62cc33e6eed847aafdc29e34aa69e9bd82a0ee16 +Author: Darren Tucker +Date: Wed Nov 30 11:23:11 2022 +1100 - upstream: refactor sshkey_private_serialize_opt() + Use -fzero-call-used-regs=used on clang 15. - feedback/ok markus@ + clang 15 seems to have a problem with -fzero-call-used-reg=all which + causes spurious "incorrect signature" failures with ED25519. On those + versions, use -fzero-call-used-regs=used instead. (We may add exceptions + later if specific versions prove to be OK). Also move the GCC version + check to match. - OpenBSD-Commit-ID: 61e0fe989897901294efe7c3b6d670cefaf44cbd + Initial investigation by Daniel Pouzzner (douzzer at mega nu), workaround + suggested by Bill Wendling (morbo at google com). bz#3475, ok djm@ -commit 11a768adf98371fe4e43f3b06014024c033385d5 -Author: djm@openbsd.org -Date: Fri Oct 28 00:43:30 2022 +0000 +commit f84b9cffd52c9c5c359a54a1929f9948e803ab1d +Author: Darren Tucker +Date: Mon Nov 28 21:09:28 2022 +1100 - upstream: refactor certify - - feedback/ok markus@ - - OpenBSD-Commit-ID: 35d742992e223eaca3537e6fb3d3002c08eed4f6 + Skip unit tests on slow riscv64 hardware. -commit 3fbc58bb249d967cc43ebdc554f6781bb73d4a58 -Author: djm@openbsd.org -Date: Fri Oct 28 00:43:08 2022 +0000 +commit 9f2747e0bed3faca92679eae69aef10c95dc82f5 +Author: Darren Tucker +Date: Sun Nov 27 15:26:22 2022 +1100 - upstream: refactor sshkey_sign() and sshkey_verify() + Rework how selfhosted tests interact with runners. - feedback/ok markus@ + Previously there was one runner per test target (mostly VMs). This had + a few limitations: + - multiple tests that ran on the same target (eg multiple build + configs) were serialized on availability or that runner. + - it needed manual balancing of VMs over host machines. - OpenBSD-Commit-ID: 368e662c128c99d05cc043b1308d2b6c71a4d3cc + To address this, make VMs that use ephemeral disks (ie most of them) + all use a pool of runners with the "libvirt" label. This requires that + we distinguish between "host" and "target" for those. Native runners + and VMs with persistent disks (eg the constantly-updated snapshot ones) + specify the same host and target. + + This should improve test throughput. -commit a1deb6cdbbe6afaab74ecb08fcb62db5739267be -Author: djm@openbsd.org -Date: Fri Oct 28 00:41:52 2022 +0000 +commit d664ddaec87bdc7385be8ef7f1337793e1679d48 +Author: Darren Tucker +Date: Sun Nov 27 12:19:37 2022 +1100 - upstream: refactor sshkey_from_blob_internal() - - feedback/ok markus@ + Run vmstartup from temp dir. - OpenBSD-Commit-ID: 1f46c0cbb8060ee9666a02749594ad6658c8e283 + This will allow us to create ephemeral disk images per-runner. -commit 7d00799c935271ce89300494c5677190779f6453 -Author: djm@openbsd.org -Date: Fri Oct 28 00:41:17 2022 +0000 +commit 0fa16e952b1fc1c4cf65e3dd138b0e87003e2e45 +Author: Darren Tucker +Date: Sun Nov 27 12:14:00 2022 +1100 - upstream: refactor sshkey_from_private() - - feedback/ok markus@ + Make "config" in matrix singular and pass in env. - OpenBSD-Commit-ID: e5dbe7a3545930c50f70ee75c867a1e08b382b53 + This will allow the startup scripts to adapt their behaviour based on + the type and config. -commit 262647c2e920492ca57f1b9320d74f4a0f6e482b -Author: djm@openbsd.org -Date: Fri Oct 28 00:39:29 2022 +0000 +commit e8857043af54809187be1e8b06749db61112899f +Author: Darren Tucker +Date: Sun Nov 27 11:42:22 2022 +1100 - upstream: factor out key generation - - feedback/ok markus@ - - OpenBSD-Commit-ID: 5b4211bff4de8d9adb84bc72857a8c42c44e7ceb + Add "libvirt" label to dfly30. -commit 401c74e7dc15eab60540653d2f94d9306a927bab -Author: djm@openbsd.org -Date: Fri Oct 28 00:38:58 2022 +0000 +commit 9775473d84902dc37753686cd10ae71fbe67efda +Author: Darren Tucker +Date: Sun Nov 27 09:28:20 2022 +1100 - upstream: refactor and simplify sshkey_read() - - feedback/ok markus@ + Rename "os" in matrix to "target". - OpenBSD-Commit-ID: 0d93b7a56e31cd06a8bb0d2191d084ce254b0971 + This is in preparation to distinguish this from the host that the runner + runs on in case where they are separate (eg VMs). -commit 591fed94e66a016acf87f4b7cd416ce812f2abe8 -Author: djm@openbsd.org -Date: Fri Oct 28 00:37:24 2022 +0000 +commit 04fd00ceff39f4544ced6f5342060abe584835d0 +Author: Darren Tucker +Date: Sun Nov 27 09:23:04 2022 +1100 - upstream: factor out public key serialization - - feedback/ok markus@ - - OpenBSD-Commit-ID: a3570c4b97290c5662890aea7328d87f55939033 + Remove unused self-hosted test targets. -commit 1e78844ae2b2dc01ba735d5ae740904c57e13685 -Author: djm@openbsd.org -Date: Fri Oct 28 00:36:31 2022 +0000 +commit c9d9fcad2a11c1cd1550a541f44091d65f0b5584 +Author: Darren Tucker +Date: Sun Nov 27 09:16:15 2022 +1100 - upstream: factor out sshkey_equal_public() - - feedback/ok markus@ + Remove explicit "default" test config argument. - OpenBSD-Commit-ID: 1368ba114cb37732fe6ec3d89c7e6d27ea6fdc94 + Not specifying the test config implicitly selects default args. -commit 25de1c01a8b9a2c8ab9b1da22444a03e89c982de -Author: djm@openbsd.org -Date: Fri Oct 28 00:35:40 2022 +0000 +commit 15a01cf15f396f87c6d221c5a6af98331c818962 +Author: Darren Tucker +Date: Wed Nov 23 13:18:54 2022 +1100 - upstream: begin big refactor of sshkey - - Move keytype data and some of the type-specific code (allocation, - cleanup, etc) out into each key type's implementation. Subsequent - commits will move more, with the goal of having each key-*.c file - owning as much of its keytype's implementation as possible. - - lots of feedback + ok markus@ - - OpenBSD-Commit-ID: 0f2b4334f73914344e9e5b3d33522d41762a57ec + Add fallback for old platforms w/out MAP_ANON. -commit 445363433ba20b8a3e655b113858c836da46a1cb -Author: djm@openbsd.org -Date: Mon Oct 24 22:43:36 2022 +0000 +commit 6b9bbbfe8b26db6e9a30a7e08c223e85421aed98 +Author: Darren Tucker +Date: Wed Nov 23 13:09:11 2022 +1100 - upstream: Be more paranoid with host/domain names coming from the + If we haven't found it yet, recheck for sys/stat.h. - never write a name with bad characters to a known_hosts file. + On some very old platforms, sys/stat.h needs sys/types.h, however + autoconf 2.71's AC_CHECK_INCLUDES_DEFAULT checks for them in the + opposite order, which in combination with modern autoconf's + "present but cannot be compiled" behaviour causes it to not be + detected. + +commit 8926956f22639132a9f2433fcd25224e01b900f5 +Author: Darren Tucker +Date: Fri Nov 11 11:25:37 2022 +1100 + + Add dfly62 test target. + +commit 650de7ecd3567b5a5dbf16dd1eb598bd8c20bca8 +Author: dtucker@openbsd.org +Date: Thu Nov 10 23:03:10 2022 +0000 + + upstream: Handle dynamic remote port forwarding in escape commandline's - reported by David Leadbeater, ok deraadt@ + -R processing. bz#3499, ok djm@ - OpenBSD-Commit-ID: ba9b25fa8b5490b49398471e0c9657b0cbc7a5ad + OpenBSD-Commit-ID: 194ee4cfe7ed0e2b8ad0727f493c798a50454208 -commit 7190154de2c9fe135f0cc1ad349cb2fa45152b89 -Author: djm@openbsd.org -Date: Mon Oct 24 21:52:50 2022 +0000 +commit 5372db7e7985ba2c00f20fdff8942145ca99e033 +Author: Darren Tucker +Date: Thu Nov 10 12:44:51 2022 +1100 - upstream: regress test for unmatched glob characters; fails before + Remove seed passing over reexec. - previous commit but passes now. bz3488; prodded by dtucker@ + This was added for the benefit of platforms using ssh-rand-helper to + prevent a delay on each connection as sshd reseeded itself. - OpenBSD-Regress-ID: 0cc5cc9ea4a6fd170dc61b9212f15badaafb3bbd + ssh-random-helper is long gone, and since the re-exec happens before the + chroot the re-execed sshd can reseed itself normally. ok djm@ -commit a4821a592456c3add3cd325db433110cdaaa3e5c -Author: djm@openbsd.org -Date: Mon Oct 24 21:51:55 2022 +0000 +commit ca98d3f8c64cfc51af81e1b01c36a919d5947ec2 +Author: Darren Tucker +Date: Wed Nov 9 20:59:20 2022 +1100 - upstream: when scp(1) is using the SFTP protocol for transport (the - - default), better match scp/rcp's handling of globs that don't match the - globbed characters but do match literally (e.g. trying to transfer - "foo.[1]"). + Skip reexec test on OpenSSL 1.1.1 specifically. - Previously scp(1) in SFTP mode would not match these pathnames but - legacy scp/rcp mode would. + OpenSSL 1.1.1 has a bug in its RNG that breaks reexec fallback, so skip + that test. See bz#3483 for details. + +commit 5ec4ebc2548e5f7f1b55b2a5cef5b67bdca8146f +Author: dtucker@openbsd.org +Date: Wed Nov 9 09:04:12 2022 +0000 + + upstream: Fix typo in fatal error message. - Reported by Michael Yagliyan in bz3488; ok dtucker@ + Patch from vapier at chromium.org. - OpenBSD-Commit-ID: d8a3773f53015ba811fddba7473769a2fd343e11 + OpenBSD-Commit-ID: 8a0c164a6a25eef0eedfc30df95bfa27644e35cf -commit 18376847b8043ba967eabbe23692ef74c9a3fddc -Author: jsg@openbsd.org -Date: Thu Oct 13 09:09:28 2022 +0000 +commit e6abafe9a6d809422d3432b95b3f9747b0acaa71 +Author: dtucker@openbsd.org +Date: Wed Nov 9 09:01:52 2022 +0000 - upstream: use correct type with sizeof ok djm@ + upstream: Remove errant colon and simplify format - OpenBSD-Commit-ID: d6c882c2e8a42ff831a5b3cbc2c961ecb2dd6143 + string in error messages. Patch from vapier at chromium.org. + + OpenBSD-Commit-ID: fc28466ebc7b74e0072331947a89bdd239c160d3 -commit 4a4883664d6b4e9e4e459a8cdc16bd8d4b735de9 -Author: jmc@openbsd.org -Date: Fri Oct 7 06:00:58 2022 +0000 +commit db2027a687516f87c3fb141e87154bb3d8a7807c +Author: djm@openbsd.org +Date: Wed Nov 9 01:37:44 2022 +0000 - upstream: ssh-agent.1: - use Nm not Xr for self-ref - while here, - - wrap a long line + upstream: rename client_global_hostkeys_private_confirm() to - ssh-agent.c: - - add -O to usage() + client_global_hostkeys_prove_confirm(), as it handles the + "hostkeys-prove00@openssh.com" message; no functional change - OpenBSD-Commit-ID: 855dac4695cef22e96d69c53436496bc408ca389 + OpenBSD-Commit-ID: 31e09bd3cca6eed26855b88fb8beed18e9bd026d -commit 9fd2441113fce2a83fc7470968c3b27809cc7f10 +commit 1c2be7c2004cf1abcd172fee9fe3eab57cd4c426 Author: djm@openbsd.org -Date: Fri Oct 7 04:06:26 2022 +0000 +Date: Wed Nov 9 00:15:59 2022 +0000 - upstream: document "-O no-restrict-websafe"; spotted by Ross L - - Richardson + upstream: typo in comment - OpenBSD-Commit-ID: fe9eaa50237693a14ebe5b5614bf32a02145fe8b + OpenBSD-Commit-ID: 39c58f41e0f32d1ff31731fa6f5bbbc3ad25084a -commit 614252b05d70f798a0929b1cd3d213030ad4d007 +commit cf1a9852d7fc93e4abc4168aed09529a57427cdc Author: Darren Tucker -Date: Tue Oct 18 06:29:16 2022 +1100 +Date: Wed Nov 9 09:23:47 2022 +1100 - OpenSSL dev branch now identifies as 3.2.0. - -commit 195e5a65fd793a738ea8451ebfdd1919db5aff3e -Author: Damien Miller -Date: Mon Oct 17 09:41:47 2022 +1100 - - revert c64b62338b4 and guard POLL* defines instead + Defer seed_rng until after closefrom call. - c64b62338b4 broke OSX builds, which do have poll.h but lack ppoll(2) - Spotted by dtucker + seed_rng will initialize OpenSSL, and some engine providers (eg Intel's + QAT) will open descriptors for their own use. bz#3483, patch from + joel.d.schuetze at intel.com, ok djm@ -commit bc2e480d99613bd59720edae244d1764636544c4 -Author: Damien Miller -Date: Fri Oct 14 14:52:22 2022 +1100 +commit dffa64480163fbf76af7e4fb62c26bb0dd6642aa +Author: Darren Tucker +Date: Wed Nov 9 08:27:47 2022 +1100 - undef _get{short,long} before redefining + Fix comment text. From emaste at freebsd.org. -commit 5eb796a369c64f18d55a6ae9b1fa9b35eea237fb -Author: Harmen Stoppels -Date: Thu Oct 13 16:08:46 2022 +0200 +commit d9df5689c29823ab830ec4f54c83c6cc3c0077ad +Author: Pierre Ossman +Date: Wed Jul 6 13:52:10 2022 +0200 - Fix snprintf configure test for clang 15 + Avoid assuming layout of fd_set - Clang 15 -Wimplicit-int defaults to an error in C99 mode and above. - A handful of tests have "main(..." and not "int main(..." which caused - the tests to produce incorrect results. - -commit c64b62338b46ffa08839f05f21ad69fa6234dc17 -Author: Damien Miller -Date: Mon Oct 10 12:32:43 2022 +1100 - - skip bsd-poll.h if poll.h found; ok dtucker + POSIX doesn't specify the internal layout of the fd_set object, so let's + not assume it is just a bit mask. This increases compatibility with + systems that have a different layout. + + The assumption is also worthless as we already refuse to use file + descriptors over FD_SETSIZE anyway. Meaning that the default size of + fd_set is quite sufficient. -commit 5ee2b8ccfcf4b606f450eb0ff2305e311f68b0be -Author: djm@openbsd.org -Date: Thu Oct 6 22:42:37 2022 +0000 +commit 419aa8a312e8d8f491933ca3d5933e602cb05aae +Author: Darren Tucker +Date: Tue Nov 8 12:42:52 2022 +1100 - upstream: honour user's umask if it is more restrictive then the ssh - - default (022); based on patch from Alex Henrie, ok dtucker@ deraadt@ + Shutdown any VM before trying to check out repo. - OpenBSD-Commit-ID: fe1b9e15fc9a4f49fc338e848ce14d8727abe82d + In the case where the previous run did not clean up, the checkout will + fail as it'll leave a stale mount. -commit a75cffc2700cebd3e2dd9093f7f7388d2be95cb7 +commit a32c07cbb78f65d8527642b96474a83b413f8108 Author: Darren Tucker -Date: Fri Oct 7 03:54:56 2022 +1100 +Date: Tue Nov 8 11:33:25 2022 +1100 - Add LibreSSL 3.6.0 to test suite. + Run vm startup and shutdown from runner temp dir. - While there, bump OpenSSL to latest 1.1.1q release. + Should work even if the github workspace dir is on a stale sshfs mount. -commit fcc0f0c0e96a30076683fea9a7c9eedc72931742 +commit 2b40a7dfcdb8e616155b9504145aa52b271455aa Author: Darren Tucker -Date: Thu Oct 6 21:18:16 2022 +1100 +Date: Tue Nov 8 11:03:31 2022 +1100 - Add 9.1 branch to CI status page. + Add valrind-5 test here too. -commit ef211eee63821d894a8bf81f22bfba9f6899d0fe +commit 2ea03d1f6d0a05ee2b63ed2dc0f2d54f1e4655a1 Author: Darren Tucker -Date: Tue Oct 4 23:20:23 2022 +1100 +Date: Tue Nov 8 09:21:10 2022 +1100 - Test commits to all branches of portable. + Update checkout and upload actions. - Only test OpenBSD upstream on commits to master since that's what it - tracks. - -commit fe646de03cafb6593ff4e4954bca9ec4b4b753a8 -Author: Damien Miller -Date: Wed Oct 5 03:47:26 2022 +1100 - - whitespace at EOL + Update actions/checkout and actions/upload-artifact to main branch for + compatibility with node.js v16. -commit a6e1852d10c63a830196e82168dadd957aaf28ec -Author: Damien Miller -Date: Wed Oct 5 03:40:01 2022 +1100 +commit 4e316ff0f18a118232bb9ac6512ee62773a9e8ea +Author: Darren Tucker +Date: Tue Nov 8 09:17:04 2022 +1100 - mention libfido2 autodetection + Split out rekey test since it runs the longest. -commit 7360c2c206f33d309edbaf64036c96fadf74d640 -Author: Damien Miller -Date: Wed Oct 5 03:37:36 2022 +1100 +commit 21625a6424258a92a96a3bb73ae6aabc5ed8a6b4 +Author: dtucker@openbsd.org +Date: Mon Nov 7 10:09:28 2022 +0000 - remove mention of --with-security-key-builtin + upstream: The IdentityFile option in ssh_config can also be used to - it is enabled by default when libfido2 is installed - -commit 0ffb46f2ee2ffcc4daf45ee679e484da8fcf338c -Author: Damien Miller -Date: Tue Oct 4 01:51:42 2022 +1100 - - update .depend - -commit 657e676ff696c7bb787bffb0e249ea1be3b474e1 -Author: Damien Miller -Date: Tue Oct 4 01:45:52 2022 +1100 - - update release notes URL - -commit f059da2b29840c0f048448809c317ce2ae014da7 -Author: Damien Miller -Date: Tue Oct 4 01:45:41 2022 +1100 - - crank versions in RPM spec files + specify a public key file, as documented in ssh.1 for the -i option. Document + this also for IdentityFile in ssh_config.5, for documentation completeness. + From laalsaas at systemli.org via portable github PR#352, ok jmc@ djm@ + + OpenBSD-Commit-ID: 2f943be9f96e60ef81a9a4faa25b009999f9883b -commit b51f3f172d87cbdb80ca4eb7b2149e56a7647557 -Author: djm@openbsd.org -Date: Mon Sep 26 22:18:40 2022 +0000 +commit 747691604d3325ed2b62bad85b6fd8563ad32f6c +Author: dtucker@openbsd.org +Date: Mon Nov 7 10:05:38 2022 +0000 - upstream: openssh-9.1 + upstream: Remove some set but otherwise unused variables, spotted - OpenBSD-Commit-ID: 5a467b2ee81da01a86adf1ad93b62b1728494e56 + in -portable by clang 16's -Wunused-but-set-variable. ok djm@ + + OpenBSD-Commit-ID: 3d943ddf2369b38fbf89f5f19728e7dc1daf3982 -commit 4cf8d0c0f3030f594a238bab21a0695735515487 +commit 1d78d25653805aefc7a8dd9d86cd7359ada3823c Author: dtucker@openbsd.org -Date: Wed Sep 21 22:26:50 2022 +0000 +Date: Mon Nov 7 10:02:59 2022 +0000 - upstream: Fix typo. From AlexanderStohr via github PR#343. + upstream: Check for and disallow MaxStartups values less than or - OpenBSD-Commit-ID: a134c9b4039e48803fc6a87f955b0f4a03181497 + equal to zero during config parsing, rather than faling later at runtime. + bz#3489, ok djm@ + + OpenBSD-Commit-ID: d79c2b7a8601eb9be493629a91245d761154308b -commit 8179fed3264d5919899900ed8881d5f9bb57ca33 +commit a00f59a645072e5f5a8d207af15916a7b23e2642 Author: djm@openbsd.org -Date: Mon Sep 19 21:39:16 2022 +0000 +Date: Mon Nov 7 04:04:40 2022 +0000 - upstream: add RequiredRSASize to the list of keywords accepted by + upstream: fix parsing of hex cert expiry time; was checking whether the - -o; spotted by jmc@ + start time began with "0x", not the expiry time. - OpenBSD-Commit-ID: fe871408cf6f9d3699afeda876f8adbac86a035e + from Ed Maste + + OpenBSD-Commit-ID: 6269242c3e1a130b47c92cfca4d661df15f05739 -commit 5f954929e9f173dd1e279e07d0e8b14fa845814d -Author: Damien Miller -Date: Mon Sep 19 20:59:34 2022 +1000 +commit f58acaf8c7315483f4ac87d46a1aa2142a713cd8 +Author: Darren Tucker +Date: Mon Nov 7 15:10:59 2022 +1100 - no need for glob.h here - - it also causes portability problems + Fix merge conflict. -commit 03d94a47207d58b3db37eba4f87eb6ae5a63168a -Author: Damien Miller -Date: Mon Sep 19 20:59:04 2022 +1000 +commit 162e5741020a8d996c0c12b988b118e71ed728e6 +Author: Darren Tucker +Date: Mon Nov 7 15:04:33 2022 +1100 - avoid Wuninitialized false positive in gcc-12ish + Branch-specific links for master status badges. -commit 9d952529113831fb3071ab6e408d2726fd72e771 -Author: djm@openbsd.org -Date: Mon Sep 19 10:46:00 2022 +0000 +commit e4b7c12ab24579312aa3ed38ce7041a439ec2d56 +Author: Darren Tucker +Date: Mon Nov 7 14:46:38 2022 +1100 - upstream: use users-groups-by-id@openssh.com sftp-server extension - - (when available) to fill in user/group names for directory listings. - Implement a client-side cache of see uid/gid=>user/group names. ok markus@ - - OpenBSD-Commit-ID: f239aeeadfa925a37ceee36ee8b256b8ccf4466e + Add CIFuzz status badge. -commit 8ff680368b0bccf88ae85d4c99de69387fbad7a6 -Author: djm@openbsd.org -Date: Mon Sep 19 10:43:12 2022 +0000 +commit b496b9f831acd1e5bcd875e26e797488beef494a +Author: Darren Tucker +Date: Mon Nov 7 14:45:16 2022 +1100 - upstream: sftp client library support for - - users-groups-by-id@openssh.com; ok markus@ + Do not run CIFuzz on selfhosted tree. - OpenBSD-Commit-ID: ddb2f33a2da6349a9a89a8b5bcb9ca7c999394de + We already run it on the regular tree, no need to double up. -commit 488f6e1c582212c2374a4bf8cd1b703d2e70fb8b -Author: djm@openbsd.org -Date: Mon Sep 19 10:41:58 2022 +0000 +commit 2138b1c4ddb300129a41a5104627b0d561184c7b +Author: Darren Tucker +Date: Mon Nov 7 14:41:58 2022 +1100 - upstream: extend sftp-common.c:extend ls_file() to support supplied - - user/group names; ok markus@ - - OpenBSD-Commit-ID: c70c70498b1fdcf158531117e405b6245863bfb0 + Whitespace change to trigger CIFuzz workflow. -commit 74b77f7497dba3a58315c8f308883de448078057 -Author: djm@openbsd.org -Date: Mon Sep 19 10:40:52 2022 +0000 +commit 4670b97ef87c7b0f21283c9b07c7191be88dda05 +Author: Darren Tucker +Date: Mon Nov 7 14:34:04 2022 +1100 - upstream: sftp-server(8): add a "users-groups-by-id@openssh.com" - - extension request that allows the client to obtain user/group names that - correspond to a set of uids/gids. - - Will be used to make directory listings more useful and consistent - in sftp(1). - - ok markus@ - - OpenBSD-Commit-ID: 7ebabde0bcb95ef949c4840fe89e697e30df47d3 + Run cifuzz workflow on the actions as regular CI. -commit 231a346c0c67cc7ca098360f9a554fa7d4f1eddb -Author: djm@openbsd.org -Date: Mon Sep 19 08:49:50 2022 +0000 +commit 79391e66ce851ace1baf3c6a35e83a23f08ec2ba +Author: David Korczynski +Date: Tue Nov 30 11:45:20 2021 +0000 - upstream: better debugging for connect_next() - - OpenBSD-Commit-ID: d16a307a0711499c971807f324484ed3a6036640 + Add CIFuzz integration -commit 1875042c52a3b950ae5963c9ca3774a4cc7f0380 -Author: djm@openbsd.org -Date: Sat Sep 17 10:34:29 2022 +0000 +commit c1893364a0be243270014d7d34362a8101d55112 +Author: dtucker@openbsd.org +Date: Mon Nov 7 02:21:22 2022 +0000 - upstream: Add RequiredRSASize for sshd(8); RSA keys that fall - - beneath this limit will be ignored for user and host-based authentication. + upstream: Import regenerated moduli. - Feedback deraadt@ ok markus@ - - OpenBSD-Commit-ID: 187931dfc19d51873df5930a04f2d972adf1f7f1 + OpenBSD-Commit-ID: b0e54ee4d703bd6929bbc624068666a7a42ecb1f -commit 54b333d12e55e6560b328c737d514ff3511f1afd -Author: djm@openbsd.org -Date: Sat Sep 17 10:33:18 2022 +0000 +commit 5c3f18fb994ef27e685b205ee2351851b80fdbd1 +Author: dtucker@openbsd.org +Date: Mon Nov 7 01:53:01 2022 +0000 - upstream: add a RequiredRSASize for checking RSA key length in - - ssh(1). User authentication keys that fall beneath this limit will be - ignored. If a host presents a host key beneath this limit then the connection - will be terminated (unfortunately there are no fallbacks in the protocol for - host authentication). - - feedback deraadt, Dmitry Belyavskiy; ok markus@ + upstream: Fix typo. From pablomh via -portable github PR#344. - OpenBSD-Commit-ID: 430e339b2a79fa9ecc63f2837b06fdd88a7da13a + OpenBSD-Commit-ID: d056ee2e73691dc3ecdb44a6de68e6b88cd93827 -commit 07d8771bacfefbcfb37fa8a6dc6103bcc097e0ab -Author: djm@openbsd.org -Date: Sat Sep 17 10:30:45 2022 +0000 +commit e1c6fcc142066417c9832e634463faa3dd5d116c +Author: Darren Tucker +Date: Mon Nov 7 12:46:58 2022 +1100 - upstream: Add a sshkey_check_rsa_length() call for checking the - - length of an RSA key; ok markus@ - - OpenBSD-Commit-ID: de77cd5b11594297eda82edc594b0d32b8535134 + Link to branch-specific queries for V_9_1 status. -commit 3991a0cf947cf3ae0f0373bcec5a90e86a7152f5 -Author: djm@openbsd.org -Date: Sat Sep 17 10:11:29 2022 +0000 +commit 4f4a5fad6d8892c3f8ee9cd81ec7de6458210c9f +Author: Darren Tucker +Date: Sun Nov 6 10:55:59 2022 +1100 - upstream: actually hook up restrict_websafe; the command-line flag - - was never actually used. Spotted by Matthew Garrett + Use "prohibit-password" in -portable comments. - OpenBSD-Commit-ID: 0b363518ac4c2819dbaa3dfad4028633ab9cdff1 + "without-password" is the deprecated alias for "prohibit-password", + so we should reference the latter. From emaste at freebsd.org. -commit 30b2a7e4291fb9e357f80a237931ff008d686d3b -Author: djm@openbsd.org -Date: Fri Sep 16 06:55:37 2022 +0000 +commit 0f7e1eba55259ec037f515000b4c4afbf446230a +Author: Darren Tucker +Date: Sun Nov 6 10:50:01 2022 +1100 - upstream: correct error value + Fix tracing disable on FreeBSD. - OpenBSD-Commit-ID: 780efcbad76281f11f14b2a5ff04eb6db3dfdad4 + Some versions of FreeBSD do not support using id 0 to refer to the + current pid for procctl, so pass getpid() explicitly. From + emaste at freebsd.org. -commit ac1ec9545947d9f9657259f55d04cb49d3a94c8a -Author: djm@openbsd.org -Date: Fri Sep 16 03:33:14 2022 +0000 +commit 32fddb982fd61b11a2f218a115975a87ab126d43 +Author: Darren Tucker +Date: Mon Nov 7 10:39:01 2022 +1100 - upstream: sftp: Be a bit more clever about completions - - There are commands (e.g. "get" or "put") that accept two - arguments, a local path and a remote path. However, the way - current completion is written doesn't take this distinction into - account and always completes remote or local paths. - - By expanding CMD struct and "cmds" array this distinction can be - reflected and with small adjustment to completer code the correct - path can be completed. - - By Michal Privoznik, ok dtucker@ + Fix setres*id checks to work with clang-16. - OpenBSD-Commit-ID: 1396d921c4eb1befd531f5c4a8ab47e7a74b610b + glibc has the prototypes for setresuid and setresgid behind _GNU_SOURCE, + and clang 16 will error out on implicit function definitions, so add + _GNU_SOURCE and the required headers to the configure checks. From + sam at @gentoo.org via bz#3497. -commit 590db83384f9d99fc51c84505792d26d1ef60df9 -Author: djm@openbsd.org -Date: Fri Sep 16 03:13:34 2022 +0000 +commit 12af712d116f42164bcfa56db901d06e4fa27199 +Author: Sam James +Date: Sun Nov 6 04:52:38 2022 +0000 - upstream: sftp: Don't attempt to complete arguments for - - non-existent commands - - If user entered a non-existent command (e.g. because they made a - typo) there is no point in trying to complete its arguments. Skip - calling complete_match() if that's the case. + configure.ac: Fix -Wstrict-prototypes - From Michal Privoznik + Clang 16 now warns on this and it'll be removed in C23, so let's + just be future proof. It also reduces noise when doing general + Clang 16 porting work (which is a big job as it is). github PR#355. - OpenBSD-Commit-ID: cf39c811a68cde2aeb98fc85addea4000ef6b07a + Signed-off-by: Sam James -commit ff9809fdfd1d9a91067bb14a77d176002edb153c -Author: djm@openbsd.org -Date: Wed Sep 14 00:14:37 2022 +0000 +commit 40b0a5eb6e3edfa2886b60c09c7803353b0cc7f5 +Author: Sam James +Date: Sun Nov 6 04:47:35 2022 +0000 - upstream: sk_enroll: never drop SSH_SK_USER_VERIFICATION_REQD flag - - from response - - Now that all FIDO signing calls attempt first without PIN and then - fall back to trying PIN only if that attempt fails, we can remove the - hack^wtrick that removed the UV flag from the keys returned during - enroll. + configure.ac: Add include for openpty - By Corinna Vinschen + Another Clang 16ish fix (which makes -Wimplicit-function-declaration + an error by default). github PR#355. - OpenBSD-Commit-ID: 684517608c8491503bf80cd175425f0178d91d7f + See: 2efd71da49b9cfeab7987058cf5919e473ff466b + See: be197635329feb839865fdc738e34e24afd1fca8 -commit 940dc10729cb5a95b7ee82c10184e2b9621c8a1d -Author: djm@openbsd.org -Date: Wed Sep 14 00:13:13 2022 +0000 +commit 6b17e128879ec6cc32ca2c28b5d894b4aa72e32d +Author: Rochdi Nassah +Date: Fri Oct 28 01:26:31 2022 +0100 - upstream: a little extra debugging + Fix broken zlib link. + +commit 99500df246ccb736ddbdd04160dcc82165d81a77 +Author: Darren Tucker +Date: Fri Nov 4 16:59:26 2022 +1100 + + Don't run openbsd-compat tests on Cygwin. - OpenBSD-Commit-ID: edf1601c1d0905f6da4c713f4d9cecc7d1c0295a + Add "compat-tests" to the default TEST_TARGET so we can override as + necessary. Override TEST_TARGET for Cygwin as the tests don't currently + compile there. -commit 4b5f91cb959358141181b934156513fcb8a6c1e3 +commit 3cae9f92a31897409666aa1e6f696f779759332b Author: djm@openbsd.org -Date: Wed Sep 14 00:02:03 2022 +0000 +Date: Thu Nov 3 21:59:20 2022 +0000 - upstream: ssh-agent: attempt FIDO key signing without PIN and use + upstream: replace recently-added valid_domain() check for hostnames - the error to determine whether a PIN is required and prompt only if - necessary. from Corinna Vinschen + going to known_hosts with a more relaxed check for bad characters; previous + commit broke address literals. Reported by/feedback from florian@ - OpenBSD-Commit-ID: dd6be6a0b7148608e834ee737c3479b3270b00dd + OpenBSD-Commit-ID: 10b86dc6a4b206adaa0c11b58b6d5933898d43e0 -commit 113523bf0bc33600b07ebb083572c8c346b6fdf4 -Author: jmc@openbsd.org -Date: Sun Sep 11 06:38:11 2022 +0000 +commit 9655217231c9056200bea7ae2dffcc9c0c3eb265 +Author: Darren Tucker +Date: Thu Nov 3 23:07:50 2022 +1100 - upstream: .Li -> .Vt where appropriate; from josiah frentsos, - - tweaked by schwarze - - ok schwarze - - OpenBSD-Commit-ID: 565046e3ce68b46c2f440a93d67c2a92726de8ed + Rerun tests on changes to Makefile.in in any dir. -commit 86af013b56cecb5ee58ae0bd9d495cd586fc5918 -Author: jsg@openbsd.org -Date: Sat Sep 10 08:50:53 2022 +0000 +commit 3500f0405a3ab16b59a26f3508c4257a3fc3bce6 +Author: Darren Tucker +Date: Thu Nov 3 23:04:08 2022 +1100 - upstream: fix repeated words ok miod@ jmc@ + Link libssh into compat tests. - OpenBSD-Commit-ID: 6765daefe26a6b648cc15cadbbe337596af709b7 + The cygwin compat code uses xmalloc, so add libssh.a so pick up that. -commit 0ba39b93b326a7d5dfab776cc9b9d326161a9b16 -Author: djm@openbsd.org -Date: Fri Sep 9 03:31:42 2022 +0000 +commit ec59effcf65b8a4c85d47ff5a271123259dd0ab8 +Author: Darren Tucker +Date: Thu Nov 3 21:44:23 2022 +1100 - upstream: notifier_complete(NULL, ...) is a noop, so no need to test - - that ctx!=NULL; from Corinna Vinschen - - OpenBSD-Commit-ID: ade2f2e9cc519d01a586800c25621d910bce384a + Fix compat regress to work with non-GNU make. -commit be197635329feb839865fdc738e34e24afd1fca8 -Author: Sam James -Date: Thu Sep 8 02:49:29 2022 +0100 +commit 73550a218e7dfbbd599534cbf856309bc924f6fd +Author: Darren Tucker +Date: Thu Nov 3 13:41:16 2022 +1100 - openbsd-compat/bsd-asprintf: add include for vsnprintf + Increase selfhosted job timeout. - Fixes the following build failure with Clang 15 on musl: - ``` - bsd-asprintf.c:51:8: error: call to undeclared library function 'vsnprintf' with type 'int (char *, unsigned long, const char *, struct __va_list_tag *)'; ISO C99 and laterclang -O2 -pipe -fdiagnostics-color=always -frecord-gcc-switches -pipe -Wunknown-warning-option -Qunused-arguments -Wall -Wpointer-arith -Wuninitialized -Wsign-compare -Wformat-security -Wsizeof-pointer-memaccess -Wno-pointer-sign -Wno-unused-result -Wmisleading-indentation -Wbitwise-instead-of-logical -fno-strict-aliasing -mretpoline -ftrapv -fzero-call-used-regs=all -fno-builtin-memset -fstack-protector-strong -fPIE -I. -I. -D_XOPEN_SOURCE=600 -D_BSD_SOURCE -D_DEFAULT_SOURCE -DSSHDIR=\"/etc/ssh\" -D_PATH_SSH_PROGRAM=\"/usr/bin/ssh\" -D_PATH_SSH_ASKPASS_DEFAULT=\"/usr/lib/misc/ssh-askpass\" -D_PATH_SFTP_SERVER=\"/usr/lib/misc/sftp-server\" -D_PATH_SSH_KEY_SIGN=\"/usr/lib/misc/ssh-keysign\" -D_PATH_SSH_PKCS11_HELPER=\"/usr/lib/misc/ssh-pkcs11-helper\" -D_PATH_SSH_SK_HELPER=\"/usr/lib/misc/ssh-sk-helper\" -D_PATH_SSH_PIDDIR=\"/run\" -D_PATH_PRIVSEP_CHROOT_DIR=\"/var/empty\" -DHAVE_CONFIG_H -c cipher-aes.c -o cipher-aes.o - do not support - implicit function declarations [-Wimplicit-function-declaration] - ret = vsnprintf(string, INIT_SZ, fmt, ap2); - ^ - bsd-asprintf.c:51:8: note: include the header or explicitly provide a declaration for 'vsnprintf' - 1 error generated. - ``` + The default job timeout of 360 (6h) is not enough to complete the + regress tests for some of the slow VMs depending on the load on the host. + Increase to 600 (10h). -commit 6cb6f660bb35f77a0456dd2581ddf39c29398a5e +commit db97d8d0b90c6ce52b94b153d6f8f5f7d3b11777 Author: Darren Tucker -Date: Fri Sep 2 16:43:27 2022 +1000 +Date: Thu Nov 3 10:00:43 2022 +1100 - Remove DEF_WEAK, it's already in defines.h. + Only run opensslver tests if built with OpenSSL. -commit ce39e7d8b70c4726defde5d3bc4cb7d40d131153 +commit ba053709638dff2f6603df0c1f340352261d63ea Author: Darren Tucker -Date: Fri Sep 2 14:28:14 2022 +1000 +Date: Wed Nov 2 14:16:04 2022 +1100 - Resync arc4random with OpenBSD. - - This brings us up to current, including djm's random-reseeding change, - as prompted by logan at cyberstorm.mu in bz#3467. It brings the - platform-specific hooks from LibreSSL Portable, simplified to match our - use case. ok djm@. + Add tests for OpenSSL 3.0.7 and LibreSSL 3.6.1. -commit beaddde26f30e2195b8aa4f3193970e140e17305 +commit edd24101c7e17d1a8f6576e1aaf62233b47ad6f5 Author: Darren Tucker -Date: Fri Sep 2 14:20:04 2022 +1000 +Date: Thu Nov 3 08:17:39 2022 +1100 - Move OPENBSD ORIGINAL marker. - - Putting this after the copyright statement (which doesn't change) - instead of before the version identifier (which does) prevents merge - conflicts when resyncing changes. + Run compat regress tests too. -commit c83e467ead67a8cb48ef4bec8085d6fb880a2ff4 +commit fe88d67e7599b0bc73f6e4524add28d743e7f977 Author: Darren Tucker -Date: Fri Sep 2 14:17:28 2022 +1000 +Date: Thu Nov 3 08:14:05 2022 +1100 - Remove arc4random_uniform from arc4random.c + Compat tests need libcrypto. - This was previously moved into its own file (matching OpenBSD) which - prematurely committed in commit 73541f2. + This was moved to CHANNELLIBS during the libs refactor. Spotted by + rapier at psc.edu. -commit 5f45c2395c60865e59fa44152ff1d003a128c5bc -Author: djm@openbsd.org -Date: Fri Sep 2 04:20:02 2022 +0000 +commit 96b519726b7944eee3c23a54eee3d5c031ba1533 +Author: Darren Tucker +Date: Thu Nov 3 04:24:39 2022 +1100 - upstream: sk-usbhid: fix key_lookup() on tokens with built-in UV + Include time.h when defining timegm. - explicitly test whether the token performs built-in UV (e.g. biometric - tokens) and enable UV in that case. From Pedro Martelletto via GHPR#388 - - OpenBSD-Commit-ID: 007eb7e387d27cf3029ab06b88224e03eca62ccd + Fixes build on some platforms eg recent AIX. -commit 03277a4aa49b80af541a3e691f264c0c0d8f9cec +commit da6038bd5cd55eb212eb2aec1fc8ae79bbf76156 Author: Darren Tucker -Date: Wed Aug 31 20:26:30 2022 +1000 - - Move sftp from valgrind-2 to 3 to rebalance. - -commit fcf5365da69c516817321ba89c3a91df98d098df -Author: djm@openbsd.org -Date: Wed Aug 31 02:56:40 2022 +0000 - - upstream: whitespace - - OpenBSD-Commit-ID: c2bcbf93610d3d62ed206cdf9bf9ff98c6aaf232 - -commit e60136a3d7a223dd8e84ba8a6895bc3142360993 -Author: Damien Miller -Date: Mon Aug 29 13:27:45 2022 +1000 - - additional keys - -commit 2b02dcb505288c462d1b5dd1ac04e603d01340eb -Author: Damien Miller -Date: Mon Aug 29 13:23:43 2022 +1000 +Date: Tue Nov 1 19:10:30 2022 +1100 - cross-sign allowed_signers with PGP key + Always use compat getentropy. - Provides continuity of trust from legacy PGP release key to - the SSHSIG signing keys that we will use henceforth for git - signing. + Have it call native getentropy and fall back as required. Should fix + issues of platforms where libc has getentropy but it is not implemented + in the kernel. Based on github PR#354 from simsergey. -commit 51b345f177ae981b8755f6bdf8358b1cc5e83d67 +commit 5ebe18cab6be3247b44c807ac145164010465b82 Author: Darren Tucker -Date: Sat Aug 27 21:49:27 2022 +1000 +Date: Wed Nov 2 10:51:48 2022 +1100 - Add libcrypt-devel to cygwin-release deps. + Check for sockaddr_in.sin_len. - Based on feedback from vinschen at redhat.com. + If found, set SOCK_HAS_LEN which is used in addr.c. Should fix keyscan + tests on platforms with this (eg old NetBSD). -commit 9f81736cf16dd8dda1c8942f1973a5f80b8cd78c -Author: Darren Tucker -Date: Sat Aug 27 09:37:40 2022 +1000 +commit a1febadf426536612c2734168d409147c392e7cf +Author: dtucker@openbsd.org +Date: Sun Oct 30 18:42:07 2022 +0000 - Add Windows 2022 test targets. + upstream: Use variable for diff options + + instead of unconditionally specifying "-rN". This will make life easier + in -portable where not all diff's understand -N. + + OpenBSD-Regress-ID: 8b8a407115546be1c6d72d350b1e4f1f960d3cd3 -commit 85e1a69243f12be8520438ad6a3cfdc0b7fcbb2d +commit f6d3ed9a8a9280cbb68d6a499850cfe810e92bd0 Author: Darren Tucker -Date: Fri Aug 26 16:26:06 2022 +1000 +Date: Mon Oct 31 05:13:02 2022 +1100 - Add cygwin-release test target. + OpenSSL dev branch is 302 not 320. - This also moves the cygwin package install from the workflow file to - setup_ci.sh so that we can install different sets of Cygwin packages - for different test configs. + While there, also accept 301 which it shat it was previously. -commit 92382dbe8bf9ea1225b16858f9b9b208c15c7e8d +commit 25c8a2bbcc10c493d27faea57c42a6bf13fa51f2 Author: djm@openbsd.org -Date: Fri Aug 26 08:16:27 2022 +0000 +Date: Fri Oct 28 02:47:04 2022 +0000 - upstream: whitespace + upstream: put sshkey_check_rsa_length() back in sshkey.c to unbreak - OpenBSD-Commit-ID: a5d015efbfd228dc598ffdef612d2da3a579e5d8 + OPENSSL=no builds + + OpenBSD-Commit-ID: 99eec58abe382ecd14b14043b195ee1babb9cf6e -commit 70a5de0a50e84d7250eb4e4537f765599f64c4af +commit 1192588546c29ceec10775125f396555ea71850f Author: djm@openbsd.org -Date: Fri Aug 26 08:12:56 2022 +0000 +Date: Fri Oct 28 02:29:34 2022 +0000 - upstream: whitespace + upstream: allow ssh-keyscan(1) to accept CIDR address ranges, e.g. - OpenBSD-Commit-ID: d297e4387935d4aef091c5e9432578c2e513f538 + ssh-keyscan 192.168.0.0/24 + + If a CIDR range is passed, then it will be expanded to all possible + addresses in the range including the all-0s and all-1s addresses. + + bz#976 feedback/ok markus@ + + OpenBSD-Commit-ID: ce6c5211f936ac0053fd4a2ddb415277931e6c4b -commit 3a683a19fd116ea15ebf8aa13d02646cceb302a9 +commit 64af4209309461c79c39eda2d13f9d77816c6398 Author: Damien Miller -Date: Fri Aug 26 14:23:55 2022 +1000 - - initial list of allowed signers - -commit 6851f4b8c3fc1b3e1114c56106e4dc31369c8513 -Author: Darren Tucker -Date: Fri Aug 19 17:22:18 2022 +1000 +Date: Fri Oct 28 12:54:35 2022 +1100 - Install Cygwin packages based on OS not config. + fix merge botch -commit f96480906893ed93665df8cdf9065865c51c1475 +commit 27267642699342412964aa785b98afd69d952c88 Author: djm@openbsd.org -Date: Fri Aug 19 06:07:47 2022 +0000 +Date: Fri Oct 28 00:44:44 2022 +0000 - upstream: attemp FIDO key signing without PIN and use the error + upstream: refactor sshkey_private_deserialize - code returned to fall back only if necessary. Avoids PIN prompts for FIDO - tokens that don't require them; part of GHPR#302 + feedback/ok markus@ - OpenBSD-Commit-ID: 4f752aaf9f2e7c28bcaaf3d4f8fc290131bd038e + OpenBSD-Commit-ID: f5ca6932fdaf840a5e8250becb38315a29b5fc9f -commit 5453333b5d28e313284cb9aae82899704103f98d +commit 2519a7077a9332f70935e5242ba91ee670ed6b87 Author: djm@openbsd.org -Date: Fri Aug 19 05:53:28 2022 +0000 +Date: Fri Oct 28 00:44:17 2022 +0000 - upstream: remove incorrect check that can break enrolling a + upstream: refactor sshkey_private_serialize_opt() - resident key (introduced in r1.40) + feedback/ok markus@ - OpenBSD-Commit-ID: 4cab364d518470e29e624af3d3f9ffa9c92b6f01 + OpenBSD-Commit-ID: 61e0fe989897901294efe7c3b6d670cefaf44cbd -commit ff89b1bed80721295555bd083b173247a9c0484e -Author: dtucker@openbsd.org -Date: Fri Aug 19 04:02:46 2022 +0000 +commit 11a768adf98371fe4e43f3b06014024c033385d5 +Author: djm@openbsd.org +Date: Fri Oct 28 00:43:30 2022 +0000 - upstream: Strictly enforce the maximum allowed SSH2 banner size in + upstream: refactor certify - ssh-keyscan and prevent a one-byte buffer overflow. Patch from Qualys, ok - djm@ + feedback/ok markus@ - OpenBSD-Commit-ID: 6ae664f9f4db6e8a0589425f74cd0bbf3aeef4e4 - -commit 1b470b9036639cef4f32fb303bb35ea0b711178d -Author: Darren Tucker -Date: Fri Aug 19 15:18:09 2022 +1000 - - Fix cygwin conditional steps. - -commit fd6ee741ab16714b7035d60aca924123ba28135a -Author: Darren Tucker -Date: Fri Aug 19 15:12:57 2022 +1000 - - Add a bit more debug output. + OpenBSD-Commit-ID: 35d742992e223eaca3537e6fb3d3002c08eed4f6 -commit a9305c4c739f4d91a3d3a92c0b6d4949404a36c5 -Author: Darren Tucker -Date: Fri Aug 12 15:08:47 2022 +1000 +commit 3fbc58bb249d967cc43ebdc554f6781bb73d4a58 +Author: djm@openbsd.org +Date: Fri Oct 28 00:43:08 2022 +0000 - Add Cygwin (on windows-2019) test target. + upstream: refactor sshkey_sign() and sshkey_verify() - In addition to installing the requisite Cygwin packages, we also need to - explicitly invoke "sh" for steps that run other scripts since the runner - environment doesn't understand #! paths. + feedback/ok markus@ + + OpenBSD-Commit-ID: 368e662c128c99d05cc043b1308d2b6c71a4d3cc -commit 5062ad48814b06162511c4f5924a33d97b6b2566 +commit a1deb6cdbbe6afaab74ecb08fcb62db5739267be Author: djm@openbsd.org -Date: Fri Aug 19 03:06:30 2022 +0000 +Date: Fri Oct 28 00:41:52 2022 +0000 - upstream: double free() in error path; from Eusgor via GHPR333 + upstream: refactor sshkey_from_blob_internal() - OpenBSD-Commit-ID: 39f35e16ba878c8d02b4d01d8826d9b321be26d4 - -commit 5a5c580b48fc6006bdfa731fc2f6d4945c2c0e4e -Author: Darren Tucker -Date: Thu Aug 18 21:36:39 2022 +1000 - - Check for perms to run agent-getpeereid test. + feedback/ok markus@ - Ubuntu 22.04 defaults to private home dirs which prevents "nobody" - running ssh-add during the agent-getpeereid test. Check for this and - add the necessary permissions. + OpenBSD-Commit-ID: 1f46c0cbb8060ee9666a02749594ad6658c8e283 -commit cd06a76b7ccc706e2bb4f1cc4aa9e9796a28a812 -Author: Damien Miller -Date: Wed Aug 17 16:04:16 2022 +1000 +commit 7d00799c935271ce89300494c5677190779f6453 +Author: djm@openbsd.org +Date: Fri Oct 28 00:41:17 2022 +0000 - on Cygwin, prefer WinHello FIDO device + upstream: refactor sshkey_from_private() - If no FIDO device was explictly specified, then prefer the - windows://hello FIDO device. An exception to this is when - probing resident FIDO keys, in which case hardware FIDO - devices are preferred. + feedback/ok markus@ + + OpenBSD-Commit-ID: e5dbe7a3545930c50f70ee75c867a1e08b382b53 -commit 47f72f534ac5cc2cd3027675a3df7b00a8f77575 +commit 262647c2e920492ca57f1b9320d74f4a0f6e482b Author: djm@openbsd.org -Date: Wed Aug 17 06:01:57 2022 +0000 +Date: Fri Oct 28 00:39:29 2022 +0000 - upstream: add an extra flag to sk_probe() to indicate whether we're + upstream: factor out key generation - probing for a FIDO resident key or not. Unused here, but will make like - easier for portable + feedback/ok markus@ - OpenBSD-Commit-ID: 432c8ff70e270378df9dbceb9bdeaa5b43b5a832 + OpenBSD-Commit-ID: 5b4211bff4de8d9adb84bc72857a8c42c44e7ceb -commit edb0bcb3c79b16031dc87a8e57aecc3c4a3414f0 -Author: jmc@openbsd.org -Date: Tue Aug 16 20:24:08 2022 +0000 +commit 401c74e7dc15eab60540653d2f94d9306a927bab +Author: djm@openbsd.org +Date: Fri Oct 28 00:38:58 2022 +0000 - upstream: use .Cm for "sign"; from josiah frentsos + upstream: refactor and simplify sshkey_read() - OpenBSD-Commit-ID: 7f80a53d54857ac6ae49ea6ad93c5bd12231d1e4 + feedback/ok markus@ + + OpenBSD-Commit-ID: 0d93b7a56e31cd06a8bb0d2191d084ce254b0971 -commit cccb011e130cbbac538b1689d10e4a067298df8b -Author: Corinna Vinschen -Date: Thu Aug 11 20:19:35 2022 +0200 +commit 591fed94e66a016acf87f4b7cd416ce812f2abe8 +Author: djm@openbsd.org +Date: Fri Oct 28 00:37:24 2022 +0000 - Revert "check_sk_options: add temporary WinHello workaround" - - Cygwin now comes with libfido2 1.11.0, so this workaround - isn't required anymore. + upstream: factor out public key serialization - This reverts commit 242c044ab111a37aad3b0775727c36a4c5f0102c. + feedback/ok markus@ - Signed-off-by: Corinna Vinschen + OpenBSD-Commit-ID: a3570c4b97290c5662890aea7328d87f55939033 -commit 9468cd7cf9d989dfa2ac20e2a0268ba6e93bfa5a -Author: Corinna Vinschen -Date: Thu Aug 11 20:18:17 2022 +0200 +commit 1e78844ae2b2dc01ba735d5ae740904c57e13685 +Author: djm@openbsd.org +Date: Fri Oct 28 00:36:31 2022 +0000 - fido_dev_is_winhello: return 0, not "false" + upstream: factor out sshkey_equal_public() - "false" is not used anywhere in OpenSSH, so return 0 like - everywhere else. + feedback/ok markus@ - Signed-off-by: Corinna Vinschen + OpenBSD-Commit-ID: 1368ba114cb37732fe6ec3d89c7e6d27ea6fdc94 -commit 730a80609472ee0451c99482d75c9c41f3ebc42d +commit 25de1c01a8b9a2c8ab9b1da22444a03e89c982de Author: djm@openbsd.org -Date: Fri Aug 12 05:20:28 2022 +0000 +Date: Fri Oct 28 00:35:40 2022 +0000 - upstream: sftp-server: support home-directory request + upstream: begin big refactor of sshkey - Add support to the sftp-server for the home-directory extension defined - in draft-ietf-secsh-filexfer-extensions-00. This overlaps a bit with the - existing expand-path@openssh.com, but uses a more official protocol name, - and so is a bit more likely to be implemented by non-OpenSSH clients. + Move keytype data and some of the type-specific code (allocation, + cleanup, etc) out into each key type's implementation. Subsequent + commits will move more, with the goal of having each key-*.c file + owning as much of its keytype's implementation as possible. - From Mike Frysinger, ok dtucker@ + lots of feedback + ok markus@ - OpenBSD-Commit-ID: bfc580d05cc0c817831ae7ecbac4a481c23566ab - -commit 5e820bf79ce3ce99ef7e98b0ab642b0a0a4f396c -Author: Darren Tucker -Date: Fri Aug 12 14:56:55 2022 +1000 - - Replace deprecated ubuntu-18.04 runners with 22.04 + OpenBSD-Commit-ID: 0f2b4334f73914344e9e5b3d33522d41762a57ec -commit 87b0d9c1b789d3ff958ec45df2ac912e24461bae -Author: Darren Tucker -Date: Thu Aug 11 22:48:23 2022 +1000 +commit 445363433ba20b8a3e655b113858c836da46a1cb +Author: djm@openbsd.org +Date: Mon Oct 24 22:43:36 2022 +0000 - Add a timegm implementation from Heimdal via Samba. + upstream: Be more paranoid with host/domain names coming from the - Fixes build on (at least Solaris 10). - -commit d0c4fa58594577994921b593f10037c5282597ca -Author: Darren Tucker -Date: Thu Aug 11 14:23:58 2022 +1000 - - Rerun tests if any .github config file changes. - -commit 113fe6c77ab43769fc61e953d07cb619fd7ea54b -Author: Darren Tucker -Date: Thu Aug 11 13:33:51 2022 +1000 - - Skip hostbased during Valgrind tests. + never write a name with bad characters to a known_hosts file. - Valgrind doesn't let ssh exec ssh-keysign (because it's setuid) so skip - it during the Valgrind based tests. + reported by David Leadbeater, ok deraadt@ - See https://bugs.kde.org/show_bug.cgi?id=119404 for a discussion of this - (ironically there the problematic binary was ssh(1) back when it could - still be setuid). + OpenBSD-Commit-ID: ba9b25fa8b5490b49398471e0c9657b0cbc7a5ad -commit b98a42afb69d60891eb0488935990df6ee571c4d +commit 7190154de2c9fe135f0cc1ad349cb2fa45152b89 Author: djm@openbsd.org -Date: Thu Aug 11 01:57:50 2022 +0000 +Date: Mon Oct 24 21:52:50 2022 +0000 - upstream: add some tests for parse_absolute_time(), including cases + upstream: regress test for unmatched glob characters; fails before - where it is forced to the UTC timezone. bz3468 ok dtucker + previous commit but passes now. bz3488; prodded by dtucker@ - OpenBSD-Regress-ID: ea07ca31c2f3847a38df028ca632763ae44e8759 + OpenBSD-Regress-ID: 0cc5cc9ea4a6fd170dc61b9212f15badaafb3bbd -commit ec1ddb72a146fd66d18df9cd423517453a5d8044 +commit a4821a592456c3add3cd325db433110cdaaa3e5c Author: djm@openbsd.org -Date: Thu Aug 11 01:56:51 2022 +0000 +Date: Mon Oct 24 21:51:55 2022 +0000 - upstream: allow certificate validity intervals, sshsig verification + upstream: when scp(1) is using the SFTP protocol for transport (the - times and authorized_keys expiry-time options to accept dates in the UTC time - zone in addition to the default of interpreting them in the system time zone. - YYYYMMDD and YYMMDDHHMM[SS] dates/times will be interpreted as UTC if - suffixed with a 'Z' character. + default), better match scp/rcp's handling of globs that don't match the + globbed characters but do match literally (e.g. trying to transfer + "foo.[1]"). - Also allow certificate validity intervals to be specified in raw - seconds-since-epoch as hex value, e.g. -V 0x1234:0x4567890. This - is intended for use by regress tests and other tools that call - ssh-keygen as part of a CA workflow. + Previously scp(1) in SFTP mode would not match these pathnames but + legacy scp/rcp mode would. - bz3468 ok dtucker + Reported by Michael Yagliyan in bz3488; ok dtucker@ - OpenBSD-Commit-ID: 454db1cdffa9fa346aea5211223a2ce0588dfe13 - -commit 4df246ec75751da7eb925e1880498300d8bda187 -Author: Darren Tucker -Date: Thu Aug 11 10:23:55 2022 +1000 - - Fix conditional for running hostbased tests. - -commit 2580916e48721802220c61ce9e0df1297c00bc07 -Author: Damien Miller -Date: Thu Aug 11 08:58:28 2022 +1000 - - fix SANDBOX_SECCOMP_FILTER_DEBUG - -commit fdbd5bf507fc271ff813714fab8a72ff2c6cb5ca -Author: Darren Tucker -Date: Wed Aug 10 17:35:52 2022 +1000 - - Test hostbased auth on github runners. + OpenBSD-Commit-ID: d8a3773f53015ba811fddba7473769a2fd343e11 -commit 7e2f51940ba48a1c0fae1107801ea643fa83c971 -Author: Darren Tucker -Date: Wed Aug 10 17:25:24 2022 +1000 +commit 18376847b8043ba967eabbe23692ef74c9a3fddc +Author: jsg@openbsd.org +Date: Thu Oct 13 09:09:28 2022 +0000 - Rename our getentropy to prevent possible loops. + upstream: use correct type with sizeof ok djm@ - Since arc4random seeds from getentropy, and we use OpenSSL for that - if enabled, there's the possibility that if we build on a system that - does not have getentropy then run on a system that does have it, then - OpenSSL could end up calling our getentropy and getting stuck in a loop. - Pointed out by deraadt@, ok djm@ - -commit 7a01f61be8d0aca0e975e7417f26371495fe7674 -Author: Darren Tucker -Date: Mon Aug 8 12:17:04 2022 +1000 - - Actually put HAVE_STDINT_H around the stdint.h. + OpenBSD-Commit-ID: d6c882c2e8a42ff831a5b3cbc2c961ecb2dd6143 -commit 73541f29f0b50480da6c20dceb7a7191bd8ea7d3 -Author: Darren Tucker -Date: Mon Aug 8 10:30:34 2022 +1000 +commit 4a4883664d6b4e9e4e459a8cdc16bd8d4b735de9 +Author: jmc@openbsd.org +Date: Fri Oct 7 06:00:58 2022 +0000 - Give unused param a name. + upstream: ssh-agent.1: - use Nm not Xr for self-ref - while here, - Fixes builds on platforms that do have fido2 but don't have - fido_dev_is_winhello. + wrap a long line + + ssh-agent.c: + - add -O to usage() + + OpenBSD-Commit-ID: 855dac4695cef22e96d69c53436496bc408ca389 -commit 2a108c0ea960381bd9b14ee0d84e818a23df4482 +commit 9fd2441113fce2a83fc7470968c3b27809cc7f10 Author: djm@openbsd.org -Date: Fri Aug 5 05:01:40 2022 +0000 +Date: Fri Oct 7 04:06:26 2022 +0000 - upstream: don't prompt for FIDO passphrase before attempting to enroll - - the credential, just let the enroll operating fail and we'll attempt to get a - PIN anyway. Might avoid some unneccessary PIN prompts. + upstream: document "-O no-restrict-websafe"; spotted by Ross L - Part of GHPR#302 from Corinna Vinschen; ok dtucker@ + Richardson - OpenBSD-Commit-ID: bd5342ffc353ee37d39617906867c305564d1ce2 + OpenBSD-Commit-ID: fe9eaa50237693a14ebe5b5614bf32a02145fe8b -commit 2886975c0ad9244e60dc5e4be34fde3aa573a4b5 -Author: Corinna Vinschen -Date: Fri Feb 11 14:33:41 2022 +0100 +commit 614252b05d70f798a0929b1cd3d213030ad4d007 +Author: Darren Tucker +Date: Tue Oct 18 06:29:16 2022 +1100 - sk_sign: set FIDO2 uv attribute explicitely for WinHello - - WinHello via libfido2 performs user verification by default. - However, if we stick to that, there's no way to differentiate - between keys created with or without "-O verify-required". - Set FIDO2 uv attribute explicitely to FIDO_OPT_FALSE, then check - if user verification has been requested. - - Signed-off-by: Corinna Vinschen + OpenSSL dev branch now identifies as 3.2.0. -commit 242c044ab111a37aad3b0775727c36a4c5f0102c -Author: Corinna Vinschen -Date: Tue Feb 15 11:28:08 2022 +0100 +commit 195e5a65fd793a738ea8451ebfdd1919db5aff3e +Author: Damien Miller +Date: Mon Oct 17 09:41:47 2022 +1100 - check_sk_options: add temporary WinHello workaround - - Up to libfido 1.10.0, WinHello advertises "clientPin" rather - than "uv" capability. This is fixed in 1.11.0. For the time - being, workaround it here. + revert c64b62338b4 and guard POLL* defines instead - Signed-off-by: Corinna Vinschen + c64b62338b4 broke OSX builds, which do have poll.h but lack ppoll(2) + Spotted by dtucker -commit 78774c08cc4b4997382975b0f414a86e06b6780c -Author: Corinna Vinschen -Date: Thu Feb 10 18:19:29 2022 +0100 +commit bc2e480d99613bd59720edae244d1764636544c4 +Author: Damien Miller +Date: Fri Oct 14 14:52:22 2022 +1100 - compat code for fido_dev_is_winhello() - - Signed-off-by: Corinna Vinschen + undef _get{short,long} before redefining -commit 3d3a932a019aedfb891e0779bb4990cd5008a390 -Author: Darren Tucker -Date: Fri Aug 5 13:12:27 2022 +1000 +commit 5eb796a369c64f18d55a6ae9b1fa9b35eea237fb +Author: Harmen Stoppels +Date: Thu Oct 13 16:08:46 2022 +0200 - Factor out getrnd() and rename to getentropy(). + Fix snprintf configure test for clang 15 - Factor out the arc4random seeding into its own file and change the - interface to match getentropy. Use native getentropy if available. - This will make it easier to resync OpenBSD changes to arc4random. - Prompted by bz#3467, ok djm@. + Clang 15 -Wimplicit-int defaults to an error in C99 mode and above. + A handful of tests have "main(..." and not "int main(..." which caused + the tests to produce incorrect results. -commit 9385d277b787403be9dfcb229cf372202496d2f3 -Author: Darren Tucker -Date: Thu Aug 4 18:55:48 2022 +1000 +commit c64b62338b46ffa08839f05f21ad69fa6234dc17 +Author: Damien Miller +Date: Mon Oct 10 12:32:43 2022 +1100 - Include CHANNEL and FIDO2 libs in configure output + skip bsd-poll.h if poll.h found; ok dtucker -commit 141535b904b6fba01724444f38193a8599201f82 +commit 5ee2b8ccfcf4b606f450eb0ff2305e311f68b0be Author: djm@openbsd.org -Date: Mon Aug 1 11:09:26 2022 +0000 +Date: Thu Oct 6 22:42:37 2022 +0000 - upstream: avoid double-free in error path introduced in r1.70; report + upstream: honour user's umask if it is more restrictive then the ssh - and fix based on GHPR#332 by v-rzh ok dtucker@ + default (022); based on patch from Alex Henrie, ok dtucker@ deraadt@ - OpenBSD-Commit-ID: 3d21aa127b1f37cfc5bdc21461db369a663a951f - -commit dba7099ffcba3ca07b3946f017ba6a4c3158d9b1 -Author: Darren Tucker -Date: Wed Jul 27 18:40:12 2022 +1000 - - Remove deprecated MacOS 10.15 runners. + OpenBSD-Commit-ID: fe1b9e15fc9a4f49fc338e848ce14d8727abe82d -commit 722a56439aa5972c830e4a9a724cf52aff4a950a +commit a75cffc2700cebd3e2dd9093f7f7388d2be95cb7 Author: Darren Tucker -Date: Wed Jul 27 18:31:14 2022 +1000 +Date: Fri Oct 7 03:54:56 2022 +1100 - Move stale-configure check as early as possible. + Add LibreSSL 3.6.0 to test suite. - We added a check in Makefile to catch the case where configure needs to - be rebuilt, however this did not happen until a build was attempted in - which case all of the work done by configure was wasted. Move this check - to the start of configure to catch it as early as possible. ok djm@ + While there, bump OpenSSL to latest 1.1.1q release. -commit 099d6b56288b421ba38531d26dc1bd6bb685e311 +commit fcc0f0c0e96a30076683fea9a7c9eedc72931742 Author: Darren Tucker -Date: Fri Jul 22 10:47:19 2022 +1000 +Date: Thu Oct 6 21:18:16 2022 +1100 - Move libcrypto into CHANNELLIBS. - - This will result in sftp, sftp-server and scp no longer being linked - against libcrypto. ok djm@ + Add 9.1 branch to CI status page. -commit 1bdf86725b77733bb5f17c54888b88a10b2f6538 +commit ef211eee63821d894a8bf81f22bfba9f6899d0fe Author: Darren Tucker -Date: Fri Jul 22 10:45:47 2022 +1000 +Date: Tue Oct 4 23:20:23 2022 +1100 - Remove seed_rng calls from scp, sftp, sftp-server. + Test commits to all branches of portable. - These binaries don't use OpenSSL's random functions. The next step - will be to stop linking them against libcrypto. ok djm@ + Only test OpenBSD upstream on commits to master since that's what it + tracks. -commit d73f77b8cb9b422f1ac4facee7890aa10ff2bc21 -Author: Darren Tucker -Date: Fri Jul 22 09:51:51 2022 +1000 +commit fe646de03cafb6593ff4e4954bca9ec4b4b753a8 +Author: Damien Miller +Date: Wed Oct 5 03:47:26 2022 +1100 - Group libcrypto and PRNGD checks together. - - They're related more than the libcrypt or libiaf checks which are - currently between them. ok djm@ + whitespace at EOL -commit f117e372b3f42f2fbdb0a578d063b2609ab58e1f -Author: Darren Tucker -Date: Fri Jul 22 09:24:45 2022 +1000 +commit a6e1852d10c63a830196e82168dadd957aaf28ec +Author: Damien Miller +Date: Wed Oct 5 03:40:01 2022 +1100 - Do not link scp, sftp and sftp-server w/ zlib. - - Some of our binaries (eg sftp, sftp-server, scp) do not interact with - the channels code and thus do use libraries such as zlib and libcrypto - although they are linked with them. This adds a CHANNELLIBS and starts - by moving zlib into it, which means the aformentioned binaries are no - longer linked against zlib. ok djm@ + mention libfido2 autodetection -commit 800c2483e68db38bd1566ff69677124be974aceb -Author: Darren Tucker -Date: Mon Jul 25 21:49:04 2022 +1000 +commit 7360c2c206f33d309edbaf64036c96fadf74d640 +Author: Damien Miller +Date: Wed Oct 5 03:37:36 2022 +1100 - Remove workarounds for OpenSSL missing AES-CTR. + remove mention of --with-security-key-builtin - We have some compatibility hacks that were added to support OpenSSL - versions that do not support AES CTR mode. Since that time, however, - the minimum OpenSSL version that we support has moved to 1.0.1 which - *does* have CTR, so this is no longer needed. ok djm@ + it is enabled by default when libfido2 is installed -commit b7c56b65c12f51fe0dbae798d19c8f58224a5d95 -Author: Darren Tucker -Date: Mon Jul 25 21:43:00 2022 +1000 +commit 0ffb46f2ee2ffcc4daf45ee679e484da8fcf338c +Author: Damien Miller +Date: Tue Oct 4 01:51:42 2022 +1100 - Remove workarounds for OpenSSL missing AES-GCM. - - We have some compatibility hacks that were added to support OpenSSL - versions that do not support AES GCM mode. Since that time, however, - the minimum OpenSSL version that we support has moved to 1.0.1 which - *does* have GCM, so this is no longer needed. ok djm@ + update .depend -commit 5a4a9f7a968fbf92cc1eac519c65638e79ae9f1f -Author: dtucker@openbsd.org -Date: Mon Jul 25 07:12:45 2022 +0000 +commit 657e676ff696c7bb787bffb0e249ea1be3b474e1 +Author: Damien Miller +Date: Tue Oct 4 01:45:52 2022 +1100 - upstream: Restore missing "!" in TEST_SSH_ELAPSED_TIMES test. + update release notes URL + +commit f059da2b29840c0f048448809c317ce2ae014da7 +Author: Damien Miller +Date: Tue Oct 4 01:45:41 2022 +1100 + + crank versions in RPM spec files + +commit b51f3f172d87cbdb80ca4eb7b2149e56a7647557 +Author: djm@openbsd.org +Date: Mon Sep 26 22:18:40 2022 +0000 + + upstream: openssh-9.1 - OpenBSD-Regress-ID: 38783f9676ec348c5a792caecee9a16e354b37b0 + OpenBSD-Commit-ID: 5a467b2ee81da01a86adf1ad93b62b1728494e56 -commit 0ff886be132299386cc29d87c2aa16ff68a1aa08 +commit 4cf8d0c0f3030f594a238bab21a0695735515487 Author: dtucker@openbsd.org -Date: Sun Jul 24 23:29:10 2022 +0000 +Date: Wed Sep 21 22:26:50 2022 +0000 - upstream: Test TEST_SSH_ELAPSED_TIMES for empty string not - - executable. No-op on most platforms but should prevent warnings in -portable - on systems that don't have 'date %s'. + upstream: Fix typo. From AlexanderStohr via github PR#343. - OpenBSD-Regress-ID: e39d79867b8065e33d0c5926fa1a31f85659d2a4 + OpenBSD-Commit-ID: a134c9b4039e48803fc6a87f955b0f4a03181497 -commit f69319ad8ad1dd50f90bbcf5912e11cc8ed3e037 -Author: Darren Tucker -Date: Sat Jul 23 14:38:22 2022 +1000 +commit 8179fed3264d5919899900ed8881d5f9bb57ca33 +Author: djm@openbsd.org +Date: Mon Sep 19 21:39:16 2022 +0000 - Convert "have_prog" function into "which". + upstream: add RequiredRSASize to the list of keywords accepted by - "which" and its behaviour is not standardized, so convert the existing - have_prog function into "which" so we can rely on it being available - and what its semantics are. Add a have_prog wrapper that maintains the - existing behaviour. + -o; spotted by jmc@ + + OpenBSD-Commit-ID: fe871408cf6f9d3699afeda876f8adbac86a035e -commit ea7ecc2c3ae39fdf5c6ad97b7bc0b47a98847f43 -Author: Darren Tucker -Date: Sat Jul 23 14:36:38 2022 +1000 +commit 5f954929e9f173dd1e279e07d0e8b14fa845814d +Author: Damien Miller +Date: Mon Sep 19 20:59:34 2022 +1000 - Skip scp3 test if there's no scp on remote path. + no need for glob.h here - scp -3 ends up using the scp that's in the remote path and will fail if - one is not available. Based on a patch from rapier at psc.edu. + it also causes portability problems -commit c46f6fed419167c1671e4227459e108036c760f8 +commit 03d94a47207d58b3db37eba4f87eb6ae5a63168a Author: Damien Miller -Date: Wed Jul 20 13:39:14 2022 +1000 +Date: Mon Sep 19 20:59:04 2022 +1000 - crank SSH_SK_VERSION_MAJOR in sk-dummy.so + avoid Wuninitialized false positive in gcc-12ish -commit f208e3b9ffb5ee76cf9c95df7ff967adc7f51c7d +commit 9d952529113831fb3071ab6e408d2726fd72e771 Author: djm@openbsd.org -Date: Wed Jul 20 03:33:22 2022 +0000 +Date: Mon Sep 19 10:46:00 2022 +0000 - upstream: ssh-keygen: fix touch prompt, pin retries; + upstream: use users-groups-by-id@openssh.com sftp-server extension - part of GHPR329 from Pedro Martelletto + (when available) to fill in user/group names for directory listings. + Implement a client-side cache of see uid/gid=>user/group names. ok markus@ - OpenBSD-Commit-ID: 75d1005bd2ef8f29fa834c90d2684e73556fffe8 + OpenBSD-Commit-ID: f239aeeadfa925a37ceee36ee8b256b8ccf4466e -commit 8638a2ce7e90c8a51d9af3143404282126c524f8 +commit 8ff680368b0bccf88ae85d4c99de69387fbad7a6 Author: djm@openbsd.org -Date: Wed Jul 20 03:31:42 2022 +0000 +Date: Mon Sep 19 10:43:12 2022 +0000 - upstream: sk-usbhid: preserve error code returned by key_lookup() - - it conveys useful information, such as the supplied pin being wrong. + upstream: sftp client library support for - Part of GHPR329 from Pedro Martelletto + users-groups-by-id@openssh.com; ok markus@ - OpenBSD-Commit-ID: c0647eb9290f793add363d81378439b273756c1b + OpenBSD-Commit-ID: ddb2f33a2da6349a9a89a8b5bcb9ca7c999394de -commit 9ab929ca2d820520327b41929372bcb9e261534c +commit 488f6e1c582212c2374a4bf8cd1b703d2e70fb8b Author: djm@openbsd.org -Date: Wed Jul 20 03:29:14 2022 +0000 +Date: Mon Sep 19 10:41:58 2022 +0000 - upstream: when enrolling a resident key on a security token, check - - if a credential with matching application and user ID strings already exists. - if so, prompt the user for confirmation before overwriting the credential. - - patch from Pedro Martelletto via GHPR329 + upstream: extend sftp-common.c:extend ls_file() to support supplied - NB. cranks SSH_SK_VERSION_MAJOR, so any third-party FIDO middleware - implementations will need to adjust + user/group names; ok markus@ - OpenBSD-Commit-ID: e45e9f1bf2b2f32d9850669e7a8dbd64acc5fca4 + OpenBSD-Commit-ID: c70c70498b1fdcf158531117e405b6245863bfb0 -commit 5bcfc788b38d5b64e4c347bdc04bd9a01bbc36da +commit 74b77f7497dba3a58315c8f308883de448078057 Author: djm@openbsd.org -Date: Wed Jul 20 03:13:04 2022 +0000 +Date: Mon Sep 19 10:40:52 2022 +0000 - upstream: pull passphrase reading and confirmation into a separate + upstream: sftp-server(8): add a "users-groups-by-id@openssh.com" - function so it can be used for FIDO2 PINs; no functional change + extension request that allows the client to obtain user/group names that + correspond to a set of uids/gids. - OpenBSD-Commit-ID: bf34f76b8283cc1d3f54633e0d4f13613d87bb2f + Will be used to make directory listings more useful and consistent + in sftp(1). + + ok markus@ + + OpenBSD-Commit-ID: 7ebabde0bcb95ef949c4840fe89e697e30df47d3 -commit eb679e2959bdb15454eb94751930eb4c9110da94 -Author: Darren Tucker -Date: Fri Jul 15 21:31:48 2022 +1000 +commit 231a346c0c67cc7ca098360f9a554fa7d4f1eddb +Author: djm@openbsd.org +Date: Mon Sep 19 08:49:50 2022 +0000 - Move vmshutdown to first step. + upstream: better debugging for connect_next() - If a previous run on a physical runner has failed to clean up, the next - run will fail because it'll try to check out the code to a broken - directory mount. Make cleanup the first step. + OpenBSD-Commit-ID: d16a307a0711499c971807f324484ed3a6036640 -commit 46b91b70ff3cb9c147e2875ef5dc609fd64c0c96 -Author: Darren Tucker -Date: Fri Jul 15 20:25:27 2022 +1000 +commit 1875042c52a3b950ae5963c9ca3774a4cc7f0380 +Author: djm@openbsd.org +Date: Sat Sep 17 10:34:29 2022 +0000 - Rename bbone test target to ARM. + upstream: Add RequiredRSASize for sshd(8); RSA keys that fall + + beneath this limit will be ignored for user and host-based authentication. + + Feedback deraadt@ ok markus@ + + OpenBSD-Commit-ID: 187931dfc19d51873df5930a04f2d972adf1f7f1 -commit 751d22cdeffed9fe921db78eedc32a29f9e80510 -Author: Darren Tucker -Date: Fri Jul 15 13:37:29 2022 +1000 +commit 54b333d12e55e6560b328c737d514ff3511f1afd +Author: djm@openbsd.org +Date: Sat Sep 17 10:33:18 2022 +0000 - Add AUDIT_ARCH_PPC to supported seccomp arches. + upstream: add a RequiredRSASize for checking RSA key length in - Patch from dries.deschout at dodeco.eu. + ssh(1). User authentication keys that fall beneath this limit will be + ignored. If a host presents a host key beneath this limit then the connection + will be terminated (unfortunately there are no fallbacks in the protocol for + host authentication). + + feedback deraadt, Dmitry Belyavskiy; ok markus@ + + OpenBSD-Commit-ID: 430e339b2a79fa9ecc63f2837b06fdd88a7da13a -commit a061792a6e8d235fc40a9b5d4c22a1762bb75a7b -Author: Darren Tucker -Date: Thu Jul 14 19:20:24 2022 +1000 +commit 07d8771bacfefbcfb37fa8a6dc6103bcc097e0ab +Author: djm@openbsd.org +Date: Sat Sep 17 10:30:45 2022 +0000 - Remove unintended changes. + upstream: Add a sshkey_check_rsa_length() call for checking the - I inadvertently included a couple of local changes with the OpenSSL - 3.0.4 change. Revert, anything that should be there will be committed - separately. + length of an RSA key; ok markus@ + + OpenBSD-Commit-ID: de77cd5b11594297eda82edc594b0d32b8535134 -commit 527cb43fa1b4e55df661feabbac51b8e608b6519 -Author: Darren Tucker -Date: Thu Jul 14 11:22:08 2022 +1000 +commit 3991a0cf947cf3ae0f0373bcec5a90e86a7152f5 +Author: djm@openbsd.org +Date: Sat Sep 17 10:11:29 2022 +0000 - Return ERANGE from getcwd() if buffer size is 1. + upstream: actually hook up restrict_websafe; the command-line flag - If getcwd() is supplied a buffer size of exactly 1 and a path of "/", it - could result in a nul byte being written out of array bounds. POSIX says - it should return ERANGE if the path will not fit in the available buffer - (with terminating nul). 1 byte cannot fit any possible path with its nul, - so immediately return ERANGE in that case. + was never actually used. Spotted by Matthew Garrett - OpenSSH never uses getcwd() with this buffer size, and all current - (and even quite old) platforms that we are currently known to work - on have a native getcwd() so this code is not used on those anyway. - Reported by Qualys, ok djm@ + OpenBSD-Commit-ID: 0b363518ac4c2819dbaa3dfad4028633ab9cdff1 -commit 36857fefd8849c4b0e877cfd9d1eb22f79b76650 -Author: Darren Tucker -Date: Thu Jul 14 10:02:35 2022 +1000 +commit 30b2a7e4291fb9e357f80a237931ff008d686d3b +Author: djm@openbsd.org +Date: Fri Sep 16 06:55:37 2022 +0000 - Split README.platform into its own line. + upstream: correct error value - README.platform has general platform-specific information, having it - following text about FIDO2 on the same line could imply that it only - has information about FIDO2. + OpenBSD-Commit-ID: 780efcbad76281f11f14b2a5ff04eb6db3dfdad4 -commit 00a496c6c14f2d41f2a9365714d494dd5f3aac9f -Author: Darren Tucker -Date: Thu Jul 14 09:56:01 2022 +1000 +commit ac1ec9545947d9f9657259f55d04cb49d3a94c8a +Author: djm@openbsd.org +Date: Fri Sep 16 03:33:14 2022 +0000 - Clarify README.md text. + upstream: sftp: Be a bit more clever about completions - Clarify the text about the implications of building without OpenSSL, and - prefix the "configure --help" example command with a "./" so it's likely - to work as-is in more shells. From bz#3461. - -commit f40b52f21fbc52eb513279168a49d3285c65256c -Author: Darren Tucker -Date: Tue Jul 12 19:48:44 2022 +1000 - - Remove special casing of crypt(). + There are commands (e.g. "get" or "put") that accept two + arguments, a local path and a remote path. However, the way + current completion is written doesn't take this distinction into + account and always completes remote or local paths. - Configure goes to some lengths to pick crypt() from either libcrypt - or OpenSSL's libcrypto because they can more or less featureful (eg - supporting md5-style passwords). + By expanding CMD struct and "cmds" array this distinction can be + reflected and with small adjustment to completer code the correct + path can be completed. - OpenSSL removed its crypt() interface in 2002: - https://github.com/openssl/openssl/commit/69deec58 so these hijinks - should no longer be necessary. This also only links sshd with libcrypt - which is the only thing that needs it. ok djm@ - -commit 76f4e48631d7b09fb243b47d7b393d100d3741b7 -Author: Darren Tucker -Date: Wed Jul 13 13:17:47 2022 +1000 - - Only refuse to use OpenSSL 3.0.4 on x86_64. + By Michal Privoznik, ok dtucker@ - The potential RCE only impacts x86_64, so only refuse to use it if we're - targetting a potentially impacted architecture. ok djm@ + OpenBSD-Commit-ID: 1396d921c4eb1befd531f5c4a8ab47e7a74b610b -commit e75bbc1d88491fa85e61b2cc8783d4bbd00cd131 -Author: Darren Tucker -Date: Tue Jul 12 14:37:15 2022 +1000 +commit 590db83384f9d99fc51c84505792d26d1ef60df9 +Author: djm@openbsd.org +Date: Fri Sep 16 03:13:34 2022 +0000 - Capture stderr output from configure. + upstream: sftp: Don't attempt to complete arguments for + + non-existent commands + + If user entered a non-existent command (e.g. because they made a + typo) there is no point in trying to complete its arguments. Skip + calling complete_match() if that's the case. + + From Michal Privoznik + + OpenBSD-Commit-ID: cf39c811a68cde2aeb98fc85addea4000ef6b07a -commit d9eaea4bea6271bcee6a2b9428f1271faf2d033b -Author: Darren Tucker -Date: Tue Jul 12 12:54:49 2022 +1000 +commit ff9809fdfd1d9a91067bb14a77d176002edb153c +Author: djm@openbsd.org +Date: Wed Sep 14 00:14:37 2022 +0000 - Refuse to use OpenSSL 3.0.4 due to potential RCE. + upstream: sk_enroll: never drop SSH_SK_USER_VERIFICATION_REQD flag - OpenSSL has a potential RCE in its RSA implementation (CVE-2022-2274) - so refuse to use that specific version. + from response + + Now that all FIDO signing calls attempt first without PIN and then + fall back to trying PIN only if that attempt fails, we can remove the + hack^wtrick that removed the UV flag from the keys returned during + enroll. + + By Corinna Vinschen + + OpenBSD-Commit-ID: 684517608c8491503bf80cd175425f0178d91d7f -commit fb2f3a61bf3d28fff285524535f7ffcd177c9235 -Author: Darren Tucker -Date: Tue Jul 12 12:54:24 2022 +1000 +commit 940dc10729cb5a95b7ee82c10184e2b9621c8a1d +Author: djm@openbsd.org +Date: Wed Sep 14 00:13:13 2022 +0000 - Move unset to before we set anything. + upstream: a little extra debugging + + OpenBSD-Commit-ID: edf1601c1d0905f6da4c713f4d9cecc7d1c0295a -commit c483a5c0fb8e8b8915fad85c5f6113386a4341ca -Author: Darren Tucker -Date: Wed Jul 6 11:52:54 2022 +1000 +commit 4b5f91cb959358141181b934156513fcb8a6c1e3 +Author: djm@openbsd.org +Date: Wed Sep 14 00:02:03 2022 +0000 - Test against openssl-3.0.5. + upstream: ssh-agent: attempt FIDO key signing without PIN and use + + the error to determine whether a PIN is required and prompt only if + necessary. from Corinna Vinschen + + OpenBSD-Commit-ID: dd6be6a0b7148608e834ee737c3479b3270b00dd -commit 669a56bcfe73f8b985f2bba476ba834d55253acf -Author: Darren Tucker -Date: Tue Jul 5 18:35:53 2022 +1000 +commit 113523bf0bc33600b07ebb083572c8c346b6fdf4 +Author: jmc@openbsd.org +Date: Sun Sep 11 06:38:11 2022 +0000 - Update sanitizer test targets: + upstream: .Li -> .Vt where appropriate; from josiah frentsos, - - remove clang-sanitize-memory for now. It takes so long that the test - times out. - - add gcc sanitize-address and sanitize-undefined test targets. + tweaked by schwarze + + ok schwarze + + OpenBSD-Commit-ID: 565046e3ce68b46c2f440a93d67c2a92726de8ed -commit 48cc68b69118b3ce8d07fd4f82e00d58667d5379 -Author: Darren Tucker -Date: Tue Jul 5 16:23:28 2022 +1000 +commit 86af013b56cecb5ee58ae0bd9d495cd586fc5918 +Author: jsg@openbsd.org +Date: Sat Sep 10 08:50:53 2022 +0000 - Add GCC address sanitizer build/test. + upstream: fix repeated words ok miod@ jmc@ + + OpenBSD-Commit-ID: 6765daefe26a6b648cc15cadbbe337596af709b7 -commit 55c60bdd39b82457e92efa77da8d16cfa6a49391 -Author: Darren Tucker -Date: Tue Jul 5 12:02:33 2022 +1000 +commit 0ba39b93b326a7d5dfab776cc9b9d326161a9b16 +Author: djm@openbsd.org +Date: Fri Sep 9 03:31:42 2022 +0000 - Move sanitizer logs into regress for collection. + upstream: notifier_complete(NULL, ...) is a noop, so no need to test + + that ctx!=NULL; from Corinna Vinschen + + OpenBSD-Commit-ID: ade2f2e9cc519d01a586800c25621d910bce384a -commit 35ef2b3b6ef198f8574904a45780487ec2f17858 -Author: dtucker@openbsd.org -Date: Mon Jul 4 09:10:31 2022 +0000 +commit be197635329feb839865fdc738e34e24afd1fca8 +Author: Sam James +Date: Thu Sep 8 02:49:29 2022 +0100 - upstream: Add TEST_REGRESS_CACHE_DIR. - - If set, it is used to cache regress test names that have succeeded and - skip those on a re-run. + openbsd-compat/bsd-asprintf: add include for vsnprintf - OpenBSD-Regress-ID: a7570dd29a58df59f2cca647c3c2ec989b49f247 + Fixes the following build failure with Clang 15 on musl: + ``` + bsd-asprintf.c:51:8: error: call to undeclared library function 'vsnprintf' with type 'int (char *, unsigned long, const char *, struct __va_list_tag *)'; ISO C99 and laterclang -O2 -pipe -fdiagnostics-color=always -frecord-gcc-switches -pipe -Wunknown-warning-option -Qunused-arguments -Wall -Wpointer-arith -Wuninitialized -Wsign-compare -Wformat-security -Wsizeof-pointer-memaccess -Wno-pointer-sign -Wno-unused-result -Wmisleading-indentation -Wbitwise-instead-of-logical -fno-strict-aliasing -mretpoline -ftrapv -fzero-call-used-regs=all -fno-builtin-memset -fstack-protector-strong -fPIE -I. -I. -D_XOPEN_SOURCE=600 -D_BSD_SOURCE -D_DEFAULT_SOURCE -DSSHDIR=\"/etc/ssh\" -D_PATH_SSH_PROGRAM=\"/usr/bin/ssh\" -D_PATH_SSH_ASKPASS_DEFAULT=\"/usr/lib/misc/ssh-askpass\" -D_PATH_SFTP_SERVER=\"/usr/lib/misc/sftp-server\" -D_PATH_SSH_KEY_SIGN=\"/usr/lib/misc/ssh-keysign\" -D_PATH_SSH_PKCS11_HELPER=\"/usr/lib/misc/ssh-pkcs11-helper\" -D_PATH_SSH_SK_HELPER=\"/usr/lib/misc/ssh-sk-helper\" -D_PATH_SSH_PIDDIR=\"/run\" -D_PATH_PRIVSEP_CHROOT_DIR=\"/var/empty\" -DHAVE_CONFIG_H -c cipher-aes.c -o cipher-aes.o + do not support + implicit function declarations [-Wimplicit-function-declaration] + ret = vsnprintf(string, INIT_SZ, fmt, ap2); + ^ + bsd-asprintf.c:51:8: note: include the header or explicitly provide a declaration for 'vsnprintf' + 1 error generated. + ``` -commit 7394ed80c4de8b228a43c8956cf2fa1b9c6b2622 +commit 6cb6f660bb35f77a0456dd2581ddf39c29398a5e Author: Darren Tucker -Date: Sun Jul 3 21:46:44 2022 +1000 +Date: Fri Sep 2 16:43:27 2022 +1000 - Add clang sanitizer tests. + Remove DEF_WEAK, it's already in defines.h. -commit bfce0e66b6017a9bfab450b9dc7d4b16f90de817 +commit ce39e7d8b70c4726defde5d3bc4cb7d40d131153 Author: Darren Tucker -Date: Sun Jul 3 18:14:09 2022 +1000 +Date: Fri Sep 2 14:28:14 2022 +1000 - Skip all rlimit tests when sandboxing disabled. + Resync arc4random with OpenBSD. - The rlimit tests can hang when being run with some compiler sanitizers - so skip all of them if sandbox=no. + This brings us up to current, including djm's random-reseeding change, + as prompted by logan at cyberstorm.mu in bz#3467. It brings the + platform-specific hooks from LibreSSL Portable, simplified to match our + use case. ok djm@. -commit 6208d611520f9ea94d5369f9da404b709930029d +commit beaddde26f30e2195b8aa4f3193970e140e17305 Author: Darren Tucker -Date: Sun Jul 3 17:54:49 2022 +1000 +Date: Fri Sep 2 14:20:04 2022 +1000 - Move checks for pollfd.fd and nfds_t. + Move OPENBSD ORIGINAL marker. - Move the checks for struct pollfd.fd and nfds_t to before the sandboxing - checks. This groups all the sandbox checks together so we can skip them - all when sandboxing is disabled. + Putting this after the copyright statement (which doesn't change) + instead of before the version identifier (which does) prevents merge + conflicts when resyncing changes. -commit 322964f8f2e9c321e77ebae1e4d2cd0ccc5c5a0b -Author: dtucker@openbsd.org -Date: Fri Jul 1 05:08:23 2022 +0000 +commit c83e467ead67a8cb48ef4bec8085d6fb880a2ff4 +Author: Darren Tucker +Date: Fri Sep 2 14:17:28 2022 +1000 - upstream: Remove leftover line. - - Remove extra line leftover from merge conflict. ok djm@ + Remove arc4random_uniform from arc4random.c - OpenBSD-Commit-ID: 460e2290875d7ae64971a7e669c244b1d1c0ae2e + This was previously moved into its own file (matching OpenBSD) which + prematurely committed in commit 73541f2. -commit 7ec81daad0e03a64e8d91c5590960c48c1a899a3 +commit 5f45c2395c60865e59fa44152ff1d003a128c5bc Author: djm@openbsd.org -Date: Fri Jul 1 04:45:50 2022 +0000 +Date: Fri Sep 2 04:20:02 2022 +0000 - upstream: use consistent field names (s/char/byte) + upstream: sk-usbhid: fix key_lookup() on tokens with built-in UV - in format description + explicitly test whether the token performs built-in UV (e.g. biometric + tokens) and enable UV in that case. From Pedro Martelletto via GHPR#388 - OpenBSD-Commit-ID: 3de33572733ee7fcfd7db33d37db23d2280254f0 + OpenBSD-Commit-ID: 007eb7e387d27cf3029ab06b88224e03eca62ccd -commit 32e82a392d9f263485effdd606ff5862d289a4a0 +commit 03277a4aa49b80af541a3e691f264c0c0d8f9cec Author: Darren Tucker -Date: Fri Jul 1 13:55:19 2022 +1000 +Date: Wed Aug 31 20:26:30 2022 +1000 - Skip select+rlimit check if sandboxing is disabled - - It's not needed in that case, and the test can fail when being built - with some compiler memory sanitizer flags. bz#3441 + Move sftp from valgrind-2 to 3 to rebalance. -commit 4be7184ebe2a2ccef175983517a35ee06766e1b4 +commit fcf5365da69c516817321ba89c3a91df98d098df Author: djm@openbsd.org -Date: Fri Jul 1 03:52:57 2022 +0000 +Date: Wed Aug 31 02:56:40 2022 +0000 - upstream: bump up loglevel from debug to info when unable to open - - authorized keys/principals file for errno != ENOENT; bz2042 ok dtucker + upstream: whitespace - OpenBSD-Commit-ID: e79aa550d91ade6a80f081bda689da24c086d66b + OpenBSD-Commit-ID: c2bcbf93610d3d62ed206cdf9bf9ff98c6aaf232 -commit 6c31ba10e97b6953c4f325f526f3e846dfea647a -Author: dtucker@openbsd.org -Date: Fri Jul 1 03:39:44 2022 +0000 +commit e60136a3d7a223dd8e84ba8a6895bc3142360993 +Author: Damien Miller +Date: Mon Aug 29 13:27:45 2022 +1000 - upstream: Don't leak the strings allocated by order_hostkeyalgs() - - and list_hostkey_types() that are passed to compat_pkalg_proposal(). Part of - github PR#324 from ZoltanFridrich, ok djm@ - - This is a roll-forward of the previous rollback now that the required - changes in compat.c have been done. - - OpenBSD-Commit-ID: c7cd93730b3b9f53cdad3ae32462922834ef73eb + additional keys -commit 486c4dc3b83b4b67d663fb0fa62bc24138ec3946 -Author: dtucker@openbsd.org -Date: Fri Jul 1 03:35:45 2022 +0000 +commit 2b02dcb505288c462d1b5dd1ac04e603d01340eb +Author: Damien Miller +Date: Mon Aug 29 13:23:43 2022 +1000 - upstream: Always return allocated strings from the kex filtering so + cross-sign allowed_signers with PGP key - that we can free them later. Fix one leak in compat_kex_proposal. Based on - github PR#324 from ZoltanFridrich with some simplications by me. ok djm@ + Provides continuity of trust from legacy PGP release key to + the SSHSIG signing keys that we will use henceforth for git + signing. + +commit 51b345f177ae981b8755f6bdf8358b1cc5e83d67 +Author: Darren Tucker +Date: Sat Aug 27 21:49:27 2022 +1000 + + Add libcrypt-devel to cygwin-release deps. - OpenBSD-Commit-ID: 9171616da3307612d0ede086fd511142f91246e4 + Based on feedback from vinschen at redhat.com. -commit 96faa0de6c673a2ce84736eba37fc9fb723d9e5c -Author: djm@openbsd.org -Date: Fri Jul 1 00:36:30 2022 +0000 +commit 9f81736cf16dd8dda1c8942f1973a5f80b8cd78c +Author: Darren Tucker +Date: Sat Aug 27 09:37:40 2022 +1000 - upstream: ignore SIGPIPE earlier in main(), specifically before + Add Windows 2022 test targets. + +commit 85e1a69243f12be8520438ad6a3cfdc0b7fcbb2d +Author: Darren Tucker +Date: Fri Aug 26 16:26:06 2022 +1000 + + Add cygwin-release test target. - muxclient() which performs operations that could cause one; Reported by Noam - Lewis via bz3454, ok dtucker@ + This also moves the cygwin package install from the workflow file to + setup_ci.sh so that we can install different sets of Cygwin packages + for different test configs. + +commit 92382dbe8bf9ea1225b16858f9b9b208c15c7e8d +Author: djm@openbsd.org +Date: Fri Aug 26 08:16:27 2022 +0000 + + upstream: whitespace - OpenBSD-Commit-ID: 63d8e13276869eebac6d7a05d5a96307f9026e47 + OpenBSD-Commit-ID: a5d015efbfd228dc598ffdef612d2da3a579e5d8 -commit 33efac790f6b09d54894ba6c3e17dfb08b6fc7e1 -Author: jmc@openbsd.org -Date: Tue Jun 28 06:09:14 2022 +0000 +commit 70a5de0a50e84d7250eb4e4537f765599f64c4af +Author: djm@openbsd.org +Date: Fri Aug 26 08:12:56 2022 +0000 - upstream: reflect the update to -D arg name in usage(); + upstream: whitespace - OpenBSD-Commit-ID: abdcde4f92b1ef094ae44210ee99d3b0155aad9c + OpenBSD-Commit-ID: d297e4387935d4aef091c5e9432578c2e513f538 -commit c71a1442d02f0a3586109dfe2cb366de36dee08e +commit 3a683a19fd116ea15ebf8aa13d02646cceb302a9 +Author: Damien Miller +Date: Fri Aug 26 14:23:55 2022 +1000 + + initial list of allowed signers + +commit 6851f4b8c3fc1b3e1114c56106e4dc31369c8513 Author: Darren Tucker -Date: Wed Jun 29 18:28:47 2022 +1000 +Date: Fri Aug 19 17:22:18 2022 +1000 - Update OpenSSL tests to the most recent releases. + Install Cygwin packages based on OS not config. -commit 2a822f29300b2de7335fbff65f0b187a0c582304 +commit f96480906893ed93665df8cdf9065865c51c1475 Author: djm@openbsd.org -Date: Mon Jun 27 21:41:55 2022 +0000 +Date: Fri Aug 19 06:07:47 2022 +0000 - upstream: allow arguments to sftp -D option, e.g. sftp -D - - "/usr/libexec/sftp-server -el debug3" + upstream: attemp FIDO key signing without PIN and use the error - ok markus@ + code returned to fall back only if necessary. Avoids PIN prompts for FIDO + tokens that don't require them; part of GHPR#302 - OpenBSD-Commit-ID: 5a002b9f3a7aef2731fc0ffa9c921cf15f38ecce + OpenBSD-Commit-ID: 4f752aaf9f2e7c28bcaaf3d4f8fc290131bd038e -commit 2369a2810187e08f2af5d58b343956062fb96ee8 -Author: dtucker@openbsd.org -Date: Fri Jun 24 10:45:06 2022 +0000 +commit 5453333b5d28e313284cb9aae82899704103f98d +Author: djm@openbsd.org +Date: Fri Aug 19 05:53:28 2022 +0000 - upstream: Roll back previous KEX changes as they aren't safe until + upstream: remove incorrect check that can break enrolling a - compat_pkalg_proposal and friends always allocate their returned strings. - Reported by Qualys. + resident key (introduced in r1.40) - OpenBSD-Commit-ID: 1c7a88a0d5033f42f88ab9bec58ef1cf72c81ad0 + OpenBSD-Commit-ID: 4cab364d518470e29e624af3d3f9ffa9c92b6f01 -commit 646686136c34c2dbf6a01296dfaa9ebee029386d +commit ff89b1bed80721295555bd083b173247a9c0484e Author: dtucker@openbsd.org -Date: Fri Jun 24 04:37:00 2022 +0000 +Date: Fri Aug 19 04:02:46 2022 +0000 - upstream: Don't leak the strings allocated by order_hostkeyalgs() + upstream: Strictly enforce the maximum allowed SSH2 banner size in - and list_hostkey_types() that are passed to compat_pkalg_proposal(). Part of - github PR#324 from ZoltanFridrich, ok djm@ + ssh-keyscan and prevent a one-byte buffer overflow. Patch from Qualys, ok + djm@ - OpenBSD-Commit-ID: b2f6e5f60f2bba293b831654328a8a0035ef4a1b + OpenBSD-Commit-ID: 6ae664f9f4db6e8a0589425f74cd0bbf3aeef4e4 -commit 193c6d8d905dde836b628fc07a7b9cf2d347e2a3 +commit 1b470b9036639cef4f32fb303bb35ea0b711178d Author: Darren Tucker -Date: Sat Jun 25 12:16:15 2022 +1000 +Date: Fri Aug 19 15:18:09 2022 +1000 - Zero out LIBFIDO2 when SK support not usable. - - Prevents us from trying to link them into ssh-sk-helper and failing to - build. + Fix cygwin conditional steps. -commit 40f5d849d25c60b4ae21261e78484d435f5cfd51 +commit fd6ee741ab16714b7035d60aca924123ba28135a Author: Darren Tucker -Date: Sat Jun 25 11:47:28 2022 +1000 - - Disable SK support if FIDO libs not found. - -commit 5fd922ade1b25880fe8a8249f5c0385e413108f9 -Author: Damien Miller -Date: Fri Jun 24 14:43:54 2022 +1000 +Date: Fri Aug 19 15:12:57 2022 +1000 - fix broken case statement in previous + Add a bit more debug output. -commit f51423bdaf0008d46b6af082bcfd7a22a87375f0 -Author: Damien Miller -Date: Fri Jun 24 14:40:42 2022 +1000 +commit a9305c4c739f4d91a3d3a92c0b6d4949404a36c5 +Author: Darren Tucker +Date: Fri Aug 12 15:08:47 2022 +1000 - request 1.1x API compatibility for OpenSSL >=3.x + Add Cygwin (on windows-2019) test target. - idea/patch from Pedro Martelletto via GHPR#322; ok dtucker@ + In addition to installing the requisite Cygwin packages, we also need to + explicitly invoke "sh" for steps that run other scripts since the runner + environment doesn't understand #! paths. -commit 455cee8d6c2e4c48c5af9faead3599c49948411e +commit 5062ad48814b06162511c4f5924a33d97b6b2566 Author: djm@openbsd.org -Date: Fri Jun 24 04:27:14 2022 +0000 +Date: Fri Aug 19 03:06:30 2022 +0000 - upstream: make it clear that RekeyLimit applies to both transmitted - - and received data. GHPR#328 from Jan Pazdziora + upstream: double free() in error path; from Eusgor via GHPR333 - OpenBSD-Commit-ID: d180a905fec9ff418a75c07bb96ea41c9308c3f9 + OpenBSD-Commit-ID: 39f35e16ba878c8d02b4d01d8826d9b321be26d4 -commit 17904f05802988d0bb9ed3c8d1d37411e8f459c3 -Author: tobhe@openbsd.org -Date: Tue Jun 21 14:52:13 2022 +0000 +commit 5a5c580b48fc6006bdfa731fc2f6d4945c2c0e4e +Author: Darren Tucker +Date: Thu Aug 18 21:36:39 2022 +1000 - upstream: Make sure not to fclose() the same fd twice in case of an - - error. - - ok dtucker@ + Check for perms to run agent-getpeereid test. - OpenBSD-Commit-ID: e384c4e05d5521e7866b3d53ca59acd2a86eef99 + Ubuntu 22.04 defaults to private home dirs which prevents "nobody" + running ssh-add during the agent-getpeereid test. Check for this and + add the necessary permissions. -commit f29d6cf98c25bf044079032d22c1a57c63ab9d8e -Author: dtucker@openbsd.org -Date: Sat Jun 18 02:17:16 2022 +0000 +commit cd06a76b7ccc706e2bb4f1cc4aa9e9796a28a812 +Author: Damien Miller +Date: Wed Aug 17 16:04:16 2022 +1000 - upstream: Don't attempt to fprintf a null identity comment. From - - Martin Vahlensieck via tech@. + on Cygwin, prefer WinHello FIDO device - OpenBSD-Commit-ID: 4c54d20a8e8e4e9912c38a7b4ef5bfc5ca2e05c2 + If no FIDO device was explictly specified, then prefer the + windows://hello FIDO device. An exception to this is when + probing resident FIDO keys, in which case hardware FIDO + devices are preferred. -commit ad1762173bb38716a106e8979806149fd0f2753e -Author: dtucker@openbsd.org -Date: Fri Jun 17 01:00:03 2022 +0000 +commit 47f72f534ac5cc2cd3027675a3df7b00a8f77575 +Author: djm@openbsd.org +Date: Wed Aug 17 06:01:57 2022 +0000 - upstream: Log an error if pipe() fails while accepting a + upstream: add an extra flag to sk_probe() to indicate whether we're - connection. bz#3447, from vincent-openssh at vinc17 net, ok djm@ + probing for a FIDO resident key or not. Unused here, but will make like + easier for portable - OpenBSD-Commit-ID: 9d59f19872b94900a5c79da2d57850241ac5df94 + OpenBSD-Commit-ID: 432c8ff70e270378df9dbceb9bdeaa5b43b5a832 -commit 9c59e7486cc8691401228b43b96a3edbb06e0412 -Author: Damien Miller -Date: Fri Jun 24 14:20:43 2022 +1000 +commit edb0bcb3c79b16031dc87a8e57aecc3c4a3414f0 +Author: jmc@openbsd.org +Date: Tue Aug 16 20:24:08 2022 +0000 - automatically enable built-in FIDO support - - If libfido2 is found and usable, then enable the built-in - security key support unless --without-security-key-builtin - was requested. + upstream: use .Cm for "sign"; from josiah frentsos - ok dtucker@ + OpenBSD-Commit-ID: 7f80a53d54857ac6ae49ea6ad93c5bd12231d1e4 -commit 7d25b37fb2a5ff4dadabcbdac6087a97479434f5 -Author: Damien Miller -Date: Fri Jun 24 13:46:39 2022 +1000 +commit cccb011e130cbbac538b1689d10e4a067298df8b +Author: Corinna Vinschen +Date: Thu Aug 11 20:19:35 2022 +0200 - fix possible NULL deref when built without FIDO + Revert "check_sk_options: add temporary WinHello workaround" - Analysis/fix from kircher in bz3443; ok dtucker@ - -commit f5ba85daddfc2da6a8dab6038269e02c0695be44 -Author: djm@openbsd.org -Date: Wed Jun 15 16:08:25 2022 +0000 - - upstream: make sure that UseDNS hostname lookup happens in the monitor + Cygwin now comes with libfido2 1.11.0, so this workaround + isn't required anymore. - and not in the pledge(2)'d unprivileged process; fixes regression caused by - recent refactoring spotted by henning@ + This reverts commit 242c044ab111a37aad3b0775727c36a4c5f0102c. - OpenBSD-Commit-ID: a089870b95101cd8881a2dff65b2f1627d13e88d + Signed-off-by: Corinna Vinschen -commit acb2059febaddd71ee06c2ebf63dcf211d9ab9f2 -Author: djm@openbsd.org -Date: Fri Jun 3 04:47:21 2022 +0000 +commit 9468cd7cf9d989dfa2ac20e2a0268ba6e93bfa5a +Author: Corinna Vinschen +Date: Thu Aug 11 20:18:17 2022 +0200 - upstream: move auth_openprincipals() and auth_openkeyfile() over to + fido_dev_is_winhello: return 0, not "false" - auth2-pubkeyfile.c too; they make more sense there. + "false" is not used anywhere in OpenSSH, so return 0 like + everywhere else. - OpenBSD-Commit-ID: 9970d99f900e1117fdaab13e9e910a621b7c60ee + Signed-off-by: Corinna Vinschen -commit 3d9b0845f34510111cc693bb99a667662ca50cd8 +commit 730a80609472ee0451c99482d75c9c41f3ebc42d Author: djm@openbsd.org -Date: Fri Jun 3 04:31:54 2022 +0000 +Date: Fri Aug 12 05:20:28 2022 +0000 - upstream: test setenv in both client and server, test first-match-wins + upstream: sftp-server: support home-directory request - too + Add support to the sftp-server for the home-directory extension defined + in draft-ietf-secsh-filexfer-extensions-00. This overlaps a bit with the + existing expand-path@openssh.com, but uses a more official protocol name, + and so is a bit more likely to be implemented by non-OpenSSH clients. - OpenBSD-Regress-ID: 4c8804f9db38a02db480b9923317457b377fe34b + From Mike Frysinger, ok dtucker@ + + OpenBSD-Commit-ID: bfc580d05cc0c817831ae7ecbac4a481c23566ab -commit 22e1a3a71ad6d108ff0c5f07f93c3fcbd30f8b40 -Author: djm@openbsd.org -Date: Fri Jun 3 04:30:46 2022 +0000 +commit 5e820bf79ce3ce99ef7e98b0ab642b0a0a4f396c +Author: Darren Tucker +Date: Fri Aug 12 14:56:55 2022 +1000 - upstream: Make SetEnv directives first-match-wins in both - - sshd_config and sshd_config; previously if the same name was reused then the - last would win (which is the opposite to how the config is supposed to work). - - While there, make the ssh_config parsing more like sshd_config. - - bz3438, ok dtucker - - OpenBSD-Commit-ID: 797909c1e0262c0d00e09280459d7ab00f18273b + Replace deprecated ubuntu-18.04 runners with 22.04 -commit 38ed6c57e9e592c08e020fa6e82b45b4e1040970 -Author: dtucker@openbsd.org -Date: Fri Jun 3 04:00:15 2022 +0000 +commit 87b0d9c1b789d3ff958ec45df2ac912e24461bae +Author: Darren Tucker +Date: Thu Aug 11 22:48:23 2022 +1000 - upstream: Add missing *-sk types to ssh-keyscan manpage. From - - skazi0 via github PR#294. + Add a timegm implementation from Heimdal via Samba. - OpenBSD-Commit-ID: fda2c869cdb871f3c90a89fb3f985370bb5d25c0 + Fixes build on (at least Solaris 10). -commit ea97ec98c41ec2b755dfab459347db674ff9a5de -Author: dtucker@openbsd.org -Date: Fri Jun 3 03:21:09 2022 +0000 +commit d0c4fa58594577994921b593f10037c5282597ca +Author: Darren Tucker +Date: Thu Aug 11 14:23:58 2022 +1000 - upstream: Add period at end of "not known by any other names" + Rerun tests if any .github config file changes. + +commit 113fe6c77ab43769fc61e953d07cb619fd7ea54b +Author: Darren Tucker +Date: Thu Aug 11 13:33:51 2022 +1000 + + Skip hostbased during Valgrind tests. - message. github PR#320 from jschauma, ok djm@ + Valgrind doesn't let ssh exec ssh-keysign (because it's setuid) so skip + it during the Valgrind based tests. - OpenBSD-Commit-ID: bd60809803c4bfd3ebb7c5c4d918b10e275266f2 + See https://bugs.kde.org/show_bug.cgi?id=119404 for a discussion of this + (ironically there the problematic binary was ssh(1) back when it could + still be setuid). -commit 88e376fcd67478ad1660d94bc73ab348ac9f4527 -Author: dtucker@openbsd.org -Date: Fri Jun 3 03:17:42 2022 +0000 +commit b98a42afb69d60891eb0488935990df6ee571c4d +Author: djm@openbsd.org +Date: Thu Aug 11 01:57:50 2022 +0000 - upstream: ssh-keygen -A: do not generate DSA keys by default. + upstream: add some tests for parse_absolute_time(), including cases - Based on github PR#303 from jsegitz with man page text from jmc@, ok markus@ - djm@ + where it is forced to the UTC timezone. bz3468 ok dtucker - OpenBSD-Commit-ID: 5c4c57bdd7063ff03381cfb6696659dd3f9f5b9f + OpenBSD-Regress-ID: ea07ca31c2f3847a38df028ca632763ae44e8759 -commit 6b3fb624675082a1e5aa615d1b8479873d8b5731 -Author: naddy@openbsd.org -Date: Tue May 31 14:05:12 2022 +0000 +commit ec1ddb72a146fd66d18df9cd423517453a5d8044 +Author: djm@openbsd.org +Date: Thu Aug 11 01:56:51 2022 +0000 - upstream: ssh-keygen: implement "verify-required" certificate option. + upstream: allow certificate validity intervals, sshsig verification - This was already documented when support for user-verified FIDO - keys was added, but the ssh-keygen(1) code was missing. + times and authorized_keys expiry-time options to accept dates in the UTC time + zone in addition to the default of interpreting them in the system time zone. + YYYYMMDD and YYMMDDHHMM[SS] dates/times will be interpreted as UTC if + suffixed with a 'Z' character. - ok djm@ + Also allow certificate validity intervals to be specified in raw + seconds-since-epoch as hex value, e.g. -V 0x1234:0x4567890. This + is intended for use by regress tests and other tools that call + ssh-keygen as part of a CA workflow. - OpenBSD-Commit-ID: f660f973391b593fea4b7b25913c9a15c3eb8a06 + bz3468 ok dtucker + + OpenBSD-Commit-ID: 454db1cdffa9fa346aea5211223a2ce0588dfe13 -commit b7f86ffc301be105bba9a3e0618b6fab3ae379bd -Author: jmc@openbsd.org -Date: Sat May 28 05:57:56 2022 +0000 +commit 4df246ec75751da7eb925e1880498300d8bda187 +Author: Darren Tucker +Date: Thu Aug 11 10:23:55 2022 +1000 - upstream: keywords ref ssh_config.5; - - from caspar schutijser - - OpenBSD-Commit-ID: f146a19d7d5c9374c3b9c520da43b2732d7d1a4e + Fix conditional for running hostbased tests. -commit dc7bc52372f2744fa39191577be5306ee57aacd4 +commit 2580916e48721802220c61ce9e0df1297c00bc07 Author: Damien Miller -Date: Mon May 30 09:29:09 2022 +1000 +Date: Thu Aug 11 08:58:28 2022 +1000 - fix some bugs in the fuzzer + fix SANDBOX_SECCOMP_FILTER_DEBUG -commit 1781f507c113667613351c19898efaf1e311a865 +commit fdbd5bf507fc271ff813714fab8a72ff2c6cb5ca Author: Darren Tucker -Date: Fri May 27 18:19:48 2022 +1000 +Date: Wed Aug 10 17:35:52 2022 +1000 - Test against OpenSSL 1.1.1o and 3.0.3. + Test hostbased auth on github runners. -commit c53906e0c59e569691b4095d3e8db79cf78fa058 +commit 7e2f51940ba48a1c0fae1107801ea643fa83c971 Author: Darren Tucker -Date: Fri May 27 18:18:31 2022 +1000 +Date: Wed Aug 10 17:25:24 2022 +1000 - Test against LibreSSL 3.5.3. + Rename our getentropy to prevent possible loops. + + Since arc4random seeds from getentropy, and we use OpenSSL for that + if enabled, there's the possibility that if we build on a system that + does not have getentropy then run on a system that does have it, then + OpenSSL could end up calling our getentropy and getting stuck in a loop. + Pointed out by deraadt@, ok djm@ -commit 9b3ad432ad2f19319bcc089370e356c6315d682f -Author: Damien Miller -Date: Fri May 27 17:00:43 2022 +1000 +commit 7a01f61be8d0aca0e975e7417f26371495fe7674 +Author: Darren Tucker +Date: Mon Aug 8 12:17:04 2022 +1000 - fuzzer for authorized_keys parsing - - mostly redundant to authopt_fuzz, but it's sensitive code so IMO it - makes sense to test this layer too + Actually put HAVE_STDINT_H around the stdint.h. -commit c83d8c4d6f3ccceef84d46de107f6b71cda06359 -Author: djm@openbsd.org -Date: Fri May 27 05:02:46 2022 +0000 +commit 73541f29f0b50480da6c20dceb7a7191bd8ea7d3 +Author: Darren Tucker +Date: Mon Aug 8 10:30:34 2022 +1000 - upstream: split the low-level file handling functions out from - - auth2-pubkey.c - - Put them in a new auth2-pubkeyfile.c to make it easier to refer to them - (e.g. in unit/fuzz tests) without having to refer to everything else - pubkey auth brings in. - - ok dtucker@ + Give unused param a name. - OpenBSD-Commit-ID: 3fdca2c61ad97dc1b8d4a7346816f83dc4ce2217 + Fixes builds on platforms that do have fido2 but don't have + fido_dev_is_winhello. -commit 3b0b142d2a0767d8cd838e2f3aefde8a0aaa41e1 +commit 2a108c0ea960381bd9b14ee0d84e818a23df4482 Author: djm@openbsd.org -Date: Fri May 27 05:01:25 2022 +0000 +Date: Fri Aug 5 05:01:40 2022 +0000 - upstream: refactor authorized_keys/principals handling + upstream: don't prompt for FIDO passphrase before attempting to enroll - remove "struct ssh *" from arguments - this was only used to pass the - remote host/address. These can be passed in instead and the resulting - code is less tightly coupled to ssh_api.[ch] + the credential, just let the enroll operating fail and we'll attempt to get a + PIN anyway. Might avoid some unneccessary PIN prompts. - ok dtucker@ + Part of GHPR#302 from Corinna Vinschen; ok dtucker@ - OpenBSD-Commit-ID: 9d4373d013edc4cc4b5c21a599e1837ac31dda0d + OpenBSD-Commit-ID: bd5342ffc353ee37d39617906867c305564d1ce2 -commit 2c334fd36f80cb91cc42e4b978b10aa35e0df236 -Author: dtucker@openbsd.org -Date: Fri May 27 04:29:40 2022 +0000 +commit 2886975c0ad9244e60dc5e4be34fde3aa573a4b5 +Author: Corinna Vinschen +Date: Fri Feb 11 14:33:41 2022 +0100 - upstream: f sshpkt functions fail, then password is not cleared - - with freezero. Unconditionally call freezero to guarantee that password is - removed from RAM. + sk_sign: set FIDO2 uv attribute explicitely for WinHello - From tobias@ and c3h2_ctf via github PR#286, ok djm@ + WinHello via libfido2 performs user verification by default. + However, if we stick to that, there's no way to differentiate + between keys created with or without "-O verify-required". + Set FIDO2 uv attribute explicitely to FIDO_OPT_FALSE, then check + if user verification has been requested. - OpenBSD-Commit-ID: 6b093619c9515328e25b0f8093779c52402c89cd + Signed-off-by: Corinna Vinschen -commit 5d3a77f4c5ae774c6796387266503f52c7cdc7c2 -Author: dtucker@openbsd.org -Date: Fri May 27 04:27:49 2022 +0000 +commit 242c044ab111a37aad3b0775727c36a4c5f0102c +Author: Corinna Vinschen +Date: Tue Feb 15 11:28:08 2022 +0100 - upstream: Avoid kill with -1 argument. The out_ctx label can be - - reached before fork has been called. If this happens, then kill -1 would be - called, sending SIGTERM to all processes reachable by the current process. + check_sk_options: add temporary WinHello workaround - From tobias@ and c3h2_ctf via github PR#286, ok djm@ + Up to libfido 1.10.0, WinHello advertises "clientPin" rather + than "uv" capability. This is fixed in 1.11.0. For the time + being, workaround it here. - OpenBSD-Commit-ID: 6277af1207d81202f5daffdccfeeaed4c763b1a8 + Signed-off-by: Corinna Vinschen -commit 533b31cd08e4b97f455466f91c36915e2924c15a -Author: dtucker@openbsd.org -Date: Fri May 27 04:13:24 2022 +0000 +commit 78774c08cc4b4997382975b0f414a86e06b6780c +Author: Corinna Vinschen +Date: Thu Feb 10 18:19:29 2022 +0100 - upstream: Note that ProxyJump also accepts the same tokens as - - ProxyCommand. From pallxk via github PR#305. + compat code for fido_dev_is_winhello() - OpenBSD-Commit-ID: 7115ac351b129205f1f1ffa6bbfd62abd76be7c5 + Signed-off-by: Corinna Vinschen -commit 9d8c80f8a304babe61ca28f2e3fb5eb6dc9c39bf -Author: djm@openbsd.org -Date: Wed May 25 06:03:44 2022 +0000 +commit 3d3a932a019aedfb891e0779bb4990cd5008a390 +Author: Darren Tucker +Date: Fri Aug 5 13:12:27 2022 +1000 - upstream: revert previous; it was broken (spotted by Theo) + Factor out getrnd() and rename to getentropy(). - OpenBSD-Commit-ID: 457c79afaca2f89ec2606405c1059b98b30d8b0d + Factor out the arc4random seeding into its own file and change the + interface to match getentropy. Use native getentropy if available. + This will make it easier to resync OpenBSD changes to arc4random. + Prompted by bz#3467, ok djm@. -commit 9e0d02ef7ce88b67643bfb1c2272c9f5f04cc680 +commit 9385d277b787403be9dfcb229cf372202496d2f3 +Author: Darren Tucker +Date: Thu Aug 4 18:55:48 2022 +1000 + + Include CHANNEL and FIDO2 libs in configure output + +commit 141535b904b6fba01724444f38193a8599201f82 Author: djm@openbsd.org -Date: Wed May 25 00:31:13 2022 +0000 +Date: Mon Aug 1 11:09:26 2022 +0000 - upstream: make SSHBUF_DBG/SSHBUF_TELL (off by default and only enabled + upstream: avoid double-free in error path introduced in r1.70; report - via #define) dump to stderr rather than stdout + and fix based on GHPR#332 by v-rzh ok dtucker@ - OpenBSD-Commit-ID: 10298513ee32db8390aecb0397d782d68cb14318 + OpenBSD-Commit-ID: 3d21aa127b1f37cfc5bdc21461db369a663a951f -commit 2487163630f28be28b7e2396b4bd6511b98f1d3e -Author: Tim Rice -Date: Tue May 24 10:21:25 2022 -0700 +commit dba7099ffcba3ca07b3946f017ba6a4c3158d9b1 +Author: Darren Tucker +Date: Wed Jul 27 18:40:12 2022 +1000 - configure.ac: Add missing AC_DEFINE for caph_cache_tzdata test causing - HAVE_CAPH_CACHE_TZDATA to be missing from config.h.in. - Spotted by Bryan Drewery + Remove deprecated MacOS 10.15 runners. -commit bedb93415b60db3dfd704a3d525e82adb14a2481 -Author: djm@openbsd.org -Date: Sun May 15 23:48:07 2022 +0000 +commit 722a56439aa5972c830e4a9a724cf52aff4a950a +Author: Darren Tucker +Date: Wed Jul 27 18:31:14 2022 +1000 - upstream: regress test for in-place transfers and clobbering larger - - files with smaller ones; would have caught last regression in scp(1) + Move stale-configure check as early as possible. - OpenBSD-Regress-ID: 19de4e88dd3a4f7e5c1618c9be3c32415bd93bc2 + We added a check in Makefile to catch the case where configure needs to + be rebuilt, however this did not happen until a build was attempted in + which case all of the work done by configure was wasted. Move this check + to the start of configure to catch it as early as possible. ok djm@ -commit b4f0d719c2548cb74da509fb65f384dada4ebd37 -Author: anton@openbsd.org -Date: Fri Apr 22 05:08:43 2022 +0000 +commit 099d6b56288b421ba38531d26dc1bd6bb685e311 +Author: Darren Tucker +Date: Fri Jul 22 10:47:19 2022 +1000 - upstream: Only run agent-ptrace.sh if gdb is available as all - - architectures do not ship with gdb. + Move libcrypto into CHANNELLIBS. - OpenBSD-Regress-ID: ec53e928803e6b87f9ac142d38888ca79a45348d + This will result in sftp, sftp-server and scp no longer being linked + against libcrypto. ok djm@ -commit 9b73345f80255a7f3048026462f2c0c6a241eeac -Author: djm@openbsd.org -Date: Sun May 15 23:47:21 2022 +0000 +commit 1bdf86725b77733bb5f17c54888b88a10b2f6538 +Author: Darren Tucker +Date: Fri Jul 22 10:45:47 2022 +1000 - upstream: fix in-place copies; r1.163 incorrectly skipped truncation in - - all cases, not just at the start of a transfer. This could cause overwrites - of larger files to leave junk at the end. Spotted by tb@ + Remove seed_rng calls from scp, sftp, sftp-server. - OpenBSD-Commit-ID: b189f19cd68119548c8e24e39c79f61e115bf92c + These binaries don't use OpenSSL's random functions. The next step + will be to stop linking them against libcrypto. ok djm@ -commit 56a0697fe079ff3e1ba30a2d5c26b5e45f7b71f8 -Author: djm@openbsd.org -Date: Fri May 13 06:31:50 2022 +0000 +commit d73f77b8cb9b422f1ac4facee7890aa10ff2bc21 +Author: Darren Tucker +Date: Fri Jul 22 09:51:51 2022 +1000 - upstream: arrange for scp, when in sftp mode, to not ftruncate(3) files - - early - - previous behavious of unconditionally truncating the destination file - would cause "scp ~/foo localhost:" and "scp localhost:foo ~/" to - delete all the contents of their destination. - - spotted by solene@ sthen@, also bz3431; ok dtucker@ + Group libcrypto and PRNGD checks together. - OpenBSD-Commit-ID: ca39fdd39e0ec1466b9666f15cbcfddea6aaa179 + They're related more than the libcrypt or libiaf checks which are + currently between them. ok djm@ -commit fbcef70c2832712f027bccea1aa9bc4b4103da93 -Author: dtucker@openbsd.org -Date: Mon May 9 08:25:27 2022 +0000 +commit f117e372b3f42f2fbdb0a578d063b2609ab58e1f +Author: Darren Tucker +Date: Fri Jul 22 09:24:45 2022 +1000 - upstream: Remove errant apostrophe. From haruyama at queen-ml org. + Do not link scp, sftp and sftp-server w/ zlib. - OpenBSD-Commit-ID: dc6b294567cb84b384ad6ced9ca469f2bbf0bd10 + Some of our binaries (eg sftp, sftp-server, scp) do not interact with + the channels code and thus do use libraries such as zlib and libcrypto + although they are linked with them. This adds a CHANNELLIBS and starts + by moving zlib into it, which means the aformentioned binaries are no + longer linked against zlib. ok djm@ -commit 0086a286ea6bbd11ca9b664ac3bb12b27443d6eb -Author: djm@openbsd.org -Date: Mon May 9 03:09:53 2022 +0000 +commit 800c2483e68db38bd1566ff69677124be974aceb +Author: Darren Tucker +Date: Mon Jul 25 21:49:04 2022 +1000 - upstream: Allow existing -U (use agent) flag to work with "-Y sign" - - operations, where it will be interpreted to require that the private keys is - hosted in an agent; bz3429, suggested by Adam Szkoda; ok dtucker@ + Remove workarounds for OpenSSL missing AES-CTR. - OpenBSD-Commit-ID: a7bc69873b99c32c42c7628ed9ea91565ba08c2f + We have some compatibility hacks that were added to support OpenSSL + versions that do not support AES CTR mode. Since that time, however, + the minimum OpenSSL version that we support has moved to 1.0.1 which + *does* have CTR, so this is no longer needed. ok djm@ -commit cb010744cc98f651b1029bb09efa986eb54e4ccf -Author: djm@openbsd.org -Date: Sun May 8 22:58:35 2022 +0000 +commit b7c56b65c12f51fe0dbae798d19c8f58224a5d95 +Author: Darren Tucker +Date: Mon Jul 25 21:43:00 2022 +1000 - upstream: improve error message when 'ssh-keygen -Y sign' is unable to - - load a private key; bz3429, reported by Adam Szkoda ok dtucker@ + Remove workarounds for OpenSSL missing AES-GCM. - OpenBSD-Commit-ID: bb57b285e67bea536ef81b1055467be2fc380e74 + We have some compatibility hacks that were added to support OpenSSL + versions that do not support AES GCM mode. Since that time, however, + the minimum OpenSSL version that we support has moved to 1.0.1 which + *does* have GCM, so this is no longer needed. ok djm@ -commit aa61fc82c63d309a90c22ca74fb1da6c6f4372fd -Author: Tobias Heider -Date: Mon May 9 02:00:01 2022 +0200 +commit 5a4a9f7a968fbf92cc1eac519c65638e79ae9f1f +Author: dtucker@openbsd.org +Date: Mon Jul 25 07:12:45 2022 +0000 - Remove duplicate bcrypt_pbkdf.o from Makefile + upstream: Restore missing "!" in TEST_SSH_ELAPSED_TIMES test. - bcrypt_pbkdf.o is duplicated in the openbsd-compat Makefile's object - file list. + OpenBSD-Regress-ID: 38783f9676ec348c5a792caecee9a16e354b37b0 -commit deb506d00da8d11fb04c1e7b9b1e1cc379c1705c -Author: djm@openbsd.org -Date: Sun May 8 22:32:36 2022 +0000 +commit 0ff886be132299386cc29d87c2aa16ff68a1aa08 +Author: dtucker@openbsd.org +Date: Sun Jul 24 23:29:10 2022 +0000 - upstream: When performing operations that glob(3) a remote path, ensure - - that the implicit working directory used to construct that path escapes - glob(3) characters. - - This prevents glob characters from being processed in places they - shouldn't, e.g. "cd /tmp/a*/", "get *.txt" should have the get operation - treat the path "/tmp/a*" literally and not attempt to expand it. + upstream: Test TEST_SSH_ELAPSED_TIMES for empty string not - Reported by Lusia Kundel; ok markus@ + executable. No-op on most platforms but should prevent warnings in -portable + on systems that don't have 'date %s'. - OpenBSD-Commit-ID: 4f647f58482cbad3d58b1eab7f6a1691433deeef - -commit f38cf74f20b5da113cfa823afd5bfb5c6ba65f3d -Author: Darren Tucker -Date: Fri May 6 14:50:18 2022 +1000 - - Also retest OpenBSD upstream on .yml changes. + OpenBSD-Regress-ID: e39d79867b8065e33d0c5926fa1a31f85659d2a4 -commit f87a132800ba3710ab130d703448a31ef1128d77 +commit f69319ad8ad1dd50f90bbcf5912e11cc8ed3e037 Author: Darren Tucker -Date: Fri May 6 14:46:09 2022 +1000 +Date: Sat Jul 23 14:38:22 2022 +1000 - Note that, for now, we need variadic macros. + Convert "have_prog" function into "which". + + "which" and its behaviour is not standardized, so convert the existing + have_prog function into "which" so we can rely on it being available + and what its semantics are. Add a have_prog wrapper that maintains the + existing behaviour. -commit 217b518e0f7c52c4b909e935141a55344c61e644 +commit ea7ecc2c3ae39fdf5c6ad97b7bc0b47a98847f43 Author: Darren Tucker -Date: Fri May 6 14:39:34 2022 +1000 +Date: Sat Jul 23 14:36:38 2022 +1000 - Add ubsan minimal testcase on OpenBSD. + Skip scp3 test if there's no scp on remote path. - As suggested by djm@. + scp -3 ends up using the scp that's in the remote path and will fail if + one is not available. Based on a patch from rapier at psc.edu. -commit 457dce2cfef6a48f5442591cd8b21c7e8cba13f8 -Author: djm@openbsd.org -Date: Thu May 5 01:04:14 2022 +0000 +commit c46f6fed419167c1671e4227459e108036c760f8 +Author: Damien Miller +Date: Wed Jul 20 13:39:14 2022 +1000 - upstream: sshkey_unshield_private() contains a exact duplicate of - - the code in private2_check_padding(). Pull private2_check_padding() up so the - code can be reused. From Martin Vahlensieck, ok deraadt@ - - OpenBSD-Commit-ID: 876884c3f0e62e8fd8d1594bab06900f971c9c85 + crank SSH_SK_VERSION_MAJOR in sk-dummy.so -commit 0e44db4d9cb313e68a59a44d27884af66c02356e +commit f208e3b9ffb5ee76cf9c95df7ff967adc7f51c7d Author: djm@openbsd.org -Date: Thu May 5 00:56:58 2022 +0000 +Date: Wed Jul 20 03:33:22 2022 +0000 - upstream: channel_new no longer frees remote_name. So update the + upstream: ssh-keygen: fix touch prompt, pin retries; - comment accordingly. As remote_name is not modified, it can be const as - well. From Martin Vahlensieck + part of GHPR329 from Pedro Martelletto - OpenBSD-Commit-ID: e4e10dc8dc9f40c166ea5a8e991942bedc75a76a + OpenBSD-Commit-ID: 75d1005bd2ef8f29fa834c90d2684e73556fffe8 -commit 37b62fd5caf19c85a48241535277cefff65adace +commit 8638a2ce7e90c8a51d9af3143404282126c524f8 Author: djm@openbsd.org -Date: Thu May 5 00:55:11 2022 +0000 - - upstream: mux.c: mark argument as const; from Martin Vahlensieck - - OpenBSD-Commit-ID: 69a1a93a55986c7c2ad9f733c093b46a47184341 - -commit f4e67c0ad259b4cf10177277a5827fa5545bac53 -Author: markus@openbsd.org -Date: Wed May 4 07:31:22 2022 +0000 - - upstream: make sure stdout is non-blocking; ok djm@ - - OpenBSD-Commit-ID: 64940fffbd1b882eda2d7c8c7a43c79368309c0d - -commit e5c036d2092c00bef395e9161dc5ce42d4be9565 -Author: florian@openbsd.org -Date: Tue May 3 07:42:27 2022 +0000 +Date: Wed Jul 20 03:31:42 2022 +0000 - upstream: Add FIDO AUTHENTICATOR section and explain a bit how FIDO + upstream: sk-usbhid: preserve error code returned by key_lookup() - works. The wording came mostly from the 8.2 OpenSSH release notes, addapted - to fit the man page. Then move the -O bits into the new section as is already - done for CERTIFICATES and MODULI GENERATION. Finally we can explain the - trade-offs of resident keys. While here, consistently refer to the FIDO - thingies as "FIDO authenticators", not "FIDO tokens". + it conveys useful information, such as the supplied pin being wrong. - input & OK jmc, naddy + Part of GHPR329 from Pedro Martelletto - OpenBSD-Commit-ID: dd98748d7644df048f78dcf793b3b63db9ab1d25 + OpenBSD-Commit-ID: c0647eb9290f793add363d81378439b273756c1b -commit 575771bf79bef7127be6aaccddc46031ea15529e -Author: jmc@openbsd.org -Date: Mon May 2 05:40:37 2022 +0000 +commit 9ab929ca2d820520327b41929372bcb9e261534c +Author: djm@openbsd.org +Date: Wed Jul 20 03:29:14 2022 +0000 - upstream: remove an obsolete rsa1 format example from an example; + upstream: when enrolling a resident key on a security token, check - from megan batty - ok djm + if a credential with matching application and user ID strings already exists. + if so, prompt the user for confirmation before overwriting the credential. - OpenBSD-Commit-ID: db2c89879c29bf083df996bd830abfb1e70d62bf - -commit 0bc6b4c8f04e292577bdb44d5dc6b630d3448087 -Author: djm@openbsd.org -Date: Sun May 1 23:20:30 2022 +0000 - - upstream: fix some integer overflows in sieve_large() that show up when + patch from Pedro Martelletto via GHPR329 - trying to generate modp groups > 16k bits. Reported via GHPR#306 by Bertram - Felgenhauer, but fixed in a different way. feedback/ok tb@ + NB. cranks SSH_SK_VERSION_MAJOR, so any third-party FIDO middleware + implementations will need to adjust - OpenBSD-Commit-ID: 81cbc6dd3a21c57bd6fadea10e44afe37bca558e + OpenBSD-Commit-ID: e45e9f1bf2b2f32d9850669e7a8dbd64acc5fca4 -commit a45615cb172bc827e21ec76750de39dfb30ecc05 +commit 5bcfc788b38d5b64e4c347bdc04bd9a01bbc36da Author: djm@openbsd.org -Date: Fri Apr 29 04:55:07 2022 +0000 +Date: Wed Jul 20 03:13:04 2022 +0000 - upstream: be stricter in which characters will be accepted in + upstream: pull passphrase reading and confirmation into a separate - specifying a mask length; allow only 0-9. From khaleesicodes via GHPR#278; ok - dtucker@ + function so it can be used for FIDO2 PINs; no functional change - OpenBSD-Commit-ID: e267746c047ea86665cdeccef795a8a56082eeb2 + OpenBSD-Commit-ID: bf34f76b8283cc1d3f54633e0d4f13613d87bb2f -commit 4835544d2dd31de6ffc7dba59f92093aea98155b +commit eb679e2959bdb15454eb94751930eb4c9110da94 Author: Darren Tucker -Date: Sat Apr 30 10:56:41 2022 +1000 - - Add Mac OS X 12 test target. - -commit 97a6a8b8c1f2da09712d0e72d0ef800e4edd34cd -Author: Darren Tucker -Date: Fri Apr 29 18:27:34 2022 +1000 +Date: Fri Jul 15 21:31:48 2022 +1000 - Only run tests when source files change. + Move vmshutdown to first step. - Also run tests on changes to V_9_0 branch. + If a previous run on a physical runner has failed to clean up, the next + run will fail because it'll try to check out the code to a broken + directory mount. Make cleanup the first step. -commit 6d0392b9ff4b50a56ac5685d1b9392e2cd432ca3 +commit 46b91b70ff3cb9c147e2875ef5dc609fd64c0c96 Author: Darren Tucker -Date: Fri Apr 29 18:22:34 2022 +1000 +Date: Fri Jul 15 20:25:27 2022 +1000 - Remove now-empty int32_minmax.inc. + Rename bbone test target to ARM. -commit af59463553b5ad52d3b42c4455ee3c5600158bb7 -Author: djm@openbsd.org -Date: Fri Apr 29 03:24:30 2022 +0000 +commit 751d22cdeffed9fe921db78eedc32a29f9e80510 +Author: Darren Tucker +Date: Fri Jul 15 13:37:29 2022 +1000 - upstream: mention that the helpers are used by ssh(1), ssh-agent(1) - - and ssh-keygen(1). Previously only ssh(1) was mentioned. From Pedro - Martelletto + Add AUDIT_ARCH_PPC to supported seccomp arches. - OpenBSD-Commit-ID: 30f880f989d4b329589c1c404315685960a5f153 + Patch from dries.deschout at dodeco.eu. -commit 3e26b3a6eebcee27be177207cc0846fb844b7a56 -Author: dtucker@openbsd.org -Date: Fri Apr 29 03:16:48 2022 +0000 +commit a061792a6e8d235fc40a9b5d4c22a1762bb75a7b +Author: Darren Tucker +Date: Thu Jul 14 19:20:24 2022 +1000 - upstream: Don't leak SK device. Patch from Pedro Martelletto via - - github PR#316. ok djm@ + Remove unintended changes. - OpenBSD-Commit-ID: 17d11327545022e727d95fd08b213171c5a4585d + I inadvertently included a couple of local changes with the OpenSSL + 3.0.4 change. Revert, anything that should be there will be committed + separately. -commit 247082b5013f0d4fcae8f97453f2a2f01bcda811 -Author: djm@openbsd.org -Date: Fri Apr 29 03:13:32 2022 +0000 +commit 527cb43fa1b4e55df661feabbac51b8e608b6519 +Author: Darren Tucker +Date: Thu Jul 14 11:22:08 2022 +1000 - upstream: fix memleak on session-bind path; from Pedro Martelletto, ok + Return ERANGE from getcwd() if buffer size is 1. - dtucker@ + If getcwd() is supplied a buffer size of exactly 1 and a path of "/", it + could result in a nul byte being written out of array bounds. POSIX says + it should return ERANGE if the path will not fit in the available buffer + (with terminating nul). 1 byte cannot fit any possible path with its nul, + so immediately return ERANGE in that case. - OpenBSD-Commit-ID: e85899a26ba402b4c0717b531317e8fc258f0a7e + OpenSSH never uses getcwd() with this buffer size, and all current + (and even quite old) platforms that we are currently known to work + on have a native getcwd() so this code is not used on those anyway. + Reported by Qualys, ok djm@ -commit e05522008092ceb86a87bdd4ad7878424315db89 -Author: djm@openbsd.org -Date: Thu Apr 28 02:53:31 2022 +0000 +commit 36857fefd8849c4b0e877cfd9d1eb22f79b76650 +Author: Darren Tucker +Date: Thu Jul 14 10:02:35 2022 +1000 - upstream: avoid printing hash algorithm twice; from lucas AT sexy.is + Split README.platform into its own line. - OpenBSD-Commit-ID: 9d24671e10a84141b7c504396cabad600e47a941 + README.platform has general platform-specific information, having it + following text about FIDO2 on the same line could imply that it only + has information about FIDO2. -commit 0979e29356915261d69a9517a1e0aaade7c9fc75 -Author: dtucker@openbsd.org -Date: Wed Apr 27 11:08:55 2022 +0000 +commit 00a496c6c14f2d41f2a9365714d494dd5f3aac9f +Author: Darren Tucker +Date: Thu Jul 14 09:56:01 2022 +1000 - upstream: Add authfd path to debug output. ok markus@ + Clarify README.md text. - OpenBSD-Commit-ID: f735a17d1a6f2bee63bfc609d76ef8db8c090890 + Clarify the text about the implications of building without OpenSSL, and + prefix the "configure --help" example command with a "./" so it's likely + to work as-is in more shells. From bz#3461. -commit 67b7c784769c74fd4d6b147d91e17e1ac1a8a96d -Author: dtucker@openbsd.org -Date: Tue Apr 26 07:41:44 2022 +0000 +commit f40b52f21fbc52eb513279168a49d3285c65256c +Author: Darren Tucker +Date: Tue Jul 12 19:48:44 2022 +1000 - upstream: Check sshauthopt_new() for NULL. bz#3425, from + Remove special casing of crypt(). - tessgauthier at microsoft.com. ok djm@ + Configure goes to some lengths to pick crypt() from either libcrypt + or OpenSSL's libcrypto because they can more or less featureful (eg + supporting md5-style passwords). - OpenBSD-Commit-ID: af0315bc3e44aa406daa7e0ae7c2d719a974483f + OpenSSL removed its crypt() interface in 2002: + https://github.com/openssl/openssl/commit/69deec58 so these hijinks + should no longer be necessary. This also only links sshd with libcrypt + which is the only thing that needs it. ok djm@ -commit d571314d14b919fbd7c84a61f9bf2065fc0a6841 -Author: millert@openbsd.org -Date: Wed Apr 20 16:00:25 2022 +0000 +commit 76f4e48631d7b09fb243b47d7b393d100d3741b7 +Author: Darren Tucker +Date: Wed Jul 13 13:17:47 2022 +1000 - upstream: Remove unnecessary includes: openssl/hmac.h and - - openssl/evp.h. From Martin Vahlensieck. + Only refuse to use OpenSSL 3.0.4 on x86_64. - OpenBSD-Commit-ID: a6debb5fb0c8a44e43e8d5ca7cc70ad2f3ea31c3 + The potential RCE only impacts x86_64, so only refuse to use it if we're + targetting a potentially impacted architecture. ok djm@ -commit da8dddf8cc1f2516ff894b8183e83a7c5ba3ef80 -Author: millert@openbsd.org -Date: Wed Apr 20 15:59:18 2022 +0000 +commit e75bbc1d88491fa85e61b2cc8783d4bbd00cd131 +Author: Darren Tucker +Date: Tue Jul 12 14:37:15 2022 +1000 - upstream: Add missing includes of stdlib.h and stdint.h. We need - - stdlib.h for malloc(3) and stdint.h for SIZE_MAX. Unlike the other xmss - files, ssh-xmss.c does not include xmss_commons.h so ssh-xmss.c must include - those headers itself. From Martin Vahlensieck - - OpenBSD-Commit-ID: 70e28a9818cee3da1be2ef6503d4b396dd421e6b + Capture stderr output from configure. -commit fe9d87a6800a7a33be08f4d5ab662a758055ced2 -Author: millert@openbsd.org -Date: Wed Apr 20 15:56:49 2022 +0000 +commit d9eaea4bea6271bcee6a2b9428f1271faf2d033b +Author: Darren Tucker +Date: Tue Jul 12 12:54:49 2022 +1000 - upstream: Avoid an unnecessary xstrdup in rm_env() when matching - - patterns. Since match_pattern() doesn't modify its arguments (they are - const), there is no need to make an extra copy of the strings in - options->send_env. From Martin Vahlensieck + Refuse to use OpenSSL 3.0.4 due to potential RCE. - OpenBSD-Commit-ID: 2c9db31e3f4d3403b49642c64ee048b2a0a39351 + OpenSSL has a potential RCE in its RSA implementation (CVE-2022-2274) + so refuse to use that specific version. -commit 7bf2eb958fbb551e7d61e75c176bb3200383285d +commit fb2f3a61bf3d28fff285524535f7ffcd177c9235 Author: Darren Tucker -Date: Tue Apr 26 23:30:59 2022 +1000 +Date: Tue Jul 12 12:54:24 2022 +1000 - Add debian-riscv64 test target. + Move unset to before we set anything. -commit 3913c935523902482974c4c503bcff20bd850a6a +commit c483a5c0fb8e8b8915fad85c5f6113386a4341ca Author: Darren Tucker -Date: Mon Apr 25 17:20:06 2022 +1000 +Date: Wed Jul 6 11:52:54 2022 +1000 - Update OpenSSL and LibreSSL versions in tests. + Test against openssl-3.0.5. -commit dcd8dca29bcdb193ff6be35b96fc55e6e30d37d9 +commit 669a56bcfe73f8b985f2bba476ba834d55253acf Author: Darren Tucker -Date: Sat Apr 23 20:40:28 2022 +1000 +Date: Tue Jul 5 18:35:53 2022 +1000 - Include stdlib.h for free() prototype. + Update sanitizer test targets: - ... which is used inside the CUSTOM_SYS_AUTH_GET_LASTLOGIN_MSG block. + - remove clang-sanitize-memory for now. It takes so long that the test + times out. + - add gcc sanitize-address and sanitize-undefined test targets. -commit 4cc05de568e1c3edd7834ff3bd9d8214eb34861b +commit 48cc68b69118b3ce8d07fd4f82e00d58667d5379 Author: Darren Tucker -Date: Sat Apr 23 20:17:26 2022 +1000 +Date: Tue Jul 5 16:23:28 2022 +1000 - Cache timezone data in capsicum sandbox. - - From emaste at freebsd.org, originally part of FreeBSD commit r339216 - / fc3c19a9 with autoconf bits added by me. + Add GCC address sanitizer build/test. -commit c31404426d212e2964ff9e5e58e1d0fce3d83f27 -Author: dtucker@openbsd.org -Date: Thu Apr 21 01:36:46 2022 +0000 +commit 55c60bdd39b82457e92efa77da8d16cfa6a49391 +Author: Darren Tucker +Date: Tue Jul 5 12:02:33 2022 +1000 - upstream: It looks like we can't completely avoid - - waiting for processes to exit so retrieve the pid via controlmaster and - use that. - - OpenBSD-Regress-ID: 8246f00f22b14e49d2ff1744c94897ead33d457b + Move sanitizer logs into regress for collection. -commit d19b21afab5c8e2f3df6bd8aee9766bdad3d8c58 +commit 35ef2b3b6ef198f8574904a45780487ec2f17858 Author: dtucker@openbsd.org -Date: Wed Apr 20 13:25:55 2022 +0000 +Date: Mon Jul 4 09:10:31 2022 +0000 - upstream: Use ssh -f and ControlPersist .. + upstream: Add TEST_REGRESS_CACHE_DIR. - to start up test forwards and ssh -O stop to shut them down intead of - sleep loops. This speeds up the test by an order of magnitude. + If set, it is used to cache regress test names that have succeeded and + skip those on a re-run. - OpenBSD-Regress-ID: eb3db5f805100919b092a3b2579c611fba3e83e7 + OpenBSD-Regress-ID: a7570dd29a58df59f2cca647c3c2ec989b49f247 -commit 5f76286a126721fa005de6edf3d1c7a265555f19 -Author: dtucker@openbsd.org -Date: Wed Apr 20 05:24:13 2022 +0000 +commit 7394ed80c4de8b228a43c8956cf2fa1b9c6b2622 +Author: Darren Tucker +Date: Sun Jul 3 21:46:44 2022 +1000 - upstream: Simplify forward-control test. - - Since we no longer need to support SSH1 we don't need to run shell - commands on the other end of the connection and can use ssh -N instead. - This also makes the test less racy. + Add clang sanitizer tests. + +commit bfce0e66b6017a9bfab450b9dc7d4b16f90de817 +Author: Darren Tucker +Date: Sun Jul 3 18:14:09 2022 +1000 + + Skip all rlimit tests when sandboxing disabled. - OpenBSD-Regress-ID: 32e94ce272820cc398f30b848b2b0f080d10302c + The rlimit tests can hang when being run with some compiler sanitizers + so skip all of them if sandbox=no. -commit 687bbf23572d8bdf25cbbcdf8ac583514e1ba710 -Author: djm@openbsd.org -Date: Thu Mar 31 03:07:33 2022 +0000 +commit 6208d611520f9ea94d5369f9da404b709930029d +Author: Darren Tucker +Date: Sun Jul 3 17:54:49 2022 +1000 - upstream: regression test for sftp cp command + Move checks for pollfd.fd and nfds_t. - OpenBSD-Regress-ID: c96bea9edde3a384b254785e7f9b2b24a81cdf82 + Move the checks for struct pollfd.fd and nfds_t to before the sandboxing + checks. This groups all the sandbox checks together so we can skip them + all when sandboxing is disabled. -commit f1233f19a6a9fe58f52946f50df4772f5b136761 +commit 322964f8f2e9c321e77ebae1e4d2cd0ccc5c5a0b Author: dtucker@openbsd.org -Date: Wed Apr 20 01:13:47 2022 +0000 +Date: Fri Jul 1 05:08:23 2022 +0000 - upstream: Import regenerated moduli + upstream: Remove leftover line. - OpenBSD-Commit-ID: f9a0726d957cf10692a231996a1f34e7f9cdfeb0 + Remove extra line leftover from merge conflict. ok djm@ + + OpenBSD-Commit-ID: 460e2290875d7ae64971a7e669c244b1d1c0ae2e -commit fec014785de198b9a325d1b94e324bb958c5fe7b +commit 7ec81daad0e03a64e8d91c5590960c48c1a899a3 Author: djm@openbsd.org -Date: Wed Apr 20 04:19:11 2022 +0000 +Date: Fri Jul 1 04:45:50 2022 +0000 - upstream: Try to continue running local I/O for channels in state + upstream: use consistent field names (s/char/byte) - OPEN during SSH transport rekeying. The most visible benefit is that it - should make ~-escapes work in the client (e.g. to exit) if the connection - happened to have stalled during a rekey event. Based work by and ok dtucker@ + in format description - OpenBSD-Commit-ID: a66e8f254e92edd4ce09c9f750883ec8f1ea5f45 + OpenBSD-Commit-ID: 3de33572733ee7fcfd7db33d37db23d2280254f0 -commit e68154b0d4f0f5085a050ea896955da1b1be6e30 -Author: dtucker@openbsd.org -Date: Wed Apr 20 01:13:47 2022 +0000 +commit 32e82a392d9f263485effdd606ff5862d289a4a0 +Author: Darren Tucker +Date: Fri Jul 1 13:55:19 2022 +1000 - upstream: Import regenerated moduli + Skip select+rlimit check if sandboxing is disabled - OpenBSD-Commit-ID: f9a0726d957cf10692a231996a1f34e7f9cdfeb0 + It's not needed in that case, and the test can fail when being built + with some compiler memory sanitizer flags. bz#3441 -commit 69928b106d8f0fa15b88cf3850d992ed81c44ae0 -Author: tj@openbsd.org -Date: Sat Apr 16 00:22:31 2022 +0000 +commit 4be7184ebe2a2ccef175983517a35ee06766e1b4 +Author: djm@openbsd.org +Date: Fri Jul 1 03:52:57 2022 +0000 - upstream: list the correct version number + upstream: bump up loglevel from debug to info when unable to open - for when usage of the sftp protocol became default and fix a typo - from ed maste + authorized keys/principals file for errno != ENOENT; bz2042 ok dtucker - OpenBSD-Commit-ID: 24e1795ed2283fdeacf16413c2f07503bcdebb31 + OpenBSD-Commit-ID: e79aa550d91ade6a80f081bda689da24c086d66b -commit 21042a05c0b304c16f655efeec97438249d2e2cc +commit 6c31ba10e97b6953c4f325f526f3e846dfea647a Author: dtucker@openbsd.org -Date: Tue Apr 12 05:09:49 2022 +0000 +Date: Fri Jul 1 03:39:44 2022 +0000 - upstream: Correct path for system known hosts file in description + upstream: Don't leak the strings allocated by order_hostkeyalgs() - of IgnoreUserKnownHosts. Patch from Martin Vahlensieck via tech@ + and list_hostkey_types() that are passed to compat_pkalg_proposal(). Part of + github PR#324 from ZoltanFridrich, ok djm@ - OpenBSD-Commit-ID: 9b7784f054fa5aa4d63cb36bd563889477127215 - -commit 53f4aff60a7c1a08a23917bd47496f8901c471f5 -Author: Darren Tucker -Date: Sat Apr 16 14:33:20 2022 +1000 - - Resync moduli.5 with upstream. + This is a roll-forward of the previous rollback now that the required + changes in compat.c have been done. - 1.18: remove duplicate publication year; carsten dot kunze at arcor dot de - 1.19: ssh-keygen's -G/-T have been replaced with -M generate/screen. + OpenBSD-Commit-ID: c7cd93730b3b9f53cdad3ae32462922834ef73eb -commit d2b888762b9844eb0d8eb59909cdf5af5159f810 -Author: Darren Tucker -Date: Sat Apr 16 14:31:13 2022 +1000 +commit 486c4dc3b83b4b67d663fb0fa62bc24138ec3946 +Author: dtucker@openbsd.org +Date: Fri Jul 1 03:35:45 2022 +0000 - Retire fbsd6 test VM. + upstream: Always return allocated strings from the kex filtering so - It's long since out of support, relatively slow (it's i686) and the - compiler has trouble with PIE. + that we can free them later. Fix one leak in compat_kex_proposal. Based on + github PR#324 from ZoltanFridrich with some simplications by me. ok djm@ + + OpenBSD-Commit-ID: 9171616da3307612d0ede086fd511142f91246e4 -commit cd1f70009860a154b51230d367c55ea5f9a4504e +commit 96faa0de6c673a2ce84736eba37fc9fb723d9e5c Author: djm@openbsd.org -Date: Mon Apr 11 22:52:08 2022 +0000 +Date: Fri Jul 1 00:36:30 2022 +0000 - upstream: clear io_want/io_ready flags at start of poll() cycle; + upstream: ignore SIGPIPE earlier in main(), specifically before - avoids plausible spin during rekeying if channel io_want flags are reused - across cycles. ok markus@ deraadt@ + muxclient() which performs operations that could cause one; Reported by Noam + Lewis via bz3454, ok dtucker@ - OpenBSD-Commit-ID: 91034f855b7c73cd2591657c49ac30f10322b967 + OpenBSD-Commit-ID: 63d8e13276869eebac6d7a05d5a96307f9026e47 -commit aa1920302778273f7f94c2091319aba199068ca0 -Author: dtucker@openbsd.org -Date: Fri Apr 8 05:43:39 2022 +0000 +commit 33efac790f6b09d54894ba6c3e17dfb08b6fc7e1 +Author: jmc@openbsd.org +Date: Tue Jun 28 06:09:14 2022 +0000 - upstream: Note that curve25519-sha256 was later published in - - RFC8731. ok djm@ + upstream: reflect the update to -D arg name in usage(); - OpenBSD-Commit-ID: 2ac2b5d642d4cf5918eaec8653cad9a4460b2743 + OpenBSD-Commit-ID: abdcde4f92b1ef094ae44210ee99d3b0155aad9c -commit 4673fa8f2be983f2f88d5afd754adb1a2a39ec9e +commit c71a1442d02f0a3586109dfe2cb366de36dee08e +Author: Darren Tucker +Date: Wed Jun 29 18:28:47 2022 +1000 + + Update OpenSSL tests to the most recent releases. + +commit 2a822f29300b2de7335fbff65f0b187a0c582304 Author: djm@openbsd.org -Date: Fri Apr 8 04:40:40 2022 +0000 +Date: Mon Jun 27 21:41:55 2022 +0000 - upstream: two defensive changes from Tobias Stoeckmann via GHPR287 + upstream: allow arguments to sftp -D option, e.g. sftp -D - enforce stricter invarient for sshbuf_set_parent() - never allow - a buffer to have a previously-set parent changed. + "/usr/libexec/sftp-server -el debug3" - In sshbuf_reset(), if the reallocation fails, then zero the entire - buffer and not the (potentially smaller) default initial alloc size. + ok markus@ - OpenBSD-Commit-ID: 14583203aa5d50ad38d2e209ae10abaf8955e6a9 + OpenBSD-Commit-ID: 5a002b9f3a7aef2731fc0ffa9c921cf15f38ecce -commit 26eef015e2d2254375e13afaaf753b78932b1bf5 -Author: Damien Miller -Date: Mon Apr 11 16:07:09 2022 +1000 +commit 2369a2810187e08f2af5d58b343956062fb96ee8 +Author: dtucker@openbsd.org +Date: Fri Jun 24 10:45:06 2022 +0000 - Revert "update build-aux files to match autoconf-2.71" + upstream: Roll back previous KEX changes as they aren't safe until - This reverts commit 0a8ca39fac6ad19096b6c263436f8b2dd51606f2. + compat_pkalg_proposal and friends always allocate their returned strings. + Reported by Qualys. - It turns out that the checked-in copies of these files are actually newer - than autoconf-2.71's copies, so this was effectively a downgrade. - Spotted by Bo Anderson via github + OpenBSD-Commit-ID: 1c7a88a0d5033f42f88ab9bec58ef1cf72c81ad0 -commit 0a8ca39fac6ad19096b6c263436f8b2dd51606f2 -Author: Damien Miller -Date: Fri Apr 8 14:48:58 2022 +1000 +commit 646686136c34c2dbf6a01296dfaa9ebee029386d +Author: dtucker@openbsd.org +Date: Fri Jun 24 04:37:00 2022 +0000 - update build-aux files to match autoconf-2.71 + upstream: Don't leak the strings allocated by order_hostkeyalgs() - i.e. config.guess, config.sub and install-sh + and list_hostkey_types() that are passed to compat_pkalg_proposal(). Part of + github PR#324 from ZoltanFridrich, ok djm@ + + OpenBSD-Commit-ID: b2f6e5f60f2bba293b831654328a8a0035ef4a1b -commit 94eb6858efecc1b4f02d8a6bd35e149f55c814c8 +commit 193c6d8d905dde836b628fc07a7b9cf2d347e2a3 +Author: Darren Tucker +Date: Sat Jun 25 12:16:15 2022 +1000 + + Zero out LIBFIDO2 when SK support not usable. + + Prevents us from trying to link them into ssh-sk-helper and failing to + build. + +commit 40f5d849d25c60b4ae21261e78484d435f5cfd51 +Author: Darren Tucker +Date: Sat Jun 25 11:47:28 2022 +1000 + + Disable SK support if FIDO libs not found. + +commit 5fd922ade1b25880fe8a8249f5c0385e413108f9 Author: Damien Miller -Date: Wed Apr 6 10:47:48 2022 +1000 +Date: Fri Jun 24 14:43:54 2022 +1000 - update version numbers for release + fix broken case statement in previous -commit 8e4a8eadf4fe74e65e6492f34250f8cf7d67e8da -Author: djm@openbsd.org -Date: Mon Apr 4 22:45:25 2022 +0000 +commit f51423bdaf0008d46b6af082bcfd7a22a87375f0 +Author: Damien Miller +Date: Fri Jun 24 14:40:42 2022 +1000 - upstream: openssh-9.0 + request 1.1x API compatibility for OpenSSL >=3.x - OpenBSD-Commit-ID: 0dfb461188f4513ec024c1534da8c1ce14c20b64 + idea/patch from Pedro Martelletto via GHPR#322; ok dtucker@ -commit a9f23ea2e3227f406880c2634d066f6f50fa5eaa -Author: naddy@openbsd.org -Date: Thu Mar 31 17:58:44 2022 +0000 +commit 455cee8d6c2e4c48c5af9faead3599c49948411e +Author: djm@openbsd.org +Date: Fri Jun 24 04:27:14 2022 +0000 - upstream: ssh: document sntrup761x25519-sha512@openssh.com as + upstream: make it clear that RekeyLimit applies to both transmitted - default KEX + and received data. GHPR#328 from Jan Pazdziora - OpenBSD-Commit-ID: 12545bfa10bcbf552d04d9d9520d0f4e98b0e171 + OpenBSD-Commit-ID: d180a905fec9ff418a75c07bb96ea41c9308c3f9 -commit 9ec2713d122af79d66ebb9c1d6d9ae8621a8945f -Author: naddy@openbsd.org -Date: Thu Mar 31 17:27:27 2022 +0000 +commit 17904f05802988d0bb9ed3c8d1d37411e8f459c3 +Author: tobhe@openbsd.org +Date: Tue Jun 21 14:52:13 2022 +0000 - upstream: man pages: add missing commas between subordinate and - - main clauses + upstream: Make sure not to fclose() the same fd twice in case of an - jmc@ dislikes a comma before "then" in a conditional, so leave those - untouched. + error. - ok jmc@ + ok dtucker@ - OpenBSD-Commit-ID: 9520801729bebcb3c9fe43ad7f9776ab4dd05ea3 + OpenBSD-Commit-ID: e384c4e05d5521e7866b3d53ca59acd2a86eef99 -commit 3741df98ffaaff92b474ee70d8ef276b5882f85a -Author: Darren Tucker -Date: Mon Apr 4 23:52:11 2022 +1000 +commit f29d6cf98c25bf044079032d22c1a57c63ab9d8e +Author: dtucker@openbsd.org +Date: Sat Jun 18 02:17:16 2022 +0000 - Disable security key on fbsd6 test host. + upstream: Don't attempt to fprintf a null identity comment. From + + Martin Vahlensieck via tech@. + + OpenBSD-Commit-ID: 4c54d20a8e8e4e9912c38a7b4ef5bfc5ca2e05c2 -commit 32c12236f27ae83bfe6d2983b67c9bc67a83a417 -Author: Darren Tucker -Date: Mon Apr 4 15:16:51 2022 +1000 +commit ad1762173bb38716a106e8979806149fd0f2753e +Author: dtucker@openbsd.org +Date: Fri Jun 17 01:00:03 2022 +0000 - Specify TEST_SHELL=bash on AIX. + upstream: Log an error if pipe() fails while accepting a - The system shells cause the agent-restrict test to fail due to some - quoting so explicitly specify bash until we can get configure to - autmatically work around that. + connection. bz#3447, from vincent-openssh at vinc17 net, ok djm@ + + OpenBSD-Commit-ID: 9d59f19872b94900a5c79da2d57850241ac5df94 -commit 90452c8b69d065b7c7c285ff78b81418a75bcd76 -Author: Darren Tucker -Date: Fri Apr 1 23:38:44 2022 +1100 +commit 9c59e7486cc8691401228b43b96a3edbb06e0412 +Author: Damien Miller +Date: Fri Jun 24 14:20:43 2022 +1000 - Only return events from ppoll that were requested. + automatically enable built-in FIDO support - If the underlying system's select() returns bits that were not in the - request set, our ppoll() implementation can return revents for events - not requested, which can apparently cause a hang. Only return revents - for activity in the requested event set. bz#3416, analysis and fix by - yaroslav.kuzmin at vmssoftware com, ok djm@ + If libfido2 is found and usable, then enable the built-in + security key support unless --without-security-key-builtin + was requested. + + ok dtucker@ -commit 6c49eb5fabc56f4865164ed818aa5112d09c31a8 -Author: Darren Tucker -Date: Fri Apr 1 23:21:40 2022 +1100 +commit 7d25b37fb2a5ff4dadabcbdac6087a97479434f5 +Author: Damien Miller +Date: Fri Jun 24 13:46:39 2022 +1000 - Only run regression tests on slow VMs. + fix possible NULL deref when built without FIDO + + Analysis/fix from kircher in bz3443; ok dtucker@ -commit f67e47903977b42cb6abcd5565a61bd7293e4dc3 -Author: Darren Tucker -Date: Fri Apr 1 23:21:06 2022 +1100 +commit f5ba85daddfc2da6a8dab6038269e02c0695be44 +Author: djm@openbsd.org +Date: Wed Jun 15 16:08:25 2022 +0000 - Increase test timeout to allow slow VMs to finish - -commit 02488c1b54065ddc4f25835dbd2618b2a2fe21f5 -Author: Darren Tucker -Date: Fri Apr 1 16:27:38 2022 +1100 - - Use bash or ksh if available for SH in Makefile. - -commit 34c7018c316af4773e432066de28d0ef9d0888cd -Author: Darren Tucker -Date: Fri Apr 1 14:56:54 2022 +1100 - - Set Makefile SHELL as determined by configure. + upstream: make sure that UseDNS hostname lookup happens in the monitor - This should improve compatibility for users with non-POSIX shells. If - using Makefile.in directly (eg make -f Makefile.in distprep) then SHELL - will need to be specified on the command line (along with MANFMT in that - particular case). ok djm@ - -commit 5b054d76402faab38c48377efd112426469553a0 -Author: Darren Tucker -Date: Fri Apr 1 13:16:47 2022 +1100 - - Skip slow tests on (very) slow test targets. - -commit b275818065b31a865142c48c2acf6a7c1655c542 -Author: Damien Miller -Date: Thu Mar 31 14:11:36 2022 +1100 - - depend + and not in the pledge(2)'d unprivileged process; fixes regression caused by + recent refactoring spotted by henning@ + + OpenBSD-Commit-ID: a089870b95101cd8881a2dff65b2f1627d13e88d -commit 3fa539c3ffaabd6211995512d33e29150f88c5c5 +commit acb2059febaddd71ee06c2ebf63dcf211d9ab9f2 Author: djm@openbsd.org -Date: Thu Mar 31 03:07:03 2022 +0000 +Date: Fri Jun 3 04:47:21 2022 +0000 - upstream: add a sftp client "cp" command that supports server-side + upstream: move auth_openprincipals() and auth_openkeyfile() over to - copying of files. Useful for this task and for testing the copy-data - extension. Patch from Mike Frysinger; ok dtucker@ + auth2-pubkeyfile.c too; they make more sense there. - OpenBSD-Commit-ID: 1bb1b950af0d49f0d5425b1f267e197aa1b57444 + OpenBSD-Commit-ID: 9970d99f900e1117fdaab13e9e910a621b7c60ee -commit 7988bfc4b701c4b3fe9b36c8561a3d1c5d4c9a74 +commit 3d9b0845f34510111cc693bb99a667662ca50cd8 Author: djm@openbsd.org -Date: Thu Mar 31 03:05:49 2022 +0000 +Date: Fri Jun 3 04:31:54 2022 +0000 - upstream: add support for the "corp-data" protocol extension to + upstream: test setenv in both client and server, test first-match-wins - allow server-side copies to be performed without having to go via the client. - Patch by Mike Frysinger, ok dtucker@ + too - OpenBSD-Commit-ID: 00aa510940fedd66dab1843b58682de4eb7156d5 + OpenBSD-Regress-ID: 4c8804f9db38a02db480b9923317457b377fe34b -commit 32dc1c29a4ac9c592ddfef0a4895eb36c1f567ba +commit 22e1a3a71ad6d108ff0c5f07f93c3fcbd30f8b40 Author: djm@openbsd.org -Date: Wed Mar 30 21:13:23 2022 +0000 +Date: Fri Jun 3 04:30:46 2022 +0000 - upstream: select post-quantum KEX + upstream: Make SetEnv directives first-match-wins in both - sntrup761x25519-sha512@openssh.com as the default; ok markus@ + sshd_config and sshd_config; previously if the same name was reused then the + last would win (which is the opposite to how the config is supposed to work). - OpenBSD-Commit-ID: f02d99cbfce22dffec2e2ab1b60905fbddf48fb9 - -commit d6556de1db0822c76ba2745cf5c097d9472adf7c -Author: djm@openbsd.org -Date: Wed Mar 30 21:10:25 2022 +0000 - - upstream: fix poll() spin when a channel's output fd closes without + While there, make the ssh_config parsing more like sshd_config. - data in the channel buffer. Introduce more exact packing of channel fds into - the pollfd array. fixes bz3405 and bz3411; ok deraadt@ markus@ + bz3438, ok dtucker - OpenBSD-Commit-ID: 06740737849c9047785622ad5d472cb6a3907d10 + OpenBSD-Commit-ID: 797909c1e0262c0d00e09280459d7ab00f18273b -commit 8a74a96d25ca4d32fbf298f6c0ac5a148501777d -Author: djm@openbsd.org -Date: Wed Mar 30 04:33:09 2022 +0000 +commit 38ed6c57e9e592c08e020fa6e82b45b4e1040970 +Author: dtucker@openbsd.org +Date: Fri Jun 3 04:00:15 2022 +0000 - upstream: ssh is almost out of getopt() characters; note the + upstream: Add missing *-sk types to ssh-keyscan manpage. From - remaining remaining available ones in a comment + skazi0 via github PR#294. - OpenBSD-Commit-ID: 48d38cef59d6bc8e84c6c066f6d601875d3253fd + OpenBSD-Commit-ID: fda2c869cdb871f3c90a89fb3f985370bb5d25c0 -commit 6d4fc51adb9d8a42f67b5474f02f877422379de6 -Author: djm@openbsd.org -Date: Wed Mar 30 04:27:51 2022 +0000 +commit ea97ec98c41ec2b755dfab459347db674ff9a5de +Author: dtucker@openbsd.org +Date: Fri Jun 3 03:21:09 2022 +0000 - upstream: avoid NULL deref via ssh-keygen -Y find-principals. + upstream: Add period at end of "not known by any other names" - bz3409, reported by Mateusz Adamowski + message. github PR#320 from jschauma, ok djm@ - OpenBSD-Commit-ID: a3b2c02438052ee858e0ee18e5a288586b5df2c5 + OpenBSD-Commit-ID: bd60809803c4bfd3ebb7c5c4d918b10e275266f2 -commit e937514920335b92b543fd9be79cd6481d1eb0b6 -Author: Darren Tucker -Date: Mon Mar 28 17:51:03 2022 +1100 +commit 88e376fcd67478ad1660d94bc73ab348ac9f4527 +Author: dtucker@openbsd.org +Date: Fri Jun 3 03:17:42 2022 +0000 - Add AIX 5.1 test target. + upstream: ssh-keygen -A: do not generate DSA keys by default. + + Based on github PR#303 from jsegitz with man page text from jmc@, ok markus@ + djm@ + + OpenBSD-Commit-ID: 5c4c57bdd7063ff03381cfb6696659dd3f9f5b9f -commit 4bbe815ba974b4fd89cc3fc3e3ef1be847a0befe -Author: Darren Tucker -Date: Sat Mar 26 22:01:31 2022 +1100 +commit 6b3fb624675082a1e5aa615d1b8479873d8b5731 +Author: naddy@openbsd.org +Date: Tue May 31 14:05:12 2022 +0000 - Drop leading "v" from release version identifier. + upstream: ssh-keygen: implement "verify-required" certificate option. - It's present in the git tags but not in the release tarball names. - Also drop extra "/" from URL path. + This was already documented when support for user-verified FIDO + keys was added, but the ssh-keygen(1) code was missing. + + ok djm@ + + OpenBSD-Commit-ID: f660f973391b593fea4b7b25913c9a15c3eb8a06 -commit f5cdd3b3c275dffaebfca91df782dca29975e9ac -Author: Darren Tucker -Date: Sat Mar 26 16:28:04 2022 +1100 +commit b7f86ffc301be105bba9a3e0618b6fab3ae379bd +Author: jmc@openbsd.org +Date: Sat May 28 05:57:56 2022 +0000 - Use tarballs when testing LibreSSL releases. + upstream: keywords ref ssh_config.5; - This means they'll still work when the combination of -portable and - openbsd github repos no longer match. + from caspar schutijser + + OpenBSD-Commit-ID: f146a19d7d5c9374c3b9c520da43b2732d7d1a4e -commit 24dc37d198f35a7cf71bf4d5384363c7ef4209d4 -Author: Darren Tucker -Date: Sat Mar 26 15:02:45 2022 +1100 +commit dc7bc52372f2744fa39191577be5306ee57aacd4 +Author: Damien Miller +Date: Mon May 30 09:29:09 2022 +1000 - Remove now-unused passwd variable. + fix some bugs in the fuzzer -commit 5b467ceef2c356f0a77f5e8ab4eb0fac367e4d24 +commit 1781f507c113667613351c19898efaf1e311a865 Author: Darren Tucker -Date: Sat Mar 26 13:15:44 2022 +1100 +Date: Fri May 27 18:19:48 2022 +1000 - Missing semicolon. + Test against OpenSSL 1.1.1o and 3.0.3. -commit 2923d026e55998133c0f6e5186dca2a3c0fa5ff5 +commit c53906e0c59e569691b4095d3e8db79cf78fa058 Author: Darren Tucker -Date: Sat Mar 26 12:49:50 2022 +1100 +Date: Fri May 27 18:18:31 2022 +1000 - Factor out platform-specific locked account check. - - Also fixes an incorrect free on platforms with both libiaf and shadow - passwords (probably only Unixware). Prompted by github PR#284, - originally from @c3h2_ctf and stoeckmann@. + Test against LibreSSL 3.5.3. -commit d23efe4b12886ffe416be10bc0a7da6ca8aa72d1 -Author: Darren Tucker -Date: Sat Mar 26 08:13:46 2022 +1100 +commit 9b3ad432ad2f19319bcc089370e356c6315d682f +Author: Damien Miller +Date: Fri May 27 17:00:43 2022 +1000 - Add OpenWRT mips and mipsel test targets. + fuzzer for authorized_keys parsing + + mostly redundant to authopt_fuzz, but it's sensitive code so IMO it + makes sense to test this layer too -commit 16ea8b85838dd7a4dbeba4e51ac4f43fd68b1e5b +commit c83d8c4d6f3ccceef84d46de107f6b71cda06359 Author: djm@openbsd.org -Date: Sun Mar 20 08:52:17 2022 +0000 +Date: Fri May 27 05:02:46 2022 +0000 - upstream: don't leak argument list; bz3404, reported by Balu + upstream: split the low-level file handling functions out from - Gajjala ok dtucker@ + auth2-pubkey.c - OpenBSD-Commit-ID: fddc32d74e5dd5cff1a49ddd6297b0867eae56a6 + Put them in a new auth2-pubkeyfile.c to make it easier to refer to them + (e.g. in unit/fuzz tests) without having to refer to everything else + pubkey auth brings in. + + ok dtucker@ + + OpenBSD-Commit-ID: 3fdca2c61ad97dc1b8d4a7346816f83dc4ce2217 -commit a72bde294fe0518c9a44ba63864093a1ef2425e3 +commit 3b0b142d2a0767d8cd838e2f3aefde8a0aaa41e1 Author: djm@openbsd.org -Date: Sun Mar 20 08:51:21 2022 +0000 +Date: Fri May 27 05:01:25 2022 +0000 - upstream: make addargs() and replacearg() a little more robust and - - improve error reporting + upstream: refactor authorized_keys/principals handling - make freeargs(NULL) a noop like the other free functions + remove "struct ssh *" from arguments - this was only used to pass the + remote host/address. These can be passed in instead and the resulting + code is less tightly coupled to ssh_api.[ch] - ok dtucker as part of bz3403 + ok dtucker@ - OpenBSD-Commit-ID: 15f86da83176978b4d1d288caa24c766dfa2983d + OpenBSD-Commit-ID: 9d4373d013edc4cc4b5c21a599e1837ac31dda0d -commit 731087d2619fa7f01e675b23f57af10d745e8af2 -Author: djm@openbsd.org -Date: Fri Mar 18 04:04:11 2022 +0000 +commit 2c334fd36f80cb91cc42e4b978b10aa35e0df236 +Author: dtucker@openbsd.org +Date: Fri May 27 04:29:40 2022 +0000 - upstream: don't try to resolve ListenAddress directives in the sshd + upstream: f sshpkt functions fail, then password is not cleared - re-exec path - we're never going to use the result and if the operation fails - then it can prevent connections from being accepted. Reported by Aaron - Poffenberger; with / ok dtucker@ + with freezero. Unconditionally call freezero to guarantee that password is + removed from RAM. - OpenBSD-Commit-ID: 44c53a43909a328e2f5ab26070fdef3594eded60 + From tobias@ and c3h2_ctf via github PR#286, ok djm@ + + OpenBSD-Commit-ID: 6b093619c9515328e25b0f8093779c52402c89cd -commit 1c83c082128694ddd11ac05fdf31d70312ff1763 -Author: djm@openbsd.org -Date: Fri Mar 18 02:50:21 2022 +0000 +commit 5d3a77f4c5ae774c6796387266503f52c7cdc7c2 +Author: dtucker@openbsd.org +Date: Fri May 27 04:27:49 2022 +0000 - upstream: remove blank line + upstream: Avoid kill with -1 argument. The out_ctx label can be - OpenBSD-Commit-ID: d5e0182965b2fbfb03ad5f256d1a1ce5706bcddf + reached before fork has been called. If this happens, then kill -1 would be + called, sending SIGTERM to all processes reachable by the current process. + + From tobias@ and c3h2_ctf via github PR#286, ok djm@ + + OpenBSD-Commit-ID: 6277af1207d81202f5daffdccfeeaed4c763b1a8 -commit 807be68684da7a1fe969c399ddce2fafb7997dcb -Author: djm@openbsd.org -Date: Fri Mar 18 02:32:22 2022 +0000 +commit 533b31cd08e4b97f455466f91c36915e2924c15a +Author: dtucker@openbsd.org +Date: Fri May 27 04:13:24 2022 +0000 - upstream: helpful comment + upstream: Note that ProxyJump also accepts the same tokens as - OpenBSD-Commit-ID: e3315a45cb04e7feeb614d76ec80a9fe4ca0e8c7 + ProxyCommand. From pallxk via github PR#305. + + OpenBSD-Commit-ID: 7115ac351b129205f1f1ffa6bbfd62abd76be7c5 -commit a0b5816f8f1f645acdf74f7bc11b34455ec30bac +commit 9d8c80f8a304babe61ca28f2e3fb5eb6dc9c39bf Author: djm@openbsd.org -Date: Fri Mar 18 02:31:25 2022 +0000 +Date: Wed May 25 06:03:44 2022 +0000 - upstream: ssh-keygen -Y check-novalidate requires namespace or SEGV - - will ensue. Patch from Mateusz Adamowski via GHPR#307 + upstream: revert previous; it was broken (spotted by Theo) - OpenBSD-Commit-ID: 99e8ec38f9feb38bce6de240335be34aedeba5fd + OpenBSD-Commit-ID: 457c79afaca2f89ec2606405c1059b98b30d8b0d -commit 5a252d54a63be30d5ba4be76210942d754a531c0 +commit 9e0d02ef7ce88b67643bfb1c2272c9f5f04cc680 Author: djm@openbsd.org -Date: Tue Mar 15 05:27:37 2022 +0000 - - upstream: improve DEBUG_CHANNEL_POLL debugging message - - OpenBSD-Commit-ID: 2275eb7bc4707d019b1a0194b9c92c0b78da848f - -commit ce324cf58ba2840e31afeb996935800780c8fa4b -Author: cheloha@openbsd.org -Date: Sun Mar 13 23:27:54 2022 +0000 +Date: Wed May 25 00:31:13 2022 +0000 - upstream: ssh: xstrdup(): use memcpy(3) - - Copying the given string into the buffer with strlcpy(3) confers no - benefit in this context because we have already determined the - string's length with strlen(3) in order to allocate that buffer. - - Thread: https://marc.info/?l=openbsd-tech&m=164687525802691&w=2 + upstream: make SSHBUF_DBG/SSHBUF_TELL (off by default and only enabled - ok dtucker@ millert@ + via #define) dump to stderr rather than stdout - OpenBSD-Commit-ID: f8bfc082e36e2d2dc4e1feece02fe274155ca11a + OpenBSD-Commit-ID: 10298513ee32db8390aecb0397d782d68cb14318 -commit 2893c5e764557f48f9d6a929e224ed49c59545db -Author: Darren Tucker -Date: Fri Mar 11 18:43:58 2022 +1100 +commit 2487163630f28be28b7e2396b4bd6511b98f1d3e +Author: Tim Rice +Date: Tue May 24 10:21:25 2022 -0700 - Resync fmt_scaled. with OpenBSD. - - Fixes underflow reported in bz#3401. + configure.ac: Add missing AC_DEFINE for caph_cache_tzdata test causing + HAVE_CAPH_CACHE_TZDATA to be missing from config.h.in. + Spotted by Bryan Drewery -commit 5ae31a0fdd27855af29f48ff027491629fff5979 -Author: Darren Tucker -Date: Wed Mar 9 09:41:56 2022 +1100 +commit bedb93415b60db3dfd704a3d525e82adb14a2481 +Author: djm@openbsd.org +Date: Sun May 15 23:48:07 2022 +0000 - Provide killpg implementation. + upstream: regress test for in-place transfers and clobbering larger - Based on github PR#301 for Tandem NonStop. + files with smaller ones; would have caught last regression in scp(1) + + OpenBSD-Regress-ID: 19de4e88dd3a4f7e5c1618c9be3c32415bd93bc2 -commit c41c84b439f4cd74d4fe44298a4b4037ddd7d2ae -Author: Darren Tucker -Date: Wed Mar 9 09:29:30 2022 +1100 +commit b4f0d719c2548cb74da509fb65f384dada4ebd37 +Author: anton@openbsd.org +Date: Fri Apr 22 05:08:43 2022 +0000 - Check for missing ftruncate prototype. + upstream: Only run agent-ptrace.sh if gdb is available as all - From github PR#301 in conjunction with rsbeckerca. + architectures do not ship with gdb. + + OpenBSD-Regress-ID: ec53e928803e6b87f9ac142d38888ca79a45348d -commit 8cf5275452a950869cb90eeac7d220b01f77b12e -Author: Darren Tucker -Date: Tue Mar 8 20:04:06 2022 +1100 +commit 9b73345f80255a7f3048026462f2c0c6a241eeac +Author: djm@openbsd.org +Date: Sun May 15 23:47:21 2022 +0000 - Default to not using sandbox when cross compiling. + upstream: fix in-place copies; r1.163 incorrectly skipped truncation in - On most systems poll(2) does not work when the number of FDs is reduced - with setrlimit, so assume it doesn't when cross compiling and we can't - run the test. bz#3398. + all cases, not just at the start of a transfer. This could cause overwrites + of larger files to leave junk at the end. Spotted by tb@ + + OpenBSD-Commit-ID: b189f19cd68119548c8e24e39c79f61e115bf92c -commit 379b30120da53d7c84aa8299c26b18c51c2a0dac +commit 56a0697fe079ff3e1ba30a2d5c26b5e45f7b71f8 Author: djm@openbsd.org -Date: Tue Mar 1 01:59:19 2022 +0000 +Date: Fri May 13 06:31:50 2022 +0000 - upstream: pack pollfd array before server_accept_loop() ppoll() + upstream: arrange for scp, when in sftp mode, to not ftruncate(3) files - call, and terminate sshd if ppoll() returns errno==EINVAL + early - avoids spin in ppoll when MaxStartups > RLIMIT_NOFILE, reported by - Daniel Micay + previous behavious of unconditionally truncating the destination file + would cause "scp ~/foo localhost:" and "scp localhost:foo ~/" to + delete all the contents of their destination. - feedback/ok deraadt + spotted by solene@ sthen@, also bz3431; ok dtucker@ - OpenBSD-Commit-ID: dbab1c24993ac977ec24d83283b8b7528f7c2c15 + OpenBSD-Commit-ID: ca39fdd39e0ec1466b9666f15cbcfddea6aaa179 -commit eceafbe0bdbbd9bd2f3cf024ccb350666a9934dd -Author: naddy@openbsd.org -Date: Sun Feb 27 01:33:59 2022 +0000 +commit fbcef70c2832712f027bccea1aa9bc4b4103da93 +Author: dtucker@openbsd.org +Date: Mon May 9 08:25:27 2022 +0000 - upstream: include rejected signature algorithm in error message and - - not the (useless) key type; ok djm@ + upstream: Remove errant apostrophe. From haruyama at queen-ml org. - OpenBSD-Commit-ID: d0c0f552a4d9161203e07e95d58a76eb602a76ff + OpenBSD-Commit-ID: dc6b294567cb84b384ad6ced9ca469f2bbf0bd10 -commit f2f3269423618a83157e18902385e720f9776007 -Author: dtucker@openbsd.org -Date: Fri Feb 25 09:46:24 2022 +0000 +commit 0086a286ea6bbd11ca9b664ac3bb12b27443d6eb +Author: djm@openbsd.org +Date: Mon May 9 03:09:53 2022 +0000 - upstream: Remove the char * casts from arguments to do_lstat, + upstream: Allow existing -U (use agent) flag to work with "-Y sign" - do_readdir and do_stat paths since the underlying functions now take a const - char *. Patch from vapier at gentoo.org. + operations, where it will be interpreted to require that the private keys is + hosted in an agent; bz3429, suggested by Adam Szkoda; ok dtucker@ - OpenBSD-Commit-ID: 9e4d964dbfb0ed683a2a2900711b88e7f1c0297b + OpenBSD-Commit-ID: a7bc69873b99c32c42c7628ed9ea91565ba08c2f -commit 4a66dac052c5ff5047161853f36904607649e4f9 +commit cb010744cc98f651b1029bb09efa986eb54e4ccf Author: djm@openbsd.org -Date: Fri Feb 25 02:09:27 2022 +0000 +Date: Sun May 8 22:58:35 2022 +0000 - upstream: save an unneccessary alloc/free, based on patch from + upstream: improve error message when 'ssh-keygen -Y sign' is unable to - Martin Vahlensieck; ok dtucker@ + load a private key; bz3429, reported by Adam Szkoda ok dtucker@ - OpenBSD-Commit-ID: 90ffbf1f837e509742f2c31a1fbf2c0fd376fd5f - -commit 6f117cb151efe138ac57bdd8e26165f350328f5f -Author: Darren Tucker -Date: Tue Mar 1 09:02:06 2022 +1100 - - Remove unused ivbits argument from chacha_keysetup - -commit 15974235dd528aeab0ec67fb92a0a1d733f62be2 -Author: Darren Tucker -Date: Tue Mar 1 09:00:20 2022 +1100 - - Add OPENBSD ORIGINAL marker. + OpenBSD-Commit-ID: bb57b285e67bea536ef81b1055467be2fc380e74 -commit f2ff669347d320532e7c1b63cdf5c62f46e73150 -Author: Darren Tucker -Date: Mon Feb 28 22:21:36 2022 +1100 +commit aa61fc82c63d309a90c22ca74fb1da6c6f4372fd +Author: Tobias Heider +Date: Mon May 9 02:00:01 2022 +0200 - No unused param warnings for clang-12 and gcc-11. + Remove duplicate bcrypt_pbkdf.o from Makefile - These have too many false positives in -Werror tests on the github CI - since we often provide empty stub functions for functionality not needed - for particular configurations. - -commit 96558ecd87adac62efa9a2b5479f686ab86b0be1 -Author: Darren Tucker -Date: Sat Feb 26 14:10:41 2022 +1100 - - Add debian-i386 test target. + bcrypt_pbkdf.o is duplicated in the openbsd-compat Makefile's object + file list. -commit 284b6e5394652d519e31782e3b3cdfd7b21d1a81 -Author: Darren Tucker -Date: Sat Feb 26 14:06:14 2022 +1100 +commit deb506d00da8d11fb04c1e7b9b1e1cc379c1705c +Author: djm@openbsd.org +Date: Sun May 8 22:32:36 2022 +0000 - Allow ppoll_time64 in seccomp sandbox. + upstream: When performing operations that glob(3) a remote path, ensure - Should fix sandbox violations on (some? at least i386 and armhf) 32bit - Linux platforms. Patch from chutzpahu at gentoo.org and cjwatson at - debian.org via bz#3396. - -commit 0132056efabc5edb85c3c7105d2fb6dee41843c6 -Author: Darren Tucker -Date: Fri Feb 25 19:47:48 2022 +1100 - - Improve handling of _getshort and _getlong. + that the implicit working directory used to construct that path escapes + glob(3) characters. - If the system native ones are exactly as required then use them, - otherwise use the local versions mapped to another name to prevent - name collisions. - -commit 8e206e0dd6b9f757b07979e48f53ad5bf9b7b52b -Author: Darren Tucker -Date: Fri Feb 25 15:14:22 2022 +1100 - - Constify utimes in compat library to match specs. + This prevents glob characters from being processed in places they + shouldn't, e.g. "cd /tmp/a*/", "get *.txt" should have the get operation + treat the path "/tmp/a*" literally and not attempt to expand it. - Patch from vapier at chromium.org. + Reported by Lusia Kundel; ok markus@ + + OpenBSD-Commit-ID: 4f647f58482cbad3d58b1eab7f6a1691433deeef -commit 1b2920e3b63db2eddebeec7330ffe8b723055573 +commit f38cf74f20b5da113cfa823afd5bfb5c6ba65f3d Author: Darren Tucker -Date: Fri Feb 25 13:50:56 2022 +1100 +Date: Fri May 6 14:50:18 2022 +1000 - ANSIfy getshort and getlong. - - These functions appear to have come from OpenBSD's lib/libc/net/res_comp.c - which made this change in 2005. + Also retest OpenBSD upstream on .yml changes. -commit 54a86f4f6e1c43a2ca2be23ef799ab8910d4af70 +commit f87a132800ba3710ab130d703448a31ef1128d77 Author: Darren Tucker -Date: Fri Feb 25 13:23:04 2022 +1100 +Date: Fri May 6 14:46:09 2022 +1000 - Use PICFLAG instead of hard coding -fPIC. + Note that, for now, we need variadic macros. -commit 3016ba47035ac3561aabd48e2be70167fe157d6a +commit 217b518e0f7c52c4b909e935141a55344c61e644 Author: Darren Tucker -Date: Fri Feb 25 11:37:11 2022 +1100 +Date: Fri May 6 14:39:34 2022 +1000 - Add tests for latest releases of {Libre,Open}SSL. + Add ubsan minimal testcase on OpenBSD. + + As suggested by djm@. -commit f107467179428a0e3ea9e4aa9738ac12ff02822d -Author: Colin Watson -Date: Thu Feb 24 16:04:18 2022 +0000 +commit 457dce2cfef6a48f5442591cd8b21c7e8cba13f8 +Author: djm@openbsd.org +Date: Thu May 5 01:04:14 2022 +0000 - Improve detection of -fzero-call-used-regs=all support + upstream: sshkey_unshield_private() contains a exact duplicate of - GCC doesn't tell us whether this option is supported unless it runs into - the situation where it would need to emit corresponding code. + the code in private2_check_padding(). Pull private2_check_padding() up so the + code can be reused. From Martin Vahlensieck, ok deraadt@ + + OpenBSD-Commit-ID: 876884c3f0e62e8fd8d1594bab06900f971c9c85 -commit 3383b2cac0e9275bc93c4b4760e6e048f537e1d6 +commit 0e44db4d9cb313e68a59a44d27884af66c02356e Author: djm@openbsd.org -Date: Wed Feb 23 21:21:49 2022 +0000 +Date: Thu May 5 00:56:58 2022 +0000 - upstream: free(3) wants stdlib.h + upstream: channel_new no longer frees remote_name. So update the - OpenBSD-Commit-ID: 227a8c70a95b4428c49e46863c9ef4bd318a3b8a + comment accordingly. As remote_name is not modified, it can be const as + well. From Martin Vahlensieck + + OpenBSD-Commit-ID: e4e10dc8dc9f40c166ea5a8e991942bedc75a76a -commit a4537e79ab4ac6db4493c5158744b9ebde5efcb0 +commit 37b62fd5caf19c85a48241535277cefff65adace Author: djm@openbsd.org -Date: Wed Feb 23 21:21:16 2022 +0000 +Date: Thu May 5 00:55:11 2022 +0000 - upstream: put back the scp manpage changes for SFTP mode too + upstream: mux.c: mark argument as const; from Martin Vahlensieck - OpenBSD-Commit-ID: 05dc53921f927e1b5e5694e1f3aa314549f2e768 + OpenBSD-Commit-ID: 69a1a93a55986c7c2ad9f733c093b46a47184341 -commit 449bcb8403adfb9724805d02a51aea76046de185 -Author: deraadt@openbsd.org -Date: Wed Feb 23 19:01:00 2022 +0000 +commit f4e67c0ad259b4cf10177277a5827fa5545bac53 +Author: markus@openbsd.org +Date: Wed May 4 07:31:22 2022 +0000 - upstream: and we go back to testing sftp-scp after the 8.9 - - release... + upstream: make sure stdout is non-blocking; ok djm@ - OpenBSD-Commit-ID: a80440168258adca543a4607b871327a279c569c - -commit 166456cedad3962b83b848b1e9caf80794831f0f -Author: Damien Miller -Date: Wed Feb 23 22:31:11 2022 +1100 - - makedepend + OpenBSD-Commit-ID: 64940fffbd1b882eda2d7c8c7a43c79368309c0d -commit 32ebaa0dbca5d0bb86e384e72bebc153f48413e4 -Author: djm@openbsd.org -Date: Wed Feb 23 11:18:13 2022 +0000 +commit e5c036d2092c00bef395e9161dc5ce42d4be9565 +Author: florian@openbsd.org +Date: Tue May 3 07:42:27 2022 +0000 - upstream: avoid integer overflow of auth attempts (harmless, caught + upstream: Add FIDO AUTHENTICATOR section and explain a bit how FIDO - by monitor) + works. The wording came mostly from the 8.2 OpenSSH release notes, addapted + to fit the man page. Then move the -O bits into the new section as is already + done for CERTIFICATES and MODULI GENERATION. Finally we can explain the + trade-offs of resident keys. While here, consistently refer to the FIDO + thingies as "FIDO authenticators", not "FIDO tokens". - OpenBSD-Commit-ID: 488ad570b003b21e0cd9e7a00349cfc1003b4d86 - -commit 6e0258c64c901753df695e06498b26f9f4812ea6 -Author: djm@openbsd.org -Date: Wed Feb 23 11:17:10 2022 +0000 - - upstream: randomise the password used in fakepw + input & OK jmc, naddy - OpenBSD-Commit-ID: 34e159f73b1fbf0a924a9c042d8d61edde293947 + OpenBSD-Commit-ID: dd98748d7644df048f78dcf793b3b63db9ab1d25 -commit bf114d6f0a9df0b8369823d9a0daa6c72b0c4cc9 -Author: djm@openbsd.org -Date: Wed Feb 23 11:15:57 2022 +0000 +commit 575771bf79bef7127be6aaccddc46031ea15529e +Author: jmc@openbsd.org +Date: Mon May 2 05:40:37 2022 +0000 - upstream: use asprintf to construct .rhosts paths + upstream: remove an obsolete rsa1 format example from an example; - OpenBSD-Commit-ID: 8286e8d3d2c6ff916ff13d041d1713073f738a8b + from megan batty + ok djm + + OpenBSD-Commit-ID: db2c89879c29bf083df996bd830abfb1e70d62bf -commit c07e154fbdc7285e9ec54e78d8a31f7325d43537 +commit 0bc6b4c8f04e292577bdb44d5dc6b630d3448087 Author: djm@openbsd.org -Date: Wed Feb 23 11:07:09 2022 +0000 +Date: Sun May 1 23:20:30 2022 +0000 - upstream: openssh-8.9 + upstream: fix some integer overflows in sieve_large() that show up when - OpenBSD-Commit-ID: 5c5f791c87c483cdab6d9266b43acdd9ca7bde0e + trying to generate modp groups > 16k bits. Reported via GHPR#306 by Bertram + Felgenhauer, but fixed in a different way. feedback/ok tb@ + + OpenBSD-Commit-ID: 81cbc6dd3a21c57bd6fadea10e44afe37bca558e -commit bc16667b4a1c3cad7029304853c143a32ae04bd4 -Author: Darren Tucker -Date: Tue Feb 22 15:29:22 2022 +1100 +commit a45615cb172bc827e21ec76750de39dfb30ecc05 +Author: djm@openbsd.org +Date: Fri Apr 29 04:55:07 2022 +0000 - Extend select+rlimit sanbox test to include poll. + upstream: be stricter in which characters will be accepted in - POSIX specifies that poll() shall fail if "nfds argument is greater - than {OPEN_MAX}". The setrlimit sandbox sets this to effectively zero - so this causes poll() to fail in the preauth privsep process. + specifying a mask length; allow only 0-9. From khaleesicodes via GHPR#278; ok + dtucker@ - This is likely the underlying cause for the previously observed similar - behaviour of select() on plaforms where it is implement in userspace on - top of poll(). + OpenBSD-Commit-ID: e267746c047ea86665cdeccef795a8a56082eeb2 -commit 6520c488de95366be031d49287ed243620399e23 +commit 4835544d2dd31de6ffc7dba59f92093aea98155b Author: Darren Tucker -Date: Tue Feb 22 13:08:59 2022 +1100 +Date: Sat Apr 30 10:56:41 2022 +1000 - Add Alpine Linux test VM. + Add Mac OS X 12 test target. -commit a4b325a3fc82d11e0f5d61f62e7fde29415f7afb +commit 97a6a8b8c1f2da09712d0e72d0ef800e4edd34cd Author: Darren Tucker -Date: Tue Feb 22 12:27:07 2022 +1100 +Date: Fri Apr 29 18:27:34 2022 +1000 - Include sys/param.h if present. + Only run tests when source files change. - Needed for howmany() on MUSL systems such as Alpine. + Also run tests on changes to V_9_0 branch. -commit 5a102e9cb287a43bd7dfe594b775a89a8e94697c +commit 6d0392b9ff4b50a56ac5685d1b9392e2cd432ca3 Author: Darren Tucker -Date: Tue Feb 22 12:25:52 2022 +1100 +Date: Fri Apr 29 18:22:34 2022 +1000 - Only include sys/poll.h if we don't have poll.h. - - Prevents warnings on MUSL based systems such as Alpine. + Remove now-empty int32_minmax.inc. -commit 7c0d4ce911d5c58b6166b2db754a4e91f352adf5 -Author: Damien Miller -Date: Tue Feb 22 11:14:51 2022 +1100 +commit af59463553b5ad52d3b42c4455ee3c5600158bb7 +Author: djm@openbsd.org +Date: Fri Apr 29 03:24:30 2022 +0000 - disable agent-restrict test on minix3 - - Minix seems to have a platform-wide limit on the number of - select(2) syscalls that can be concurrently issued. This test - seems to exceed this limit. + upstream: mention that the helpers are used by ssh(1), ssh-agent(1) - Refer to: + and ssh-keygen(1). Previously only ssh(1) was mentioned. From Pedro + Martelletto - https://github.com/Stichting-MINIX-Research-Foundation/minix/blob/R3.3.0/minix/servers/vfs/select.c#L114 - https://github.com/Stichting-MINIX-Research-Foundation/minix/blob/R3.3.0/minix/servers/vfs/select.c#L30-L31 - -commit 81d33d8e3cf7ea5ce3a5653c6102b623e019428a -Author: Darren Tucker -Date: Mon Feb 21 21:27:20 2022 +1100 - - Skip agent-getpeereid when running as root. + OpenBSD-Commit-ID: 30f880f989d4b329589c1c404315685960a5f153 -commit fbd772570a25436a33924d91c164d2b24021f010 +commit 3e26b3a6eebcee27be177207cc0846fb844b7a56 Author: dtucker@openbsd.org -Date: Sun Feb 20 03:47:26 2022 +0000 +Date: Fri Apr 29 03:16:48 2022 +0000 - upstream: Aproximate realpath on the expected output by deduping + upstream: Don't leak SK device. Patch from Pedro Martelletto via - leading slashes. Fixes test failure when user's home dir is / which is - possible in some portable configurations. + github PR#316. ok djm@ - OpenBSD-Regress-ID: 53b8c53734f8893806961475c7106397f98d9f63 + OpenBSD-Commit-ID: 17d11327545022e727d95fd08b213171c5a4585d -commit 336685d223a59f893faeedf0a562e053fd84058e -Author: Darren Tucker -Date: Sun Feb 20 13:30:52 2022 +1100 +commit 247082b5013f0d4fcae8f97453f2a2f01bcda811 +Author: djm@openbsd.org +Date: Fri Apr 29 03:13:32 2022 +0000 - Really move DSA to end of list. + upstream: fix memleak on session-bind path; from Pedro Martelletto, ok - In commit ad16a84e syncing from OpenBSD, RSA was accidentally moved to - the end of the list instead of DSA. Spotted by andrew at fyfe.gb.net. + dtucker@ + + OpenBSD-Commit-ID: e85899a26ba402b4c0717b531317e8fc258f0a7e -commit 63bf4f49ed2fdf2da6f97136c9df0c8168546eb3 -Author: Darren Tucker -Date: Fri Feb 18 12:12:21 2022 +1100 +commit e05522008092ceb86a87bdd4ad7878424315db89 +Author: djm@openbsd.org +Date: Thu Apr 28 02:53:31 2022 +0000 - Add test configs for MUSL C library. + upstream: avoid printing hash algorithm twice; from lucas AT sexy.is + + OpenBSD-Commit-ID: 9d24671e10a84141b7c504396cabad600e47a941 -commit f7fc6a43f1173e8b2c38770bf6cee485a562d03b -Author: Damien Miller -Date: Thu Feb 17 22:54:19 2022 +1100 +commit 0979e29356915261d69a9517a1e0aaade7c9fc75 +Author: dtucker@openbsd.org +Date: Wed Apr 27 11:08:55 2022 +0000 - minix needs BROKEN_POLL too; chokes on /dev/null + upstream: Add authfd path to debug output. ok markus@ + + OpenBSD-Commit-ID: f735a17d1a6f2bee63bfc609d76ef8db8c090890 -commit 667fec5d4fe4406745750a32f69b5d2e1a75e94b -Author: djm@openbsd.org -Date: Thu Feb 17 10:58:27 2022 +0000 +commit 67b7c784769c74fd4d6b147d91e17e1ac1a8a96d +Author: dtucker@openbsd.org +Date: Tue Apr 26 07:41:44 2022 +0000 - upstream: check for EINTR/EAGAIN failures in the rfd fast-path; caught + upstream: Check sshauthopt_new() for NULL. bz#3425, from - by dtucker's minix3 vm :) ok dtucker@ + tessgauthier at microsoft.com. ok djm@ - OpenBSD-Commit-ID: 2e2c895a3e82ef347aa6694394a76a438be91361 - -commit 41417dbda9fb55a0af49a8236e3ef9d50d862644 -Author: Darren Tucker -Date: Thu Feb 17 22:05:29 2022 +1100 - - Comment hurd test, the VM is currently broken. + OpenBSD-Commit-ID: af0315bc3e44aa406daa7e0ae7c2d719a974483f -commit b2aee35a1f0dc798339b3fcf96136da71b7e3f6d -Author: Damien Miller -Date: Thu Feb 17 21:15:16 2022 +1100 +commit d571314d14b919fbd7c84a61f9bf2065fc0a6841 +Author: millert@openbsd.org +Date: Wed Apr 20 16:00:25 2022 +0000 - find sk-dummy.so when build_dir != src_dir + upstream: Remove unnecessary includes: openssl/hmac.h and - spotted by Corinna Vinschen; feedback & ok dtucker@ + openssl/evp.h. From Martin Vahlensieck. + + OpenBSD-Commit-ID: a6debb5fb0c8a44e43e8d5ca7cc70ad2f3ea31c3 -commit 62a2d4e50b2e89f2ef04576931895d5139a5d037 -Author: Damien Miller -Date: Wed Feb 16 16:26:17 2022 +1100 +commit da8dddf8cc1f2516ff894b8183e83a7c5ba3ef80 +Author: millert@openbsd.org +Date: Wed Apr 20 15:59:18 2022 +0000 - update versions in preparation for 8.9 release + upstream: Add missing includes of stdlib.h and stdint.h. We need + + stdlib.h for malloc(3) and stdint.h for SIZE_MAX. Unlike the other xmss + files, ssh-xmss.c does not include xmss_commons.h so ssh-xmss.c must include + those headers itself. From Martin Vahlensieck + + OpenBSD-Commit-ID: 70e28a9818cee3da1be2ef6503d4b396dd421e6b -commit dd6d3dded721ac653ea73c017325e5bfeeec837f -Author: djm@openbsd.org -Date: Tue Feb 15 05:13:36 2022 +0000 +commit fe9d87a6800a7a33be08f4d5ab662a758055ced2 +Author: millert@openbsd.org +Date: Wed Apr 20 15:56:49 2022 +0000 - upstream: document the unbound/host-bound options to + upstream: Avoid an unnecessary xstrdup in rm_env() when matching - PubkeyAuthentication; spotted by HARUYAMA Seigo + patterns. Since match_pattern() doesn't modify its arguments (they are + const), there is no need to make an extra copy of the strings in + options->send_env. From Martin Vahlensieck - OpenBSD-Commit-ID: 298f681b66a9ecd498f0700082c7a6c46e948981 + OpenBSD-Commit-ID: 2c9db31e3f4d3403b49642c64ee048b2a0a39351 -commit df93529dd727fdf2fb290700cd4f1adb0c3c084b +commit 7bf2eb958fbb551e7d61e75c176bb3200383285d Author: Darren Tucker -Date: Mon Feb 14 14:19:40 2022 +1100 +Date: Tue Apr 26 23:30:59 2022 +1000 - Test if sshd accidentally acquires controlling tty - - When SSHD_ACQUIRES_CTTY is defined, test for the problematic behaviour - in the STREAMS code before activating the workaround. ok djm@ + Add debian-riscv64 test target. -commit 766176cfdbfd7ec38bb6118dde6e4daa0df34888 +commit 3913c935523902482974c4c503bcff20bd850a6a Author: Darren Tucker -Date: Sat Feb 12 10:24:56 2022 +1100 +Date: Mon Apr 25 17:20:06 2022 +1000 - Add cygwin-release test config. - - This tests the flags used to build the cygwin release binaries. + Update OpenSSL and LibreSSL versions in tests. -commit b30698662b862f5397116d23688aac0764e0886e +commit dcd8dca29bcdb193ff6be35b96fc55e6e30d37d9 Author: Darren Tucker -Date: Fri Feb 11 21:00:35 2022 +1100 +Date: Sat Apr 23 20:40:28 2022 +1000 - Move SSHD_ACQUIRES_CTTY workaround into compat. + Include stdlib.h for free() prototype. - On some (most? all?) SysV based systems with STREAMS based ptys, - sshd could acquire a controlling terminal during pty setup when - it pushed the "ptem" module, due to what is probably a bug in - the STREAMS driver that's old enough to vote. Because it was the - privileged sshd's controlling terminal, it was not available for - the user's session, which ended up without one. This is known to - affect at least Solaris <=10, derivatives such as OpenIndiana and - several other SysV systems. See bz#245 for the backstory. - - In the we past worked around that by not calling setsid in the - privileged sshd child, which meant it was not a session or process - group leader. This solved controlling terminal problem because sshd - was not eligble to acquire one, but had other side effects such as - not cleaning up helper subprocesses in the SIGALRM handler since it - was not PG leader. Recent cleanups in the signal handler uncovered - this, resulting in the LoginGraceTime timer not cleaning up privsep - unprivileged processes. - - This change moves the workaround into the STREAMS pty allocation code, - by allocating a sacrificial pty to act as sshd's controlling terminal - before allocating user ptys, so those are still available for users' - sessions. - - On the down side: - - this will waste a pty per ssh connection on affected platforms. - - On the up side: - - it makes the process group behaviour consistent between platforms. - - - it puts the workaround nearest the code that actually causes the - problem and competely out of the mainline code. - - - the workaround is only activated if you use the STREAMS code. If, - say, Solaris 11 has the bug but also a working openpty() it doesn't - matter that we defined SSHD_ACQUIRES_CTTY. - - - the workaround is only activated when the fist pty is allocated, - ie in the post-auth privsep monitor. This means there's no risk - of fd leaks to the unprivileged processes, and there's no effect on - sessions that do not allocate a pty. - - Based on analysis and work by djm@, ok djm@ + ... which is used inside the CUSTOM_SYS_AUTH_GET_LASTLOGIN_MSG block. -commit cd00b48cf10f3565936a418c1e6d7e48b5c36140 +commit 4cc05de568e1c3edd7834ff3bd9d8214eb34861b Author: Darren Tucker -Date: Fri Feb 11 20:09:32 2022 +1100 +Date: Sat Apr 23 20:17:26 2022 +1000 - Simplify handling of --with-ssl-dir. + Cache timezone data in capsicum sandbox. - ok djm@ + From emaste at freebsd.org, originally part of FreeBSD commit r339216 + / fc3c19a9 with autoconf bits added by me. -commit ea13fc830fc0e0dce2459f1fab2ec5099f73bdf0 -Author: Darren Tucker -Date: Fri Feb 11 13:39:29 2022 +1100 +commit c31404426d212e2964ff9e5e58e1d0fce3d83f27 +Author: dtucker@openbsd.org +Date: Thu Apr 21 01:36:46 2022 +0000 - Stop testing OpenBSD HEAD on 6.9 and 7.0. + upstream: It looks like we can't completely avoid - HEAD is not guaranteed to work on previous stable branches, and at the - moment is broken due to libfido API changes. + waiting for processes to exit so retrieve the pid via controlmaster and + use that. + + OpenBSD-Regress-ID: 8246f00f22b14e49d2ff1744c94897ead33d457b -commit 50b9e4a4514697ffb9592200e722de6b427cb9ff +commit d19b21afab5c8e2f3df6bd8aee9766bdad3d8c58 Author: dtucker@openbsd.org -Date: Fri Feb 11 00:43:56 2022 +0000 +Date: Wed Apr 20 13:25:55 2022 +0000 - upstream: Always initialize delim before passing to hpdelim2 which + upstream: Use ssh -f and ControlPersist .. - might not set it. Found by the Valgrind tests on github, ok deraadt@ + to start up test forwards and ssh -O stop to shut them down intead of + sleep loops. This speeds up the test by an order of magnitude. - OpenBSD-Commit-ID: c830c0db185ca43beff3f41c19943c724b4f636d + OpenBSD-Regress-ID: eb3db5f805100919b092a3b2579c611fba3e83e7 -commit 6ee53064f476cf163acd5521da45b11b7c57321b -Author: Darren Tucker -Date: Fri Feb 11 10:03:06 2022 +1100 +commit 5f76286a126721fa005de6edf3d1c7a265555f19 +Author: dtucker@openbsd.org +Date: Wed Apr 20 05:24:13 2022 +0000 - Fix helper include path and remove excess code. + upstream: Simplify forward-control test. - Looks like test_hpdelim.c was imported twice into the same file. - Spotted by kevin.brott at gmail com and chris at cataclysmal org. - -commit 9fa63a19f68bc87452d3cf5c577cafad2921b7a4 -Author: Darren Tucker -Date: Thu Feb 10 23:27:02 2022 +1100 - - Put poll.h inside ifdef. - -commit 3ac00dfeb54b252c15dcbf1971582e9e3b946de6 -Author: Darren Tucker -Date: Thu Feb 10 22:17:31 2022 +1100 - - We now support POLLPRI so actually define it. + Since we no longer need to support SSH1 we don't need to run shell + commands on the other end of the connection and can use ssh -N instead. + This also makes the test less racy. + + OpenBSD-Regress-ID: 32e94ce272820cc398f30b848b2b0f080d10302c -commit 25bd659cc72268f2858c5415740c442ee950049f -Author: dtucker@openbsd.org -Date: Sun Feb 6 22:58:33 2022 +0000 +commit 687bbf23572d8bdf25cbbcdf8ac583514e1ba710 +Author: djm@openbsd.org +Date: Thu Mar 31 03:07:33 2022 +0000 - upstream: Add test for empty hostname with port. + upstream: regression test for sftp cp command - OpenBSD-Regress-ID: e19e89d3c432b68997667efea44cf015bbe2a7e3 + OpenBSD-Regress-ID: c96bea9edde3a384b254785e7f9b2b24a81cdf82 -commit a29af853cff41c0635f0378c00fe91bf9c91dea4 +commit f1233f19a6a9fe58f52946f50df4772f5b136761 Author: dtucker@openbsd.org -Date: Fri Feb 4 07:53:44 2022 +0000 +Date: Wed Apr 20 01:13:47 2022 +0000 - upstream: Add unit tests for hpdelim. + upstream: Import regenerated moduli - OpenBSD-Regress-ID: be97b85c19895e6a1ce13c639765a3b48fd95018 + OpenBSD-Commit-ID: f9a0726d957cf10692a231996a1f34e7f9cdfeb0 -commit 9699151b039ecc5fad9ac6c6c02e9afdbd26f15f +commit fec014785de198b9a325d1b94e324bb958c5fe7b Author: djm@openbsd.org -Date: Thu Feb 10 04:12:38 2022 +0000 +Date: Wed Apr 20 04:19:11 2022 +0000 - upstream: revert for imminent OpenSSH release, which wil ship with - - scp in RCP mode. - - > revision 1.106 - > date: 2021/10/15 14:46:46; author: deraadt; state: Exp; lines: +13 -9; commitid: w5n9B2RE38tFfggl; - > openbsd 7.0 release shipped with the (hopefully last) scp that uses RCP - > protocol for copying. Let's get back to testing the SFTP protocol. + upstream: Try to continue running local I/O for channels in state - This will be put back once the OpenSSH release is done. + OPEN during SSH transport rekeying. The most visible benefit is that it + should make ~-escapes work in the client (e.g. to exit) if the connection + happened to have stalled during a rekey event. Based work by and ok dtucker@ - OpenBSD-Commit-ID: 0c725481a78210aceecff1537322c0b2df03e768 + OpenBSD-Commit-ID: a66e8f254e92edd4ce09c9f750883ec8f1ea5f45 -commit 45279abceb37c3cbfac8ba36dde8b2c8cdd63d32 +commit e68154b0d4f0f5085a050ea896955da1b1be6e30 Author: dtucker@openbsd.org -Date: Tue Feb 8 08:59:12 2022 +0000 +Date: Wed Apr 20 01:13:47 2022 +0000 - upstream: Switch hpdelim interface to accept only ":" as delimiter. - - Historicallly, hpdelim accepted ":" or "/" as a port delimiter between - hosts (or addresses) and ports. These days most of the uses for "/" - are no longer accepted, so there are several places where it checks the - delimiter to disallow it. Make hpdelim accept only ":" and use hpdelim2 - in the other cases. ok djm@ + upstream: Import regenerated moduli - OpenBSD-Commit-ID: 7e6420bd1be87590b6840973f5ad5305804e3102 - -commit a1bcbf04a7c2d81944141db7ecd0ba292d175a66 -Author: pedro martelletto -Date: Mon Feb 7 09:09:59 2022 +0100 - - fix typos in previous - -commit 56192518e329b39f063487bc2dc4d796f791eca0 -Author: Damien Miller -Date: Mon Feb 7 12:53:47 2022 +1100 - - compat code for fido_assert_set_clientdata() + OpenBSD-Commit-ID: f9a0726d957cf10692a231996a1f34e7f9cdfeb0 -commit d6b5aa08fdcf9b527f8b8f932432941d5b76b7ab -Author: djm@openbsd.org -Date: Mon Feb 7 01:25:12 2022 +0000 +commit 69928b106d8f0fa15b88cf3850d992ed81c44ae0 +Author: tj@openbsd.org +Date: Sat Apr 16 00:22:31 2022 +0000 - upstream: use libfido2 1.8.0+ fido_assert_set_clientdata() instead + upstream: list the correct version number - of manually hashing data outselves. Saves a fair bit of code and makes life - easier for some -portable platforms. + for when usage of the sftp protocol became default and fix a typo + from ed maste - OpenBSD-Commit-ID: 351dfaaa5ab1ee928c0e623041fca28078cff0e0 + OpenBSD-Commit-ID: 24e1795ed2283fdeacf16413c2f07503bcdebb31 -commit 86cc93fd3c26b2e0c7663c6394995fb04ebfbf3b -Author: jsg@openbsd.org -Date: Sun Feb 6 00:29:03 2022 +0000 +commit 21042a05c0b304c16f655efeec97438249d2e2cc +Author: dtucker@openbsd.org +Date: Tue Apr 12 05:09:49 2022 +0000 - upstream: remove please from manual pages ok jmc@ sthen@ millert@ + upstream: Correct path for system known hosts file in description - OpenBSD-Commit-ID: 6543acb00f4f38a23472538e1685c013ca1a99aa + of IgnoreUserKnownHosts. Patch from Martin Vahlensieck via tech@ + + OpenBSD-Commit-ID: 9b7784f054fa5aa4d63cb36bd563889477127215 -commit ad16a84e64a8cf1c69c63de3fb9008320a37009c -Author: dtucker@openbsd.org -Date: Fri Feb 4 02:49:17 2022 +0000 +commit 53f4aff60a7c1a08a23917bd47496f8901c471f5 +Author: Darren Tucker +Date: Sat Apr 16 14:33:20 2022 +1000 - upstream: Since they are deprecated, move DSA to the end of the - - default list of public keys so that they will be tried last. From github - PR#295 from "ProBackup-nl", ok djm@ + Resync moduli.5 with upstream. - OpenBSD-Commit-ID: 7e5d575cf4971d4e2de92e0b6d6efaba53598bf0 + 1.18: remove duplicate publication year; carsten dot kunze at arcor dot de + 1.19: ssh-keygen's -G/-T have been replaced with -M generate/screen. -commit 253de42753de85dde266e061b6fec12ca6589f7d -Author: Damien Miller -Date: Wed Feb 2 16:52:07 2022 +1100 +commit d2b888762b9844eb0d8eb59909cdf5af5159f810 +Author: Darren Tucker +Date: Sat Apr 16 14:31:13 2022 +1000 - portable-specific string array constification + Retire fbsd6 test VM. - from Mike Frysinger + It's long since out of support, relatively slow (it's i686) and the + compiler has trouble with PIE. -commit dfdcc2220cf359c492d5d34eb723370e8bd8a19e +commit cd1f70009860a154b51230d367c55ea5f9a4504e Author: djm@openbsd.org -Date: Tue Feb 1 23:37:15 2022 +0000 +Date: Mon Apr 11 22:52:08 2022 +0000 - upstream: test 'ssh-keygen -Y find-principals' with wildcard + upstream: clear io_want/io_ready flags at start of poll() cycle; - principals; from Fabian Stelzer + avoids plausible spin during rekeying if channel io_want flags are reused + across cycles. ok markus@ deraadt@ - OpenBSD-Regress-ID: fbe4da5f0032e7ab496527a5bf0010fd700f8f40 + OpenBSD-Commit-ID: 91034f855b7c73cd2591657c49ac30f10322b967 -commit 968e508967ef42480cebad8cf3172465883baa77 +commit aa1920302778273f7f94c2091319aba199068ca0 Author: dtucker@openbsd.org -Date: Fri Jan 21 02:54:41 2022 +0000 +Date: Fri Apr 8 05:43:39 2022 +0000 - upstream: Enable all supported ciphers and macs in the server + upstream: Note that curve25519-sha256 was later published in - before trying to benchmark them. Increase the data file size to get more - signal. + RFC8731. ok djm@ - OpenBSD-Regress-ID: dc3697d9f7defdfc51c608782c8e750128e46eb6 + OpenBSD-Commit-ID: 2ac2b5d642d4cf5918eaec8653cad9a4460b2743 -commit 15b7199a1fd37eff4c695e09d573f3db9f4274b7 +commit 4673fa8f2be983f2f88d5afd754adb1a2a39ec9e Author: djm@openbsd.org -Date: Tue Feb 1 23:34:47 2022 +0000 +Date: Fri Apr 8 04:40:40 2022 +0000 - upstream: allow 'ssh-keygen -Y find-principals' to match wildcard + upstream: two defensive changes from Tobias Stoeckmann via GHPR287 - principals in allowed_signers files; from Fabian Stelzer + enforce stricter invarient for sshbuf_set_parent() - never allow + a buffer to have a previously-set parent changed. - OpenBSD-Commit-ID: 1e970b9c025b80717dddff5018fe5e6f470c5098 + In sshbuf_reset(), if the reallocation fails, then zero the entire + buffer and not the (potentially smaller) default initial alloc size. + + OpenBSD-Commit-ID: 14583203aa5d50ad38d2e209ae10abaf8955e6a9 -commit 541667fe6dc26d7881e55f0bb3a4baa6f3171645 -Author: djm@openbsd.org -Date: Tue Feb 1 23:32:51 2022 +0000 +commit 26eef015e2d2254375e13afaaf753b78932b1bf5 +Author: Damien Miller +Date: Mon Apr 11 16:07:09 2022 +1000 - upstream: mark const string array contents const too, i.e. static + Revert "update build-aux files to match autoconf-2.71" - const char *array => static const char * const array from Mike Frysinger + This reverts commit 0a8ca39fac6ad19096b6c263436f8b2dd51606f2. - OpenBSD-Commit-ID: a664e31ea6a795d7c81153274a5f47b22bdc9bc1 + It turns out that the checked-in copies of these files are actually newer + than autoconf-2.71's copies, so this was effectively a downgrade. + Spotted by Bo Anderson via github -commit 8cfa73f8a2bde4c98773f33f974c650bdb40dd3c -Author: djm@openbsd.org -Date: Tue Feb 1 23:11:11 2022 +0000 +commit 0a8ca39fac6ad19096b6c263436f8b2dd51606f2 +Author: Damien Miller +Date: Fri Apr 8 14:48:58 2022 +1000 - upstream: better match legacy scp behaviour: show un-expanded paths - - in error messages. Spotted by and ok tb@ + update build-aux files to match autoconf-2.71 - OpenBSD-Commit-ID: 866c8ffac5bd7d38ecbfc3357c8adfa58af637b7 + i.e. config.guess, config.sub and install-sh -commit 4e62c13ab419b4b224c8bc6a761e91fcf048012d -Author: dtucker@openbsd.org -Date: Tue Feb 1 07:57:32 2022 +0000 +commit 94eb6858efecc1b4f02d8a6bd35e149f55c814c8 +Author: Damien Miller +Date: Wed Apr 6 10:47:48 2022 +1000 - upstream: Remove explicit kill of privsep preauth child's PID in - - SIGALRM handler. It's no longer needed since the child will get terminated by - the SIGTERM to the process group that cleans up any auth helpers, it - simplifies the signal handler and removes the risk of a race when updating - the PID. Based on analysis by HerrSpace in github PR#289, ok djm@ - - OpenBSD-Commit-ID: 2be1ffa28b4051ad9e33bb4371e2ec8a31d6d663 + update version numbers for release -commit 2a7ccd2ec4022917b745af7186f514f365b7ebe9 -Author: guenther@openbsd.org -Date: Fri Jan 28 06:18:42 2022 +0000 +commit 8e4a8eadf4fe74e65e6492f34250f8cf7d67e8da +Author: djm@openbsd.org +Date: Mon Apr 4 22:45:25 2022 +0000 - upstream: When it's the possessive of 'it', it's spelled "its", - - without the apostrophe. + upstream: openssh-9.0 - OpenBSD-Commit-ID: fb6ab9c65bd31de831da1eb4631ddac018c5fae7 + OpenBSD-Commit-ID: 0dfb461188f4513ec024c1534da8c1ce14c20b64 -commit 8a0848cdd3b25c049332cd56034186b7853ae754 -Author: Alex James -Date: Sun Jan 30 16:13:36 2022 -0600 +commit a9f23ea2e3227f406880c2634d066f6f50fa5eaa +Author: naddy@openbsd.org +Date: Thu Mar 31 17:58:44 2022 +0000 - sandbox-seccomp-filter: allow gettid + upstream: ssh: document sntrup761x25519-sha512@openssh.com as - Some allocators (such as Scudo) use gettid while tracing allocations [1]. - Allow gettid in preauth to prevent sshd from crashing with Scudo. + default KEX - [1]: https://github.com/llvm/llvm-project/blob/llvmorg-13.0.0/compiler-rt/lib/gwp_asan/common.cpp#L46 + OpenBSD-Commit-ID: 12545bfa10bcbf552d04d9d9520d0f4e98b0e171 -commit b30d32159dc3c7052f4bfdf36357996c905af739 -Author: djm@openbsd.org -Date: Sat Jan 22 00:49:34 2022 +0000 +commit 9ec2713d122af79d66ebb9c1d6d9ae8621a8945f +Author: naddy@openbsd.org +Date: Thu Mar 31 17:27:27 2022 +0000 - upstream: add a ssh_packet_process_read() function that reads from + upstream: man pages: add missing commas between subordinate and - a fd directly into the transport input buffer. + main clauses - Use this in the client and server mainloops to avoid unnecessary - copying. It also lets us use a more greedy read size without penalty. + jmc@ dislikes a comma before "then" in a conditional, so leave those + untouched. - Yields a 2-3% performance gain on cipher-speed.sh (in a fairly - unscientific test tbf) + ok jmc@ - feedback dtucker@ ok markus@ + OpenBSD-Commit-ID: 9520801729bebcb3c9fe43ad7f9776ab4dd05ea3 + +commit 3741df98ffaaff92b474ee70d8ef276b5882f85a +Author: Darren Tucker +Date: Mon Apr 4 23:52:11 2022 +1000 + + Disable security key on fbsd6 test host. + +commit 32c12236f27ae83bfe6d2983b67c9bc67a83a417 +Author: Darren Tucker +Date: Mon Apr 4 15:16:51 2022 +1000 + + Specify TEST_SHELL=bash on AIX. - OpenBSD-Commit-ID: df4112125bf79d8e38e79a77113e1b373078e632 + The system shells cause the agent-restrict test to fail due to some + quoting so explicitly specify bash until we can get configure to + autmatically work around that. -commit a1a8efeaaa9cccb15cdc0a2bd7c347a149a3a7e3 -Author: djm@openbsd.org -Date: Sat Jan 22 00:45:31 2022 +0000 +commit 90452c8b69d065b7c7c285ff78b81418a75bcd76 +Author: Darren Tucker +Date: Fri Apr 1 23:38:44 2022 +1100 - upstream: Use sshbuf_read() to read directly into the channel input + Only return events from ppoll that were requested. - buffer rather than into a stack buffer that needs to be copied again; - Improves performance by about 1% on cipher-speed.sh feedback dtucker@ ok - markus@ + If the underlying system's select() returns bits that were not in the + request set, our ppoll() implementation can return revents for events + not requested, which can apparently cause a hang. Only return revents + for activity in the requested event set. bz#3416, analysis and fix by + yaroslav.kuzmin at vmssoftware com, ok djm@ + +commit 6c49eb5fabc56f4865164ed818aa5112d09c31a8 +Author: Darren Tucker +Date: Fri Apr 1 23:21:40 2022 +1100 + + Only run regression tests on slow VMs. + +commit f67e47903977b42cb6abcd5565a61bd7293e4dc3 +Author: Darren Tucker +Date: Fri Apr 1 23:21:06 2022 +1100 + + Increase test timeout to allow slow VMs to finish + +commit 02488c1b54065ddc4f25835dbd2618b2a2fe21f5 +Author: Darren Tucker +Date: Fri Apr 1 16:27:38 2022 +1100 + + Use bash or ksh if available for SH in Makefile. + +commit 34c7018c316af4773e432066de28d0ef9d0888cd +Author: Darren Tucker +Date: Fri Apr 1 14:56:54 2022 +1100 + + Set Makefile SHELL as determined by configure. - OpenBSD-Commit-ID: bf5e6e3c821ac3546dc8241d8a94e70d47716572 + This should improve compatibility for users with non-POSIX shells. If + using Makefile.in directly (eg make -f Makefile.in distprep) then SHELL + will need to be specified on the command line (along with MANFMT in that + particular case). ok djm@ -commit 29a76994e21623a1f84d68ebb9dc5a3c909fa3a7 +commit 5b054d76402faab38c48377efd112426469553a0 +Author: Darren Tucker +Date: Fri Apr 1 13:16:47 2022 +1100 + + Skip slow tests on (very) slow test targets. + +commit b275818065b31a865142c48c2acf6a7c1655c542 Author: Damien Miller -Date: Tue Jan 25 11:52:34 2022 +1100 +Date: Thu Mar 31 14:11:36 2022 +1100 depend -commit 754e0d5c7712296a7a3a83ace863812604c7bc4f +commit 3fa539c3ffaabd6211995512d33e29150f88c5c5 Author: djm@openbsd.org -Date: Sat Jan 22 00:43:43 2022 +0000 +Date: Thu Mar 31 03:07:03 2022 +0000 - upstream: Add a sshbuf_read() that attempts to read(2) directly in + upstream: add a sftp client "cp" command that supports server-side - to a sshbuf; ok markus@ + copying of files. Useful for this task and for testing the copy-data + extension. Patch from Mike Frysinger; ok dtucker@ - OpenBSD-Commit-ID: 2d8f249040a4279f3bc23c018947384de8d4a45b + OpenBSD-Commit-ID: 1bb1b950af0d49f0d5425b1f267e197aa1b57444 -commit c7964fb9829d9ae2ece8b51a76e4a02e8449338d +commit 7988bfc4b701c4b3fe9b36c8561a3d1c5d4c9a74 Author: djm@openbsd.org -Date: Fri Jan 21 07:04:19 2022 +0000 +Date: Thu Mar 31 03:05:49 2022 +0000 - upstream: add a helper for writing an error message to the + upstream: add support for the "corp-data" protocol extension to - stderr_buf and setting quit_pending; no functional change but saves a bunch - of boilerplate + allow server-side copies to be performed without having to go via the client. + Patch by Mike Frysinger, ok dtucker@ - OpenBSD-Commit-ID: 0747657cad6b9eabd514a6732adad537568e232d + OpenBSD-Commit-ID: 00aa510940fedd66dab1843b58682de4eb7156d5 -commit d23b4f7fdb1bd87e2cd7a9ae7c198ae99d347916 +commit 32dc1c29a4ac9c592ddfef0a4895eb36c1f567ba Author: djm@openbsd.org -Date: Fri Jan 21 06:58:06 2022 +0000 +Date: Wed Mar 30 21:13:23 2022 +0000 - upstream: correct comment and use local variable instead of long + upstream: select post-quantum KEX - indirection; spotted by dtucker@ + sntrup761x25519-sha512@openssh.com as the default; ok markus@ - OpenBSD-Commit-ID: 5f65f5f69db2b7d80a0a81b08f390a63f8845965 + OpenBSD-Commit-ID: f02d99cbfce22dffec2e2ab1b60905fbddf48fb9 -commit d069b020a02b6e3935080204ee44d233e8158ebb -Author: deraadt@openbsd.org -Date: Fri Jan 21 00:53:40 2022 +0000 +commit d6556de1db0822c76ba2745cf5c097d9472adf7c +Author: djm@openbsd.org +Date: Wed Mar 30 21:10:25 2022 +0000 - upstream: When poll(2) returns -1, for some error conditions + upstream: fix poll() spin when a channel's output fd closes without - pfd[].revents is not cleared. There are subtle errors in various programs. - In this particular case, the program should error out. ok djm millert + data in the channel buffer. Introduce more exact packing of channel fds into + the pollfd array. fixes bz3405 and bz3411; ok deraadt@ markus@ - OpenBSD-Commit-ID: 00f839b16861f7fb2adcf122e95e8a82fa6a375c + OpenBSD-Commit-ID: 06740737849c9047785622ad5d472cb6a3907d10 -commit e204b34337a965feb439826157c191919fd9ecf8 -Author: Damien Miller -Date: Sat Jan 22 11:38:21 2022 +1100 +commit 8a74a96d25ca4d32fbf298f6c0ac5a148501777d +Author: djm@openbsd.org +Date: Wed Mar 30 04:33:09 2022 +0000 - restore tty force-read hack + upstream: ssh is almost out of getopt() characters; note the - This portable-specific hack fixes a hang on exit for ttyful sessions - on Linux and some SysVish Unix variants. It was accidentally disabled - in commit 5c79952dfe1a (a precursor to the mainloop poll(2) conversion). + remaining remaining available ones in a comment - Spotted by John in bz3383 + OpenBSD-Commit-ID: 48d38cef59d6bc8e84c6c066f6d601875d3253fd -commit 68085066b6bad43643b43f5957fcc5fd34782ccd -Author: Corinna Vinschen -Date: Fri Jan 21 03:22:56 2022 +1100 +commit 6d4fc51adb9d8a42f67b5474f02f877422379de6 +Author: djm@openbsd.org +Date: Wed Mar 30 04:27:51 2022 +0000 - Fix signedness bug in Cygwin code + upstream: avoid NULL deref via ssh-keygen -Y find-principals. - The Cygwin-specific pattern match code has a bug. It checks - the size_t value returned by mbstowcs for being < 0. The right - thing to do is to check against (size_t) -1. Fix that. + bz3409, reported by Mateusz Adamowski - Signed-off-by: Corinna Vinschen + OpenBSD-Commit-ID: a3b2c02438052ee858e0ee18e5a288586b5df2c5 -commit 2e5cfed513e84444483baf1d8b31c40072b05103 +commit e937514920335b92b543fd9be79cd6481d1eb0b6 Author: Darren Tucker -Date: Thu Jan 20 13:26:27 2022 +1100 +Date: Mon Mar 28 17:51:03 2022 +1100 - Improve compatibility of early exit trap handling. - - Dash (as used by the github runners) has some differences in its trap - builtin: - - it doesn't have -p (which is fine, that's not in posix). - - it doesn't work in a subshell (which turns out to be in compliance - with posix, which means bash isn't). - - it doesn't work in a pipeline, ie "trap|cat" produces no output. + Add AIX 5.1 test target. -commit 3fe6800b6027add478e648934cbb29d684e51943 +commit 4bbe815ba974b4fd89cc3fc3e3ef1be847a0befe Author: Darren Tucker -Date: Thu Jan 20 00:49:57 2022 +1100 +Date: Sat Mar 26 22:01:31 2022 +1100 - Move more tests out of valgrind-1 runner. + Drop leading "v" from release version identifier. + + It's present in the git tags but not in the release tarball names. + Also drop extra "/" from URL path. -commit 20da6ed136dd76e6a0b229ca3036ef9c7c7ef798 +commit f5cdd3b3c275dffaebfca91df782dca29975e9ac Author: Darren Tucker -Date: Wed Jan 19 15:37:39 2022 +1100 +Date: Sat Mar 26 16:28:04 2022 +1100 - Invoke EXIT handler early when using Valgrind. + Use tarballs when testing LibreSSL releases. - When using Valgrind, we need to wait for all invoked programs to - complete before checking their valgrind logs. Some tests, notably - agent-restrict, set an EXIT trap handler to clean up things like - ssh-agent, but those do not get invoked until test-exec.sh exits. - This causes the Valgrind wait to deadlock, so if present invoke - the EXIT handler before checking the Valgrind logs. + This means they'll still work when the combination of -portable and + openbsd github repos no longer match. -commit ad2e0580c87b0714cf166bca9d926a95ddeee1c8 +commit 24dc37d198f35a7cf71bf4d5384363c7ef4209d4 Author: Darren Tucker -Date: Tue Jan 18 12:55:21 2022 +1100 +Date: Sat Mar 26 15:02:45 2022 +1100 - Remove line leftover from upstream sync. + Remove now-unused passwd variable. -commit d1051c0f11a6b749027e26bbeb61b07df4b67e15 -Author: djm@openbsd.org -Date: Mon Jan 17 22:56:04 2022 +0000 +commit 5b467ceef2c356f0a77f5e8ab4eb0fac367e4d24 +Author: Darren Tucker +Date: Sat Mar 26 13:15:44 2022 +1100 - upstream: when decompressing zlib compressed packets, use - - Z_SYNC_FLUSH instead of Z_PARTIAL_FLUSH as the latter is not actually - specified as a valid mode for inflate(). There should be no practical change - in behaviour as the compression side ensures a flush that should make all - data available to the receiver in all cases. - - repoted by lamm AT ibm.com via bz3372; ok markus - - OpenBSD-Commit-ID: 67cfc1fa8261feae6d2cc0c554711c97867cc81b + Missing semicolon. -commit d5981b1883746b1ae178a46229c26b53af99e37a -Author: djm@openbsd.org -Date: Mon Jan 17 21:41:04 2022 +0000 +commit 2923d026e55998133c0f6e5186dca2a3c0fa5ff5 +Author: Darren Tucker +Date: Sat Mar 26 12:49:50 2022 +1100 - upstream: make most of the sftp errors more idiomatic, following - - the general form of "[local/remote] operation path: error message"; ok markus + Factor out platform-specific locked account check. - OpenBSD-Commit-ID: 61364cd5f3a9fecaf8d63b4c38a42c0c91f8b571 + Also fixes an incorrect free on platforms with both libiaf and shadow + passwords (probably only Unixware). Prompted by github PR#284, + originally from @c3h2_ctf and stoeckmann@. -commit ac7c9ec894ed0825d04ef69c55babb49bab1d32e +commit d23efe4b12886ffe416be10bc0a7da6ca8aa72d1 +Author: Darren Tucker +Date: Sat Mar 26 08:13:46 2022 +1100 + + Add OpenWRT mips and mipsel test targets. + +commit 16ea8b85838dd7a4dbeba4e51ac4f43fd68b1e5b Author: djm@openbsd.org -Date: Mon Jan 17 21:39:51 2022 +0000 +Date: Sun Mar 20 08:52:17 2022 +0000 - upstream: when transferring multiple files in SFTP mode, create the + upstream: don't leak argument list; bz3404, reported by Balu - destination directory if it doesn't already exist to match olde-scp(1) - behaviour. noticed by deraadt@ ok markus@ + Gajjala ok dtucker@ - OpenBSD-Commit-ID: cf44dfa231d4112f697c24ff39d7ecf2e6311407 + OpenBSD-Commit-ID: fddc32d74e5dd5cff1a49ddd6297b0867eae56a6 -commit 39d17e189f8e72c34c722579d8d4e701fa5132da +commit a72bde294fe0518c9a44ba63864093a1ef2425e3 Author: djm@openbsd.org -Date: Fri Jan 14 03:43:48 2022 +0000 +Date: Sun Mar 20 08:51:21 2022 +0000 - upstream: allow pin-required FIDO keys to be added to ssh-agent(1). + upstream: make addargs() and replacearg() a little more robust and - ssh-askpass will be used to request the PIN at authentication time. + improve error reporting - From Pedro Martelletto, ok djm + make freeargs(NULL) a noop like the other free functions - OpenBSD-Commit-ID: de8189fcd35b45f632484864523c1655550e2950 + ok dtucker as part of bz3403 + + OpenBSD-Commit-ID: 15f86da83176978b4d1d288caa24c766dfa2983d -commit 52423f64e13db2bdc31a51b32e999cb1bfcf1263 +commit 731087d2619fa7f01e675b23f57af10d745e8af2 Author: djm@openbsd.org -Date: Fri Jan 14 03:35:10 2022 +0000 +Date: Fri Mar 18 04:04:11 2022 +0000 - upstream: ssh-sk: free a resident key's user id + upstream: don't try to resolve ListenAddress directives in the sshd - From Pedro Martelletto; ok dtucker & me + re-exec path - we're never going to use the result and if the operation fails + then it can prevent connections from being accepted. Reported by Aaron + Poffenberger; with / ok dtucker@ - OpenBSD-Commit-ID: 47be40d602b7a6458c4c71114df9b53d149fc2e9 + OpenBSD-Commit-ID: 44c53a43909a328e2f5ab26070fdef3594eded60 -commit 014e2f147a2788bfb3cc58d1b170dcf2bf2ee493 +commit 1c83c082128694ddd11ac05fdf31d70312ff1763 Author: djm@openbsd.org -Date: Fri Jan 14 03:34:00 2022 +0000 +Date: Fri Mar 18 02:50:21 2022 +0000 - upstream: sshsk_load_resident: don't preallocate resp - - resp is allocated by client_converse(), at which point we lose - the original pointer. - - From Pedro Martelletto; ok dtucker & me + upstream: remove blank line - OpenBSD-Commit-ID: 1f1b5ea3282017d6584dfed4f8370dc1db1f44b1 + OpenBSD-Commit-ID: d5e0182965b2fbfb03ad5f256d1a1ce5706bcddf -commit c88265f207dfe0e8bdbaf9f0eda63ed6b33781cf +commit 807be68684da7a1fe969c399ddce2fafb7997dcb Author: djm@openbsd.org -Date: Fri Jan 14 03:32:52 2022 +0000 +Date: Fri Mar 18 02:32:22 2022 +0000 - upstream: sshsk_sign: trim call to sshkey_fingerprint() - - the resulting fingerprint doesn't appear to be used for anything, - and we end up leaking it. - - from Pedro Martelletto; ok dtucker & me + upstream: helpful comment - OpenBSD-Commit-ID: 5625cf6c68f082bc2cbbd348e69a3ed731d2f9b7 + OpenBSD-Commit-ID: e3315a45cb04e7feeb614d76ec80a9fe4ca0e8c7 -commit 1cd1b2eac39661b849d5a4b4b56363e22bb5f61e +commit a0b5816f8f1f645acdf74f7bc11b34455ec30bac Author: djm@openbsd.org -Date: Fri Jan 14 03:31:52 2022 +0000 +Date: Fri Mar 18 02:31:25 2022 +0000 - upstream: use status error message to communicate ~user expansion - - failures; provides better experience for scp in sftp mode, where ~user paths - are more likely to be used; spotted jsg, feedback jsg & deraadt ok jsg & - markus + upstream: ssh-keygen -Y check-novalidate requires namespace or SEGV - (forgot to include this file in previous commit) + will ensue. Patch from Mateusz Adamowski via GHPR#307 - OpenBSD-Commit-ID: d37cc4c8c861ce48cd6ea9899e96aaac3476847b + OpenBSD-Commit-ID: 99e8ec38f9feb38bce6de240335be34aedeba5fd -commit a1d42a6ce0398da3833bedf374ef2571af7fea50 -Author: Damien Miller -Date: Fri Jan 14 13:49:32 2022 +1100 +commit 5a252d54a63be30d5ba4be76210942d754a531c0 +Author: djm@openbsd.org +Date: Tue Mar 15 05:27:37 2022 +0000 - fix edge case in poll(2) wrapper - - Correct handling of select(2) exceptfds. These should only be consulted - for POLLPRI flagged pfds and not unconditionally converted to POLLERR. + upstream: improve DEBUG_CHANNEL_POLL debugging message - with and ok dtucker@ + OpenBSD-Commit-ID: 2275eb7bc4707d019b1a0194b9c92c0b78da848f -commit 976b9588b4b5babcaceec4767a241c11a67a5ccb -Author: Darren Tucker -Date: Fri Jan 14 13:46:35 2022 +1100 +commit ce324cf58ba2840e31afeb996935800780c8fa4b +Author: cheloha@openbsd.org +Date: Sun Mar 13 23:27:54 2022 +0000 - Wrap OpenSSL includes in unit tests in ifdef. + upstream: ssh: xstrdup(): use memcpy(3) - Fixes unit test on systems that do not have OpenSSL headers installed. - -commit c171879374b2e8b07157503f5639ed0bce59ce89 -Author: Darren Tucker -Date: Thu Jan 13 15:53:33 2022 +1100 - - Remove sort wrapper. + Copying the given string into the buffer with strlcpy(3) confers no + benefit in this context because we have already determined the + string's length with strlen(3) in order to allocate that buffer. - agent-restrict now takes care of this itself. - -commit 9cc2654403f1a686bb26c07a6ac790edf334cef5 -Author: dtucker@openbsd.org -Date: Thu Jan 13 04:53:16 2022 +0000 - - upstream: Set LC_ALL in both local and remote shells so that sorted + Thread: https://marc.info/?l=openbsd-tech&m=164687525802691&w=2 - output matches regardless of what the user's shell sets it to. ok djm@ + ok dtucker@ millert@ - OpenBSD-Regress-ID: 4e97dd69a68b05872033175a4c2315345d01837f + OpenBSD-Commit-ID: f8bfc082e36e2d2dc4e1feece02fe274155ca11a -commit 7a75f748cb2dd2f771bf70ea72698aa027996ab1 -Author: dtucker@openbsd.org -Date: Thu Jan 13 04:22:10 2022 +0000 +commit 2893c5e764557f48f9d6a929e224ed49c59545db +Author: Darren Tucker +Date: Fri Mar 11 18:43:58 2022 +1100 - upstream: Avoid %'s in commands (not used in OpenBSD, but used in - - -portable's Valgrind test) being interpretted as printf format strings. + Resync fmt_scaled. with OpenBSD. - OpenBSD-Regress-ID: dc8655db27ac4acd2c386c4681bf42a10d80b043 + Fixes underflow reported in bz#3401. -commit 6c435bd4994d71442192001483a1cdb846e5ffcd +commit 5ae31a0fdd27855af29f48ff027491629fff5979 Author: Darren Tucker -Date: Wed Jan 12 16:58:13 2022 +1100 +Date: Wed Mar 9 09:41:56 2022 +1100 - Stop on first test failure to minimize logs. + Provide killpg implementation. + + Based on github PR#301 for Tandem NonStop. -commit 4bc2ba6095620a4484b708ece12842afd8c7685b -Author: dtucker@openbsd.org -Date: Wed Jan 12 07:18:37 2022 +0000 +commit c41c84b439f4cd74d4fe44298a4b4037ddd7d2ae +Author: Darren Tucker +Date: Wed Mar 9 09:29:30 2022 +1100 - upstream: Use egrep when searching for an anchored string. + Check for missing ftruncate prototype. - OpenBSD-Regress-ID: dd114a2ac27ac4b06f9e4a586d3f6320c54aeeb4 + From github PR#301 in conjunction with rsbeckerca. -commit 6bf2efa2679da1e8e60731f41677b2081dedae2c +commit 8cf5275452a950869cb90eeac7d220b01f77b12e Author: Darren Tucker -Date: Wed Jan 12 18:25:06 2022 +1100 +Date: Tue Mar 8 20:04:06 2022 +1100 - Add "rev" command replacement if needed. + Default to not using sandbox when cross compiling. + + On most systems poll(2) does not work when the number of FDs is reduced + with setrlimit, so assume it doesn't when cross compiling and we can't + run the test. bz#3398. -commit 72bcd7993dadaf967bb3d8564ee31cbf38132b5d -Author: dtucker@openbsd.org -Date: Wed Jan 12 03:30:32 2022 +0000 +commit 379b30120da53d7c84aa8299c26b18c51c2a0dac +Author: djm@openbsd.org +Date: Tue Mar 1 01:59:19 2022 +0000 - upstream: Don't log NULL hostname in restricted agent code, + upstream: pack pollfd array before server_accept_loop() ppoll() - printf("%s", NULL) is not safe on all platforms. with & ok djm + call, and terminate sshd if ppoll() returns errno==EINVAL - OpenBSD-Commit-ID: faf10cdae4adde00cdd668cd1f6e05d0a0e32a02 + avoids spin in ppoll when MaxStartups > RLIMIT_NOFILE, reported by + Daniel Micay + + feedback/ok deraadt + + OpenBSD-Commit-ID: dbab1c24993ac977ec24d83283b8b7528f7c2c15 -commit acabefe3f8fb58c867c99fed9bbf84dfa1771727 -Author: djm@openbsd.org -Date: Tue Jan 11 22:33:16 2022 +0000 +commit eceafbe0bdbbd9bd2f3cf024ccb350666a9934dd +Author: naddy@openbsd.org +Date: Sun Feb 27 01:33:59 2022 +0000 - upstream: remove hardcoded domain and use window.location.host, so this + upstream: include rejected signature algorithm in error message and - can be run anywhere + not the (useless) key type; ok djm@ - OpenBSD-Regress-ID: 2ac2ade3b6227d9c547351d3ccdfe671e62b7f92 + OpenBSD-Commit-ID: d0c0f552a4d9161203e07e95d58a76eb602a76ff -commit 96da0946e44f34adc0397eb7caa6ec35a3e79891 +commit f2f3269423618a83157e18902385e720f9776007 Author: dtucker@openbsd.org -Date: Tue Jan 11 02:56:19 2022 +0000 +Date: Fri Feb 25 09:46:24 2022 +0000 - upstream: "void" functions should not return anything. From Tim Rice + upstream: Remove the char * casts from arguments to do_lstat, - via -portable. + do_readdir and do_stat paths since the underlying functions now take a const + char *. Patch from vapier at gentoo.org. - OpenBSD-Commit-ID: ce6616304f4c9881b46413e616b226c306830e2a + OpenBSD-Commit-ID: 9e4d964dbfb0ed683a2a2900711b88e7f1c0297b -commit a882a09722c9f086c9edb65d0c4022fd965ec1ed +commit 4a66dac052c5ff5047161853f36904607649e4f9 Author: djm@openbsd.org -Date: Tue Jan 11 01:26:47 2022 +0000 +Date: Fri Feb 25 02:09:27 2022 +0000 - upstream: suppress "Connection to xxx closed" messages at LogLevel >= + upstream: save an unneccessary alloc/free, based on patch from - error bz3378; ok dtucker@ + Martin Vahlensieck; ok dtucker@ - OpenBSD-Commit-ID: d5bf457d5d2eb927b81d0663f45248a31028265c + OpenBSD-Commit-ID: 90ffbf1f837e509742f2c31a1fbf2c0fd376fd5f -commit 61a1a6af22e17fc94999a5d1294f27346e6c4668 -Author: Damien Miller -Date: Wed Jan 12 08:57:49 2022 +1100 +commit 6f117cb151efe138ac57bdd8e26165f350328f5f +Author: Darren Tucker +Date: Tue Mar 1 09:02:06 2022 +1100 - OS X poll(2) is broken; use compat replacement - - Darwin's poll(2) implementation is broken. For character-special - devices like /dev/null, it returns POLLNVAL when polled with - POLLIN. - - Apparently this is Apple bug 3710161, which is AFAIK not public, - but a websearch will find other OSS projects rediscovering it - periodically since it was first identified in 2005 (!!) + Remove unused ivbits argument from chacha_keysetup -commit 613a6545fc5a9542753b503cbe5906538a640b60 +commit 15974235dd528aeab0ec67fb92a0a1d733f62be2 Author: Darren Tucker -Date: Tue Jan 11 20:56:01 2022 +1100 +Date: Tue Mar 1 09:00:20 2022 +1100 - libhardended_malloc.so moved into out dir. + Add OPENBSD ORIGINAL marker. -commit 61761340be5e11046556623f8f5412b236cefa95 -Author: Tim Rice -Date: Mon Jan 10 11:07:04 2022 -0800 +commit f2ff669347d320532e7c1b63cdf5c62f46e73150 +Author: Darren Tucker +Date: Mon Feb 28 22:21:36 2022 +1100 - Make USL compilers happy - UX:acomp: ERROR: "sftp-server.c", line 567: void function cannot return value + No unused param warnings for clang-12 and gcc-11. + + These have too many false positives in -Werror tests on the github CI + since we often provide empty stub functions for functionality not needed + for particular configurations. -commit 3ef403f351e80a59b6f7e9d43cb82c181855483c +commit 96558ecd87adac62efa9a2b5479f686ab86b0be1 Author: Darren Tucker -Date: Mon Jan 10 21:07:38 2022 +1100 +Date: Sat Feb 26 14:10:41 2022 +1100 - Add wrapper for "sort" to set LC_ALL=C. - - Found by djm, this should make sorts stable and reduce test flakiness. + Add debian-i386 test target. -commit bd69e29f5716090181dbe0b8272eb7eab1a383bb -Author: dtucker@openbsd.org -Date: Sat Jan 8 07:55:26 2022 +0000 +commit 284b6e5394652d519e31782e3b3cdfd7b21d1a81 +Author: Darren Tucker +Date: Sat Feb 26 14:06:14 2022 +1100 - upstream: Remove errant "set -x" left over from debugging. + Allow ppoll_time64 in seccomp sandbox. - OpenBSD-Regress-ID: cd989268e034264cec5df97be7581549032c87dc + Should fix sandbox violations on (some? at least i386 and armhf) 32bit + Linux platforms. Patch from chutzpahu at gentoo.org and cjwatson at + debian.org via bz#3396. -commit 1a7c88e26fd673813dc5f61c4ac278564845e004 -Author: dtucker@openbsd.org -Date: Sat Jan 8 07:01:13 2022 +0000 +commit 0132056efabc5edb85c3c7105d2fb6dee41843c6 +Author: Darren Tucker +Date: Fri Feb 25 19:47:48 2022 +1100 - upstream: Enable all supported hostkey algorithms (but no others). - - Allows hostbased test to pass when built without OpenSSL. + Improve handling of _getshort and _getlong. - OpenBSD-Regress-ID: 5ddd677a68b672517e1e78460dc6ca2ccc0a9562 + If the system native ones are exactly as required then use them, + otherwise use the local versions mapped to another name to prevent + name collisions. -commit 12b457c2a42ff271e7967d9bedd068cebb048db9 -Author: djm@openbsd.org -Date: Sat Jan 8 07:37:32 2022 +0000 +commit 8e206e0dd6b9f757b07979e48f53ad5bf9b7b52b +Author: Darren Tucker +Date: Fri Feb 25 15:14:22 2022 +1100 - upstream: use status error message to communicate ~user expansion - - failures; provides better experience for scp in sftp mode, where ~user paths - are more likely to be used; spotted jsg, feedback jsg & deraadt ok jsg & - markus + Constify utimes in compat library to match specs. - OpenBSD-Commit-ID: fc610ce00ca0cdc2ecdabbd49ce7cb82033f905f + Patch from vapier at chromium.org. -commit 63670d4e9030bcee490d5a9cce561373ac5b3b23 -Author: djm@openbsd.org -Date: Sat Jan 8 07:36:11 2022 +0000 +commit 1b2920e3b63db2eddebeec7330ffe8b723055573 +Author: Darren Tucker +Date: Fri Feb 25 13:50:56 2022 +1100 - upstream: fix some corner-case bugs in scp sftp-mode handling of - - ~-prefixed paths; spotted by jsg; feedback jsg & deraadt, ok jsg & markus + ANSIfy getshort and getlong. - OpenBSD-Commit-ID: d1697dbaaa9f0f5649d69be897eab25c7d37c222 + These functions appear to have come from OpenBSD's lib/libc/net/res_comp.c + which made this change in 2005. -commit e14940bbec57fc7d3ce0644dbefa35f5a8ec97d0 -Author: djm@openbsd.org -Date: Sat Jan 8 07:34:57 2022 +0000 +commit 54a86f4f6e1c43a2ca2be23ef799ab8910d4af70 +Author: Darren Tucker +Date: Fri Feb 25 13:23:04 2022 +1100 - upstream: more idiomatic error messages; spotted by jsg & deraadt - - ok jsg & markus - - OpenBSD-Commit-ID: 43618c692f3951747b4151c477c7df22afe2bcc8 + Use PICFLAG instead of hard coding -fPIC. -commit 9acddcd5918c623f7ebf454520ffe946a8f15e90 -Author: djm@openbsd.org -Date: Sat Jan 8 07:33:54 2022 +0000 +commit 3016ba47035ac3561aabd48e2be70167fe157d6a +Author: Darren Tucker +Date: Fri Feb 25 11:37:11 2022 +1100 - upstream: add a variant of send_status() that allows overriding the - - default, generic error message. feedback/ok markus & jsg + Add tests for latest releases of {Libre,Open}SSL. + +commit f107467179428a0e3ea9e4aa9738ac12ff02822d +Author: Colin Watson +Date: Thu Feb 24 16:04:18 2022 +0000 + + Improve detection of -fzero-call-used-regs=all support - OpenBSD-Commit-ID: 81f251e975d759994131b717ee7c0b439659c40f + GCC doesn't tell us whether this option is supported unless it runs into + the situation where it would need to emit corresponding code. -commit 961411337719d4cd78f1ab33e4ac549f3fa22f50 +commit 3383b2cac0e9275bc93c4b4760e6e048f537e1d6 Author: djm@openbsd.org -Date: Sat Jan 8 07:32:45 2022 +0000 +Date: Wed Feb 23 21:21:49 2022 +0000 - upstream: refactor tilde_expand_filename() and make it handle ~user - - paths with no trailing slash; feedback/ok markus and jsg + upstream: free(3) wants stdlib.h - OpenBSD-Commit-ID: a2ab365598a902f0f14ba6a4f8fb2d07a9b5d51d + OpenBSD-Commit-ID: 227a8c70a95b4428c49e46863c9ef4bd318a3b8a -commit dc38236ab6827dec575064cac65c8e7035768773 -Author: dtucker@openbsd.org -Date: Thu Jan 6 22:14:25 2022 +0000 +commit a4537e79ab4ac6db4493c5158744b9ebde5efcb0 +Author: djm@openbsd.org +Date: Wed Feb 23 21:21:16 2022 +0000 - upstream: Don't explicitly set HostbasedAuthentication in - - sshd_config. It defaults to "no", and not explicitly setting it allows us to - enable it for the (optional) hostbased test. + upstream: put back the scp manpage changes for SFTP mode too - OpenBSD-Regress-ID: aa8e3548eb5793721641d26e56c29f363b767c0c + OpenBSD-Commit-ID: 05dc53921f927e1b5e5694e1f3aa314549f2e768 -commit e12d912ddf1c873cb72e5de9a197afbe0b6622d2 -Author: dtucker@openbsd.org -Date: Thu Jan 6 21:46:56 2022 +0000 +commit 449bcb8403adfb9724805d02a51aea76046de185 +Author: deraadt@openbsd.org +Date: Wed Feb 23 19:01:00 2022 +0000 - upstream: Add test for hostbased auth. It requires some external + upstream: and we go back to testing sftp-scp after the 8.9 - setup (see comments at the top) and thus is disabled unless - TEST_SSH_HOSTBASED_AUTH and SUDO are set. + release... - OpenBSD-Regress-ID: 3ec8ba3750c5b595fc63e7845d13483065a4827a + OpenBSD-Commit-ID: a80440168258adca543a4607b871327a279c569c -commit a48533a8da6a0f4f05ecd055dc8048047e53569e +commit 166456cedad3962b83b848b1e9caf80794831f0f Author: Damien Miller -Date: Fri Jan 7 09:24:26 2022 +1100 +Date: Wed Feb 23 22:31:11 2022 +1100 - depend + makedepend -commit d9dbb5d9a0326e252d3c7bc13beb9c2434f59409 +commit 32ebaa0dbca5d0bb86e384e72bebc153f48413e4 Author: djm@openbsd.org -Date: Thu Jan 6 22:06:51 2022 +0000 +Date: Wed Feb 23 11:18:13 2022 +0000 - upstream: allow hostbased auth to select RSA keys when only + upstream: avoid integer overflow of auth attempts (harmless, caught - RSA/SHA2 are configured (this is the default case); ok markus@ + by monitor) - OpenBSD-Commit-ID: 411c18c7bde40c60cc6dfb7017968577b4d4a827 + OpenBSD-Commit-ID: 488ad570b003b21e0cd9e7a00349cfc1003b4d86 -commit fdb1d58d0d3888b042e5a500f6ce524486aaf782 +commit 6e0258c64c901753df695e06498b26f9f4812ea6 Author: djm@openbsd.org -Date: Thu Jan 6 22:05:42 2022 +0000 +Date: Wed Feb 23 11:17:10 2022 +0000 - upstream: add a helper function to match a key type to a list of - - signature algorithms. RSA keys can make signatures with multiple algorithms, - so some special handling is required. ok markus@ + upstream: randomise the password used in fakepw - OpenBSD-Commit-ID: 03b41b2bda06fa4cd9c84cef6095033b9e49b6ff + OpenBSD-Commit-ID: 34e159f73b1fbf0a924a9c042d8d61edde293947 -commit 11e8c4309a5086a45fbbbc87d0af5323c6152914 +commit bf114d6f0a9df0b8369823d9a0daa6c72b0c4cc9 Author: djm@openbsd.org -Date: Thu Jan 6 22:04:20 2022 +0000 +Date: Wed Feb 23 11:15:57 2022 +0000 - upstream: log some details on hostkeys that ssh loads for - - hostbased authn ok markus@ + upstream: use asprintf to construct .rhosts paths - OpenBSD-Commit-ID: da17061fa1f0e58cb31b88478a40643e18233e38 + OpenBSD-Commit-ID: 8286e8d3d2c6ff916ff13d041d1713073f738a8b -commit c6706f661739514a34125aa3136532a958929510 +commit c07e154fbdc7285e9ec54e78d8a31f7325d43537 Author: djm@openbsd.org -Date: Thu Jan 6 22:03:59 2022 +0000 +Date: Wed Feb 23 11:07:09 2022 +0000 - upstream: log signature algorithm during verification by monitor; - - ok markus + upstream: openssh-8.9 - OpenBSD-Commit-ID: 02b92bb42c4d4bf05a051702a56eb915151d9ecc + OpenBSD-Commit-ID: 5c5f791c87c483cdab6d9266b43acdd9ca7bde0e -commit 8832402bd500d1661ccc80a476fd563335ef6cdc -Author: djm@openbsd.org -Date: Thu Jan 6 22:02:52 2022 +0000 +commit bc16667b4a1c3cad7029304853c143a32ae04bd4 +Author: Darren Tucker +Date: Tue Feb 22 15:29:22 2022 +1100 - upstream: piece of UpdateHostkeys client strictification: when + Extend select+rlimit sanbox test to include poll. - updating known_hosts with new keys, ignore NULL keys (forgot to include in - prior commit) + POSIX specifies that poll() shall fail if "nfds argument is greater + than {OPEN_MAX}". The setrlimit sandbox sets this to effectively zero + so this causes poll() to fail in the preauth privsep process. - OpenBSD-Commit-ID: 49d2eda6379490e1ceec40c3b670b973f63dea08 + This is likely the underlying cause for the previously observed similar + behaviour of select() on plaforms where it is implement in userspace on + top of poll(). -commit c2d9ced1da0276961d86690b3bd7ebdaca7fdbf7 -Author: djm@openbsd.org -Date: Thu Jan 6 22:01:14 2022 +0000 +commit 6520c488de95366be031d49287ed243620399e23 +Author: Darren Tucker +Date: Tue Feb 22 13:08:59 2022 +1100 - upstream: include rejected signature algorithm in error message - - and not the (useless) key type; ok markus - - OpenBSD-Commit-ID: 4180b5ec7ab347b43f84e00b1972515296dab023 + Add Alpine Linux test VM. -commit 7aa7b096cf2bafe2777085abdeed5ce00581f641 -Author: djm@openbsd.org -Date: Thu Jan 6 22:00:18 2022 +0000 +commit a4b325a3fc82d11e0f5d61f62e7fde29415f7afb +Author: Darren Tucker +Date: Tue Feb 22 12:27:07 2022 +1100 - upstream: make ssh-keysign use the requested signature algorithm - - and not the default for the keytype. Part of unbreaking hostbased auth for - RSA/SHA2 keys. ok markus@ + Include sys/param.h if present. - OpenBSD-Commit-ID: b5639a14462948970da3a8020dc06f9a80ecccdc + Needed for howmany() on MUSL systems such as Alpine. -commit 291721bc7c840d113a49518f3fca70e86248b8e8 -Author: djm@openbsd.org -Date: Thu Jan 6 21:57:28 2022 +0000 +commit 5a102e9cb287a43bd7dfe594b775a89a8e94697c +Author: Darren Tucker +Date: Tue Feb 22 12:25:52 2022 +1100 - upstream: stricter UpdateHostkey signature verification logic on - - the client- side. Require RSA/SHA2 signatures for RSA hostkeys except when - RSA/SHA1 was explicitly negotiated during initial KEX; bz3375 - - ok markus@ + Only include sys/poll.h if we don't have poll.h. - OpenBSD-Commit-ID: 46e75e8dfa2c813781805b842580dcfbd888cf29 + Prevents warnings on MUSL based systems such as Alpine. -commit 0fa33683223c76289470a954404047bc762be84c -Author: djm@openbsd.org -Date: Thu Jan 6 21:55:23 2022 +0000 +commit 7c0d4ce911d5c58b6166b2db754a4e91f352adf5 +Author: Damien Miller +Date: Tue Feb 22 11:14:51 2022 +1100 - upstream: Fix signature algorithm selection logic for - - UpdateHostkeys on the server side. The previous code tried to prefer RSA/SHA2 - for hostkey proofs of RSA keys, but missed some cases. This will use RSA/SHA2 - signatures for RSA keys if the client proposed these algorithms in initial - KEX. bz3375 + disable agent-restrict test on minix3 - Mostly by Dmitry Belyavskiy with some tweaks by me. + Minix seems to have a platform-wide limit on the number of + select(2) syscalls that can be concurrently issued. This test + seems to exceed this limit. - ok markus@ + Refer to: - OpenBSD-Commit-ID: c17ba0c3236340d2c6a248158ebed042ac6a8029 + https://github.com/Stichting-MINIX-Research-Foundation/minix/blob/R3.3.0/minix/servers/vfs/select.c#L114 + https://github.com/Stichting-MINIX-Research-Foundation/minix/blob/R3.3.0/minix/servers/vfs/select.c#L30-L31 -commit 17877bc81db3846e6e7d4cfb124d966bb9c9296b -Author: djm@openbsd.org -Date: Thu Jan 6 21:48:38 2022 +0000 +commit 81d33d8e3cf7ea5ce3a5653c6102b623e019428a +Author: Darren Tucker +Date: Mon Feb 21 21:27:20 2022 +1100 - upstream: convert ssh, sshd mainloops from select() to poll(); - - feedback & ok deraadt@ and markus@ has been in snaps for a few months - - OpenBSD-Commit-ID: a77e16a667d5b194dcdb3b76308b8bba7fa7239c + Skip agent-getpeereid when running as root. -commit 5c79952dfe1aa36105c93b3f383ce9be04dee384 -Author: djm@openbsd.org -Date: Thu Jan 6 21:46:23 2022 +0000 +commit fbd772570a25436a33924d91c164d2b24021f010 +Author: dtucker@openbsd.org +Date: Sun Feb 20 03:47:26 2022 +0000 - upstream: prepare for conversion of ssh, sshd mainloop from + upstream: Aproximate realpath on the expected output by deduping - select() to poll() by moving FD_SET construction out of channel handlers into - separate functions. ok markus + leading slashes. Fixes test failure when user's home dir is / which is + possible in some portable configurations. - OpenBSD-Commit-ID: 937fbf2a4de12b19fb9d5168424e206124807027 + OpenBSD-Regress-ID: 53b8c53734f8893806961475c7106397f98d9f63 -commit 24c5187edfef4651a625b7d5d692c8c7e794f71f -Author: djm@openbsd.org -Date: Wed Jan 5 21:54:37 2022 +0000 +commit 336685d223a59f893faeedf0a562e053fd84058e +Author: Darren Tucker +Date: Sun Feb 20 13:30:52 2022 +1100 - upstream: add a comment so I don't make this mistake again + Really move DSA to end of list. - OpenBSD-Commit-ID: 69c7f2362f9de913bb29b6318580c5a1b52c921e + In commit ad16a84e syncing from OpenBSD, RSA was accidentally moved to + the end of the list instead of DSA. Spotted by andrew at fyfe.gb.net. -commit 7369900441929058263a17f56aa67e05ff7ec628 -Author: djm@openbsd.org -Date: Wed Jan 5 21:50:00 2022 +0000 +commit 63bf4f49ed2fdf2da6f97136c9df0c8168546eb3 +Author: Darren Tucker +Date: Fri Feb 18 12:12:21 2022 +1100 - upstream: fix cut-and-pasto in error message - - OpenBSD-Commit-ID: 4cc5c619e4b456cd2e9bb760d17e3a9c84659198 + Add test configs for MUSL C library. -commit 294c11b1c7d56d3fb61e329603a782315ed70c62 -Author: djm@openbsd.org -Date: Wed Jan 5 08:25:05 2022 +0000 +commit f7fc6a43f1173e8b2c38770bf6cee485a562d03b +Author: Damien Miller +Date: Thu Feb 17 22:54:19 2022 +1100 - upstream: select all RSA hostkey algorithms for UpdateHostkeys tests, - - not just RSA-SHA1 - - OpenBSD-Regress-ID: b40e62b65863f2702a0c10aca583b2fe76772bd8 + minix needs BROKEN_POLL too; chokes on /dev/null -commit 2ea1108c30e3edb6f872dfc1e6da10b041ddf2c0 +commit 667fec5d4fe4406745750a32f69b5d2e1a75e94b Author: djm@openbsd.org -Date: Wed Jan 5 04:56:15 2022 +0000 +Date: Thu Feb 17 10:58:27 2022 +0000 - upstream: regress test both sshsig message hash algorithms, possible + upstream: check for EINTR/EAGAIN failures in the rfd fast-path; caught - now because the algorithm is controllable via the CLI + by dtucker's minix3 vm :) ok dtucker@ - OpenBSD-Regress-ID: 0196fa87acc3544b2b4fd98de844a571cb09a39f + OpenBSD-Commit-ID: 2e2c895a3e82ef347aa6694394a76a438be91361 -commit 2327c306b5d4a2b7e71178e5a4d139af9902c2b0 -Author: djm@openbsd.org -Date: Wed Jan 5 04:50:11 2022 +0000 +commit 41417dbda9fb55a0af49a8236e3ef9d50d862644 +Author: Darren Tucker +Date: Thu Feb 17 22:05:29 2022 +1100 - upstream: allow selection of hash at sshsig signing time; code - - already supported either sha512 (default) or sha256, but plumbing wasn't - there mostly by Linus Nordberg - - OpenBSD-Commit-ID: 1b536404b9da74a84b3a1c8d0b05fd564cdc96cd + Comment hurd test, the VM is currently broken. -commit 56e941d0a00d6d8bae88317717d5e1b7395c9529 -Author: djm@openbsd.org -Date: Wed Jan 5 04:27:54 2022 +0000 +commit b2aee35a1f0dc798339b3fcf96136da71b7e3f6d +Author: Damien Miller +Date: Thu Feb 17 21:15:16 2022 +1100 - upstream: add missing -O option to usage() for ssh-keygen -Y sign; - - from Linus Nordberg + find sk-dummy.so when build_dir != src_dir - OpenBSD-Commit-ID: 4e78feb4aa830727ab76bb2e3d940440ae1d7af0 + spotted by Corinna Vinschen; feedback & ok dtucker@ -commit 141a14ec9b0924709c98df2dd8013bde5d8d12c7 -Author: djm@openbsd.org -Date: Wed Jan 5 04:27:01 2022 +0000 +commit 62a2d4e50b2e89f2ef04576931895d5139a5d037 +Author: Damien Miller +Date: Wed Feb 16 16:26:17 2022 +1100 - upstream: move sig_process_opts() to before sig_sign(); no - - functional code change - - OpenBSD-Commit-ID: da02d61f5464f72b4e8b299f83e93c3b657932f9 + update versions in preparation for 8.9 release -commit 37a14249ec993599a9051731e4fb0ac5e976aec1 +commit dd6d3dded721ac653ea73c017325e5bfeeec837f Author: djm@openbsd.org -Date: Wed Jan 5 04:10:39 2022 +0000 +Date: Tue Feb 15 05:13:36 2022 +0000 - upstream: regression test for find-principals NULL deref; from Fabian + upstream: document the unbound/host-bound options to - Stelzer + PubkeyAuthentication; spotted by HARUYAMA Seigo - OpenBSD-Regress-ID: f845a8632a5a7d5ae26978004c93e796270fd3e5 + OpenBSD-Commit-ID: 298f681b66a9ecd498f0700082c7a6c46e948981 -commit eb1f042142fdaba93f6c9560cf6c91ae25f6884a -Author: djm@openbsd.org -Date: Wed Jan 5 04:02:42 2022 +0000 +commit df93529dd727fdf2fb290700cd4f1adb0c3c084b +Author: Darren Tucker +Date: Mon Feb 14 14:19:40 2022 +1100 - upstream: NULL deref when using find-principals when matching an + Test if sshd accidentally acquires controlling tty - allowed_signers line that contains a namespace restriction, but no - restriction specified on the command-line; report and fix from Fabian Stelzer + When SSHD_ACQUIRES_CTTY is defined, test for the problematic behaviour + in the STREAMS code before activating the workaround. ok djm@ + +commit 766176cfdbfd7ec38bb6118dde6e4daa0df34888 +Author: Darren Tucker +Date: Sat Feb 12 10:24:56 2022 +1100 + + Add cygwin-release test config. - OpenBSD-Commit-ID: 4a201b86afb668c908d1a559c6af456a61f4b145 + This tests the flags used to build the cygwin release binaries. -commit 8f3b18030579f395eca2181da31a5f945af12a59 -Author: dtucker@openbsd.org -Date: Tue Jan 4 08:38:53 2022 +0000 +commit b30698662b862f5397116d23688aac0764e0886e +Author: Darren Tucker +Date: Fri Feb 11 21:00:35 2022 +1100 - upstream: Log command invocation while debugging. + Move SSHD_ACQUIRES_CTTY workaround into compat. - This will aid in manually reproducing failing commands. + On some (most? all?) SysV based systems with STREAMS based ptys, + sshd could acquire a controlling terminal during pty setup when + it pushed the "ptem" module, due to what is probably a bug in + the STREAMS driver that's old enough to vote. Because it was the + privileged sshd's controlling terminal, it was not available for + the user's session, which ended up without one. This is known to + affect at least Solaris <=10, derivatives such as OpenIndiana and + several other SysV systems. See bz#245 for the backstory. - OpenBSD-Regress-ID: b4aba8d5ac5675ceebeeeefa3261ce344e67333a + In the we past worked around that by not calling setsid in the + privileged sshd child, which meant it was not a session or process + group leader. This solved controlling terminal problem because sshd + was not eligble to acquire one, but had other side effects such as + not cleaning up helper subprocesses in the SIGALRM handler since it + was not PG leader. Recent cleanups in the signal handler uncovered + this, resulting in the LoginGraceTime timer not cleaning up privsep + unprivileged processes. + + This change moves the workaround into the STREAMS pty allocation code, + by allocating a sacrificial pty to act as sshd's controlling terminal + before allocating user ptys, so those are still available for users' + sessions. + + On the down side: + - this will waste a pty per ssh connection on affected platforms. + + On the up side: + - it makes the process group behaviour consistent between platforms. + + - it puts the workaround nearest the code that actually causes the + problem and competely out of the mainline code. + + - the workaround is only activated if you use the STREAMS code. If, + say, Solaris 11 has the bug but also a working openpty() it doesn't + matter that we defined SSHD_ACQUIRES_CTTY. + + - the workaround is only activated when the fist pty is allocated, + ie in the post-auth privsep monitor. This means there's no risk + of fd leaks to the unprivileged processes, and there's no effect on + sessions that do not allocate a pty. + + Based on analysis and work by djm@, ok djm@ -commit bbf285164df535f0d38c36237f007551bbdae27f +commit cd00b48cf10f3565936a418c1e6d7e48b5c36140 Author: Darren Tucker -Date: Sun Dec 26 10:31:15 2021 +1100 +Date: Fri Feb 11 20:09:32 2022 +1100 - Always save config.h as build artifact. + Simplify handling of --with-ssl-dir. - Should allow better comparison between failing and succeeding test - platforms. + ok djm@ -commit 03bd4ed0db699687c5cd83405d26f81d2dc28d22 +commit ea13fc830fc0e0dce2459f1fab2ec5099f73bdf0 Author: Darren Tucker -Date: Sat Dec 25 16:42:51 2021 +1100 +Date: Fri Feb 11 13:39:29 2022 +1100 - Add OpenBSD 7.0 target. Retire 6.8. + Stop testing OpenBSD HEAD on 6.9 and 7.0. + + HEAD is not guaranteed to work on previous stable branches, and at the + moment is broken due to libfido API changes. -commit c45a752f0de611afd87755c2887c8a24816d08ee -Author: jsg@openbsd.org -Date: Sat Jan 1 05:55:06 2022 +0000 +commit 50b9e4a4514697ffb9592200e722de6b427cb9ff +Author: dtucker@openbsd.org +Date: Fri Feb 11 00:43:56 2022 +0000 - upstream: spelling + upstream: Always initialize delim before passing to hpdelim2 which - OpenBSD-Commit-ID: c63e43087a64d0727af13409c708938e05147b62 + might not set it. Found by the Valgrind tests on github, ok deraadt@ + + OpenBSD-Commit-ID: c830c0db185ca43beff3f41c19943c724b4f636d -commit c672f83a89a756564db0d3af9934ba0e1cf8fa3e -Author: djm@openbsd.org -Date: Tue Jan 4 07:20:33 2022 +0000 +commit 6ee53064f476cf163acd5521da45b11b7c57321b +Author: Darren Tucker +Date: Fri Feb 11 10:03:06 2022 +1100 - upstream: unbreak test: was picking up system ssh-add instead of the - - one supposedly being tested. Spotted by dtucker and using his VM zoo (which - includes some systems old enough to lack ed25519 key support) + Fix helper include path and remove excess code. - OpenBSD-Regress-ID: 7976eb3df11cc2ca3af91030a6a8c0cef1590bb5 + Looks like test_hpdelim.c was imported twice into the same file. + Spotted by kevin.brott at gmail com and chris at cataclysmal org. -commit a23698c3082ffe661abed14b020eac9b0c25eb9f -Author: djm@openbsd.org -Date: Sat Jan 1 04:18:06 2022 +0000 +commit 9fa63a19f68bc87452d3cf5c577cafad2921b7a4 +Author: Darren Tucker +Date: Thu Feb 10 23:27:02 2022 +1100 - upstream: fix memleak in process_extension(); oss-fuzz issue #42719 + Put poll.h inside ifdef. + +commit 3ac00dfeb54b252c15dcbf1971582e9e3b946de6 +Author: Darren Tucker +Date: Thu Feb 10 22:17:31 2022 +1100 + + We now support POLLPRI so actually define it. + +commit 25bd659cc72268f2858c5415740c442ee950049f +Author: dtucker@openbsd.org +Date: Sun Feb 6 22:58:33 2022 +0000 + + upstream: Add test for empty hostname with port. - OpenBSD-Commit-ID: d8d49f840162fb7b8949e3a5adb8107444b6de1e + OpenBSD-Regress-ID: e19e89d3c432b68997667efea44cf015bbe2a7e3 -commit cb885178f36b83d0f14cfe9f345d2068103feed0 -Author: jsg@openbsd.org -Date: Sat Jan 1 01:55:30 2022 +0000 +commit a29af853cff41c0635f0378c00fe91bf9c91dea4 +Author: dtucker@openbsd.org +Date: Fri Feb 4 07:53:44 2022 +0000 - upstream: spelling ok dtucker@ + upstream: Add unit tests for hpdelim. - OpenBSD-Commit-ID: bfc7ba74c22c928de2e257328b3f1274a3dfdf19 + OpenBSD-Regress-ID: be97b85c19895e6a1ce13c639765a3b48fd95018 -commit 6b977f8080a32c5b3cbb9edb634b9d5789fb79be +commit 9699151b039ecc5fad9ac6c6c02e9afdbd26f15f Author: djm@openbsd.org -Date: Sun Dec 26 23:34:41 2021 +0000 +Date: Thu Feb 10 04:12:38 2022 +0000 - upstream: split method list search functionality from + upstream: revert for imminent OpenSSH release, which wil ship with - authmethod_lookup() into a separate authmethod_byname(), for cases where we - don't need to check whether a method is enabled, etc. + scp in RCP mode. - use this to fix the "none" authentication method regression reported - by Nam Nguyen via bugs@ + > revision 1.106 + > date: 2021/10/15 14:46:46; author: deraadt; state: Exp; lines: +13 -9; commitid: w5n9B2RE38tFfggl; + > openbsd 7.0 release shipped with the (hopefully last) scp that uses RCP + > protocol for copying. Let's get back to testing the SFTP protocol. - ok deraadt@ + This will be put back once the OpenSSH release is done. - OpenBSD-Commit-ID: 8cd188dc3a83aa8abe5b7693e762975cd8ea8a17 + OpenBSD-Commit-ID: 0c725481a78210aceecff1537322c0b2df03e768 -commit 0074aa2c8d605ee7587279a22cdad4270b4ddd07 -Author: jmc@openbsd.org -Date: Wed Dec 22 06:56:41 2021 +0000 +commit 45279abceb37c3cbfac8ba36dde8b2c8cdd63d32 +Author: dtucker@openbsd.org +Date: Tue Feb 8 08:59:12 2022 +0000 - upstream: sort -H and -h in SYNOPSIS/usage(); tweak the -H text; - - ok djm + upstream: Switch hpdelim interface to accept only ":" as delimiter. - OpenBSD-Commit-ID: 90721643e41e9e09deb5b776aaa0443456ab0965 - -commit 1c9853a68b2319f2e5f929179735e8fbb9988a67 -Author: Darren Tucker -Date: Wed Dec 22 19:33:10 2021 +1100 - - Use SHA.*_HMAC_BLOCK_SIZE if needed. + Historicallly, hpdelim accepted ":" or "/" as a port delimiter between + hosts (or addresses) and ports. These days most of the uses for "/" + are no longer accepted, so there are several places where it checks the + delimiter to disallow it. Make hpdelim accept only ":" and use hpdelim2 + in the other cases. ok djm@ - If the platform has a native SHA2, does not define SHA.*_BLOCK_LENGTH - but does define SHA.*_HMAC_BLOCK_SIZE (eg Solaris) then use the latter. - Should fix --without-openssl build on Solaris. + OpenBSD-Commit-ID: 7e6420bd1be87590b6840973f5ad5305804e3102 -commit 715c892f0a5295b391ae92c26ef4d6a86ea96e8e -Author: Damien Miller -Date: Wed Dec 22 09:02:50 2021 +1100 +commit a1bcbf04a7c2d81944141db7ecd0ba292d175a66 +Author: pedro martelletto +Date: Mon Feb 7 09:09:59 2022 +0100 - remove sys/param.h in -portable, after upstream + fix typos in previous -commit 7a7c69d8b4022b1e5c0afb169c416af8ce70f3e8 +commit 56192518e329b39f063487bc2dc4d796f791eca0 Author: Damien Miller -Date: Mon Dec 20 13:05:20 2021 +1100 +Date: Mon Feb 7 12:53:47 2022 +1100 - add agent-restrict.sh file, missed in last commit + compat code for fido_assert_set_clientdata() -commit f539136ca51a4976644db5d0be8158cc1914c72a +commit d6b5aa08fdcf9b527f8b8f932432941d5b76b7ab Author: djm@openbsd.org -Date: Sun Dec 19 22:20:12 2021 +0000 +Date: Mon Feb 7 01:25:12 2022 +0000 - upstream: regression test for destination restrictions in ssh-agent + upstream: use libfido2 1.8.0+ fido_assert_set_clientdata() instead - OpenBSD-Regress-ID: 3c799d91e736b1753b4a42d80c42fc40de5ad33d + of manually hashing data outselves. Saves a fair bit of code and makes life + easier for some -portable platforms. + + OpenBSD-Commit-ID: 351dfaaa5ab1ee928c0e623041fca28078cff0e0 -commit 6e4980eb8ef94c04874a79dd380c3f568e8416d6 -Author: anton@openbsd.org -Date: Sat Dec 18 06:53:59 2021 +0000 +commit 86cc93fd3c26b2e0c7663c6394995fb04ebfbf3b +Author: jsg@openbsd.org +Date: Sun Feb 6 00:29:03 2022 +0000 - upstream: Make use of ntests variable, pointed out by clang 13. + upstream: remove please from manual pages ok jmc@ sthen@ millert@ - OpenBSD-Regress-ID: 4241a3d21bdfa1630ed429b6d4fee51038d1be72 + OpenBSD-Commit-ID: 6543acb00f4f38a23472538e1685c013ca1a99aa -commit 3eead8158393b697f663ec4301e3c7b6f24580b1 -Author: deraadt@openbsd.org -Date: Tue Dec 14 21:25:27 2021 +0000 +commit ad16a84e64a8cf1c69c63de3fb9008320a37009c +Author: dtucker@openbsd.org +Date: Fri Feb 4 02:49:17 2022 +0000 - upstream: sys/param.h cleanup, mostly using MINIMUM() and + upstream: Since they are deprecated, move DSA to the end of the - ok dtucker + default list of public keys so that they will be tried last. From github + PR#295 from "ProBackup-nl", ok djm@ - OpenBSD-Regress-ID: 172a4c45d3bcf92fa6cdf6c4b9db3f1b3abe4db0 + OpenBSD-Commit-ID: 7e5d575cf4971d4e2de92e0b6d6efaba53598bf0 -commit 266678e19eb0e86fdf865b431b6e172e7a95bf48 -Author: djm@openbsd.org -Date: Sun Dec 19 22:15:42 2021 +0000 +commit 253de42753de85dde266e061b6fec12ca6589f7d +Author: Damien Miller +Date: Wed Feb 2 16:52:07 2022 +1100 - upstream: document host-bound publickey authentication + portable-specific string array constification - OpenBSD-Commit-ID: ea6ed91779a81f06d961e30ecc49316b3d71961b + from Mike Frysinger -commit 3d00024b3b156aa9bbd05d105f1deb9cb088f6f7 +commit dfdcc2220cf359c492d5d34eb723370e8bd8a19e Author: djm@openbsd.org -Date: Sun Dec 19 22:15:21 2021 +0000 +Date: Tue Feb 1 23:37:15 2022 +0000 - upstream: document agent protocol extensions + upstream: test 'ssh-keygen -Y find-principals' with wildcard - OpenBSD-Commit-ID: 09e8bb391bbaf24c409b75a4af44e0cac65405a7 + principals; from Fabian Stelzer + + OpenBSD-Regress-ID: fbe4da5f0032e7ab496527a5bf0010fd700f8f40 -commit c385abf76511451bcba78568167b1cd9e90587d5 -Author: djm@openbsd.org -Date: Sun Dec 19 22:14:47 2021 +0000 +commit 968e508967ef42480cebad8cf3172465883baa77 +Author: dtucker@openbsd.org +Date: Fri Jan 21 02:54:41 2022 +0000 - upstream: PubkeyAuthentication=yes|no|unbound|host-bound - - Allow control over which pubkey methods are used. Added out of - concern that some hardware devices may have difficulty signing - the longer pubkey authentication challenges. This provides a - way for them to disable the extension. It's also handy for - testing. + upstream: Enable all supported ciphers and macs in the server - feedback / ok markus@ + before trying to benchmark them. Increase the data file size to get more + signal. - OpenBSD-Commit-ID: ee52580db95c355cf6d563ba89974c210e603b1a + OpenBSD-Regress-ID: dc3697d9f7defdfc51c608782c8e750128e46eb6 -commit 34b1e9cc7654f41cd4c5b1cc290b999dcf6579bb +commit 15b7199a1fd37eff4c695e09d573f3db9f4274b7 Author: djm@openbsd.org -Date: Sun Dec 19 22:14:12 2021 +0000 +Date: Tue Feb 1 23:34:47 2022 +0000 - upstream: document destination-constrained keys + upstream: allow 'ssh-keygen -Y find-principals' to match wildcard - feedback / ok markus@ + principals in allowed_signers files; from Fabian Stelzer - OpenBSD-Commit-ID: cd8c526c77268f6d91c06adbee66b014d22d672e + OpenBSD-Commit-ID: 1e970b9c025b80717dddff5018fe5e6f470c5098 -commit a6d7677c4abcfba268053e5867f2acabe3aa371b +commit 541667fe6dc26d7881e55f0bb3a4baa6f3171645 Author: djm@openbsd.org -Date: Sun Dec 19 22:13:55 2021 +0000 +Date: Tue Feb 1 23:32:51 2022 +0000 - upstream: Use hostkey parsed from hostbound userauth request - - Require host-bound userauth requests for forwarded SSH connections. - - The hostkey parsed from the host-bound userauth request is now checked - against the most recently bound session ID / hostkey on the agent socket - and the signature refused if they do not match. + upstream: mark const string array contents const too, i.e. static - ok markus@ + const char *array => static const char * const array from Mike Frysinger - OpenBSD-Commit-ID: d69877c9a3bd8d1189a5dbdeceefa432044dae02 + OpenBSD-Commit-ID: a664e31ea6a795d7c81153274a5f47b22bdc9bc1 -commit baaff0ff4357cc5a079621ba6e2d7e247b765061 +commit 8cfa73f8a2bde4c98773f33f974c650bdb40dd3c Author: djm@openbsd.org -Date: Sun Dec 19 22:13:33 2021 +0000 +Date: Tue Feb 1 23:11:11 2022 +0000 - upstream: agent support for parsing hostkey-bound signatures + upstream: better match legacy scp behaviour: show un-expanded paths - Allow parse_userauth_request() to work with blobs from - publickey-hostbound-v00@openssh.com userauth attempts. + in error messages. Spotted by and ok tb@ - Extract hostkey from these blobs. + OpenBSD-Commit-ID: 866c8ffac5bd7d38ecbfc3357c8adfa58af637b7 + +commit 4e62c13ab419b4b224c8bc6a761e91fcf048012d +Author: dtucker@openbsd.org +Date: Tue Feb 1 07:57:32 2022 +0000 + + upstream: Remove explicit kill of privsep preauth child's PID in - ok markus@ + SIGALRM handler. It's no longer needed since the child will get terminated by + the SIGTERM to the process group that cleans up any auth helpers, it + simplifies the signal handler and removes the risk of a race when updating + the PID. Based on analysis by HerrSpace in github PR#289, ok djm@ - OpenBSD-Commit-ID: 81c064255634c1109477dc65c3e983581d336df8 + OpenBSD-Commit-ID: 2be1ffa28b4051ad9e33bb4371e2ec8a31d6d663 -commit 3e16365a79cdeb2d758cf1da6051b1c5266ceed7 -Author: djm@openbsd.org -Date: Sun Dec 19 22:13:12 2021 +0000 +commit 2a7ccd2ec4022917b745af7186f514f365b7ebe9 +Author: guenther@openbsd.org +Date: Fri Jan 28 06:18:42 2022 +0000 - upstream: EXT_INFO negotiation of hostbound pubkey auth + upstream: When it's the possessive of 'it', it's spelled "its", - the EXT_INFO packet gets a new publickey-hostbound@openssh.com to - advertise the hostbound public key method. + without the apostrophe. - Client side support to parse this feature flag and set the kex->flags - indicator if the expected version is offered (currently "0"). + OpenBSD-Commit-ID: fb6ab9c65bd31de831da1eb4631ddac018c5fae7 + +commit 8a0848cdd3b25c049332cd56034186b7853ae754 +Author: Alex James +Date: Sun Jan 30 16:13:36 2022 -0600 + + sandbox-seccomp-filter: allow gettid - ok markus@ + Some allocators (such as Scudo) use gettid while tracing allocations [1]. + Allow gettid in preauth to prevent sshd from crashing with Scudo. - OpenBSD-Commit-ID: 4cdb2ca5017ec1ed7a9d33bda95c1d6a97b583b0 + [1]: https://github.com/llvm/llvm-project/blob/llvmorg-13.0.0/compiler-rt/lib/gwp_asan/common.cpp#L46 -commit 94ae0c6f0e35903b695e033bf4beacea1d376bb1 +commit b30d32159dc3c7052f4bfdf36357996c905af739 Author: djm@openbsd.org -Date: Sun Dec 19 22:12:54 2021 +0000 +Date: Sat Jan 22 00:49:34 2022 +0000 - upstream: client side of host-bound pubkey authentication - - Add kex->flags member to enable the publickey-hostbound-v00@openssh.com - authentication method. - - Use the new hostbound method in client if the kex->flags flag was set, - and include the inital KEX hostkey in the userauth request. - - Note: nothing in kex.c actually sets the new flag yet + upstream: add a ssh_packet_process_read() function that reads from - ok markus@ + a fd directly into the transport input buffer. - OpenBSD-Commit-ID: 5a6fce8c6c8a77a80ee1526dc467d91036a5910d - -commit 288fd0218dbfdcb05d9fbd1885904bed9b6d42e6 -Author: djm@openbsd.org -Date: Sun Dec 19 22:12:30 2021 +0000 - - upstream: sshd side of hostbound public key auth + Use this in the client and server mainloops to avoid unnecessary + copying. It also lets us use a more greedy read size without penalty. - This is identical to the standard "publickey" method, but it also includes - the initial server hostkey in the message signed by the client. + Yields a 2-3% performance gain on cipher-speed.sh (in a fairly + unscientific test tbf) - feedback / ok markus@ + feedback dtucker@ ok markus@ - OpenBSD-Commit-ID: 7ea01bb7238a560c1bfb426fda0c10a8aac07862 + OpenBSD-Commit-ID: df4112125bf79d8e38e79a77113e1b373078e632 -commit dbb339f015c33d63484261d140c84ad875a9e548 +commit a1a8efeaaa9cccb15cdc0a2bd7c347a149a3a7e3 Author: djm@openbsd.org -Date: Sun Dec 19 22:12:07 2021 +0000 +Date: Sat Jan 22 00:45:31 2022 +0000 - upstream: prepare for multiple names for authmethods - - allow authentication methods to have one additional name beyond their - primary name. - - allow lookup by this synonym - - Use primary name for authentication decisions, e.g. for - PermitRootLogin=publickey - - Pass actual invoked name to the authmethods, so they can tell whether they - were requested via the their primary name or synonym. + upstream: Use sshbuf_read() to read directly into the channel input - ok markus@ + buffer rather than into a stack buffer that needs to be copied again; + Improves performance by about 1% on cipher-speed.sh feedback dtucker@ ok + markus@ - OpenBSD-Commit-ID: 9e613fcb44b8168823195602ed3d09ffd7994559 + OpenBSD-Commit-ID: bf5e6e3c821ac3546dc8241d8a94e70d47716572 -commit 39f00dcf44915f20684160f0a88d3ef8a3278351 -Author: djm@openbsd.org -Date: Sun Dec 19 22:11:39 2021 +0000 +commit 29a76994e21623a1f84d68ebb9dc5a3c909fa3a7 +Author: Damien Miller +Date: Tue Jan 25 11:52:34 2022 +1100 - upstream: ssh-agent side of destination constraints - - Gives ssh-agent the ability to parse restrict-destination-v00@openssh.com - constraints and to apply them to keys. - - Check constraints against the hostkeys recorded for a SocketEntry when - attempting a signature, adding, listing or deleting keys. Note that - the "delete all keys" request will remove constrained keys regardless of - location. - - feedback Jann Horn & markus@ - ok markus@ - - OpenBSD-Commit-ID: 84a7fb81106c2d609a6ac17469436df16d196319 + depend -commit ce943912df812c573a33d00bf9e5435b7fcca3f7 +commit 754e0d5c7712296a7a3a83ace863812604c7bc4f Author: djm@openbsd.org -Date: Sun Dec 19 22:11:06 2021 +0000 +Date: Sat Jan 22 00:43:43 2022 +0000 - upstream: ssh-add side of destination constraints - - Have ssh-add accept a list of "destination constraints" that allow - restricting where keys may be used in conjunction with a ssh-agent/ssh - that supports session ID/hostkey binding. - - Constraints are specified as either "[user@]host-pattern" or - "host-pattern>[user@]host-pattern". - - The first form permits a key to be used to authenticate as the - specified user to the specified host. - - The second form permits a key that has previously been permitted - for use at a host to be available via a forwarded agent to an - additional host. - - For example, constraining a key with "user1@host_a" and - "host_a>host_b". Would permit authentication as "user1" at - "host_a", and allow the key to be available on an agent forwarded - to "host_a" only for authentication to "host_b". The key would not - be visible on agent forwarded to other hosts or usable for - authentication there. - - Internally, destination constraints use host keys to identify hosts. - The host patterns are used to obtain lists of host keys for that - destination that are communicated to the agent. The user/hostkeys are - encoded using a new restrict-destination-v00@openssh.com key - constraint. - - host keys are looked up in the default client user/system known_hosts - files. It is possible to override this set on the command-line. + upstream: Add a sshbuf_read() that attempts to read(2) directly in - feedback Jann Horn & markus@ - ok markus@ + to a sshbuf; ok markus@ - OpenBSD-Commit-ID: 6b52cd2b637f3d29ef543f0ce532a2bce6d86af5 + OpenBSD-Commit-ID: 2d8f249040a4279f3bc23c018947384de8d4a45b -commit 5e950d765727ee0b20fc3d2cbb0c790b21ac2425 +commit c7964fb9829d9ae2ece8b51a76e4a02e8449338d Author: djm@openbsd.org -Date: Sun Dec 19 22:10:24 2021 +0000 +Date: Fri Jan 21 07:04:19 2022 +0000 - upstream: ssh-add side of destination constraints - - Have ssh-add accept a list of "destination constraints" that allow - restricting where keys may be used in conjunction with a ssh-agent/ssh - that supports session ID/hostkey binding. - - Constraints are specified as either "[user@]host-pattern" or - "host-pattern>[user@]host-pattern". - - The first form permits a key to be used to authenticate as the - specified user to the specified host. - - The second form permits a key that has previously been permitted - for use at a host to be available via a forwarded agent to an - additional host. - - For example, constraining a key with "user1@host_a" and - "host_a>host_b". Would permit authentication as "user1" at - "host_a", and allow the key to be available on an agent forwarded - to "host_a" only for authentication to "host_b". The key would not - be visible on agent forwarded to other hosts or usable for - authentication there. - - Internally, destination constraints use host keys to identify hosts. - The host patterns are used to obtain lists of host keys for that - destination that are communicated to the agent. The user/hostkeys are - encoded using a new restrict-destination-v00@openssh.com key - constraint. - - host keys are looked up in the default client user/system known_hosts - files. It is possible to override this set on the command-line. + upstream: add a helper for writing an error message to the - feedback Jann Horn & markus@ - ok markus@ + stderr_buf and setting quit_pending; no functional change but saves a bunch + of boilerplate - OpenBSD-Commit-ID: ef47fa9ec0e3c2a82e30d37ef616e245df73163e + OpenBSD-Commit-ID: 0747657cad6b9eabd514a6732adad537568e232d -commit 4c1e3ce85e183a9d0c955c88589fed18e4d6a058 +commit d23b4f7fdb1bd87e2cd7a9ae7c198ae99d347916 Author: djm@openbsd.org -Date: Sun Dec 19 22:09:23 2021 +0000 +Date: Fri Jan 21 06:58:06 2022 +0000 - upstream: ssh-agent side of binding - - record session ID/hostkey/forwarding status for each active socket. - - Attempt to parse data-to-be-signed at signature request time and extract - session ID from the blob if it is a pubkey userauth request. + upstream: correct comment and use local variable instead of long - ok markus@ + indirection; spotted by dtucker@ - OpenBSD-Commit-ID: a80fd41e292b18b67508362129e9fed549abd318 + OpenBSD-Commit-ID: 5f65f5f69db2b7d80a0a81b08f390a63f8845965 -commit e9497ecf73f3c16667288bce48d4e3d7e746fea1 -Author: djm@openbsd.org -Date: Sun Dec 19 22:08:48 2021 +0000 +commit d069b020a02b6e3935080204ee44d233e8158ebb +Author: deraadt@openbsd.org +Date: Fri Jan 21 00:53:40 2022 +0000 - upstream: ssh client side of binding - - send session ID, hostkey, signature and a flag indicating whether the - agent connection is being forwarded to ssh agent each time a connection - is opened via a new "session-bind@openssh.com" agent extension. + upstream: When poll(2) returns -1, for some error conditions - ok markus@ + pfd[].revents is not cleared. There are subtle errors in various programs. + In this particular case, the program should error out. ok djm millert - OpenBSD-Commit-ID: 2f154844fe13167d3ab063f830d7455fcaa99135 + OpenBSD-Commit-ID: 00f839b16861f7fb2adcf122e95e8a82fa6a375c -commit b42c61d6840d16ef392ed0f365e8c000734669aa -Author: djm@openbsd.org -Date: Sun Dec 19 22:08:06 2021 +0000 +commit e204b34337a965feb439826157c191919fd9ecf8 +Author: Damien Miller +Date: Sat Jan 22 11:38:21 2022 +1100 - upstream: Record session ID, host key and sig at intital KEX - - These will be used later for agent session ID / hostkey binding + restore tty force-read hack - ok markus@ + This portable-specific hack fixes a hang on exit for ttyful sessions + on Linux and some SysVish Unix variants. It was accidentally disabled + in commit 5c79952dfe1a (a precursor to the mainloop poll(2) conversion). - OpenBSD-Commit-ID: a9af29e33772b18e3e867c6fa8ab35e1694a81fe + Spotted by John in bz3383 -commit 26ca33d186473d58a32d812e19273ce078b6ffff -Author: djm@openbsd.org -Date: Tue Dec 7 22:06:45 2021 +0000 +commit 68085066b6bad43643b43f5957fcc5fd34782ccd +Author: Corinna Vinschen +Date: Fri Jan 21 03:22:56 2022 +1100 - upstream: better error message for FIDO keys when we can't match + Fix signedness bug in Cygwin code - them to a token + The Cygwin-specific pattern match code has a bug. It checks + the size_t value returned by mbstowcs for being < 0. The right + thing to do is to check against (size_t) -1. Fix that. - OpenBSD-Commit-ID: 58255c2a1980088f4ed144db67d879ada2607650 + Signed-off-by: Corinna Vinschen -commit adb0ea006d7668190f0c42aafe3a2864d352e34a +commit 2e5cfed513e84444483baf1d8b31c40072b05103 Author: Darren Tucker -Date: Wed Dec 15 10:50:33 2021 +1100 +Date: Thu Jan 20 13:26:27 2022 +1100 - Correct value for IPTOS_DSCP_LE. + Improve compatibility of early exit trap handling. - It needs to allow for the preceeding two ECN bits. From daisuke.higashi - at gmail.com via OpenSSH bz#3373, ok claudio@, job@, djm@. + Dash (as used by the github runners) has some differences in its trap + builtin: + - it doesn't have -p (which is fine, that's not in posix). + - it doesn't work in a subshell (which turns out to be in compliance + with posix, which means bash isn't). + - it doesn't work in a pipeline, ie "trap|cat" produces no output. -commit 3dafd3fe220bd9046f11fcf5191a79ec8800819f +commit 3fe6800b6027add478e648934cbb29d684e51943 Author: Darren Tucker -Date: Fri Dec 10 11:57:30 2021 +1100 +Date: Thu Jan 20 00:49:57 2022 +1100 - Increase timeout for test step. + Move more tests out of valgrind-1 runner. -commit 5aefb05cd5b843e975b191d6ebb7ddf8de35c112 +commit 20da6ed136dd76e6a0b229ca3036ef9c7c7ef798 Author: Darren Tucker -Date: Fri Dec 10 10:27:27 2021 +1100 +Date: Wed Jan 19 15:37:39 2022 +1100 - Update the list of tests that don't work on Minix. + Invoke EXIT handler early when using Valgrind. - While there, remove CC (configure will now find clang) and make the test - list easier to update via cut and paste. + When using Valgrind, we need to wait for all invoked programs to + complete before checking their valgrind logs. Some tests, notably + agent-restrict, set an EXIT trap handler to clean up things like + ssh-agent, but those do not get invoked until test-exec.sh exits. + This causes the Valgrind wait to deadlock, so if present invoke + the EXIT handler before checking the Valgrind logs. -commit 1c09bb1b2e207d091cec299c49416c23d24a1b31 +commit ad2e0580c87b0714cf166bca9d926a95ddeee1c8 Author: Darren Tucker -Date: Fri Dec 10 10:12:57 2021 +1100 +Date: Tue Jan 18 12:55:21 2022 +1100 - Add minix host tuple. - - Define SETEUID_BREAKS_SETUID for it which should make privsep work. + Remove line leftover from upstream sync. -commit a2188579032cf080213a78255373263466cb90cc -Author: jsg@openbsd.org -Date: Sun Dec 5 12:28:27 2021 +0000 +commit d1051c0f11a6b749027e26bbeb61b07df4b67e15 +Author: djm@openbsd.org +Date: Mon Jan 17 22:56:04 2022 +0000 - upstream: fix unintended sizeof pointer in debug path ok markus@ + upstream: when decompressing zlib compressed packets, use - OpenBSD-Commit-ID: b9c0481ffc0cd801e0840e342e6a282a85aac93c + Z_SYNC_FLUSH instead of Z_PARTIAL_FLUSH as the latter is not actually + specified as a valid mode for inflate(). There should be no practical change + in behaviour as the compression side ensures a flush that should make all + data available to the receiver in all cases. + + repoted by lamm AT ibm.com via bz3372; ok markus + + OpenBSD-Commit-ID: 67cfc1fa8261feae6d2cc0c554711c97867cc81b -commit da40355234068c82f1a36196f2d18dd2d81aaafd -Author: naddy@openbsd.org -Date: Sat Dec 4 00:05:39 2021 +0000 +commit d5981b1883746b1ae178a46229c26b53af99e37a +Author: djm@openbsd.org +Date: Mon Jan 17 21:41:04 2022 +0000 - upstream: RSA/SHA-1 is not used by default anymore on the server + upstream: make most of the sftp errors more idiomatic, following - OpenBSD-Commit-ID: 64abef6cfc3e53088225f6b8a1dcd86d52dc8353 + the general form of "[local/remote] operation path: error message"; ok markus + + OpenBSD-Commit-ID: 61364cd5f3a9fecaf8d63b4c38a42c0c91f8b571 -commit e9c71498a083a8b502aa831ea931ce294228eda0 +commit ac7c9ec894ed0825d04ef69c55babb49bab1d32e Author: djm@openbsd.org -Date: Thu Dec 2 23:45:36 2021 +0000 +Date: Mon Jan 17 21:39:51 2022 +0000 - upstream: hash full host:port when asked to hash output, fixes hashes + upstream: when transferring multiple files in SFTP mode, create the - for non- default ports. bz3367 ok dtucker@ + destination directory if it doesn't already exist to match olde-scp(1) + behaviour. noticed by deraadt@ ok markus@ - OpenBSD-Commit-ID: 096021cc847da7318ac408742f2d0813ebe9aa73 + OpenBSD-Commit-ID: cf44dfa231d4112f697c24ff39d7ecf2e6311407 -commit b5601202145a03106012c22cb8980bcac2949f0b +commit 39d17e189f8e72c34c722579d8d4e701fa5132da Author: djm@openbsd.org -Date: Thu Dec 2 23:23:13 2021 +0000 +Date: Fri Jan 14 03:43:48 2022 +0000 - upstream: improve the testing of credentials against inserted FIDO + upstream: allow pin-required FIDO keys to be added to ssh-agent(1). - keys a little more: ask the token whether a particular key belongs to it in - cases where the token support on-token user- verification (e.g. biometrics) - rather than just assuming that it will accept it. + ssh-askpass will be used to request the PIN at authentication time. - Will reduce spurious "Confirm user presence" notifications for key - handles that relate to FIDO keys that are not currently inserted in at - least some cases. + From Pedro Martelletto, ok djm - Motivated by bz3366; by Pedro Martelletto + OpenBSD-Commit-ID: de8189fcd35b45f632484864523c1655550e2950 + +commit 52423f64e13db2bdc31a51b32e999cb1bfcf1263 +Author: djm@openbsd.org +Date: Fri Jan 14 03:35:10 2022 +0000 + + upstream: ssh-sk: free a resident key's user id - OpenBSD-Commit-ID: ffac7f3215842397800e1ae2e20229671a55a63d + From Pedro Martelletto; ok dtucker & me + + OpenBSD-Commit-ID: 47be40d602b7a6458c4c71114df9b53d149fc2e9 -commit ca709e27c41c90f4565b17282c48dca7756e083c +commit 014e2f147a2788bfb3cc58d1b170dcf2bf2ee493 Author: djm@openbsd.org -Date: Thu Dec 2 22:40:05 2021 +0000 +Date: Fri Jan 14 03:34:00 2022 +0000 - upstream: move check_sk_options() up so we can use it earlier + upstream: sshsk_load_resident: don't preallocate resp - OpenBSD-Commit-ID: 67fe98ba1c846d22035279782c4664c1865763b4 + resp is allocated by client_converse(), at which point we lose + the original pointer. + + From Pedro Martelletto; ok dtucker & me + + OpenBSD-Commit-ID: 1f1b5ea3282017d6584dfed4f8370dc1db1f44b1 -commit b711bc01a7ec76bb6a285730990cbce9b8ca5773 -Author: dtucker@openbsd.org -Date: Thu Dec 2 22:35:05 2021 +0000 +commit c88265f207dfe0e8bdbaf9f0eda63ed6b33781cf +Author: djm@openbsd.org +Date: Fri Jan 14 03:32:52 2022 +0000 - upstream: ssh-rsa is no longer in the default for + upstream: sshsk_sign: trim call to sshkey_fingerprint() - PubkeyAcceptedAlgorithms. + the resulting fingerprint doesn't appear to be used for anything, + and we end up leaking it. - OpenBSD-Commit-ID: 34a9e1bc30966fdcc922934ae00f09f2596cd73c + from Pedro Martelletto; ok dtucker & me + + OpenBSD-Commit-ID: 5625cf6c68f082bc2cbbd348e69a3ed731d2f9b7 -commit dc91ceea33cd4a9f05be953e8d8062f732db5c8a +commit 1cd1b2eac39661b849d5a4b4b56363e22bb5f61e Author: djm@openbsd.org -Date: Thu Dec 2 02:44:44 2021 +0000 +Date: Fri Jan 14 03:31:52 2022 +0000 - upstream: don't put the tty into raw mode when SessionType=none, avoids + upstream: use status error message to communicate ~user expansion - ^c being unable to kill such a session. bz3360; ok dtucker@ + failures; provides better experience for scp in sftp mode, where ~user paths + are more likely to be used; spotted jsg, feedback jsg & deraadt ok jsg & + markus - OpenBSD-Commit-ID: 83960c433052303b643b4c380ae2f799ac896f65 + (forgot to include this file in previous commit) + + OpenBSD-Commit-ID: d37cc4c8c861ce48cd6ea9899e96aaac3476847b -commit e6e7d2654a13ba10141da7b42ea683ea4eeb1f38 +commit a1d42a6ce0398da3833bedf374ef2571af7fea50 Author: Damien Miller -Date: Mon Nov 29 14:11:03 2021 +1100 +Date: Fri Jan 14 13:49:32 2022 +1100 - previous commit broke bcrypt_pbkdf() + fix edge case in poll(2) wrapper - Accidentally reverted part of the conversion to use SHA512 from SUPERCOP - instead of OpenBSD-style libc SHA512. + Correct handling of select(2) exceptfds. These should only be consulted + for POLLPRI flagged pfds and not unconditionally converted to POLLERR. + + with and ok dtucker@ -commit c0459588b8d00b73e506c6095958ecfe62a4a7ba +commit 976b9588b4b5babcaceec4767a241c11a67a5ccb Author: Darren Tucker -Date: Mon Nov 29 14:03:19 2021 +1100 - - Fix typo in Neils' name. - -commit 158bf854e2a22cf09064305f4a4e442670562685 -Author: Damien Miller -Date: Mon Nov 29 12:30:22 2021 +1100 +Date: Fri Jan 14 13:46:35 2022 +1100 - sync bcrypt-related files with OpenBSD - - The main change is that Niels Provos kindly agreed to rescind the - BSD license advertising clause, shifting them to the 3-term BSD - license. + Wrap OpenSSL includes in unit tests in ifdef. - This was the last thing in OpenSSH that used the advertising clause. + Fixes unit test on systems that do not have OpenSSL headers installed. -commit e8976d92a42883ff6b8991438f07df60c2c0d82d -Author: Damien Miller -Date: Mon Nov 29 12:29:29 2021 +1100 +commit c171879374b2e8b07157503f5639ed0bce59ce89 +Author: Darren Tucker +Date: Thu Jan 13 15:53:33 2022 +1100 - depend + Remove sort wrapper. + + agent-restrict now takes care of this itself. -commit 8249afeec013e557fe7491a72ca3285de03e25b1 -Author: djm@openbsd.org -Date: Sun Nov 28 07:21:26 2021 +0000 +commit 9cc2654403f1a686bb26c07a6ac790edf334cef5 +Author: dtucker@openbsd.org +Date: Thu Jan 13 04:53:16 2022 +0000 - upstream: sshsig: return "key not found" when searching empty files + upstream: Set LC_ALL in both local and remote shells so that sorted - rather than "internal error" + output matches regardless of what the user's shell sets it to. ok djm@ - OpenBSD-Commit-ID: e2ccae554c78d7a7cd33fc5d217f35be7e2507ed + OpenBSD-Regress-ID: 4e97dd69a68b05872033175a4c2315345d01837f -commit 9e3227d4dbb5ad9c9091b4c14982cab4bba87b4d -Author: djm@openbsd.org -Date: Sun Nov 28 07:15:10 2021 +0000 +commit 7a75f748cb2dd2f771bf70ea72698aa027996ab1 +Author: dtucker@openbsd.org +Date: Thu Jan 13 04:22:10 2022 +0000 - upstream: ssh-keygen -Y match-principals doesn't accept any -O + upstream: Avoid %'s in commands (not used in OpenBSD, but used in - options at present, so don't say otherwise in SYNOPSIS; spotted jmc@ + -portable's Valgrind test) being interpretted as printf format strings. - OpenBSD-Commit-ID: 9cc43a18f4091010741930b48b3db2f2e4f1d35c + OpenBSD-Regress-ID: dc8655db27ac4acd2c386c4681bf42a10d80b043 -commit 56db1f4a4cf5039fc3b42e84c4b16291fdff32b1 -Author: djm@openbsd.org -Date: Sun Nov 28 07:14:29 2021 +0000 +commit 6c435bd4994d71442192001483a1cdb846e5ffcd +Author: Darren Tucker +Date: Wed Jan 12 16:58:13 2022 +1100 - upstream: fix indenting in last commit - - OpenBSD-Commit-ID: 8b9ba989815d0dec1fdf5427a4a4b58eb9cac4d2 + Stop on first test failure to minimize logs. -commit 50bea24a9a9bdebad327c76e700def3261f5694e -Author: djm@openbsd.org -Date: Sun Nov 28 07:10:18 2021 +0000 +commit 4bc2ba6095620a4484b708ece12842afd8c7685b +Author: dtucker@openbsd.org +Date: Wed Jan 12 07:18:37 2022 +0000 - upstream: missing initialisation for oerrno + upstream: Use egrep when searching for an anchored string. - OpenBSD-Commit-ID: 05d646bba238080259bec821c831a6f0b48d2a95 + OpenBSD-Regress-ID: dd114a2ac27ac4b06f9e4a586d3f6320c54aeeb4 -commit 5a0f4619041d09cd29f3a08da41db5040372bdd1 +commit 6bf2efa2679da1e8e60731f41677b2081dedae2c Author: Darren Tucker -Date: Sun Nov 28 15:31:37 2021 +1100 +Date: Wed Jan 12 18:25:06 2022 +1100 - Correct ifdef to activate poll() only if needed. + Add "rev" command replacement if needed. -commit d4035c81a71237f690edd7eda32bef7d63fd9528 -Author: djm@openbsd.org -Date: Sat Nov 27 07:23:35 2021 +0000 +commit 72bcd7993dadaf967bb3d8564ee31cbf38132b5d +Author: dtucker@openbsd.org +Date: Wed Jan 12 03:30:32 2022 +0000 - upstream: whitespac e + upstream: Don't log NULL hostname in restricted agent code, - OpenBSD-Regress-ID: b9511d41568056bda489e13524390167889908f8 + printf("%s", NULL) is not safe on all platforms. with & ok djm + + OpenBSD-Commit-ID: faf10cdae4adde00cdd668cd1f6e05d0a0e32a02 -commit a443491e6782ef0f5a8bb87a5536c8ee4ff233a1 +commit acabefe3f8fb58c867c99fed9bbf84dfa1771727 Author: djm@openbsd.org -Date: Sat Nov 27 07:20:58 2021 +0000 +Date: Tue Jan 11 22:33:16 2022 +0000 - upstream: regression test for match-principals. Mostly by Fabian + upstream: remove hardcoded domain and use window.location.host, so this - Stelzer + can be run anywhere - OpenBSD-Regress-ID: ced0bec89af90935103438986bbbc4ad1df9cfa7 + OpenBSD-Regress-ID: 2ac2ade3b6227d9c547351d3ccdfe671e62b7f92 -commit 78230b3ec8cbabc1e7de68732dc5cbd4837c6675 -Author: djm@openbsd.org -Date: Sat Nov 27 07:14:46 2021 +0000 +commit 96da0946e44f34adc0397eb7caa6ec35a3e79891 +Author: dtucker@openbsd.org +Date: Tue Jan 11 02:56:19 2022 +0000 - upstream: Add ssh-keygen -Y match-principals operation to perform - - matching of principals names against an allowed signers file. - - Requested by and mostly written by Fabian Stelzer, towards a TOFU - model for SSH signatures in git. Some tweaks by me. + upstream: "void" functions should not return anything. From Tim Rice - "doesn't bother me" deraadt@ + via -portable. - OpenBSD-Commit-ID: 8d1b71f5a4127bc5e10a880c8ea6053394465247 + OpenBSD-Commit-ID: ce6616304f4c9881b46413e616b226c306830e2a -commit 15db86611baaafb24c40632784dabf82e3ddb1a7 +commit a882a09722c9f086c9edb65d0c4022fd965ec1ed Author: djm@openbsd.org -Date: Thu Nov 25 23:02:24 2021 +0000 +Date: Tue Jan 11 01:26:47 2022 +0000 - upstream: debug("func: ...") -> debug_f("...") + upstream: suppress "Connection to xxx closed" messages at LogLevel >= - OpenBSD-Commit-ID: d58494dc05c985326a895adfbe16fbd5bcc54347 - -commit b7ffbb17e37f59249c31f1ff59d6c5d80888f689 -Author: Darren Tucker -Date: Fri Nov 19 18:53:46 2021 +1100 - - Allow for fd = -1 in compat ppoll overflow check. + error bz3378; ok dtucker@ - Fixes tests on at least FreeBSD 6, possibly others. + OpenBSD-Commit-ID: d5bf457d5d2eb927b81d0663f45248a31028265c -commit 04b172da5b96a51b0d55c905b423ababff9f4e0b -Author: Darren Tucker -Date: Fri Nov 19 16:01:51 2021 +1100 +commit 61a1a6af22e17fc94999a5d1294f27346e6c4668 +Author: Damien Miller +Date: Wed Jan 12 08:57:49 2022 +1100 - Don't auto-enable Capsicum sandbox on FreeBSD 9/10. + OS X poll(2) is broken; use compat replacement - Since we changed from select() to ppoll() tests have been failing. - This seems to be because FreeBSD 10 (and presumably 9) do not allow - ppoll() in the privsep process and sshd will fail with "Not permitted in - capability mode". Setting CAP_EVENT on the FDs doesn't help, but weirdly, - poll() works without that. Those versions are EOL so this situation is - unlikely to change. + Darwin's poll(2) implementation is broken. For character-special + devices like /dev/null, it returns POLLNVAL when polled with + POLLIN. + + Apparently this is Apple bug 3710161, which is AFAIK not public, + but a websearch will find other OSS projects rediscovering it + periodically since it was first identified in 2005 (!!) -commit a823f39986e7b879f26412e64c15630e1cfa0dc5 -Author: djm@openbsd.org -Date: Thu Nov 18 03:53:48 2021 +0000 +commit 613a6545fc5a9542753b503cbe5906538a640b60 +Author: Darren Tucker +Date: Tue Jan 11 20:56:01 2022 +1100 - upstream: regression test for ssh-keygen -Y find-principals fix; from - - Fabian Stelzer ok djm markus + libhardended_malloc.so moved into out dir. + +commit 61761340be5e11046556623f8f5412b236cefa95 +Author: Tim Rice +Date: Mon Jan 10 11:07:04 2022 -0800 + + Make USL compilers happy + UX:acomp: ERROR: "sftp-server.c", line 567: void function cannot return value + +commit 3ef403f351e80a59b6f7e9d43cb82c181855483c +Author: Darren Tucker +Date: Mon Jan 10 21:07:38 2022 +1100 + + Add wrapper for "sort" to set LC_ALL=C. - OpenBSD-Regress-ID: 34fe4088854c1a2eb4c0c51cc4676ba24096bac4 + Found by djm, this should make sorts stable and reduce test flakiness. -commit 199c4df66c0e39dd5c3333b162af274678c0501d -Author: djm@openbsd.org -Date: Thu Nov 18 21:32:11 2021 +0000 +commit bd69e29f5716090181dbe0b8272eb7eab1a383bb +Author: dtucker@openbsd.org +Date: Sat Jan 8 07:55:26 2022 +0000 - upstream: less confusing debug message; bz#3365 + upstream: Remove errant "set -x" left over from debugging. - OpenBSD-Commit-ID: 836268d3642c2cdc84d39b98d65837f5241e4a50 + OpenBSD-Regress-ID: cd989268e034264cec5df97be7581549032c87dc -commit 97f9b6e61316c97a32dad94b7a37daa9b5f6b836 -Author: djm@openbsd.org -Date: Thu Nov 18 21:11:01 2021 +0000 +commit 1a7c88e26fd673813dc5f61c4ac278564845e004 +Author: dtucker@openbsd.org +Date: Sat Jan 8 07:01:13 2022 +0000 - upstream: avoid xmalloc(0) for PKCS#11 keyid for ECDSA keys (we + upstream: Enable all supported hostkey algorithms (but no others). - already did this for RSA keys). Avoids fatal errors for PKCS#11 libraries - that return empty keyid, e.g. Microchip ATECC608B "cryptoauthlib"; bz#3364 + Allows hostbased test to pass when built without OpenSSL. - OpenBSD-Commit-ID: 054d4dc1d6a99a2e6f8eebc48207b534057c154d + OpenBSD-Regress-ID: 5ddd677a68b672517e1e78460dc6ca2ccc0a9562 -commit c74aa0eb73bd1edf79947d92d9c618fc3424c4a6 +commit 12b457c2a42ff271e7967d9bedd068cebb048db9 Author: djm@openbsd.org -Date: Thu Nov 18 03:50:41 2021 +0000 +Date: Sat Jan 8 07:37:32 2022 +0000 - upstream: ssh-keygen -Y find-principals was verifying key validity - - when using ca certs but not with simple key lifetimes within the allowed - signers file. - - Since it returns the first keys principal it finds this could - result in a principal with an expired key even though a valid - one is just below. + upstream: use status error message to communicate ~user expansion - patch from Fabian Stelzer; feedback/ok djm markus + failures; provides better experience for scp in sftp mode, where ~user paths + are more likely to be used; spotted jsg, feedback jsg & deraadt ok jsg & + markus - OpenBSD-Commit-ID: b108ed0a76b813226baf683ab468dc1cc79e0905 - -commit d902d728dfd81622454260e23bc09d5e5a9a795e -Author: Darren Tucker -Date: Thu Nov 18 23:44:07 2021 +1100 - - Correct calculation of tv_nsec in poll(). - -commit 21dd5a9a3fb35e8299a1fbcf8d506f1f6b752b85 -Author: Darren Tucker -Date: Thu Nov 18 23:11:37 2021 +1100 - - Add compat implementation of ppoll using pselect. - -commit b544ce1ad4afb7ee2b09f714aa63efffc73fa93a -Author: Darren Tucker -Date: Thu Nov 18 23:05:34 2021 +1100 - - Put poll.h inside ifdef HAVE_POLL_H. + OpenBSD-Commit-ID: fc610ce00ca0cdc2ecdabbd49ce7cb82033f905f -commit 875408270c5a7dd69ed5449e5d85bd7120c88f70 +commit 63670d4e9030bcee490d5a9cce561373ac5b3b23 Author: djm@openbsd.org -Date: Thu Nov 18 03:31:44 2021 +0000 +Date: Sat Jan 8 07:36:11 2022 +0000 - upstream: check for POLLHUP wherever we check for POLLIN + upstream: fix some corner-case bugs in scp sftp-mode handling of - OpenBSD-Commit-ID: 6aa6f3ec6b17c3bd9bfec672a917f003a76d93e5 + ~-prefixed paths; spotted by jsg; feedback jsg & deraadt, ok jsg & markus + + OpenBSD-Commit-ID: d1697dbaaa9f0f5649d69be897eab25c7d37c222 -commit 36b5e37030d35bbaa18ba56825b1af55971d18a0 +commit e14940bbec57fc7d3ce0644dbefa35f5a8ec97d0 Author: djm@openbsd.org -Date: Thu Nov 18 03:07:59 2021 +0000 +Date: Sat Jan 8 07:34:57 2022 +0000 - upstream: fd leak in sshd listen loop error path; from Gleb + upstream: more idiomatic error messages; spotted by jsg & deraadt - Smirnoff + ok jsg & markus - OpenBSD-Commit-ID: a7a2be27a690a74bf2381bc16cea38e265657412 + OpenBSD-Commit-ID: 43618c692f3951747b4151c477c7df22afe2bcc8 -commit b99498d0c93f1edd04857b318308a66b28316bd8 +commit 9acddcd5918c623f7ebf454520ffe946a8f15e90 Author: djm@openbsd.org -Date: Thu Nov 18 03:07:20 2021 +0000 +Date: Sat Jan 8 07:33:54 2022 +0000 - upstream: check for POLLHUP as well as POLLIN in sshd listen loop; + upstream: add a variant of send_status() that allows overriding the - ok deraadt millert + default, generic error message. feedback/ok markus & jsg - OpenBSD-Commit-ID: a4f1244c5a9c2b08dac4f3b1dc22e9d1dc60c587 + OpenBSD-Commit-ID: 81f251e975d759994131b717ee7c0b439659c40f -commit 1f3055d788e8cf80851eb1728b535d57eb0dba6a +commit 961411337719d4cd78f1ab33e4ac549f3fa22f50 Author: djm@openbsd.org -Date: Thu Nov 18 03:06:03 2021 +0000 +Date: Sat Jan 8 07:32:45 2022 +0000 - upstream: check for POLLHUP as well as POLLIN, handle transient IO + upstream: refactor tilde_expand_filename() and make it handle ~user - errors as well as half-close on the output side; ok deraadt millert + paths with no trailing slash; feedback/ok markus and jsg - OpenBSD-Commit-ID: de5c5b9939a37476d256328cbb96305bdecf511e + OpenBSD-Commit-ID: a2ab365598a902f0f14ba6a4f8fb2d07a9b5d51d -commit 9778a15fa6dbdac6a95bf15865c2688b4bd6944e -Author: Damien Miller -Date: Thu Nov 18 10:16:55 2021 +1100 +commit dc38236ab6827dec575064cac65c8e7035768773 +Author: dtucker@openbsd.org +Date: Thu Jan 6 22:14:25 2022 +0000 - adjust seccomp filter for select->poll conversion + upstream: Don't explicitly set HostbasedAuthentication in - Needed to add ppoll syscall but also to relax the fallback rlimit - sandbox. Linux poll() fails with EINVAL if npfds > RLIMIT_NOFILE, - so we have to allow a single fd in the rlimit. + sshd_config. It defaults to "no", and not explicitly setting it allows us to + enable it for the (optional) hostbased test. + + OpenBSD-Regress-ID: aa8e3548eb5793721641d26e56c29f363b767c0c -commit fcd8d895bbb849c64f0aed934e3303d37f696f5d -Author: Damien Miller -Date: Thu Nov 18 10:16:44 2021 +1100 +commit e12d912ddf1c873cb72e5de9a197afbe0b6622d2 +Author: dtucker@openbsd.org +Date: Thu Jan 6 21:46:56 2022 +0000 - update depends + upstream: Add test for hostbased auth. It requires some external + + setup (see comments at the top) and thus is disabled unless + TEST_SSH_HOSTBASED_AUTH and SUDO are set. + + OpenBSD-Regress-ID: 3ec8ba3750c5b595fc63e7845d13483065a4827a -commit 76292787a1e93e668f10e36b4bf59ce0ae28e156 +commit a48533a8da6a0f4f05ecd055dc8048047e53569e Author: Damien Miller -Date: Thu Nov 18 09:26:20 2021 +1100 +Date: Fri Jan 7 09:24:26 2022 +1100 - compat for timespecsub() and friends + depend -commit fd7e7de4ddb4399c7e929b44f2bbfc118eddfcf8 +commit d9dbb5d9a0326e252d3c7bc13beb9c2434f59409 Author: djm@openbsd.org -Date: Wed Nov 17 21:06:39 2021 +0000 +Date: Thu Jan 6 22:06:51 2022 +0000 - upstream: set num_listen_socks to 0 on close-all instead of -1, + upstream: allow hostbased auth to select RSA keys when only - which interferes with the new poll()-based listen loop; spotted and debugged - by anton@+deraadt@ + RSA/SHA2 are configured (this is the default case); ok markus@ - OpenBSD-Commit-ID: f7ab8ab124f615a2e0c45fee14c38d2f2abbabbd + OpenBSD-Commit-ID: 411c18c7bde40c60cc6dfb7017968577b4d4a827 -commit fd9343579afac30a971f06643a669733d9acb407 -Author: deraadt@openbsd.org -Date: Sun Nov 14 18:47:43 2021 +0000 +commit fdb1d58d0d3888b042e5a500f6ce524486aaf782 +Author: djm@openbsd.org +Date: Thu Jan 6 22:05:42 2022 +0000 - upstream: use ppoll() instead of pselect() with djm + upstream: add a helper function to match a key type to a list of - OpenBSD-Commit-ID: 980f87c9564d5d2ad55722b7a6f44f21284cd215 + signature algorithms. RSA keys can make signatures with multiple algorithms, + so some special handling is required. ok markus@ + + OpenBSD-Commit-ID: 03b41b2bda06fa4cd9c84cef6095033b9e49b6ff -commit 092d29b232ef1a19609a5316ed7e4d896bb2e696 -Author: deraadt@openbsd.org -Date: Sun Nov 14 06:15:36 2021 +0000 +commit 11e8c4309a5086a45fbbbc87d0af5323c6152914 +Author: djm@openbsd.org +Date: Thu Jan 6 22:04:20 2022 +0000 - upstream: match .events with .fd better + upstream: log some details on hostkeys that ssh loads for - OpenBSD-Commit-ID: 77eef212ca0add905949532af390164489c5984b + hostbased authn ok markus@ + + OpenBSD-Commit-ID: da17061fa1f0e58cb31b88478a40643e18233e38 -commit 8d642c9a90fa4ed5a3effd785fb3591e14de00cd -Author: deraadt@openbsd.org -Date: Sun Nov 14 03:25:10 2021 +0000 +commit c6706f661739514a34125aa3136532a958929510 +Author: djm@openbsd.org +Date: Thu Jan 6 22:03:59 2022 +0000 - upstream: convert select() to poll() ok djm + upstream: log signature algorithm during verification by monitor; - OpenBSD-Commit-ID: b53e4940ff10dd24f8d16e8db8ef1970015d7ead + ok markus + + OpenBSD-Commit-ID: 02b92bb42c4d4bf05a051702a56eb915151d9ecc -commit 6582a31c388968f4073af2bd8621880735c3d42b -Author: deraadt@openbsd.org -Date: Sat Nov 13 21:14:13 2021 +0000 +commit 8832402bd500d1661ccc80a476fd563335ef6cdc +Author: djm@openbsd.org +Date: Thu Jan 6 22:02:52 2022 +0000 - upstream: replace select() with ppoll(), including converting + upstream: piece of UpdateHostkeys client strictification: when - timeval's to timespec's to make things easier. back and forth and ok; djm + updating known_hosts with new keys, ignore NULL keys (forgot to include in + prior commit) - OpenBSD-Commit-ID: 89d3b23c60875da919e7820f9de6213286ffbec9 + OpenBSD-Commit-ID: 49d2eda6379490e1ceec40c3b670b973f63dea08 -commit 7c025c005550c86a40200a2bcdd355d09413d61a -Author: deraadt@openbsd.org -Date: Sat Nov 13 17:26:13 2021 +0000 +commit c2d9ced1da0276961d86690b3bd7ebdaca7fdbf7 +Author: djm@openbsd.org +Date: Thu Jan 6 22:01:14 2022 +0000 - upstream: It really looks like pledge "stdio dns" is possible + upstream: include rejected signature algorithm in error message - earlier. Discussed with mestre + and not the (useless) key type; ok markus - OpenBSD-Commit-ID: 610873de63a593e0ac7bbbcb7a0f2894d36f4c01 + OpenBSD-Commit-ID: 4180b5ec7ab347b43f84e00b1972515296dab023 -commit 06acb04c20ee483fe4757bd12aec870cc4bb1076 -Author: deraadt@openbsd.org -Date: Fri Nov 12 05:23:49 2021 +0000 +commit 7aa7b096cf2bafe2777085abdeed5ce00581f641 +Author: djm@openbsd.org +Date: Thu Jan 6 22:00:18 2022 +0000 - upstream: aggressively pre-fill the pollfd array with fd=-1 + upstream: make ssh-keysign use the requested signature algorithm - OpenBSD-Commit-ID: c2a525de8f83c1a04405bd79122c424140552a5b + and not the default for the keytype. Part of unbreaking hostbased auth for + RSA/SHA2 keys. ok markus@ + + OpenBSD-Commit-ID: b5639a14462948970da3a8020dc06f9a80ecccdc -commit 7eec76793dec06e8f06b6cf71f9473141c69d109 -Author: deraadt@openbsd.org -Date: Thu Nov 11 15:32:32 2021 +0000 +commit 291721bc7c840d113a49518f3fca70e86248b8e8 +Author: djm@openbsd.org +Date: Thu Jan 6 21:57:28 2022 +0000 - upstream: Convert from select() to ppoll(). Along the way, I + upstream: stricter UpdateHostkey signature verification logic on - observed that the select() code was using exceptfds incorrectly.. ok millert + the client- side. Require RSA/SHA2 signatures for RSA hostkeys except when + RSA/SHA1 was explicitly negotiated during initial KEX; bz3375 - OpenBSD-Commit-ID: 548e05bfc31b2af02319eb3d051286d4128dec96 - -commit e665ed2d0c24fe11d5470ce72fa1e187377d3fc4 -Author: Darren Tucker -Date: Fri Nov 12 22:55:27 2021 +1100 - - Switch from LibreSSL 3.4.0 to 3.4.1. + ok markus@ - The LibreSSL 3.4.0 release has an OPENBSD_BRANCH that points to - "master" and that branch no longer has the files LibreSSL expects - and thus it will no longer build, breaking the test. + OpenBSD-Commit-ID: 46e75e8dfa2c813781805b842580dcfbd888cf29 -commit 21b6b5a06c8c53c548d25e6074c5240e88e2ef34 +commit 0fa33683223c76289470a954404047bc762be84c Author: djm@openbsd.org -Date: Wed Nov 10 06:29:25 2021 +0000 +Date: Thu Jan 6 21:55:23 2022 +0000 - upstream: add the sntrup761x25519-sha512@openssh.com hybrid + upstream: Fix signature algorithm selection logic for - ECDH/x25519 + Streamlined NTRU Prime post-quantum KEX to the default - KEXAlgorithms list (after the ECDH methods but before the prime-group DH - ones). + UpdateHostkeys on the server side. The previous code tried to prefer RSA/SHA2 + for hostkey proofs of RSA keys, but missed some cases. This will use RSA/SHA2 + signatures for RSA keys if the client proposed these algorithms in initial + KEX. bz3375 + + Mostly by Dmitry Belyavskiy with some tweaks by me. ok markus@ - OpenBSD-Commit-ID: 22b77e27a04e497a10e22f138107579652854210 + OpenBSD-Commit-ID: c17ba0c3236340d2c6a248158ebed042ac6a8029 -commit 239da797cbf07a640d7b1ea02d3f99ace3ef792d +commit 17877bc81db3846e6e7d4cfb124d966bb9c9296b Author: djm@openbsd.org -Date: Wed Nov 10 06:25:08 2021 +0000 +Date: Thu Jan 6 21:48:38 2022 +0000 - upstream: fix ssh-keysign for KEX algorithms that use SHA384/512 + upstream: convert ssh, sshd mainloops from select() to poll(); - exchange hashes; feedback/ok markus@ + feedback & ok deraadt@ and markus@ has been in snaps for a few months - OpenBSD-Commit-ID: 09a8fda1c081f5de1e3128df64f28b7bdadee239 + OpenBSD-Commit-ID: a77e16a667d5b194dcdb3b76308b8bba7fa7239c -commit 6997a592ecb1013df0c6d7f8df3e6517827aef11 +commit 5c79952dfe1aa36105c93b3f383ce9be04dee384 Author: djm@openbsd.org -Date: Mon Nov 8 21:32:49 2021 +0000 +Date: Thu Jan 6 21:46:23 2022 +0000 - upstream: improve error message when trying to expand a ~user path - - for a user that doesn't exist; better matches what the shell does + upstream: prepare for conversion of ssh, sshd mainloop from - ok deraadt@ + select() to poll() by moving FD_SET construction out of channel handlers into + separate functions. ok markus - OpenBSD-Commit-ID: 1ddefa3c3a78b69ce13d1b8f67bc9f2cefd23ad6 + OpenBSD-Commit-ID: 937fbf2a4de12b19fb9d5168424e206124807027 -commit 10b899a15c88eb40eb5f73cd0fa84ef0966f79c9 -Author: Darren Tucker -Date: Wed Nov 10 12:34:25 2021 +1100 +commit 24c5187edfef4651a625b7d5d692c8c7e794f71f +Author: djm@openbsd.org +Date: Wed Jan 5 21:54:37 2022 +0000 - Don't trust closefrom() on Linux. + upstream: add a comment so I don't make this mistake again - glibc's closefrom implementation does not work in a chroot when the kernel - does not have close_range. It tries to read from /proc/self/fd and when - that fails dies with an assertion of sorts. Instead, call close_range - ourselves from our compat code and fall back if that fails. bz#3349, - with william.wilson at canonical.com and fweimer at redhat.com. + OpenBSD-Commit-ID: 69c7f2362f9de913bb29b6318580c5a1b52c921e -commit eb1f63195a9a38b519536a5b398d9939261ec081 -Author: dtucker@openbsd.org -Date: Sat Nov 6 10:13:39 2021 +0000 +commit 7369900441929058263a17f56aa67e05ff7ec628 +Author: djm@openbsd.org +Date: Wed Jan 5 21:50:00 2022 +0000 - upstream: Plug a couple of minor mem leaks. From beldmit at - - gmail.com via github PR#283, ok markus@ + upstream: fix cut-and-pasto in error message - OpenBSD-Commit-ID: ec1fa7d305d46226861c3ca6fb9c9beb2ada2892 + OpenBSD-Commit-ID: 4cc5c619e4b456cd2e9bb760d17e3a9c84659198 -commit e4f501bf1d3b53f1cc23d9521fd7c5163307b760 +commit 294c11b1c7d56d3fb61e329603a782315ed70c62 Author: djm@openbsd.org -Date: Fri Nov 5 03:10:58 2021 +0000 +Date: Wed Jan 5 08:25:05 2022 +0000 - upstream: move cert_filter_principals() to earlier in the file for + upstream: select all RSA hostkey algorithms for UpdateHostkeys tests, - reuse; no code change + not just RSA-SHA1 - OpenBSD-Commit-ID: 598fa9528b656b2f38bcc3cf5b6f3869a8c115cf + OpenBSD-Regress-ID: b40e62b65863f2702a0c10aca583b2fe76772bd8 -commit 59c60f96fee321c7f38f00372826d37f289534af -Author: deraadt@openbsd.org -Date: Wed Nov 3 22:00:56 2021 +0000 +commit 2ea1108c30e3edb6f872dfc1e6da10b041ddf2c0 +Author: djm@openbsd.org +Date: Wed Jan 5 04:56:15 2022 +0000 - upstream: Many downstreams expect ssh to compile as non-C99... + upstream: regress test both sshsig message hash algorithms, possible - OpenBSD-Commit-ID: e6aa3e08bda68e5fb838fc8a49b1d2dfc38ee783 - -commit 7a78fe63b0b28ef7231913dfefe9d08f9bc41c61 -Author: Darren Tucker -Date: Sat Nov 6 21:07:03 2021 +1100 - - Skip getline() on HP-UX 10.x. + now because the algorithm is controllable via the CLI - HP-UX 10.x has a getline() implementation in libc that does not behave - as we expect so don't use it. With correction from Thorsten Glaser and - typo fix from Larkin Nickle. - -commit 343ae252ebb35c6ecae26b447bf1551a7666720e -Author: Damien Miller -Date: Wed Nov 3 12:08:21 2021 +1100 - - basic SECURITY.md (refers people to the website) + OpenBSD-Regress-ID: 0196fa87acc3544b2b4fd98de844a571cb09a39f -commit ed45a0168638319e0a710633f6085b96b9cec656 +commit 2327c306b5d4a2b7e71178e5a4d139af9902c2b0 Author: djm@openbsd.org -Date: Tue Nov 2 22:57:27 2021 +0000 +Date: Wed Jan 5 04:50:11 2022 +0000 - upstream: crank SSH_SK_VERSION_MAJOR to match recent change in + upstream: allow selection of hash at sshsig signing time; code - usr/bin/ssh + already supported either sha512 (default) or sha256, but plumbing wasn't + there mostly by Linus Nordberg - OpenBSD-Regress-ID: 113d181c7e3305e138db9b688cdb8b0a0019e552 + OpenBSD-Commit-ID: 1b536404b9da74a84b3a1c8d0b05fd564cdc96cd -commit f3c34df860c4c1ebddacb973954e58167d9dbade +commit 56e941d0a00d6d8bae88317717d5e1b7395c9529 Author: djm@openbsd.org -Date: Tue Nov 2 22:56:40 2021 +0000 +Date: Wed Jan 5 04:27:54 2022 +0000 - upstream: Better handle FIDO keys on tokens that provide user - - verification (UV) on the device itself, including biometric keys. - - Query the token during key creation to determine whether it supports - on-token UV and, if so, clear the SSH_SK_USER_VERIFICATION_REQD flag - in the key so that ssh(1) doesn't automatically prompty for PIN later. - - When making signatures with the key, query the token's capabilities - again and check whether the token is able (right now) to perform user- - verification without a PIN. If it is then the PIN prompt is bypassed - and user verification delegated to the token. If not (e.g. the token - is biometric capable, but no biometric are enrolled), then fall back - to user verification via the usual PIN prompt. - - Work by Pedro Martelletto; ok myself and markus@ + upstream: add missing -O option to usage() for ssh-keygen -Y sign; - NB. cranks SSH_SK_VERSION_MAJOR + from Linus Nordberg - OpenBSD-Commit-ID: e318a8c258d9833a0b7eb0236cdb68b5143b2f27 + OpenBSD-Commit-ID: 4e78feb4aa830727ab76bb2e3d940440ae1d7af0 -commit 0328a081f38c09d2d4d650e94461a47fb5eef536 +commit 141a14ec9b0924709c98df2dd8013bde5d8d12c7 Author: djm@openbsd.org -Date: Fri Oct 29 03:03:06 2021 +0000 +Date: Wed Jan 5 04:27:01 2022 +0000 - upstream: sshsig: add tests for signing key validity and - - find-principals - - - adds generic find-principals tests (this command had none before) - - tests certs with a timeboxed validity both with and without a - restriced lifetime for the CA - - test for a revoked CA cert + upstream: move sig_process_opts() to before sig_sign(); no - by Fabian Stelzer + functional code change - OpenBSD-Regress-ID: 9704b2c6df5b8ccfbdf2c06c5431f5f8cad280c9 + OpenBSD-Commit-ID: da02d61f5464f72b4e8b299f83e93c3b657932f9 -commit ccd358e1e25e25c13f0825996283cbf7a1647a3b +commit 37a14249ec993599a9051731e4fb0ac5e976aec1 Author: djm@openbsd.org -Date: Fri Oct 29 02:48:19 2021 +0000 +Date: Wed Jan 5 04:10:39 2022 +0000 - upstream: avoid signedness warning; spotted in -portable + upstream: regression test for find-principals NULL deref; from Fabian - OpenBSD-Regress-ID: 4cacc126086487c0ea7f3d86b42dec458cf0d0c6 + Stelzer + + OpenBSD-Regress-ID: f845a8632a5a7d5ae26978004c93e796270fd3e5 -commit 2741f52beb11490d7033a25e56ed0496f0c78006 +commit eb1f042142fdaba93f6c9560cf6c91ae25f6884a Author: djm@openbsd.org -Date: Fri Oct 29 03:20:46 2021 +0000 +Date: Wed Jan 5 04:02:42 2022 +0000 - upstream: ssh-keygen: make verify-time argument parsing optional + upstream: NULL deref when using find-principals when matching an - From Fabian Stelzer + allowed_signers line that contains a namespace restriction, but no + restriction specified on the command-line; report and fix from Fabian Stelzer - OpenBSD-Commit-ID: 1ff35e4c366a45a073663df90381be6a8ef4d370 + OpenBSD-Commit-ID: 4a201b86afb668c908d1a559c6af456a61f4b145 -commit a1217d363b88b32cfe54c4f02c6c1cf4bdefdd23 -Author: Damien Miller -Date: Fri Oct 29 13:48:34 2021 +1100 +commit 8f3b18030579f395eca2181da31a5f945af12a59 +Author: dtucker@openbsd.org +Date: Tue Jan 4 08:38:53 2022 +0000 - unbreak fuzz harness for recent changes + upstream: Log command invocation while debugging. + + This will aid in manually reproducing failing commands. + + OpenBSD-Regress-ID: b4aba8d5ac5675ceebeeeefa3261ce344e67333a -commit 68e522ed8183587c9367fa3842c5b75f64f3d12b +commit bbf285164df535f0d38c36237f007551bbdae27f Author: Darren Tucker -Date: Fri Oct 29 13:32:24 2021 +1100 - - Use -Wbitwise-instead-of-logical if supported. - -commit be28b23012aa3fa323be7ec84863cf238927c078 -Author: Damien Miller -Date: Thu Oct 28 16:24:53 2021 +1100 +Date: Sun Dec 26 10:31:15 2021 +1100 - use -Wmisleading-indentation cflag if available + Always save config.h as build artifact. - ok dtucker@ + Should allow better comparison between failing and succeeding test + platforms. -commit 2e6f5f24dd2f9217f4ab8b737ed428d5d5278f91 -Author: Damien Miller -Date: Thu Oct 28 16:24:44 2021 +1100 +commit 03bd4ed0db699687c5cd83405d26f81d2dc28d22 +Author: Darren Tucker +Date: Sat Dec 25 16:42:51 2021 +1100 - depend + Add OpenBSD 7.0 target. Retire 6.8. -commit a5ab4882348d26addc9830a44e053238dfa2cb58 -Author: Damien Miller -Date: Thu May 6 10:08:30 2021 +1000 +commit c45a752f0de611afd87755c2887c8a24816d08ee +Author: jsg@openbsd.org +Date: Sat Jan 1 05:55:06 2022 +0000 - remove built-in support for md5crypt() + upstream: spelling - Users of MD5-hashed password should arrange for ./configure to link - against libxcrypt or similar. Though it would be better to avoid use - of MD5 password hashing entirely, it's arguably worse than DEScrypt. - - feedback and ok dtucker@ + OpenBSD-Commit-ID: c63e43087a64d0727af13409c708938e05147b62 -commit c5de1fffa6328b8246b87da28fa9df05813f76a3 +commit c672f83a89a756564db0d3af9934ba0e1cf8fa3e Author: djm@openbsd.org -Date: Thu Oct 28 02:55:30 2021 +0000 +Date: Tue Jan 4 07:20:33 2022 +0000 - upstream: increment SSH_SK_VERSION_MAJOR to match last change + upstream: unbreak test: was picking up system ssh-add instead of the - OpenBSD-Regress-ID: 17873814d1cbda97f49c8528d7b5ac9cadf6ddc0 + one supposedly being tested. Spotted by dtucker and using his VM zoo (which + includes some systems old enough to lack ed25519 key support) + + OpenBSD-Regress-ID: 7976eb3df11cc2ca3af91030a6a8c0cef1590bb5 -commit 0001d04e55802d5bd9d6dece1081a99aa4ba2828 +commit a23698c3082ffe661abed14b020eac9b0c25eb9f Author: djm@openbsd.org -Date: Thu Oct 28 02:54:18 2021 +0000 +Date: Sat Jan 1 04:18:06 2022 +0000 - upstream: When downloading resident keys from a FIDO token, pass + upstream: fix memleak in process_extension(); oss-fuzz issue #42719 - back the user ID that was used when the key was created and append it to the - filename the key is written to (if it is not the default). + OpenBSD-Commit-ID: d8d49f840162fb7b8949e3a5adb8107444b6de1e + +commit cb885178f36b83d0f14cfe9f345d2068103feed0 +Author: jsg@openbsd.org +Date: Sat Jan 1 01:55:30 2022 +0000 + + upstream: spelling ok dtucker@ - Avoids keys being clobbered if the user created multiple - resident keys with the same application string but different - user IDs. + OpenBSD-Commit-ID: bfc7ba74c22c928de2e257328b3f1274a3dfdf19 + +commit 6b977f8080a32c5b3cbb9edb634b9d5789fb79be +Author: djm@openbsd.org +Date: Sun Dec 26 23:34:41 2021 +0000 + + upstream: split method list search functionality from - feedback Pedro Martelletto; ok markus + authmethod_lookup() into a separate authmethod_byname(), for cases where we + don't need to check whether a method is enabled, etc. - NB. increments SSH_SK_VERSION_MAJOR + use this to fix the "none" authentication method regression reported + by Nam Nguyen via bugs@ - OpenBSD-Commit-ID: dbd658b5950f583106d945641a634bc6562dd3a3 + ok deraadt@ + + OpenBSD-Commit-ID: 8cd188dc3a83aa8abe5b7693e762975cd8ea8a17 -commit d4bed5445646e605c383a4374fa962e23bf9e3a3 -Author: deraadt@openbsd.org -Date: Sun Oct 24 21:24:17 2021 +0000 +commit 0074aa2c8d605ee7587279a22cdad4270b4ddd07 +Author: jmc@openbsd.org +Date: Wed Dec 22 06:56:41 2021 +0000 - upstream: For open/openat, if the flags parameter does not contain + upstream: sort -H and -h in SYNOPSIS/usage(); tweak the -H text; - O_CREAT, the 3rd (variadic) mode_t parameter is irrelevant. Many developers - in the past have passed mode_t (0, 044, 0644, or such), which might lead - future people to copy this broken idiom, and perhaps even believe this - parameter has some meaning or implication or application. Delete them all. - This comes out of a conversation where tb@ noticed that a strange (but - intentional) pledge behaviour is to always knock-out high-bits from mode_t on - a number of system calls as a safety factor, and his bewilderment that this - appeared to be happening against valid modes (at least visually), but no - sorry, they are all irrelevant junk. They could all be 0xdeafbeef. ok - millert + ok djm - OpenBSD-Commit-ID: 503d11633497115688c0c6952686524f01f53121 + OpenBSD-Commit-ID: 90721643e41e9e09deb5b776aaa0443456ab0965 -commit d575cf44895104e0fcb0629920fb645207218129 +commit 1c9853a68b2319f2e5f929179735e8fbb9988a67 Author: Darren Tucker -Date: Fri Oct 22 23:27:41 2021 +1100 +Date: Wed Dec 22 19:33:10 2021 +1100 - kitchensink test target now needs krb5. + Use SHA.*_HMAC_BLOCK_SIZE if needed. + + If the platform has a native SHA2, does not define SHA.*_BLOCK_LENGTH + but does define SHA.*_HMAC_BLOCK_SIZE (eg Solaris) then use the latter. + Should fix --without-openssl build on Solaris. -commit 4ae39cada214e955bcfd3448ff28f0ed18886706 -Author: Darren Tucker -Date: Fri Oct 22 22:54:33 2021 +1100 +commit 715c892f0a5295b391ae92c26ef4d6a86ea96e8e +Author: Damien Miller +Date: Wed Dec 22 09:02:50 2021 +1100 - Test both MIT KRB5 and Heimdal. + remove sys/param.h in -portable, after upstream -commit 22b2681d88619e5247dc53c9f112058a7e248d48 -Author: dtucker@openbsd.org -Date: Fri Oct 22 10:51:57 2021 +0000 +commit 7a7c69d8b4022b1e5c0afb169c416af8ce70f3e8 +Author: Damien Miller +Date: Mon Dec 20 13:05:20 2021 +1100 - upstream: Plug mem addrinfo mem leaks. - - Prevent mem leaks in the (unlikely) event that getaddrinfo returns - no addresses. ALso, remove an unneeded NULL check in addr_ntop. From - khaleesicodes via github PR#281, ok deraadt@ - - OpenBSD-Commit-ID: e8a5afc686376637c355c5f7e122dc4b080b9c1a + add agent-restrict.sh file, missed in last commit -commit 27c8c343b610263f83ac2328735feeb881c6c92f -Author: dtucker@openbsd.org -Date: Fri Oct 22 09:22:04 2021 +0000 +commit f539136ca51a4976644db5d0be8158cc1914c72a +Author: djm@openbsd.org +Date: Sun Dec 19 22:20:12 2021 +0000 - upstream: Remove unnecessary semicolons - - ... in case statements. From khaleesicodes via github PR#280. + upstream: regression test for destination restrictions in ssh-agent - OpenBSD-Commit-ID: e1e89360b65775cff83e77ce040b342015caf4ed + OpenBSD-Regress-ID: 3c799d91e736b1753b4a42d80c42fc40de5ad33d -commit e7eb73b8d1fe1008d92433ea949491ce654bfaba -Author: dtucker@openbsd.org -Date: Fri Oct 22 09:19:34 2021 +0000 +commit 6e4980eb8ef94c04874a79dd380c3f568e8416d6 +Author: anton@openbsd.org +Date: Sat Dec 18 06:53:59 2021 +0000 - upstream: Fix typos in comments. - - From khaleesicodes via github PR#280. + upstream: Make use of ntests variable, pointed out by clang 13. - OpenBSD-Commit-ID: 26fdd83652c40f098bf7c685e8ebb9eb72cc45fc + OpenBSD-Regress-ID: 4241a3d21bdfa1630ed429b6d4fee51038d1be72 -commit 052a9d8494175e24312daa6c132665e58c17fe6e +commit 3eead8158393b697f663ec4301e3c7b6f24580b1 Author: deraadt@openbsd.org -Date: Fri Oct 15 14:46:46 2021 +0000 +Date: Tue Dec 14 21:25:27 2021 +0000 - upstream: switch scp(1) back to sftp protocol. + upstream: sys/param.h cleanup, mostly using MINIMUM() and - openbsd 7.0 release shipped with the (hopefully last) scp that uses RCP - protocol for copying. Let's get back to testing the SFTP protocol. + ok dtucker - OpenBSD-Commit-ID: 9eaa35d95fd547b78b0a043b3f518e135f151f30 - -commit a07664646bf6d293f5bbd45a5de54f3c36bb85da -Author: Darren Tucker -Date: Fri Oct 22 14:00:05 2021 +1100 - - Source configs script so setup_ci can use settings - -commit 34df52c201c6b47e5a46b50c215e4d98a8bf6587 -Author: Darren Tucker -Date: Fri Oct 22 09:42:14 2021 +1100 - - Install libedit and pam based on config flags. - -commit 8c626cc563e8d21d844d06f9971a9ee01de6aa2a -Author: Darren Tucker -Date: Thu Oct 21 16:53:39 2021 +1100 - - Don't use 'here string", it's not POSIX. - -commit 086a4b5977472aefa3de918b88efad0faf83b2b1 -Author: Darren Tucker -Date: Thu Oct 21 15:33:27 2021 +1100 - - Remove -Werror from compiler package to install. + OpenBSD-Regress-ID: 172a4c45d3bcf92fa6cdf6c4b9db3f1b3abe4db0 -commit 5a7a4687507d057f9b5e7497f3d3f82e64753c02 -Author: Darren Tucker -Date: Thu Oct 21 15:00:53 2021 +1100 +commit 266678e19eb0e86fdf865b431b6e172e7a95bf48 +Author: djm@openbsd.org +Date: Sun Dec 19 22:15:42 2021 +0000 - Build with -Werror on most recent gcc and clang. + upstream: document host-bound publickey authentication + + OpenBSD-Commit-ID: ea6ed91779a81f06d961e30ecc49316b3d71961b -commit 4d2cbdb525d673acf941d48a7044fcf03125611a -Author: Darren Tucker -Date: Fri Oct 15 12:59:06 2021 +1100 +commit 3d00024b3b156aa9bbd05d105f1deb9cb088f6f7 +Author: djm@openbsd.org +Date: Sun Dec 19 22:15:21 2021 +0000 - Include string.h and stdio.h for strerror. + upstream: document agent protocol extensions + + OpenBSD-Commit-ID: 09e8bb391bbaf24c409b75a4af44e0cac65405a7 -commit fff13aaa262b7b3ec83ed21e29674cbf331780a7 -Author: Darren Tucker -Date: Fri Oct 15 12:43:36 2021 +1100 +commit c385abf76511451bcba78568167b1cd9e90587d5 +Author: djm@openbsd.org +Date: Sun Dec 19 22:14:47 2021 +0000 - Include error reason if trace disabling fails. + upstream: PubkeyAuthentication=yes|no|unbound|host-bound + + Allow control over which pubkey methods are used. Added out of + concern that some hardware devices may have difficulty signing + the longer pubkey authentication challenges. This provides a + way for them to disable the extension. It's also handy for + testing. + + feedback / ok markus@ + + OpenBSD-Commit-ID: ee52580db95c355cf6d563ba89974c210e603b1a -commit d4b38144c02f3faa5271e5fb35df93507e06f1b4 -Author: Darren Tucker -Date: Tue Oct 12 22:55:51 2021 +1100 +commit 34b1e9cc7654f41cd4c5b1cc290b999dcf6579bb +Author: djm@openbsd.org +Date: Sun Dec 19 22:14:12 2021 +0000 - Add tcmalloc test target. + upstream: document destination-constrained keys + + feedback / ok markus@ + + OpenBSD-Commit-ID: cd8c526c77268f6d91c06adbee66b014d22d672e -commit 002d65b0a30063c6e49bf8a53e709d8d5a0d45c1 -Author: dtucker@openbsd.org -Date: Sat Oct 9 10:52:42 2021 +0000 +commit a6d7677c4abcfba268053e5867f2acabe3aa371b +Author: djm@openbsd.org +Date: Sun Dec 19 22:13:55 2021 +0000 - upstream: Document that CASignatureAlgorithms, ExposeAuthInfo and + upstream: Use hostkey parsed from hostbound userauth request - PubkeyAuthOptions can be used in a Match block. Patch from eehakkin via - github PR#277. + Require host-bound userauth requests for forwarded SSH connections. - OpenBSD-Commit-ID: c0a63f5f52e918645967ac022b28392da4b866aa + The hostkey parsed from the host-bound userauth request is now checked + against the most recently bound session ID / hostkey on the agent socket + and the signature refused if they do not match. + + ok markus@ + + OpenBSD-Commit-ID: d69877c9a3bd8d1189a5dbdeceefa432044dae02 -commit 40bd3709dddaae3a1b6113748bec3faa6a607531 -Author: Darren Tucker -Date: Thu Oct 7 15:55:49 2021 +1100 +commit baaff0ff4357cc5a079621ba6e2d7e247b765061 +Author: djm@openbsd.org +Date: Sun Dec 19 22:13:33 2021 +0000 - Skip SK unit tests when built without security-key + upstream: agent support for parsing hostkey-bound signatures + + Allow parse_userauth_request() to work with blobs from + publickey-hostbound-v00@openssh.com userauth attempts. + + Extract hostkey from these blobs. + + ok markus@ + + OpenBSD-Commit-ID: 81c064255634c1109477dc65c3e983581d336df8 -commit 482f73be10f10b93f818df19fcc8a912c0c371fc -Author: Darren Tucker -Date: Thu Oct 7 15:55:04 2021 +1100 +commit 3e16365a79cdeb2d758cf1da6051b1c5266ceed7 +Author: djm@openbsd.org +Date: Sun Dec 19 22:13:12 2021 +0000 - Include relevant env vars on command line. + upstream: EXT_INFO negotiation of hostbound pubkey auth - Makes it easier to reproduce a build by cut/pasting the configure line. + the EXT_INFO packet gets a new publickey-hostbound@openssh.com to + advertise the hostbound public key method. + + Client side support to parse this feature flag and set the kex->flags + indicator if the expected version is offered (currently "0"). + + ok markus@ + + OpenBSD-Commit-ID: 4cdb2ca5017ec1ed7a9d33bda95c1d6a97b583b0 -commit ef5916b8acd9b1d2f39fad4951dae03b00dbe390 -Author: Darren Tucker -Date: Thu Oct 7 14:28:02 2021 +1100 +commit 94ae0c6f0e35903b695e033bf4beacea1d376bb1 +Author: djm@openbsd.org +Date: Sun Dec 19 22:12:54 2021 +0000 - Only enable sk-* key types if ENABLE_SK is defined + upstream: client side of host-bound pubkey authentication + + Add kex->flags member to enable the publickey-hostbound-v00@openssh.com + authentication method. + + Use the new hostbound method in client if the kex->flags flag was set, + and include the inital KEX hostkey in the userauth request. + + Note: nothing in kex.c actually sets the new flag yet + + ok markus@ + + OpenBSD-Commit-ID: 5a6fce8c6c8a77a80ee1526dc467d91036a5910d -commit 52d4232b493a9858fe616e28a8bbcc89afa2ad4d +commit 288fd0218dbfdcb05d9fbd1885904bed9b6d42e6 +Author: djm@openbsd.org +Date: Sun Dec 19 22:12:30 2021 +0000 + + upstream: sshd side of hostbound public key auth + + This is identical to the standard "publickey" method, but it also includes + the initial server hostkey in the message signed by the client. + + feedback / ok markus@ + + OpenBSD-Commit-ID: 7ea01bb7238a560c1bfb426fda0c10a8aac07862 + +commit dbb339f015c33d63484261d140c84ad875a9e548 +Author: djm@openbsd.org +Date: Sun Dec 19 22:12:07 2021 +0000 + + upstream: prepare for multiple names for authmethods + + allow authentication methods to have one additional name beyond their + primary name. + + allow lookup by this synonym + + Use primary name for authentication decisions, e.g. for + PermitRootLogin=publickey + + Pass actual invoked name to the authmethods, so they can tell whether they + were requested via the their primary name or synonym. + + ok markus@ + + OpenBSD-Commit-ID: 9e613fcb44b8168823195602ed3d09ffd7994559 + +commit 39f00dcf44915f20684160f0a88d3ef8a3278351 +Author: djm@openbsd.org +Date: Sun Dec 19 22:11:39 2021 +0000 + + upstream: ssh-agent side of destination constraints + + Gives ssh-agent the ability to parse restrict-destination-v00@openssh.com + constraints and to apply them to keys. + + Check constraints against the hostkeys recorded for a SocketEntry when + attempting a signature, adding, listing or deleting keys. Note that + the "delete all keys" request will remove constrained keys regardless of + location. + + feedback Jann Horn & markus@ + ok markus@ + + OpenBSD-Commit-ID: 84a7fb81106c2d609a6ac17469436df16d196319 + +commit ce943912df812c573a33d00bf9e5435b7fcca3f7 +Author: djm@openbsd.org +Date: Sun Dec 19 22:11:06 2021 +0000 + + upstream: ssh-add side of destination constraints + + Have ssh-add accept a list of "destination constraints" that allow + restricting where keys may be used in conjunction with a ssh-agent/ssh + that supports session ID/hostkey binding. + + Constraints are specified as either "[user@]host-pattern" or + "host-pattern>[user@]host-pattern". + + The first form permits a key to be used to authenticate as the + specified user to the specified host. + + The second form permits a key that has previously been permitted + for use at a host to be available via a forwarded agent to an + additional host. + + For example, constraining a key with "user1@host_a" and + "host_a>host_b". Would permit authentication as "user1" at + "host_a", and allow the key to be available on an agent forwarded + to "host_a" only for authentication to "host_b". The key would not + be visible on agent forwarded to other hosts or usable for + authentication there. + + Internally, destination constraints use host keys to identify hosts. + The host patterns are used to obtain lists of host keys for that + destination that are communicated to the agent. The user/hostkeys are + encoded using a new restrict-destination-v00@openssh.com key + constraint. + + host keys are looked up in the default client user/system known_hosts + files. It is possible to override this set on the command-line. + + feedback Jann Horn & markus@ + ok markus@ + + OpenBSD-Commit-ID: 6b52cd2b637f3d29ef543f0ce532a2bce6d86af5 + +commit 5e950d765727ee0b20fc3d2cbb0c790b21ac2425 +Author: djm@openbsd.org +Date: Sun Dec 19 22:10:24 2021 +0000 + + upstream: ssh-add side of destination constraints + + Have ssh-add accept a list of "destination constraints" that allow + restricting where keys may be used in conjunction with a ssh-agent/ssh + that supports session ID/hostkey binding. + + Constraints are specified as either "[user@]host-pattern" or + "host-pattern>[user@]host-pattern". + + The first form permits a key to be used to authenticate as the + specified user to the specified host. + + The second form permits a key that has previously been permitted + for use at a host to be available via a forwarded agent to an + additional host. + + For example, constraining a key with "user1@host_a" and + "host_a>host_b". Would permit authentication as "user1" at + "host_a", and allow the key to be available on an agent forwarded + to "host_a" only for authentication to "host_b". The key would not + be visible on agent forwarded to other hosts or usable for + authentication there. + + Internally, destination constraints use host keys to identify hosts. + The host patterns are used to obtain lists of host keys for that + destination that are communicated to the agent. The user/hostkeys are + encoded using a new restrict-destination-v00@openssh.com key + constraint. + + host keys are looked up in the default client user/system known_hosts + files. It is possible to override this set on the command-line. + + feedback Jann Horn & markus@ + ok markus@ + + OpenBSD-Commit-ID: ef47fa9ec0e3c2a82e30d37ef616e245df73163e + +commit 4c1e3ce85e183a9d0c955c88589fed18e4d6a058 +Author: djm@openbsd.org +Date: Sun Dec 19 22:09:23 2021 +0000 + + upstream: ssh-agent side of binding + + record session ID/hostkey/forwarding status for each active socket. + + Attempt to parse data-to-be-signed at signature request time and extract + session ID from the blob if it is a pubkey userauth request. + + ok markus@ + + OpenBSD-Commit-ID: a80fd41e292b18b67508362129e9fed549abd318 + +commit e9497ecf73f3c16667288bce48d4e3d7e746fea1 +Author: djm@openbsd.org +Date: Sun Dec 19 22:08:48 2021 +0000 + + upstream: ssh client side of binding + + send session ID, hostkey, signature and a flag indicating whether the + agent connection is being forwarded to ssh agent each time a connection + is opened via a new "session-bind@openssh.com" agent extension. + + ok markus@ + + OpenBSD-Commit-ID: 2f154844fe13167d3ab063f830d7455fcaa99135 + +commit b42c61d6840d16ef392ed0f365e8c000734669aa +Author: djm@openbsd.org +Date: Sun Dec 19 22:08:06 2021 +0000 + + upstream: Record session ID, host key and sig at intital KEX + + These will be used later for agent session ID / hostkey binding + + ok markus@ + + OpenBSD-Commit-ID: a9af29e33772b18e3e867c6fa8ab35e1694a81fe + +commit 26ca33d186473d58a32d812e19273ce078b6ffff +Author: djm@openbsd.org +Date: Tue Dec 7 22:06:45 2021 +0000 + + upstream: better error message for FIDO keys when we can't match + + them to a token + + OpenBSD-Commit-ID: 58255c2a1980088f4ed144db67d879ada2607650 + +commit adb0ea006d7668190f0c42aafe3a2864d352e34a Author: Darren Tucker -Date: Wed Oct 6 18:14:37 2021 +1100 +Date: Wed Dec 15 10:50:33 2021 +1100 - Disable security key on minix3. + Correct value for IPTOS_DSCP_LE. - The test doesn't work so disable. + It needs to allow for the preceeding two ECN bits. From daisuke.higashi + at gmail.com via OpenSSH bz#3373, ok claudio@, job@, djm@. -commit 7cd062c3a29669b8d7dc2a97e6575f4dcb7d35a2 +commit 3dafd3fe220bd9046f11fcf5191a79ec8800819f Author: Darren Tucker -Date: Wed Oct 6 17:45:28 2021 +1100 +Date: Fri Dec 10 11:57:30 2021 +1100 - Add USE_LIBC_SHA2 for (at least) NetBSD 9. + Increase timeout for test step. -commit 639c440f6c3c2a8216a5eb9455ef13bf4204089c +commit 5aefb05cd5b843e975b191d6ebb7ddf8de35c112 Author: Darren Tucker -Date: Wed Oct 6 17:09:31 2021 +1100 +Date: Fri Dec 10 10:27:27 2021 +1100 - Define OPENSSL_NO_SHA including OpenSSL from test. + Update the list of tests that don't work on Minix. - We don't use SHA256 from OpenSSL in the sk-dummy module and the - definitions can conflict with system sha2.h (eg on NetBSD) so define - OPENSSL_NO_SHA so we don't attempt to redefine them. + While there, remove CC (configure will now find clang) and make the test + list easier to update via cut and paste. -commit 8f4be526a338d06624f146fa26007bb9dd3a4f7b +commit 1c09bb1b2e207d091cec299c49416c23d24a1b31 Author: Darren Tucker -Date: Wed Oct 6 15:40:58 2021 +1100 +Date: Fri Dec 10 10:12:57 2021 +1100 - Disable security key on NetBSD4 test. + Add minix host tuple. - sk-dummy used for the security key test includes both sha2.h and OpenSSL - causing the definitions conflict so disable security key support on this - platform. + Define SETEUID_BREAKS_SETUID for it which should make privsep work. -commit 3b353ae58aa07a1cbbeb1da3ace21fc0dcccd66a -Author: Damien Miller -Date: Wed Oct 6 15:07:01 2021 +1100 +commit a2188579032cf080213a78255373263466cb90cc +Author: jsg@openbsd.org +Date: Sun Dec 5 12:28:27 2021 +0000 - clean regress/misc/sk-dummy in cleandir target + upstream: fix unintended sizeof pointer in debug path ok markus@ + + OpenBSD-Commit-ID: b9c0481ffc0cd801e0840e342e6a282a85aac93c -commit 57680a2ab43518c5ccbd8242c40482106cde6ac1 -Author: dtucker@openbsd.org -Date: Sat Oct 2 03:17:01 2021 +0000 +commit da40355234068c82f1a36196f2d18dd2d81aaafd +Author: naddy@openbsd.org +Date: Sat Dec 4 00:05:39 2021 +0000 - upstream: Dynamically allocate encoded HashKnownHosts and free as - - appropriate. Saves 1k of static storage and prevents snprintf "possible - truncation" warnings from newer compilers (although in this case it's false - positive since the actual sizes are limited by the output size of the SHA1). - ok djm@ + upstream: RSA/SHA-1 is not used by default anymore on the server - OpenBSD-Commit-ID: e254ae723f7e3dce352c7d5abc4b6d87faf61bf4 + OpenBSD-Commit-ID: 64abef6cfc3e53088225f6b8a1dcd86d52dc8353 -commit e3e62deb549fde215b777d95276c304f84bf00c6 +commit e9c71498a083a8b502aa831ea931ce294228eda0 Author: djm@openbsd.org -Date: Wed Oct 6 03:35:13 2021 +0000 +Date: Thu Dec 2 23:45:36 2021 +0000 - upstream: use libc SHA256 functions; make this work when compiled + upstream: hash full host:port when asked to hash output, fixes hashes - !WITH_OPENSSL + for non- default ports. bz3367 ok dtucker@ - OpenBSD-Regress-ID: fda0764c1097cd42f979ace29b07eb3481259890 + OpenBSD-Commit-ID: 096021cc847da7318ac408742f2d0813ebe9aa73 -commit 12937d867019469ebce83c2ff614cdc6688fc2d8 -Author: dtucker@openbsd.org -Date: Fri Oct 1 05:20:20 2021 +0000 +commit b5601202145a03106012c22cb8980bcac2949f0b +Author: djm@openbsd.org +Date: Thu Dec 2 23:23:13 2021 +0000 - upstream: Add test for ssh hashed known_hosts handling. + upstream: improve the testing of credentials against inserted FIDO - OpenBSD-Regress-ID: bcef3b3cd5a1ad9899327b4b2183de2541aaf9cf + keys a little more: ask the token whether a particular key belongs to it in + cases where the token support on-token user- verification (e.g. biometrics) + rather than just assuming that it will accept it. + + Will reduce spurious "Confirm user presence" notifications for key + handles that relate to FIDO keys that are not currently inserted in at + least some cases. + + Motivated by bz3366; by Pedro Martelletto + + OpenBSD-Commit-ID: ffac7f3215842397800e1ae2e20229671a55a63d -commit 5a37cc118f464416d08cd0291a9b1611d8de9943 -Author: Damien Miller -Date: Wed Oct 6 13:16:21 2021 +1100 +commit ca709e27c41c90f4565b17282c48dca7756e083c +Author: djm@openbsd.org +Date: Thu Dec 2 22:40:05 2021 +0000 - fix broken OPENSSL_HAS_ECC test + upstream: move check_sk_options() up so we can use it earlier - spotted by dtucker + OpenBSD-Commit-ID: 67fe98ba1c846d22035279782c4664c1865763b4 -commit 16a25414f303cd6790eb967aeb962040e32c9c7a -Author: Damien Miller -Date: Fri Oct 1 22:40:06 2021 +1000 +commit b711bc01a7ec76bb6a285730990cbce9b8ca5773 +Author: dtucker@openbsd.org +Date: Thu Dec 2 22:35:05 2021 +0000 - make sk-dummy.so work without libcrypto installed + upstream: ssh-rsa is no longer in the default for + + PubkeyAcceptedAlgorithms. + + OpenBSD-Commit-ID: 34a9e1bc30966fdcc922934ae00f09f2596cd73c -commit dee22129bbc61e25b1003adfa2bc584c5406ef2d -Author: Damien Miller -Date: Fri Oct 1 16:35:49 2021 +1000 +commit dc91ceea33cd4a9f05be953e8d8062f732db5c8a +Author: djm@openbsd.org +Date: Thu Dec 2 02:44:44 2021 +0000 - make OPENSSL_HAS_ECC checks more thorough + upstream: don't put the tty into raw mode when SessionType=none, avoids - ok dtucker + ^c being unable to kill such a session. bz3360; ok dtucker@ + + OpenBSD-Commit-ID: 83960c433052303b643b4c380ae2f799ac896f65 -commit 872595572b6c9a584ed754165e8b7c4c9e7e1d61 +commit e6e7d2654a13ba10141da7b42ea683ea4eeb1f38 Author: Damien Miller -Date: Fri Oct 1 16:35:05 2021 +1000 +Date: Mon Nov 29 14:11:03 2021 +1100 - fix FIDO key support for !OPENSSL_HAS_ECC case + previous commit broke bcrypt_pbkdf() - ok dtucker + Accidentally reverted part of the conversion to use SHA512 from SUPERCOP + instead of OpenBSD-style libc SHA512. -commit 489741dc68366940d369ac670b210b4834a6c272 +commit c0459588b8d00b73e506c6095958ecfe62a4a7ba +Author: Darren Tucker +Date: Mon Nov 29 14:03:19 2021 +1100 + + Fix typo in Neils' name. + +commit 158bf854e2a22cf09064305f4a4e442670562685 Author: Damien Miller -Date: Fri Oct 1 14:51:37 2021 +1000 +Date: Mon Nov 29 12:30:22 2021 +1100 - enable security key support for --without-openssl + sync bcrypt-related files with OpenBSD + + The main change is that Niels Provos kindly agreed to rescind the + BSD license advertising clause, shifting them to the 3-term BSD + license. + + This was the last thing in OpenSSH that used the advertising clause. -commit c978565c8589acfe4ea37ab5099d39c84158c713 +commit e8976d92a42883ff6b8991438f07df60c2c0d82d Author: Damien Miller -Date: Fri Oct 1 13:27:50 2021 +1000 +Date: Mon Nov 29 12:29:29 2021 +1100 - need stdlib.h for free(3) + depend -commit 76a398edfb51951b2d65d522d7b02c72304db300 -Author: dtucker@openbsd.org -Date: Thu Sep 30 05:26:26 2021 +0000 +commit 8249afeec013e557fe7491a72ca3285de03e25b1 +Author: djm@openbsd.org +Date: Sun Nov 28 07:21:26 2021 +0000 - upstream: Fix up whitespace left by previous + upstream: sshsig: return "key not found" when searching empty files - change removing privsep. No other changes. + rather than "internal error" - OpenBSD-Regress-ID: 87adec225d8afaee4d6a91b2b71203f52bf14b15 + OpenBSD-Commit-ID: e2ccae554c78d7a7cd33fc5d217f35be7e2507ed -commit ddcb53b7a7b29be65d57562302b2d5f41733e8dd -Author: dtucker@openbsd.org -Date: Thu Sep 30 05:20:08 2021 +0000 +commit 9e3227d4dbb5ad9c9091b4c14982cab4bba87b4d +Author: djm@openbsd.org +Date: Sun Nov 28 07:15:10 2021 +0000 - upstream: Remove references to privsep. + upstream: ssh-keygen -Y match-principals doesn't accept any -O - This removes several do..while loops but does not change the - indentation of the now-shallower loops, which will be done in a separate - whitespace-only commit to keep changes of style and substance separate. + options at present, so don't say otherwise in SYNOPSIS; spotted jmc@ - OpenBSD-Regress-ID: 4bed1a0249df7b4a87c965066ce689e79472a8f7 + OpenBSD-Commit-ID: 9cc43a18f4091010741930b48b3db2f2e4f1d35c -commit ece2fbe486164860de8df3f8b943cccca3085eff -Author: dtucker@openbsd.org -Date: Thu Sep 30 04:22:50 2021 +0000 +commit 56db1f4a4cf5039fc3b42e84c4b16291fdff32b1 +Author: djm@openbsd.org +Date: Sun Nov 28 07:14:29 2021 +0000 - upstream: Use "skip" instead of "fatal" - - if SUDO isn't set for the *-command tests. This means running "make tests" - without SUDO set will perform all of the tests that it can instead of - failing on the ones it cannot run. + upstream: fix indenting in last commit - OpenBSD-Regress-ID: bd4dbbb02f34b2e8c890558ad4a696248def763a + OpenBSD-Commit-ID: 8b9ba989815d0dec1fdf5427a4a4b58eb9cac4d2 -commit bb754b470c360e787a99fb4e88e2668198e97b41 +commit 50bea24a9a9bdebad327c76e700def3261f5694e Author: djm@openbsd.org -Date: Fri Oct 1 04:50:36 2021 +0000 +Date: Sun Nov 28 07:10:18 2021 +0000 - upstream: unbreak FIDO sk-ed25519 key enrollment for OPENSSL=no builds; - - ok dtucker@ + upstream: missing initialisation for oerrno - OpenBSD-Commit-ID: 6323a5241728626cbb2bf0452cf6a5bcbd7ff709 - -commit 207648d7a6415dc915260ca75850404dbf9f0a0b -Author: Darren Tucker -Date: Wed Sep 29 20:03:58 2021 +1000 - - Include stdlib.h for arc4random_uniform prototype. + OpenBSD-Commit-ID: 05d646bba238080259bec821c831a6f0b48d2a95 -commit 696aadc854582c164d5fc04933d2f3e212dc0e06 +commit 5a0f4619041d09cd29f3a08da41db5040372bdd1 Author: Darren Tucker -Date: Wed Sep 29 20:00:30 2021 +1000 +Date: Sun Nov 28 15:31:37 2021 +1100 - Look for clang after cc and gcc. + Correct ifdef to activate poll() only if needed. -commit a3c6375555026d85dbf811fab566b9f76f196144 -Author: Darren Tucker -Date: Wed Sep 29 19:30:59 2021 +1000 +commit d4035c81a71237f690edd7eda32bef7d63fd9528 +Author: djm@openbsd.org +Date: Sat Nov 27 07:23:35 2021 +0000 - Use backticks instead of $(..) for portability. + upstream: whitespac e - Older shells (eg /bin/sh on Solaris 10) don't support $() syntax. + OpenBSD-Regress-ID: b9511d41568056bda489e13524390167889908f8 -commit 958aaa0387133d51f84fe9c8f30bca03025f2867 -Author: Darren Tucker -Date: Wed Sep 29 18:53:32 2021 +1000 +commit a443491e6782ef0f5a8bb87a5536c8ee4ff233a1 +Author: djm@openbsd.org +Date: Sat Nov 27 07:20:58 2021 +0000 - Skip file-based tests by default on Mac OS. + upstream: regression test for match-principals. Mostly by Fabian - The file-based tests need OpenSSL so skip them. - -commit 55c8bdf6e9afb0f9fa8e4f10c25c7f0081b48fd0 -Author: Darren Tucker -Date: Wed Sep 29 18:42:47 2021 +1000 - - Build without OpenSSL on Mac OS. + Stelzer - Modern versions don't ship enough libcrypto to build against. + OpenBSD-Regress-ID: ced0bec89af90935103438986bbbc4ad1df9cfa7 -commit c9172193ea975415facf0afb356d87df21535f88 -Author: Darren Tucker -Date: Wed Sep 29 18:33:38 2021 +1000 +commit 78230b3ec8cbabc1e7de68732dc5cbd4837c6675 +Author: djm@openbsd.org +Date: Sat Nov 27 07:14:46 2021 +0000 - Remove TEST_SSH_ECC. + upstream: Add ssh-keygen -Y match-principals operation to perform - Convert the only remaining user of it to runtime detection using ssh -Q. - -commit 5e6d28b7874b0deae95d2c68947c45212d32e599 -Author: Darren Tucker -Date: Wed Sep 29 17:48:09 2021 +1000 - - Split c89 test openssl setting out. + matching of principals names against an allowed signers file. + + Requested by and mostly written by Fabian Stelzer, towards a TOFU + model for SSH signatures in git. Some tweaks by me. + + "doesn't bother me" deraadt@ + + OpenBSD-Commit-ID: 8d1b71f5a4127bc5e10a880c8ea6053394465247 -commit c4ac7f98e230e83c015678dc958b1ffe828564ad -Author: Darren Tucker -Date: Wed Sep 29 17:40:50 2021 +1000 +commit 15db86611baaafb24c40632784dabf82e3ddb1a7 +Author: djm@openbsd.org +Date: Thu Nov 25 23:02:24 2021 +0000 - Expand TEST_SHELL consistently with other vars. + upstream: debug("func: ...") -> debug_f("...") + + OpenBSD-Commit-ID: d58494dc05c985326a895adfbe16fbd5bcc54347 -commit cfe5f7b0eb7621bfb0a756222de0431315c2ab8b +commit b7ffbb17e37f59249c31f1ff59d6c5d80888f689 Author: Darren Tucker -Date: Wed Sep 29 17:26:50 2021 +1000 +Date: Fri Nov 19 18:53:46 2021 +1100 - Replace `pwd` with make variable in regress cmd. + Allow for fd = -1 in compat ppoll overflow check. + + Fixes tests on at least FreeBSD 6, possibly others. -commit 899be59da5fbc3372444bd0fbe74af48313bed33 +commit 04b172da5b96a51b0d55c905b423ababff9f4e0b Author: Darren Tucker -Date: Wed Sep 29 17:14:33 2021 +1000 +Date: Fri Nov 19 16:01:51 2021 +1100 - Get BUILDDIR from autoconf. + Don't auto-enable Capsicum sandbox on FreeBSD 9/10. - Use this to replace `pwd`s in regress test command line. + Since we changed from select() to ppoll() tests have been failing. + This seems to be because FreeBSD 10 (and presumably 9) do not allow + ppoll() in the privsep process and sshd will fail with "Not permitted in + capability mode". Setting CAP_EVENT on the FDs doesn't help, but weirdly, + poll() works without that. Those versions are EOL so this situation is + unlikely to change. -commit c8d92d3d4f7d560146f2f936156ec4dac3fc5811 -Author: Darren Tucker -Date: Wed Sep 29 13:28:56 2021 +1000 +commit a823f39986e7b879f26412e64c15630e1cfa0dc5 +Author: djm@openbsd.org +Date: Thu Nov 18 03:53:48 2021 +0000 - Add make clean step to tests. + upstream: regression test for ssh-keygen -Y find-principals fix; from + + Fabian Stelzer ok djm markus + + OpenBSD-Regress-ID: 34fe4088854c1a2eb4c0c51cc4676ba24096bac4 -commit 360fb41ef8359619ab90b0d131c914494e55d3dd -Author: Darren Tucker -Date: Wed Sep 29 11:36:13 2021 +1000 +commit 199c4df66c0e39dd5c3333b162af274678c0501d +Author: djm@openbsd.org +Date: Thu Nov 18 21:32:11 2021 +0000 - Test all available clang and gcc versions. + upstream: less confusing debug message; bz#3365 + + OpenBSD-Commit-ID: 836268d3642c2cdc84d39b98d65837f5241e4a50 -commit 4fb49899d7da22952d35a4bc4c9bdb2311087893 +commit 97f9b6e61316c97a32dad94b7a37daa9b5f6b836 Author: djm@openbsd.org -Date: Wed Sep 29 01:32:21 2021 +0000 +Date: Thu Nov 18 21:11:01 2021 +0000 - upstream: Test certificate hostkeys held in ssh-agent too. Would have - - caught regression fixed in sshd r1.575 + upstream: avoid xmalloc(0) for PKCS#11 keyid for ECDSA keys (we - ok markus@ + already did this for RSA keys). Avoids fatal errors for PKCS#11 libraries + that return empty keyid, e.g. Microchip ATECC608B "cryptoauthlib"; bz#3364 - OpenBSD-Regress-ID: 1f164d7bd89f83762db823eec4ddf2d2556145ed + OpenBSD-Commit-ID: 054d4dc1d6a99a2e6f8eebc48207b534057c154d -commit ce4854e12e749a05646e5775e9deb8cfaf49a755 +commit c74aa0eb73bd1edf79947d92d9c618fc3424c4a6 Author: djm@openbsd.org -Date: Wed Sep 29 01:33:32 2021 +0000 +Date: Thu Nov 18 03:50:41 2021 +0000 - upstream: add some debug output showing how many key file/command lines + upstream: ssh-keygen -Y find-principals was verifying key validity - were processed. Useful to see whether a file or command actually has keys - present + when using ca certs but not with simple key lifetimes within the allowed + signers file. - OpenBSD-Commit-ID: 0bd9ff94e84e03a22df8e6c12f6074a95d27f23c - -commit 15abdd523501c349b703d9a27e2bb4252ad921ef -Author: dtucker@openbsd.org -Date: Tue Sep 28 11:14:50 2021 +0000 - - upstream: Make prototype for rijndaelEncrypt match function + Since it returns the first keys principal it finds this could + result in a principal with an expired key even though a valid + one is just below. - including the bounds. Fixes error in portable where GCC>=11 takes notice of - the bounds. ok deraadt@ + patch from Fabian Stelzer; feedback/ok djm markus - OpenBSD-Commit-ID: cdd2f05fd1549e1786a70871e513cf9e9cf099a6 + OpenBSD-Commit-ID: b108ed0a76b813226baf683ab468dc1cc79e0905 -commit d1d29ea1d1ef1a1a54b209f062ec1dcc8399cf03 -Author: dtucker@openbsd.org -Date: Tue Sep 28 11:10:05 2021 +0000 +commit d902d728dfd81622454260e23bc09d5e5a9a795e +Author: Darren Tucker +Date: Thu Nov 18 23:44:07 2021 +1100 - upstream: Import regenerated moduli. - - OpenBSD-Commit-ID: 4bec5db13b736b64b06a0fca704cbecc2874c8e1 + Correct calculation of tv_nsec in poll(). -commit 39f2111b1d5f00206446257377dcce58cc72369f +commit 21dd5a9a3fb35e8299a1fbcf8d506f1f6b752b85 Author: Darren Tucker -Date: Wed Sep 29 10:53:55 2021 +1000 +Date: Thu Nov 18 23:11:37 2021 +1100 - Add new compiler hardening flags. + Add compat implementation of ppoll using pselect. + +commit b544ce1ad4afb7ee2b09f714aa63efffc73fa93a +Author: Darren Tucker +Date: Thu Nov 18 23:05:34 2021 +1100 + + Put poll.h inside ifdef HAVE_POLL_H. + +commit 875408270c5a7dd69ed5449e5d85bd7120c88f70 +Author: djm@openbsd.org +Date: Thu Nov 18 03:31:44 2021 +0000 + + upstream: check for POLLHUP wherever we check for POLLIN - Add -fzero-call-used-regs and -ftrivial-auto-var-init to the list of - compiler hardening flags that configure checks for. These are supported - by clang and gcc, and make ROP gadgets less useful and mitigate - stack-based infoleaks respectively. ok djm@ + OpenBSD-Commit-ID: 6aa6f3ec6b17c3bd9bfec672a917f003a76d93e5 -commit bf944e3794eff5413f2df1ef37cddf96918c6bde -Author: Damien Miller -Date: Mon Sep 27 00:03:19 2021 +1000 +commit 36b5e37030d35bbaa18ba56825b1af55971d18a0 +Author: djm@openbsd.org +Date: Thu Nov 18 03:07:59 2021 +0000 - initgroups needs grp.h + upstream: fd leak in sshd listen loop error path; from Gleb + + Smirnoff + + OpenBSD-Commit-ID: a7a2be27a690a74bf2381bc16cea38e265657412 -commit 8c5b5655149bd76ea21026d7fe73ab387dbc3bc7 +commit b99498d0c93f1edd04857b318308a66b28316bd8 Author: djm@openbsd.org -Date: Sun Sep 26 14:01:11 2021 +0000 +Date: Thu Nov 18 03:07:20 2021 +0000 - upstream: openssh-8.8 + upstream: check for POLLHUP as well as POLLIN in sshd listen loop; - OpenBSD-Commit-ID: 12357794602ac979eb7312a1fb190c453f492ec4 + ok deraadt millert + + OpenBSD-Commit-ID: a4f1244c5a9c2b08dac4f3b1dc22e9d1dc60c587 -commit f3cbe43e28fe71427d41cfe3a17125b972710455 +commit 1f3055d788e8cf80851eb1728b535d57eb0dba6a Author: djm@openbsd.org -Date: Sun Sep 26 14:01:03 2021 +0000 +Date: Thu Nov 18 03:06:03 2021 +0000 - upstream: need initgroups() before setresgid(); reported by anton@, + upstream: check for POLLHUP as well as POLLIN, handle transient IO - ok deraadt@ + errors as well as half-close on the output side; ok deraadt millert - OpenBSD-Commit-ID: 6aa003ee658b316960d94078f2a16edbc25087ce + OpenBSD-Commit-ID: de5c5b9939a37476d256328cbb96305bdecf511e -commit 8acaff41f7518be40774c626334157b1b1c5583c +commit 9778a15fa6dbdac6a95bf15865c2688b4bd6944e Author: Damien Miller -Date: Sun Sep 26 22:16:36 2021 +1000 +Date: Thu Nov 18 10:16:55 2021 +1100 - update version numbers for release + adjust seccomp filter for select->poll conversion + + Needed to add ppoll syscall but also to relax the fallback rlimit + sandbox. Linux poll() fails with EINVAL if npfds > RLIMIT_NOFILE, + so we have to allow a single fd in the rlimit. -commit d39039ddc0010baa91c70a0fa0753a2699bbf435 -Author: kn@openbsd.org -Date: Sat Sep 25 09:40:33 2021 +0000 +commit fcd8d895bbb849c64f0aed934e3303d37f696f5d +Author: Damien Miller +Date: Thu Nov 18 10:16:44 2021 +1100 - upstream: RSA/SHA-1 is not used by default anymore + update depends + +commit 76292787a1e93e668f10e36b4bf59ce0ae28e156 +Author: Damien Miller +Date: Thu Nov 18 09:26:20 2021 +1100 + + compat for timespecsub() and friends + +commit fd7e7de4ddb4399c7e929b44f2bbfc118eddfcf8 +Author: djm@openbsd.org +Date: Wed Nov 17 21:06:39 2021 +0000 + + upstream: set num_listen_socks to 0 on close-all instead of -1, - OK dtucker deraadt djm + which interferes with the new poll()-based listen loop; spotted and debugged + by anton@+deraadt@ - OpenBSD-Commit-ID: 055c51a221c3f099dd75c95362f902da1b8678c6 + OpenBSD-Commit-ID: f7ab8ab124f615a2e0c45fee14c38d2f2abbabbd -commit 9b2ee74e3aa8c461eb5552a6ebf260449bb06f7e -Author: Darren Tucker -Date: Fri Sep 24 11:08:03 2021 +1000 +commit fd9343579afac30a971f06643a669733d9acb407 +Author: deraadt@openbsd.org +Date: Sun Nov 14 18:47:43 2021 +0000 - Move the fgrep replacement to hostkey-rotate.sh. + upstream: use ppoll() instead of pselect() with djm - The fgrep replacement for buggy greps doesn't work in the sftp-glob test - so move it to just where we know it's needed. + OpenBSD-Commit-ID: 980f87c9564d5d2ad55722b7a6f44f21284cd215 -commit f7039541570d4b66d76e6f574544db176d8d5c02 -Author: Darren Tucker -Date: Fri Sep 24 08:04:14 2021 +1000 +commit 092d29b232ef1a19609a5316ed7e4d896bb2e696 +Author: deraadt@openbsd.org +Date: Sun Nov 14 06:15:36 2021 +0000 - Replacement function for buggy fgrep. + upstream: match .events with .fd better - GNU (f)grep <=2.18, as shipped by FreeBSD<=12 and NetBSD<=9 will - occasionally fail to find ssh host keys in the hostkey-rotate test. - If we have those versions, use awk instead. + OpenBSD-Commit-ID: 77eef212ca0add905949532af390164489c5984b -commit f6a660e5bf28a01962af87568e118a2d2e79eaa0 -Author: David Manouchehri -Date: Thu Sep 23 17:03:18 2021 -0400 +commit 8d642c9a90fa4ed5a3effd785fb3591e14de00cd +Author: deraadt@openbsd.org +Date: Sun Nov 14 03:25:10 2021 +0000 - Don't prompt for yes/no questions. + upstream: convert select() to poll() ok djm + + OpenBSD-Commit-ID: b53e4940ff10dd24f8d16e8db8ef1970015d7ead -commit 7ed1a3117c09f8c3f1add35aad77d3ebe1b85b4d -Author: djm@openbsd.org -Date: Mon Sep 20 06:53:56 2021 +0000 +commit 6582a31c388968f4073af2bd8621880735c3d42b +Author: deraadt@openbsd.org +Date: Sat Nov 13 21:14:13 2021 +0000 - upstream: fix missing -s in SYNOPSYS and usage() as well as a + upstream: replace select() with ppoll(), including converting - capitalisation mistake; spotted by jmc@ + timeval's to timespec's to make things easier. back and forth and ok; djm - OpenBSD-Commit-ID: 0ed8ee085c7503c60578941d8b45f3a61d4c9710 + OpenBSD-Commit-ID: 89d3b23c60875da919e7820f9de6213286ffbec9 -commit 8c07170135dde82a26886b600a8bf6fb290b633d -Author: dtucker@openbsd.org -Date: Mon Sep 20 04:02:13 2021 +0000 +commit 7c025c005550c86a40200a2bcdd355d09413d61a +Author: deraadt@openbsd.org +Date: Sat Nov 13 17:26:13 2021 +0000 - upstream: Fix "Allocated port" debug message + upstream: It really looks like pledge "stdio dns" is possible - for unix domain sockets. From peder.stray at gmail.com via github PR#272, - ok deraadt@ + earlier. Discussed with mestre - OpenBSD-Commit-ID: 8d5ef3fbdcdd29ebb0792b5022a4942db03f017e + OpenBSD-Commit-ID: 610873de63a593e0ac7bbbcb7a0f2894d36f4c01 -commit 277d3c6adfb128b4129db08e3d65195d94b55fe7 -Author: djm@openbsd.org -Date: Mon Sep 20 01:55:42 2021 +0000 +commit 06acb04c20ee483fe4757bd12aec870cc4bb1076 +Author: deraadt@openbsd.org +Date: Fri Nov 12 05:23:49 2021 +0000 - upstream: Switch scp back to use the old protocol by default, ahead of - - release. We'll wait a little longer for people to pick up sftp-server(8) that - supports the extension that scp needs for ~user paths to continue working in - SFTP protocol mode. Discussed with deraadt@ + upstream: aggressively pre-fill the pollfd array with fd=-1 - OpenBSD-Commit-ID: f281f603a705fba317ff076e7b11bcf2df941871 + OpenBSD-Commit-ID: c2a525de8f83c1a04405bd79122c424140552a5b -commit ace19b34cc15bea3482be90450c1ed0cd0dd0669 -Author: djm@openbsd.org -Date: Sat Sep 18 02:03:25 2021 +0000 +commit 7eec76793dec06e8f06b6cf71f9473141c69d109 +Author: deraadt@openbsd.org +Date: Thu Nov 11 15:32:32 2021 +0000 - upstream: better error message for ~user failures when the + upstream: Convert from select() to ppoll(). Along the way, I - sftp-server lacks the expand-path extension; ok deraadt@ + observed that the select() code was using exceptfds incorrectly.. ok millert - OpenBSD-Commit-ID: 9c1d965d389411f7e86f0a445158bf09b8f9e4bc + OpenBSD-Commit-ID: 548e05bfc31b2af02319eb3d051286d4128dec96 -commit 6b1238ba971ee722a310d95037b498ede5539c03 -Author: djm@openbsd.org -Date: Thu Sep 16 15:22:22 2021 +0000 +commit e665ed2d0c24fe11d5470ce72fa1e187377d3fc4 +Author: Darren Tucker +Date: Fri Nov 12 22:55:27 2021 +1100 - upstream: make some more scp-in-SFTP mode better match Unix idioms - - suggested by deraadt@ + Switch from LibreSSL 3.4.0 to 3.4.1. - OpenBSD-Commit-ID: 0f2439404ed4cf0b0be8bf49a1ee734836e1ac87 + The LibreSSL 3.4.0 release has an OPENBSD_BRANCH that points to + "master" and that branch no longer has the files LibreSSL expects + and thus it will no longer build, breaking the test. -commit e694f8ac4409931e67d08ac44ed251b20b10a957 +commit 21b6b5a06c8c53c548d25e6074c5240e88e2ef34 Author: djm@openbsd.org -Date: Thu Sep 16 15:11:19 2021 +0000 +Date: Wed Nov 10 06:29:25 2021 +0000 - upstream: allow log_stderr==2 to prefix log messages with argv[0] + upstream: add the sntrup761x25519-sha512@openssh.com hybrid - use this to make scp's SFTP mode error messages more scp-like + ECDH/x25519 + Streamlined NTRU Prime post-quantum KEX to the default + KEXAlgorithms list (after the ECDH methods but before the prime-group DH + ones). - prompted by and ok deraadt@ + ok markus@ - OpenBSD-Commit-ID: 0e821dbde423fc2280e47414bdc22aaa5b4e0733 - -commit 8a7a06ee505cb833e613f74a07392e9296286c30 -Author: Darren Tucker -Date: Fri Sep 17 13:03:31 2021 +1000 - - Test against LibreSSL 3.2.6, 3.3.4, 3.4.0. + OpenBSD-Commit-ID: 22b77e27a04e497a10e22f138107579652854210 -commit c25c84074a47f700dd6534995b4af4b456927150 +commit 239da797cbf07a640d7b1ea02d3f99ace3ef792d Author: djm@openbsd.org -Date: Thu Sep 16 05:36:03 2021 +0000 +Date: Wed Nov 10 06:25:08 2021 +0000 - upstream: missing space character in ssh -G output broke the + upstream: fix ssh-keysign for KEX algorithms that use SHA384/512 - t-sshcfgparse regression test; spotted by anton@ + exchange hashes; feedback/ok markus@ - OpenBSD-Commit-ID: bcc36fae2f233caac4baa8e58482da4aa350eed0 + OpenBSD-Commit-ID: 09a8fda1c081f5de1e3128df64f28b7bdadee239 -commit a4bee1934bf5e5575fea486628f4123d6a29dff8 +commit 6997a592ecb1013df0c6d7f8df3e6517827aef11 Author: djm@openbsd.org -Date: Wed Sep 15 06:56:01 2021 +0000 +Date: Mon Nov 8 21:32:49 2021 +0000 - upstream: allow CanonicalizePermittedCNAMEs=none in ssh_config; ok + upstream: improve error message when trying to expand a ~user path - markus@ + for a user that doesn't exist; better matches what the shell does - OpenBSD-Commit-ID: 668a82ba8e56d731b26ffc5703213bfe071df623 + ok deraadt@ + + OpenBSD-Commit-ID: 1ddefa3c3a78b69ce13d1b8f67bc9f2cefd23ad6 -commit d0fffc88c8fe90c1815c6f4097bc8cbcabc0f3dd -Author: mbuhl@openbsd.org -Date: Tue Sep 14 11:04:21 2021 +0000 +commit 10b899a15c88eb40eb5f73cd0fa84ef0966f79c9 +Author: Darren Tucker +Date: Wed Nov 10 12:34:25 2021 +1100 - upstream: put back the mux_ctx memleak fix for SSH_CHANNEL_MUX_CLIENT - - OK mfriedl@ + Don't trust closefrom() on Linux. - OpenBSD-Commit-ID: 1aba1da828956cacaadb81a637338734697d9798 + glibc's closefrom implementation does not work in a chroot when the kernel + does not have close_range. It tries to read from /proc/self/fd and when + that fails dies with an assertion of sorts. Instead, call close_range + ourselves from our compat code and fall back if that fails. bz#3349, + with william.wilson at canonical.com and fweimer at redhat.com. -commit 19b3d846f06697c85957ab79a63454f57f8e22d6 -Author: schwarze@openbsd.org -Date: Sat Sep 11 09:05:50 2021 +0000 +commit eb1f63195a9a38b519536a5b398d9939261ec081 +Author: dtucker@openbsd.org +Date: Sat Nov 6 10:13:39 2021 +0000 - upstream: Do not ignore SIGINT while waiting for input if editline(3) + upstream: Plug a couple of minor mem leaks. From beldmit at - is not used. Instead, in non-interactive mode, exit sftp(1), like for other - serious errors. As pointed out by dtucker@, when compiled without editline(3) - support in portable OpenSSH, the el == NULL branch is also used for - interactive mode. In that case, discard the input line and provide a fresh - prompt to the user just like in the case where editline(3) is used. OK djm@ + gmail.com via github PR#283, ok markus@ - OpenBSD-Commit-ID: 7d06f4d3ebba62115527fafacf38370d09dfb393 + OpenBSD-Commit-ID: ec1fa7d305d46226861c3ca6fb9c9beb2ada2892 -commit ba61123eef9c6356d438c90c1199a57a0d7bcb0a +commit e4f501bf1d3b53f1cc23d9521fd7c5163307b760 Author: djm@openbsd.org -Date: Sat Sep 11 00:40:24 2021 +0000 +Date: Fri Nov 5 03:10:58 2021 +0000 - upstream: when using SFTP protocol, continue transferring files after a + upstream: move cert_filter_principals() to earlier in the file for - transfer error occurs. This matches original scp/rcp behaviour. ok dtucker@ + reuse; no code change - OpenBSD-Commit-ID: dfe4558d71dd09707e9b5d6e7d2e53b793da69fa + OpenBSD-Commit-ID: 598fa9528b656b2f38bcc3cf5b6f3869a8c115cf -commit b0ec59a708b493c6f3940336b1a537bcb64dd2a7 -Author: dtucker@openbsd.org -Date: Fri Sep 10 11:38:38 2021 +0000 +commit 59c60f96fee321c7f38f00372826d37f289534af +Author: deraadt@openbsd.org +Date: Wed Nov 3 22:00:56 2021 +0000 - upstream: Document that non-interactive commands are run via the user's - - shell using the -c flag. ok jmc@ + upstream: Many downstreams expect ssh to compile as non-C99... - OpenBSD-Commit-ID: 4f0d912077732eead10423afd1acf4fc0ceec477 + OpenBSD-Commit-ID: e6aa3e08bda68e5fb838fc8a49b1d2dfc38ee783 -commit 66a658b5d9e009ea11f8a0ca6e69c7feb2d851ea -Author: dtucker@openbsd.org -Date: Fri Sep 10 10:26:02 2021 +0000 +commit 7a78fe63b0b28ef7231913dfefe9d08f9bc41c61 +Author: Darren Tucker +Date: Sat Nov 6 21:07:03 2021 +1100 - upstream: Document behaviour of arguments following non-interactive - - commands. Prompted by github PR#139 from EvanTheB, feedback & ok djm@ jmc@ + Skip getline() on HP-UX 10.x. - OpenBSD-Commit-ID: fc758d1fe0471dfab4304fcad6cd4ecc3d79162a + HP-UX 10.x has a getline() implementation in libc that does not behave + as we expect so don't use it. With correction from Thorsten Glaser and + typo fix from Larkin Nickle. -commit 1d47e28e407d1f95fdf8f799be23f48dcfa5206b -Author: dtucker@openbsd.org -Date: Fri Sep 10 07:11:11 2021 +0000 +commit 343ae252ebb35c6ecae26b447bf1551a7666720e +Author: Damien Miller +Date: Wed Nov 3 12:08:21 2021 +1100 - upstream: Clarify which file's attributes -p preserves, and that - - it's specifically the file mode bits. bz#3340 from calestyo at scientia.net, - ok djm@ jmc@ - - OpenBSD-Commit-ID: f09e6098ed1c4be00c730873049825f8ee7cb884 + basic SECURITY.md (refers people to the website) -commit b344db7a413478e4c21e4cadba4a970ad3e6128a +commit ed45a0168638319e0a710633f6085b96b9cec656 Author: djm@openbsd.org -Date: Fri Sep 10 05:46:09 2021 +0000 +Date: Tue Nov 2 22:57:27 2021 +0000 - upstream: openssh-7.4 was incorrectly listed twice; spotted by + upstream: crank SSH_SK_VERSION_MAJOR to match recent change in - Dmitry Belyavskiy, ok dtucker@ + usr/bin/ssh - OpenBSD-Commit-ID: 4b823ae448f6e899927ce7b04225ac9e489f58ef + OpenBSD-Regress-ID: 113d181c7e3305e138db9b688cdb8b0a0019e552 -commit 9136d6239ad7a4a293e0418a49b69e70c76d58b8 -Author: jmc@openbsd.org -Date: Thu Sep 9 06:17:39 2021 +0000 +commit f3c34df860c4c1ebddacb973954e58167d9dbade +Author: djm@openbsd.org +Date: Tue Nov 2 22:56:40 2021 +0000 - upstream: - move CAVEATS to its correct order - use the term + upstream: Better handle FIDO keys on tokens that provide user - "legacy" protocol rather than "original", as the latter made the text - misleading - uppercase SCP + verification (UV) on the device itself, including biometric keys. - ok djm + Query the token during key creation to determine whether it supports + on-token UV and, if so, clear the SSH_SK_USER_VERIFICATION_REQD flag + in the key so that ssh(1) doesn't automatically prompty for PIN later. - OpenBSD-Commit-ID: 8479255746d5fa76a358ee59e7340fecf4245ff0 - -commit 2d678c5e3bdc2f5c99f7af5122e9d054925d560d -Author: David Carlier -Date: Wed Sep 8 19:49:54 2021 +0100 - - Disable tracing on FreeBSD using procctl. + When making signatures with the key, query the token's capabilities + again and check whether the token is able (right now) to perform user- + verification without a PIN. If it is then the PIN prompt is bypassed + and user verification delegated to the token. If not (e.g. the token + is biometric capable, but no biometric are enrolled), then fall back + to user verification via the usual PIN prompt. - Placed at the start of platform_disable_tracing() to prevent declaration - after code errors from strict C89 compilers (in the unlikely event that - more than one method is enabled). + Work by Pedro Martelletto; ok myself and markus@ + + NB. cranks SSH_SK_VERSION_MAJOR + + OpenBSD-Commit-ID: e318a8c258d9833a0b7eb0236cdb68b5143b2f27 -commit 73050fa38fb36ae3326d768b574806352b97002d +commit 0328a081f38c09d2d4d650e94461a47fb5eef536 Author: djm@openbsd.org -Date: Wed Sep 8 23:31:39 2021 +0000 +Date: Fri Oct 29 03:03:06 2021 +0000 - upstream: Use the SFTP protocol by default. The original scp/rcp - - protocol remains available via the -O flag. + upstream: sshsig: add tests for signing key validity and - Note that ~user/ prefixed paths in SFTP mode require a protocol extension - that was first shipped in OpenSSH 8.7. + find-principals - ok deraadt, after baking in snaps for a while without incident + - adds generic find-principals tests (this command had none before) + - tests certs with a timeboxed validity both with and without a + restriced lifetime for the CA + - test for a revoked CA cert - OpenBSD-Commit-ID: 23588976e28c281ff5988da0848cb821fec9213c - -commit c4565e69ffa2485cff715aa842ea7a350296bfb6 -Author: Darren Tucker -Date: Wed Sep 8 21:09:49 2021 +1000 - - Really fix test on OpenSSL 1.1.1 stable. - -commit 79f1bb5f56cef3ae9276207316345b8309248478 -Author: Darren Tucker -Date: Wed Sep 8 18:51:39 2021 +1000 - - Correct OpenSSL 1.1.1 stable identifier. - -commit b6255593ed5ccbe5e7d3d4b26b2ad31ad4afc232 -Author: Darren Tucker -Date: Wed Sep 8 18:39:44 2021 +1000 - - Increment nfds when coming from startup_pipe. + by Fabian Stelzer - If we have to increase nfds because startup_pipe[0] is above any of the - descriptors passed in the fd_sets, we also need to add 1 to nfds since - select takes highest FD number plus one. bz#3345 from yaroslav.kuzmin - at vmssoftware.com. - -commit a3e92a6794817df6012ac8546aea19652cc91b61 -Author: Darren Tucker -Date: Wed Sep 8 13:45:10 2021 +1000 - - Tests for OpenSSL 3.0.0 release & 1.1.1 branch. + OpenBSD-Regress-ID: 9704b2c6df5b8ccfbdf2c06c5431f5f8cad280c9 -commit 4afe431da98ec1cf6a2933fe5658f4fd68dee9e2 +commit ccd358e1e25e25c13f0825996283cbf7a1647a3b Author: djm@openbsd.org -Date: Wed Sep 8 03:23:44 2021 +0000 +Date: Fri Oct 29 02:48:19 2021 +0000 - upstream: correct my mistake in previous fix; spotted by halex + upstream: avoid signedness warning; spotted in -portable - OpenBSD-Commit-ID: 3cc62d92e3f70006bf02468fc146bfc36fffa183 + OpenBSD-Regress-ID: 4cacc126086487c0ea7f3d86b42dec458cf0d0c6 -commit ca0e455b9331213ff9505a21b94c38e34faa2bba +commit 2741f52beb11490d7033a25e56ed0496f0c78006 Author: djm@openbsd.org -Date: Tue Sep 7 06:03:51 2021 +0000 +Date: Fri Oct 29 03:20:46 2021 +0000 - upstream: avoid NULL deref in -Y find-principals. Report and fix + upstream: ssh-keygen: make verify-time argument parsing optional - from Carlo Marcelo Arenas Belón - MIME-Version: 1.0 - Content-Type: text/plain; charset=UTF-8 - Content-Transfer-Encoding: 8bit + From Fabian Stelzer - OpenBSD-Commit-ID: 6238486f8ecc888d6ccafcd9ad99e621bb41f1e0 + OpenBSD-Commit-ID: 1ff35e4c366a45a073663df90381be6a8ef4d370 -commit 37616807f150fb46610bbd5031c31af4857ad1e9 -Author: millert@openbsd.org -Date: Mon Sep 6 00:36:01 2021 +0000 +commit a1217d363b88b32cfe54c4f02c6c1cf4bdefdd23 +Author: Damien Miller +Date: Fri Oct 29 13:48:34 2021 +1100 - upstream: revision 1.381 neglected to remove - - sChallengeResponseAuthentication from the enum. Noticed by - christos@zoulas.com. OK dtucker@ - - OpenBSD-Commit-ID: b533283a4dd6d04a867da411a4c7a8fbc90e34ff + unbreak fuzz harness for recent changes -commit 7acb3578cdfec0b3d34501408071f7a96c1684ea +commit 68e522ed8183587c9367fa3842c5b75f64f3d12b Author: Darren Tucker -Date: Sun Sep 5 20:45:42 2021 +1000 +Date: Fri Oct 29 13:32:24 2021 +1100 - Correct version_num for OpenSSL dev branch. + Use -Wbitwise-instead-of-logical if supported. -commit 65bb01111320dfd0d25e21e1fd4d3f2b77532669 -Author: Darren Tucker -Date: Sun Sep 5 19:37:39 2021 +1000 +commit be28b23012aa3fa323be7ec84863cf238927c078 +Author: Damien Miller +Date: Thu Oct 28 16:24:53 2021 +1100 - Test against OpenSSL 3 branch as well as dev. + use -Wmisleading-indentation cflag if available - Now that OpenSSL development has moved to 3.1, test against the most - recent version of the openssl-3.0 branch too. + ok dtucker@ -commit 864ed0d5e04a503b97202c776b7cf3f163f3eeaa -Author: Darren Tucker -Date: Sun Sep 5 19:33:22 2021 +1000 +commit 2e6f5f24dd2f9217f4ab8b737ed428d5d5278f91 +Author: Damien Miller +Date: Thu Oct 28 16:24:44 2021 +1100 - OpenSSL development is now 3.1.* + depend -commit a60209a586a928f92ab323bf23bd07f57093342e -Author: dtucker@openbsd.org -Date: Fri Sep 3 07:43:23 2021 +0000 +commit a5ab4882348d26addc9830a44e053238dfa2cb58 +Author: Damien Miller +Date: Thu May 6 10:08:30 2021 +1000 - upstream: Use .Cm instead of .Dq in StrictHostKeyChecking list for + remove built-in support for md5crypt() - consistency. Patch from scop via github PR#257, ok jmc@ + Users of MD5-hashed password should arrange for ./configure to link + against libxcrypt or similar. Though it would be better to avoid use + of MD5 password hashing entirely, it's arguably worse than DEScrypt. - OpenBSD-Commit-ID: 3652a91564570779431802c31224fb4a9cf39872 + feedback and ok dtucker@ -commit 8d1d9eb6de37331e872700e9e399a3190cca1242 -Author: dtucker@openbsd.org -Date: Fri Sep 3 07:27:03 2021 +0000 +commit c5de1fffa6328b8246b87da28fa9df05813f76a3 +Author: djm@openbsd.org +Date: Thu Oct 28 02:55:30 2021 +0000 - upstream: Mention using ssh -i for specifying the public key file - - in the case where the private key is loaded into ssh-agent but is not present - locally. Based on patch from rafork via github PR#215, ok jmc@ + upstream: increment SSH_SK_VERSION_MAJOR to match last change - OpenBSD-Commit-ID: 2282e83b0ff78d2efbe705883b67240745fa5bb2 + OpenBSD-Regress-ID: 17873814d1cbda97f49c8528d7b5ac9cadf6ddc0 -commit eb4362e5e3aa7ac26138b11e44d8c191910aff64 -Author: dtucker@openbsd.org -Date: Fri Sep 3 05:25:50 2021 +0000 +commit 0001d04e55802d5bd9d6dece1081a99aa4ba2828 +Author: djm@openbsd.org +Date: Thu Oct 28 02:54:18 2021 +0000 - upstream: Refer to KEX "algorithms" instead of "methods" to match - - other references and improve consistency. Patch from scop via github PR#241, - ok djm@ + upstream: When downloading resident keys from a FIDO token, pass - OpenBSD-Commit-ID: 840bc94ff6861b28d8603c8e8c16499bfb65e32c - -commit b3318946ce5725da43c4bf7eeea1b73129c47d2a -Author: dtucker@openbsd.org -Date: Fri Sep 3 05:12:25 2021 +0000 - - upstream: Remove redundant attrib_clear in upload_dir_internal. + back the user ID that was used when the key was created and append it to the + filename the key is written to (if it is not the default). - The subsequent call to stat_to_attrib clears the struct as its first step - anyway. From pmeinhardt via github PR#220, ok djm@ + Avoids keys being clobbered if the user created multiple + resident keys with the same application string but different + user IDs. - OpenBSD-Commit-ID: f5234fc6d7425b607e179acb3383f21716f3029e - -commit 7cc3fe28896e653956a6a2eed0a25d551b83a029 -Author: dtucker@openbsd.org -Date: Fri Sep 3 04:11:13 2021 +0000 - - upstream: Add test for client termination status on signal. + feedback Pedro Martelletto; ok markus - Based on patch from Alexxz via github PR#235 with some tweaks, to - match patch in bz#3281. + NB. increments SSH_SK_VERSION_MAJOR - OpenBSD-Regress-ID: d87c7446fb8b5f8b45894fbbd6875df326e729e2 + OpenBSD-Commit-ID: dbd658b5950f583106d945641a634bc6562dd3a3 -commit 5428b0d239f6b516c81d1dd15aa9fe9e60af75d4 +commit d4bed5445646e605c383a4374fa962e23bf9e3a3 Author: deraadt@openbsd.org -Date: Thu Sep 2 21:03:54 2021 +0000 +Date: Sun Oct 24 21:24:17 2021 +0000 - upstream: sys/param.h is not needed for any visible reason + upstream: For open/openat, if the flags parameter does not contain + + O_CREAT, the 3rd (variadic) mode_t parameter is irrelevant. Many developers + in the past have passed mode_t (0, 044, 0644, or such), which might lead + future people to copy this broken idiom, and perhaps even believe this + parameter has some meaning or implication or application. Delete them all. + This comes out of a conversation where tb@ noticed that a strange (but + intentional) pledge behaviour is to always knock-out high-bits from mode_t on + a number of system calls as a safety factor, and his bewilderment that this + appeared to be happening against valid modes (at least visually), but no + sorry, they are all irrelevant junk. They could all be 0xdeafbeef. ok + millert - OpenBSD-Commit-ID: 8bdea2d0c75692e4c5777670ac039d4b01c1f368 + OpenBSD-Commit-ID: 503d11633497115688c0c6952686524f01f53121 -commit 1ff38f34b4c4545eb28106629cafa1e0496bc726 -Author: Shchelkunov Artem -Date: Wed Aug 11 18:07:58 2021 +0500 +commit d575cf44895104e0fcb0629920fb645207218129 +Author: Darren Tucker +Date: Fri Oct 22 23:27:41 2021 +1100 - Fix memory leak in error path. - - *info is allocated via xstrdup but was leaked in the PAM_AUTH_ERR path. - From github PR#266. + kitchensink test target now needs krb5. -commit cb37e2f0c0ca4fef844ed7edc5d0e3b7d0e83f6a -Author: dtucker@openbsd.org -Date: Wed Sep 1 03:16:06 2021 +0000 +commit 4ae39cada214e955bcfd3448ff28f0ed18886706 +Author: Darren Tucker +Date: Fri Oct 22 22:54:33 2021 +1100 - upstream: Fix ssh-rsa fallback for old PuTTY interop tests. - - OpenBSD-Regress-ID: a19ac929da604843a5b5f0f48d2c0eb6e0773d37 + Test both MIT KRB5 and Heimdal. -commit 8b02ef0f28dc24cda8cbcd8b7eb02bda8f8bbe59 +commit 22b2681d88619e5247dc53c9f112058a7e248d48 Author: dtucker@openbsd.org -Date: Wed Sep 1 00:50:27 2021 +0000 +Date: Fri Oct 22 10:51:57 2021 +0000 - upstream: Add a function to skip remaining tests. + upstream: Plug mem addrinfo mem leaks. - Many tests skip tests for various reasons but not in a consistent way and - don't always clean up, so add that and switch the tests that do that over. + Prevent mem leaks in the (unlikely) event that getaddrinfo returns + no addresses. ALso, remove an unneeded NULL check in addr_ntop. From + khaleesicodes via github PR#281, ok deraadt@ - OpenBSD-Regress-ID: 72d2ec90a3ee8849486956a808811734281af735 + OpenBSD-Commit-ID: e8a5afc686376637c355c5f7e122dc4b080b9c1a -commit d486845c07324c04240f1674ac513985bd356f66 +commit 27c8c343b610263f83ac2328735feeb881c6c92f Author: dtucker@openbsd.org -Date: Tue Aug 31 07:13:59 2021 +0000 +Date: Fri Oct 22 09:22:04 2021 +0000 - upstream: Specify path to PuTTY keys. + upstream: Remove unnecessary semicolons - Portable needs this and it makes no difference on OpenBSD, so resync - them. (Id sync only, Portable already had this.) + ... in case statements. From khaleesicodes via github PR#280. - OpenBSD-Regress-ID: 33f6f66744455886d148527af8368811e4264162 + OpenBSD-Commit-ID: e1e89360b65775cff83e77ce040b342015caf4ed -commit d22b299115e27606e846b23490746f69fdd4fb38 +commit e7eb73b8d1fe1008d92433ea949491ce654bfaba Author: dtucker@openbsd.org -Date: Tue Aug 31 06:13:23 2021 +0000 +Date: Fri Oct 22 09:19:34 2021 +0000 - upstream: Better compat tests with old PuTTY. + upstream: Fix typos in comments. - When running PuTTY interop tests and using a PuTTY version older than - 0.76, re-enable the ssh-rsa host key algorithm (the 256 and 512 variants - of RSA were added some time between 0.73 and 0.76). + From khaleesicodes via github PR#280. - OpenBSD-Regress-ID: e6138d6987aa705fa1e4f216db0bb386e1ff38e1 + OpenBSD-Commit-ID: 26fdd83652c40f098bf7c685e8ebb9eb72cc45fc -commit 87ad70d605c3e39c9b8aa275db27120d7cc09b77 -Author: Darren Tucker -Date: Tue Aug 31 17:04:50 2021 +1000 +commit 052a9d8494175e24312daa6c132665e58c17fe6e +Author: deraadt@openbsd.org +Date: Fri Oct 15 14:46:46 2021 +0000 - Resync PuTTY interop tests. + upstream: switch scp(1) back to sftp protocol. - Resync behaviour when REGRESS_INTEROP_PUTTY is not set with OpenBSD. + openbsd 7.0 release shipped with the (hopefully last) scp that uses RCP + protocol for copying. Let's get back to testing the SFTP protocol. + + OpenBSD-Commit-ID: 9eaa35d95fd547b78b0a043b3f518e135f151f30 -commit e47b82a7bf51021afac218bf59a3be121827653d -Author: dtucker@openbsd.org -Date: Tue Aug 31 01:25:27 2021 +0000 +commit a07664646bf6d293f5bbd45a5de54f3c36bb85da +Author: Darren Tucker +Date: Fri Oct 22 14:00:05 2021 +1100 - upstream: Specify hostkeyalgorithms in SSHFP test. - - Specify host key algorithms in sshd's default set for the SSHFP test, - from djm@. Make the reason for when the test is skipped a bit clearer. - - OpenBSD-Regress-ID: 4f923dfc761480d5411de17ea6f0b30de3e32cea + Source configs script so setup_ci can use settings -commit 7db3e0a9e8477c018757b59ee955f7372c0b55fb -Author: djm@openbsd.org -Date: Mon Aug 30 01:15:45 2021 +0000 +commit 34df52c201c6b47e5a46b50c215e4d98a8bf6587 +Author: Darren Tucker +Date: Fri Oct 22 09:42:14 2021 +1100 - upstream: adapt to RSA/SHA1 deprectation - - OpenBSD-Regress-ID: 952397c39a22722880e4de9d1c50bb1a14f907bb + Install libedit and pam based on config flags. -commit 2344750250247111a6c3c6a4fe84ed583a61cc11 -Author: djm@openbsd.org -Date: Sun Aug 29 23:53:10 2021 +0000 +commit 8c626cc563e8d21d844d06f9971a9ee01de6aa2a +Author: Darren Tucker +Date: Thu Oct 21 16:53:39 2021 +1100 - upstream: After years of forewarning, disable the RSA/SHA-1 - - signature algorithm by default. It is feasible to create colliding SHA1 - hashes, so we need to deprecate its use. - - RSA/SHA-256/512 remains available and will be transparently selected - instead of RSA/SHA1 for most SSH servers released in the last five+ - years. There is no need to regenerate RSA keys. - - The use of RSA/SHA1 can be re-enabled by adding "ssh-rsa" to the - PubkeyAcceptedAlgorithms directives on the client and server. - - ok dtucker deraadt - - OpenBSD-Commit-ID: 189bcc4789c7254e09e23734bdd5def8354ff1d5 + Don't use 'here string", it's not POSIX. -commit 56c4455d3b54b7d481c77c82115c830b9c8ce328 -Author: djm@openbsd.org -Date: Sun Aug 29 23:44:07 2021 +0000 +commit 086a4b5977472aefa3de918b88efad0faf83b2b1 +Author: Darren Tucker +Date: Thu Oct 21 15:33:27 2021 +1100 - upstream: wrap at 80 columns - - OpenBSD-Commit-ID: 47ca2286d6b52a9747f34da16d742879e1a37bf0 + Remove -Werror from compiler package to install. -commit 95401eea8503943449f712e5f3de52fc0bc612c5 +commit 5a7a4687507d057f9b5e7497f3d3f82e64753c02 Author: Darren Tucker -Date: Fri Aug 20 18:14:13 2021 +1000 +Date: Thu Oct 21 15:00:53 2021 +1100 - Replace shell function with ssh-keygen -A. - - Prevents the init script in the SysV package from trying (and failing) - to generate unsupported key types. Remove now-unused COMMENT_OUT_ECC. - ok tim@ + Build with -Werror on most recent gcc and clang. -commit d83ec9ed995a76ed1d5c65cf10b447222ec86131 +commit 4d2cbdb525d673acf941d48a7044fcf03125611a Author: Darren Tucker -Date: Fri Aug 20 15:39:05 2021 +1000 +Date: Fri Oct 15 12:59:06 2021 +1100 - Remove obsolete Redhat PAM config and init script. + Include string.h and stdio.h for strerror. -commit e1a596186c81e65a34ce13076449712d3bf97eb4 -Author: Damien Miller -Date: Fri Aug 20 14:03:49 2021 +1000 +commit fff13aaa262b7b3ec83ed21e29674cbf331780a7 +Author: Darren Tucker +Date: Fri Oct 15 12:43:36 2021 +1100 - depend + Include error reason if trace disabling fails. -commit 5450606c8f7f7a0d70211cea78bc2dab74ab35d1 -Author: Damien Miller -Date: Fri Aug 20 13:59:43 2021 +1000 +commit d4b38144c02f3faa5271e5fb35df93507e06f1b4 +Author: Darren Tucker +Date: Tue Oct 12 22:55:51 2021 +1100 - update version numbers + Add tcmalloc test target. -commit feee2384ab8d694c770b7750cfa76a512bdf8246 -Author: djm@openbsd.org -Date: Fri Aug 20 03:22:55 2021 +0000 +commit 002d65b0a30063c6e49bf8a53e709d8d5a0d45c1 +Author: dtucker@openbsd.org +Date: Sat Oct 9 10:52:42 2021 +0000 - upstream: openssh-8.7 + upstream: Document that CASignatureAlgorithms, ExposeAuthInfo and - OpenBSD-Commit-ID: 8769dff0fd76ae3193d77bf83b439adee0f300cd + PubkeyAuthOptions can be used in a Match block. Patch from eehakkin via + github PR#277. + + OpenBSD-Commit-ID: c0a63f5f52e918645967ac022b28392da4b866aa -commit 9a2ed62173cc551b2b5f479460bb015b19499de8 +commit 40bd3709dddaae3a1b6113748bec3faa6a607531 Author: Darren Tucker -Date: Fri Aug 20 10:48:13 2021 +1000 +Date: Thu Oct 7 15:55:49 2021 +1100 - Also check pid in pselect_notify_setup. + Skip SK unit tests when built without security-key + +commit 482f73be10f10b93f818df19fcc8a912c0c371fc +Author: Darren Tucker +Date: Thu Oct 7 15:55:04 2021 +1100 + + Include relevant env vars on command line. - Spotted by djm@. + Makes it easier to reproduce a build by cut/pasting the configure line. -commit deaadcb93ca15d4f38aa38fb340156077792ce87 +commit ef5916b8acd9b1d2f39fad4951dae03b00dbe390 Author: Darren Tucker -Date: Fri Aug 20 08:39:33 2021 +1000 +Date: Thu Oct 7 14:28:02 2021 +1100 - Prefix pselect functions to clarify debug messages + Only enable sk-* key types if ENABLE_SK is defined -commit 10e45654cff221ca60fd35ee069df67208fcf415 +commit 52d4232b493a9858fe616e28a8bbcc89afa2ad4d Author: Darren Tucker -Date: Fri Aug 20 08:30:42 2021 +1000 +Date: Wed Oct 6 18:14:37 2021 +1100 - Fix race in pselect replacement code. - - On the second and subsequent calls to pselect the notify_pipe was not - added to the select readset, opening up a race that om G. Christensen - discovered on multiprocessor Solaris <=9 systems. + Disable security key on minix3. - Also reinitialize notify_pipe if the pid changes. This will prevent a - parent and child from using the same FD, although this is not an issue - in the current structure it might be in future. + The test doesn't work so disable. -commit 464ba22f1e38d25402e5ec79a9b8d34a32df5a3f +commit 7cd062c3a29669b8d7dc2a97e6575f4dcb7d35a2 Author: Darren Tucker -Date: Wed Aug 18 12:51:30 2021 +1000 +Date: Wed Oct 6 17:45:28 2021 +1100 - Check compiler for c99 declarations after code. - - The sntrup761 reference code contains c99-style declarations after code - so don't try to build that if the compiler doesn't support it. + Add USE_LIBC_SHA2 for (at least) NetBSD 9. -commit 7d878679a4b155a359d32104ff473f789501748d +commit 639c440f6c3c2a8216a5eb9455ef13bf4204089c Author: Darren Tucker -Date: Tue Aug 17 15:12:04 2021 +1000 +Date: Wed Oct 6 17:09:31 2021 +1100 - Remove trailing backslash on regress-unit-binaries + Define OPENSSL_NO_SHA including OpenSSL from test. + + We don't use SHA256 from OpenSSL in the sk-dummy module and the + definitions can conflict with system sha2.h (eg on NetBSD) so define + OPENSSL_NO_SHA so we don't attempt to redefine them. -commit b71b2508f17c68c5d9dbbe537686d81cedb9a781 +commit 8f4be526a338d06624f146fa26007bb9dd3a4f7b Author: Darren Tucker -Date: Tue Aug 17 07:59:27 2021 +1000 +Date: Wed Oct 6 15:40:58 2021 +1100 + + Disable security key on NetBSD4 test. + + sk-dummy used for the security key test includes both sha2.h and OpenSSL + causing the definitions conflict so disable security key support on this + platform. + +commit 3b353ae58aa07a1cbbeb1da3ace21fc0dcccd66a +Author: Damien Miller +Date: Wed Oct 6 15:07:01 2021 +1100 + + clean regress/misc/sk-dummy in cleandir target + +commit 57680a2ab43518c5ccbd8242c40482106cde6ac1 +Author: dtucker@openbsd.org +Date: Sat Oct 2 03:17:01 2021 +0000 + + upstream: Dynamically allocate encoded HashKnownHosts and free as + + appropriate. Saves 1k of static storage and prevents snprintf "possible + truncation" warnings from newer compilers (although in this case it's false + positive since the actual sizes are limited by the output size of the SHA1). + ok djm@ + + OpenBSD-Commit-ID: e254ae723f7e3dce352c7d5abc4b6d87faf61bf4 + +commit e3e62deb549fde215b777d95276c304f84bf00c6 +Author: djm@openbsd.org +Date: Wed Oct 6 03:35:13 2021 +0000 - Put stdint.h inside HAVE_STDINT_H. + upstream: use libc SHA256 functions; make this work when compiled - From Tom G. Christensen. + !WITH_OPENSSL + + OpenBSD-Regress-ID: fda0764c1097cd42f979ace29b07eb3481259890 -commit 6a24567a29bd7b4ab64e1afad859ea845cbc6b8c -Author: Darren Tucker -Date: Mon Aug 16 14:13:02 2021 +1000 +commit 12937d867019469ebce83c2ff614cdc6688fc2d8 +Author: dtucker@openbsd.org +Date: Fri Oct 1 05:20:20 2021 +0000 - Improve github test driver script. + upstream: Add test for ssh hashed known_hosts handling. - - use a trap to always output any failed regress logs (since the script - sets -e, the existing log output is never invoked). - - pass LTESTS and SKIP_LTESTS when re-running with sshd options (eg. - UsePAM). + OpenBSD-Regress-ID: bcef3b3cd5a1ad9899327b4b2183de2541aaf9cf -commit b467cf13705f59ed348b620722ac098fe31879b7 -Author: Darren Tucker -Date: Mon Aug 16 11:32:23 2021 +1000 +commit 5a37cc118f464416d08cd0291a9b1611d8de9943 +Author: Damien Miller +Date: Wed Oct 6 13:16:21 2021 +1100 - Remove deprecated ubuntu-16.04 test targets. + fix broken OPENSSL_HAS_ECC test - Github has deprecated ubuntu-16.04 and it will be removed on 20 - September. + spotted by dtucker -commit 20e6eefcdf78394f05e453d456c1212ffaa6b6a4 -Author: Darren Tucker -Date: Sun Aug 15 23:25:26 2021 +1000 +commit 16a25414f303cd6790eb967aeb962040e32c9c7a +Author: Damien Miller +Date: Fri Oct 1 22:40:06 2021 +1000 - Skip agent ptrace test on hurd. + make sk-dummy.so work without libcrypto installed -commit 7c9115bbbf958fbf85259a061c1122e2d046aabf -Author: Darren Tucker -Date: Sun Aug 15 19:37:22 2021 +1000 +commit dee22129bbc61e25b1003adfa2bc584c5406ef2d +Author: Damien Miller +Date: Fri Oct 1 16:35:49 2021 +1000 - Add hurd test target. + make OPENSSL_HAS_ECC checks more thorough + + ok dtucker -commit 7909a566f6c6a78fcd30708dc49f4e4f9bb80ce3 -Author: Darren Tucker -Date: Sun Aug 15 12:45:10 2021 +1000 +commit 872595572b6c9a584ed754165e8b7c4c9e7e1d61 +Author: Damien Miller +Date: Fri Oct 1 16:35:05 2021 +1000 - Skip scp3 tests on all dfly58 and 60 configs. + fix FIDO key support for !OPENSSL_HAS_ECC case + + ok dtucker -commit e65198e52cb03534e8c846d1bca74c310b1526de -Author: Tim Rice -Date: Sat Aug 14 13:08:07 2021 -0700 +commit 489741dc68366940d369ac670b210b4834a6c272 +Author: Damien Miller +Date: Fri Oct 1 14:51:37 2021 +1000 - openbsd-compat/openbsd-compat.h: put bsd-signal.h before bsd-misc.h - to get sigset_t from signal.h needed for the pselect replacement. + enable security key support for --without-openssl -commit e50635640f79920d9375e0155cb3f4adb870eee5 -Author: Darren Tucker -Date: Fri Aug 13 13:21:00 2021 +1000 +commit c978565c8589acfe4ea37ab5099d39c84158c713 +Author: Damien Miller +Date: Fri Oct 1 13:27:50 2021 +1000 - Test OpenSSH from OpenBSD head on 6.8 and 6.9. + need stdlib.h for free(3) -commit e0ba38861c490c680117b7fe0a1d61a181cd00e7 -Author: Darren Tucker -Date: Fri Aug 13 13:00:14 2021 +1000 +commit 76a398edfb51951b2d65d522d7b02c72304db300 +Author: dtucker@openbsd.org +Date: Thu Sep 30 05:26:26 2021 +0000 - Skip scp3 test on dragonfly 58 and 60. + upstream: Fix up whitespace left by previous - The tests hang, so skip until we figure them out. + change removing privsep. No other changes. + + OpenBSD-Regress-ID: 87adec225d8afaee4d6a91b2b71203f52bf14b15 -commit dcce2a2bcf007bf817a2fb0dce3db83fa9201e92 -Author: djm@openbsd.org -Date: Thu Aug 12 23:59:25 2021 +0000 +commit ddcb53b7a7b29be65d57562302b2d5f41733e8dd +Author: dtucker@openbsd.org +Date: Thu Sep 30 05:20:08 2021 +0000 - upstream: mention that CASignatureAlgorithms accepts +/- similarly to + upstream: Remove references to privsep. - the other algorithm list directives; ok jmc bz#3335 + This removes several do..while loops but does not change the + indentation of the now-shallower loops, which will be done in a separate + whitespace-only commit to keep changes of style and substance separate. - OpenBSD-Commit-ID: 0d46b53995817052c78e2dce9dbd133963b073d9 + OpenBSD-Regress-ID: 4bed1a0249df7b4a87c965066ce689e79472a8f7 -commit 090a82486e5d7a8f7f16613d67e66a673a40367f -Author: schwarze@openbsd.org -Date: Thu Aug 12 09:59:00 2021 +0000 +commit ece2fbe486164860de8df3f8b943cccca3085eff +Author: dtucker@openbsd.org +Date: Thu Sep 30 04:22:50 2021 +0000 - upstream: In the editline(3) branch of the sftp(1) event loop, - - handle SIGINT rather than ignoring it, such that the user can use Ctrl-C to - discard the currently edited command line and get a fresh prompt, just like - in ftp(1), bc(1), and in shells. - - It is critical to not use ssl_signal() for this particular case - because that function unconditionally sets SA_RESTART, but here we - need the signal to interrupt the read(2) in the el_gets(3) event loop. + upstream: Use "skip" instead of "fatal" - OK dtucker@ deraadt@ + if SUDO isn't set for the *-command tests. This means running "make tests" + without SUDO set will perform all of the tests that it can instead of + failing on the ones it cannot run. - OpenBSD-Commit-ID: 8025115a773f52e9bb562eaab37ea2e021cc7299 + OpenBSD-Regress-ID: bd4dbbb02f34b2e8c890558ad4a696248def763a -commit e1371e4f58404d6411d9f95eb774b444cea06a26 -Author: naddy@openbsd.org -Date: Wed Aug 11 14:07:54 2021 +0000 +commit bb754b470c360e787a99fb4e88e2668198e97b41 +Author: djm@openbsd.org +Date: Fri Oct 1 04:50:36 2021 +0000 - upstream: scp: tweak man page and error message for -3 by default - - Now that the -3 option is enabled by default, flip the documentation - and error message logic from "requires -3" to "blocked by -R". + upstream: unbreak FIDO sk-ed25519 key enrollment for OPENSSL=no builds; - ok djm@ + ok dtucker@ - OpenBSD-Commit-ID: a872592118444fb3acda5267b2a8c3d4c4252020 + OpenBSD-Commit-ID: 6323a5241728626cbb2bf0452cf6a5bcbd7ff709 -commit 49f46f6d77328a3d10a758522b670a3e8c2235e7 -Author: naddy@openbsd.org -Date: Wed Aug 11 14:05:19 2021 +0000 +commit 207648d7a6415dc915260ca75850404dbf9f0a0b +Author: Darren Tucker +Date: Wed Sep 29 20:03:58 2021 +1000 - upstream: scp: do not spawn ssh with two -s flags for - - remote-to-remote copies - - Do not add another "-s" to the argument vector every time an SFTP - connection is initiated. Instead, introduce a subsystem flag to - do_cmd() and add "-s" when the flag is set. - - ok djm@ - - OpenBSD-Commit-ID: 25df69759f323661d31b2e1e790faa22e27966c1 + Include stdlib.h for arc4random_uniform prototype. -commit 2a2cd00783e1da45ee730b7f453408af1358ef5b -Author: djm@openbsd.org -Date: Wed Aug 11 08:55:04 2021 +0000 +commit 696aadc854582c164d5fc04933d2f3e212dc0e06 +Author: Darren Tucker +Date: Wed Sep 29 20:00:30 2021 +1000 - upstream: test -Oprint-pubkey - - OpenBSD-Regress-ID: 3d51afb6d1f287975fb6fddd7a2c00a3bc5094e0 + Look for clang after cc and gcc. -commit b9f4635ea5bc33ed5ebbacf332d79bae463b0f54 -Author: djm@openbsd.org -Date: Wed Aug 11 08:54:17 2021 +0000 +commit a3c6375555026d85dbf811fab566b9f76f196144 +Author: Darren Tucker +Date: Wed Sep 29 19:30:59 2021 +1000 - upstream: when verifying sshsig signatures, support an option - - (-Oprint-pubkey) to dump the full public key to stdout; based on patch from - Fabian Stelzer; ok markus@ + Use backticks instead of $(..) for portability. - OpenBSD-Commit-ID: 0598000e5b9adfb45d42afa76ff80daaa12fc3e2 + Older shells (eg /bin/sh on Solaris 10) don't support $() syntax. -commit 750c1a45ba4e8ad63793d49418a0780e77947b9b -Author: djm@openbsd.org -Date: Wed Aug 11 05:21:32 2021 +0000 +commit 958aaa0387133d51f84fe9c8f30bca03025f2867 +Author: Darren Tucker +Date: Wed Sep 29 18:53:32 2021 +1000 - upstream: oops, missed one more %p + Skip file-based tests by default on Mac OS. - OpenBSD-Commit-ID: e7e62818d1564cc5cd9086eaf7a51cbd1a9701eb + The file-based tests need OpenSSL so skip them. -commit b5aa27b69ab2e1c13ac2b5ad3f8f7d389bad7489 -Author: djm@openbsd.org -Date: Wed Aug 11 05:20:17 2021 +0000 +commit 55c8bdf6e9afb0f9fa8e4f10c25c7f0081b48fd0 +Author: Darren Tucker +Date: Wed Sep 29 18:42:47 2021 +1000 - upstream: remove a bunch of %p in format strings; leftovers of - - debuggings past. prompted by Michael Forney, ok dtucker@ + Build without OpenSSL on Mac OS. - OpenBSD-Commit-ID: 4853a0d6c9cecaba9ecfcc19066e52d3a8dcb2ac + Modern versions don't ship enough libcrypto to build against. -commit 419aa01123db5ff5dbc68b2376ef23b222862338 +commit c9172193ea975415facf0afb356d87df21535f88 Author: Darren Tucker -Date: Wed Aug 11 09:21:09 2021 +1000 +Date: Wed Sep 29 18:33:38 2021 +1000 - Add includes.h to compat tests. + Remove TEST_SSH_ECC. - On platforms where closefrom returns void (eg glibc>=2.34) the prototype - for closefrom in its compat tests would cause compile errors. Remove - this and have the tests pull in the compat headers in the same way as - the main code. bz#3336. + Convert the only remaining user of it to runtime detection using ssh -Q. -commit 931f592f26239154eea3eb35a086585897b1a185 -Author: djm@openbsd.org -Date: Tue Aug 10 03:35:45 2021 +0000 +commit 5e6d28b7874b0deae95d2c68947c45212d32e599 +Author: Darren Tucker +Date: Wed Sep 29 17:48:09 2021 +1000 - upstream: adapt to scp -M flag change; make scp3.sh test SFTP mode too - - OpenBSD-Regress-ID: 43fea26704a0f0b962b53c1fabcb68179638f9c0 + Split c89 test openssl setting out. -commit 391ca67fb978252c48d20c910553f803f988bd37 -Author: djm@openbsd.org -Date: Tue Aug 10 03:33:34 2021 +0000 +commit c4ac7f98e230e83c015678dc958b1ffe828564ad +Author: Darren Tucker +Date: Wed Sep 29 17:40:50 2021 +1000 - upstream: Prepare for a future where scp(1) uses the SFTP protocol by - - default. Replace recently added -M option to select the protocol with -O - (olde) and -s (SFTP) flags, and label the -s flag with a clear warning that - it will be removed in the near future (so no, don't use it in scripts!). - - prompted by/feedback from deraadt@ + Expand TEST_SHELL consistently with other vars. + +commit cfe5f7b0eb7621bfb0a756222de0431315c2ab8b +Author: Darren Tucker +Date: Wed Sep 29 17:26:50 2021 +1000 + + Replace `pwd` with make variable in regress cmd. + +commit 899be59da5fbc3372444bd0fbe74af48313bed33 +Author: Darren Tucker +Date: Wed Sep 29 17:14:33 2021 +1000 + + Get BUILDDIR from autoconf. - OpenBSD-Commit-ID: 92ad72cc6f0023c9be9e316d8b30eb6d8d749cfc + Use this to replace `pwd`s in regress test command line. + +commit c8d92d3d4f7d560146f2f936156ec4dac3fc5811 +Author: Darren Tucker +Date: Wed Sep 29 13:28:56 2021 +1000 -commit bfdd4b722f124a4fa9173d20dd64dd0fc69856be -Author: djm@openbsd.org -Date: Mon Aug 9 23:56:36 2021 +0000 + Add make clean step to tests. - upstream: make scp -3 the default for remote-to-remote copies. It - - provides a much better and more intuitive user experience and doesn't require - exposing credentials to the source host. - - thanks naddy@ for catching the missing argument in usage() - - "Yes please!" - markus@ - "makes a lot of sense" - deraadt@ - "the right thing to do" - dtucker@ - - OpenBSD-Commit-ID: d0d2af5f0965c5192ba5b2fa461c9f9b130e5dd9 +commit 360fb41ef8359619ab90b0d131c914494e55d3dd +Author: Darren Tucker +Date: Wed Sep 29 11:36:13 2021 +1000 -commit 2f7a3b51cef689ad9e93d0c6c17db5a194eb5555 + Test all available clang and gcc versions. + +commit 4fb49899d7da22952d35a4bc4c9bdb2311087893 Author: djm@openbsd.org -Date: Mon Aug 9 23:49:31 2021 +0000 +Date: Wed Sep 29 01:32:21 2021 +0000 - upstream: make scp in SFTP mode try to use relative paths as much + upstream: Test certificate hostkeys held in ssh-agent too. Would have - as possible. Previosuly, it would try to make relative and ~/-rooted paths - absolute before requesting transfers. + caught regression fixed in sshd r1.575 - prompted by and much discussion deraadt@ ok markus@ - OpenBSD-Commit-ID: 46639d382ea99546a4914b545fa7b00fa1be5566 + OpenBSD-Regress-ID: 1f164d7bd89f83762db823eec4ddf2d2556145ed -commit 2ab864010e0a93c5dd95116fb5ceaf430e2fc23c +commit ce4854e12e749a05646e5775e9deb8cfaf49a755 Author: djm@openbsd.org -Date: Mon Aug 9 23:47:44 2021 +0000 +Date: Wed Sep 29 01:33:32 2021 +0000 - upstream: SFTP protocol extension to allow the server to expand - - ~-prefixed paths, in particular ~user ones. Allows scp in sftp mode to accept - these paths, like scp in rcp mode does. + upstream: add some debug output showing how many key file/command lines - prompted by and much discussion deraadt@ - ok markus@ + were processed. Useful to see whether a file or command actually has keys + present - OpenBSD-Commit-ID: 7d794def9e4de348e1e777f6030fc9bafdfff392 + OpenBSD-Commit-ID: 0bd9ff94e84e03a22df8e6c12f6074a95d27f23c -commit 41b019ac067f1d1f7d99914d0ffee4d2a547c3d8 -Author: djm@openbsd.org -Date: Mon Aug 9 23:44:32 2021 +0000 +commit 15abdd523501c349b703d9a27e2bb4252ad921ef +Author: dtucker@openbsd.org +Date: Tue Sep 28 11:14:50 2021 +0000 - upstream: when scp is in SFTP mode, try to deal better with ~ - - prefixed paths. ~user paths aren't supported, but ~/ paths will be accepted - and prefixed with the SFTP server starting directory (more to come) + upstream: Make prototype for rijndaelEncrypt match function - prompted by and discussed with deraadt@ - ok markus@ + including the bounds. Fixes error in portable where GCC>=11 takes notice of + the bounds. ok deraadt@ - OpenBSD-Commit-ID: 263a071f14555c045fd03132a8fb6cbd983df00d + OpenBSD-Commit-ID: cdd2f05fd1549e1786a70871e513cf9e9cf099a6 -commit b4b3f3da6cdceb3fd168b5fab69d11fba73bd0ae -Author: djm@openbsd.org -Date: Mon Aug 9 07:21:01 2021 +0000 +commit d1d29ea1d1ef1a1a54b209f062ec1dcc8399cf03 +Author: dtucker@openbsd.org +Date: Tue Sep 28 11:10:05 2021 +0000 - upstream: on fatal errors, make scp wait for ssh connection before - - exiting avoids LogLevel=verbose (or greater) messages from ssh appearing - after scp has returned exited and control has returned to the shell; ok - markus@ - - (this was originally committed as r1.223 along with unrelated stuff that - I rolled back in r1.224) + upstream: Import regenerated moduli. - OpenBSD-Commit-ID: 1261fd667ad918484889ed3d7aec074f3956a74b + OpenBSD-Commit-ID: 4bec5db13b736b64b06a0fca704cbecc2874c8e1 -commit 2ae7771749e0b4cecb107f9d4860bec16c3f4245 -Author: djm@openbsd.org -Date: Mon Aug 9 07:19:12 2021 +0000 +commit 39f2111b1d5f00206446257377dcce58cc72369f +Author: Darren Tucker +Date: Wed Sep 29 10:53:55 2021 +1000 - upstream: rever r1.223 - I accidentally committed unrelated changes + Add new compiler hardening flags. - OpenBSD-Commit-ID: fb73f3865b2647a27dd94db73d6589506a9625f9 + Add -fzero-call-used-regs and -ftrivial-auto-var-init to the list of + compiler hardening flags that configure checks for. These are supported + by clang and gcc, and make ROP gadgets less useful and mitigate + stack-based infoleaks respectively. ok djm@ -commit 986abe94d481a1e82a01747360bd767b96b41eda +commit bf944e3794eff5413f2df1ef37cddf96918c6bde +Author: Damien Miller +Date: Mon Sep 27 00:03:19 2021 +1000 + + initgroups needs grp.h + +commit 8c5b5655149bd76ea21026d7fe73ab387dbc3bc7 Author: djm@openbsd.org -Date: Mon Aug 9 07:16:09 2021 +0000 +Date: Sun Sep 26 14:01:11 2021 +0000 - upstream: show only the final path component in the progress meter; - - more useful with long paths (that may truncate) and better matches - traditional scp behaviour; spotted by naddy@ ok deraadt@ + upstream: openssh-8.8 - OpenBSD-Commit-ID: 26b544d0074f03ebb8a3ebce42317d8d7ee291a3 + OpenBSD-Commit-ID: 12357794602ac979eb7312a1fb190c453f492ec4 -commit 2b67932bb3176dee4fd447af4368789e04a82b93 +commit f3cbe43e28fe71427d41cfe3a17125b972710455 Author: djm@openbsd.org -Date: Mon Aug 9 07:13:54 2021 +0000 +Date: Sun Sep 26 14:01:03 2021 +0000 - upstream: on fatal errors, make scp wait for ssh connection before + upstream: need initgroups() before setresgid(); reported by anton@, - exiting avoids LogLevel=verbose (or greater) messages from ssh appearing - after scp has returned exited and control has returned to the shell; ok - markus@ + ok deraadt@ - OpenBSD-Commit-ID: ef9dab5ef5ae54a6a4c3b15d380568e94263456c + OpenBSD-Commit-ID: 6aa003ee658b316960d94078f2a16edbc25087ce -commit 724eb900ace30661d45db2ba01d0f924d95ecccb -Author: dtucker@openbsd.org -Date: Sun Aug 8 08:49:09 2021 +0000 +commit 8acaff41f7518be40774c626334157b1b1c5583c +Author: Damien Miller +Date: Sun Sep 26 22:16:36 2021 +1000 - upstream: xstrdup environment variable used by ForwardAgent. bz#3328 + update version numbers for release + +commit d39039ddc0010baa91c70a0fa0753a2699bbf435 +Author: kn@openbsd.org +Date: Sat Sep 25 09:40:33 2021 +0000 + + upstream: RSA/SHA-1 is not used by default anymore - from goetze at dovetail.com, ok djm@ deraadt@ + OK dtucker deraadt djm - OpenBSD-Commit-ID: 760320dac1c3b26904284ba417a7d63fccc5e742 + OpenBSD-Commit-ID: 055c51a221c3f099dd75c95362f902da1b8678c6 -commit 86b4cb3a884846b358305aad17a6ef53045fa41f -Author: dtucker@openbsd.org -Date: Sun Aug 8 08:27:28 2021 +0000 +commit 9b2ee74e3aa8c461eb5552a6ebf260449bb06f7e +Author: Darren Tucker +Date: Fri Sep 24 11:08:03 2021 +1000 - upstream: Although it's POSIX, not all shells used in Portable support - - the implicit 'in "$@"' after 'for i'. + Move the fgrep replacement to hostkey-rotate.sh. - OpenBSD-Regress-ID: 3c9aec6bca4868f85d2742b6ba5223fce110bdbc + The fgrep replacement for buggy greps doesn't work in the sftp-glob test + so move it to just where we know it's needed. -commit f2ccf6c9f395923695f22345e626dfd691227aaf +commit f7039541570d4b66d76e6f574544db176d8d5c02 Author: Darren Tucker -Date: Sun Aug 8 17:39:56 2021 +1000 +Date: Fri Sep 24 08:04:14 2021 +1000 - Move portable specific settings down. + Replacement function for buggy fgrep. - This brings the top hunk of the file back in sync with OpenBSD - so patches to the CVS Id should apply instead of always being - rejected. + GNU (f)grep <=2.18, as shipped by FreeBSD<=12 and NetBSD<=9 will + occasionally fail to find ssh host keys in the hostkey-rotate test. + If we have those versions, use awk instead. -commit 71b0eb997e220b0fc9331635af409ad84979f2af -Author: dtucker@openbsd.org -Date: Sun Aug 8 07:27:52 2021 +0000 +commit f6a660e5bf28a01962af87568e118a2d2e79eaa0 +Author: David Manouchehri +Date: Thu Sep 23 17:03:18 2021 -0400 - upstream: Move setting of USER further down the startup In portable + Don't prompt for yes/no questions. + +commit 7ed1a3117c09f8c3f1add35aad77d3ebe1b85b4d +Author: djm@openbsd.org +Date: Mon Sep 20 06:53:56 2021 +0000 + + upstream: fix missing -s in SYNOPSYS and usage() as well as a - we have to change this and having it in the same hunk as the CVS Id string - means applying changes fails every. single. time. + capitalisation mistake; spotted by jmc@ - OpenBSD-Regress-ID: 87cd603eb6db58c9b430bf90adacb7f90864429b + OpenBSD-Commit-ID: 0ed8ee085c7503c60578941d8b45f3a61d4c9710 -commit f0aca2706c710a0da1a4be705f825a807cd15400 +commit 8c07170135dde82a26886b600a8bf6fb290b633d Author: dtucker@openbsd.org -Date: Sun Aug 8 06:38:33 2021 +0000 +Date: Mon Sep 20 04:02:13 2021 +0000 - upstream: Drop -q in ssh-log-wrapper.sh to preserve logs. + upstream: Fix "Allocated port" debug message - scp and sftp like to add -q to the command line passed to ssh which - overrides the LogLevel we set in the config files and suppresses output - to the debug logs so drop any "-q" from the invoked ssh. In the one - case where we actually want to use -q in the banner test, call the ssh - binary directly bypassing the logging wrapper. + for unix domain sockets. From peder.stray at gmail.com via github PR#272, + ok deraadt@ - OpenBSD-Regress-ID: e2c97d3c964bda33a751374c56f65cdb29755b75 + OpenBSD-Commit-ID: 8d5ef3fbdcdd29ebb0792b5022a4942db03f017e -commit cf27810a649c5cfae60f8ce66eeb25caa53b13bc -Author: dtucker@openbsd.org -Date: Sat Aug 7 01:57:08 2021 +0000 +commit 277d3c6adfb128b4129db08e3d65195d94b55fe7 +Author: djm@openbsd.org +Date: Mon Sep 20 01:55:42 2021 +0000 - upstream: Fix prototype mismatch for do_cmd. ok djm@ + upstream: Switch scp back to use the old protocol by default, ahead of - OpenBSD-Commit-ID: 1c1598bb5237a7ae0be99152f185e0071163714d + release. We'll wait a little longer for people to pick up sftp-server(8) that + supports the extension that scp needs for ~user paths to continue working in + SFTP protocol mode. Discussed with deraadt@ + + OpenBSD-Commit-ID: f281f603a705fba317ff076e7b11bcf2df941871 -commit 85de69f64665245786e28c81ab01fe18b0e2a149 +commit ace19b34cc15bea3482be90450c1ed0cd0dd0669 Author: djm@openbsd.org -Date: Sat Aug 7 01:55:01 2021 +0000 +Date: Sat Sep 18 02:03:25 2021 +0000 - upstream: sftp-client.c needs poll.h + upstream: better error message for ~user failures when the - remove unused variable + sftp-server lacks the expand-path extension; ok deraadt@ - OpenBSD-Commit-ID: 233ac6c012cd23af62f237167a661db391055a16 + OpenBSD-Commit-ID: 9c1d965d389411f7e86f0a445158bf09b8f9e4bc -commit 397c4d72e50023af5fe3aee5cc2ad407a6eb1073 -Author: Darren Tucker -Date: Sat Aug 7 11:30:57 2021 +1000 +commit 6b1238ba971ee722a310d95037b498ede5539c03 +Author: djm@openbsd.org +Date: Thu Sep 16 15:22:22 2021 +0000 - Include poll.h and friends for struct pollfd. + upstream: make some more scp-in-SFTP mode better match Unix idioms + + suggested by deraadt@ + + OpenBSD-Commit-ID: 0f2439404ed4cf0b0be8bf49a1ee734836e1ac87 -commit a9e2c533195f28627f205682482d9da384c4c52e +commit e694f8ac4409931e67d08ac44ed251b20b10a957 Author: djm@openbsd.org -Date: Sat Aug 7 00:14:17 2021 +0000 +Date: Thu Sep 16 15:11:19 2021 +0000 - upstream: do_upload() used a near-identical structure for + upstream: allow log_stderr==2 to prefix log messages with argv[0] - tracking expected status replies from the server to what do_download() was - using. + use this to make scp's SFTP mode error messages more scp-like - Refactor it to use the same structure and factor out some common - code into helper functions. + prompted by and ok deraadt@ - OpenBSD-Commit-ID: 0c167df8ab6df4a5292c32421922b0cf379e9054 + OpenBSD-Commit-ID: 0e821dbde423fc2280e47414bdc22aaa5b4e0733 + +commit 8a7a06ee505cb833e613f74a07392e9296286c30 +Author: Darren Tucker +Date: Fri Sep 17 13:03:31 2021 +1000 + + Test against LibreSSL 3.2.6, 3.3.4, 3.4.0. -commit 7b1cbcb7599d9f6a3bbad79d412604aa1203b5ee +commit c25c84074a47f700dd6534995b4af4b456927150 Author: djm@openbsd.org -Date: Sat Aug 7 00:12:09 2021 +0000 +Date: Thu Sep 16 05:36:03 2021 +0000 - upstream: make scp(1) in SFTP mode follow symlinks like + upstream: missing space character in ssh -G output broke the - traditional scp(1) ok markus@ + t-sshcfgparse regression test; spotted by anton@ - OpenBSD-Commit-ID: 97255e55be37e8e26605e4ba1e69f9781765d231 + OpenBSD-Commit-ID: bcc36fae2f233caac4baa8e58482da4aa350eed0 -commit 133b44e500422df68c9c25c3b6de35c0263132f1 +commit a4bee1934bf5e5575fea486628f4123d6a29dff8 Author: djm@openbsd.org -Date: Sat Aug 7 00:10:49 2021 +0000 +Date: Wed Sep 15 06:56:01 2021 +0000 - upstream: fix incorrect directory permissions on scp -3 + upstream: allow CanonicalizePermittedCNAMEs=none in ssh_config; ok - transfers; ok markus@ + markus@ - OpenBSD-Commit-ID: 64b2abaa5635a2be65ee2e77688ad9bcebf576c2 + OpenBSD-Commit-ID: 668a82ba8e56d731b26ffc5703213bfe071df623 -commit 98b59244ca10e62ff67a420856770cb700164f59 -Author: djm@openbsd.org -Date: Sat Aug 7 00:09:57 2021 +0000 +commit d0fffc88c8fe90c1815c6f4097bc8cbcabc0f3dd +Author: mbuhl@openbsd.org +Date: Tue Sep 14 11:04:21 2021 +0000 - upstream: a bit more debugging of file attributes being + upstream: put back the mux_ctx memleak fix for SSH_CHANNEL_MUX_CLIENT - sent/received over the wire + OK mfriedl@ - OpenBSD-Commit-ID: f68c4e207b08ef95200a8b2de499d422808e089b + OpenBSD-Commit-ID: 1aba1da828956cacaadb81a637338734697d9798 -commit c677e65365d6f460c084e41e0c4807bb8a9cf601 -Author: djm@openbsd.org -Date: Sat Aug 7 00:08:52 2021 +0000 +commit 19b3d846f06697c85957ab79a63454f57f8e22d6 +Author: schwarze@openbsd.org +Date: Sat Sep 11 09:05:50 2021 +0000 - upstream: make scp(1) in SFTP mode output better match original + upstream: Do not ignore SIGINT while waiting for input if editline(3) - scp(1) by suppressing "Retrieving [path]" lines that were emitted to support - the interactive sftp(1) client. ok markus@ + is not used. Instead, in non-interactive mode, exit sftp(1), like for other + serious errors. As pointed out by dtucker@, when compiled without editline(3) + support in portable OpenSSH, the el == NULL branch is also used for + interactive mode. In that case, discard the input line and provide a fresh + prompt to the user just like in the case where editline(3) is used. OK djm@ - OpenBSD-Commit-ID: 06be293df5f156a18f366079be2f33fa68001acc + OpenBSD-Commit-ID: 7d06f4d3ebba62115527fafacf38370d09dfb393 -commit 48cd39b7a4e5e7c25101c6d1179f98fe544835cd +commit ba61123eef9c6356d438c90c1199a57a0d7bcb0a Author: djm@openbsd.org -Date: Sat Aug 7 00:07:18 2021 +0000 +Date: Sat Sep 11 00:40:24 2021 +0000 - upstream: factor out a structure duplicated between downloading + upstream: when using SFTP protocol, continue transferring files after a - and crossloading; ok markus@ + transfer error occurs. This matches original scp/rcp behaviour. ok dtucker@ - OpenBSD-Commit-ID: 96eede24d520569232086a129febe342e4765d39 + OpenBSD-Commit-ID: dfe4558d71dd09707e9b5d6e7d2e53b793da69fa -commit 318c06bb04ee21a0cfa6b6022a201eacaa53f388 -Author: djm@openbsd.org -Date: Sat Aug 7 00:06:30 2021 +0000 +commit b0ec59a708b493c6f3940336b1a537bcb64dd2a7 +Author: dtucker@openbsd.org +Date: Fri Sep 10 11:38:38 2021 +0000 - upstream: use sftp_client crossloading to implement scp -3 + upstream: Document that non-interactive commands are run via the user's - feedback/ok markus@ + shell using the -c flag. ok jmc@ - OpenBSD-Commit-ID: 7db4c0086cfc12afc9cfb71d4c2fd3c7e9416ee9 + OpenBSD-Commit-ID: 4f0d912077732eead10423afd1acf4fc0ceec477 -commit de7115b373ba0be3861c65de9b606a3e0e9d29a3 -Author: djm@openbsd.org -Date: Sat Aug 7 00:02:41 2021 +0000 +commit 66a658b5d9e009ea11f8a0ca6e69c7feb2d851ea +Author: dtucker@openbsd.org +Date: Fri Sep 10 10:26:02 2021 +0000 - upstream: support for "cross"-loading files/directories, i.e. - - downloading from one SFTP server while simultaneously uploading to another. + upstream: Document behaviour of arguments following non-interactive - feedback & ok markus@ + commands. Prompted by github PR#139 from EvanTheB, feedback & ok djm@ jmc@ - OpenBSD-Commit-ID: 3982878e29d8df0fa4ddc502f5ff6126ac714235 + OpenBSD-Commit-ID: fc758d1fe0471dfab4304fcad6cd4ecc3d79162a -commit a50bd0367ff2063bbc70a387740a2aa6914de094 -Author: djm@openbsd.org -Date: Sat Aug 7 00:01:29 2021 +0000 +commit 1d47e28e407d1f95fdf8f799be23f48dcfa5206b +Author: dtucker@openbsd.org +Date: Fri Sep 10 07:11:11 2021 +0000 - upstream: factor our SSH2_FXP_OPEN calls into their own function; + upstream: Clarify which file's attributes -p preserves, and that - "looks fine" markus@ + it's specifically the file mode bits. bz#3340 from calestyo at scientia.net, + ok djm@ jmc@ - OpenBSD-Commit-ID: d3dea2153f08855c6d9dacc01973248944adeffb + OpenBSD-Commit-ID: f09e6098ed1c4be00c730873049825f8ee7cb884 -commit e3c0ba05873cf3d3f7d19d595667a251026b2d84 +commit b344db7a413478e4c21e4cadba4a970ad3e6128a Author: djm@openbsd.org -Date: Sat Aug 7 00:00:33 2021 +0000 +Date: Fri Sep 10 05:46:09 2021 +0000 - upstream: prepare for scp -3 implemented via sftp + upstream: openssh-7.4 was incorrectly listed twice; spotted by - OpenBSD-Commit-ID: 194aac0dd87cb175334b71c2a30623a5ad55bb44 + Dmitry Belyavskiy, ok dtucker@ + + OpenBSD-Commit-ID: 4b823ae448f6e899927ce7b04225ac9e489f58ef -commit 395d8fbdb094497211e1461cf0e2f80af5617e0a -Author: dtucker@openbsd.org -Date: Fri Aug 6 09:00:18 2021 +0000 +commit 9136d6239ad7a4a293e0418a49b69e70c76d58b8 +Author: jmc@openbsd.org +Date: Thu Sep 9 06:17:39 2021 +0000 - upstream: Make diff invocation more portable. + upstream: - move CAVEATS to its correct order - use the term - POSIX does not require diff to have -N, so compare in both directions - with just -r, which should catch missing files in either directory. + "legacy" protocol rather than "original", as the latter made the text + misleading - uppercase SCP - OpenBSD-Regress-ID: 0e2ec8594556a6f369ed5a0a90c6806419b845f7 - -commit d247a73ce27b460138599648d9c637c6f2b77605 -Author: djm@openbsd.org -Date: Wed Aug 4 21:28:00 2021 +0000 - - upstream: regression test for scp -3 + ok djm - OpenBSD-Regress-ID: b44375d125c827754a1f722ec6b6b75b634de05d + OpenBSD-Commit-ID: 8479255746d5fa76a358ee59e7340fecf4245ff0 -commit 35c8e41a6f6d8ad76f8d1cd81ac2ea23d0d993b2 -Author: dtucker@openbsd.org -Date: Fri Aug 6 05:04:42 2021 +0000 +commit 2d678c5e3bdc2f5c99f7af5122e9d054925d560d +Author: David Carlier +Date: Wed Sep 8 19:49:54 2021 +0100 - upstream: Document "ProxyJump none". bz#3334. + Disable tracing on FreeBSD using procctl. - OpenBSD-Commit-ID: f78cc6f55731f2cd35c3a41d5352ac1ee419eba7 + Placed at the start of platform_disable_tracing() to prevent declaration + after code errors from strict C89 compilers (in the unlikely event that + more than one method is enabled). -commit 911ec6411821bda535d09778df7503b92f0eafab -Author: dtucker@openbsd.org -Date: Wed Aug 4 01:34:55 2021 +0000 +commit 73050fa38fb36ae3326d768b574806352b97002d +Author: djm@openbsd.org +Date: Wed Sep 8 23:31:39 2021 +0000 - upstream: Allow for different (but POSIX compliant) behaviour of + upstream: Use the SFTP protocol by default. The original scp/rcp - basename(3) and prevent a use-after-free in that case in the new sftp-compat - code. + protocol remains available via the -O flag. - POSIX allows basename(3) to either return a pointer to static storage - or modify the passed string and return a pointer to that. OpenBSD does - the former and works as is, but on other platforms "filename" points - into "tmp" which was just freed. This makes the freeing of tmp - consistent with the other variable in the loop. + Note that ~user/ prefixed paths in SFTP mode require a protocol extension + that was first shipped in OpenSSH 8.7. - Pinpointed by the -portable Valgrind regress test. ok djm@ deraadt@ + ok deraadt, after baking in snaps for a while without incident - OpenBSD-Commit-ID: 750f3c19bd4440e4210e30dd5d7367386e833374 + OpenBSD-Commit-ID: 23588976e28c281ff5988da0848cb821fec9213c -commit 6df1fecb5d3e51f3a8027a74885c3a44f6cbfcbd -Author: Damien Miller -Date: Wed Aug 4 11:05:11 2021 +1000 +commit c4565e69ffa2485cff715aa842ea7a350296bfb6 +Author: Darren Tucker +Date: Wed Sep 8 21:09:49 2021 +1000 - use openbsd-compat glob.h is required + Really fix test on OpenSSL 1.1.1 stable. -commit 9ebd1828881dfc9014a344587934a5ce7db6fa1b +commit 79f1bb5f56cef3ae9276207316345b8309248478 Author: Darren Tucker -Date: Tue Aug 3 21:03:23 2021 +1000 +Date: Wed Sep 8 18:51:39 2021 +1000 - Missing space between macro arg and punctuation. + Correct OpenSSL 1.1.1 stable identifier. + +commit b6255593ed5ccbe5e7d3d4b26b2ad31ad4afc232 +Author: Darren Tucker +Date: Wed Sep 8 18:39:44 2021 +1000 + + Increment nfds when coming from startup_pipe. - From jmc@ + If we have to increase nfds because startup_pipe[0] is above any of the + descriptors passed in the fd_sets, we also need to add 1 to nfds since + select takes highest FD number plus one. bz#3345 from yaroslav.kuzmin + at vmssoftware.com. -commit 0fd3f62eddc7cf54dcc9053be6f58998f3eb926a +commit a3e92a6794817df6012ac8546aea19652cc91b61 Author: Darren Tucker -Date: Tue Aug 3 21:02:33 2021 +1000 +Date: Wed Sep 8 13:45:10 2021 +1000 - Avoid lines >80 chars. From jmc@ + Tests for OpenSSL 3.0.0 release & 1.1.1 branch. -commit af5d8094d8b755e1daaf2e20ff1dc252800b4c9b +commit 4afe431da98ec1cf6a2933fe5658f4fd68dee9e2 Author: djm@openbsd.org -Date: Tue Aug 3 01:05:24 2021 +0000 +Date: Wed Sep 8 03:23:44 2021 +0000 - upstream: regression tests for scp SFTP protocol support; mostly by - - Jakub Jelen in GHPR#194 ok markus + upstream: correct my mistake in previous fix; spotted by halex - OpenBSD-Regress-ID: 36f1458525bcb111741ec8547eaf58b13cddc715 + OpenBSD-Commit-ID: 3cc62d92e3f70006bf02468fc146bfc36fffa183 -commit e4673b7f67ae7740131a4ecea29a846593049a91 -Author: anton@openbsd.org -Date: Thu Jul 29 15:34:09 2021 +0000 +commit ca0e455b9331213ff9505a21b94c38e34faa2bba +Author: djm@openbsd.org +Date: Tue Sep 7 06:03:51 2021 +0000 - upstream: Treat doas with arguments as a valid SUDO variable. - - Allows one to specify SUDO="doas -n" which I do while running make regress. + upstream: avoid NULL deref in -Y find-principals. Report and fix - ok dtucker@ + from Carlo Marcelo Arenas Belón + MIME-Version: 1.0 + Content-Type: text/plain; charset=UTF-8 + Content-Transfer-Encoding: 8bit - OpenBSD-Regress-ID: 4fe5814b5010dbf0885500d703bea06048d11005 + OpenBSD-Commit-ID: 6238486f8ecc888d6ccafcd9ad99e621bb41f1e0 -commit 197e29f1cca190d767c4b2b63a662f9a9e5da0b3 -Author: djm@openbsd.org -Date: Mon Aug 2 23:38:27 2021 +0000 +commit 37616807f150fb46610bbd5031c31af4857ad1e9 +Author: millert@openbsd.org +Date: Mon Sep 6 00:36:01 2021 +0000 - upstream: support for using the SFTP protocol for file transfers in - - scp, via a new "-M sftp" option. Marked as experimental for now. + upstream: revision 1.381 neglected to remove - Some corner-cases exist, in particular there is no attempt to - provide bug-compatibility with scp's weird "double shell" quoting - rules. + sChallengeResponseAuthentication from the enum. Noticed by + christos@zoulas.com. OK dtucker@ - Mostly by Jakub Jelen in GHPR#194 with some tweaks by me. ok markus@ - Thanks jmc@ for improving the scp.1 bits. + OpenBSD-Commit-ID: b533283a4dd6d04a867da411a4c7a8fbc90e34ff + +commit 7acb3578cdfec0b3d34501408071f7a96c1684ea +Author: Darren Tucker +Date: Sun Sep 5 20:45:42 2021 +1000 + + Correct version_num for OpenSSL dev branch. + +commit 65bb01111320dfd0d25e21e1fd4d3f2b77532669 +Author: Darren Tucker +Date: Sun Sep 5 19:37:39 2021 +1000 + + Test against OpenSSL 3 branch as well as dev. - OpenBSD-Commit-ID: 6ce4c9157ff17b650ace571c9f7793d92874051c + Now that OpenSSL development has moved to 3.1, test against the most + recent version of the openssl-3.0 branch too. -commit dd533c7ab79d61a7796b77b64bd81b098e0d7f9f -Author: jmc@openbsd.org -Date: Fri Jul 30 14:28:13 2021 +0000 +commit 864ed0d5e04a503b97202c776b7cf3f163f3eeaa +Author: Darren Tucker +Date: Sun Sep 5 19:33:22 2021 +1000 - upstream: fix a formatting error and add some Xr; from debian at - - helgefjell de - - removed references to rlogin etc. as no longer relevant; - suggested by djm - - ok djm dtucker - - OpenBSD-Commit-ID: 3c431c303068d3aec5bb18573a0bd5e0cd77c5ae + OpenSSL development is now 3.1.* -commit c7cd347a8823819411222c1e10a0d26747d0fd5c -Author: jmc@openbsd.org -Date: Fri Jul 30 14:25:01 2021 +0000 +commit a60209a586a928f92ab323bf23bd07f57093342e +Author: dtucker@openbsd.org +Date: Fri Sep 3 07:43:23 2021 +0000 - upstream: fix a formatting error and mark up known_hosts - - consistently; issues reported by debian at helgefjell de + upstream: Use .Cm instead of .Dq in StrictHostKeyChecking list for - ok djm dtucker + consistency. Patch from scop via github PR#257, ok jmc@ - OpenBSD-Commit-ID: a1fd8d21dc77f507685443832df0c9700481b0ce + OpenBSD-Commit-ID: 3652a91564570779431802c31224fb4a9cf39872 -commit 4455aec2e4fc90f64ae4fc47e78ebc9c18721738 -Author: jmc@openbsd.org -Date: Wed Jul 28 05:57:42 2021 +0000 +commit 8d1d9eb6de37331e872700e9e399a3190cca1242 +Author: dtucker@openbsd.org +Date: Fri Sep 3 07:27:03 2021 +0000 - upstream: no need to talk about version 2 with the -Q option, so - - rewrite the text to read better; + upstream: Mention using ssh -i for specifying the public key file - issue reported by debian at helgefjell de - ok djm dtucker + in the case where the private key is loaded into ssh-agent but is not present + locally. Based on patch from rafork via github PR#215, ok jmc@ - OpenBSD-Commit-ID: 59fe2e8219c37906740ad062e0fdaea487dbe9cf + OpenBSD-Commit-ID: 2282e83b0ff78d2efbe705883b67240745fa5bb2 -commit bec429338e9b30d2c7668060e82608286a8a4777 -Author: jmc@openbsd.org -Date: Tue Jul 27 14:28:46 2021 +0000 +commit eb4362e5e3aa7ac26138b11e44d8c191910aff64 +Author: dtucker@openbsd.org +Date: Fri Sep 3 05:25:50 2021 +0000 - upstream: word fix; reported by debian at helgefjell de + upstream: Refer to KEX "algorithms" instead of "methods" to match - OpenBSD-Commit-ID: 0c6fd22142422a25343c5bd1a618f31618f41ece + other references and improve consistency. Patch from scop via github PR#241, + ok djm@ + + OpenBSD-Commit-ID: 840bc94ff6861b28d8603c8e8c16499bfb65e32c -commit efad4deb5a1f1cf79ebefd63c6625059060bfbe1 -Author: jmc@openbsd.org -Date: Tue Jul 27 14:14:25 2021 +0000 +commit b3318946ce5725da43c4bf7eeea1b73129c47d2a +Author: dtucker@openbsd.org +Date: Fri Sep 3 05:12:25 2021 +0000 - upstream: standardise the grammar in the options list; issue - - reported by debian at helgefjell de + upstream: Remove redundant attrib_clear in upload_dir_internal. - ok dtucker djm + The subsequent call to stat_to_attrib clears the struct as its first step + anyway. From pmeinhardt via github PR#220, ok djm@ - OpenBSD-Commit-ID: 7ac15575045d82f4b205a42cc7d5207fe4c3f8e6 - -commit 1e11fb24066f3fc259ee30db3dbb2a3127e05956 -Author: Darren Tucker -Date: Mon Aug 2 18:56:29 2021 +1000 - - Check for RLIMIT_NOFILE before trying to use it. + OpenBSD-Commit-ID: f5234fc6d7425b607e179acb3383f21716f3029e -commit 0f494236b49fb48c1ef33669f14822ca4f3ce2f4 -Author: Darren Tucker -Date: Tue Jul 27 17:45:34 2021 +1000 +commit 7cc3fe28896e653956a6a2eed0a25d551b83a029 +Author: dtucker@openbsd.org +Date: Fri Sep 3 04:11:13 2021 +0000 - lastenv is only used in setenv. + upstream: Add test for client termination status on signal. - Prevents an unused variable warning on platforms that have setenv but - not unsetenv. + Based on patch from Alexxz via github PR#235 with some tweaks, to + match patch in bz#3281. + + OpenBSD-Regress-ID: d87c7446fb8b5f8b45894fbbd6875df326e729e2 -commit a1f78e08bdb3eaa88603ba3c6e01de7c8671e28a -Author: Darren Tucker -Date: Mon Jul 26 12:45:30 2021 +1000 +commit 5428b0d239f6b516c81d1dd15aa9fe9e60af75d4 +Author: deraadt@openbsd.org +Date: Thu Sep 2 21:03:54 2021 +0000 - Move SUDO to "make test" command line. + upstream: sys/param.h is not needed for any visible reason - Environment variables don't get passed by vmrun, so move to command - line. + OpenBSD-Commit-ID: 8bdea2d0c75692e4c5777670ac039d4b01c1f368 -commit 02e624273b9c78a49a01239159b8c09b8409b1a0 -Author: Darren Tucker -Date: Sun Jul 25 23:26:36 2021 +1000 +commit 1ff38f34b4c4545eb28106629cafa1e0496bc726 +Author: Shchelkunov Artem +Date: Wed Aug 11 18:07:58 2021 +0500 - Set SUDO for tests and cleanup. + Fix memory leak in error path. + + *info is allocated via xstrdup but was leaked in the PAM_AUTH_ERR path. + From github PR#266. -commit 460ae5d93051bab70239ad823dd784822d58baad -Author: Darren Tucker -Date: Sun Jul 25 22:37:55 2021 +1000 +commit cb37e2f0c0ca4fef844ed7edc5d0e3b7d0e83f6a +Author: dtucker@openbsd.org +Date: Wed Sep 1 03:16:06 2021 +0000 - Pass OPENSSL=no to make tests too. + upstream: Fix ssh-rsa fallback for old PuTTY interop tests. + + OpenBSD-Regress-ID: a19ac929da604843a5b5f0f48d2c0eb6e0773d37 -commit b398f499c68d74ebe3298b73757cf3f36e14e0cb +commit 8b02ef0f28dc24cda8cbcd8b7eb02bda8f8bbe59 Author: dtucker@openbsd.org -Date: Sun Jul 25 12:27:37 2021 +0000 +Date: Wed Sep 1 00:50:27 2021 +0000 - upstream: Skip unit and makefile-based key conversion tests when + upstream: Add a function to skip remaining tests. - we're building with OPENSSL=no. + Many tests skip tests for various reasons but not in a consistent way and + don't always clean up, so add that and switch the tests that do that over. - OpenBSD-Regress-ID: 20455ed9a977c93f846059d1fcb48e29e2c8d732 + OpenBSD-Regress-ID: 72d2ec90a3ee8849486956a808811734281af735 -commit 727ce36c8c5941bde99216d27109405907caae4f +commit d486845c07324c04240f1674ac513985bd356f66 Author: dtucker@openbsd.org -Date: Sun Jul 25 12:13:03 2021 +0000 +Date: Tue Aug 31 07:13:59 2021 +0000 - upstream: Replace OPENSSL as the variable that points to the + upstream: Specify path to PuTTY keys. - openssl binary with OPENSSL_BIN. This will allow us to use the OPENSSL - variable from mk.conf or the make(1) command line indicating if we're - building with our without OpenSSL, and ultimately get the regress tests - working in the OPENSSL=no configuration. + Portable needs this and it makes no difference on OpenBSD, so resync + them. (Id sync only, Portable already had this.) - OpenBSD-Regress-ID: 2d788fade3264d7803e5b54cae8875963f688c4e + OpenBSD-Regress-ID: 33f6f66744455886d148527af8368811e4264162 -commit 55e17101a9075f6a63af724261c5744809dcb95c +commit d22b299115e27606e846b23490746f69fdd4fb38 Author: dtucker@openbsd.org -Date: Sat Jul 24 02:57:28 2021 +0000 +Date: Tue Aug 31 06:13:23 2021 +0000 - upstream: Skip RFC4716 format import and export tests when built + upstream: Better compat tests with old PuTTY. - without OpenSSL. + When running PuTTY interop tests and using a PuTTY version older than + 0.76, re-enable the ssh-rsa host key algorithm (the 256 and 512 variants + of RSA were added some time between 0.73 and 0.76). - OpenBSD-Regress-ID: d2c2d5d38c1acc2b88cc99cfe00a2eb8bb39dfa4 + OpenBSD-Regress-ID: e6138d6987aa705fa1e4f216db0bb386e1ff38e1 -commit f5ccb5895d39cd627ad9e7b2c671d2587616100d -Author: dtucker@openbsd.org -Date: Sat Jul 24 02:51:14 2021 +0000 +commit 87ad70d605c3e39c9b8aa275db27120d7cc09b77 +Author: Darren Tucker +Date: Tue Aug 31 17:04:50 2021 +1000 - upstream: Don't omit ssh-keygen -y from usage when built without - - OpenSSL. It is actually available, albeit only for ed25519 keys. + Resync PuTTY interop tests. - OpenBSD-Commit-ID: 7a254c33d0e6a55c30c6b016a8d298d3cb7a7674 + Resync behaviour when REGRESS_INTEROP_PUTTY is not set with OpenBSD. -commit 819d57ac23469f1f03baa8feb38ddefbada90fdc +commit e47b82a7bf51021afac218bf59a3be121827653d Author: dtucker@openbsd.org -Date: Sat Jul 24 02:08:13 2021 +0000 +Date: Tue Aug 31 01:25:27 2021 +0000 - upstream: Exclude key conversion options from usage when built + upstream: Specify hostkeyalgorithms in SSHFP test. - without OpenSSL since those are not available, similar to what we currently - do with the moduli screening options. We can also use this to skip the - conversion regression tests in this case. + Specify host key algorithms in sshd's default set for the SSHFP test, + from djm@. Make the reason for when the test is skipped a bit clearer. - OpenBSD-Commit-ID: 3c82caa398cf99cd4518c23bba5a2fc66b16bafe + OpenBSD-Regress-ID: 4f923dfc761480d5411de17ea6f0b30de3e32cea -commit b6673b1d2ee90b4690ee84f634efe40225423c38 -Author: Darren Tucker -Date: Sat Jul 24 13:02:51 2021 +1000 +commit 7db3e0a9e8477c018757b59ee955f7372c0b55fb +Author: djm@openbsd.org +Date: Mon Aug 30 01:15:45 2021 +0000 - Test OpenBSD upstream with and without OpenSSL. + upstream: adapt to RSA/SHA1 deprectation + + OpenBSD-Regress-ID: 952397c39a22722880e4de9d1c50bb1a14f907bb -commit 9d38074b5453c1abbdf888e80828c278d3b886ac +commit 2344750250247111a6c3c6a4fe84ed583a61cc11 Author: djm@openbsd.org -Date: Sat Jul 24 01:54:23 2021 +0000 +Date: Sun Aug 29 23:53:10 2021 +0000 - upstream: test for first-match-wins in authorized_keys environment= + upstream: After years of forewarning, disable the RSA/SHA-1 - options + signature algorithm by default. It is feasible to create colliding SHA1 + hashes, so we need to deprecate its use. - OpenBSD-Regress-ID: 1517c90276fe84b5dc5821c59f88877fcc34c0e8 - -commit 2b76f1dd19787e784711ea297ad8fc938b4484fd -Author: dtucker@openbsd.org -Date: Fri Jul 23 05:53:02 2021 +0000 - - upstream: Simplify keygen-convert by using $SSH_KEYTYPES directly. + RSA/SHA-256/512 remains available and will be transparently selected + instead of RSA/SHA1 for most SSH servers released in the last five+ + years. There is no need to regenerate RSA keys. - OpenBSD-Regress-ID: cdbe408ec3671ea9ee9b55651ee551370d2a4108 + The use of RSA/SHA1 can be re-enabled by adding "ssh-rsa" to the + PubkeyAcceptedAlgorithms directives on the client and server. + + ok dtucker deraadt + + OpenBSD-Commit-ID: 189bcc4789c7254e09e23734bdd5def8354ff1d5 -commit 7d64a9fb587ba9592f027f7a2264226c713d6579 +commit 56c4455d3b54b7d481c77c82115c830b9c8ce328 Author: djm@openbsd.org -Date: Sat Jul 24 01:55:19 2021 +0000 +Date: Sun Aug 29 23:44:07 2021 +0000 - upstream: don't leak environment= variable when it is not the first + upstream: wrap at 80 columns - match + OpenBSD-Commit-ID: 47ca2286d6b52a9747f34da16d742879e1a37bf0 + +commit 95401eea8503943449f712e5f3de52fc0bc612c5 +Author: Darren Tucker +Date: Fri Aug 20 18:14:13 2021 +1000 + + Replace shell function with ssh-keygen -A. - OpenBSD-Commit-ID: 7fbdc3dfe0032deaf003fd937eeb4d434ee4efe0 + Prevents the init script in the SysV package from trying (and failing) + to generate unsupported key types. Remove now-unused COMMENT_OUT_ECC. + ok tim@ -commit db2130e2340bf923e41c791aa9cd27b9e926042c -Author: jmc@openbsd.org -Date: Fri Jul 23 06:01:17 2021 +0000 +commit d83ec9ed995a76ed1d5c65cf10b447222ec86131 +Author: Darren Tucker +Date: Fri Aug 20 15:39:05 2021 +1000 + + Remove obsolete Redhat PAM config and init script. + +commit e1a596186c81e65a34ce13076449712d3bf97eb4 +Author: Damien Miller +Date: Fri Aug 20 14:03:49 2021 +1000 + + depend - upstream: punctuation; - - OpenBSD-Commit-ID: 64be152e378c45975073ab1c07e0db7eddd15806 +commit 5450606c8f7f7a0d70211cea78bc2dab74ab35d1 +Author: Damien Miller +Date: Fri Aug 20 13:59:43 2021 +1000 -commit 03190d10980c6fc9124e988cb2df13101f266507 + update version numbers + +commit feee2384ab8d694c770b7750cfa76a512bdf8246 Author: djm@openbsd.org -Date: Fri Jul 23 05:56:47 2021 +0000 +Date: Fri Aug 20 03:22:55 2021 +0000 - upstream: mention in comment that read_passphrase(..., RP_ALLOW_STDIN) - - will try to use askpass first. bz3314 - - convert a couple of debug() -> debug_f() while here + upstream: openssh-8.7 - OpenBSD-Commit-ID: c7e812aebc28fcc5db06d4710e0f73613dee545c + OpenBSD-Commit-ID: 8769dff0fd76ae3193d77bf83b439adee0f300cd -commit 1653ece6832b2b304d46866b262d5f69880a9ec7 -Author: dtucker@openbsd.org -Date: Fri Jul 23 05:07:16 2021 +0000 +commit 9a2ed62173cc551b2b5f479460bb015b19499de8 +Author: Darren Tucker +Date: Fri Aug 20 10:48:13 2021 +1000 - upstream: Test conversion of ed25519 and ecdsa keys too. + Also check pid in pselect_notify_setup. - OpenBSD-Regress-ID: 3676d2d00e58e0d6d37f2878f108cc2b83bbe4bb + Spotted by djm@. -commit 8b7af02dcf9d2b738787efd27da7ffda9859bed2 -Author: dtucker@openbsd.org -Date: Fri Jul 23 04:56:21 2021 +0000 +commit deaadcb93ca15d4f38aa38fb340156077792ce87 +Author: Darren Tucker +Date: Fri Aug 20 08:39:33 2021 +1000 - upstream: Add test for exporting pubkey from a passphrase-protected + Prefix pselect functions to clarify debug messages + +commit 10e45654cff221ca60fd35ee069df67208fcf415 +Author: Darren Tucker +Date: Fri Aug 20 08:30:42 2021 +1000 + + Fix race in pselect replacement code. - private key. + On the second and subsequent calls to pselect the notify_pipe was not + added to the select readset, opening up a race that om G. Christensen + discovered on multiprocessor Solaris <=9 systems. - OpenBSD-Regress-ID: da99d93e7b235fbd5b5aaa01efc411225e6ba8ac + Also reinitialize notify_pipe if the pid changes. This will prevent a + parent and child from using the same FD, although this is not an issue + in the current structure it might be in future. -commit 441095d4a3e5048fe3c87a6c5db5bc3383d767fb -Author: djm@openbsd.org -Date: Fri Jul 23 03:54:55 2021 +0000 +commit 464ba22f1e38d25402e5ec79a9b8d34a32df5a3f +Author: Darren Tucker +Date: Wed Aug 18 12:51:30 2021 +1000 - upstream: regression test for time-limited signature keys + Check compiler for c99 declarations after code. - OpenBSD-Regress-ID: 2a6f3bd900dbee0a3c96f1ff23e032c93ab392bc + The sntrup761 reference code contains c99-style declarations after code + so don't try to build that if the compiler doesn't support it. -commit 9e1882ef6489a7dd16b6d7794af96629cae61a53 -Author: djm@openbsd.org -Date: Fri Jul 23 05:24:02 2021 +0000 +commit 7d878679a4b155a359d32104ff473f789501748d +Author: Darren Tucker +Date: Tue Aug 17 15:12:04 2021 +1000 - upstream: note successful authentication method in final "Authenticated - - to ..." message and partial auth success messages (all at LogLevel=verbose) - ok dtucker@ - - OpenBSD-Commit-ID: 06834b89ceb89f8f16c5321d368a66c08f441984 + Remove trailing backslash on regress-unit-binaries -commit a917e973a1b90b40ff1e950df083364b48fc6c78 -Author: djm@openbsd.org -Date: Fri Jul 23 04:04:52 2021 +0000 +commit b71b2508f17c68c5d9dbbe537686d81cedb9a781 +Author: Darren Tucker +Date: Tue Aug 17 07:59:27 2021 +1000 - upstream: Add a ForkAfterAuthentication ssh_config(5) counterpart - - to the ssh(1) -f flag. Last part of GHPR231 from Volker Diels-Grabsch. ok - dtucker + Put stdint.h inside HAVE_STDINT_H. - OpenBSD-Commit-ID: b18aeda12efdebe2093d55263c90fe4ea0bce0d3 + From Tom G. Christensen. -commit e0c5088f1c96a145eb6ea1dee438010da78f9ef5 -Author: djm@openbsd.org -Date: Fri Jul 23 04:00:59 2021 +0000 +commit 6a24567a29bd7b4ab64e1afad859ea845cbc6b8c +Author: Darren Tucker +Date: Mon Aug 16 14:13:02 2021 +1000 - upstream: Add a StdinNull directive to ssh_config(5) that allows - - the config file to do the same thing as -n does on the ssh(1) commandline. - Patch from Volker Diels-Grabsch via GHPR231; ok dtucker + Improve github test driver script. - OpenBSD-Commit-ID: 66ddf3f15c76796d4dcd22ff464aed1edd62468e + - use a trap to always output any failed regress logs (since the script + sets -e, the existing log output is never invoked). + - pass LTESTS and SKIP_LTESTS when re-running with sshd options (eg. + UsePAM). -commit e3957e21ffdc119d6d04c0b1686f8e2fe052f5ea -Author: djm@openbsd.org -Date: Fri Jul 23 03:57:20 2021 +0000 +commit b467cf13705f59ed348b620722ac098fe31879b7 +Author: Darren Tucker +Date: Mon Aug 16 11:32:23 2021 +1000 - upstream: make authorized_keys environment="..." directives - - first-match-wins and more strictly limit their maximum number; prompted by - OOM reported by OSS-fuzz (35470). - - feedback and ok dtucker@ + Remove deprecated ubuntu-16.04 test targets. - OpenBSD-Commit-ID: 01f63fc10dcd995e7aed9c378ad879161af83121 + Github has deprecated ubuntu-16.04 and it will be removed on 20 + September. -commit d0bb1ce731762c55acb95817df4d5fab526c7ecd -Author: djm@openbsd.org -Date: Fri Jul 23 03:37:52 2021 +0000 +commit 20e6eefcdf78394f05e453d456c1212ffaa6b6a4 +Author: Darren Tucker +Date: Sun Aug 15 23:25:26 2021 +1000 - upstream: Let allowed signers files used by ssh-keygen(1) - - signatures support key lifetimes, and allow the verification mode to specify - a signature time to check at. This is intended for use by git to support - signing objects using ssh keys. ok dtucker@ - - OpenBSD-Commit-ID: 3e2c67b7dcd94f0610194d1e8e4907829a40cf31 + Skip agent ptrace test on hurd. -commit 44142068dc7ef783d135e91ff954e754d2ed432e -Author: dtucker@openbsd.org -Date: Mon Jul 19 08:48:33 2021 +0000 +commit 7c9115bbbf958fbf85259a061c1122e2d046aabf +Author: Darren Tucker +Date: Sun Aug 15 19:37:22 2021 +1000 - upstream: Use SUDO when setting up hostkey. - - OpenBSD-Regress-ID: 990cf4481cab8dad62e90818a9b4b36c533851a7 + Add hurd test target. -commit 6b67f3f1d1d187597e54a139cc7785c0acebd9a2 -Author: dtucker@openbsd.org -Date: Mon Jul 19 05:08:54 2021 +0000 +commit 7909a566f6c6a78fcd30708dc49f4e4f9bb80ce3 +Author: Darren Tucker +Date: Sun Aug 15 12:45:10 2021 +1000 - upstream: Increase time margin for rekey tests. Should help - - reliability on very heavily loaded hosts. - - OpenBSD-Regress-ID: 4c28a0fce3ea89ebde441d7091464176e9730533 + Skip scp3 tests on all dfly58 and 60 configs. -commit 7953e1bfce9e76bec41c1331a29bc6cff9d416b8 +commit e65198e52cb03534e8c846d1bca74c310b1526de +Author: Tim Rice +Date: Sat Aug 14 13:08:07 2021 -0700 + + openbsd-compat/openbsd-compat.h: put bsd-signal.h before bsd-misc.h + to get sigset_t from signal.h needed for the pselect replacement. + +commit e50635640f79920d9375e0155cb3f4adb870eee5 Author: Darren Tucker -Date: Mon Jul 19 13:47:51 2021 +1000 +Date: Fri Aug 13 13:21:00 2021 +1000 - Add sshfp-connect.sh file missed in previous. + Test OpenSSH from OpenBSD head on 6.8 and 6.9. -commit b75a80fa8369864916d4c93a50576155cad4df03 -Author: dtucker@openbsd.org -Date: Mon Jul 19 03:13:28 2021 +0000 +commit e0ba38861c490c680117b7fe0a1d61a181cd00e7 +Author: Darren Tucker +Date: Fri Aug 13 13:00:14 2021 +1000 - upstream: Ensure that all returned SSHFP records for the specified host - - name and hostkey type match instead of only one. While there, simplify the - code somewhat and add some debugging. Based on discussion in bz#3322, ok - djm@. + Skip scp3 test on dragonfly 58 and 60. - OpenBSD-Commit-ID: 0a6a0a476eb7f9dfe8fe2c05a1a395e3e9b22ee4 + The tests hang, so skip until we figure them out. -commit 1cc1fd095393663cd72ddac927d82c6384c622ba -Author: dtucker@openbsd.org -Date: Mon Jul 19 02:21:50 2021 +0000 +commit dcce2a2bcf007bf817a2fb0dce3db83fa9201e92 +Author: djm@openbsd.org +Date: Thu Aug 12 23:59:25 2021 +0000 - upstream: Id sync only, -portable already has this. + upstream: mention that CASignatureAlgorithms accepts +/- similarly to - Put dh_set_moduli_file call inside ifdef WITH_OPENSSL. Fixes - build with OPENSSL=no. + the other algorithm list directives; ok jmc bz#3335 - OpenBSD-Commit-ID: af54abbebfb12bcde6219a44d544e18204defb15 + OpenBSD-Commit-ID: 0d46b53995817052c78e2dce9dbd133963b073d9 -commit 33abbe2f4153f5ca5c874582f6a7cc91ae167485 -Author: dtucker@openbsd.org -Date: Mon Jul 19 02:46:34 2021 +0000 +commit 090a82486e5d7a8f7f16613d67e66a673a40367f +Author: schwarze@openbsd.org +Date: Thu Aug 12 09:59:00 2021 +0000 - upstream: Add test for host key verification via SSHFP records. This + upstream: In the editline(3) branch of the sftp(1) event loop, - requires some external setup to operate so is disabled by default (see - comments in sshfp-connect.sh). + handle SIGINT rather than ignoring it, such that the user can use Ctrl-C to + discard the currently edited command line and get a fresh prompt, just like + in ftp(1), bc(1), and in shells. - OpenBSD-Regress-ID: c52c461bd1df3a803d17498917d156ef64512fd9 - -commit f0cd000d8e3afeb0416dce1c711c3d7c28d89bdd -Author: dtucker@openbsd.org -Date: Mon Jul 19 02:29:28 2021 +0000 - - upstream: Add ed25519 key and test SSHFP export of it. Only test + It is critical to not use ssl_signal() for this particular case + because that function unconditionally sets SA_RESTART, but here we + need the signal to interrupt the read(2) in the el_gets(3) event loop. - RSA SSHFP export if we have RSA functionality compiled in. + OK dtucker@ deraadt@ - OpenBSD-Regress-ID: b4ff5181b8c9a5862e7f0ecdd96108622333a9af + OpenBSD-Commit-ID: 8025115a773f52e9bb562eaab37ea2e021cc7299 -commit 0075511e27e5394faa28edca02bfbf13b9a6693e -Author: dtucker@openbsd.org -Date: Mon Jul 19 00:16:26 2021 +0000 +commit e1371e4f58404d6411d9f95eb774b444cea06a26 +Author: naddy@openbsd.org +Date: Wed Aug 11 14:07:54 2021 +0000 - upstream: Group keygen tests together. + upstream: scp: tweak man page and error message for -3 by default - OpenBSD-Regress-ID: 07e2d25c527bb44f03b7c329d893a1f2d6c5c40c + Now that the -3 option is enabled by default, flip the documentation + and error message logic from "requires -3" to "blocked by -R". + + ok djm@ + + OpenBSD-Commit-ID: a872592118444fb3acda5267b2a8c3d4c4252020 -commit 034828820c7e62652e7c48f9ee6b67fb7ba6fa26 -Author: dtucker@openbsd.org -Date: Sun Jul 18 23:10:10 2021 +0000 +commit 49f46f6d77328a3d10a758522b670a3e8c2235e7 +Author: naddy@openbsd.org +Date: Wed Aug 11 14:05:19 2021 +0000 - upstream: Add test for ssh-keygen printing of SSHFP records. + upstream: scp: do not spawn ssh with two -s flags for + + remote-to-remote copies + + Do not add another "-s" to the argument vector every time an SFTP + connection is initiated. Instead, introduce a subsystem flag to + do_cmd() and add "-s" when the flag is set. + + ok djm@ - OpenBSD-Regress-ID: fde9566b56eeb980e149bbe157a884838507c46b + OpenBSD-Commit-ID: 25df69759f323661d31b2e1e790faa22e27966c1 -commit 52c3b6985ef1d5dadb4c4fe212f8b3a78ca96812 +commit 2a2cd00783e1da45ee730b7f453408af1358ef5b Author: djm@openbsd.org -Date: Sat Jul 17 00:38:11 2021 +0000 +Date: Wed Aug 11 08:55:04 2021 +0000 - upstream: wrap some long lines + upstream: test -Oprint-pubkey - OpenBSD-Commit-ID: 4f5186b1466656762dae37d3e569438d900c350d + OpenBSD-Regress-ID: 3d51afb6d1f287975fb6fddd7a2c00a3bc5094e0 -commit 43ec991a782791d0b3f42898cd789f99a07bfaa4 +commit b9f4635ea5bc33ed5ebbacf332d79bae463b0f54 Author: djm@openbsd.org -Date: Sat Jul 17 00:36:53 2021 +0000 +Date: Wed Aug 11 08:54:17 2021 +0000 - upstream: fix sftp on ControlPersist connections, broken by recent + upstream: when verifying sshsig signatures, support an option - SessionType change; spotted by sthen@ + (-Oprint-pubkey) to dump the full public key to stdout; based on patch from + Fabian Stelzer; ok markus@ - OpenBSD-Commit-ID: 4c5ddc5698790ae6ff50d2a4f8f832f0eeeaa234 + OpenBSD-Commit-ID: 0598000e5b9adfb45d42afa76ff80daaa12fc3e2 -commit 073f45c236550f158c9a94003e4611c07dea5279 +commit 750c1a45ba4e8ad63793d49418a0780e77947b9b Author: djm@openbsd.org -Date: Fri Jul 16 09:00:23 2021 +0000 +Date: Wed Aug 11 05:21:32 2021 +0000 - upstream: Explicitly check for and start time-based rekeying in the - - client and server mainloops. - - Previously the rekey timeout could expire but rekeying would not start - until a packet was sent or received. This could cause us to spin in - select() on the rekey timeout if the connection was quiet. - - ok markus@ + upstream: oops, missed one more %p - OpenBSD-Commit-ID: 4356cf50d7900f3df0a8f2117d9e07c91b9ff987 + OpenBSD-Commit-ID: e7e62818d1564cc5cd9086eaf7a51cbd1a9701eb -commit ef7c4e52d5d840607f9ca3a302a4cbb81053eccf -Author: jmc@openbsd.org -Date: Wed Jul 14 06:46:38 2021 +0000 +commit b5aa27b69ab2e1c13ac2b5ad3f8f7d389bad7489 +Author: djm@openbsd.org +Date: Wed Aug 11 05:20:17 2021 +0000 - upstream: reorder SessionType; ok djm + upstream: remove a bunch of %p in format strings; leftovers of - OpenBSD-Commit-ID: c7dd0b39e942b1caf4976a0b1cf0fed33d05418c + debuggings past. prompted by Michael Forney, ok dtucker@ + + OpenBSD-Commit-ID: 4853a0d6c9cecaba9ecfcc19066e52d3a8dcb2ac -commit 8aa2f9aeb56506dca996d68ab90ab9c0bebd7ec3 +commit 419aa01123db5ff5dbc68b2376ef23b222862338 Author: Darren Tucker -Date: Wed Jul 14 11:26:50 2021 +1000 +Date: Wed Aug 11 09:21:09 2021 +1000 - Make whitespace consistent. + Add includes.h to compat tests. + + On platforms where closefrom returns void (eg glibc>=2.34) the prototype + for closefrom in its compat tests would cause compile errors. Remove + this and have the tests pull in the compat headers in the same way as + the main code. bz#3336. -commit 4f4297ee9b8a39f4dfd243a74c5f51f9e7a05723 -Author: Darren Tucker -Date: Wed Jul 14 11:26:12 2021 +1000 +commit 931f592f26239154eea3eb35a086585897b1a185 +Author: djm@openbsd.org +Date: Tue Aug 10 03:35:45 2021 +0000 - Add ARM64 Linux self-hosted runner. + upstream: adapt to scp -M flag change; make scp3.sh test SFTP mode too + + OpenBSD-Regress-ID: 43fea26704a0f0b962b53c1fabcb68179638f9c0 -commit eda8909d1b0a85b9c3804a04d03ec6738fd9dc7f +commit 391ca67fb978252c48d20c910553f803f988bd37 Author: djm@openbsd.org -Date: Tue Jul 13 23:48:36 2021 +0000 +Date: Tue Aug 10 03:33:34 2021 +0000 - upstream: add a SessionType directive to ssh_config, allowing the + upstream: Prepare for a future where scp(1) uses the SFTP protocol by - configuration file to offer equivalent control to the -N (no session) and -s - (subsystem) command-line flags. + default. Replace recently added -M option to select the protocol with -O + (olde) and -s (SFTP) flags, and label the -s flag with a clear warning that + it will be removed in the near future (so no, don't use it in scripts!). - Part of GHPR#231 by Volker Diels-Grabsch with some minor tweaks; - feedback and ok dtucker@ + prompted by/feedback from deraadt@ - OpenBSD-Commit-ID: 726ee931dd4c5cc7f1d7a187b26f41257f9a2d12 + OpenBSD-Commit-ID: 92ad72cc6f0023c9be9e316d8b30eb6d8d749cfc -commit 7ae69f2628e338ba6e0eae7ee8a63bcf8fea7538 +commit bfdd4b722f124a4fa9173d20dd64dd0fc69856be Author: djm@openbsd.org -Date: Mon Jul 12 02:12:22 2021 +0000 +Date: Mon Aug 9 23:56:36 2021 +0000 - upstream: fix some broken tests; clean up output + upstream: make scp -3 the default for remote-to-remote copies. It - OpenBSD-Regress-ID: 1d5038edb511dc4ce1622344c1e724626a253566 + provides a much better and more intuitive user experience and doesn't require + exposing credentials to the source host. + + thanks naddy@ for catching the missing argument in usage() + + "Yes please!" - markus@ + "makes a lot of sense" - deraadt@ + "the right thing to do" - dtucker@ + + OpenBSD-Commit-ID: d0d2af5f0965c5192ba5b2fa461c9f9b130e5dd9 -commit f5fc6a4c3404bbf65c21ca6361853b33d78aa87e -Author: Darren Tucker -Date: Mon Jul 12 18:00:05 2021 +1000 +commit 2f7a3b51cef689ad9e93d0c6c17db5a194eb5555 +Author: djm@openbsd.org +Date: Mon Aug 9 23:49:31 2021 +0000 - Add configure-time detection for SSH_TIME_T_MAX. + upstream: make scp in SFTP mode try to use relative paths as much - Should fix printing cert times exceeding INT_MAX (bz#3329) on platforms - were time_t is a long long. The limit used is for the signed type, so if - some system has a 32bit unsigned time_t then the lower limit will still - be imposed and we would need to add some way to detect this. Anyone using - an unsigned 64bit can let us know when it starts being a problem. + as possible. Previosuly, it would try to make relative and ~/-rooted paths + absolute before requesting transfers. + + prompted by and much discussion deraadt@ + ok markus@ + + OpenBSD-Commit-ID: 46639d382ea99546a4914b545fa7b00fa1be5566 -commit fd2d06ae4442820429d634c0a8bae11c8e40c174 -Author: dtucker@openbsd.org -Date: Mon Jul 12 06:22:57 2021 +0000 +commit 2ab864010e0a93c5dd95116fb5ceaf430e2fc23c +Author: djm@openbsd.org +Date: Mon Aug 9 23:47:44 2021 +0000 - upstream: Make limit for time_t test unconditional in the + upstream: SFTP protocol extension to allow the server to expand - format_absolute_time fix for bz#3329 that allows printing of timestamps past - INT_MAX. This was incorrectly included with the previous commit. Based on - discussion with djm@. + ~-prefixed paths, in particular ~user ones. Allows scp in sftp mode to accept + these paths, like scp in rcp mode does. - OpenBSD-Commit-ID: 835936f6837c86504b07cabb596b613600cf0f6e + prompted by and much discussion deraadt@ + ok markus@ + + OpenBSD-Commit-ID: 7d794def9e4de348e1e777f6030fc9bafdfff392 -commit 6c29b387cd64a57b0ec8ae7d2c8d02789d88fcc3 -Author: dtucker@openbsd.org -Date: Mon Jul 12 06:08:57 2021 +0000 +commit 41b019ac067f1d1f7d99914d0ffee4d2a547c3d8 +Author: djm@openbsd.org +Date: Mon Aug 9 23:44:32 2021 +0000 - upstream: Use existing format_absolute_time() function when + upstream: when scp is in SFTP mode, try to deal better with ~ - printing cert validity instead of doing it inline. Part of bz#3329. + prefixed paths. ~user paths aren't supported, but ~/ paths will be accepted + and prefixed with the SFTP server starting directory (more to come) - OpenBSD-Commit-ID: a13d4e3c4f59644c23745eb02a09b2a4e717c00c + prompted by and discussed with deraadt@ + ok markus@ + + OpenBSD-Commit-ID: 263a071f14555c045fd03132a8fb6cbd983df00d -commit 99981d5f8bfa383791afea03f6bce8454e96e323 +commit b4b3f3da6cdceb3fd168b5fab69d11fba73bd0ae Author: djm@openbsd.org -Date: Fri Jul 9 09:55:56 2021 +0000 +Date: Mon Aug 9 07:21:01 2021 +0000 - upstream: silence redundant error message; reported by Fabian Stelzer + upstream: on fatal errors, make scp wait for ssh connection before - OpenBSD-Commit-ID: 9349a703016579a60557dafd03af2fe1d44e6aa2 + exiting avoids LogLevel=verbose (or greater) messages from ssh appearing + after scp has returned exited and control has returned to the shell; ok + markus@ + + (this was originally committed as r1.223 along with unrelated stuff that + I rolled back in r1.224) + + OpenBSD-Commit-ID: 1261fd667ad918484889ed3d7aec074f3956a74b -commit e86097813419b49d5bff5c4b51d1c3a5d4d2d804 -Author: John Ericson -Date: Sat Dec 26 11:40:49 2020 -0500 +commit 2ae7771749e0b4cecb107f9d4860bec16c3f4245 +Author: djm@openbsd.org +Date: Mon Aug 9 07:19:12 2021 +0000 - Re-indent krb5 section after pkg-config addition. + upstream: rever r1.223 - I accidentally committed unrelated changes + + OpenBSD-Commit-ID: fb73f3865b2647a27dd94db73d6589506a9625f9 -commit 32dd2daa56c294e40ff7efea482c9eac536d8cbb -Author: John Ericson -Date: Sat Dec 26 11:40:49 2020 -0500 +commit 986abe94d481a1e82a01747360bd767b96b41eda +Author: djm@openbsd.org +Date: Mon Aug 9 07:16:09 2021 +0000 - Support finding Kerberos via pkg-config + upstream: show only the final path component in the progress meter; - This makes cross compilation easier. + more useful with long paths (that may truncate) and better matches + traditional scp behaviour; spotted by naddy@ ok deraadt@ + + OpenBSD-Commit-ID: 26b544d0074f03ebb8a3ebce42317d8d7ee291a3 -commit def7a72234d7e4f684d72d33a0f7229f9eee0aa4 -Author: Darren Tucker -Date: Fri Jul 9 14:34:06 2021 +1000 +commit 2b67932bb3176dee4fd447af4368789e04a82b93 +Author: djm@openbsd.org +Date: Mon Aug 9 07:13:54 2021 +0000 - Update comments about EGD to include prngd. + upstream: on fatal errors, make scp wait for ssh connection before + + exiting avoids LogLevel=verbose (or greater) messages from ssh appearing + after scp has returned exited and control has returned to the shell; ok + markus@ + + OpenBSD-Commit-ID: ef9dab5ef5ae54a6a4c3b15d380568e94263456c -commit b5d23150b4e3368f4983fd169d432c07afeee45a +commit 724eb900ace30661d45db2ba01d0f924d95ecccb Author: dtucker@openbsd.org -Date: Mon Jul 5 01:21:07 2021 +0000 +Date: Sun Aug 8 08:49:09 2021 +0000 - upstream: Fix a couple of whitespace things. Portable already has + upstream: xstrdup environment variable used by ForwardAgent. bz#3328 - these so this removes two diffs between the two. + from goetze at dovetail.com, ok djm@ deraadt@ - OpenBSD-Commit-ID: 769f017ebafd8e741e337b3e9e89eb5ac73c9c56 + OpenBSD-Commit-ID: 760320dac1c3b26904284ba417a7d63fccc5e742 -commit 8f57be9f279b8e905f9883066aa633c7e67b31cf +commit 86b4cb3a884846b358305aad17a6ef53045fa41f Author: dtucker@openbsd.org -Date: Mon Jul 5 01:16:46 2021 +0000 +Date: Sun Aug 8 08:27:28 2021 +0000 - upstream: Order includes as per style(9). Portable already has + upstream: Although it's POSIX, not all shells used in Portable support - these so this removes a handful of diffs between the two. + the implicit 'in "$@"' after 'for i'. - OpenBSD-Commit-ID: 8bd7452d809b199c19bfc49511a798f414eb4a77 + OpenBSD-Regress-ID: 3c9aec6bca4868f85d2742b6ba5223fce110bdbc -commit b75624f8733b3ed9e240f86cac5d4a39dae11848 +commit f2ccf6c9f395923695f22345e626dfd691227aaf +Author: Darren Tucker +Date: Sun Aug 8 17:39:56 2021 +1000 + + Move portable specific settings down. + + This brings the top hunk of the file back in sync with OpenBSD + so patches to the CVS Id should apply instead of always being + rejected. + +commit 71b0eb997e220b0fc9331635af409ad84979f2af Author: dtucker@openbsd.org -Date: Mon Jul 5 00:50:25 2021 +0000 +Date: Sun Aug 8 07:27:52 2021 +0000 - upstream: Remove comment referencing now-removed + upstream: Move setting of USER further down the startup In portable - RhostsRSAAuthentication. ok djm@ + we have to change this and having it in the same hunk as the CVS Id string + means applying changes fails every. single. time. - OpenBSD-Commit-ID: 3d864bfbd99a1d4429a58e301688f3be464827a9 + OpenBSD-Regress-ID: 87cd603eb6db58c9b430bf90adacb7f90864429b -commit b67eb12f013c5441bb4f0893a97533582ad4eb13 -Author: djm@openbsd.org -Date: Mon Jul 5 00:25:42 2021 +0000 +commit f0aca2706c710a0da1a4be705f825a807cd15400 +Author: dtucker@openbsd.org +Date: Sun Aug 8 06:38:33 2021 +0000 - upstream: allow spaces to appear in usernames for local to remote, + upstream: Drop -q in ssh-log-wrapper.sh to preserve logs. - and scp -3 remote to remote copies. with & ok dtucker bz#1164 + scp and sftp like to add -q to the command line passed to ssh which + overrides the LogLevel we set in the config files and suppresses output + to the debug logs so drop any "-q" from the invoked ssh. In the one + case where we actually want to use -q in the banner test, call the ssh + binary directly bypassing the logging wrapper. - OpenBSD-Commit-ID: e9b550f3a85ffbb079b6720833da31317901d6dd + OpenBSD-Regress-ID: e2c97d3c964bda33a751374c56f65cdb29755b75 -commit 8c4ef0943e574f614fc7c6c7e427fd81ee64ab87 +commit cf27810a649c5cfae60f8ce66eeb25caa53b13bc Author: dtucker@openbsd.org -Date: Fri Jul 2 07:20:44 2021 +0000 +Date: Sat Aug 7 01:57:08 2021 +0000 - upstream: Remove obsolete comments about SSHv1 auth methods. ok - - djm@ + upstream: Fix prototype mismatch for do_cmd. ok djm@ - OpenBSD-Commit-ID: 6060f70966f362d8eb4bec3da2f6c4712fbfb98f + OpenBSD-Commit-ID: 1c1598bb5237a7ae0be99152f185e0071163714d -commit 88908c9b61bcb99f16e8d398fc41e2b3b4be2003 -Author: Darren Tucker -Date: Sat Jul 3 23:00:19 2021 +1000 +commit 85de69f64665245786e28c81ab01fe18b0e2a149 +Author: djm@openbsd.org +Date: Sat Aug 7 01:55:01 2021 +0000 - Remove reference to ChallengeResponse. + upstream: sftp-client.c needs poll.h - challenge_response_authentication was removed from the struct, keeping - kbd_interactive_authentication. + remove unused variable + + OpenBSD-Commit-ID: 233ac6c012cd23af62f237167a661db391055a16 -commit 321874416d610ad2158ce6112f094a4862c2e37f +commit 397c4d72e50023af5fe3aee5cc2ad407a6eb1073 Author: Darren Tucker -Date: Sat Jul 3 20:38:09 2021 +1000 +Date: Sat Aug 7 11:30:57 2021 +1000 - Move signal.h up include order to match upstream. + Include poll.h and friends for struct pollfd. -commit 4fa83e2d0e32c2dd758653e0359984bbf1334f32 -Author: Darren Tucker -Date: Sat Jul 3 20:36:06 2021 +1000 +commit a9e2c533195f28627f205682482d9da384c4c52e +Author: djm@openbsd.org +Date: Sat Aug 7 00:14:17 2021 +0000 - Remove old OpenBSD version marker. + upstream: do_upload() used a near-identical structure for - Looks like an accidental leftover from a sync. + tracking expected status replies from the server to what do_download() was + using. + + Refactor it to use the same structure and factor out some common + code into helper functions. + + OpenBSD-Commit-ID: 0c167df8ab6df4a5292c32421922b0cf379e9054 -commit 9d5e31f55d5f3899b72645bac41a932d298ad73b -Author: Darren Tucker -Date: Sat Jul 3 20:34:19 2021 +1000 +commit 7b1cbcb7599d9f6a3bbad79d412604aa1203b5ee +Author: djm@openbsd.org +Date: Sat Aug 7 00:12:09 2021 +0000 - Remove duplicate error on error path. + upstream: make scp(1) in SFTP mode follow symlinks like - There's an extra error() call on the listen error path, it looks like - its removal was missed during an upstream sync. + traditional scp(1) ok markus@ + + OpenBSD-Commit-ID: 97255e55be37e8e26605e4ba1e69f9781765d231 -commit 888c459925c7478ce22ff206c9ac1fb812a40caf -Author: Darren Tucker -Date: Sat Jul 3 20:32:46 2021 +1000 +commit 133b44e500422df68c9c25c3b6de35c0263132f1 +Author: djm@openbsd.org +Date: Sat Aug 7 00:10:49 2021 +0000 - Remove some whitespace not in upstream. + upstream: fix incorrect directory permissions on scp -3 - Reduces diff vs OpenBSD by a small amount. + transfers; ok markus@ + + OpenBSD-Commit-ID: 64b2abaa5635a2be65ee2e77688ad9bcebf576c2 -commit 4d2d4d47a18d93f3e0a91a241a6fdb545bbf7dc2 -Author: Darren Tucker -Date: Sat Jul 3 19:27:43 2021 +1000 +commit 98b59244ca10e62ff67a420856770cb700164f59 +Author: djm@openbsd.org +Date: Sat Aug 7 00:09:57 2021 +0000 - Replace remaining references to ChallengeResponse. + upstream: a bit more debugging of file attributes being - Portable had a few additional references to ChallengeResponse related to - UsePAM, replaces these with equivalent keyboard-interactive ones. + sent/received over the wire + + OpenBSD-Commit-ID: f68c4e207b08ef95200a8b2de499d422808e089b -commit 53237ac789183946dac6dcb8838bc3b6b9b43be1 -Author: Darren Tucker -Date: Sat Jul 3 19:23:28 2021 +1000 +commit c677e65365d6f460c084e41e0c4807bb8a9cf601 +Author: djm@openbsd.org +Date: Sat Aug 7 00:08:52 2021 +0000 - Sync remaining ChallengeResponse removal. + upstream: make scp(1) in SFTP mode output better match original - These were omitted from commit 88868fd131. + scp(1) by suppressing "Retrieving [path]" lines that were emitted to support + the interactive sftp(1) client. ok markus@ + + OpenBSD-Commit-ID: 06be293df5f156a18f366079be2f33fa68001acc -commit 2c9e4b319f7e98744b188b0f58859d431def343b -Author: Darren Tucker -Date: Sat Jul 3 19:17:31 2021 +1000 +commit 48cd39b7a4e5e7c25101c6d1179f98fe544835cd +Author: djm@openbsd.org +Date: Sat Aug 7 00:07:18 2021 +0000 - Disable rocky84 to figure out why agent test fails + upstream: factor out a structure duplicated between downloading + + and crossloading; ok markus@ + + OpenBSD-Commit-ID: 96eede24d520569232086a129febe342e4765d39 -commit bfe19197a92b7916f64a121fbd3c179abf15e218 -Author: Darren Tucker -Date: Fri Jul 2 15:43:28 2021 +1000 +commit 318c06bb04ee21a0cfa6b6022a201eacaa53f388 +Author: djm@openbsd.org +Date: Sat Aug 7 00:06:30 2021 +0000 - Remove now-unused SSHv1 enums. + upstream: use sftp_client crossloading to implement scp -3 - sRhostsRSAAuthentication and sRSAAuthentication are protocol 1 options - and are no longer used. + feedback/ok markus@ + + OpenBSD-Commit-ID: 7db4c0086cfc12afc9cfb71d4c2fd3c7e9416ee9 -commit c73b02d92d72458a5312bd098f32ce88868fd131 -Author: dtucker@openbsd.org -Date: Fri Jul 2 05:11:20 2021 +0000 +commit de7115b373ba0be3861c65de9b606a3e0e9d29a3 +Author: djm@openbsd.org +Date: Sat Aug 7 00:02:41 2021 +0000 - upstream: Remove references to ChallengeResponseAuthentication in + upstream: support for "cross"-loading files/directories, i.e. - favour of KbdInteractiveAuthentication. The former is what was in SSHv1, the - latter is what is in SSHv2 (RFC4256) and they were treated as somewhat but - not entirely equivalent. We retain the old name as deprecated alias so - config files continue to work and a reference in the man page for people - looking for it. + downloading from one SFTP server while simultaneously uploading to another. - Prompted by bz#3303 which pointed out the discrepancy between the two - when used with Match. Man page help & ok jmc@, with & ok djm@ + feedback & ok markus@ - OpenBSD-Commit-ID: 2c1bff8e5c9852cfcdab1f3ea94dfef5a22f3b7e + OpenBSD-Commit-ID: 3982878e29d8df0fa4ddc502f5ff6126ac714235 -commit f841fc9c8c7568a3b5d84a4cc0cefacb7dbc16b9 -Author: Darren Tucker -Date: Fri Jul 2 15:20:32 2021 +1000 +commit a50bd0367ff2063bbc70a387740a2aa6914de094 +Author: djm@openbsd.org +Date: Sat Aug 7 00:01:29 2021 +0000 - Fix ifdefs around get_random_bytes_prngd. + upstream: factor our SSH2_FXP_OPEN calls into their own function; - get_random_bytes_prngd() is used if either of PRNGD_PORT or PRNGD_SOCKET - are defined, so adjust ifdef accordingly. + "looks fine" markus@ + + OpenBSD-Commit-ID: d3dea2153f08855c6d9dacc01973248944adeffb -commit 0767627cf66574484b9c0834500b42ea04fe528a -Author: Damien Miller -Date: Fri Jul 2 14:30:23 2021 +1000 +commit e3c0ba05873cf3d3f7d19d595667a251026b2d84 +Author: djm@openbsd.org +Date: Sat Aug 7 00:00:33 2021 +0000 - wrap get_random_bytes_prngd() in ifdef + upstream: prepare for scp -3 implemented via sftp - avoid unused static function warning + OpenBSD-Commit-ID: 194aac0dd87cb175334b71c2a30623a5ad55bb44 -commit f93fdc4de158386efe1116bd44c5b3f4a7a82c25 -Author: Darren Tucker -Date: Mon Jun 28 13:06:37 2021 +1000 +commit 395d8fbdb094497211e1461cf0e2f80af5617e0a +Author: dtucker@openbsd.org +Date: Fri Aug 6 09:00:18 2021 +0000 - Add rocky84 test target. + upstream: Make diff invocation more portable. + + POSIX does not require diff to have -N, so compare in both directions + with just -r, which should catch missing files in either directory. + + OpenBSD-Regress-ID: 0e2ec8594556a6f369ed5a0a90c6806419b845f7 -commit d443006c0ddfa7f6a5bd9c0ae92036f3d5f2fa3b +commit d247a73ce27b460138599648d9c637c6f2b77605 Author: djm@openbsd.org -Date: Fri Jun 25 06:30:22 2021 +0000 +Date: Wed Aug 4 21:28:00 2021 +0000 - upstream: fix decoding of X.509 subject name; from Leif Thuresson - - via bz3327 ok markus@ + upstream: regression test for scp -3 - OpenBSD-Commit-ID: 0ea2e28f39750dd388b7e317bc43dd997a217ae8 + OpenBSD-Regress-ID: b44375d125c827754a1f722ec6b6b75b634de05d -commit 2a5704ec142202d387fda2d6872fd4715ab81347 +commit 35c8e41a6f6d8ad76f8d1cd81ac2ea23d0d993b2 Author: dtucker@openbsd.org -Date: Fri Jun 25 06:20:39 2021 +0000 +Date: Fri Aug 6 05:04:42 2021 +0000 - upstream: Use better language to refer to the user. From l1ving - - via github PR#250, ok jmc@ + upstream: Document "ProxyJump none". bz#3334. - OpenBSD-Commit-ID: 07ca3526626996613e128aeddf7748c93c4d6bbf + OpenBSD-Commit-ID: f78cc6f55731f2cd35c3a41d5352ac1ee419eba7 -commit 4bdf7a04797a0ea1c431a9d54588417c29177d19 +commit 911ec6411821bda535d09778df7503b92f0eafab Author: dtucker@openbsd.org -Date: Fri Jun 25 03:38:17 2021 +0000 +Date: Wed Aug 4 01:34:55 2021 +0000 - upstream: Replace SIGCHLD/notify_pipe kludge with pselect. - - Previously sshd's SIGCHLD handler would wake up select() by writing a - byte to notify_pipe. We can remove this by blocking SIGCHLD, checking - for child terminations then passing the original signal mask through - to pselect. This ensures that the pselect will immediately wake up if - a child terminates between wait()ing on them and the pselect. - - In -portable, for platforms that do not have pselect the kludge is still - there but is hidden behind a pselect interface. + upstream: Allow for different (but POSIX compliant) behaviour of - Based on other changes for bz#2158, ok djm@ + basename(3) and prevent a use-after-free in that case in the new sftp-compat + code. - OpenBSD-Commit-ID: 202c85de0b3bdf1744fe53529a05404c5480d813 - -commit c9f7bba2e6f70b7ac1f5ea190d890cb5162ce127 -Author: Darren Tucker -Date: Fri Jun 25 15:08:18 2021 +1000 - - Move closefrom() to before first malloc. + POSIX allows basename(3) to either return a pointer to static storage + or modify the passed string and return a pointer to that. OpenBSD does + the former and works as is, but on other platforms "filename" points + into "tmp" which was just freed. This makes the freeing of tmp + consistent with the other variable in the loop. - When built against tcmalloc, tcmalloc allocates a descriptor for its - internal use, so calling closefrom() afterward causes the descriptor - number to be reused resulting in a corrupted connection. Moving the - closefrom a little earlier should resolve this. From kircherlike at - outlook.com via bz#3321, ok djm@ - -commit 7ebfe4e439853b88997c9cfc2ff703408a1cca92 -Author: Darren Tucker -Date: Fri Jun 18 20:41:45 2021 +1000 - - Put second -lssh in link line for sftp-server. + Pinpointed by the -portable Valgrind regress test. ok djm@ deraadt@ - When building --without-openssl the recent port-prngd.c change adds - a dependency on atomicio, but since nothing else in sftp-server uses - it, the linker may not find it. Add a second -lssh similar to other - binaries. + OpenBSD-Commit-ID: 750f3c19bd4440e4210e30dd5d7367386e833374 -commit e409d7966785cfd9f5970e66a820685c42169717 -Author: Darren Tucker -Date: Fri Jun 18 18:34:08 2021 +1000 +commit 6df1fecb5d3e51f3a8027a74885c3a44f6cbfcbd +Author: Damien Miller +Date: Wed Aug 4 11:05:11 2021 +1000 - Try EGD/PRNGD if random device fails. - - When built --without-openssl, try EGD/PRGGD (if configured) as a last - resort before failing. + use openbsd-compat glob.h is required -commit e43a898043faa3a965dbaa1193cc60e0b479033d +commit 9ebd1828881dfc9014a344587934a5ce7db6fa1b Author: Darren Tucker -Date: Fri Jun 18 18:32:51 2021 +1000 +Date: Tue Aug 3 21:03:23 2021 +1000 - Split EGD/PRNGD interface into its own file. + Missing space between macro arg and punctuation. - This will allow us to use it when building --without-openssl. + From jmc@ -commit acb2887a769a1b1912cfd7067f3ce04fad240260 +commit 0fd3f62eddc7cf54dcc9053be6f58998f3eb926a Author: Darren Tucker -Date: Thu Jun 17 21:03:19 2021 +1000 +Date: Tue Aug 3 21:02:33 2021 +1000 - Handle GIDs > 2^31 in getgrouplist. - - When compiled in 32bit mode, the getgrouplist implementation may fail - for GIDs greater than LONG_MAX. Analysis and change from ralf.winkel - at tui.com. + Avoid lines >80 chars. From jmc@ -commit 31fac20c941126281b527605b73bff30a8f02edd -Author: dtucker@openbsd.org -Date: Thu Jun 10 09:46:28 2021 +0000 +commit af5d8094d8b755e1daaf2e20ff1dc252800b4c9b +Author: djm@openbsd.org +Date: Tue Aug 3 01:05:24 2021 +0000 - upstream: Use $SUDO when reading sshd's pidfile here too. + upstream: regression tests for scp SFTP protocol support; mostly by - OpenBSD-Regress-ID: 6bfb0d455d493f24839034a629c5306f84dbd409 + Jakub Jelen in GHPR#194 ok markus + + OpenBSD-Regress-ID: 36f1458525bcb111741ec8547eaf58b13cddc715 -commit a3a58acffc8cc527f8fc6729486d34e4c3d27643 -Author: dtucker@openbsd.org -Date: Thu Jun 10 09:43:51 2021 +0000 +commit e4673b7f67ae7740131a4ecea29a846593049a91 +Author: anton@openbsd.org +Date: Thu Jul 29 15:34:09 2021 +0000 - upstream: Use $SUDO when reading sshd's pidfile in case it was + upstream: Treat doas with arguments as a valid SUDO variable. - created with a very restrictive umask. This resyncs with -portable. + Allows one to specify SUDO="doas -n" which I do while running make regress. - OpenBSD-Regress-ID: 07fd2af06df759d4f64b82c59094accca1076a5d + ok dtucker@ + + OpenBSD-Regress-ID: 4fe5814b5010dbf0885500d703bea06048d11005 -commit 249ad4ae51cd3bc235e75a4846eccdf8b1416611 -Author: dtucker@openbsd.org -Date: Thu Jun 10 09:37:59 2021 +0000 +commit 197e29f1cca190d767c4b2b63a662f9a9e5da0b3 +Author: djm@openbsd.org +Date: Mon Aug 2 23:38:27 2021 +0000 - upstream: Set umask when creating hostkeys to prevent excessive + upstream: support for using the SFTP protocol for file transfers in - permissions warning. + scp, via a new "-M sftp" option. Marked as experimental for now. - OpenBSD-Regress-ID: 382841db0ee28dfef7f7bffbd511803e1b8ab0ef - -commit 9d0892153c005cc65897e9372b01fa66fcbe2842 -Author: dtucker@openbsd.org -Date: Thu Jun 10 03:45:31 2021 +0000 - - upstream: Add regress test for SIGHUP restart + Some corner-cases exist, in particular there is no attempt to + provide bug-compatibility with scp's weird "double shell" quoting + rules. - while handling active and unauthenticated clients. Should catch anything - similar to the pselect bug just fixed in sshd.c. + Mostly by Jakub Jelen in GHPR#194 with some tweaks by me. ok markus@ + Thanks jmc@ for improving the scp.1 bits. - OpenBSD-Regress-ID: 3b3c19b5e75e43af1ebcb9586875b3ae3a4cac73 + OpenBSD-Commit-ID: 6ce4c9157ff17b650ace571c9f7793d92874051c -commit 73f6f191f44440ca3049b9d3c8e5401d10b55097 -Author: dtucker@openbsd.org -Date: Thu Jun 10 03:14:14 2021 +0000 +commit dd533c7ab79d61a7796b77b64bd81b098e0d7f9f +Author: jmc@openbsd.org +Date: Fri Jul 30 14:28:13 2021 +0000 - upstream: Continue accept loop when pselect + upstream: fix a formatting error and add some Xr; from debian at - returns -1, eg if it was interrupted by a signal. This should prevent - the hang discovered by sthen@ wherein sshd receives a SIGHUP while it has - an unauthenticated child and goes on to a blocking read on a notify_pipe. - feedback deraadt@, ok djm@ + helgefjell de - OpenBSD-Commit-ID: 0243c1c5544fca0974dae92cd4079543a3fceaa0 + removed references to rlogin etc. as no longer relevant; + suggested by djm + + ok djm dtucker + + OpenBSD-Commit-ID: 3c431c303068d3aec5bb18573a0bd5e0cd77c5ae -commit c785c0ae134a8e8b5c82b2193f64c632a98159e4 -Author: djm@openbsd.org -Date: Tue Jun 8 22:30:27 2021 +0000 +commit c7cd347a8823819411222c1e10a0d26747d0fd5c +Author: jmc@openbsd.org +Date: Fri Jul 30 14:25:01 2021 +0000 - upstream: test that UserKnownHostsFile correctly accepts multiple + upstream: fix a formatting error and mark up known_hosts - arguments; would have caught readconf.c r1.356 regression + consistently; issues reported by debian at helgefjell de - OpenBSD-Regress-ID: 71ca54e66c2a0211b04999263e56390b1f323a6a + ok djm dtucker + + OpenBSD-Commit-ID: a1fd8d21dc77f507685443832df0c9700481b0ce -commit 1a6f6b08e62c78906a3032e8d9a83e721c84574e -Author: djm@openbsd.org -Date: Tue Jun 8 22:06:12 2021 +0000 +commit 4455aec2e4fc90f64ae4fc47e78ebc9c18721738 +Author: jmc@openbsd.org +Date: Wed Jul 28 05:57:42 2021 +0000 - upstream: fix regression in r1.356: for ssh_config options that + upstream: no need to talk about version 2 with the -Q option, so - accepted multiple string arguments, ssh was only recording the first. - Reported by Lucas via bugs@ + rewrite the text to read better; - OpenBSD-Commit-ID: 7cbf182f7449bf1cb7c5b4452667dc2b41170d6d + issue reported by debian at helgefjell de + ok djm dtucker + + OpenBSD-Commit-ID: 59fe2e8219c37906740ad062e0fdaea487dbe9cf -commit 78e30af3e2b2dd540a341cc827c6b98dd8b0a6de -Author: djm@openbsd.org -Date: Tue Jun 8 07:40:12 2021 +0000 +commit bec429338e9b30d2c7668060e82608286a8a4777 +Author: jmc@openbsd.org +Date: Tue Jul 27 14:28:46 2021 +0000 - upstream: test argv_split() optional termination on comments + upstream: word fix; reported by debian at helgefjell de - OpenBSD-Regress-ID: 9fd1c4a27a409897437c010cfd79c54b639a059c + OpenBSD-Commit-ID: 0c6fd22142422a25343c5bd1a618f31618f41ece -commit a023138957ea2becf1c7f93fcc42b0aaac6f2b03 -Author: dtucker@openbsd.org -Date: Tue Jun 8 07:05:27 2021 +0000 +commit efad4deb5a1f1cf79ebefd63c6625059060bfbe1 +Author: jmc@openbsd.org +Date: Tue Jul 27 14:14:25 2021 +0000 - upstream: Add testcases from bz#3319 for IPQoS and TunnelDevice + upstream: standardise the grammar in the options list; issue - being overridden on the command line. + reported by debian at helgefjell de - OpenBSD-Regress-ID: 801674d5d2d02abd58274a78cab2711f11de14a8 + ok dtucker djm + + OpenBSD-Commit-ID: 7ac15575045d82f4b205a42cc7d5207fe4c3f8e6 -commit 660cea10b2cdc11f13ba99c89b1bbb368a4d9ff2 -Author: djm@openbsd.org -Date: Tue Jun 8 06:52:43 2021 +0000 +commit 1e11fb24066f3fc259ee30db3dbb2a3127e05956 +Author: Darren Tucker +Date: Mon Aug 2 18:56:29 2021 +1000 - upstream: sprinkle some "# comment" at end of configuration lines - - to test comment handling - - OpenBSD-Regress-ID: cb82fbf40bda5c257a9f742c63b1798e5a8fdda7 + Check for RLIMIT_NOFILE before trying to use it. -commit acc9c32dcb6def6c7d3688bceb4c0e59bd26b411 -Author: djm@openbsd.org -Date: Tue Jun 8 06:51:47 2021 +0000 +commit 0f494236b49fb48c1ef33669f14822ca4f3ce2f4 +Author: Darren Tucker +Date: Tue Jul 27 17:45:34 2021 +1000 - upstream: more descriptive failure message + lastenv is only used in setenv. - OpenBSD-Regress-ID: 5300f6faf1d9e99c0cd10827b51756c5510e3509 + Prevents an unused variable warning on platforms that have setenv but + not unsetenv. -commit ce04dd4eae23d1c9cf7c424a702f48ee78573bc1 -Author: djm@openbsd.org -Date: Mon Jun 7 01:16:34 2021 +0000 +commit a1f78e08bdb3eaa88603ba3c6e01de7c8671e28a +Author: Darren Tucker +Date: Mon Jul 26 12:45:30 2021 +1000 - upstream: test AuthenticationMethods inside a Match block as well - - as in the main config section + Move SUDO to "make test" command line. - OpenBSD-Regress-ID: ebe0a686621b7cb8bb003ac520975279c28747f7 + Environment variables don't get passed by vmrun, so move to command + line. -commit 9018bd821fca17e26e92f7a7e51d9b24cd62f2db -Author: djm@openbsd.org -Date: Mon Jun 7 00:00:50 2021 +0000 +commit 02e624273b9c78a49a01239159b8c09b8409b1a0 +Author: Darren Tucker +Date: Sun Jul 25 23:26:36 2021 +1000 - upstream: prepare for stricter sshd_config parsing that will refuse - - a config that has {Allow,Deny}{Users,Groups} on a line with no subsequent - arguments. Such lines are permitted but are nonsensical noops ATM - - OpenBSD-Regress-ID: ef65463fcbc0bd044e27f3fe400ea56eb4b8f650 + Set SUDO for tests and cleanup. -commit a10f929d1ce80640129fc5b6bc1acd9bf689169e -Author: djm@openbsd.org -Date: Tue Jun 8 07:09:42 2021 +0000 +commit 460ae5d93051bab70239ad823dd784822d58baad +Author: Darren Tucker +Date: Sun Jul 25 22:37:55 2021 +1000 - upstream: switch sshd_config parsing to argv_split() - - similar to the previous commit, this switches sshd_config parsing to - the newer tokeniser. Config parsing will be a little stricter wrt - quote correctness and directives appearing without arguments. - - feedback and ok markus@ - - tested in snaps for the last five or so days - thanks Theo and those who - caught bugs - - OpenBSD-Commit-ID: 9c4305631d20c2d194661504ce11e1f68b20d93e + Pass OPENSSL=no to make tests too. -commit ea9e45c89a4822d74a9d97fef8480707d584da4d -Author: djm@openbsd.org -Date: Tue Jun 8 07:07:15 2021 +0000 +commit b398f499c68d74ebe3298b73757cf3f36e14e0cb +Author: dtucker@openbsd.org +Date: Sun Jul 25 12:27:37 2021 +0000 - upstream: Switch ssh_config parsing to use argv_split() - - This fixes a couple of problems with the previous tokeniser, - strdelim() - - 1. strdelim() is permissive wrt accepting '=' characters. This is - intended to allow it to tokenise "Option=value" but because it - cannot keep state, it will incorrectly split "Opt=val=val2". - 2. strdelim() has rudimentry handling of quoted strings, but it - is incomplete and inconsistent. E.g. it doesn't handle escaped - quotes inside a quoted string. - 3. It has no support for stopping on a (unquoted) comment. Because - of this readconf.c r1.343 added chopping of lines at '#', but - this caused a regression because these characters may legitimately - appear inside quoted strings. - - The new tokeniser is stricter is a number of cases, including #1 above - but previously it was also possible for some directives to appear - without arguments. AFAIK these were nonsensical in all cases, and the - new tokeniser refuses to accept them. - - The new code handles quotes much better, permitting quoted space as - well as escaped closing quotes. Finally, comment handling should be - fixed - the tokeniser will terminate only on unquoted # characters. - - feedback & ok markus@ - - tested in snaps for the last five or so days - thanks Theo and those who - caught bugs + upstream: Skip unit and makefile-based key conversion tests when - OpenBSD-Commit-ID: dc72fd12af9d5398f4d9e159d671f9269c5b14d5 + we're building with OPENSSL=no. + + OpenBSD-Regress-ID: 20455ed9a977c93f846059d1fcb48e29e2c8d732 -commit d786424986c04d1d375f231fda177c8408e05c3e +commit 727ce36c8c5941bde99216d27109405907caae4f Author: dtucker@openbsd.org -Date: Tue Jun 8 07:02:46 2021 +0000 +Date: Sun Jul 25 12:13:03 2021 +0000 - upstream: Check if IPQoS or TunnelDevice are already set before + upstream: Replace OPENSSL as the variable that points to the - overriding. Prevents values in config files from overriding values supplied - on the command line. bz#3319, ok markus. + openssl binary with OPENSSL_BIN. This will allow us to use the OPENSSL + variable from mk.conf or the make(1) command line indicating if we're + building with our without OpenSSL, and ultimately get the regress tests + working in the OPENSSL=no configuration. - OpenBSD-Commit-ID: f3b08b898c324debb9195e6865d8999406938f74 + OpenBSD-Regress-ID: 2d788fade3264d7803e5b54cae8875963f688c4e -commit aae4b4d3585b9f944d7dbd3c9e5ba0006c55e457 -Author: djm@openbsd.org -Date: Tue Jun 8 06:54:40 2021 +0000 +commit 55e17101a9075f6a63af724261c5744809dcb95c +Author: dtucker@openbsd.org +Date: Sat Jul 24 02:57:28 2021 +0000 - upstream: Allow argv_split() to optionally terminate tokenisation + upstream: Skip RFC4716 format import and export tests when built - when it encounters an unquoted comment. + without OpenSSL. - Add some additional utility function for working with argument - vectors, since we'll be switching to using them to parse - ssh/sshd_config shortly. + OpenBSD-Regress-ID: d2c2d5d38c1acc2b88cc99cfe00a2eb8bb39dfa4 + +commit f5ccb5895d39cd627ad9e7b2c671d2587616100d +Author: dtucker@openbsd.org +Date: Sat Jul 24 02:51:14 2021 +0000 + + upstream: Don't omit ssh-keygen -y from usage when built without - ok markus@ as part of a larger diff; tested in snaps + OpenSSL. It is actually available, albeit only for ed25519 keys. - OpenBSD-Commit-ID: fd9c108cef2f713f24e3bc5848861d221bb3a1ac + OpenBSD-Commit-ID: 7a254c33d0e6a55c30c6b016a8d298d3cb7a7674 -commit da9f9acaac5bab95dca642b48e0c8182b246ab69 -Author: Darren Tucker -Date: Mon Jun 7 19:19:23 2021 +1000 +commit 819d57ac23469f1f03baa8feb38ddefbada90fdc +Author: dtucker@openbsd.org +Date: Sat Jul 24 02:08:13 2021 +0000 - Save logs on failure for upstream test + upstream: Exclude key conversion options from usage when built + + without OpenSSL since those are not available, similar to what we currently + do with the moduli screening options. We can also use this to skip the + conversion regression tests in this case. + + OpenBSD-Commit-ID: 3c82caa398cf99cd4518c23bba5a2fc66b16bafe -commit 76883c60161e5f3808787085a27a8c37f8cc4e08 +commit b6673b1d2ee90b4690ee84f634efe40225423c38 Author: Darren Tucker -Date: Mon Jun 7 14:36:32 2021 +1000 +Date: Sat Jul 24 13:02:51 2021 +1000 - Add obsdsnap-i386 upstream test target. + Test OpenBSD upstream with and without OpenSSL. -commit d45b9c63f947ec5ec314696e70281f6afddc0ac3 +commit 9d38074b5453c1abbdf888e80828c278d3b886ac Author: djm@openbsd.org -Date: Mon Jun 7 03:38:38 2021 +0000 +Date: Sat Jul 24 01:54:23 2021 +0000 - upstream: fix debug message when finding a private key to match a + upstream: test for first-match-wins in authorized_keys environment= - certificate being attempted for user authentication. Previously it would - print the certificate's path, whereas it was supposed to be showing the - private key's path. Patch from Alex Sherwin via GHPR247 + options - OpenBSD-Commit-ID: d5af3be66d0f22c371dc1fe6195e774a18b2327b + OpenBSD-Regress-ID: 1517c90276fe84b5dc5821c59f88877fcc34c0e8 -commit 530739d42f6102668aecd699be0ce59815c1eceb -Author: djm@openbsd.org -Date: Sun Jun 6 11:34:16 2021 +0000 +commit 2b76f1dd19787e784711ea297ad8fc938b4484fd +Author: dtucker@openbsd.org +Date: Fri Jul 23 05:53:02 2021 +0000 - upstream: Match host certificates against host public keys, not private - - keys. Allows use of certificates with private keys held in a ssh-agent. - Reported by Miles Zhou in bz3524; ok dtucker@ + upstream: Simplify keygen-convert by using $SSH_KEYTYPES directly. - OpenBSD-Commit-ID: 25f5bf70003126d19162862d9eb380bf34bac22a + OpenBSD-Regress-ID: cdbe408ec3671ea9ee9b55651ee551370d2a4108 -commit 4265215d7300901fd7097061c7517688ade82f8e +commit 7d64a9fb587ba9592f027f7a2264226c713d6579 Author: djm@openbsd.org -Date: Sun Jun 6 03:40:39 2021 +0000 +Date: Sat Jul 24 01:55:19 2021 +0000 - upstream: Client-side workaround for a bug in OpenSSH 7.4: this release - - allows RSA/SHA2 signatures for public key authentication but fails to - advertise this correctly via SSH2_MSG_EXT_INFO. This causes clients of these - server to incorrectly match PubkeyAcceptedAlgorithms and potentially refuse - to offer valid keys. + upstream: don't leak environment= variable when it is not the first - Reported by and based on patch from Gordon Messmer via bz3213, thanks - also for additional analysis by Jakub Jelen. ok dtucker + match - OpenBSD-Commit-ID: d6d0b7351d5d44c45f3daaa26efac65847a564f7 + OpenBSD-Commit-ID: 7fbdc3dfe0032deaf003fd937eeb4d434ee4efe0 -commit bda270d7fb8522d43c21a79a4b02a052d7c64de8 -Author: djm@openbsd.org -Date: Sun Jun 6 03:17:02 2021 +0000 +commit db2130e2340bf923e41c791aa9cd27b9e926042c +Author: jmc@openbsd.org +Date: Fri Jul 23 06:01:17 2021 +0000 - upstream: degrade gracefully if a sftp-server offers the - - limits@openssh.com extension but fails when the client tries to invoke it. - Reported by Hector Martin via bz3318 + upstream: punctuation; - OpenBSD-Commit-ID: bd9d1839c41811616ede4da467e25746fcd9b967 + OpenBSD-Commit-ID: 64be152e378c45975073ab1c07e0db7eddd15806 -commit d345d5811afdc2d6923019b653cdd93c4cc95f76 +commit 03190d10980c6fc9124e988cb2df13101f266507 Author: djm@openbsd.org -Date: Sun Jun 6 03:15:39 2021 +0000 - - upstream: the limits@openssh.com extension was incorrectly marked - - as an operation that writes to the filesystem, which made it unavailable in - sftp-server read-only mode. Spotted by Hector Martin via bz3318 - - OpenBSD-Commit-ID: f054465230787e37516c4b57098fc7975e00f067 - -commit 2b71010d9b43d7b8c9ec1bf010beb00d98fa765a -Author: naddy@openbsd.org -Date: Sat Jun 5 13:47:00 2021 +0000 +Date: Fri Jul 23 05:56:47 2021 +0000 - upstream: PROTOCOL.certkeys: update reference from IETF draft to + upstream: mention in comment that read_passphrase(..., RP_ALLOW_STDIN) - RFC + will try to use askpass first. bz3314 - Also fix some typos. - ok djm@ + convert a couple of debug() -> debug_f() while here - OpenBSD-Commit-ID: 5e855b6c5a22b5b13f8ffa3897a868e40d349b44 + OpenBSD-Commit-ID: c7e812aebc28fcc5db06d4710e0f73613dee545c -commit aa99b2d9a3e45b943196914e8d8bf086646fdb54 -Author: Darren Tucker -Date: Fri Jun 4 23:41:29 2021 +1000 +commit 1653ece6832b2b304d46866b262d5f69880a9ec7 +Author: dtucker@openbsd.org +Date: Fri Jul 23 05:07:16 2021 +0000 - Clear notify_pipe from readset if present. + upstream: Test conversion of ed25519 and ecdsa keys too. - Prevents leaking an implementation detail to the caller. - -commit 6de8dadf6b4d0627d35bca0667ca44b1d61c2c6b -Author: Darren Tucker -Date: Fri Jun 4 23:24:25 2021 +1000 - - space->tabs. + OpenBSD-Regress-ID: 3676d2d00e58e0d6d37f2878f108cc2b83bbe4bb -commit c8677065070ee34c05c7582a9c2f58d8642e552d -Author: Darren Tucker -Date: Fri Jun 4 18:39:48 2021 +1000 +commit 8b7af02dcf9d2b738787efd27da7ffda9859bed2 +Author: dtucker@openbsd.org +Date: Fri Jul 23 04:56:21 2021 +0000 - Add pselect implementation for platforms without. + upstream: Add test for exporting pubkey from a passphrase-protected - This is basically the existing notify_pipe kludge from serverloop.c - moved behind a pselect interface. It works by installing a signal - handler that writes to a pipe that the select is watching, then calls - the original handler. + private key. - The select call in serverloop will become pselect soon, at which point the - kludge will be removed from thereand will only exist in the compat layer. - Original code by markus, help from djm. + OpenBSD-Regress-ID: da99d93e7b235fbd5b5aaa01efc411225e6ba8ac -commit 7cd7f302d3a072748299f362f9e241d81fcecd26 -Author: Vincent Brillault -Date: Sun May 24 09:15:06 2020 +0200 +commit 441095d4a3e5048fe3c87a6c5db5bc3383d767fb +Author: djm@openbsd.org +Date: Fri Jul 23 03:54:55 2021 +0000 - auth_log: dont log partial successes as failures + upstream: regression test for time-limited signature keys - By design, 'partial' logins are successful logins, so initially with - authenticated set to 1, for which another authentication is required. As - a result, authenticated is always reset to 0 when partial is set to 1. - However, even if authenticated is 0, those are not failed login - attempts, similarly to attempts with authctxt->postponed set to 1. + OpenBSD-Regress-ID: 2a6f3bd900dbee0a3c96f1ff23e032c93ab392bc -commit e7606919180661edc7f698e6a1b4ef2cfb363ebf +commit 9e1882ef6489a7dd16b6d7794af96629cae61a53 Author: djm@openbsd.org -Date: Fri Jun 4 06:19:07 2021 +0000 +Date: Fri Jul 23 05:24:02 2021 +0000 - upstream: The RB_GENERATE_STATIC(3) macro expands to a series of + upstream: note successful authentication method in final "Authenticated - function definitions and not a statement, so there should be no semicolon - following them. Patch from Michael Forney + to ..." message and partial auth success messages (all at LogLevel=verbose) + ok dtucker@ - OpenBSD-Commit-ID: c975dd180580f0bdc0a4d5b7d41ab1f5e9b7bedd + OpenBSD-Commit-ID: 06834b89ceb89f8f16c5321d368a66c08f441984 -commit c298c4da574ab92df2f051561aeb3e106b0ec954 +commit a917e973a1b90b40ff1e950df083364b48fc6c78 Author: djm@openbsd.org -Date: Fri Jun 4 05:59:18 2021 +0000 +Date: Fri Jul 23 04:04:52 2021 +0000 - upstream: rework authorized_keys example section, removing irrelevant + upstream: Add a ForkAfterAuthentication ssh_config(5) counterpart - stuff, de-wrapping the example lines and better aligning the examples with - common usage and FAQs; ok jmc + to the ssh(1) -f flag. Last part of GHPR231 from Volker Diels-Grabsch. ok + dtucker - OpenBSD-Commit-ID: d59f1c9281f828148e2a2e49eb9629266803b75c + OpenBSD-Commit-ID: b18aeda12efdebe2093d55263c90fe4ea0bce0d3 -commit d9cb35bbec5f623589d7c58fc094817b33030f35 +commit e0c5088f1c96a145eb6ea1dee438010da78f9ef5 Author: djm@openbsd.org -Date: Fri Jun 4 05:10:03 2021 +0000 - - upstream: adjust SetEnv description to clarify $TERM handling - - OpenBSD-Commit-ID: 8b8cc0124856bc1094949d55615e5c44390bcb22 - -commit 771f57a8626709f2ad207058efd68fbf30d31553 -Author: dtucker@openbsd.org -Date: Fri Jun 4 05:09:08 2021 +0000 +Date: Fri Jul 23 04:00:59 2021 +0000 - upstream: Switch the listening select loop from select() to - - pselect() and mask signals while checking signal flags, umasking for pselect - and restoring afterwards. Also restore signals before sighup_restart so they - don't remain blocked after restart. + upstream: Add a StdinNull directive to ssh_config(5) that allows - This prevents a race where a SIGTERM or SIGHUP can arrive between - checking the flag and calling select (eg if sshd is processing a - new connection) resulting in sshd not shutting down until the next - time it receives a new connection. bz#2158, with & ok djm@ + the config file to do the same thing as -n does on the ssh(1) commandline. + Patch from Volker Diels-Grabsch via GHPR231; ok dtucker - OpenBSD-Commit-ID: bf85bf880fd78e00d7478657644fcda97b9a936f + OpenBSD-Commit-ID: 66ddf3f15c76796d4dcd22ff464aed1edd62468e -commit f64f8c00d158acc1359b8a096835849b23aa2e86 +commit e3957e21ffdc119d6d04c0b1686f8e2fe052f5ea Author: djm@openbsd.org -Date: Fri Jun 4 05:02:40 2021 +0000 +Date: Fri Jul 23 03:57:20 2021 +0000 - upstream: allow ssh_config SetEnv to override $TERM, which is otherwise + upstream: make authorized_keys environment="..." directives - handled specially by the protocol. Useful in ~/.ssh/config to set TERM to - something generic (e.g. "xterm" instead of "xterm-256color") for destinations - that lack terminfo entries. feedback and ok dtucker@ + first-match-wins and more strictly limit their maximum number; prompted by + OOM reported by OSS-fuzz (35470). - OpenBSD-Commit-ID: 38b1ef4d5bc159c7d9d589d05e3017433e2d5758 + feedback and ok dtucker@ + + OpenBSD-Commit-ID: 01f63fc10dcd995e7aed9c378ad879161af83121 -commit 60107677dc0ce1e93c61f23c433ad54687fcd9f5 +commit d0bb1ce731762c55acb95817df4d5fab526c7ecd Author: djm@openbsd.org -Date: Fri Jun 4 04:02:21 2021 +0000 +Date: Fri Jul 23 03:37:52 2021 +0000 - upstream: correct extension name "no-presence-required" => + upstream: Let allowed signers files used by ssh-keygen(1) - "no-touch-required" + signatures support key lifetimes, and allow the verification mode to specify + a signature time to check at. This is intended for use by git to support + signing objects using ssh keys. ok dtucker@ - document "verify-required" option + OpenBSD-Commit-ID: 3e2c67b7dcd94f0610194d1e8e4907829a40cf31 + +commit 44142068dc7ef783d135e91ff954e754d2ed432e +Author: dtucker@openbsd.org +Date: Mon Jul 19 08:48:33 2021 +0000 + + upstream: Use SUDO when setting up hostkey. - OpenBSD-Commit-ID: 1879ff4062cf61d79b515e433aff0bf49a6c55c5 + OpenBSD-Regress-ID: 990cf4481cab8dad62e90818a9b4b36c533851a7 -commit ecc186e46e3e30f27539b4311366dfda502f0a08 -Author: Darren Tucker -Date: Wed Jun 2 13:54:11 2021 +1000 +commit 6b67f3f1d1d187597e54a139cc7785c0acebd9a2 +Author: dtucker@openbsd.org +Date: Mon Jul 19 05:08:54 2021 +0000 - Retire fbsd7 test target. + upstream: Increase time margin for rekey tests. Should help - It's the slowest of the selfhosted targets (since it's 32bit but has - most of the crypto algos). We still have coverage for 32bit i386. + reliability on very heavily loaded hosts. + + OpenBSD-Regress-ID: 4c28a0fce3ea89ebde441d7091464176e9730533 -commit 5de0867b822ec48b5eec9abde0f5f95d1d646546 +commit 7953e1bfce9e76bec41c1331a29bc6cff9d416b8 Author: Darren Tucker -Date: Wed Jun 2 11:21:40 2021 +1000 +Date: Mon Jul 19 13:47:51 2021 +1000 - Check for $OPENSSL in md5 fallback too. + Add sshfp-connect.sh file missed in previous. -commit 1db69d1b6542f8419c04cee7fd523a4a11004be2 -Author: Darren Tucker -Date: Wed Jun 2 11:17:54 2021 +1000 +commit b75a80fa8369864916d4c93a50576155cad4df03 +Author: dtucker@openbsd.org +Date: Mon Jul 19 03:13:28 2021 +0000 - Add dfly60 target. + upstream: Ensure that all returned SSHFP records for the specified host + + name and hostkey type match instead of only one. While there, simplify the + code somewhat and add some debugging. Based on discussion in bz#3322, ok + djm@. + + OpenBSD-Commit-ID: 0a6a0a476eb7f9dfe8fe2c05a1a395e3e9b22ee4 -commit a3f2dd955f1c19cad387a139f0e719af346ca6ef +commit 1cc1fd095393663cd72ddac927d82c6384c622ba Author: dtucker@openbsd.org -Date: Wed Jun 2 00:17:45 2021 +0000 +Date: Mon Jul 19 02:21:50 2021 +0000 - upstream: Merge back shell portability changes + upstream: Id sync only, -portable already has this. - bringing it back in sync with -portable. + Put dh_set_moduli_file call inside ifdef WITH_OPENSSL. Fixes + build with OPENSSL=no. - OpenBSD-Regress-ID: c07905ba931e66ad7d849b87b7d19648007175d1 + OpenBSD-Commit-ID: af54abbebfb12bcde6219a44d544e18204defb15 -commit 9d482295c9f073e84d75af46b720a1c0f7ec2867 +commit 33abbe2f4153f5ca5c874582f6a7cc91ae167485 Author: dtucker@openbsd.org -Date: Tue Jun 1 23:56:20 2021 +0000 +Date: Mon Jul 19 02:46:34 2021 +0000 - upstream: Use a default value for $OPENSSL, + upstream: Add test for host key verification via SSHFP records. This - allowing it to be overridden. Do the same in the PuTTY tests since it's - needed there and not exported by test-exec.sh. + requires some external setup to operate so is disabled by default (see + comments in sshfp-connect.sh). - OpenBSD-Regress-ID: c49dcd6aa7602a8606b7afa192196ca1fa65de16 + OpenBSD-Regress-ID: c52c461bd1df3a803d17498917d156ef64512fd9 -commit 07660b3c99f8ea74ddf4a440e55c16c9f7fb3dd1 +commit f0cd000d8e3afeb0416dce1c711c3d7c28d89bdd Author: dtucker@openbsd.org -Date: Mon May 24 10:25:18 2021 +0000 +Date: Mon Jul 19 02:29:28 2021 +0000 - upstream: Find openssl binary via environment variable. This + upstream: Add ed25519 key and test SSHFP export of it. Only test - allows overriding if necessary (eg in -portable where we're testing against a - specific version of OpenSSL). + RSA SSHFP export if we have RSA functionality compiled in. - OpenBSD-Regress-ID: 491f39cae9e762c71aa4bf045803d077139815c5 + OpenBSD-Regress-ID: b4ff5181b8c9a5862e7f0ecdd96108622333a9af -commit 1a4d1da9188d7c88f646b61f0d6a3b34f47c5439 -Author: djm@openbsd.org -Date: Fri May 21 04:03:47 2021 +0000 +commit 0075511e27e5394faa28edca02bfbf13b9a6693e +Author: dtucker@openbsd.org +Date: Mon Jul 19 00:16:26 2021 +0000 - upstream: fix memleak in test + upstream: Group keygen tests together. - OpenBSD-Regress-ID: 5e529d0982aa04666604936df43242e97a7a6f81 + OpenBSD-Regress-ID: 07e2d25c527bb44f03b7c329d893a1f2d6c5c40c -commit 60455a5d98065a73ec9a1f303345856bbd49aecc -Author: djm@openbsd.org -Date: Fri May 21 03:59:01 2021 +0000 +commit 034828820c7e62652e7c48f9ee6b67fb7ba6fa26 +Author: dtucker@openbsd.org +Date: Sun Jul 18 23:10:10 2021 +0000 - upstream: also check contents of remaining string + upstream: Add test for ssh-keygen printing of SSHFP records. - OpenBSD-Regress-ID: d526fa07253f4eebbc7d6205a0ab3d491ec71a28 + OpenBSD-Regress-ID: fde9566b56eeb980e149bbe157a884838507c46b -commit 39f6cd207851d7b67ca46903bfce4a9f615b5b1c +commit 52c3b6985ef1d5dadb4c4fe212f8b3a78ca96812 Author: djm@openbsd.org -Date: Fri May 21 03:48:07 2021 +0000 +Date: Sat Jul 17 00:38:11 2021 +0000 - upstream: unit test for misc.c:strdelim() that mostly servces to - - highlight its inconsistencies + upstream: wrap some long lines - OpenBSD-Regress-ID: 8d2bf970fcc01ccc6e36a5065f89b9c7fa934195 + OpenBSD-Commit-ID: 4f5186b1466656762dae37d3e569438d900c350d -commit 7a3a1dd2c7d4461962acbcc0ebee9445ba892be0 -Author: Darren Tucker -Date: Thu May 27 21:23:15 2021 +1000 +commit 43ec991a782791d0b3f42898cd789f99a07bfaa4 +Author: djm@openbsd.org +Date: Sat Jul 17 00:36:53 2021 +0000 - Put minix3 config in the host-specific block. + upstream: fix sftp on ControlPersist connections, broken by recent + + SessionType change; spotted by sthen@ + + OpenBSD-Commit-ID: 4c5ddc5698790ae6ff50d2a4f8f832f0eeeaa234 -commit 59a194825f12fff8a7f75d91bf751ea17645711b +commit 073f45c236550f158c9a94003e4611c07dea5279 Author: djm@openbsd.org -Date: Mon May 31 06:48:42 2021 +0000 +Date: Fri Jul 16 09:00:23 2021 +0000 - upstream: Hash challenge supplied by client during FIDO key enrollment + upstream: Explicitly check for and start time-based rekeying in the - prior to passing it to libfido2, which does expect a hash. + client and server mainloops. - There is no effect for users who are simply generating FIDO keys using - ssh-keygen - by default we generate a random 256 bit challenge, but - people building attestation workflows around our tools should now have - a more consistent experience (esp. fewer failures when they fail to - guess the magic 32-byte challenge length requirement). + Previously the rekey timeout could expire but rekeying would not start + until a packet was sent or received. This could cause us to spin in + select() on the rekey timeout if the connection was quiet. ok markus@ - OpenBSD-Commit-ID: b8d5363a6a7ca3b23dc28f3ca69470472959f2b5 + OpenBSD-Commit-ID: 4356cf50d7900f3df0a8f2117d9e07c91b9ff987 -commit eb68e669bc8ab968d4cca5bf1357baca7136a826 -Author: Darren Tucker -Date: Thu May 27 21:14:15 2021 +1000 +commit ef7c4e52d5d840607f9ca3a302a4cbb81053eccf +Author: jmc@openbsd.org +Date: Wed Jul 14 06:46:38 2021 +0000 - Include login_cap.h for login_getpwclass override. + upstream: reorder SessionType; ok djm - On minix3, login_getpwclass is __RENAME'ed to __login_getpwclass50 so - without this the include overriding login_getpwclass causes a compile - error. + OpenBSD-Commit-ID: c7dd0b39e942b1caf4976a0b1cf0fed33d05418c -commit 2063af71422501b65c7a92a5e14c0e6a3799ed89 +commit 8aa2f9aeb56506dca996d68ab90ab9c0bebd7ec3 Author: Darren Tucker -Date: Thu May 27 21:13:38 2021 +1000 +Date: Wed Jul 14 11:26:50 2021 +1000 - Add minix3 test target. + Make whitespace consistent. -commit 2e1efcfd9f94352ca5f4b6958af8a454f8cf48cd -Author: djm@openbsd.org -Date: Wed May 26 01:47:24 2021 +0000 +commit 4f4297ee9b8a39f4dfd243a74c5f51f9e7a05723 +Author: Darren Tucker +Date: Wed Jul 14 11:26:12 2021 +1000 - upstream: fix SEGV in UpdateHostkeys debug() message, triggered - - when the update removed more host keys than remain present. Fix tested by - reporter James Cook, via bugs@ - - OpenBSD-Commit-ID: 44f641f6ee02bb957f0c1d150495b60cf7b869d3 + Add ARM64 Linux self-hosted runner. -commit 9acd76e6e4d2b519773e7119c33cf77f09534909 -Author: naddy@openbsd.org -Date: Sun May 23 18:22:57 2021 +0000 +commit eda8909d1b0a85b9c3804a04d03ec6738fd9dc7f +Author: djm@openbsd.org +Date: Tue Jul 13 23:48:36 2021 +0000 - upstream: ssh: The client configuration keyword is + upstream: add a SessionType directive to ssh_config, allowing the - "hostbasedacceptedalgorithms" + configuration file to offer equivalent control to the -N (no session) and -s + (subsystem) command-line flags. - This fixes a mistake that slipped in when "HostbasedKeyTypes" was - renamed to "HostbasedAcceptedAlgorithms". + Part of GHPR#231 by Volker Diels-Grabsch with some minor tweaks; + feedback and ok dtucker@ - Bug report by zack@philomathiclife.com + OpenBSD-Commit-ID: 726ee931dd4c5cc7f1d7a187b26f41257f9a2d12 + +commit 7ae69f2628e338ba6e0eae7ee8a63bcf8fea7538 +Author: djm@openbsd.org +Date: Mon Jul 12 02:12:22 2021 +0000 + + upstream: fix some broken tests; clean up output - OpenBSD-Commit-ID: d745a7e8e50b2589fc56877f322ea204bc784f38 + OpenBSD-Regress-ID: 1d5038edb511dc4ce1622344c1e724626a253566 -commit 078a0e60c92700da4c536c93c007257828ccd05b +commit f5fc6a4c3404bbf65c21ca6361853b33d78aa87e Author: Darren Tucker -Date: Tue May 25 11:40:47 2021 +1000 +Date: Mon Jul 12 18:00:05 2021 +1000 - Rename README.md to ci-status.md. + Add configure-time detection for SSH_TIME_T_MAX. - The original intent was to provide a status page for the CIs configured - in that directory, but it had the side effect of replacing the top-level - README.md. + Should fix printing cert times exceeding INT_MAX (bz#3329) on platforms + were time_t is a long long. The limit used is for the signed type, so if + some system has a 32bit unsigned time_t then the lower limit will still + be imposed and we would need to add some way to detect this. Anyone using + an unsigned 64bit can let us know when it starts being a problem. -commit 7be4ac813662f68e89f23c50de058a49aa32f7e4 -Author: djm@openbsd.org -Date: Wed May 19 01:24:05 2021 +0000 +commit fd2d06ae4442820429d634c0a8bae11c8e40c174 +Author: dtucker@openbsd.org +Date: Mon Jul 12 06:22:57 2021 +0000 - upstream: restore blocking status on stdio fds before close - - ssh(1) needs to set file descriptors to non-blocking mode to operate - but it was not restoring the original state on exit. This could cause - problems with fds shared with other programs via the shell, e.g. + upstream: Make limit for time_t test unconditional in the - > $ cat > test.sh << _EOF - > #!/bin/sh - > { - > ssh -Fnone -oLogLevel=verbose ::1 hostname - > cat /usr/share/dict/words - > } | sleep 10 - > _EOF - > $ ./test.sh - > Authenticated to ::1 ([::1]:22). - > Transferred: sent 2352, received 2928 bytes, in 0.1 seconds - > Bytes per second: sent 44338.9, received 55197.4 - > cat: stdout: Resource temporarily unavailable + format_absolute_time fix for bz#3329 that allows printing of timestamps past + INT_MAX. This was incorrectly included with the previous commit. Based on + discussion with djm@. - This restores the blocking status for fds 0,1,2 (stdio) before ssh(1) - abandons/closes them. + OpenBSD-Commit-ID: 835936f6837c86504b07cabb596b613600cf0f6e + +commit 6c29b387cd64a57b0ec8ae7d2c8d02789d88fcc3 +Author: dtucker@openbsd.org +Date: Mon Jul 12 06:08:57 2021 +0000 + + upstream: Use existing format_absolute_time() function when - This was reported as bz3280 and GHPR246; ok dtucker@ + printing cert validity instead of doing it inline. Part of bz#3329. - OpenBSD-Commit-ID: 8cc67346f05aa85a598bddf2383fcfcc3aae61ce + OpenBSD-Commit-ID: a13d4e3c4f59644c23745eb02a09b2a4e717c00c -commit c4902e1a653c67fea850ec99c7537f358904c0af +commit 99981d5f8bfa383791afea03f6bce8454e96e323 Author: djm@openbsd.org -Date: Mon May 17 11:43:16 2021 +0000 +Date: Fri Jul 9 09:55:56 2021 +0000 - upstream: fix breakage of -W forwaring introduced in 1.554; reported by + upstream: silence redundant error message; reported by Fabian Stelzer - naddy@ and sthen@, ok sthen@ + OpenBSD-Commit-ID: 9349a703016579a60557dafd03af2fe1d44e6aa2 + +commit e86097813419b49d5bff5c4b51d1c3a5d4d2d804 +Author: John Ericson +Date: Sat Dec 26 11:40:49 2020 -0500 + + Re-indent krb5 section after pkg-config addition. + +commit 32dd2daa56c294e40ff7efea482c9eac536d8cbb +Author: John Ericson +Date: Sat Dec 26 11:40:49 2020 -0500 + + Support finding Kerberos via pkg-config - OpenBSD-Commit-ID: f72558e643a26dc4150cff6e5097b5502f6c85fd + This makes cross compilation easier. -commit afea01381ad1fcea1543b133040f75f7542257e6 +commit def7a72234d7e4f684d72d33a0f7229f9eee0aa4 +Author: Darren Tucker +Date: Fri Jul 9 14:34:06 2021 +1000 + + Update comments about EGD to include prngd. + +commit b5d23150b4e3368f4983fd169d432c07afeee45a Author: dtucker@openbsd.org -Date: Mon May 17 07:22:45 2021 +0000 +Date: Mon Jul 5 01:21:07 2021 +0000 - upstream: Regenerate moduli. + upstream: Fix a couple of whitespace things. Portable already has - OpenBSD-Commit-ID: 83c93a2a07c584c347ac6114d6329b18ce515557 + these so this removes two diffs between the two. + + OpenBSD-Commit-ID: 769f017ebafd8e741e337b3e9e89eb5ac73c9c56 -commit be2866d6207b090615ff083c9ef212b603816a56 -Author: Damien Miller -Date: Mon May 17 09:40:23 2021 +1000 +commit 8f57be9f279b8e905f9883066aa633c7e67b31cf +Author: dtucker@openbsd.org +Date: Mon Jul 5 01:16:46 2021 +0000 - Handle Android libc returning NULL pw->pw_passwd + upstream: Order includes as per style(9). Portable already has - Reported by Luke Dashjr + these so this removes a handful of diffs between the two. + + OpenBSD-Commit-ID: 8bd7452d809b199c19bfc49511a798f414eb4a77 -commit 5953c143008259d87342fb5155bd0b8835ba88e5 -Author: djm@openbsd.org -Date: Fri May 14 05:20:32 2021 +0000 +commit b75624f8733b3ed9e240f86cac5d4a39dae11848 +Author: dtucker@openbsd.org +Date: Mon Jul 5 00:50:25 2021 +0000 - upstream: fix previous: test saved no_shell_flag, not the one that just + upstream: Remove comment referencing now-removed - got clobbered + RhostsRSAAuthentication. ok djm@ - OpenBSD-Commit-ID: b8deace085d9d941b2d02f810243b9c302e5355d + OpenBSD-Commit-ID: 3d864bfbd99a1d4429a58e301688f3be464827a9 -commit 1e9fa55f4dc4b334651d569d3448aaa3841f736f +commit b67eb12f013c5441bb4f0893a97533582ad4eb13 Author: djm@openbsd.org -Date: Fri May 14 03:09:48 2021 +0000 +Date: Mon Jul 5 00:25:42 2021 +0000 - upstream: Fix ssh started with ControlPersist incorrectly executing a + upstream: allow spaces to appear in usernames for local to remote, - shell when the -N (no shell) option was specified. bz3290 reported by Richard - Schwab; patch from markus@ ok me + and scp -3 remote to remote copies. with & ok dtucker bz#1164 - OpenBSD-Commit-ID: ea1ea4af16a95687302f7690bdbe36a6aabf87e1 + OpenBSD-Commit-ID: e9b550f3a85ffbb079b6720833da31317901d6dd -commit d1320c492f655d8f5baef8c93899d79dded217a5 +commit 8c4ef0943e574f614fc7c6c7e427fd81ee64ab87 Author: dtucker@openbsd.org -Date: Wed May 12 11:34:30 2021 +0000 +Date: Fri Jul 2 07:20:44 2021 +0000 - upstream: Clarify language about moduli. While both ends of the + upstream: Remove obsolete comments about SSHv1 auth methods. ok - connection do need to use the same parameters (ie groups), the DH-GEX - protocol takes care of that and both ends do not need the same contents in - the moduli file, which is what the previous text suggested. ok djm@ jmc@ + djm@ - OpenBSD-Commit-ID: f0c18cc8e79c2fbf537a432a9070ed94e96a622a + OpenBSD-Commit-ID: 6060f70966f362d8eb4bec3da2f6c4712fbfb98f -commit d3cc4d650ce3e59f3e370b101778b0e8f1c02c4d -Author: djm@openbsd.org -Date: Fri May 7 04:11:51 2021 +0000 +commit 88908c9b61bcb99f16e8d398fc41e2b3b4be2003 +Author: Darren Tucker +Date: Sat Jul 3 23:00:19 2021 +1000 - upstream: include pid in LogVerbose spam + Remove reference to ChallengeResponse. - OpenBSD-Commit-ID: aacb86f96ee90c7cb84ec27452374285f89a7f00 + challenge_response_authentication was removed from the struct, keeping + kbd_interactive_authentication. -commit e3c032333be5fdbbaf2751f6f478e044922b4ec4 -Author: djm@openbsd.org -Date: Fri May 7 03:09:38 2021 +0000 +commit 321874416d610ad2158ce6112f094a4862c2e37f +Author: Darren Tucker +Date: Sat Jul 3 20:38:09 2021 +1000 - upstream: don't sigdie() in signal handler in privsep child process; - - this can end up causing sandbox violations per bz3286; ok dtucker@ - - OpenBSD-Commit-ID: a7f40b2141dca4287920da68ede812bff7ccfdda + Move signal.h up include order to match upstream. -commit a4039724a3f2abac810735fc95cf9114a3856049 -Author: dtucker@openbsd.org -Date: Fri May 7 09:23:40 2021 +0000 +commit 4fa83e2d0e32c2dd758653e0359984bbf1334f32 +Author: Darren Tucker +Date: Sat Jul 3 20:36:06 2021 +1000 - upstream: Increase ConnectionAttempts from 4 to 10 as the tests + Remove old OpenBSD version marker. - occasionally time out on heavily loaded hosts. + Looks like an accidental leftover from a sync. + +commit 9d5e31f55d5f3899b72645bac41a932d298ad73b +Author: Darren Tucker +Date: Sat Jul 3 20:34:19 2021 +1000 + + Remove duplicate error on error path. - OpenBSD-Regress-ID: 29a8cdef354fc9da471a301f7f65184770434f3a + There's an extra error() call on the listen error path, it looks like + its removal was missed during an upstream sync. -commit c0d7e36e979fa3cdb60f5dcb6ac9ad3fd018543b -Author: djm@openbsd.org -Date: Fri May 7 02:26:55 2021 +0000 +commit 888c459925c7478ce22ff206c9ac1fb812a40caf +Author: Darren Tucker +Date: Sat Jul 3 20:32:46 2021 +1000 - upstream: dump out a usable private key string too; inspired by Tyson + Remove some whitespace not in upstream. - Whitehead + Reduces diff vs OpenBSD by a small amount. + +commit 4d2d4d47a18d93f3e0a91a241a6fdb545bbf7dc2 +Author: Darren Tucker +Date: Sat Jul 3 19:27:43 2021 +1000 + + Replace remaining references to ChallengeResponse. - OpenBSD-Regress-ID: 65572d5333801cb2f650ebc778cbdc955e372058 + Portable had a few additional references to ChallengeResponse related to + UsePAM, replaces these with equivalent keyboard-interactive ones. -commit 24fee8973abdf1c521cd2c0047d89e86d9c3fc38 -Author: djm@openbsd.org -Date: Fri May 7 02:29:40 2021 +0000 +commit 53237ac789183946dac6dcb8838bc3b6b9b43be1 +Author: Darren Tucker +Date: Sat Jul 3 19:23:28 2021 +1000 - upstream: correct mistake in spec - the private key blobs are encoded + Sync remaining ChallengeResponse removal. - verbatim and not as strings (i.e. no 4-byte length header) + These were omitted from commit 88868fd131. + +commit 2c9e4b319f7e98744b188b0f58859d431def343b +Author: Darren Tucker +Date: Sat Jul 3 19:17:31 2021 +1000 + + Disable rocky84 to figure out why agent test fails + +commit bfe19197a92b7916f64a121fbd3c179abf15e218 +Author: Darren Tucker +Date: Fri Jul 2 15:43:28 2021 +1000 + + Remove now-unused SSHv1 enums. - OpenBSD-Commit-ID: 3606b5d443d72118c5b76c4af6dd87a5d5a4f837 + sRhostsRSAAuthentication and sRSAAuthentication are protocol 1 options + and are no longer used. -commit f43859159cc62396ad5d080f0b1f2635a67dac02 +commit c73b02d92d72458a5312bd098f32ce88868fd131 Author: dtucker@openbsd.org -Date: Tue May 4 22:53:52 2021 +0000 +Date: Fri Jul 2 05:11:20 2021 +0000 - upstream: Don't pass NULL as a string in debugging as it does not work + upstream: Remove references to ChallengeResponseAuthentication in - on some platforms in -portable. ok djm@ + favour of KbdInteractiveAuthentication. The former is what was in SSHv1, the + latter is what is in SSHv2 (RFC4256) and they were treated as somewhat but + not entirely equivalent. We retain the old name as deprecated alias so + config files continue to work and a reference in the man page for people + looking for it. - OpenBSD-Commit-ID: 937c892c99aa3c9c272a8ed78fa7c2aba3a44fc9 + Prompted by bz#3303 which pointed out the discrepancy between the two + when used with Match. Man page help & ok jmc@, with & ok djm@ + + OpenBSD-Commit-ID: 2c1bff8e5c9852cfcdab1f3ea94dfef5a22f3b7e -commit ac31aa3c6341905935e75f0539cf4a61bbe99779 -Author: djm@openbsd.org -Date: Mon May 3 00:16:45 2021 +0000 +commit f841fc9c8c7568a3b5d84a4cc0cefacb7dbc16b9 +Author: Darren Tucker +Date: Fri Jul 2 15:20:32 2021 +1000 - upstream: more debugging for UpdateHostKeys signature failures + Fix ifdefs around get_random_bytes_prngd. - OpenBSD-Commit-ID: 1ee95f03875e1725df15d5e4bea3e73493d57d36 + get_random_bytes_prngd() is used if either of PRNGD_PORT or PRNGD_SOCKET + are defined, so adjust ifdef accordingly. -commit 8e32e97e788e0676ce83018a742203614df6a2b3 +commit 0767627cf66574484b9c0834500b42ea04fe528a +Author: Damien Miller +Date: Fri Jul 2 14:30:23 2021 +1000 + + wrap get_random_bytes_prngd() in ifdef + + avoid unused static function warning + +commit f93fdc4de158386efe1116bd44c5b3f4a7a82c25 Author: Darren Tucker -Date: Sat May 1 20:07:47 2021 +1000 +Date: Mon Jun 28 13:06:37 2021 +1000 - Add obsd69 test target. + Add rocky84 test target. -commit f06893063597c5bb9d9e93f851c4070e77d2fba9 +commit d443006c0ddfa7f6a5bd9c0ae92036f3d5f2fa3b Author: djm@openbsd.org -Date: Fri Apr 30 04:29:53 2021 +0000 +Date: Fri Jun 25 06:30:22 2021 +0000 - upstream: a little debugging in the main mux process for status + upstream: fix decoding of X.509 subject name; from Leif Thuresson - confirmation failures in multiplexed sessions + via bz3327 ok markus@ - OpenBSD-Commit-ID: 6e27b87c95176107597035424e1439c3232bcb49 + OpenBSD-Commit-ID: 0ea2e28f39750dd388b7e317bc43dd997a217ae8 -commit e65cf00da6bc31e5f54603b7feb7252dc018c033 +commit 2a5704ec142202d387fda2d6872fd4715ab81347 Author: dtucker@openbsd.org -Date: Fri Apr 30 04:02:52 2021 +0000 +Date: Fri Jun 25 06:20:39 2021 +0000 - upstream: Remove now-unused skey function prototypes leftover from + upstream: Use better language to refer to the user. From l1ving - skey removal. + via github PR#250, ok jmc@ - OpenBSD-Commit-ID: 2fc36d519fd37c6f10ce74854c628561555a94c3 + OpenBSD-Commit-ID: 07ca3526626996613e128aeddf7748c93c4d6bbf + +commit 4bdf7a04797a0ea1c431a9d54588417c29177d19 +Author: dtucker@openbsd.org +Date: Fri Jun 25 03:38:17 2021 +0000 + + upstream: Replace SIGCHLD/notify_pipe kludge with pselect. + + Previously sshd's SIGCHLD handler would wake up select() by writing a + byte to notify_pipe. We can remove this by blocking SIGCHLD, checking + for child terminations then passing the original signal mask through + to pselect. This ensures that the pselect will immediately wake up if + a child terminates between wait()ing on them and the pselect. + + In -portable, for platforms that do not have pselect the kludge is still + there but is hidden behind a pselect interface. + + Based on other changes for bz#2158, ok djm@ + + OpenBSD-Commit-ID: 202c85de0b3bdf1744fe53529a05404c5480d813 + +commit c9f7bba2e6f70b7ac1f5ea190d890cb5162ce127 +Author: Darren Tucker +Date: Fri Jun 25 15:08:18 2021 +1000 + + Move closefrom() to before first malloc. + + When built against tcmalloc, tcmalloc allocates a descriptor for its + internal use, so calling closefrom() afterward causes the descriptor + number to be reused resulting in a corrupted connection. Moving the + closefrom a little earlier should resolve this. From kircherlike at + outlook.com via bz#3321, ok djm@ -commit ae5f9b0d5c8126214244ee6b35aae29c21028133 +commit 7ebfe4e439853b88997c9cfc2ff703408a1cca92 Author: Darren Tucker -Date: Thu Apr 29 13:01:50 2021 +1000 +Date: Fri Jun 18 20:41:45 2021 +1000 - Wrap sntrup761x25519 inside ifdef. + Put second -lssh in link line for sftp-server. - From balu.gajjala at gmail.com via bz#3306. + When building --without-openssl the recent port-prngd.c change adds + a dependency on atomicio, but since nothing else in sftp-server uses + it, the linker may not find it. Add a second -lssh similar to other + binaries. -commit 70a8dc138a6480f85065cdb239915ad4b7f928cf +commit e409d7966785cfd9f5970e66a820685c42169717 Author: Darren Tucker -Date: Wed Apr 28 14:44:07 2021 +1000 +Date: Fri Jun 18 18:34:08 2021 +1000 - Add status badges for Actions-based tests. + Try EGD/PRNGD if random device fails. + + When built --without-openssl, try EGD/PRGGD (if configured) as a last + resort before failing. -commit 40b59024cc3365815381474cdf4fe423102e391b +commit e43a898043faa3a965dbaa1193cc60e0b479033d Author: Darren Tucker -Date: Wed Apr 28 12:22:11 2021 +1000 +Date: Fri Jun 18 18:32:51 2021 +1000 - Add obsdsnap (OpenBSD snapshot) test target. + Split EGD/PRNGD interface into its own file. + + This will allow us to use it when building --without-openssl. -commit e627067ec8ef9ae8e7a638f4dbac91d52dee3e6d +commit acb2887a769a1b1912cfd7067f3ce04fad240260 Author: Darren Tucker -Date: Wed Apr 28 11:35:28 2021 +1000 +Date: Thu Jun 17 21:03:19 2021 +1000 - Add test building upstream OpenBSD source. + Handle GIDs > 2^31 in getgrouplist. + + When compiled in 32bit mode, the getgrouplist implementation may fail + for GIDs greater than LONG_MAX. Analysis and change from ralf.winkel + at tui.com. -commit 1b8108ebd12fc4ed0fb39ef94c5ba122558ac373 -Author: Darren Tucker -Date: Tue Apr 27 14:22:20 2021 +1000 +commit 31fac20c941126281b527605b73bff30a8f02edd +Author: dtucker@openbsd.org +Date: Thu Jun 10 09:46:28 2021 +0000 - Test against OpenSSL 1.1.0h instead of 1.1.0g. + upstream: Use $SUDO when reading sshd's pidfile here too. - 1.1.0g requires a perl glob module that's not installed by default. + OpenBSD-Regress-ID: 6bfb0d455d493f24839034a629c5306f84dbd409 -commit 9bc20efd39ce8525be33df3ee009f5a4564224f1 -Author: Darren Tucker -Date: Tue Apr 27 12:37:59 2021 +1000 +commit a3a58acffc8cc527f8fc6729486d34e4c3d27643 +Author: dtucker@openbsd.org +Date: Thu Jun 10 09:43:51 2021 +0000 - Use the default VM type for libcrypto ver tests. + upstream: Use $SUDO when reading sshd's pidfile in case it was + + created with a very restrictive umask. This resyncs with -portable. + + OpenBSD-Regress-ID: 07fd2af06df759d4f64b82c59094accca1076a5d -commit 9f79e80dc40965c2e73164531250b83b176c1eea -Author: Darren Tucker -Date: Tue Apr 27 12:24:10 2021 +1000 +commit 249ad4ae51cd3bc235e75a4846eccdf8b1416611 +Author: dtucker@openbsd.org +Date: Thu Jun 10 09:37:59 2021 +0000 - Always build OpenSSL shared. + upstream: Set umask when creating hostkeys to prevent excessive - This is the default for current versions but we need it to test against - earlier versions. + permissions warning. + + OpenBSD-Regress-ID: 382841db0ee28dfef7f7bffbd511803e1b8ab0ef -commit b3cc9fbdff2782eca79e33e02ac22450dc63bce9 -Author: Darren Tucker -Date: Tue Apr 27 09:18:02 2021 +1000 +commit 9d0892153c005cc65897e9372b01fa66fcbe2842 +Author: dtucker@openbsd.org +Date: Thu Jun 10 03:45:31 2021 +0000 - Fix custom OpenSSL tests. + upstream: Add regress test for SIGHUP restart - Check out specified OpenSSL version. Install custom libcrypto where - configure expects to find it. Remove unneeded OpenSSL config time - options. Older OpenSSL versions were not make -j safe so remove it. + while handling active and unauthenticated clients. Should catch anything + similar to the pselect bug just fixed in sshd.c. + + OpenBSD-Regress-ID: 3b3c19b5e75e43af1ebcb9586875b3ae3a4cac73 -commit 77532609874a99a19e3e2eb2d1b7fa93aef963bb -Author: Darren Tucker -Date: Mon Apr 26 17:18:25 2021 +1000 +commit 73f6f191f44440ca3049b9d3c8e5401d10b55097 +Author: dtucker@openbsd.org +Date: Thu Jun 10 03:14:14 2021 +0000 - Export CC and CFLAGS for c89 test. + upstream: Continue accept loop when pselect + + returns -1, eg if it was interrupted by a signal. This should prevent + the hang discovered by sthen@ wherein sshd receives a SIGHUP while it has + an unauthenticated child and goes on to a blocking read on a notify_pipe. + feedback deraadt@, ok djm@ + + OpenBSD-Commit-ID: 0243c1c5544fca0974dae92cd4079543a3fceaa0 -commit 33f62dfbe865f4de77980ab88774bf1eb5e4e040 -Author: Darren Tucker -Date: Mon Apr 26 17:13:44 2021 +1000 +commit c785c0ae134a8e8b5c82b2193f64c632a98159e4 +Author: djm@openbsd.org +Date: Tue Jun 8 22:30:27 2021 +0000 - Add c89 here too. + upstream: test that UserKnownHostsFile correctly accepts multiple + + arguments; would have caught readconf.c r1.356 regression + + OpenBSD-Regress-ID: 71ca54e66c2a0211b04999263e56390b1f323a6a -commit da9d59f526fce58e11cba49cd8eb011dc0bf5677 -Author: Darren Tucker -Date: Mon Apr 26 15:34:23 2021 +1000 +commit 1a6f6b08e62c78906a3032e8d9a83e721c84574e +Author: djm@openbsd.org +Date: Tue Jun 8 22:06:12 2021 +0000 - Add test against OpenSSL w/out ECC. + upstream: fix regression in r1.356: for ssh_config options that + + accepted multiple string arguments, ssh was only recording the first. + Reported by Lucas via bugs@ + + OpenBSD-Commit-ID: 7cbf182f7449bf1cb7c5b4452667dc2b41170d6d -commit 29e194a752359ebf85bf7fce100f23a0477fc4de -Author: Darren Tucker -Date: Mon Apr 26 14:49:59 2021 +1000 +commit 78e30af3e2b2dd540a341cc827c6b98dd8b0a6de +Author: djm@openbsd.org +Date: Tue Jun 8 07:40:12 2021 +0000 - Ensure we can still build with C89. + upstream: test argv_split() optional termination on comments + + OpenBSD-Regress-ID: 9fd1c4a27a409897437c010cfd79c54b639a059c -commit a38016d369d21df5d35f761f2b67e175e132ba22 -Author: Darren Tucker -Date: Mon Apr 26 14:29:03 2021 +1000 +commit a023138957ea2becf1c7f93fcc42b0aaac6f2b03 +Author: dtucker@openbsd.org +Date: Tue Jun 8 07:05:27 2021 +0000 - Interop test agains PuTTY. + upstream: Add testcases from bz#3319 for IPQoS and TunnelDevice + + being overridden on the command line. + + OpenBSD-Regress-ID: 801674d5d2d02abd58274a78cab2711f11de14a8 -commit 095b0307a77be8803768857cc6c0963fa52ed85b -Author: Darren Tucker -Date: Mon Apr 26 14:02:03 2021 +1000 +commit 660cea10b2cdc11f13ba99c89b1bbb368a4d9ff2 +Author: djm@openbsd.org +Date: Tue Jun 8 06:52:43 2021 +0000 - Support testing against arbitary libcrytpo vers. + upstream: sprinkle some "# comment" at end of configuration lines - Add tests against various LibreSSL and OpenSSL versions. + to test comment handling + + OpenBSD-Regress-ID: cb82fbf40bda5c257a9f742c63b1798e5a8fdda7 -commit b16082aa110fa7128ece2a9037ff420c4a285317 -Author: Darren Tucker -Date: Mon Apr 26 13:35:44 2021 +1000 +commit acc9c32dcb6def6c7d3688bceb4c0e59bd26b411 +Author: djm@openbsd.org +Date: Tue Jun 8 06:51:47 2021 +0000 - Add fbsd10 test target. + upstream: more descriptive failure message + + OpenBSD-Regress-ID: 5300f6faf1d9e99c0cd10827b51756c5510e3509 -commit 2c805f16b24ea37cc051c6018fcb05defab6e57a -Author: Darren Tucker -Date: Sun Apr 25 14:15:02 2021 +1000 +commit ce04dd4eae23d1c9cf7c424a702f48ee78573bc1 +Author: djm@openbsd.org +Date: Mon Jun 7 01:16:34 2021 +0000 - Disable compiler hardening on nbsd4. + upstream: test AuthenticationMethods inside a Match block as well - The system compiler supports -fstack-protector-all, but using it will - result in an internal compiler error on some files. + as in the main config section + + OpenBSD-Regress-ID: ebe0a686621b7cb8bb003ac520975279c28747f7 -commit 6a5d39305649da5dff1934ee54292ee0cebd579d -Author: Darren Tucker -Date: Sun Apr 25 13:01:34 2021 +1000 +commit 9018bd821fca17e26e92f7a7e51d9b24cd62f2db +Author: djm@openbsd.org +Date: Mon Jun 7 00:00:50 2021 +0000 - Add nbsd3, nbsd4 and nbsd9 test targets. + upstream: prepare for stricter sshd_config parsing that will refuse + + a config that has {Allow,Deny}{Users,Groups} on a line with no subsequent + arguments. Such lines are permitted but are nonsensical noops ATM + + OpenBSD-Regress-ID: ef65463fcbc0bd044e27f3fe400ea56eb4b8f650 -commit d1aed05bd2e4ae70f359a394dc60a2d96b88f78c -Author: Darren Tucker -Date: Sat Apr 24 22:03:46 2021 +1000 +commit a10f929d1ce80640129fc5b6bc1acd9bf689169e +Author: djm@openbsd.org +Date: Tue Jun 8 07:09:42 2021 +0000 - Comment out nbsd2 test target for now. + upstream: switch sshd_config parsing to argv_split() + + similar to the previous commit, this switches sshd_config parsing to + the newer tokeniser. Config parsing will be a little stricter wrt + quote correctness and directives appearing without arguments. + + feedback and ok markus@ + + tested in snaps for the last five or so days - thanks Theo and those who + caught bugs + + OpenBSD-Commit-ID: 9c4305631d20c2d194661504ce11e1f68b20d93e -commit a6b4ec94e5bd5a8a18cd2c9942d829d2e5698837 -Author: Darren Tucker -Date: Sat Apr 24 17:52:24 2021 +1000 +commit ea9e45c89a4822d74a9d97fef8480707d584da4d +Author: djm@openbsd.org +Date: Tue Jun 8 07:07:15 2021 +0000 - Add OPENBSD ORIGINAL marker. + upstream: Switch ssh_config parsing to use argv_split() + + This fixes a couple of problems with the previous tokeniser, + strdelim() + + 1. strdelim() is permissive wrt accepting '=' characters. This is + intended to allow it to tokenise "Option=value" but because it + cannot keep state, it will incorrectly split "Opt=val=val2". + 2. strdelim() has rudimentry handling of quoted strings, but it + is incomplete and inconsistent. E.g. it doesn't handle escaped + quotes inside a quoted string. + 3. It has no support for stopping on a (unquoted) comment. Because + of this readconf.c r1.343 added chopping of lines at '#', but + this caused a regression because these characters may legitimately + appear inside quoted strings. + + The new tokeniser is stricter is a number of cases, including #1 above + but previously it was also possible for some directives to appear + without arguments. AFAIK these were nonsensical in all cases, and the + new tokeniser refuses to accept them. + + The new code handles quotes much better, permitting quoted space as + well as escaped closing quotes. Finally, comment handling should be + fixed - the tokeniser will terminate only on unquoted # characters. + + feedback & ok markus@ + + tested in snaps for the last five or so days - thanks Theo and those who + caught bugs + + OpenBSD-Commit-ID: dc72fd12af9d5398f4d9e159d671f9269c5b14d5 -commit 3737c9f66ee590255546c4b637b6d2be669a11eb -Author: Darren Tucker -Date: Fri Apr 23 19:49:46 2021 +1000 +commit d786424986c04d1d375f231fda177c8408e05c3e +Author: dtucker@openbsd.org +Date: Tue Jun 8 07:02:46 2021 +0000 - Replace "==" (a bashism) with "=". + upstream: Check if IPQoS or TunnelDevice are already set before + + overriding. Prevents values in config files from overriding values supplied + on the command line. bz#3319, ok markus. + + OpenBSD-Commit-ID: f3b08b898c324debb9195e6865d8999406938f74 -commit a116b6f5be17a1dd345b7d54bf8aa3779a28a0df -Author: Darren Tucker -Date: Fri Apr 23 16:34:48 2021 +1000 +commit aae4b4d3585b9f944d7dbd3c9e5ba0006c55e457 +Author: djm@openbsd.org +Date: Tue Jun 8 06:54:40 2021 +0000 - Add nbsd2 test target. + upstream: Allow argv_split() to optionally terminate tokenisation + + when it encounters an unquoted comment. + + Add some additional utility function for working with argument + vectors, since we'll be switching to using them to parse + ssh/sshd_config shortly. + + ok markus@ as part of a larger diff; tested in snaps + + OpenBSD-Commit-ID: fd9c108cef2f713f24e3bc5848861d221bb3a1ac -commit 196bf2a9bb771f45d9b0429cee7d325962233c44 +commit da9f9acaac5bab95dca642b48e0c8182b246ab69 Author: Darren Tucker -Date: Fri Apr 23 14:54:10 2021 +1000 +Date: Mon Jun 7 19:19:23 2021 +1000 - Add obsd68 test target. + Save logs on failure for upstream test -commit e3ba6574ed69e8b7af725cf5e8a9edaac04ff077 +commit 76883c60161e5f3808787085a27a8c37f8cc4e08 Author: Darren Tucker -Date: Fri Apr 23 14:53:32 2021 +1000 +Date: Mon Jun 7 14:36:32 2021 +1000 - Remove dependency on bash. + Add obsdsnap-i386 upstream test target. -commit db1f9ab8feb838aee9f5b99c6fd3f211355dfdcf -Author: Darren Tucker -Date: Fri Apr 23 14:41:13 2021 +1000 +commit d45b9c63f947ec5ec314696e70281f6afddc0ac3 +Author: djm@openbsd.org +Date: Mon Jun 7 03:38:38 2021 +0000 - Add obsd67 test target. + upstream: fix debug message when finding a private key to match a + + certificate being attempted for user authentication. Previously it would + print the certificate's path, whereas it was supposed to be showing the + private key's path. Patch from Alex Sherwin via GHPR247 + + OpenBSD-Commit-ID: d5af3be66d0f22c371dc1fe6195e774a18b2327b -commit c039a6bf79192fe1daa9ddcc7c87dd98e258ae7c -Author: Darren Tucker -Date: Fri Apr 23 11:08:23 2021 +1000 +commit 530739d42f6102668aecd699be0ce59815c1eceb +Author: djm@openbsd.org +Date: Sun Jun 6 11:34:16 2021 +0000 - Re-add macos-11.0 test target. + upstream: Match host certificates against host public keys, not private + + keys. Allows use of certificates with private keys held in a ssh-agent. + Reported by Miles Zhou in bz3524; ok dtucker@ + + OpenBSD-Commit-ID: 25f5bf70003126d19162862d9eb380bf34bac22a -commit a6db3a47b56adb76870d59225ffb90a65bc4daf2 -Author: Darren Tucker -Date: Fri Apr 23 10:28:28 2021 +1000 +commit 4265215d7300901fd7097061c7517688ade82f8e +Author: djm@openbsd.org +Date: Sun Jun 6 03:40:39 2021 +0000 - Add openindiana test target. + upstream: Client-side workaround for a bug in OpenSSH 7.4: this release + + allows RSA/SHA2 signatures for public key authentication but fails to + advertise this correctly via SSH2_MSG_EXT_INFO. This causes clients of these + server to incorrectly match PubkeyAcceptedAlgorithms and potentially refuse + to offer valid keys. + + Reported by and based on patch from Gordon Messmer via bz3213, thanks + also for additional analysis by Jakub Jelen. ok dtucker + + OpenBSD-Commit-ID: d6d0b7351d5d44c45f3daaa26efac65847a564f7 -commit 3fe7e73b025c07eda46d78049f1da8ed7dfc0c69 -Author: Darren Tucker -Date: Fri Apr 23 10:26:35 2021 +1000 +commit bda270d7fb8522d43c21a79a4b02a052d7c64de8 +Author: djm@openbsd.org +Date: Sun Jun 6 03:17:02 2021 +0000 - Test krb5 on Solaris 11 too. + upstream: degrade gracefully if a sftp-server offers the + + limits@openssh.com extension but fails when the client tries to invoke it. + Reported by Hector Martin via bz3318 + + OpenBSD-Commit-ID: bd9d1839c41811616ede4da467e25746fcd9b967 -commit f57fbfe5eb02df1a91f1a237c4d27165afd87c13 -Author: Darren Tucker -Date: Thu Apr 22 22:27:26 2021 +1000 +commit d345d5811afdc2d6923019b653cdd93c4cc95f76 +Author: djm@openbsd.org +Date: Sun Jun 6 03:15:39 2021 +0000 - Don't always set SUDO. + upstream: the limits@openssh.com extension was incorrectly marked - Rely on sourcing configs to set as appropriate. + as an operation that writes to the filesystem, which made it unavailable in + sftp-server read-only mode. Spotted by Hector Martin via bz3318 + + OpenBSD-Commit-ID: f054465230787e37516c4b57098fc7975e00f067 -commit e428f29402fb6ac140b52f8f12e06ece7bb104a0 -Author: Darren Tucker -Date: Thu Apr 22 22:26:08 2021 +1000 +commit 2b71010d9b43d7b8c9ec1bf010beb00d98fa765a +Author: naddy@openbsd.org +Date: Sat Jun 5 13:47:00 2021 +0000 - Remove now-unused 2nd arg to configs. + upstream: PROTOCOL.certkeys: update reference from IETF draft to + + RFC + + Also fix some typos. + ok djm@ + + OpenBSD-Commit-ID: 5e855b6c5a22b5b13f8ffa3897a868e40d349b44 -commit cb4ff640d79b3c736879582139778f016bbb2cd7 +commit aa99b2d9a3e45b943196914e8d8bf086646fdb54 Author: Darren Tucker -Date: Wed Apr 21 01:08:04 2021 +1000 +Date: Fri Jun 4 23:41:29 2021 +1000 - Add win10 test target. + Clear notify_pipe from readset if present. + + Prevents leaking an implementation detail to the caller. -commit 4457837238072836b2fa3107d603aac809624983 +commit 6de8dadf6b4d0627d35bca0667ca44b1d61c2c6b Author: Darren Tucker -Date: Tue Apr 20 23:31:29 2021 +1000 +Date: Fri Jun 4 23:24:25 2021 +1000 - Add nbsd8 test target. + space->tabs. -commit bd4fba22e14da2fa196009010aabec5a8ba9dd42 +commit c8677065070ee34c05c7582a9c2f58d8642e552d Author: Darren Tucker -Date: Sat Apr 17 09:55:47 2021 +1000 +Date: Fri Jun 4 18:39:48 2021 +1000 - Add obsd51 target. + Add pselect implementation for platforms without. + + This is basically the existing notify_pipe kludge from serverloop.c + moved behind a pselect interface. It works by installing a signal + handler that writes to a pipe that the select is watching, then calls + the original handler. + + The select call in serverloop will become pselect soon, at which point the + kludge will be removed from thereand will only exist in the compat layer. + Original code by markus, help from djm. -commit 9403d0e805c77a5741ea8c3281bbe92558c2f125 -Author: Darren Tucker -Date: Fri Apr 16 18:14:25 2021 +1000 +commit 7cd7f302d3a072748299f362f9e241d81fcecd26 +Author: Vincent Brillault +Date: Sun May 24 09:15:06 2020 +0200 - Add fbsd13 target. + auth_log: dont log partial successes as failures + + By design, 'partial' logins are successful logins, so initially with + authenticated set to 1, for which another authentication is required. As + a result, authenticated is always reset to 0 when partial is set to 1. + However, even if authenticated is 0, those are not failed login + attempts, similarly to attempts with authctxt->postponed set to 1. -commit e86968280e358e62649d268d41f698d64d0dc9fa -Author: Damien Miller -Date: Fri Apr 16 13:55:25 2021 +1000 +commit e7606919180661edc7f698e6a1b4ef2cfb363ebf +Author: djm@openbsd.org +Date: Fri Jun 4 06:19:07 2021 +0000 - depend + upstream: The RB_GENERATE_STATIC(3) macro expands to a series of + + function definitions and not a statement, so there should be no semicolon + following them. Patch from Michael Forney + + OpenBSD-Commit-ID: c975dd180580f0bdc0a4d5b7d41ab1f5e9b7bedd -commit 2fb25ca11e8b281363a2a2a4dec4c497a1475d9a -Author: Damien Miller -Date: Fri Apr 16 13:53:02 2021 +1000 +commit c298c4da574ab92df2f051561aeb3e106b0ec954 +Author: djm@openbsd.org +Date: Fri Jun 4 05:59:18 2021 +0000 - crank version in README and RPM spec files + upstream: rework authorized_keys example section, removing irrelevant + + stuff, de-wrapping the example lines and better aligning the examples with + common usage and FAQs; ok jmc + + OpenBSD-Commit-ID: d59f1c9281f828148e2a2e49eb9629266803b75c -commit b2b60ebab0cb77b5bc02d364d72e13db882f33ae +commit d9cb35bbec5f623589d7c58fc094817b33030f35 Author: djm@openbsd.org -Date: Fri Apr 16 03:42:00 2021 +0000 +Date: Fri Jun 4 05:10:03 2021 +0000 - upstream: openssh-8.6 + upstream: adjust SetEnv description to clarify $TERM handling - OpenBSD-Commit-ID: b5f3e133c846127ec114812248bc17eff07c3e19 + OpenBSD-Commit-ID: 8b8cc0124856bc1094949d55615e5c44390bcb22 -commit faf2b86a46c9281d237bcdec18c99e94a4eb820a -Author: markus@openbsd.org -Date: Thu Apr 15 16:24:31 2021 +0000 +commit 771f57a8626709f2ad207058efd68fbf30d31553 +Author: dtucker@openbsd.org +Date: Fri Jun 4 05:09:08 2021 +0000 - upstream: do not pass file/func to monitor; noted by Ilja van Sprundel; + upstream: Switch the listening select loop from select() to - ok djm@ + pselect() and mask signals while checking signal flags, umasking for pselect + and restoring afterwards. Also restore signals before sighup_restart so they + don't remain blocked after restart. - OpenBSD-Commit-ID: 85ae5c063845c410283cbdce685515dcd19479fa - -commit 2dc328023f60212cd29504fc05d849133ae47355 -Author: Damien Miller -Date: Wed Apr 14 11:42:55 2021 +1000 - - sshd don't exit on transient read errors + This prevents a race where a SIGTERM or SIGHUP can arrive between + checking the flag and calling select (eg if sshd is processing a + new connection) resulting in sshd not shutting down until the next + time it receives a new connection. bz#2158, with & ok djm@ - openssh-8.5 introduced a regression that would cause sshd to exit - because of transient read errors on the network socket (e.g. EINTR, - EAGAIN). Reported by balu.gajjala AT gmail.com via bz3297 + OpenBSD-Commit-ID: bf85bf880fd78e00d7478657644fcda97b9a936f -commit d5d6b7d76d171a2e6861609dcd92e714ee62ad88 -Author: Damien Miller -Date: Sat Apr 10 18:45:00 2021 +1000 +commit f64f8c00d158acc1359b8a096835849b23aa2e86 +Author: djm@openbsd.org +Date: Fri Jun 4 05:02:40 2021 +0000 - perform report_failed_grab() inline + upstream: allow ssh_config SetEnv to override $TERM, which is otherwise + + handled specially by the protocol. Useful in ~/.ssh/config to set TERM to + something generic (e.g. "xterm" instead of "xterm-256color") for destinations + that lack terminfo entries. feedback and ok dtucker@ + + OpenBSD-Commit-ID: 38b1ef4d5bc159c7d9d589d05e3017433e2d5758 -commit ea996ce2d023aa3c6d31125e2c3ebda1cb42db8c -Author: Damien Miller -Date: Sat Apr 10 18:22:57 2021 +1000 +commit 60107677dc0ce1e93c61f23c433ad54687fcd9f5 +Author: djm@openbsd.org +Date: Fri Jun 4 04:02:21 2021 +0000 - dedicated gnome-ssk-askpass3 source + upstream: correct extension name "no-presence-required" => - Compatibility with Wayland requires that we use the gdk_seat_grab() - API for grabbing mouse/keyboard, however these API don't exist in - Gtk+2. + "no-touch-required" - This branches gnome-ssk-askpass2.c => gnome-ssk-askpass3.c and - makes the changes to use the gdk_seat_grab() instead of grabbing - mouse/focus separately via GDK. + document "verify-required" option - In the future, we can also use the branched file to avoid some - API that has been soft-deprecated in GTK+3, e.g. gtk_widget_modify_fg + OpenBSD-Commit-ID: 1879ff4062cf61d79b515e433aff0bf49a6c55c5 -commit bfa5405da05d906ffd58216eb77c4375b62d64c2 +commit ecc186e46e3e30f27539b4311366dfda502f0a08 Author: Darren Tucker -Date: Thu Apr 8 15:18:15 2021 +1000 +Date: Wed Jun 2 13:54:11 2021 +1000 - Ensure valgrind-out exists. + Retire fbsd7 test target. - Normally the regress tests would create it, but running the unit tests - on their own would fail because the directory did not exist. + It's the slowest of the selfhosted targets (since it's 32bit but has + most of the crypto algos). We still have coverage for 32bit i386. -commit 1f189181f3ea09a9b08aa866f78843fec800874f +commit 5de0867b822ec48b5eec9abde0f5f95d1d646546 Author: Darren Tucker -Date: Thu Apr 8 15:17:19 2021 +1000 +Date: Wed Jun 2 11:21:40 2021 +1000 - Pass OBJ to unit test make invocation. - - At least the Valgrind unit tests uses $OBJ. + Check for $OPENSSL in md5 fallback too. -commit f42b550c281d28bd19e9dd6ce65069164f3482b0 +commit 1db69d1b6542f8419c04cee7fd523a4a11004be2 Author: Darren Tucker -Date: Thu Apr 8 14:20:12 2021 +1000 +Date: Wed Jun 2 11:17:54 2021 +1000 - Add pattern for valgrind-unit. + Add dfly60 target. -commit 19e534462710e98737478fd9c44768b50c27c4c6 -Author: Darren Tucker -Date: Thu Apr 8 13:31:08 2021 +1000 +commit a3f2dd955f1c19cad387a139f0e719af346ca6ef +Author: dtucker@openbsd.org +Date: Wed Jun 2 00:17:45 2021 +0000 - Run unit tests under valgrind. + upstream: Merge back shell portability changes - Run a separate build for the unit tests under Valgrind. They take long - enough that running in parallel with the other Valgrind tests helps. - -commit 80032102d05e866dc2a48a5caf760cf42c2e090e -Author: Darren Tucker -Date: Thu Apr 8 13:25:57 2021 +1000 - - ifdef out MIN and MAX. + bringing it back in sync with -portable. - In -portable, defines.h ensures that these are defined, so redefining - potentially causes a warning. We don't just delete it to make any - future code syncs a little but easier. bz#3293. + OpenBSD-Regress-ID: c07905ba931e66ad7d849b87b7d19648007175d1 -commit d1bd184046bc310c405f45da3614a1dc5b3e521a -Author: Darren Tucker -Date: Wed Apr 7 10:23:51 2021 +1000 +commit 9d482295c9f073e84d75af46b720a1c0f7ec2867 +Author: dtucker@openbsd.org +Date: Tue Jun 1 23:56:20 2021 +0000 - Remove only use of warn(). + upstream: Use a default value for $OPENSSL, - The warn() function is only used in one place in portable and does not - exist upstream. Upgrade the only instance it's used to fail() - (the privsep/sandbox+proxyconnect, from back when that was new) and - remove the now-unused function. - -commit fea8f4b1aa85026ad5aee5ad8e1599a8d5141fe0 -Author: Darren Tucker -Date: Wed Apr 7 10:18:32 2021 +1000 - - Move make_tmpdir() into portable-specific area. + allowing it to be overridden. Do the same in the PuTTY tests since it's + needed there and not exported by test-exec.sh. - Reduces diff vs OpenBSD and makes it more likely diffs will apply - cleanly. + OpenBSD-Regress-ID: c49dcd6aa7602a8606b7afa192196ca1fa65de16 -commit 13e5fa2acffd26e754c6ee1d070d0afd035d4cb7 +commit 07660b3c99f8ea74ddf4a440e55c16c9f7fb3dd1 Author: dtucker@openbsd.org -Date: Tue Apr 6 23:57:56 2021 +0000 +Date: Mon May 24 10:25:18 2021 +0000 - upstream: Add TEST_SSH_ELAPSED_TIMES environment variable to print the + upstream: Find openssl binary via environment variable. This - elapsed time in seconds of each test. This depends on "date +%s" which is - not specified by POSIX but is commonly implemented. + allows overriding if necessary (eg in -portable where we're testing against a + specific version of OpenSSL). - OpenBSD-Regress-ID: ec3c8c19ff49b2192116a0a646ee7c9b944e8a9c + OpenBSD-Regress-ID: 491f39cae9e762c71aa4bf045803d077139815c5 -commit ef4f46ab4387bb863b471bad124d46e8d911a79a -Author: Darren Tucker -Date: Wed Apr 7 09:59:15 2021 +1000 +commit 1a4d1da9188d7c88f646b61f0d6a3b34f47c5439 +Author: djm@openbsd.org +Date: Fri May 21 04:03:47 2021 +0000 - Move the TEST_SSH_PORT section down a bit. + upstream: fix memleak in test - This groups the portable-specific changes together and makes it a - little more likely that patches will apply cleanly. + OpenBSD-Regress-ID: 5e529d0982aa04666604936df43242e97a7a6f81 -commit 3674e33fa70dfa1fe69b345bf576113af7b7be11 -Author: Darren Tucker -Date: Wed Apr 7 10:05:10 2021 +1000 +commit 60455a5d98065a73ec9a1f303345856bbd49aecc +Author: djm@openbsd.org +Date: Fri May 21 03:59:01 2021 +0000 - Further split Valgrind tests. + upstream: also check contents of remaining string - Even split in two, the Valgrind tests take by far the longest to run, - so split them four ways to further increase parallelism. + OpenBSD-Regress-ID: d526fa07253f4eebbc7d6205a0ab3d491ec71a28 -commit 961af266b861e30fce1e26170ee0dbb5bf591f29 +commit 39f6cd207851d7b67ca46903bfce4a9f615b5b1c Author: djm@openbsd.org -Date: Tue Apr 6 23:24:30 2021 +0000 +Date: Fri May 21 03:48:07 2021 +0000 - upstream: include "ssherr.h" not ; from Balu Gajjala via + upstream: unit test for misc.c:strdelim() that mostly servces to - bz#3292 + highlight its inconsistencies - OpenBSD-Commit-ID: e9535cd9966eb2e69e73d1ede1f44905c30310bd - -commit e7d0a285dbdd65d8df16123ad90f15e91862f959 -Author: Damien Miller -Date: Wed Apr 7 08:50:38 2021 +1000 - - wrap struct rlimit in HAVE_GETRLIMIT too + OpenBSD-Regress-ID: 8d2bf970fcc01ccc6e36a5065f89b9c7fa934195 -commit f283a6c2e0a9bd9369e18462acd00be56fbe5b0d -Author: Damien Miller -Date: Wed Apr 7 08:20:35 2021 +1000 +commit 7a3a1dd2c7d4461962acbcc0ebee9445ba892be0 +Author: Darren Tucker +Date: Thu May 27 21:23:15 2021 +1000 - wrap getrlimit call in HAVE_GETRLIMIT; bz3291 + Put minix3 config in the host-specific block. -commit 679bdc4a5c9244f427a7aee9c14b0a0ed086da1f -Author: dtucker@openbsd.org -Date: Tue Apr 6 09:07:33 2021 +0000 +commit 59a194825f12fff8a7f75d91bf751ea17645711b +Author: djm@openbsd.org +Date: Mon May 31 06:48:42 2021 +0000 - upstream: Don't check return value of unsetenv(). It's part of the + upstream: Hash challenge supplied by client during FIDO key enrollment - environment setup and not part of the actual test, and some platforms - -portable runs on declare it as returning void, which prevents the test from - compiling. + prior to passing it to libfido2, which does expect a hash. - OpenBSD-Regress-ID: 24f08543ee3cdebc404f2951f3e388cc82b844a1 - -commit 320af2f3de6333aa123f1b088eca146a245e968a -Author: jmc@openbsd.org -Date: Sun Apr 4 11:36:56 2021 +0000 - - upstream: remove stray inserts; from matthias schmidt + There is no effect for users who are simply generating FIDO keys using + ssh-keygen - by default we generate a random 256 bit challenge, but + people building attestation workflows around our tools should now have + a more consistent experience (esp. fewer failures when they fail to + guess the magic 32-byte challenge length requirement). - OpenBSD-Commit-ID: 2c36ebdc54e14bbf1daad70c6a05479a073d5c63 + ok markus@ + + OpenBSD-Commit-ID: b8d5363a6a7ca3b23dc28f3ca69470472959f2b5 -commit 801f710953b24dd2f21939171c622eac77c7484d -Author: jmc@openbsd.org -Date: Sun Apr 4 06:11:24 2021 +0000 +commit eb68e669bc8ab968d4cca5bf1357baca7136a826 +Author: Darren Tucker +Date: Thu May 27 21:14:15 2021 +1000 - upstream: missing comma; from kawashima james + Include login_cap.h for login_getpwclass override. - OpenBSD-Commit-ID: 31cec6bf26c6db4ffefc8a070715ebef274e68ea + On minix3, login_getpwclass is __RENAME'ed to __login_getpwclass50 so + without this the include overriding login_getpwclass causes a compile + error. -commit b3ca08cb174266884d44ec710a84cd64c12414ea +commit 2063af71422501b65c7a92a5e14c0e6a3799ed89 Author: Darren Tucker -Date: Mon Apr 5 23:46:42 2021 +1000 +Date: Thu May 27 21:13:38 2021 +1000 - Install libcbor with libfido2. + Add minix3 test target. -commit f3ca8af87a4c32ada660da12ae95cf03d190c083 -Author: Damien Miller -Date: Sat Apr 3 18:21:08 2021 +1100 +commit 2e1efcfd9f94352ca5f4b6958af8a454f8cf48cd +Author: djm@openbsd.org +Date: Wed May 26 01:47:24 2021 +0000 - enable authopt and misc unit tests + upstream: fix SEGV in UpdateHostkeys debug() message, triggered - Neither were wired into the build, both required some build - adaptations for -portable + when the update removed more host keys than remain present. Fix tested by + reporter James Cook, via bugs@ + + OpenBSD-Commit-ID: 44f641f6ee02bb957f0c1d150495b60cf7b869d3 -commit dc1b45841fb97e3d7f655ddbcfef3839735cae5f -Author: djm@openbsd.org -Date: Sat Apr 3 06:58:30 2021 +0000 +commit 9acd76e6e4d2b519773e7119c33cf77f09534909 +Author: naddy@openbsd.org +Date: Sun May 23 18:22:57 2021 +0000 - upstream: typos in comments; GHPR#180 from Vill + upstream: ssh: The client configuration keyword is - =?UTF-8?q?e=20Skytt=C3=A4?= - MIME-Version: 1.0 - Content-Type: text/plain; charset=UTF-8 - Content-Transfer-Encoding: 8bit + "hostbasedacceptedalgorithms" - OpenBSD-Commit-ID: 93c732381ae0e2b680c79e67c40c1814b7ceed2c + This fixes a mistake that slipped in when "HostbasedKeyTypes" was + renamed to "HostbasedAcceptedAlgorithms". + + Bug report by zack@philomathiclife.com + + OpenBSD-Commit-ID: d745a7e8e50b2589fc56877f322ea204bc784f38 -commit 53ea05e09b04fd7b6dea66b42b34d65fe61b9636 +commit 078a0e60c92700da4c536c93c007257828ccd05b +Author: Darren Tucker +Date: Tue May 25 11:40:47 2021 +1000 + + Rename README.md to ci-status.md. + + The original intent was to provide a status page for the CIs configured + in that directory, but it had the side effect of replacing the top-level + README.md. + +commit 7be4ac813662f68e89f23c50de058a49aa32f7e4 Author: djm@openbsd.org -Date: Sat Apr 3 06:55:52 2021 +0000 +Date: Wed May 19 01:24:05 2021 +0000 - upstream: sync CASignatureAlgorithms lists with reality. GHPR#174 from + upstream: restore blocking status on stdio fds before close + + ssh(1) needs to set file descriptors to non-blocking mode to operate + but it was not restoring the original state on exit. This could cause + problems with fds shared with other programs via the shell, e.g. + + > $ cat > test.sh << _EOF + > #!/bin/sh + > { + > ssh -Fnone -oLogLevel=verbose ::1 hostname + > cat /usr/share/dict/words + > } | sleep 10 + > _EOF + > $ ./test.sh + > Authenticated to ::1 ([::1]:22). + > Transferred: sent 2352, received 2928 bytes, in 0.1 seconds + > Bytes per second: sent 44338.9, received 55197.4 + > cat: stdout: Resource temporarily unavailable + + This restores the blocking status for fds 0,1,2 (stdio) before ssh(1) + abandons/closes them. - Matt Hazinski + This was reported as bz3280 and GHPR246; ok dtucker@ - OpenBSD-Commit-ID: f05e4ca54d7e67b90fe58fe1bdb1d2a37e0e2696 - -commit 57ed647ee07bb883a2f2264231bcd1df6a5b9392 -Author: Damien Miller -Date: Sat Apr 3 17:47:37 2021 +1100 - - polish whitespace for portable files + OpenBSD-Commit-ID: 8cc67346f05aa85a598bddf2383fcfcc3aae61ce -commit 31d8d231eb9377df474746a822d380c5d68d7ad6 +commit c4902e1a653c67fea850ec99c7537f358904c0af Author: djm@openbsd.org -Date: Sat Apr 3 06:18:40 2021 +0000 +Date: Mon May 17 11:43:16 2021 +0000 - upstream: highly polished whitespace, mostly fixing spaces-for-tab + upstream: fix breakage of -W forwaring introduced in 1.554; reported by - and bad indentation on continuation lines. Prompted by GHPR#185 + naddy@ and sthen@, ok sthen@ - OpenBSD-Commit-ID: e5c81f0cbdcc6144df1ce468ec1bac366d8ad6e9 + OpenBSD-Commit-ID: f72558e643a26dc4150cff6e5097b5502f6c85fd -commit 34afde5c73b5570d6f8cce9b49993b23b77bfb86 -Author: djm@openbsd.org -Date: Sat Apr 3 05:54:14 2021 +0000 +commit afea01381ad1fcea1543b133040f75f7542257e6 +Author: dtucker@openbsd.org +Date: Mon May 17 07:22:45 2021 +0000 - upstream: whitespace (tab after space) + upstream: Regenerate moduli. - OpenBSD-Commit-ID: 0e2b3f7674e985d3f7c27ff5028e690ba1c2efd4 + OpenBSD-Commit-ID: 83c93a2a07c584c347ac6114d6329b18ce515557 -commit 7cd262c1c5a08cc7f4f30e3cab108ef089d0a57b -Author: Darren Tucker -Date: Sat Apr 3 16:59:10 2021 +1100 +commit be2866d6207b090615ff083c9ef212b603816a56 +Author: Damien Miller +Date: Mon May 17 09:40:23 2021 +1000 - Save config.h and config.log on failure too. + Handle Android libc returning NULL pw->pw_passwd + + Reported by Luke Dashjr -commit 460aee9298f365357e9fd26851c22e0dca51fd6a +commit 5953c143008259d87342fb5155bd0b8835ba88e5 Author: djm@openbsd.org -Date: Sat Apr 3 05:46:41 2021 +0000 +Date: Fri May 14 05:20:32 2021 +0000 - upstream: fix incorrect plural; from Ville Skyt + upstream: fix previous: test saved no_shell_flag, not the one that just - =?UTF-8?q?t=C3=A4=20via=20GHPR#181?= - MIME-Version: 1.0 - Content-Type: text/plain; charset=UTF-8 - Content-Transfer-Encoding: 8bit + got clobbered - OpenBSD-Commit-ID: 92f31754c6296d8f403d7c293e09dc27292d22c9 + OpenBSD-Commit-ID: b8deace085d9d941b2d02f810243b9c302e5355d -commit 082804c14e548cada75c81003a3c68ee098138ee +commit 1e9fa55f4dc4b334651d569d3448aaa3841f736f Author: djm@openbsd.org -Date: Sat Apr 3 05:40:39 2021 +0000 +Date: Fri May 14 03:09:48 2021 +0000 - upstream: ensure that pkcs11_del_provider() is called before exit - - - some PKCS#11 providers get upset if C_Initialize is not matched with - C_Finalize. + upstream: Fix ssh started with ControlPersist incorrectly executing a - From Adithya Baglody via GHPR#234; ok markus + shell when the -N (no shell) option was specified. bz3290 reported by Richard + Schwab; patch from markus@ ok me - OpenBSD-Commit-ID: f8e770e03b416ee9a58f9762e162add900f832b6 + OpenBSD-Commit-ID: ea1ea4af16a95687302f7690bdbe36a6aabf87e1 -commit 464ebc82aa926dd132ec75a0b064574ef375675e -Author: djm@openbsd.org -Date: Sat Apr 3 05:28:43 2021 +0000 +commit d1320c492f655d8f5baef8c93899d79dded217a5 +Author: dtucker@openbsd.org +Date: Wed May 12 11:34:30 2021 +0000 - upstream: unused variable + upstream: Clarify language about moduli. While both ends of the - OpenBSD-Commit-ID: 85f6a394c8e0f60d15ecddda75176f112007b205 + connection do need to use the same parameters (ie groups), the DH-GEX + protocol takes care of that and both ends do not need the same contents in + the moduli file, which is what the previous text suggested. ok djm@ jmc@ + + OpenBSD-Commit-ID: f0c18cc8e79c2fbf537a432a9070ed94e96a622a -commit dc3c0be8208c488e64a8bcb7d9efad98514e0ffb +commit d3cc4d650ce3e59f3e370b101778b0e8f1c02c4d Author: djm@openbsd.org -Date: Sat Apr 3 05:21:46 2021 +0000 +Date: Fri May 7 04:11:51 2021 +0000 - upstream: Fix two problems in string->argv conversion: 1) multiple - - backslashes were not being dequoted correctly and 2) quoted space in the - middle of a string was being incorrectly split. - MIME-Version: 1.0 - Content-Type: text/plain; charset=UTF-8 - Content-Transfer-Encoding: 8bit - - A unit test for these cases has already been committed - - prompted by and based on GHPR#223 by Eero Häkkinen; ok markus@ + upstream: include pid in LogVerbose spam - OpenBSD-Commit-ID: d7ef27abb4eeeaf6e167e9312e4abe9e89faf1e4 - -commit f75bcbba58a08c670727ece5e3f8812125969799 -Author: Damien Miller -Date: Sat Apr 3 16:22:48 2021 +1100 - - missing bits from 259d648e + OpenBSD-Commit-ID: aacb86f96ee90c7cb84ec27452374285f89a7f00 -commit 4cbc4a722873d9b68cb5496304dc050d7168df78 +commit e3c032333be5fdbbaf2751f6f478e044922b4ec4 Author: djm@openbsd.org -Date: Wed Mar 31 21:59:26 2021 +0000 +Date: Fri May 7 03:09:38 2021 +0000 - upstream: cannot effectively test posix-rename extension after + upstream: don't sigdie() in signal handler in privsep child process; - changes in feature advertisment. + this can end up causing sandbox violations per bz3286; ok dtucker@ - OpenBSD-Regress-ID: 5e390bf88d379162aaa81b60ed86b34cb0c54d29 + OpenBSD-Commit-ID: a7f40b2141dca4287920da68ede812bff7ccfdda -commit 259d648e63e82ade4fe2c2c73c8b67fe57d9d049 -Author: djm@openbsd.org -Date: Fri Mar 19 04:23:50 2021 +0000 +commit a4039724a3f2abac810735fc95cf9114a3856049 +Author: dtucker@openbsd.org +Date: Fri May 7 09:23:40 2021 +0000 - upstream: add a test for misc.c:argv_split(), currently fails + upstream: Increase ConnectionAttempts from 4 to 10 as the tests - OpenBSD-Regress-ID: ad6b96d6ebeb9643b698b3575bdd6f78bb144200 + occasionally time out on heavily loaded hosts. + + OpenBSD-Regress-ID: 29a8cdef354fc9da471a301f7f65184770434f3a -commit 473ddfc2d6b602cb2d1d897e0e5c204de145cd9a +commit c0d7e36e979fa3cdb60f5dcb6ac9ad3fd018543b Author: djm@openbsd.org -Date: Fri Mar 19 03:25:01 2021 +0000 +Date: Fri May 7 02:26:55 2021 +0000 - upstream: split + upstream: dump out a usable private key string too; inspired by Tyson - OpenBSD-Regress-ID: f6c03c0e4c58b3b9e04b161757b8c10dc8378c34 + Whitehead + + OpenBSD-Regress-ID: 65572d5333801cb2f650ebc778cbdc955e372058 -commit 1339800fef8d0dfbfeabff71b34670105bcfddd2 +commit 24fee8973abdf1c521cd2c0047d89e86d9c3fc38 Author: djm@openbsd.org -Date: Wed Mar 31 22:16:34 2021 +0000 +Date: Fri May 7 02:29:40 2021 +0000 - upstream: Use new limits@openssh.com protocol extension to let the + upstream: correct mistake in spec - the private key blobs are encoded - client select good limits based on what the server supports. Split the - download and upload buffer sizes to allow them to be chosen independently. + verbatim and not as strings (i.e. no 4-byte length header) - In practice (and assuming upgraded sftp/sftp-server at each end), this - increases the download buffer 32->64KiB and the upload buffer - 32->255KiB. + OpenBSD-Commit-ID: 3606b5d443d72118c5b76c4af6dd87a5d5a4f837 + +commit f43859159cc62396ad5d080f0b1f2635a67dac02 +Author: dtucker@openbsd.org +Date: Tue May 4 22:53:52 2021 +0000 + + upstream: Don't pass NULL as a string in debugging as it does not work - Patches from Mike Frysinger; ok dtucker@ + on some platforms in -portable. ok djm@ - OpenBSD-Commit-ID: ebd61c80d85b951b794164acc4b2f2fd8e88606c + OpenBSD-Commit-ID: 937c892c99aa3c9c272a8ed78fa7c2aba3a44fc9 -commit 6653c61202d104e59c8e741329fcc567f7bc36b8 +commit ac31aa3c6341905935e75f0539cf4a61bbe99779 Author: djm@openbsd.org -Date: Wed Mar 31 21:58:07 2021 +0000 +Date: Mon May 3 00:16:45 2021 +0000 - upstream: do not advertise protocol extensions that have been - - disallowed by the command-line options (e.g. -p/-P/-R); ok dtucker@ + upstream: more debugging for UpdateHostKeys signature failures - OpenBSD-Commit-ID: 3a8a76b3f5131741aca4b41bfab8d101c9926205 + OpenBSD-Commit-ID: 1ee95f03875e1725df15d5e4bea3e73493d57d36 -commit 71241fc05db4bbb11bb29340b44b92e2575373d8 -Author: Damien Miller -Date: Mon Mar 29 15:14:25 2021 +1100 +commit 8e32e97e788e0676ce83018a742203614df6a2b3 +Author: Darren Tucker +Date: Sat May 1 20:07:47 2021 +1000 - gnome-ssh-askpass3 is a valid target here + Add obsd69 test target. -commit 8a9520836e71830f4fccca066dba73fea3d16bda +commit f06893063597c5bb9d9e93f851c4070e77d2fba9 Author: djm@openbsd.org -Date: Fri Mar 19 02:22:34 2021 +0000 +Date: Fri Apr 30 04:29:53 2021 +0000 - upstream: return non-zero exit status when killed by signal; bz#3281 ok + upstream: a little debugging in the main mux process for status - dtucker@ + confirmation failures in multiplexed sessions - OpenBSD-Commit-ID: 117b31cf3c807993077b596bd730c24da9e9b816 + OpenBSD-Commit-ID: 6e27b87c95176107597035424e1439c3232bcb49 -commit 1269b8a686bf1254b03cd38af78167a04aa6ec88 -Author: djm@openbsd.org -Date: Fri Mar 19 02:18:28 2021 +0000 +commit e65cf00da6bc31e5f54603b7feb7252dc018c033 +Author: dtucker@openbsd.org +Date: Fri Apr 30 04:02:52 2021 +0000 - upstream: increase maximum SSH2_FXP_READ to match the maximum - - packet size. Also handle zero-length reads that are borderline nonsensical - but not explicitly banned by the spec. Based on patch from Mike Frysinger, - feedback deraadt@ ok dtucker@ + upstream: Remove now-unused skey function prototypes leftover from - OpenBSD-Commit-ID: 4e67d60d81bde7b84a742b4ee5a34001bdf80d9c - -commit 860b67604416640e8db14f365adc3f840aebcb1f -Author: djm@openbsd.org -Date: Tue Mar 16 06:15:43 2021 +0000 - - upstream: don't let logging clobber errno before use + skey removal. - OpenBSD-Commit-ID: ce6cca370005c270c277c51c111bb6911e1680ec + OpenBSD-Commit-ID: 2fc36d519fd37c6f10ce74854c628561555a94c3 -commit 5ca8a9216559349c56e09039c4335636fd85c241 +commit ae5f9b0d5c8126214244ee6b35aae29c21028133 Author: Darren Tucker -Date: Sat Mar 13 14:40:43 2021 +1100 +Date: Thu Apr 29 13:01:50 2021 +1000 - Only call dh_set_moduli_file if using OpenSSL. + Wrap sntrup761x25519 inside ifdef. - Fixes link failure when configuring --without-openssl since dh.c is not - linked in. + From balu.gajjala at gmail.com via bz#3306. -commit 867a7dcf003c51d5a83f83565771a35f0d9530ac +commit 70a8dc138a6480f85065cdb239915ad4b7f928cf Author: Darren Tucker -Date: Sat Mar 13 13:52:53 2021 +1100 +Date: Wed Apr 28 14:44:07 2021 +1000 - Don't install moduli during tests. - - Now that we have TEST_SSH_MODULI_FILE pointing to the moduli in the - soure directory we don't need to install the file to prevent warnings - about it being missing. + Add status badges for Actions-based tests. -commit 0c054538fccf92b4a028008321d3711107bee6d5 +commit 40b59024cc3365815381474cdf4fe423102e391b Author: Darren Tucker -Date: Sat Mar 13 13:51:26 2021 +1100 - - Point TEST_SSH_MODULI_FILE at our own moduli. - - This will allow the test to run without requiring a moduli file - installed at the configured default path. - -commit 4d48219c72ab0c71238806f057f0e9630b7dd25c -Author: jsg@openbsd.org -Date: Fri Mar 12 05:18:01 2021 +0000 - - upstream: spelling - - OpenBSD-Commit-ID: 478bc3db04f62f1048ed6e1765400f3ab325e60f - -commit 88057eb6df912abf2678ea5c846d9d9cbc92752c -Author: dtucker@openbsd.org -Date: Fri Mar 12 04:08:19 2021 +0000 +Date: Wed Apr 28 12:22:11 2021 +1000 - upstream: Add ModuliFile keyword to sshd_config to specify the - - location of the "moduli" file containing the groups for DH-GEX. This will - allow us to run tests against arbitrary moduli files without having to - install them. ok djm@ - - OpenBSD-Commit-ID: 8df99d60b14ecaaa28f3469d01fc7f56bff49f66 + Add obsdsnap (OpenBSD snapshot) test target. -commit f07519a2af96109325b5a48b1af18b57601074ca -Author: djm@openbsd.org -Date: Fri Mar 12 03:43:40 2021 +0000 +commit e627067ec8ef9ae8e7a638f4dbac91d52dee3e6d +Author: Darren Tucker +Date: Wed Apr 28 11:35:28 2021 +1000 - upstream: pwcopy() struct passwd that we're going to reuse across a - - bunch of library calls; bz3273 ok dtucker@ - - OpenBSD-Commit-ID: b6eafa977b2e44607b1b121f5de855107809b762 + Add test building upstream OpenBSD source. -commit 69d6d4b0c8a88d3d1288415605f36e2df61a2f12 -Author: dtucker@openbsd.org -Date: Wed Mar 10 06:32:27 2021 +0000 +commit 1b8108ebd12fc4ed0fb39ef94c5ba122558ac373 +Author: Darren Tucker +Date: Tue Apr 27 14:22:20 2021 +1000 - upstream: Import regenerated moduli file. + Test against OpenSSL 1.1.0h instead of 1.1.0g. - OpenBSD-Commit-ID: 7ac6c252d2a5be8fbad4c66d9d35db507c9dac5b + 1.1.0g requires a perl glob module that's not installed by default. -commit e5895e8ecfac65086ea6b34d0d168409a66a15e1 -Author: djm@openbsd.org -Date: Wed Mar 10 04:58:45 2021 +0000 +commit 9bc20efd39ce8525be33df3ee009f5a4564224f1 +Author: Darren Tucker +Date: Tue Apr 27 12:37:59 2021 +1000 - upstream: no need to reset buffer after send_msg() as that is done - - for us; patch from Mike Frysinger - - OpenBSD-Commit-ID: 565516495ff8362a38231e0f1a087b8ae66da59c + Use the default VM type for libcrypto ver tests. -commit 721948e67488767df0fa0db71ff2578ee2bb9210 -Author: dtucker@openbsd.org -Date: Sat Mar 13 01:52:16 2021 +0000 +commit 9f79e80dc40965c2e73164531250b83b176c1eea +Author: Darren Tucker +Date: Tue Apr 27 12:24:10 2021 +1000 - upstream: Add TEST_SSH_MODULI_FILE variable to allow overriding of the - - moduli file used during the test run. + Always build OpenSSL shared. - OpenBSD-Regress-ID: be10f785263120edb64fc87db0e0d6570a10220a + This is the default for current versions but we need it to test against + earlier versions. -commit 82fef71e20ffef425b932bec26f5bc46aa1ed41c +commit b3cc9fbdff2782eca79e33e02ac22450dc63bce9 Author: Darren Tucker -Date: Fri Mar 12 15:58:57 2021 +1100 +Date: Tue Apr 27 09:18:02 2021 +1000 - Allow (but return EACCES) fstatat64 in sandbox. + Fix custom OpenSSL tests. - This is apparently used in some configurations of OpenSSL when glibc - has getrandom(). bz#3276, patch from Kris Karas, ok djm@ + Check out specified OpenSSL version. Install custom libcrypto where + configure expects to find it. Remove unneeded OpenSSL config time + options. Older OpenSSL versions were not make -j safe so remove it. -commit 1cd67ee15ce3d192ab51be22bc4872a6a7a4b6d9 +commit 77532609874a99a19e3e2eb2d1b7fa93aef963bb Author: Darren Tucker -Date: Fri Mar 12 13:16:10 2021 +1100 +Date: Mon Apr 26 17:18:25 2021 +1000 - Move generic includes outside of ifdef. - - This ensures that the macros in log.h are defined in the case where - either of --with-solaris-projects or --with-solaris-privs are used - without --with-solaris-contracts. bz#3278. + Export CC and CFLAGS for c89 test. -commit 2421a567a8862fe5102a4e7d60003ebffd1313dd +commit 33f62dfbe865f4de77980ab88774bf1eb5e4e040 Author: Darren Tucker -Date: Wed Mar 10 17:41:21 2021 +1100 +Date: Mon Apr 26 17:13:44 2021 +1000 - Import regenerated moduli file. + Add c89 here too. -commit e99080c05d9d48dbbdb022538533d53ae1bd567d -Author: millert@openbsd.org -Date: Sat Mar 6 20:36:31 2021 +0000 +commit da9d59f526fce58e11cba49cd8eb011dc0bf5677 +Author: Darren Tucker +Date: Mon Apr 26 15:34:23 2021 +1000 - upstream: Fix PRINT macro, the suffix param to sshlog() was missing. - - Also remove redundant __func__ prefix from PRINT calls as the macro already - adds __FILE__, __func__ and __LINE__. From Christos Zoulas. OK dtucker@ - - OpenBSD-Commit-ID: 01fdfa9c5541151b5461d9d7d6ca186a3413d949 + Add test against OpenSSL w/out ECC. -commit 160db17fc678ceb5e3fd4a7e006cc73866f484aa -Author: djm@openbsd.org -Date: Wed Mar 3 22:41:49 2021 +0000 +commit 29e194a752359ebf85bf7fce100f23a0477fc4de +Author: Darren Tucker +Date: Mon Apr 26 14:49:59 2021 +1000 - upstream: don't sshbuf_get_u32() into an enum; reported by goetze - - AT dovetail.com via bz3269 - - OpenBSD-Commit-ID: 99a30a8f1df9bd72be54e21eee5c56a0f050921a + Ensure we can still build with C89. -commit cffd033817a5aa388764b6661855dcdaabab0588 -Author: sthen@openbsd.org -Date: Wed Mar 3 21:40:16 2021 +0000 +commit a38016d369d21df5d35f761f2b67e175e132ba22 +Author: Darren Tucker +Date: Mon Apr 26 14:29:03 2021 +1000 - upstream: typo in other_hostkeys_message() display output, ok djm - - OpenBSD-Commit-ID: 276f58afc97b6f5826e0be58380b737603dbf5f5 + Interop test agains PuTTY. -commit 7fe141b96b13bd7dc67ca985e14d55b9bd8a03fd -Author: djm@openbsd.org -Date: Wed Mar 3 08:42:52 2021 +0000 +commit 095b0307a77be8803768857cc6c0963fa52ed85b +Author: Darren Tucker +Date: Mon Apr 26 14:02:03 2021 +1000 - upstream: needs FILE*; from Mike Frysinger + Support testing against arbitary libcrytpo vers. - OpenBSD-Commit-ID: dddb3aa9cb5792eeeaa37a1af67b5a3f25ded41d - -commit d2afd717e62d76bb41ab5f3ab4ce6f885c8edc98 -Author: Damien Miller -Date: Tue Mar 2 21:31:47 2021 +1100 - - update depend - -commit f0c4eddf7cf224ebcac1f07ac8afdb30c6e9fe0a -Author: Damien Miller -Date: Tue Mar 2 21:30:14 2021 +1100 - - update relnotes URL + Add tests against various LibreSSL and OpenSSL versions. -commit 67a8bb7fe62a381634db4c261720092e7d514a3d -Author: Damien Miller -Date: Tue Mar 2 21:29:54 2021 +1100 +commit b16082aa110fa7128ece2a9037ff420c4a285317 +Author: Darren Tucker +Date: Mon Apr 26 13:35:44 2021 +1000 - update RPM spec version numbers + Add fbsd10 test target. -commit 0a4b23b11b9a4e6eec332dd5c6ab2ac6f62aa164 -Author: djm@openbsd.org -Date: Tue Mar 2 01:48:18 2021 +0000 +commit 2c805f16b24ea37cc051c6018fcb05defab6e57a +Author: Darren Tucker +Date: Sun Apr 25 14:15:02 2021 +1000 - upstream: openssh-8.5 + Disable compiler hardening on nbsd4. - OpenBSD-Commit-ID: 185e85d60fe042b8f8fa1ef29d4ef637bdf397d6 + The system compiler supports -fstack-protector-all, but using it will + result in an internal compiler error on some files. -commit de3866383b6720ad4cad83be76fe4c8aa111a249 +commit 6a5d39305649da5dff1934ee54292ee0cebd579d Author: Darren Tucker -Date: Mon Mar 1 21:13:24 2021 +1100 +Date: Sun Apr 25 13:01:34 2021 +1000 - Only upload config logs if configure fails. + Add nbsd3, nbsd4 and nbsd9 test targets. -commit 85ff2a564ce838f8690050081176c1de1fb33116 -Author: dtucker@openbsd.org -Date: Sun Feb 28 22:56:30 2021 +0000 +commit d1aed05bd2e4ae70f359a394dc60a2d96b88f78c +Author: Darren Tucker +Date: Sat Apr 24 22:03:46 2021 +1000 - upstream: Add %k to list of keywords. From - - =?UTF-8?q?=20Eero=20H=C3=A4kkinenvia=20bz#3267?= - MIME-Version: 1.0 - Content-Type: text/plain; charset=UTF-8 - Content-Transfer-Encoding: 8bit - - OpenBSD-Commit-ID: 9c87f39a048cee2a7d1c8bab951b2f716256865e + Comment out nbsd2 test target for now. -commit e774bac35933e71f924f4301786e7fb5bbe1422f -Author: dtucker@openbsd.org -Date: Sun Feb 28 01:50:47 2021 +0000 +commit a6b4ec94e5bd5a8a18cd2c9942d829d2e5698837 +Author: Darren Tucker +Date: Sat Apr 24 17:52:24 2021 +1000 - upstream: Do not try to reset signal handler for signal 0 in - - subprocess. Prevents spurious debug message. ok djm@ - - OpenBSD-Commit-ID: 7f9785e292dcf304457566ad4637effd27ad1d46 + Add OPENBSD ORIGINAL marker. -commit 351c5dbbd74ce300c4f058112f9731c867c6e225 -Author: djm@openbsd.org -Date: Sat Feb 27 23:42:37 2021 +0000 +commit 3737c9f66ee590255546c4b637b6d2be669a11eb +Author: Darren Tucker +Date: Fri Apr 23 19:49:46 2021 +1000 - upstream: fix alphabetic ordering of options; spotted by Iain Morgan - - OpenBSD-Commit-ID: f955fec617d74af0feb5b275831a9fee813d7ad5 + Replace "==" (a bashism) with "=". -commit 0d1c9dbe578597f8d45d3ac7690df10d32d743e5 +commit a116b6f5be17a1dd345b7d54bf8aa3779a28a0df Author: Darren Tucker -Date: Sat Feb 27 12:25:25 2021 +1100 +Date: Fri Apr 23 16:34:48 2021 +1000 - zlib is now optional. + Add nbsd2 test target. -commit b7c6ee7b437d9adfd19ef49d6c0f19f13f26f9b3 -Author: Jeffrey H. Johnson <61629094+johnsonjh@users.noreply.github.com> -Date: Sat Feb 27 01:04:58 2021 +0000 +commit 196bf2a9bb771f45d9b0429cee7d325962233c44 +Author: Darren Tucker +Date: Fri Apr 23 14:54:10 2021 +1000 - Fix punctuatio and typo in README.md. - - Some very minor fixes, missing 's' and punctuation. + Add obsd68 test target. -commit 6248b86074804983e8f7a2058856a516dbfe2924 -Author: Damien Miller -Date: Fri Feb 26 16:45:50 2021 +1100 +commit e3ba6574ed69e8b7af725cf5e8a9edaac04ff077 +Author: Darren Tucker +Date: Fri Apr 23 14:53:32 2021 +1000 - Revert "ssh: optional bind interface if bind address specified." - - This reverts commit 5a878a71a3528c2626aa1d331934fd964782d41c. - - Apologies - I accidentally pushed this. + Remove dependency on bash. -commit 493339a940b13be6071629c3c2dd5a3b6fc17023 -Author: Damien Miller -Date: Fri Feb 26 15:45:38 2021 +1100 +commit db1f9ab8feb838aee9f5b99c6fd3f211355dfdcf +Author: Darren Tucker +Date: Fri Apr 23 14:41:13 2021 +1000 - detech BSD libc hash functions in libbsd / libmd - - Some Linux distributions are shipping the BSD-style hashing functions - (e.g. SHA256Update) in libbsd and/or libmd. Detect this situation to - avoid header/replacement clashes later. ok dtucker@ + Add obsd67 test target. -commit 5a878a71a3528c2626aa1d331934fd964782d41c -Author: Dmitrii Turlupov -Date: Thu Feb 4 16:27:31 2021 +0300 +commit c039a6bf79192fe1daa9ddcc7c87dd98e258ae7c +Author: Darren Tucker +Date: Fri Apr 23 11:08:23 2021 +1000 - ssh: optional bind interface if bind address specified. - - Allows the -b and -B options to be used together. - For example, when the interface is in the VRF. + Re-add macos-11.0 test target. -commit 1fe4d70df94d3bcc2b35fd57cad6b5fc4b2d7b16 -Author: djm@openbsd.org -Date: Fri Feb 26 04:18:42 2021 +0000 +commit a6db3a47b56adb76870d59225ffb90a65bc4daf2 +Author: Darren Tucker +Date: Fri Apr 23 10:28:28 2021 +1000 - upstream: remove this KEX fuzzer; it's awkward to use and doesn't play - - nice with popular fuzzing drivers like libfuzzer. AFAIK nobody has used it - but me. - - OpenBSD-Regress-ID: cad919522b3ce90c147c95abaf81b0492ac296c9 + Add openindiana test target. -commit 24a3a67bd7421740d08803b84bd784e764107928 +commit 3fe7e73b025c07eda46d78049f1da8ed7dfc0c69 Author: Darren Tucker -Date: Fri Feb 26 11:49:19 2021 +1100 +Date: Fri Apr 23 10:26:35 2021 +1000 - Remove macos-11.00 PAM test target too. - - These are failing apparently due to some kind of infrastructure problem, - making it look like every commit is busted. + Test krb5 on Solaris 11 too. -commit 473201783f732ca8b0ec528b56aa55fa0d8cf717 -Author: djm@openbsd.org -Date: Fri Feb 26 00:16:58 2021 +0000 +commit f57fbfe5eb02df1a91f1a237c4d27165afd87c13 +Author: Darren Tucker +Date: Thu Apr 22 22:27:26 2021 +1000 - upstream: a bit more debugging behind #ifdef DEBUG_SK + Don't always set SUDO. - OpenBSD-Commit-ID: d9fbce14945721061cb322f0084c2165d33d1993 + Rely on sourcing configs to set as appropriate. -commit fd9fa76a344118fe1ef10b9a6c9e85d39599e9a8 +commit e428f29402fb6ac140b52f8f12e06ece7bb104a0 Author: Darren Tucker -Date: Fri Feb 26 01:15:10 2021 +1100 +Date: Thu Apr 22 22:26:08 2021 +1000 - Remove macos-11.0 from the test target list. - - It has been consistently failing for the past few days with a github - actions internal error. + Remove now-unused 2nd arg to configs. -commit 476ac8e9d33dbf96ef97aab812b8d7089d0cdc24 -Author: Philip Hands -Date: Wed Feb 24 23:43:16 2021 +0100 +commit cb4ff640d79b3c736879582139778f016bbb2cd7 +Author: Darren Tucker +Date: Wed Apr 21 01:08:04 2021 +1000 - tidy the $INSTALLKEY_SH code layout a little - - SSH-Copy-ID-Upstream: 78178aa5017222773e4c23d9001391eeaeca8983 + Add win10 test target. -commit 983e05ef3b81329d76d6a802b39ad0d1f637c06c -Author: Jakub Jelen -Date: Tue Sep 29 10:02:45 2020 +0000 +commit 4457837238072836b2fa3107d603aac809624983 +Author: Darren Tucker +Date: Tue Apr 20 23:31:29 2021 +1000 - if unable to add a missing newline, fail - - SSH-Copy-ID-Upstream: 76b25e18f55499ea9edb4c4d6dc4a80bebc36d95 + Add nbsd8 test target. -commit 3594b3b015f6014591da88ba71bf6ff010be7411 -Author: Philip Hands -Date: Tue Oct 13 14:12:58 2020 +0200 +commit bd4fba22e14da2fa196009010aabec5a8ba9dd42 +Author: Darren Tucker +Date: Sat Apr 17 09:55:47 2021 +1000 - use $AUTH_KEY_DIR, now that we have it - - since that was a change made since jjelen's commit was written - - also, quote the variables - - SSH-Copy-ID-Upstream: 588cd8e5cbf95f3443d92b9ab27c5d73ceaf6616 + Add obsd51 target. -commit 333e25f7bc43cee6e36f766e39dad6f9918b318c -Author: Jakub Jelen -Date: Tue Sep 29 10:00:01 2020 +0000 +commit 9403d0e805c77a5741ea8c3281bbe92558c2f125 +Author: Darren Tucker +Date: Fri Apr 16 18:14:25 2021 +1000 - restorecon the correct directory - - if using different path for authorized_keys file - - SSH-Copy-ID-Upstream: 791a3df47b48412c726bff6f7b1d190721e65d51 + Add fbsd13 target. -commit 9beeab8a37a49a9e3ffb1972fff6621ee5bd7a71 -Author: djm@openbsd.org -Date: Thu Feb 25 03:27:34 2021 +0000 +commit e86968280e358e62649d268d41f698d64d0dc9fa +Author: Damien Miller +Date: Fri Apr 16 13:55:25 2021 +1000 - upstream: s/PubkeyAcceptedKeyTypes/PubkeyAcceptedAlgorithms/ - - OpenBSD-Regress-ID: 3dbc005fa29f69dc23d97e433b6dffed6fe7cb69 + depend -commit 2dd9870c16ddbd83740adeead5030d6840288c8f -Author: dtucker@openbsd.org -Date: Wed Feb 24 23:12:35 2021 +0000 +commit 2fb25ca11e8b281363a2a2a4dec4c497a1475d9a +Author: Damien Miller +Date: Fri Apr 16 13:53:02 2021 +1000 - upstream: Rename pubkeyacceptedkeytypes to pubkeyacceptedalgorithms in - - test to match change to config-dump output. - - OpenBSD-Regress-ID: 74c9a4ad50306be873d032819d5e55c24eb74d5d + crank version in README and RPM spec files -commit b9225c3a1c3f5827e31d5d64a71b8e0504a25619 -Author: dtucker@openbsd.org -Date: Wed Feb 24 01:18:08 2021 +0000 +commit b2b60ebab0cb77b5bc02d364d72e13db882f33ae +Author: djm@openbsd.org +Date: Fri Apr 16 03:42:00 2021 +0000 - upstream: Put obsolete aliases for hostbasedalgorithms and - - pubkeyacceptedalgorithms after their current names so that the config-dump - mode finds and uses the current names. Spotted by Phil Pennock. + upstream: openssh-8.6 - OpenBSD-Commit-ID: 5dd10e93cccfaff3aaaa09060c917adff04a9b15 + OpenBSD-Commit-ID: b5f3e133c846127ec114812248bc17eff07c3e19 -commit 8b8b60542d6652b2c91e0ef9e9cc81bcb65e6b42 -Author: djm@openbsd.org -Date: Tue Feb 23 21:55:08 2021 +0000 +commit faf2b86a46c9281d237bcdec18c99e94a4eb820a +Author: markus@openbsd.org +Date: Thu Apr 15 16:24:31 2021 +0000 - upstream: lots more s/key types/signature algorithms/ mostly in + upstream: do not pass file/func to monitor; noted by Ilja van Sprundel; - HostbasedAcceptedAlgorithms and HostKeyAlgorithms; prompted by Jakub Jelen + ok djm@ - OpenBSD-Commit-ID: 3f719de4385b1a89e4323b2549c66aae050129cb + OpenBSD-Commit-ID: 85ae5c063845c410283cbdce685515dcd19479fa -commit 0aeb508aaabc4818970c90831e3d21843c3c6d09 -Author: djm@openbsd.org -Date: Tue Feb 23 21:50:18 2021 +0000 +commit 2dc328023f60212cd29504fc05d849133ae47355 +Author: Damien Miller +Date: Wed Apr 14 11:42:55 2021 +1000 - upstream: Correct reference to signature algorithms as keys; from - - Jakub Jelen + sshd don't exit on transient read errors - OpenBSD-Commit-ID: 36f7ecee86fc811aa0f8e21e7a872eee044b4be5 + openssh-8.5 introduced a regression that would cause sshd to exit + because of transient read errors on the network socket (e.g. EINTR, + EAGAIN). Reported by balu.gajjala AT gmail.com via bz3297 -commit f186a020f2ba5f9c462a23293750e29ba0a746b1 -Author: Darren Tucker -Date: Tue Feb 23 16:05:22 2021 +1100 +commit d5d6b7d76d171a2e6861609dcd92e714ee62ad88 +Author: Damien Miller +Date: Sat Apr 10 18:45:00 2021 +1000 - Add a couple more test VMs. + perform report_failed_grab() inline -commit ffcdd3d90e74176b3bb22937ad1f65a6c1cd3f9d -Author: Darren Tucker -Date: Mon Feb 22 08:09:27 2021 +1100 +commit ea996ce2d023aa3c6d31125e2c3ebda1cb42db8c +Author: Damien Miller +Date: Sat Apr 10 18:22:57 2021 +1000 - Valgrind test: split and move up list. + dedicated gnome-ssk-askpass3 source - Since the valgrind test takes so long it approaches the limit allowed by - github, move it to the head of the list so it's the first one started and - split the longest tests out into a second instance that runs concurrently - with the first. - -commit c3b1636770785cc2830dedd0f22ef7d3d3491d6d -Author: djm@openbsd.org -Date: Tue Feb 23 00:05:31 2021 +0000 - - upstream: warn when the user specifies a ForwardAgent path that does + Compatibility with Wayland requires that we use the gdk_seat_grab() + API for grabbing mouse/keyboard, however these API don't exist in + Gtk+2. - not exist and exit if ExitOnForwardFailure is set; bz3264 + This branches gnome-ssk-askpass2.c => gnome-ssk-askpass3.c and + makes the changes to use the gdk_seat_grab() instead of grabbing + mouse/focus separately via GDK. - OpenBSD-Commit-ID: 72f7875865e723e464c71bf8692e83110699bf26 + In the future, we can also use the branched file to avoid some + API that has been soft-deprecated in GTK+3, e.g. gtk_widget_modify_fg -commit 5fcb0514949d61aadaf4a89cf16eb78fb47491ec +commit bfa5405da05d906ffd58216eb77c4375b62d64c2 Author: Darren Tucker -Date: Sat Feb 20 13:34:02 2021 +1100 +Date: Thu Apr 8 15:18:15 2021 +1000 - Disable rlimit sandbox, doesn't work with valgrind + Ensure valgrind-out exists. - Only run regress tests, runing unit tests as well makes it run longer - than allowed y github. - -commit bb0b9bf45396c19486080d3eb0a159f94de7e6ba -Author: Darren Tucker -Date: Sat Feb 20 13:06:25 2021 +1100 - - Upload valgrind logs on failure. + Normally the regress tests would create it, but running the unit tests + on their own would fail because the directory did not exist. -commit ebb3b75e974cb241c6b9b9f5881b09c7bd32b651 +commit 1f189181f3ea09a9b08aa866f78843fec800874f Author: Darren Tucker -Date: Fri Feb 19 22:18:50 2021 +1100 +Date: Thu Apr 8 15:17:19 2021 +1000 - Rename "vm" to "os" in selfhosted to match c-cpp. + Pass OBJ to unit test make invocation. - Should make it easier to share code or maybe merge at some point. + At least the Valgrind unit tests uses $OBJ. -commit 76c0be0fe0465cb2b975dbd409f8d38b55e55bcb +commit f42b550c281d28bd19e9dd6ce65069164f3482b0 Author: Darren Tucker -Date: Fri Feb 19 22:15:22 2021 +1100 +Date: Thu Apr 8 14:20:12 2021 +1000 - Upload regress failure logs in c-cpp too. + Add pattern for valgrind-unit. -commit 8751b6c3136f5225c40f41bbf29aa29e15795f6e +commit 19e534462710e98737478fd9c44768b50c27c4c6 Author: Darren Tucker -Date: Fri Feb 19 22:13:36 2021 +1100 +Date: Thu Apr 8 13:31:08 2021 +1000 - Comment out Solaris 64bit PAM build... + Run unit tests under valgrind. - until I can figure out why it's failing. - -commit e9f6d563c06886b277c6b9abafa99fa80726dc48 -Author: Darren Tucker -Date: Fri Feb 19 10:20:17 2021 +1100 - - Actually run Valgrind tests. - -commit 41d232e226624f1a81c17091c36b44c9010aae62 -Author: Darren Tucker -Date: Fri Feb 19 10:16:56 2021 +1100 - - Add test against Valgrind. - -commit e6528d91f12fba05f0ea64224091c9d0f38bdf1d -Author: Darren Tucker -Date: Thu Feb 18 16:30:01 2021 +1100 - - Add fbsd12 test target. + Run a separate build for the unit tests under Valgrind. They take long + enough that running in parallel with the other Valgrind tests helps. -commit 6506cb2798d98ff03a7cc06567c392a81f540680 +commit 80032102d05e866dc2a48a5caf760cf42c2e090e Author: Darren Tucker -Date: Thu Feb 18 15:21:13 2021 +1100 +Date: Thu Apr 8 13:25:57 2021 +1000 - Remove unused arg. + ifdef out MIN and MAX. + + In -portable, defines.h ensures that these are defined, so redefining + potentially causes a warning. We don't just delete it to make any + future code syncs a little but easier. bz#3293. -commit 93c31a623973b0fad508214593aab6ca94b11dcb +commit d1bd184046bc310c405f45da3614a1dc5b3e521a Author: Darren Tucker -Date: Thu Feb 18 14:54:07 2021 +1100 +Date: Wed Apr 7 10:23:51 2021 +1000 - Add DEBUG_SK to kitchensink builds. + Remove only use of warn(). + + The warn() function is only used in one place in portable and does not + exist upstream. Upgrade the only instance it's used to fail() + (the privsep/sandbox+proxyconnect, from back when that was new) and + remove the now-unused function. -commit 65085740d3574eeb3289d592f042df62c2689bb0 +commit fea8f4b1aa85026ad5aee5ad8e1599a8d5141fe0 Author: Darren Tucker -Date: Thu Feb 18 14:53:14 2021 +1100 +Date: Wed Apr 7 10:18:32 2021 +1000 - Add bbone test target (arm32). + Move make_tmpdir() into portable-specific area. + + Reduces diff vs OpenBSD and makes it more likely diffs will apply + cleanly. -commit 63238f5aed66148b8d6ca7bd5fb347d624200155 -Author: djm@openbsd.org -Date: Thu Feb 18 02:49:35 2021 +0000 +commit 13e5fa2acffd26e754c6ee1d070d0afd035d4cb7 +Author: dtucker@openbsd.org +Date: Tue Apr 6 23:57:56 2021 +0000 - upstream: Fix the hostkeys rotation extension documentation - - The documentation was lacking the needed want-reply field in the initial - global request. + upstream: Add TEST_SSH_ELAPSED_TIMES environment variable to print the - https://github.com/openssh/openssh-portable/pull/218 by dbussink + elapsed time in seconds of each test. This depends on "date +%s" which is + not specified by POSIX but is commonly implemented. - OpenBSD-Commit-ID: 051824fd78edf6d647a0b9ac011bf88e28775054 + OpenBSD-Regress-ID: ec3c8c19ff49b2192116a0a646ee7c9b944e8a9c -commit 34c5ef6e2d06d9f0e20cb04a9aebf67a6f96609a -Author: djm@openbsd.org -Date: Thu Feb 18 02:15:07 2021 +0000 +commit ef4f46ab4387bb863b471bad124d46e8d911a79a +Author: Darren Tucker +Date: Wed Apr 7 09:59:15 2021 +1000 - upstream: make names in function prototypes match those in - - definition from https://github.com/openssh/openssh-portable/pull/225 by - ZenithalHourlyRate + Move the TEST_SSH_PORT section down a bit. - OpenBSD-Commit-ID: 7c736307bf3f2c7cb24d6f82f244eee959485acd + This groups the portable-specific changes together and makes it a + little more likely that patches will apply cleanly. -commit 88e3d4de31ab4f14cac658e9e0c512043b15b146 -Author: djm@openbsd.org -Date: Thu Feb 18 02:13:58 2021 +0000 +commit 3674e33fa70dfa1fe69b345bf576113af7b7be11 +Author: Darren Tucker +Date: Wed Apr 7 10:05:10 2021 +1000 - upstream: unbreak SK_DEBUG builds - - from https://github.com/openssh/openssh-portable/pull/225 by - ZenithalHourlyRate + Further split Valgrind tests. - OpenBSD-Commit-ID: 28d7259ce1b04d025411464decfa2f1a097b43eb + Even split in two, the Valgrind tests take by far the longest to run, + so split them four ways to further increase parallelism. -commit 788cbc5b74a53956ba9fff11e1ca506271a3597f +commit 961af266b861e30fce1e26170ee0dbb5bf591f29 Author: djm@openbsd.org -Date: Thu Feb 18 00:30:17 2021 +0000 +Date: Tue Apr 6 23:24:30 2021 +0000 - upstream: sftp-server: implement limits@openssh.com extension - - This is a simple extension that allows the server to clearly - communicate transfer limits it is imposing so the client doesn't - have to guess, or force the user to manually tune. This is - particularly useful when an attempt to use too large of a value - causes the server to abort the connection. + upstream: include "ssherr.h" not ; from Balu Gajjala via - Patch from Mike Frysinger; ok dtucker@ + bz#3292 - OpenBSD-Commit-ID: f96293221e5aa24102d9bf30e4f4ef04d5f4fb51 + OpenBSD-Commit-ID: e9535cd9966eb2e69e73d1ede1f44905c30310bd -commit 324449a68d510720d0e4dfcc8e9e5a702fe6a48f +commit e7d0a285dbdd65d8df16123ad90f15e91862f959 Author: Damien Miller -Date: Thu Feb 18 12:06:25 2021 +1100 +Date: Wed Apr 7 08:50:38 2021 +1000 - support OpenSSL 3.x cipher IV API change - - OpenSSL renamed the "get current CIPHER_CTX" IV operation in 3.x. - This uses the new name if available. - - https://github.com/openssl/openssl/issues/13411 - - bz#3238 ok dtucker@ + wrap struct rlimit in HAVE_GETRLIMIT too -commit 845fe9811c047063d935eca89188ed55c993626b +commit f283a6c2e0a9bd9369e18462acd00be56fbe5b0d Author: Damien Miller -Date: Thu Feb 18 11:25:38 2021 +1100 - - prefer login_getpwclass() to login_getclass() - - FreeBSD has login_getpwclass() that does some special magic for - UID=0. Prefer this to login_getclass() as its easier to emulate - the former with the latter. - - Based on FreeBSD PR 37416 via Ed Maste; ok dtucker@ - -commit d0763c8d566119cce84d9806e419badf20444b02 -Author: Darren Tucker -Date: Thu Feb 18 10:45:27 2021 +1100 - - Fixing quoting for installing moduli on target guest. - -commit b3afc243bc820f323a09e3218e9ec8a30a3c1933 -Author: Darren Tucker -Date: Thu Feb 18 10:27:16 2021 +1100 +Date: Wed Apr 7 08:20:35 2021 +1000 - Install moduli on target not host. + wrap getrlimit call in HAVE_GETRLIMIT; bz3291 -commit f060c2bc85d59d111fa18a12eb3872ee4b9f7e97 -Author: Damien Miller -Date: Thu Feb 18 10:33:58 2021 +1100 +commit 679bdc4a5c9244f427a7aee9c14b0a0ed086da1f +Author: dtucker@openbsd.org +Date: Tue Apr 6 09:07:33 2021 +0000 - don't free string returned by login_getcapstr(3) - - OpenBSD and NetBSD require the caller to free strings returned - bu the login_* functions, but FreeBSD requires that callers don't. + upstream: Don't check return value of unsetenv(). It's part of the - Fortunately in this case, we can harmlessly leak as the process is - about to exec the shell/command. + environment setup and not part of the actual test, and some platforms + -portable runs on declare it as returning void, which prevents the test from + compiling. - From https://reviews.freebsd.org/D28617 via Ed Maste; ok dtucker@ - -commit bc9b0c25703215501da28aa7a6539f96c0fa656f -Author: Darren Tucker -Date: Thu Feb 18 10:10:00 2021 +1100 - - Skip unit tests on sol11 to speed things up. + OpenBSD-Regress-ID: 24f08543ee3cdebc404f2951f3e388cc82b844a1 -commit 161873035c12cc22211fc73d07170ade47746bc5 -Author: Darren Tucker -Date: Thu Feb 18 10:09:27 2021 +1100 +commit 320af2f3de6333aa123f1b088eca146a245e968a +Author: jmc@openbsd.org +Date: Sun Apr 4 11:36:56 2021 +0000 - Remove SKIP_UNIT as it needs to be a make arg. + upstream: remove stray inserts; from matthias schmidt + + OpenBSD-Commit-ID: 2c36ebdc54e14bbf1daad70c6a05479a073d5c63 -commit 1c293868e4b4e8e74e3ea15b8dff90f6b089967a -Author: Darren Tucker -Date: Thu Feb 18 10:05:03 2021 +1100 +commit 801f710953b24dd2f21939171c622eac77c7484d +Author: jmc@openbsd.org +Date: Sun Apr 4 06:11:24 2021 +0000 - Always intall moduli. + upstream: missing comma; from kawashima james - Allows us to run tests without falling back to a fixed modulus. Ensure that - the directory exists. + OpenBSD-Commit-ID: 31cec6bf26c6db4ffefc8a070715ebef274e68ea -commit 5c8f41ad100601ec2fdcbccdfe92890c31f81bbe +commit b3ca08cb174266884d44ec710a84cd64c12414ea Author: Darren Tucker -Date: Thu Feb 18 09:59:09 2021 +1100 +Date: Mon Apr 5 23:46:42 2021 +1000 - Quote SSHD_CONFOPTS in case it contains spaces. + Install libcbor with libfido2. -commit 4653116c1f5384ea7006e6396d9b53c33d218975 -Author: Darren Tucker -Date: Thu Feb 18 09:51:18 2021 +1100 +commit f3ca8af87a4c32ada660da12ae95cf03d190c083 +Author: Damien Miller +Date: Sat Apr 3 18:21:08 2021 +1100 - Fix labels on targets (dots vs underscores). + enable authopt and misc unit tests + + Neither were wired into the build, both required some build + adaptations for -portable -commit 4512047f57ca3c6e8cd68f0cc69be59e98b25287 -Author: Darren Tucker -Date: Wed Feb 17 21:47:48 2021 +1100 +commit dc1b45841fb97e3d7f655ddbcfef3839735cae5f +Author: djm@openbsd.org +Date: Sat Apr 3 06:58:30 2021 +0000 - More compact representation of config matrix. + upstream: typos in comments; GHPR#180 from Vill + + =?UTF-8?q?e=20Skytt=C3=A4?= + MIME-Version: 1.0 + Content-Type: text/plain; charset=UTF-8 + Content-Transfer-Encoding: 8bit + + OpenBSD-Commit-ID: 93c732381ae0e2b680c79e67c40c1814b7ceed2c -commit 0406cd09f05c2e419b113dd4c0eac8bc34ec915b -Author: Darren Tucker -Date: Wed Feb 17 21:19:18 2021 +1100 +commit 53ea05e09b04fd7b6dea66b42b34d65fe61b9636 +Author: djm@openbsd.org +Date: Sat Apr 3 06:55:52 2021 +0000 - Skip unit tests on hosted VMs to speed things up. + upstream: sync CASignatureAlgorithms lists with reality. GHPR#174 from + + Matt Hazinski + + OpenBSD-Commit-ID: f05e4ca54d7e67b90fe58fe1bdb1d2a37e0e2696 -commit 4582612e6147d766c336198c498740242fb8f1ec -Author: Darren Tucker -Date: Wed Feb 17 20:21:29 2021 +1100 +commit 57ed647ee07bb883a2f2264231bcd1df6a5b9392 +Author: Damien Miller +Date: Sat Apr 3 17:47:37 2021 +1100 - Merge macos and ubuntu tests. + polish whitespace for portable files -commit 09f4b84654b71099559492e9aed5e1a38bf24815 -Author: Darren Tucker -Date: Wed Feb 17 18:41:30 2021 +1100 +commit 31d8d231eb9377df474746a822d380c5d68d7ad6 +Author: djm@openbsd.org +Date: Sat Apr 3 06:18:40 2021 +0000 - Convert most github hosted tests to new config structure. + upstream: highly polished whitespace, mostly fixing spaces-for-tab + + and bad indentation on continuation lines. Prompted by GHPR#185 + + OpenBSD-Commit-ID: e5c81f0cbdcc6144df1ce468ec1bac366d8ad6e9 -commit 65380ff7e054be1454e5ab4fd7bb9c66f8fcbaa9 -Author: Darren Tucker -Date: Wed Feb 17 18:27:36 2021 +1100 +commit 34afde5c73b5570d6f8cce9b49993b23b77bfb86 +Author: djm@openbsd.org +Date: Sat Apr 3 05:54:14 2021 +0000 - Only run selfhosted tests from selfhosted repo. + upstream: whitespace (tab after space) + + OpenBSD-Commit-ID: 0e2b3f7674e985d3f7c27ff5028e690ba1c2efd4 -commit f031366535650b88248ed7dbf23033afdf466240 +commit 7cd262c1c5a08cc7f4f30e3cab108ef089d0a57b Author: Darren Tucker -Date: Fri Jan 15 14:11:43 2021 +1100 +Date: Sat Apr 3 16:59:10 2021 +1100 - Add self-hosted runners for VMs of other platforms. - - Github only hosts a limited number of platforms, and the runner code - is only supported on slightly wider range of platforms. To increase - our test coverage beyond that, we run the runner natively on a VM host, - where it runs a jobs that boot VMs of other platforms, waits for them - to come up then runs the build and test by ssh'ing into the guest. - This means that the minimum dependencies for the guests are quite low - (basically just sshd, a compiler and make). - - The interface to the VM host is fairly simple (basically 3 scripts: - vmstartup, vmrun and vmshutdown), but those are specific to the VM host - so are not in the public repo. We also mount the working directory on the - host via sshfs, so things like artifact upload by the runner also work. - - As part of this we are moving the per-test-target configs into a single - place (.github/configs) where there will be referenced by a single short - "config" key. I plan to make the github-hosted runners use this too. - - The self-hosted runners are run off a private repo on github since that - prevents third parties from accessing them[0], and since runner quota is - limited on private repos, we avoid running the tests we run on the public - repo. - - [0] https://docs.github.com/en/actions/hosting-your-own-runners/about-self-hosted-runners#self-hosted-runner-security-with-public-repositories + Save config.h and config.log on failure too. -commit 64bbd7444d658ef7ee14a7ea5ccc7f5810279ee7 -Author: dtucker@openbsd.org -Date: Wed Feb 17 03:59:00 2021 +0000 +commit 460aee9298f365357e9fd26851c22e0dca51fd6a +Author: djm@openbsd.org +Date: Sat Apr 3 05:46:41 2021 +0000 - upstream: Make sure puttygen is new enough to successfully run the + upstream: fix incorrect plural; from Ville Skyt - PuTTY interop tests, otherwise skip them. + =?UTF-8?q?t=C3=A4=20via=20GHPR#181?= + MIME-Version: 1.0 + Content-Type: text/plain; charset=UTF-8 + Content-Transfer-Encoding: 8bit - OpenBSD-Regress-ID: 34565bb50b8aec58331ed02a5e9e0a9a929bef51 + OpenBSD-Commit-ID: 92f31754c6296d8f403d7c293e09dc27292d22c9 -commit da0a9afcc446a30ca49dd216612c41ac3cb1f2d4 -Author: markus@openbsd.org -Date: Mon Feb 15 20:43:15 2021 +0000 +commit 082804c14e548cada75c81003a3c68ee098138ee +Author: djm@openbsd.org +Date: Sat Apr 3 05:40:39 2021 +0000 - upstream: ssh: add PermitRemoteOpen for remote dynamic forwarding + upstream: ensure that pkcs11_del_provider() is called before exit - + + some PKCS#11 providers get upset if C_Initialize is not matched with + C_Finalize. - with SOCKS ok djm@, dtucker@ + From Adithya Baglody via GHPR#234; ok markus - OpenBSD-Commit-ID: 64fe7b6360acc4ea56aa61b66498b5ecc0a96a7c + OpenBSD-Commit-ID: f8e770e03b416ee9a58f9762e162add900f832b6 -commit b696858a7f9db72a83d02cb6edaca4b30a91b386 -Author: markus@openbsd.org -Date: Mon Feb 15 20:36:35 2021 +0000 +commit 464ebc82aa926dd132ec75a0b064574ef375675e +Author: djm@openbsd.org +Date: Sat Apr 3 05:28:43 2021 +0000 - upstream: factor out opt_array_append; ok djm@ + upstream: unused variable - OpenBSD-Commit-ID: 571bc5dd35f99c5cf9de6aaeac428b168218e74a + OpenBSD-Commit-ID: 85f6a394c8e0f60d15ecddda75176f112007b205 -commit ad74fc127cc45567e170e8c6dfa2cfd9767324ec -Author: dlg@openbsd.org -Date: Mon Feb 15 11:09:22 2021 +0000 +commit dc3c0be8208c488e64a8bcb7d9efad98514e0ffb +Author: djm@openbsd.org +Date: Sat Apr 3 05:21:46 2021 +0000 - upstream: ProxyJump takes "none" to disable processing like + upstream: Fix two problems in string->argv conversion: 1) multiple + + backslashes were not being dequoted correctly and 2) quoted space in the + middle of a string was being incorrectly split. + MIME-Version: 1.0 + Content-Type: text/plain; charset=UTF-8 + Content-Transfer-Encoding: 8bit - ProxyCommand does + A unit test for these cases has already been committed - ok djm@ jmc@ + prompted by and based on GHPR#223 by Eero Häkkinen; ok markus@ - OpenBSD-Commit-ID: 941a2399da2193356bdc30b879d6e1692f18b6d3 + OpenBSD-Commit-ID: d7ef27abb4eeeaf6e167e9312e4abe9e89faf1e4 -commit 16eacdb016ccf38dd9959c78edd3a6282513aa53 -Author: djm@openbsd.org -Date: Fri Feb 12 03:49:09 2021 +0000 +commit f75bcbba58a08c670727ece5e3f8812125969799 +Author: Damien Miller +Date: Sat Apr 3 16:22:48 2021 +1100 - upstream: sftp: add missing lsetstat@openssh.com documentation - - patch from Mike Frysinger - - OpenBSD-Commit-ID: 9c114db88d505864075bfe7888b7c8745549715b + missing bits from 259d648e -commit e04fd6dde16de1cdc5a4d9946397ff60d96568db +commit 4cbc4a722873d9b68cb5496304dc050d7168df78 Author: djm@openbsd.org -Date: Fri Feb 12 03:14:18 2021 +0000 +Date: Wed Mar 31 21:59:26 2021 +0000 - upstream: factor SSH_AGENT_CONSTRAIN_EXTENSION parsing into its own + upstream: cannot effectively test posix-rename extension after - function and remove an unused variable; ok dtucker@ + changes in feature advertisment. - OpenBSD-Commit-ID: e1a938657fbf7ef0ba5e73b30365734a0cc96559 + OpenBSD-Regress-ID: 5e390bf88d379162aaa81b60ed86b34cb0c54d29 -commit 1bb130ed34721d46452529d094d9bbf045607d79 -Author: Darren Tucker -Date: Thu Feb 11 10:18:05 2021 +1100 +commit 259d648e63e82ade4fe2c2c73c8b67fe57d9d049 +Author: djm@openbsd.org +Date: Fri Mar 19 04:23:50 2021 +0000 - Add __NR_futex_time64 to seccomp sandbox. + upstream: add a test for misc.c:argv_split(), currently fails - This is apparently needed for (some) 32 bit platforms with glibc 2.33. - Patch from nix at esperi.org.uk and jjelen at redhat.com via bz#3260. + OpenBSD-Regress-ID: ad6b96d6ebeb9643b698b3575bdd6f78bb144200 -commit f88a7a431212a16e572ecabd559e632f369c363e -Author: Darren Tucker -Date: Sat Feb 6 09:37:01 2021 +1100 +commit 473ddfc2d6b602cb2d1d897e0e5c204de145cd9a +Author: djm@openbsd.org +Date: Fri Mar 19 03:25:01 2021 +0000 - Add a hostname function for systems that don't have it. + upstream: split - Some systems don't have a hostname command (it's not required by POSIX). - The do have uname -n (which is), but as found by tim@ some others (eg - UnixWare) do not report the FQDN from uname -n. + OpenBSD-Regress-ID: f6c03c0e4c58b3b9e04b161757b8c10dc8378c34 -commit 5e385a71ef2317856f37c91a98658eb12eb5a89c -Author: dtucker@openbsd.org -Date: Fri Feb 5 22:03:40 2021 +0000 +commit 1339800fef8d0dfbfeabff71b34670105bcfddd2 +Author: djm@openbsd.org +Date: Wed Mar 31 22:16:34 2021 +0000 - upstream: Roll back the hostname->uname change in rev 1.10. It turns + upstream: Use new limits@openssh.com protocol extension to let the - out uname -n doesn't do what we need for some platforms in portable, so we'll - fix the original problem (that some other platforms don't have hostname at - all) by providing wrapper function to implement it. + client select good limits based on what the server supports. Split the + download and upload buffer sizes to allow them to be chosen independently. - OpenBSD-Regress-ID: 827a707d6201d5a8e196a8c28aec1d2c76c52341 - -commit b446c214279de50ed8388e54897eb1be5281c894 -Author: dtucker@openbsd.org -Date: Fri Feb 5 06:01:58 2021 +0000 - - upstream: hostname is not specified by POSIX but uname -n is, so use + In practice (and assuming upgraded sftp/sftp-server at each end), this + increases the download buffer 32->64KiB and the upload buffer + 32->255KiB. - the latter for portability. Patch from Geert Hendrickx via github PR#208. + Patches from Mike Frysinger; ok dtucker@ - OpenBSD-Regress-ID: d6a79c7c4d141a0d05ade4a042eb57dddbce89f3 + OpenBSD-Commit-ID: ebd61c80d85b951b794164acc4b2f2fd8e88606c -commit 1cb6ce98d658e5fbdae025a3bd65793980e3b5d9 -Author: David Carlier -Date: Sat Nov 21 12:22:23 2020 +0000 +commit 6653c61202d104e59c8e741329fcc567f7bc36b8 +Author: djm@openbsd.org +Date: Wed Mar 31 21:58:07 2021 +0000 - Using explicit_memset for the explicit_bzero compatibility layer. + upstream: do not advertise protocol extensions that have been - Favoriting the native implementation in this case. - -commit 2e0beff67def2120f4b051b1016d7fbf84823e78 -Author: Luca Weiss -Date: Sun Nov 8 14:19:23 2020 +0100 - - Deny (non-fatal) statx in preauth privsep child. + disallowed by the command-line options (e.g. -p/-P/-R); ok dtucker@ + + OpenBSD-Commit-ID: 3a8a76b3f5131741aca4b41bfab8d101c9926205 -commit a35d3e911e193a652bd09eed40907e3e165b0a7b -Author: dtucker@openbsd.org -Date: Fri Feb 5 02:20:23 2021 +0000 +commit 71241fc05db4bbb11bb29340b44b92e2575373d8 +Author: Damien Miller +Date: Mon Mar 29 15:14:25 2021 +1100 - upstream: Remove debug message from sigchld handler. While this - - works on OpenBSD it can cause problems on other platforms. From kircherlike - at outlook.com via bz#3259, ok djm@ - - OpenBSD-Commit-ID: 3e241d7ac1ee77e3de3651780b5dc47b283a7668 + gnome-ssh-askpass3 is a valid target here -commit 69338ab46afe9e3dfb7762ad65351d854077c998 +commit 8a9520836e71830f4fccca066dba73fea3d16bda Author: djm@openbsd.org -Date: Tue Feb 2 22:36:59 2021 +0000 +Date: Fri Mar 19 02:22:34 2021 +0000 - upstream: whitespace + upstream: return non-zero exit status when killed by signal; bz#3281 ok + + dtucker@ - OpenBSD-Commit-ID: 544bb092e03fcbecb420196cd0f70af13ea868ad + OpenBSD-Commit-ID: 117b31cf3c807993077b596bd730c24da9e9b816 -commit f71219a01d8f71c4b3ed7e456337a84ddba1653e +commit 1269b8a686bf1254b03cd38af78167a04aa6ec88 Author: djm@openbsd.org -Date: Tue Feb 2 22:36:46 2021 +0000 +Date: Fri Mar 19 02:18:28 2021 +0000 - upstream: fix memleaks in private key deserialisation; enforce more + upstream: increase maximum SSH2_FXP_READ to match the maximum - consistency between redundant fields in private key certificate and private - key body; ok markus@ + packet size. Also handle zero-length reads that are borderline nonsensical + but not explicitly banned by the spec. Based on patch from Mike Frysinger, + feedback deraadt@ ok dtucker@ - OpenBSD-Commit-ID: dec344e414d47f0a7adc13aecf3760fe58101240 + OpenBSD-Commit-ID: 4e67d60d81bde7b84a742b4ee5a34001bdf80d9c -commit 3287790e78bf5b53c4a3cafb67bb5aa03e3910f0 +commit 860b67604416640e8db14f365adc3f840aebcb1f Author: djm@openbsd.org -Date: Tue Feb 2 22:35:14 2021 +0000 +Date: Tue Mar 16 06:15:43 2021 +0000 - upstream: memleak on error path; ok markus@ + upstream: don't let logging clobber errno before use - OpenBSD-Commit-ID: 2091a36d6ca3980c81891a6c4bdc544e63cb13a8 + OpenBSD-Commit-ID: ce6cca370005c270c277c51c111bb6911e1680ec diff --git a/Makefile.in b/Makefile.in index c0ebfa041525..70287f51fb81 100644 --- a/Makefile.in +++ b/Makefile.in @@ -517,6 +517,10 @@ regress/modpipe$(EXEEXT): $(srcdir)/regress/modpipe.c $(REGRESSLIBS) $(CC) $(CFLAGS) $(CPPFLAGS) -o $@ $(srcdir)/regress/modpipe.c \ $(LDFLAGS) -lssh -lopenbsd-compat -lssh -lopenbsd-compat $(TESTLIBS) +regress/timestamp$(EXEEXT): $(srcdir)/regress/timestamp.c $(REGRESSLIBS) + $(CC) $(CFLAGS) $(CPPFLAGS) -o $@ $(srcdir)/regress/timestamp.c \ + $(LDFLAGS) -lssh -lopenbsd-compat -lssh -lopenbsd-compat $(TESTLIBS) + regress/setuid-allowed$(EXEEXT): $(srcdir)/regress/setuid-allowed.c $(REGRESSLIBS) $(CC) $(CFLAGS) $(CPPFLAGS) -o $@ $(srcdir)/regress/setuid-allowed.c \ $(LDFLAGS) -lssh -lopenbsd-compat -lssh -lopenbsd-compat $(TESTLIBS) @@ -691,6 +695,7 @@ regress/misc/sk-dummy/sk-dummy.so: $(SK_DUMMY_OBJS) regress-binaries: regress-prep $(LIBCOMPAT) \ regress/modpipe$(EXEEXT) \ + regress/timestamp$(EXEEXT) \ regress/setuid-allowed$(EXEEXT) \ regress/netcat$(EXEEXT) \ regress/check-perm$(EXEEXT) \ diff --git a/README b/README index 89bcddd9e4fc..796101c7abef 100644 --- a/README +++ b/README @@ -1,4 +1,5 @@ -See https://www.openssh.com/releasenotes.html#9.2p1 for the release notes. +See https://www.openssh.com/releasenotes.html#9.3p1 for the release +notes. Please read https://www.openssh.com/report.html for bug reporting instructions and note that we do not use Github for bug reporting or diff --git a/README.md b/README.md index 3da933817989..9431b0ffdd89 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,7 @@ [![C/C++ CI](https://github.com/openssh/openssh-portable/actions/workflows/c-cpp.yml/badge.svg)](https://github.com/openssh/openssh-portable/actions/workflows/c-cpp.yml) [![Fuzzing Status](https://oss-fuzz-build-logs.storage.googleapis.com/badges/openssh.svg)](https://bugs.chromium.org/p/oss-fuzz/issues/list?sort=-opened&can=1&q=proj:openssh) +[![Coverity Status](https://scan.coverity.com/projects/21341/badge.svg)](https://scan.coverity.com/projects/openssh-portable) OpenSSH is a complete implementation of the SSH protocol (version 2) for secure remote login, command execution and file transfer. It includes a client ``ssh`` and server ``sshd``, file transfer utilities ``scp`` and ``sftp`` as well as tools for key generation (``ssh-keygen``), run-time key storage (``ssh-agent``) and a number of supporting programs. diff --git a/auth-pam.c b/auth-pam.c index b324953a11c1..f5a06b1f61f5 100644 --- a/auth-pam.c +++ b/auth-pam.c @@ -351,11 +351,12 @@ import_environments(struct sshbuf *b) /* Import environment from subprocess */ if ((r = sshbuf_get_u32(b, &num_env)) != 0) fatal("%s: buffer error: %s", __func__, ssh_err(r)); - if (num_env > 1024) - fatal("%s: received %u environment variables, expected <= 1024", - __func__, num_env); + if (num_env > 1024) { + fatal_f("received %u environment variables, expected <= 1024", + num_env); + } sshpam_env = xcalloc(num_env + 1, sizeof(*sshpam_env)); - debug3("PAM: num env strings %d", num_env); + debug3("PAM: num env strings %u", num_env); for(i = 0; i < num_env; i++) { if ((r = sshbuf_get_cstring(b, &(sshpam_env[i]), NULL)) != 0) fatal("%s: buffer error: %s", __func__, ssh_err(r)); @@ -365,7 +366,11 @@ import_environments(struct sshbuf *b) /* Import PAM environment from subprocess */ if ((r = sshbuf_get_u32(b, &num_env)) != 0) fatal("%s: buffer error: %s", __func__, ssh_err(r)); - debug("PAM: num PAM env strings %d", num_env); + if (num_env > 1024) { + fatal_f("received %u PAM env variables, expected <= 1024", + num_env); + } + debug("PAM: num PAM env strings %u", num_env); for (i = 0; i < num_env; i++) { if ((r = sshbuf_get_cstring(b, &env, NULL)) != 0) fatal("%s: buffer error: %s", __func__, ssh_err(r)); diff --git a/auth-shadow.c b/auth-shadow.c index c77ee8da9b48..b1e3aa9fc1b3 100644 --- a/auth-shadow.c +++ b/auth-shadow.c @@ -56,13 +56,13 @@ int auth_shadow_acctexpired(struct spwd *spw) { time_t today; - int daysleft; + long long daysleft; int r; today = time(NULL) / DAY; daysleft = spw->sp_expire - today; - debug3("%s: today %d sp_expire %d days left %d", __func__, (int)today, - (int)spw->sp_expire, daysleft); + debug3("%s: today %lld sp_expire %lld days left %lld", __func__, + (long long)today, (long long)spw->sp_expire, daysleft); if (spw->sp_expire == -1) { debug3("account expiration disabled"); @@ -70,9 +70,9 @@ auth_shadow_acctexpired(struct spwd *spw) logit("Account %.100s has expired", spw->sp_namp); return 1; } else if (daysleft <= spw->sp_warn) { - debug3("account will expire in %d days", daysleft); + debug3("account will expire in %lld days", daysleft); if ((r = sshbuf_putf(loginmsg, - "Your account will expire in %d day%s.\n", daysleft, + "Your account will expire in %lld day%s.\n", daysleft, daysleft == 1 ? "" : "s")) != 0) fatal("%s: buffer error: %s", __func__, ssh_err(r)); } @@ -98,8 +98,8 @@ auth_shadow_pwexpired(Authctxt *ctxt) } today = time(NULL) / DAY; - debug3("%s: today %d sp_lstchg %d sp_max %d", __func__, (int)today, - (int)spw->sp_lstchg, (int)spw->sp_max); + debug3_f("today %lld sp_lstchg %lld sp_max %lld", (long long)today, + (long long)spw->sp_lstchg, (long long)spw->sp_max); #if defined(__hpux) && !defined(HAVE_SECUREWARE) if (iscomsec()) { diff --git a/auth.c b/auth.c index 03a777ccee39..3b380d9bbd20 100644 --- a/auth.c +++ b/auth.c @@ -1,4 +1,4 @@ -/* $OpenBSD: auth.c,v 1.159 2022/12/09 00:17:40 dtucker Exp $ */ +/* $OpenBSD: auth.c,v 1.160 2023/03/05 05:34:09 dtucker Exp $ */ /* * Copyright (c) 2000 Markus Friedl. All rights reserved. * @@ -74,7 +74,6 @@ #include "authfile.h" #include "monitor_wrap.h" #include "ssherr.h" -#include "compat.h" #include "channels.h" /* import */ diff --git a/auth2-hostbased.c b/auth2-hostbased.c index 6b517db411df..06bb464ffa45 100644 --- a/auth2-hostbased.c +++ b/auth2-hostbased.c @@ -1,4 +1,4 @@ -/* $OpenBSD: auth2-hostbased.c,v 1.50 2022/09/17 10:34:29 djm Exp $ */ +/* $OpenBSD: auth2-hostbased.c,v 1.52 2023/03/05 05:34:09 dtucker Exp $ */ /* * Copyright (c) 2000 Markus Friedl. All rights reserved. * @@ -40,7 +40,6 @@ #include "log.h" #include "misc.h" #include "servconf.h" -#include "compat.h" #include "sshkey.h" #include "hostfile.h" #include "auth.h" @@ -101,12 +100,6 @@ userauth_hostbased(struct ssh *ssh, const char *method) "(received %d, expected %d)", key->type, pktype); goto done; } - if (sshkey_type_plain(key->type) == KEY_RSA && - (ssh->compat & SSH_BUG_RSASIGMD5) != 0) { - error("Refusing RSA key because peer uses unsafe " - "signature format"); - goto done; - } if (match_pattern_list(pkalg, options.hostbased_accepted_algos, 0) != 1) { logit_f("signature algorithm %s not in " "HostbasedAcceptedAlgorithms", pkalg); diff --git a/auth2-none.c b/auth2-none.c index d9f97223c92a..8966fd082f42 100644 --- a/auth2-none.c +++ b/auth2-none.c @@ -1,4 +1,4 @@ -/* $OpenBSD: auth2-none.c,v 1.24 2021/12/19 22:12:07 djm Exp $ */ +/* $OpenBSD: auth2-none.c,v 1.25 2023/03/05 05:34:09 dtucker Exp $ */ /* * Copyright (c) 2000 Markus Friedl. All rights reserved. * @@ -44,7 +44,6 @@ #include "log.h" #include "misc.h" #include "servconf.h" -#include "compat.h" #include "ssh2.h" #include "ssherr.h" #ifdef GSSAPI diff --git a/auth2-pubkey.c b/auth2-pubkey.c index 5d59febc3aef..b4f1f6384053 100644 --- a/auth2-pubkey.c +++ b/auth2-pubkey.c @@ -1,4 +1,4 @@ -/* $OpenBSD: auth2-pubkey.c,v 1.117 2022/09/17 10:34:29 djm Exp $ */ +/* $OpenBSD: auth2-pubkey.c,v 1.118 2023/02/17 04:22:50 dtucker Exp $ */ /* * Copyright (c) 2000 Markus Friedl. All rights reserved. * Copyright (c) 2010 Damien Miller. All rights reserved. @@ -153,12 +153,6 @@ userauth_pubkey(struct ssh *ssh, const char *method) "(received %d, expected %d)", key->type, pktype); goto done; } - if (sshkey_type_plain(key->type) == KEY_RSA && - (ssh->compat & SSH_BUG_RSASIGMD5) != 0) { - logit("Refusing RSA key because client uses unsafe " - "signature scheme"); - goto done; - } if (auth2_key_already_used(authctxt, key)) { logit("refusing previously-used %s key", sshkey_type(key)); goto done; diff --git a/auth2-pubkeyfile.c b/auth2-pubkeyfile.c index 0cfacac353c0..31e7481fbe55 100644 --- a/auth2-pubkeyfile.c +++ b/auth2-pubkeyfile.c @@ -1,4 +1,4 @@ -/* $OpenBSD: auth2-pubkeyfile.c,v 1.3 2022/07/01 03:52:57 djm Exp $ */ +/* $OpenBSD: auth2-pubkeyfile.c,v 1.4 2023/03/05 05:34:09 dtucker Exp $ */ /* * Copyright (c) 2000 Markus Friedl. All rights reserved. * Copyright (c) 2010 Damien Miller. All rights reserved. @@ -42,7 +42,6 @@ #include "ssh.h" #include "log.h" #include "misc.h" -#include "compat.h" #include "sshkey.h" #include "digest.h" #include "hostfile.h" diff --git a/auth2.c b/auth2.c index 6c061934bf39..34346e5731de 100644 --- a/auth2.c +++ b/auth2.c @@ -1,4 +1,4 @@ -/* $OpenBSD: auth2.c,v 1.164 2022/02/23 11:18:13 djm Exp $ */ +/* $OpenBSD: auth2.c,v 1.166 2023/03/08 04:43:12 guenther Exp $ */ /* * Copyright (c) 2000 Markus Friedl. All rights reserved. * @@ -46,7 +46,6 @@ #include "sshbuf.h" #include "misc.h" #include "servconf.h" -#include "compat.h" #include "sshkey.h" #include "hostfile.h" #include "auth.h" @@ -178,7 +177,6 @@ do_authentication2(struct ssh *ssh) ssh->authctxt = NULL; } -/*ARGSUSED*/ static int input_service_request(int type, u_int32_t seq, struct ssh *ssh) { @@ -256,7 +254,6 @@ ensure_minimum_time_since(double start, double seconds) nanosleep(&ts, NULL); } -/*ARGSUSED*/ static int input_userauth_request(int type, u_int32_t seq, struct ssh *ssh) { diff --git a/authfd.c b/authfd.c index b633e35eaf8b..25a363664cd2 100644 --- a/authfd.c +++ b/authfd.c @@ -1,4 +1,4 @@ -/* $OpenBSD: authfd.c,v 1.130 2022/04/27 11:08:55 dtucker Exp $ */ +/* $OpenBSD: authfd.c,v 1.133 2023/03/09 21:06:24 jcs Exp $ */ /* * Author: Tatu Ylonen * Copyright (c) 1995 Tatu Ylonen , Espoo, Finland @@ -55,7 +55,6 @@ #include "sshkey.h" #include "authfd.h" #include "cipher.h" -#include "compat.h" #include "log.h" #include "atomicio.h" #include "misc.h" @@ -491,8 +490,8 @@ encode_dest_constraint(struct sshbuf *m, const struct dest_constraint *dc) if ((b = sshbuf_new()) == NULL) return SSH_ERR_ALLOC_FAIL; - if ((r = encode_dest_constraint_hop(b, &dc->from) != 0) || - (r = encode_dest_constraint_hop(b, &dc->to) != 0) || + if ((r = encode_dest_constraint_hop(b, &dc->from)) != 0 || + (r = encode_dest_constraint_hop(b, &dc->to)) != 0 || (r = sshbuf_put_string(b, NULL, 0)) != 0) /* reserved */ goto out; if ((r = sshbuf_put_stringb(m, b)) != 0) @@ -666,7 +665,7 @@ ssh_update_card(int sock, int add, const char *reader_id, const char *pin, struct dest_constraint **dest_constraints, size_t ndest_constraints) { struct sshbuf *msg; - int r, constrained = (life || confirm); + int r, constrained = (life || confirm || dest_constraints); u_char type; if (add) { diff --git a/authfile.c b/authfile.c index 9ed4f4c3a30d..445f2dd54198 100644 --- a/authfile.c +++ b/authfile.c @@ -1,4 +1,4 @@ -/* $OpenBSD: authfile.c,v 1.143 2022/06/21 14:52:13 tobhe Exp $ */ +/* $OpenBSD: authfile.c,v 1.144 2023/03/14 07:26:25 dtucker Exp $ */ /* * Copyright (c) 2000, 2013 Markus Friedl. All rights reserved. * @@ -211,6 +211,8 @@ sshkey_try_load_public(struct sshkey **kp, const char *filename, int r; struct sshkey *k = NULL; + if (kp == NULL) + return SSH_ERR_INVALID_ARGUMENT; *kp = NULL; if (commentp != NULL) *commentp = NULL; diff --git a/canohost.c b/canohost.c index a810da0eeb73..457e9097e159 100644 --- a/canohost.c +++ b/canohost.c @@ -1,4 +1,4 @@ -/* $OpenBSD: canohost.c,v 1.75 2020/10/18 11:32:01 djm Exp $ */ +/* $OpenBSD: canohost.c,v 1.76 2023/03/03 05:00:34 djm Exp $ */ /* * Author: Tatu Ylonen * Copyright (c) 1995 Tatu Ylonen , Espoo, Finland @@ -72,6 +72,9 @@ get_socket_address(int sock, int remote, int flags) char ntop[NI_MAXHOST]; int r; + if (sock < 0) + return NULL; + /* Get IP address of client. */ addrlen = sizeof(addr); memset(&addr, 0, sizeof(addr)); diff --git a/channels.c b/channels.c index 0d26358cc65e..d9f59f4666cc 100644 --- a/channels.c +++ b/channels.c @@ -1,4 +1,4 @@ -/* $OpenBSD: channels.c,v 1.427 2023/01/18 02:00:10 djm Exp $ */ +/* $OpenBSD: channels.c,v 1.430 2023/03/10 03:01:51 dtucker Exp $ */ /* * Author: Tatu Ylonen * Copyright (c) 1995 Tatu Ylonen , Espoo, Finland @@ -198,7 +198,7 @@ struct ssh_channels { u_int x11_saved_data_len; /* Deadline after which all X11 connections are refused */ - u_int x11_refuse_time; + time_t x11_refuse_time; /* * Fake X11 authentication data. This is what the server will be @@ -387,11 +387,11 @@ channel_register_fds(struct ssh *ssh, Channel *c, int rfd, int wfd, int efd, int val; if (rfd != -1) - fcntl(rfd, F_SETFD, FD_CLOEXEC); + (void)fcntl(rfd, F_SETFD, FD_CLOEXEC); if (wfd != -1 && wfd != rfd) - fcntl(wfd, F_SETFD, FD_CLOEXEC); + (void)fcntl(wfd, F_SETFD, FD_CLOEXEC); if (efd != -1 && efd != rfd && efd != wfd) - fcntl(efd, F_SETFD, FD_CLOEXEC); + (void)fcntl(efd, F_SETFD, FD_CLOEXEC); c->rfd = rfd; c->wfd = wfd; @@ -1258,7 +1258,7 @@ x11_open_helper(struct ssh *ssh, struct sshbuf *b) /* Is this being called after the refusal deadline? */ if (sc->x11_refuse_time != 0 && - (u_int)monotime() >= sc->x11_refuse_time) { + monotime() >= sc->x11_refuse_time) { verbose("Rejected X11 connection after ForwardX11Timeout " "expired"); return -1; @@ -1879,7 +1879,7 @@ port_open_helper(struct ssh *ssh, Channel *c, char *rtype) } void -channel_set_x11_refuse_time(struct ssh *ssh, u_int refuse_time) +channel_set_x11_refuse_time(struct ssh *ssh, time_t refuse_time) { ssh->chanctxt->x11_refuse_time = refuse_time; } @@ -1986,11 +1986,14 @@ channel_post_connecting(struct ssh *ssh, Channel *c) fatal_f("channel %d: no remote id", c->self); /* for rdynamic the OPEN_CONFIRMATION has been sent already */ isopen = (c->type == SSH_CHANNEL_RDYNAMIC_FINISH); + if (getsockopt(c->sock, SOL_SOCKET, SO_ERROR, &err, &sz) == -1) { err = errno; error("getsockopt SO_ERROR failed"); } + if (err == 0) { + /* Non-blocking connection completed */ debug("channel %d: connected to %s port %d", c->self, c->connect_ctx.host, c->connect_ctx.port); channel_connect_ctx_free(&c->connect_ctx); @@ -2008,16 +2011,17 @@ channel_post_connecting(struct ssh *ssh, Channel *c) (r = sshpkt_send(ssh)) != 0) fatal_fr(r, "channel %i open confirm", c->self); } - } else { - debug("channel %d: connection failed: %s", - c->self, strerror(err)); - /* Try next address, if any */ - if ((sock = connect_next(&c->connect_ctx)) > 0) { - close(c->sock); - c->sock = c->rfd = c->wfd = sock; - return; - } - /* Exhausted all addresses */ + return; + } + if (err == EINTR || err == EAGAIN || err == EINPROGRESS) + return; + + /* Non-blocking connection failed */ + debug("channel %d: connection failed: %s", c->self, strerror(err)); + + /* Try next address, if any */ + if ((sock = connect_next(&c->connect_ctx)) == -1) { + /* Exhausted all addresses for this destination */ error("connect_to %.100s port %d: failed.", c->connect_ctx.host, c->connect_ctx.port); channel_connect_ctx_free(&c->connect_ctx); @@ -2036,6 +2040,10 @@ channel_post_connecting(struct ssh *ssh, Channel *c) chan_mark_dead(ssh, c); } } + + /* New non-blocking connection in progress */ + close(c->sock); + c->sock = c->rfd = c->wfd = sock; } static int diff --git a/channels.h b/channels.h index 101843a06d15..91cc466cc8d4 100644 --- a/channels.h +++ b/channels.h @@ -1,4 +1,4 @@ -/* $OpenBSD: channels.h,v 1.148 2023/01/18 02:00:10 djm Exp $ */ +/* $OpenBSD: channels.h,v 1.149 2023/03/04 03:22:59 dtucker Exp $ */ /* * Author: Tatu Ylonen @@ -375,7 +375,7 @@ int permitopen_port(const char *); /* x11 forwarding */ -void channel_set_x11_refuse_time(struct ssh *, u_int); +void channel_set_x11_refuse_time(struct ssh *, time_t); int x11_connect_display(struct ssh *); int x11_create_display_inet(struct ssh *, int, int, int, u_int *, int **); void x11_request_forwarding_with_spoofing(struct ssh *, int, diff --git a/clientloop.c b/clientloop.c index fef9efc6cc3a..3fb72fb2fd7e 100644 --- a/clientloop.c +++ b/clientloop.c @@ -1,4 +1,4 @@ -/* $OpenBSD: clientloop.c,v 1.387 2023/01/06 02:39:59 djm Exp $ */ +/* $OpenBSD: clientloop.c,v 1.390 2023/03/08 04:43:12 guenther Exp $ */ /* * Author: Tatu Ylonen * Copyright (c) 1995 Tatu Ylonen , Espoo, Finland @@ -158,7 +158,7 @@ static int connection_in; /* Connection to server (input). */ static int connection_out; /* Connection to server (output). */ static int need_rekeying; /* Set to non-zero if rekeying is requested. */ static int session_closed; /* In SSH2: login session closed. */ -static u_int x11_refuse_time; /* If >0, refuse x11 opens after this time. */ +static time_t x11_refuse_time; /* If >0, refuse x11 opens after this time. */ static time_t server_alive_time; /* Time to do server_alive_check */ static int hostkeys_update_complete; static int session_setup_complete; @@ -215,7 +215,6 @@ quit_message(const char *fmt, ...) * Signal handler for the window change signal (SIGWINCH). This just sets a * flag indicating that the window has changed. */ -/*ARGSUSED */ static void window_change_handler(int sig) { @@ -226,7 +225,6 @@ window_change_handler(int sig) * Signal handler for signals that cause the program to terminate. These * signals must be trapped to restore terminal modes. */ -/*ARGSUSED */ static void signal_handler(int sig) { @@ -376,8 +374,8 @@ client_x11_get_proto(struct ssh *ssh, const char *display, if (timeout != 0 && x11_refuse_time == 0) { now = monotime() + 1; - if (UINT_MAX - timeout < now) - x11_refuse_time = UINT_MAX; + if (SSH_TIME_T_MAX - timeout < now) + x11_refuse_time = SSH_TIME_T_MAX; else x11_refuse_time = now + timeout; channel_set_x11_refuse_time(ssh, @@ -1617,7 +1615,7 @@ client_request_x11(struct ssh *ssh, const char *request_type, int rchan) "malicious server."); return NULL; } - if (x11_refuse_time != 0 && (u_int)monotime() >= x11_refuse_time) { + if (x11_refuse_time != 0 && monotime() >= x11_refuse_time) { verbose("Rejected X11 connection after ForwardX11Timeout " "expired"); return NULL; @@ -2112,7 +2110,7 @@ update_known_hosts(struct hostkeys_update_ctx *ctx) free(response); response = read_passphrase("Accept updated hostkeys? " "(yes/no): ", RP_ECHO); - if (strcasecmp(response, "yes") == 0) + if (response != NULL && strcasecmp(response, "yes") == 0) break; else if (quit_pending || response == NULL || strcasecmp(response, "no") == 0) { diff --git a/compat.c b/compat.c index 478a9403eeaa..b59f0bfc0630 100644 --- a/compat.c +++ b/compat.c @@ -1,4 +1,4 @@ -/* $OpenBSD: compat.c,v 1.121 2023/02/02 12:10:05 djm Exp $ */ +/* $OpenBSD: compat.c,v 1.126 2023/03/06 12:14:48 dtucker Exp $ */ /* * Copyright (c) 1999, 2000, 2001, 2002 Markus Friedl. All rights reserved. * @@ -36,7 +36,6 @@ #include "compat.h" #include "log.h" #include "match.h" -#include "kex.h" /* determine bug flags from SSH protocol banner */ void @@ -77,26 +76,8 @@ compat_banner(struct ssh *ssh, const char *version) { "3.0.*", SSH_BUG_DEBUG }, { "3.0 SecureCRT*", SSH_OLD_SESSIONID }, { "1.7 SecureFX*", SSH_OLD_SESSIONID }, - { "1.2.18*," - "1.2.19*," - "1.2.20*," - "1.2.21*," - "1.2.22*", SSH_BUG_IGNOREMSG }, - { "1.3.2*", /* F-Secure */ - SSH_BUG_IGNOREMSG }, { "Cisco-1.*", SSH_BUG_DHGEX_LARGE| SSH_BUG_HOSTKEYS }, - { "*SSH Compatible Server*", /* Netscreen */ - SSH_BUG_PASSWORDPAD }, - { "*OSU_0*," - "OSU_1.0*," - "OSU_1.1*," - "OSU_1.2*," - "OSU_1.3*," - "OSU_1.4*," - "OSU_1.5alpha1*," - "OSU_1.5alpha2*," - "OSU_1.5alpha3*", SSH_BUG_PASSWORDPAD }, { "*SSH_Version_Mapper*", SSH_BUG_SCANNER }, { "PuTTY_Local:*," /* dev versions < Sep 2014 */ @@ -158,37 +139,7 @@ compat_banner(struct ssh *ssh, const char *version) /* Always returns pointer to allocated memory, caller must free. */ char * -compat_cipher_proposal(struct ssh *ssh, char *cipher_prop) -{ - if (!(ssh->compat & SSH_BUG_BIGENDIANAES)) - return xstrdup(cipher_prop); - debug2_f("original cipher proposal: %s", cipher_prop); - if ((cipher_prop = match_filter_denylist(cipher_prop, "aes*")) == NULL) - fatal("match_filter_denylist failed"); - debug2_f("compat cipher proposal: %s", cipher_prop); - if (*cipher_prop == '\0') - fatal("No supported ciphers found"); - return cipher_prop; -} - -/* Always returns pointer to allocated memory, caller must free. */ -char * -compat_pkalg_proposal(struct ssh *ssh, char *pkalg_prop) -{ - if (!(ssh->compat & SSH_BUG_RSASIGMD5)) - return xstrdup(pkalg_prop); - debug2_f("original public key proposal: %s", pkalg_prop); - if ((pkalg_prop = match_filter_denylist(pkalg_prop, "ssh-rsa")) == NULL) - fatal("match_filter_denylist failed"); - debug2_f("compat public key proposal: %s", pkalg_prop); - if (*pkalg_prop == '\0') - fatal("No supported PK algorithms found"); - return pkalg_prop; -} - -/* Always returns pointer to allocated memory, caller must free. */ -char * -compat_kex_proposal(struct ssh *ssh, char *p) +compat_kex_proposal(struct ssh *ssh, const char *p) { char *cp = NULL, *cp2 = NULL; diff --git a/compat.h b/compat.h index 167409b2bd33..1a19060fc14c 100644 --- a/compat.h +++ b/compat.h @@ -1,4 +1,4 @@ -/* $OpenBSD: compat.h,v 1.57 2021/06/06 03:40:39 djm Exp $ */ +/* $OpenBSD: compat.h,v 1.62 2023/03/06 12:14:48 dtucker Exp $ */ /* * Copyright (c) 1999, 2000, 2001 Markus Friedl. All rights reserved. @@ -35,12 +35,12 @@ /* #define unused 0x00000020 */ #define SSH_BUG_DEBUG 0x00000040 /* #define unused 0x00000080 */ -#define SSH_BUG_IGNOREMSG 0x00000100 +/* #define unused 0x00000100 */ /* #define unused 0x00000200 */ -#define SSH_BUG_PASSWORDPAD 0x00000400 +/* #define unused 0x00000400 */ #define SSH_BUG_SCANNER 0x00000800 -#define SSH_BUG_BIGENDIANAES 0x00001000 -#define SSH_BUG_RSASIGMD5 0x00002000 +/* #define unused 0x00001000 */ +/* #define unused 0x00002000 */ #define SSH_OLD_DHGEX 0x00004000 #define SSH_BUG_NOREKEY 0x00008000 /* #define unused 0x00010000 */ @@ -61,7 +61,5 @@ struct ssh; void compat_banner(struct ssh *, const char *); -char *compat_cipher_proposal(struct ssh *, char *); -char *compat_pkalg_proposal(struct ssh *, char *); -char *compat_kex_proposal(struct ssh *, char *); +char *compat_kex_proposal(struct ssh *, const char *); #endif diff --git a/contrib/redhat/openssh.spec b/contrib/redhat/openssh.spec index 423079a03c78..a665aa20bc1f 100644 --- a/contrib/redhat/openssh.spec +++ b/contrib/redhat/openssh.spec @@ -1,4 +1,4 @@ -%global ver 9.2p1 +%global ver 9.3p1 %global rel 1%{?dist} # OpenSSH privilege separation requires a user & group ID diff --git a/contrib/suse/openssh.spec b/contrib/suse/openssh.spec index e533ed542ce1..406b7c0b8606 100644 --- a/contrib/suse/openssh.spec +++ b/contrib/suse/openssh.spec @@ -13,7 +13,7 @@ Summary: OpenSSH, a free Secure Shell (SSH) protocol implementation Name: openssh -Version: 9.2p1 +Version: 9.3p1 URL: https://www.openssh.com/ Release: 1 Source0: openssh-%{version}.tar.gz diff --git a/dispatch.c b/dispatch.c index 6e4c501e0573..6118147bf140 100644 --- a/dispatch.c +++ b/dispatch.c @@ -1,4 +1,4 @@ -/* $OpenBSD: dispatch.c,v 1.32 2019/01/19 21:33:13 djm Exp $ */ +/* $OpenBSD: dispatch.c,v 1.33 2023/03/05 05:34:09 dtucker Exp $ */ /* * Copyright (c) 2000 Markus Friedl. All rights reserved. * @@ -34,7 +34,6 @@ #include "log.h" #include "dispatch.h" #include "packet.h" -#include "compat.h" #include "ssherr.h" int diff --git a/dns.c b/dns.c index f2310bec2b08..939241440777 100644 --- a/dns.c +++ b/dns.c @@ -1,4 +1,4 @@ -/* $OpenBSD: dns.c,v 1.42 2022/02/01 23:32:51 djm Exp $ */ +/* $OpenBSD: dns.c,v 1.44 2023/03/10 04:06:21 dtucker Exp $ */ /* * Copyright (c) 2003 Wesley Griffin. All rights reserved. @@ -258,6 +258,7 @@ verify_host_key_dns(const char *hostname, struct sockaddr *address, if (!dns_read_key(&hostkey_algorithm, &dnskey_digest_type, &hostkey_digest, &hostkey_digest_len, hostkey)) { error("Error calculating key fingerprint."); + free(dnskey_digest); freerrset(fingerprints); return -1; } @@ -301,7 +302,8 @@ verify_host_key_dns(const char *hostname, struct sockaddr *address, * Export the fingerprint of a key as a DNS resource record */ int -export_dns_rr(const char *hostname, struct sshkey *key, FILE *f, int generic) +export_dns_rr(const char *hostname, struct sshkey *key, FILE *f, int generic, + int alg) { u_int8_t rdata_pubkey_algorithm = 0; u_int8_t rdata_digest_type = SSHFP_HASH_RESERVED; @@ -311,6 +313,8 @@ export_dns_rr(const char *hostname, struct sshkey *key, FILE *f, int generic) int success = 0; for (dtype = SSHFP_HASH_SHA1; dtype < SSHFP_HASH_MAX; dtype++) { + if (alg != -1 && dtype != alg) + continue; rdata_digest_type = dtype; if (dns_read_key(&rdata_pubkey_algorithm, &rdata_digest_type, &rdata_digest, &rdata_digest_len, key)) { diff --git a/dns.h b/dns.h index c9b61c4f28f8..864ab7d00ac7 100644 --- a/dns.h +++ b/dns.h @@ -1,4 +1,4 @@ -/* $OpenBSD: dns.h,v 1.19 2021/07/19 03:13:28 dtucker Exp $ */ +/* $OpenBSD: dns.h,v 1.20 2023/02/10 04:56:30 djm Exp $ */ /* * Copyright (c) 2003 Wesley Griffin. All rights reserved. @@ -54,6 +54,6 @@ enum sshfp_hashes { int verify_host_key_dns(const char *, struct sockaddr *, struct sshkey *, int *); -int export_dns_rr(const char *, struct sshkey *, FILE *, int); +int export_dns_rr(const char *, struct sshkey *, FILE *, int, int); #endif /* DNS_H */ diff --git a/hostfile.c b/hostfile.c index bd49e3ac7c48..c5669c703735 100644 --- a/hostfile.c +++ b/hostfile.c @@ -1,4 +1,4 @@ -/* $OpenBSD: hostfile.c,v 1.93 2022/01/06 22:02:52 djm Exp $ */ +/* $OpenBSD: hostfile.c,v 1.95 2023/02/21 06:48:18 dtucker Exp $ */ /* * Author: Tatu Ylonen * Copyright (c) 1995 Tatu Ylonen , Espoo, Finland @@ -515,14 +515,23 @@ add_host_to_hostfile(const char *filename, const char *host, const struct sshkey *key, int store_hash) { FILE *f; - int success; + int success, addnl = 0; if (key == NULL) return 1; /* XXX ? */ hostfile_create_user_ssh_dir(filename, 0); - f = fopen(filename, "a"); + f = fopen(filename, "a+"); if (!f) return 0; + /* Make sure we have a terminating newline. */ + if (fseek(f, -1L, SEEK_END) == 0 && fgetc(f) != '\n') + addnl = 1; + if (fseek(f, 0L, SEEK_END) != 0 || (addnl && fputc('\n', f) != '\n')) { + error("Failed to add terminating newline to %s: %s", + filename, strerror(errno)); + fclose(f); + return 0; + } success = write_host_entry(f, host, NULL, key, store_hash); fclose(f); return success; diff --git a/kex.c b/kex.c index 8cdefcf7cbb9..b4e2ab75f541 100644 --- a/kex.c +++ b/kex.c @@ -1,4 +1,4 @@ -/* $OpenBSD: kex.c,v 1.173 2022/11/07 10:05:38 dtucker Exp $ */ +/* $OpenBSD: kex.c,v 1.178 2023/03/12 10:40:39 dtucker Exp $ */ /* * Copyright (c) 2000, 2001 Markus Friedl. All rights reserved. * @@ -57,10 +57,12 @@ #include "misc.h" #include "dispatch.h" #include "monitor.h" +#include "myproposal.h" #include "ssherr.h" #include "sshbuf.h" #include "digest.h" +#include "xmalloc.h" /* prototype */ static int kex_choose_conf(struct ssh *); @@ -317,6 +319,61 @@ kex_assemble_names(char **listp, const char *def, const char *all) return r; } +/* + * Fill out a proposal array with dynamically allocated values, which may + * be modified as required for compatibility reasons. + * Any of the options may be NULL, in which case the default is used. + * Array contents must be freed by calling kex_proposal_free_entries. + */ +void +kex_proposal_populate_entries(struct ssh *ssh, char *prop[PROPOSAL_MAX], + const char *kexalgos, const char *ciphers, const char *macs, + const char *comp, const char *hkalgs) +{ + const char *defpropserver[PROPOSAL_MAX] = { KEX_SERVER }; + const char *defpropclient[PROPOSAL_MAX] = { KEX_CLIENT }; + const char **defprop = ssh->kex->server ? defpropserver : defpropclient; + u_int i; + + if (prop == NULL) + fatal_f("proposal missing"); + + for (i = 0; i < PROPOSAL_MAX; i++) { + switch(i) { + case PROPOSAL_KEX_ALGS: + prop[i] = compat_kex_proposal(ssh, + kexalgos ? kexalgos : defprop[i]); + break; + case PROPOSAL_ENC_ALGS_CTOS: + case PROPOSAL_ENC_ALGS_STOC: + prop[i] = xstrdup(ciphers ? ciphers : defprop[i]); + break; + case PROPOSAL_MAC_ALGS_CTOS: + case PROPOSAL_MAC_ALGS_STOC: + prop[i] = xstrdup(macs ? macs : defprop[i]); + break; + case PROPOSAL_COMP_ALGS_CTOS: + case PROPOSAL_COMP_ALGS_STOC: + prop[i] = xstrdup(comp ? comp : defprop[i]); + break; + case PROPOSAL_SERVER_HOST_KEY_ALGS: + prop[i] = xstrdup(hkalgs ? hkalgs : defprop[i]); + break; + default: + prop[i] = xstrdup(defprop[i]); + } + } +} + +void +kex_proposal_free_entries(char *prop[PROPOSAL_MAX]) +{ + u_int i; + + for (i = 0; i < PROPOSAL_MAX; i++) + free(prop[i]); +} + /* put algorithm proposal into buffer */ int kex_prop2buf(struct sshbuf *b, char *proposal[PROPOSAL_MAX]) @@ -404,7 +461,6 @@ kex_prop_free(char **proposal) free(proposal); } -/* ARGSUSED */ int kex_protocol_error(int type, u_int32_t seq, struct ssh *ssh) { @@ -485,6 +541,11 @@ kex_input_ext_info(int type, u_int32_t seq, struct ssh *ssh) ssh_dispatch_set(ssh, SSH2_MSG_EXT_INFO, &kex_protocol_error); if ((r = sshpkt_get_u32(ssh, &ninfo)) != 0) return r; + if (ninfo >= 1024) { + error("SSH2_MSG_EXT_INFO with too many entries, expected " + "<=1024, received %u", ninfo); + return SSH_ERR_INVALID_FORMAT; + } for (i = 0; i < ninfo; i++) { if ((r = sshpkt_get_cstring(ssh, &name, NULL)) != 0) return r; @@ -585,7 +646,6 @@ kex_send_kexinit(struct ssh *ssh) return 0; } -/* ARGSUSED */ int kex_input_kexinit(int type, u_int32_t seq, struct ssh *ssh) { @@ -1345,7 +1405,7 @@ kex_exchange_identification(struct ssh *ssh, int timeout_ms, } peer_version_string = sshbuf_dup_string(peer_version); if (peer_version_string == NULL) - error_f("sshbuf_dup_string failed"); + fatal_f("sshbuf_dup_string failed"); /* XXX must be same size for sscanf */ if ((remote_version = calloc(1, sshbuf_len(peer_version))) == NULL) { error_f("calloc failed"); @@ -1404,10 +1464,6 @@ kex_exchange_identification(struct ssh *ssh, int timeout_ms, r = SSH_ERR_CONN_CLOSED; /* XXX */ goto out; } - if ((ssh->compat & SSH_BUG_RSASIGMD5) != 0) { - logit("Remote version \"%.100s\" uses unsafe RSA signature " - "scheme; disabling use of RSA keys", remote_version); - } /* success */ r = 0; out: diff --git a/kex.h b/kex.h index c35329501871..8b54e3f4b912 100644 --- a/kex.h +++ b/kex.h @@ -1,4 +1,4 @@ -/* $OpenBSD: kex.h,v 1.117 2022/01/06 21:55:23 djm Exp $ */ +/* $OpenBSD: kex.h,v 1.118 2023/03/06 12:14:48 dtucker Exp $ */ /* * Copyright (c) 2000, 2001 Markus Friedl. All rights reserved. @@ -182,6 +182,9 @@ int kex_names_valid(const char *); char *kex_alg_list(char); char *kex_names_cat(const char *, const char *); int kex_assemble_names(char **, const char *, const char *); +void kex_proposal_populate_entries(struct ssh *, char *prop[PROPOSAL_MAX], + const char *, const char *, const char *, const char *, const char *); +void kex_proposal_free_entries(char *prop[PROPOSAL_MAX]); int kex_exchange_identification(struct ssh *, int, const char *); diff --git a/kexgexs.c b/kexgexs.c index 72b444f6906b..676de77ad14e 100644 --- a/kexgexs.c +++ b/kexgexs.c @@ -1,4 +1,4 @@ -/* $OpenBSD: kexgexs.c,v 1.44 2021/12/19 22:08:06 djm Exp $ */ +/* $OpenBSD: kexgexs.c,v 1.45 2023/03/05 05:34:09 dtucker Exp $ */ /* * Copyright (c) 2000 Niels Provos. All rights reserved. * Copyright (c) 2001 Markus Friedl. All rights reserved. @@ -46,7 +46,6 @@ #include "packet.h" #include "dh.h" #include "ssh2.h" -#include "compat.h" #ifdef GSSAPI #include "ssh-gss.h" #endif diff --git a/krl.c b/krl.c index 473a9d737953..1fed42b2249a 100644 --- a/krl.c +++ b/krl.c @@ -14,7 +14,7 @@ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/* $OpenBSD: krl.c,v 1.54 2022/04/28 02:53:31 djm Exp $ */ +/* $OpenBSD: krl.c,v 1.55 2023/03/14 07:28:47 dtucker Exp $ */ #include "includes.h" @@ -191,6 +191,7 @@ ssh_krl_free(struct ssh_krl *krl) TAILQ_REMOVE(&krl->revoked_certs, rc, entry); revoked_certs_free(rc); } + free(krl); } void diff --git a/misc.c b/misc.c index c098dc610b7b..6135b15567a4 100644 --- a/misc.c +++ b/misc.c @@ -1,4 +1,4 @@ -/* $OpenBSD: misc.c,v 1.180 2023/01/06 02:37:04 djm Exp $ */ +/* $OpenBSD: misc.c,v 1.181 2023/03/03 02:37:58 dtucker Exp $ */ /* * Copyright (c) 2000 Markus Friedl. All rights reserved. * Copyright (c) 2005-2020 Damien Miller. All rights reserved. @@ -2452,9 +2452,6 @@ parse_absolute_time(const char *s, uint64_t *tp) return 0; } -/* On OpenBSD time_t is int64_t which is long long. */ -/* #define SSH_TIME_T_MAX LLONG_MAX */ - void format_absolute_time(uint64_t t, char *buf, size_t len) { diff --git a/misc.h b/misc.h index 84d93e059ea9..07408ca13c45 100644 --- a/misc.h +++ b/misc.h @@ -1,4 +1,4 @@ -/* $OpenBSD: misc.h,v 1.101 2023/01/06 02:37:04 djm Exp $ */ +/* $OpenBSD: misc.h,v 1.102 2023/03/03 02:37:58 dtucker Exp $ */ /* * Author: Tatu Ylonen @@ -240,4 +240,7 @@ void notify_complete(struct notifier_ctx *, const char *, ...) typedef void (*sshsig_t)(int); sshsig_t ssh_signal(int, sshsig_t); +/* On OpenBSD time_t is int64_t which is long long. */ +/* #define SSH_TIME_T_MAX LLONG_MAX */ + #endif /* _MISC_H */ diff --git a/moduli.c b/moduli.c index 9f660ef267ee..481ca2aa8ffc 100644 --- a/moduli.c +++ b/moduli.c @@ -1,4 +1,4 @@ -/* $OpenBSD: moduli.c,v 1.38 2022/05/01 23:20:30 djm Exp $ */ +/* $OpenBSD: moduli.c,v 1.39 2023/03/02 06:41:56 dtucker Exp $ */ /* * Copyright 1994 Phil Karn * Copyright 1996-1998, 2003 William Allen Simpson @@ -452,7 +452,7 @@ write_checkpoint(char *cpfile, u_int32_t lineno) { FILE *fp; char tmp[PATH_MAX]; - int r; + int r, writeok, closeok; r = snprintf(tmp, sizeof(tmp), "%s.XXXXXXXXXX", cpfile); if (r < 0 || r >= PATH_MAX) { @@ -469,13 +469,16 @@ write_checkpoint(char *cpfile, u_int32_t lineno) close(r); return; } - if (fprintf(fp, "%lu\n", (unsigned long)lineno) > 0 && fclose(fp) == 0 - && rename(tmp, cpfile) == 0) + writeok = (fprintf(fp, "%lu\n", (unsigned long)lineno) > 0); + closeok = (fclose(fp) == 0); + if (writeok && closeok && rename(tmp, cpfile) == 0) { debug3("wrote checkpoint line %lu to '%s'", (unsigned long)lineno, cpfile); - else + } else { logit("failed to write to checkpoint file '%s': %s", cpfile, strerror(errno)); + (void)unlink(tmp); + } } static unsigned long diff --git a/monitor.c b/monitor.c index 91e0e62454b7..fda4a3660be7 100644 --- a/monitor.c +++ b/monitor.c @@ -1,4 +1,4 @@ -/* $OpenBSD: monitor.c,v 1.234 2022/06/15 16:08:25 djm Exp $ */ +/* $OpenBSD: monitor.c,v 1.235 2023/02/17 04:22:50 dtucker Exp $ */ /* * Copyright 2002 Niels Provos * Copyright 2002 Markus Friedl @@ -1097,6 +1097,10 @@ mm_answer_pam_respond(struct ssh *ssh, int sock, struct sshbuf *m) sshpam_authok = NULL; if ((r = sshbuf_get_u32(m, &num)) != 0) fatal("%s: buffer error: %s", __func__, ssh_err(r)); + if (num > PAM_MAX_NUM_MSG) { + fatal_f("Too many PAM messages, got %u, expected <= %u", + num, (unsigned)PAM_MAX_NUM_MSG); + } if (num > 0) { resp = xcalloc(num, sizeof(char *)); for (i = 0; i < num; ++i) { @@ -1161,11 +1165,6 @@ mm_answer_keyallowed(struct ssh *ssh, int sock, struct sshbuf *m) fatal_fr(r, "parse"); if (key != NULL && authctxt->valid) { - /* These should not make it past the privsep child */ - if (sshkey_type_plain(key->type) == KEY_RSA && - (ssh->compat & SSH_BUG_RSASIGMD5) != 0) - fatal_f("passed a SSH_BUG_RSASIGMD5 key"); - switch (type) { case MM_USERKEY: auth_method = "publickey"; diff --git a/mux.c b/mux.c index e7580ac742ab..b3ffde9fe162 100644 --- a/mux.c +++ b/mux.c @@ -1,4 +1,4 @@ -/* $OpenBSD: mux.c,v 1.95 2023/01/06 02:39:59 djm Exp $ */ +/* $OpenBSD: mux.c,v 1.96 2023/03/08 04:43:12 guenther Exp $ */ /* * Copyright (c) 2002-2008 Damien Miller * @@ -186,7 +186,6 @@ static const struct { }; /* Cleanup callback fired on closure of mux client _session_ channel */ -/* ARGSUSED */ static void mux_master_session_cleanup_cb(struct ssh *ssh, int cid, int force, void *unused) { @@ -208,7 +207,6 @@ mux_master_session_cleanup_cb(struct ssh *ssh, int cid, int force, void *unused) } /* Cleanup callback fired on closure of mux client _control_ channel */ -/* ARGSUSED */ static void mux_master_control_cleanup_cb(struct ssh *ssh, int cid, int force, void *unused) { diff --git a/openbsd-compat/bsd-getentropy.c b/openbsd-compat/bsd-getentropy.c index 554dfad70524..0231e066c5fa 100644 --- a/openbsd-compat/bsd-getentropy.c +++ b/openbsd-compat/bsd-getentropy.c @@ -51,7 +51,7 @@ _ssh_compat_getentropy(void *s, size_t len) size_t o = 0; #ifdef HAVE_GETENTROPY - if (r = getentropy(s, len) == 0) + if ((r = getentropy(s, len)) == 0) return 0; #endif /* HAVE_GETENTROPY */ #ifdef HAVE_GETRANDOM diff --git a/openbsd-compat/bsd-snprintf.c b/openbsd-compat/bsd-snprintf.c index b9eaee14f3c0..bc505b8387ba 100644 --- a/openbsd-compat/bsd-snprintf.c +++ b/openbsd-compat/bsd-snprintf.c @@ -35,9 +35,9 @@ * original. Also, there is now a builtin-test, just compile with: * gcc -DTEST_SNPRINTF -o snprintf snprintf.c -lm * and run snprintf for results. - * + * * Thomas Roessler 01/27/98 for mutt 0.89i - * The PGP code was using unsigned hexadecimal formats. + * The PGP code was using unsigned hexadecimal formats. * Unfortunately, unsigned formats simply didn't work. * * Michael Elkins 03/05/98 for mutt 0.90.8 @@ -55,20 +55,20 @@ * * date: 2002/12/19 19:56:31; author: herb; state: Exp; lines: +2 -0 * actually print args for %g and %e - * + * * date: 2002/06/03 13:37:52; author: jmcd; state: Exp; lines: +8 -0 * Since includes.h isn't included here, VA_COPY has to be defined here. I don't * see any include file that is guaranteed to be here, so I'm defining it * locally. Fixes AIX and Solaris builds. - * + * * date: 2002/06/03 03:07:24; author: tridge; state: Exp; lines: +5 -13 * put the ifdef for HAVE_VA_COPY in one place rather than in lots of * functions - * + * * date: 2002/05/17 14:51:22; author: jmcd; state: Exp; lines: +21 -4 * Fix usage of va_list passed as an arg. Use __va_copy before using it * when it exists. - * + * * date: 2002/04/16 22:38:04; author: idra; state: Exp; lines: +20 -14 * Fix incorrect zpadlen handling in fmtfp. * Thanks to Ollie Oldham for spotting it. @@ -167,7 +167,7 @@ (pos)++; \ } while (0) -static int dopr(char *buffer, size_t maxlen, const char *format, +static int dopr(char *buffer, size_t maxlen, const char *format, va_list args_in); static int fmtstr(char *buffer, size_t *currlen, size_t maxlen, char *value, int flags, int min, int max); @@ -192,19 +192,19 @@ dopr(char *buffer, size_t maxlen, const char *format, va_list args_in) va_list args; VA_COPY(args, args_in); - + state = DP_S_DEFAULT; currlen = flags = cflags = min = 0; max = -1; ch = *format++; - + while (state != DP_S_DONE) { - if (ch == '\0') + if (ch == '\0') state = DP_S_DONE; switch(state) { case DP_S_DEFAULT: - if (ch == '%') + if (ch == '%') state = DP_S_FLAGS; else DOPR_OUTCH(buffer, currlen, maxlen, ch); @@ -253,7 +253,7 @@ dopr(char *buffer, size_t maxlen, const char *format, va_list args_in) if (ch == '.') { state = DP_S_MAX; ch = *format++; - } else { + } else { state = DP_S_MOD; } break; @@ -306,7 +306,7 @@ dopr(char *buffer, size_t maxlen, const char *format, va_list args_in) switch (ch) { case 'd': case 'i': - if (cflags == DP_C_SHORT) + if (cflags == DP_C_SHORT) value = va_arg (args, int); else if (cflags == DP_C_LONG) value = va_arg (args, long int); @@ -489,12 +489,12 @@ dopr(char *buffer, size_t maxlen, const char *format, va_list args_in) } } if (maxlen != 0) { - if (currlen < maxlen - 1) + if (currlen < maxlen - 1) buffer[currlen] = '\0'; - else if (maxlen > 0) + else if (maxlen > 0) buffer[maxlen - 1] = '\0'; } - + return currlen < INT_MAX ? (int)currlen : -1; } @@ -514,11 +514,11 @@ fmtstr(char *buffer, size_t *currlen, size_t maxlen, for (strln = 0; strln < max && value[strln]; ++strln); /* strlen */ padlen = min - strln; - if (padlen < 0) + if (padlen < 0) padlen = 0; - if (flags & DP_F_MINUS) + if (flags & DP_F_MINUS) padlen = -padlen; /* Left Justify */ - + while ((padlen > 0) && (cnt < max)) { DOPR_OUTCH(buffer, *currlen, maxlen, ' '); --padlen; @@ -550,12 +550,12 @@ fmtint(char *buffer, size_t *currlen, size_t maxlen, int spadlen = 0; /* amount to space pad */ int zpadlen = 0; /* amount to zero pad */ int caps = 0; - + if (max < 0) max = 0; - + uvalue = value; - + if(!(flags & DP_F_UNSIGNED)) { if( value < 0 ) { signvalue = '-'; @@ -567,7 +567,7 @@ fmtint(char *buffer, size_t *currlen, size_t maxlen, signvalue = ' '; } } - + if (flags & DP_F_UP) caps = 1; /* Should characters be upper case? */ do { @@ -587,7 +587,7 @@ fmtint(char *buffer, size_t *currlen, size_t maxlen, zpadlen = MAX(zpadlen, spadlen); spadlen = 0; } - if (flags & DP_F_MINUS) + if (flags & DP_F_MINUS) spadlen = -spadlen; /* Left Justifty */ #ifdef DEBUG_SNPRINTF @@ -602,7 +602,7 @@ fmtint(char *buffer, size_t *currlen, size_t maxlen, } /* Sign */ - if (signvalue) + if (signvalue) DOPR_OUTCH(buffer, *currlen, maxlen, signvalue); /* Zeros */ @@ -618,7 +618,7 @@ fmtint(char *buffer, size_t *currlen, size_t maxlen, --place; DOPR_OUTCH(buffer, *currlen, maxlen, convert[place]); } - + /* Left Justified spaces */ while (spadlen < 0) { DOPR_OUTCH(buffer, *currlen, maxlen, ' '); @@ -633,19 +633,19 @@ static LDOUBLE abs_val(LDOUBLE value) if (value < 0) result = -value; - + return result; } static LDOUBLE POW10(int val) { LDOUBLE result = 1; - + while (val) { result *= 10; val--; } - + return result; } @@ -656,7 +656,7 @@ static LLONG ROUND(LDOUBLE value) intpart = (LLONG)value; value = value - intpart; if (value >= 0.5) intpart++; - + return intpart; } @@ -692,7 +692,7 @@ static double my_modf(double x0, double *iptr) ret = my_modf(x0-l*f, &i2); (*iptr) = l*f + i2; return ret; - } + } (*iptr) = l; return x - (*iptr); @@ -710,14 +710,14 @@ fmtfp (char *buffer, size_t *currlen, size_t maxlen, int iplace = 0; int fplace = 0; int padlen = 0; /* amount to pad */ - int zpadlen = 0; + int zpadlen = 0; int caps = 0; int idx; double intpart; double fracpart; double temp; - - /* + + /* * AIX manpage says the default is 0, but Solaris says the default * is 6, and sprintf on AIX defaults to 6 */ @@ -745,8 +745,8 @@ fmtfp (char *buffer, size_t *currlen, size_t maxlen, if (max == 0) ufvalue += 0.5; /* if max = 0 we must round */ #endif - /* - * Sorry, we only support 16 digits past the decimal because of our + /* + * Sorry, we only support 16 digits past the decimal because of our * conversion method */ if (max > 16) @@ -760,7 +760,7 @@ fmtfp (char *buffer, size_t *currlen, size_t maxlen, my_modf(temp, &intpart); fracpart = ROUND((POW10(max)) * (ufvalue - intpart)); - + if (fracpart >= POW10(max)) { intpart++; fracpart -= POW10(max); @@ -794,16 +794,16 @@ fmtfp (char *buffer, size_t *currlen, size_t maxlen, if (fplace == 311) fplace--; } fconvert[fplace] = 0; - + /* -1 for decimal point, another -1 if we are printing a sign */ - padlen = min - iplace - max - 1 - ((signvalue) ? 1 : 0); + padlen = min - iplace - max - 1 - ((signvalue) ? 1 : 0); zpadlen = max - fplace; if (zpadlen < 0) zpadlen = 0; - if (padlen < 0) + if (padlen < 0) padlen = 0; - if (flags & DP_F_MINUS) + if (flags & DP_F_MINUS) padlen = -padlen; /* Left Justifty */ - + if ((flags & DP_F_ZERO) && (padlen > 0)) { if (signvalue) { DOPR_OUTCH(buffer, *currlen, maxlen, signvalue); @@ -819,9 +819,9 @@ fmtfp (char *buffer, size_t *currlen, size_t maxlen, DOPR_OUTCH(buffer, *currlen, maxlen, ' '); --padlen; } - if (signvalue) + if (signvalue) DOPR_OUTCH(buffer, *currlen, maxlen, signvalue); - + while (iplace > 0) { --iplace; DOPR_OUTCH(buffer, *currlen, maxlen, iconvert[iplace]); @@ -837,7 +837,7 @@ fmtfp (char *buffer, size_t *currlen, size_t maxlen, */ if (max > 0) { DOPR_OUTCH(buffer, *currlen, maxlen, '.'); - + while (zpadlen > 0) { DOPR_OUTCH(buffer, *currlen, maxlen, '0'); --zpadlen; diff --git a/openbsd-compat/getopt.h b/openbsd-compat/getopt.h index 8eb12447ed64..65c8bc7fb60e 100644 --- a/openbsd-compat/getopt.h +++ b/openbsd-compat/getopt.h @@ -40,6 +40,7 @@ #define required_argument 1 #define optional_argument 2 +#if 0 struct option { /* name of long option */ const char *name; @@ -58,6 +59,8 @@ int getopt_long(int, char * const *, const char *, const struct option *, int *); int getopt_long_only(int, char * const *, const char *, const struct option *, int *); +#endif + #ifndef _GETOPT_DEFINED_ #define _GETOPT_DEFINED_ int getopt(int, char * const *, const char *); diff --git a/openbsd-compat/getopt_long.c b/openbsd-compat/getopt_long.c index 1a5001f7d98a..c2863a789f6b 100644 --- a/openbsd-compat/getopt_long.c +++ b/openbsd-compat/getopt_long.c @@ -72,6 +72,20 @@ #include "log.h" +struct option { + /* name of long option */ + const char *name; + /* + * one of no_argument, required_argument, and optional_argument: + * whether option takes an argument + */ + int has_arg; + /* if not NULL, set *flag to val when option found */ + int *flag; + /* if flag not NULL, value to set *flag to; else return value */ + int val; +}; + int opterr = 1; /* if error message should be printed */ int optind = 1; /* index into parent argv vector */ int optopt = '?'; /* character checked for validity */ diff --git a/openbsd-compat/getrrsetbyname.c b/openbsd-compat/getrrsetbyname.c index 73de5e9482b8..8f593984066e 100644 --- a/openbsd-compat/getrrsetbyname.c +++ b/openbsd-compat/getrrsetbyname.c @@ -390,6 +390,9 @@ parse_dns_response(const u_char *answer, int size) struct dns_response *resp; const u_char *cp; + if (size < HFIXEDSZ) + return (NULL); + /* allocate memory for the response */ resp = calloc(1, sizeof(*resp)); if (resp == NULL) @@ -456,14 +459,22 @@ parse_dns_qsection(const u_char *answer, int size, const u_char **cp, int count) int i, length; char name[MAXDNAME]; - for (i = 1, head = NULL, prev = NULL; i <= count; i++, prev = curr) { +#define NEED(need) \ + do { \ + if (*cp + need > answer + size) \ + goto fail; \ + } while (0) - /* allocate and initialize struct */ - curr = calloc(1, sizeof(struct dns_query)); - if (curr == NULL) { + for (i = 1, head = NULL, prev = NULL; i <= count; i++, prev = curr) { + if (*cp >= answer + size) { + fail: free_dns_query(head); return (NULL); } + /* allocate and initialize struct */ + curr = calloc(1, sizeof(struct dns_query)); + if (curr == NULL) + goto fail; if (head == NULL) head = curr; if (prev != NULL) @@ -481,16 +492,20 @@ parse_dns_qsection(const u_char *answer, int size, const u_char **cp, int count) free_dns_query(head); return (NULL); } + NEED(length); *cp += length; /* type */ + NEED(INT16SZ); curr->type = _getshort(*cp); *cp += INT16SZ; /* class */ + NEED(INT16SZ); curr->class = _getshort(*cp); *cp += INT16SZ; } +#undef NEED return (head); } @@ -503,14 +518,23 @@ parse_dns_rrsection(const u_char *answer, int size, const u_char **cp, int i, length; char name[MAXDNAME]; - for (i = 1, head = NULL, prev = NULL; i <= count; i++, prev = curr) { +#define NEED(need) \ + do { \ + if (*cp + need > answer + size) \ + goto fail; \ + } while (0) - /* allocate and initialize struct */ - curr = calloc(1, sizeof(struct dns_rr)); - if (curr == NULL) { + for (i = 1, head = NULL, prev = NULL; i <= count; i++, prev = curr) { + if (*cp >= answer + size) { + fail: free_dns_rr(head); return (NULL); } + + /* allocate and initialize struct */ + curr = calloc(1, sizeof(struct dns_rr)); + if (curr == NULL) + goto fail; if (head == NULL) head = curr; if (prev != NULL) @@ -528,25 +552,31 @@ parse_dns_rrsection(const u_char *answer, int size, const u_char **cp, free_dns_rr(head); return (NULL); } + NEED(length); *cp += length; /* type */ + NEED(INT16SZ); curr->type = _getshort(*cp); *cp += INT16SZ; /* class */ + NEED(INT16SZ); curr->class = _getshort(*cp); *cp += INT16SZ; /* ttl */ + NEED(INT32SZ); curr->ttl = _getlong(*cp); *cp += INT32SZ; /* rdata size */ + NEED(INT16SZ); curr->size = _getshort(*cp); *cp += INT16SZ; /* rdata itself */ + NEED(curr->size); curr->rdata = malloc(curr->size); if (curr->rdata == NULL) { free_dns_rr(head); @@ -555,6 +585,7 @@ parse_dns_rrsection(const u_char *answer, int size, const u_char **cp, memcpy(curr->rdata, *cp, curr->size); *cp += curr->size; } +#undef NEED return (head); } diff --git a/openbsd-compat/libressl-api-compat.c b/openbsd-compat/libressl-api-compat.c index 801a2e8dd3d9..498180dc894b 100644 --- a/openbsd-compat/libressl-api-compat.c +++ b/openbsd-compat/libressl-api-compat.c @@ -10,21 +10,21 @@ * This package is an SSL implementation written * by Eric Young (eay@cryptsoft.com). * The implementation was written so as to conform with Netscapes SSL. - * + * * This library is free for commercial and non-commercial use as long as * the following conditions are aheared to. The following conditions * apply to all code found in this distribution, be it the RC4, RSA, * lhash, DES, etc., code; not just the SSL code. The SSL documentation * included with this distribution is covered by the same copyright terms * except that the holder is Tim Hudson (tjh@cryptsoft.com). - * + * * Copyright remains Eric Young's, and as such any Copyright notices in * the code are not to be removed. * If this package is used in a product, Eric Young should be given attribution * as the author of the parts of the library used. * This can be in the form of a textual message at program startup or * in documentation (online or textual) provided with the package. - * + * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: @@ -39,10 +39,10 @@ * Eric Young (eay@cryptsoft.com)" * The word 'cryptographic' can be left out if the rouines from the library * being used are not cryptographic related :-). - * 4. If you include any Windows specific code (or a derivative thereof) from + * 4. If you include any Windows specific code (or a derivative thereof) from * the apps directory (application code) you must include an acknowledgement: * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" - * + * * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE @@ -54,7 +54,7 @@ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. - * + * * The licence and distribution terms for any publically available version or * derivative of this code cannot be changed. i.e. this code cannot simply be * copied and put under another distribution licence @@ -75,7 +75,7 @@ * are met: * * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. + * notice, this list of conditions and the following disclaimer. * * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in diff --git a/openbsd-compat/mktemp.c b/openbsd-compat/mktemp.c index ac922c1ecbe5..cca956a51f65 100644 --- a/openbsd-compat/mktemp.c +++ b/openbsd-compat/mktemp.c @@ -34,6 +34,29 @@ #include #include +#ifdef mkstemp +#undef mkstemp +#endif +int mkstemp(char *); + +/* + * From glibc man page: 'In glibc versions 2.06 and earlier, the file is + * created with permissions 0666, that is, read and write for all users.' + * Provide a wrapper to make sure the mask is reasonable (POSIX requires + * mode 0600, so mask off any other bits). + */ +int +_ssh_mkstemp(char *template) +{ + mode_t mask; + int ret; + + mask = umask(0177); + ret = mkstemp(template); + (void)umask(mask); + return ret; +} + #if !defined(HAVE_MKDTEMP) #define MKTEMP_NAME 0 diff --git a/openbsd-compat/openbsd-compat.h b/openbsd-compat/openbsd-compat.h index 895ecf9ea111..78faea9629bd 100644 --- a/openbsd-compat/openbsd-compat.h +++ b/openbsd-compat/openbsd-compat.h @@ -141,6 +141,9 @@ int mkstemp(char *path); char *mkdtemp(char *path); #endif +#define mkstemp(x) _ssh_mkstemp(x) +int _ssh_mkstemp(char *); + #ifndef HAVE_DAEMON int daemon(int nochdir, int noclose); #endif diff --git a/packet.c b/packet.c index 3f64d2d32854..fd14f0009e67 100644 --- a/packet.c +++ b/packet.c @@ -1,4 +1,4 @@ -/* $OpenBSD: packet.c,v 1.308 2022/08/31 02:56:40 djm Exp $ */ +/* $OpenBSD: packet.c,v 1.309 2023/03/03 10:23:42 dtucker Exp $ */ /* * Author: Tatu Ylonen * Copyright (c) 1995 Tatu Ylonen , Espoo, Finland @@ -1324,7 +1324,7 @@ int ssh_packet_read_seqnr(struct ssh *ssh, u_char *typep, u_int32_t *seqnr_p) { struct session_state *state = ssh->state; - int len, r, ms_remain; + int len, r, ms_remain = 0; struct pollfd pfd; char buf[8192]; struct timeval start; diff --git a/progressmeter.c b/progressmeter.c index 8baf798f1813..25da3b2fab1a 100644 --- a/progressmeter.c +++ b/progressmeter.c @@ -1,4 +1,4 @@ -/* $OpenBSD: progressmeter.c,v 1.50 2020/01/23 07:10:22 dtucker Exp $ */ +/* $OpenBSD: progressmeter.c,v 1.52 2023/03/08 04:43:12 guenther Exp $ */ /* * Copyright (c) 2003 Nils Nordman. All rights reserved. * @@ -30,8 +30,11 @@ #include #include +#include +#include #include #include +#include #include #include #include @@ -51,10 +54,6 @@ /* determines whether we can output to the terminal */ static int can_output(void); -/* formats and inserts the specified size into the given buffer */ -static void format_size(char *, int, off_t); -static void format_rate(char *, int, off_t); - /* window resizing */ static void sig_winch(int); static void setscreensize(void); @@ -84,10 +83,14 @@ can_output(void) return (getpgrp() == tcgetpgrp(STDOUT_FILENO)); } -static void -format_rate(char *buf, int size, off_t bytes) +/* size needed to format integer type v, using (nbits(v) * log2(10) / 10) */ +#define STRING_SIZE(v) (((sizeof(v) * 8 * 4) / 10) + 1) + +static const char * +format_rate(off_t bytes) { int i; + static char buf[STRING_SIZE(bytes) * 2 + 16]; bytes *= 100; for (i = 0; bytes >= 100*1000 && unit[i] != 'T'; i++) @@ -96,37 +99,40 @@ format_rate(char *buf, int size, off_t bytes) i++; bytes = (bytes + 512) / 1024; } - snprintf(buf, size, "%3lld.%1lld%c%s", + snprintf(buf, sizeof(buf), "%3lld.%1lld%c%s", (long long) (bytes + 5) / 100, (long long) (bytes + 5) / 10 % 10, unit[i], i ? "B" : " "); + return buf; } -static void -format_size(char *buf, int size, off_t bytes) +static const char * +format_size(off_t bytes) { int i; + static char buf[STRING_SIZE(bytes) + 16]; for (i = 0; bytes >= 10000 && unit[i] != 'T'; i++) bytes = (bytes + 512) / 1024; - snprintf(buf, size, "%4lld%c%s", + snprintf(buf, sizeof(buf), "%4lld%c%s", (long long) bytes, unit[i], i ? "B" : " "); + return buf; } void refresh_progress_meter(int force_update) { - char buf[MAX_WINSIZE + 1]; + char *buf = NULL, *obuf = NULL; off_t transferred; double elapsed, now; int percent; off_t bytes_left; int cur_speed; int hours, minutes, seconds; - int file_len; + int file_len, cols; if ((!force_update && !alarm_fired && !win_resized) || !can_output()) return; @@ -164,32 +170,29 @@ refresh_progress_meter(int force_update) } else bytes_per_second = cur_speed; + last_update = now; + + /* Don't bother if we can't even display the completion percentage */ + if (win_size < 4) + return; + /* filename */ - buf[0] = '\0'; - file_len = win_size - 36; + file_len = cols = win_size - 36; if (file_len > 0) { - buf[0] = '\r'; - snmprintf(buf+1, sizeof(buf)-1, &file_len, "%-*s", - file_len, file); + asmprintf(&buf, INT_MAX, &cols, "%-*s", file_len, file); + /* If we used fewer columns than expected then pad */ + if (cols < file_len) + xextendf(&buf, NULL, "%*s", file_len - cols, ""); } - /* percent of transfer done */ if (end_pos == 0 || cur_pos == end_pos) percent = 100; else percent = ((float)cur_pos / end_pos) * 100; - snprintf(buf + strlen(buf), win_size - strlen(buf), - " %3d%% ", percent); - - /* amount transferred */ - format_size(buf + strlen(buf), win_size - strlen(buf), - cur_pos); - strlcat(buf, " ", win_size); - /* bandwidth usage */ - format_rate(buf + strlen(buf), win_size - strlen(buf), - (off_t)bytes_per_second); - strlcat(buf, "/s ", win_size); + /* percent / amount transferred / bandwidth usage */ + xextendf(&buf, NULL, " %3d%% %s %s/s ", percent, format_size(cur_pos), + format_rate((off_t)bytes_per_second)); /* ETA */ if (!transferred) @@ -198,9 +201,9 @@ refresh_progress_meter(int force_update) stalled = 0; if (stalled >= STALL_TIME) - strlcat(buf, "- stalled -", win_size); + xextendf(&buf, NULL, "- stalled -"); else if (bytes_per_second == 0 && bytes_left) - strlcat(buf, " --:-- ETA", win_size); + xextendf(&buf, NULL, " --:-- ETA"); else { if (bytes_left > 0) seconds = bytes_left / bytes_per_second; @@ -212,24 +215,29 @@ refresh_progress_meter(int force_update) minutes = seconds / 60; seconds -= minutes * 60; - if (hours != 0) - snprintf(buf + strlen(buf), win_size - strlen(buf), - "%d:%02d:%02d", hours, minutes, seconds); - else - snprintf(buf + strlen(buf), win_size - strlen(buf), - " %02d:%02d", minutes, seconds); + if (hours != 0) { + xextendf(&buf, NULL, "%d:%02d:%02d", + hours, minutes, seconds); + } else + xextendf(&buf, NULL, " %02d:%02d", minutes, seconds); if (bytes_left > 0) - strlcat(buf, " ETA", win_size); + xextendf(&buf, NULL, " ETA"); else - strlcat(buf, " ", win_size); + xextendf(&buf, NULL, " "); } - atomicio(vwrite, STDOUT_FILENO, buf, win_size - 1); - last_update = now; + /* Finally, truncate string at window width */ + cols = win_size - 1; + asmprintf(&obuf, INT_MAX, &cols, " %s", buf); + if (obuf != NULL) { + *obuf = '\r'; /* must insert as asmprintf() would escape it */ + atomicio(vwrite, STDOUT_FILENO, obuf, strlen(obuf)); + } + free(buf); + free(obuf); } -/*ARGSUSED*/ static void sig_alarm(int ignore) { @@ -272,7 +280,6 @@ stop_progress_meter(void) atomicio(vwrite, STDOUT_FILENO, "\n", 1); } -/*ARGSUSED*/ static void sig_winch(int sig) { diff --git a/readconf.c b/readconf.c index cf79498848f6..6ded2313df52 100644 --- a/readconf.c +++ b/readconf.c @@ -1,4 +1,4 @@ -/* $OpenBSD: readconf.c,v 1.372 2023/01/13 02:58:20 dtucker Exp $ */ +/* $OpenBSD: readconf.c,v 1.375 2023/03/10 02:24:56 dtucker Exp $ */ /* * Author: Tatu Ylonen * Copyright (c) 1995 Tatu Ylonen , Espoo, Finland @@ -54,7 +54,6 @@ #include "xmalloc.h" #include "ssh.h" #include "ssherr.h" -#include "compat.h" #include "cipher.h" #include "pathnames.h" #include "log.h" @@ -617,7 +616,7 @@ match_cfg_line(Options *options, char **condition, struct passwd *pw, } arg = criteria = NULL; this_result = 1; - if ((negate = attrib[0] == '!')) + if ((negate = (attrib[0] == '!'))) attrib++; /* Criterion "all" has no argument and must appear alone */ if (strcasecmp(attrib, "all") == 0) { @@ -2131,15 +2130,13 @@ parse_pubkey_algos: value2 = 0; /* unlimited lifespan by default */ if (value == 3 && arg2 != NULL) { /* allow "AddKeysToAgent confirm 5m" */ - if ((value2 = convtime(arg2)) == -1 || - value2 > INT_MAX) { + if ((value2 = convtime(arg2)) == -1) { error("%s line %d: invalid time value.", filename, linenum); goto out; } } else if (value == -1 && arg2 == NULL) { - if ((value2 = convtime(arg)) == -1 || - value2 > INT_MAX) { + if ((value2 = convtime(arg)) == -1) { error("%s line %d: unsupported option", filename, linenum); goto out; diff --git a/regress/Makefile b/regress/Makefile index bf1d057aad33..d80bf59fabc2 100644 --- a/regress/Makefile +++ b/regress/Makefile @@ -1,4 +1,4 @@ -# $OpenBSD: Makefile,v 1.122 2023/01/06 08:07:39 djm Exp $ +# $OpenBSD: Makefile,v 1.124 2023/03/01 09:29:32 dtucker Exp $ tests: prep file-tests t-exec unit @@ -138,8 +138,8 @@ CLEANFILES= *.core actual agent-key.* authorized_keys_${USERNAME} \ sshd_config.* sshd_proxy sshd_proxy.* sshd_proxy_bak \ sshd_proxy_orig t10.out t10.out.pub t12.out t12.out.pub \ t2.out t3.out t6.out1 t6.out2 t7.out t7.out.pub \ - t8.out t8.out.pub t9.out t9.out.pub testdata \ - user_*key* user_ca* user_key* + t8.out t8.out.pub t9.out t9.out.pub \ + timestamp testdata user_*key* user_ca* user_key* # Enable all malloc(3) randomisations and checks TEST_ENV= "MALLOC_OPTIONS=CFGJRSUX" diff --git a/regress/agent-getpeereid.sh b/regress/agent-getpeereid.sh index 79e9c7d9e1c0..f6532f0e9af9 100644 --- a/regress/agent-getpeereid.sh +++ b/regress/agent-getpeereid.sh @@ -1,3 +1,4 @@ +# $OpenBSD: agent-getpeereid.sh,v 1.15 2023/02/08 08:06:03 dtucker Exp $ # $OpenBSD: agent-getpeereid.sh,v 1.13 2021/09/01 00:50:27 dtucker Exp $ # Placed in the Public Domain. @@ -53,7 +54,7 @@ else fi trace "kill agent" - ${SSHAGENT} -vvv -k >>$OBJ/ssh-agent.log 2>&1 + ${SSHAGENT} -k >>$OBJ/ssh-agent.log 2>&1 fi rm -f ${OBJ}/agent diff --git a/regress/agent-restrict.sh b/regress/agent-restrict.sh index a30aed7bf3d5..62cea85225e7 100644 --- a/regress/agent-restrict.sh +++ b/regress/agent-restrict.sh @@ -1,4 +1,4 @@ -# $OpenBSD: agent-restrict.sh,v 1.5 2022/01/13 04:53:16 dtucker Exp $ +# $OpenBSD: agent-restrict.sh,v 1.6 2023/03/01 09:29:32 dtucker Exp $ # Placed in the Public Domain. tid="agent restrictions" @@ -39,14 +39,14 @@ Host host_$h Hostname host_$h HostkeyAlias host_$h IdentityFile $OBJ/user_$h - ProxyCommand ${SUDO} env SSH_SK_HELPER=\"$SSH_SK_HELPER\" sh ${SRC}/sshd-log-wrapper.sh ${TEST_SSHD_LOGFILE} ${SSHD} -i -f $OBJ/sshd_proxy_host_$h + ProxyCommand ${SUDO} env SSH_SK_HELPER=\"$SSH_SK_HELPER\" ${OBJ}/sshd-log-wrapper.sh -i -f $OBJ/sshd_proxy_host_$h _EOF # Variant with no specified keys. cat << _EOF >> $OBJ/ssh_proxy_noid Host host_$h Hostname host_$h HostkeyAlias host_$h - ProxyCommand ${SUDO} env SSH_SK_HELPER=\"$SSH_SK_HELPER\" sh ${SRC}/sshd-log-wrapper.sh ${TEST_SSHD_LOGFILE} ${SSHD} -i -f $OBJ/sshd_proxy_host_$h + ProxyCommand ${SUDO} env SSH_SK_HELPER=\"$SSH_SK_HELPER\" ${OBJ}/sshd-log-wrapper.sh -i -f $OBJ/sshd_proxy_host_$h _EOF done cat $OBJ/ssh_proxy.bak >> $OBJ/ssh_proxy diff --git a/regress/agent.sh b/regress/agent.sh index f187b6757201..5f1060608eb5 100644 --- a/regress/agent.sh +++ b/regress/agent.sh @@ -1,4 +1,4 @@ -# $OpenBSD: agent.sh,v 1.20 2021/02/25 03:27:34 djm Exp $ +# $OpenBSD: agent.sh,v 1.21 2023/03/01 09:29:32 dtucker Exp $ # Placed in the Public Domain. tid="simple agent test" @@ -9,7 +9,7 @@ if [ $? -ne 2 ]; then fi trace "start agent, args ${EXTRA_AGENT_ARGS} -s" -eval `${SSHAGENT} ${EXTRA_AGENT_ARGS} -s` > /dev/null +eval `${SSHAGENT} ${EXTRA_AGENT_ARGS} -s` >`ssh_logfile ssh-agent` r=$? if [ $r -ne 0 ]; then fatal "could not start ssh-agent: exit code $r" diff --git a/regress/dhgex.sh b/regress/dhgex.sh index 6dd4cfe3f94a..30064f30a9fe 100644 --- a/regress/dhgex.sh +++ b/regress/dhgex.sh @@ -1,4 +1,4 @@ -# $OpenBSD: dhgex.sh,v 1.7 2020/12/21 22:48:41 dtucker Exp $ +# $OpenBSD: dhgex.sh,v 1.8 2023/03/02 08:14:52 dtucker Exp $ # Placed in the Public Domain. tid="dhgex" @@ -31,8 +31,8 @@ ssh_test_dhgex() # check what we request grep "SSH2_MSG_KEX_DH_GEX_REQUEST($groupsz) sent" ${LOG} >/dev/null if [ $? != 0 ]; then - got=`egrep "SSH2_MSG_KEX_DH_GEX_REQUEST(.*) sent" ${LOG}` - fail "$tid unexpected GEX sizes, expected $groupsz, got $got" + got="`egrep 'SSH2_MSG_KEX_DH_GEX_REQUEST(.*) sent' ${LOG}`" + fail "$tid unexpected GEX sizes, expected $groupsz, got '$got'" fi # check what we got. gotbits="`awk 'BEGIN{FS="/"}/bits set:/{print $2}' ${LOG} | diff --git a/regress/integrity.sh b/regress/integrity.sh index bc030cb74f35..202483c75f4f 100644 --- a/regress/integrity.sh +++ b/regress/integrity.sh @@ -1,4 +1,4 @@ -# $OpenBSD: integrity.sh,v 1.24 2020/01/21 08:06:27 djm Exp $ +# $OpenBSD: integrity.sh,v 1.25 2023/03/01 09:29:32 dtucker Exp $ # Placed in the Public Domain. tid="integrity" @@ -18,7 +18,7 @@ macs="$macs `${SSH} -Q cipher-auth`" # >> $OBJ/ssh_proxy # sshd-command for proxy (see test-exec.sh) -cmd="$SUDO env SSH_SK_HELPER="$SSH_SK_HELPER" sh ${SRC}/sshd-log-wrapper.sh ${TEST_SSHD_LOGFILE} ${SSHD} -i -f $OBJ/sshd_proxy" +cmd="$SUDO env SSH_SK_HELPER="$SSH_SK_HELPER" sh ${OBJ}/sshd-log-wrapper.sh -i -f $OBJ/sshd_proxy" for m in $macs; do trace "test $tid: mac $m" diff --git a/regress/keygen-sshfp.sh b/regress/keygen-sshfp.sh index 2abf9adecac7..0f5eb8555449 100644 --- a/regress/keygen-sshfp.sh +++ b/regress/keygen-sshfp.sh @@ -1,4 +1,4 @@ -# $OpenBSD: keygen-sshfp.sh,v 1.2 2021/07/19 02:29:28 dtucker Exp $ +# $OpenBSD: keygen-sshfp.sh,v 1.3 2023/02/10 05:06:03 djm Exp $ # Placed in the Public Domain. tid="keygen-sshfp" @@ -16,6 +16,25 @@ if [ "$fp" != \ fail "keygen fingerprint sha256" fi +# Expect two lines of output without an explicit algorithm +fp=`${SSHKEYGEN} -r test -f ${SRC}/ed25519_openssh.pub | wc -l` +if [ $(($fp + 0)) -ne 2 ] ; then + fail "incorrect number of SSHFP records $fp (expected 2)" +fi + +# Test explicit algorithm selection +exp="test IN SSHFP 4 1 8a8647a7567e202ce317e62606c799c53d4c121f" +fp=`${SSHKEYGEN} -Ohashalg=sha1 -r test -f ${SRC}/ed25519_openssh.pub` +if [ "x$exp" != "x$fp" ] ; then + fail "incorrect SHA1 SSHFP output" +fi + +exp="test IN SSHFP 4 2 54a506fb849aafb9f229cf78a94436c281efcb4ae67c8a430e8c06afcb5ee18f" +fp=`${SSHKEYGEN} -Ohashalg=sha256 -r test -f ${SRC}/ed25519_openssh.pub` +if [ "x$exp" != "x$fp" ] ; then + fail "incorrect SHA256 SSHFP output" +fi + if ${SSH} -Q key-plain | grep ssh-rsa >/dev/null; then fp=`${SSHKEYGEN} -r test -f ${SRC}/rsa_openssh.pub | awk '$5=="1"{print $6}'` if [ "$fp" != "99c79cc09f5f81069cc017cdf9552cfc94b3b929" ]; then @@ -27,3 +46,4 @@ if ${SSH} -Q key-plain | grep ssh-rsa >/dev/null; then fail "keygen fingerprint sha256" fi fi + diff --git a/regress/knownhosts.sh b/regress/knownhosts.sh index dfc768ac9742..7a9da5b1469e 100644 --- a/regress/knownhosts.sh +++ b/regress/knownhosts.sh @@ -1,4 +1,4 @@ -# $OpenBSD: knownhosts.sh,v 1.1 2021/10/01 05:20:20 dtucker Exp $ +# $OpenBSD: knownhosts.sh,v 1.2 2023/02/09 09:55:33 dtucker Exp $ # Placed in the Public Domain. tid="known hosts" @@ -15,3 +15,21 @@ ${SSH} -ohashknownhosts=yes -o stricthostkeychecking=no $opts somehost true \ trace "test hashed known hosts" ${SSH} $opts somehost true || fail "reconnect with hashed known hosts" + +trace "no newline at end of known_hosts" +printf "something" >$OBJ/known_hosts +${SSH} $opts -ostricthostkeychecking=no somehost true \ + || fail "hostkey update, missing newline, no strict" +${SSH} $opts -ostricthostkeychecking=yes somehost true \ + || fail "reconnect after adding with missing newline" + +trace "newline at end of known_hosts" +printf "something\n" >$OBJ/known_hosts +${SSH} $opts -ostricthostkeychecking=no somehost true \ + || fail "hostkey update, newline, no strict" +${SSH} $opts -ostricthostkeychecking=yes somehost true \ + || fail "reconnect after adding without missing newline" +lines=`wc -l <$OBJ/known_hosts` +if [ $lines -ne 2 ]; then + fail "expected 2 lines in known_hosts, found $lines" +fi diff --git a/regress/multiplex.sh b/regress/multiplex.sh index f9c8fc10bd14..8282d0d940f5 100644 --- a/regress/multiplex.sh +++ b/regress/multiplex.sh @@ -1,4 +1,4 @@ -# $OpenBSD: multiplex.sh,v 1.35 2023/01/13 04:47:34 dtucker Exp $ +# $OpenBSD: multiplex.sh,v 1.36 2023/03/01 09:29:32 dtucker Exp $ # Placed in the Public Domain. make_tmpdir @@ -87,7 +87,7 @@ cmp ${DATA} ${COPY} || fail "scp: corrupted copy of ${DATA}" rm -f ${COPY} verbose "test $tid: forward" trace "forward over TCP/IP and check result" -$NC -N -l 127.0.0.1 $((${PORT} + 1)) < ${DATA} > /dev/null & +$NC -N -l 127.0.0.1 $((${PORT} + 1)) < ${DATA} >`ssh_logfile nc` & netcat_pid=$! ${SSH} -F $OBJ/ssh_config -S $CTL -Oforward -L127.0.0.1:$((${PORT} + 2)):127.0.0.1:$((${PORT} + 1)) otherhost >>$TEST_SSH_LOGFILE 2>&1 sleep 1 # XXX remove once race fixed diff --git a/regress/sshd-log-wrapper.sh b/regress/sshd-log-wrapper.sh deleted file mode 100644 index 4b3c91137990..000000000000 --- a/regress/sshd-log-wrapper.sh +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/sh -# $OpenBSD: sshd-log-wrapper.sh,v 1.5 2022/01/04 08:38:53 dtucker Exp $ -# Placed in the Public Domain. -# -# simple wrapper for sshd proxy mode to catch stderr output -# sh sshd-log-wrapper.sh /path/to/logfile /path/to/sshd [args...] - -log=$1 -shift - -echo "Executing: $@" >>$log -exec "$@" -E$log diff --git a/regress/test-exec.sh b/regress/test-exec.sh index df43f021404f..eaa12992d18f 100644 --- a/regress/test-exec.sh +++ b/regress/test-exec.sh @@ -1,4 +1,4 @@ -# $OpenBSD: test-exec.sh,v 1.94 2023/01/13 04:47:34 dtucker Exp $ +# $OpenBSD: test-exec.sh,v 1.98 2023/03/02 11:10:27 dtucker Exp $ # Placed in the Public Domain. #SUDO=sudo @@ -102,7 +102,8 @@ CONCH=conch # Tools used by multiple tests NC=$OBJ/netcat -OPENSSL_BIN="${OPENSSL_BIN:-openssl}" +# Always use the one configure tells us to, even if that's empty. +#OPENSSL_BIN="${OPENSSL_BIN:-openssl}" if [ "x$TEST_SSH_SSH" != "x" ]; then SSH="${TEST_SSH_SSH}" @@ -239,7 +240,13 @@ fi # Logfiles. # SSH_LOGFILE should be the debug output of ssh(1) only # SSHD_LOGFILE should be the debug output of sshd(8) only -# REGRESS_LOGFILE is the output of the test itself stdout and stderr +# REGRESS_LOGFILE is the log of progress of the regress test itself. +# TEST_SSH_LOGDIR will contain datestamped logs of all binaries run in +# chronological order. +if [ "x$TEST_SSH_LOGDIR" = "x" ]; then + TEST_SSH_LOGDIR=$OBJ/log + mkdir -p $TEST_SSH_LOGDIR +fi if [ "x$TEST_SSH_LOGFILE" = "x" ]; then TEST_SSH_LOGFILE=$OBJ/ssh.log fi @@ -275,20 +282,28 @@ if [ "x$TEST_REGRESS_CACHE_DIR" != "x" ]; then fi # truncate logfiles ->$TEST_SSH_LOGFILE ->$TEST_SSHD_LOGFILE >$TEST_REGRESS_LOGFILE -# Create wrapper ssh with logging. We can't just specify "SSH=ssh -E..." -# because sftp and scp don't handle spaces in arguments. scp and sftp like -# to use -q so we remove those to preserve our debug logging. In the rare -# instance where -q is desirable -qq is equivalent and is not removed. +# Create ssh and sshd wrappers with logging. These create a datestamped +# unique file for every invocation so that we can retain all logs from a +# given test no matter how many times it's invoked. It also leaves a +# symlink with the original name for tests (and people) who look for that. + +# For ssh, e can't just specify "SSH=ssh -E..." because sftp and scp don't +# handle spaces in arguments. scp and sftp like to use -q so we remove those +# to preserve our debug logging. In the rare instance where -q is desirable +# -qq is equivalent and is not removed. SSHLOGWRAP=$OBJ/ssh-log-wrapper.sh cat >$SSHLOGWRAP <>${TEST_SSH_LOGFILE} +timestamp="\`$OBJ/timestamp\`" +logfile="${TEST_SSH_LOGDIR}/\${timestamp}.ssh.\$\$.log" +echo "Executing: ${SSH} \$@" log \${logfile} >>$TEST_REGRESS_LOGFILE +echo "Executing: ${SSH} \$@" >>\${logfile} for i in "\$@";do shift;case "\$i" in -q):;; *) set -- "\$@" "\$i";;esac;done -exec ${SSH} -E${TEST_SSH_LOGFILE} "\$@" +rm -f $TEST_SSH_LOGFILE +ln -f -s \${logfile} $TEST_SSH_LOGFILE +exec ${SSH} -E\${logfile} "\$@" EOD chmod a+rx $OBJ/ssh-log-wrapper.sh @@ -296,6 +311,28 @@ REAL_SSH="$SSH" REAL_SSHD="$SSHD" SSH="$SSHLOGWRAP" +SSHDLOGWRAP=$OBJ/sshd-log-wrapper.sh +cat >$SSHDLOGWRAP <>$TEST_REGRESS_LOGFILE +echo "Executing: ${SSHD} \$@" >>\${logfile} +exec ${SSHD} -E\${logfile} "\$@" +EOD +chmod a+rx $OBJ/sshd-log-wrapper.sh + +ssh_logfile () +{ + tool="$1" + timestamp="`$OBJ/timestamp`" + logfile="${TEST_SSH_LOGDIR}/${timestamp}.$tool.$$.log" + echo "Logging $tool to log \${logfile}" >>$TEST_REGRESS_LOGFILE + echo $logfile +} + # Some test data. We make a copy because some tests will overwrite it. # The tests may assume that $DATA exists and is writable and $COPY does # not exist. Tests requiring larger data files can call increase_datafile_size @@ -450,19 +487,37 @@ cleanup () start_debug_log () { - echo "trace: $@" >$TEST_REGRESS_LOGFILE - echo "trace: $@" >$TEST_SSH_LOGFILE - echo "trace: $@" >$TEST_SSHD_LOGFILE + echo "trace: $@" >>$TEST_REGRESS_LOGFILE + if [ -d "$TEST_SSH_LOGDIR" ]; then + rm -f $TEST_SSH_LOGDIR/* + fi } save_debug_log () { + testname=`echo $tid | tr ' ' _` + tarname="$OBJ/failed-$testname-logs.tar" + echo $@ >>$TEST_REGRESS_LOGFILE echo $@ >>$TEST_SSH_LOGFILE echo $@ >>$TEST_SSHD_LOGFILE + echo "Saving debug logs to $tarname" >>$TEST_REGRESS_LOGFILE (cat $TEST_REGRESS_LOGFILE; echo) >>$OBJ/failed-regress.log (cat $TEST_SSH_LOGFILE; echo) >>$OBJ/failed-ssh.log (cat $TEST_SSHD_LOGFILE; echo) >>$OBJ/failed-sshd.log + + # Save all logfiles in a tarball. + (cd $OBJ && + logfiles="" + for i in $TEST_REGRESS_LOGFILE $TEST_SSH_LOGFILE $TEST_SSHD_LOGFILE \ + $TEST_SSH_LOGDIR; do + if [ -e "`basename $i`" ]; then + logfiles="$logfiles `basename $i`" + else + logfiles="$logfiles $i" + fi + done + tar cf "$tarname" $logfiles) } trace () @@ -724,7 +779,7 @@ if test "$REGRESS_INTEROP_PUTTY" = "yes" ; then echo "HostName=127.0.0.1" >> ${OBJ}/.putty/sessions/localhost_proxy echo "PortNumber=$PORT" >> ${OBJ}/.putty/sessions/localhost_proxy echo "ProxyMethod=5" >> ${OBJ}/.putty/sessions/localhost_proxy - echo "ProxyTelnetCommand=sh ${SRC}/sshd-log-wrapper.sh ${TEST_SSHD_LOGFILE} ${SSHD} -i -f $OBJ/sshd_proxy" >> ${OBJ}/.putty/sessions/localhost_proxy + echo "ProxyTelnetCommand=${OBJ}/sshd-log-wrapper.sh -i -f $OBJ/sshd_proxy" >> ${OBJ}/.putty/sessions/localhost_proxy echo "ProxyLocalhost=1" >> ${OBJ}/.putty/sessions/localhost_proxy PUTTYDIR=${OBJ}/.putty @@ -734,7 +789,7 @@ fi # create a proxy version of the client config ( cat $OBJ/ssh_config - echo proxycommand ${SUDO} env SSH_SK_HELPER=\"$SSH_SK_HELPER\" sh ${SRC}/sshd-log-wrapper.sh ${TEST_SSHD_LOGFILE} ${SSHD} -i -f $OBJ/sshd_proxy + echo proxycommand ${SUDO} env SSH_SK_HELPER=\"$SSH_SK_HELPER\" ${OBJ}/sshd-log-wrapper.sh -i -f $OBJ/sshd_proxy ) > $OBJ/ssh_proxy # check proxy config @@ -743,6 +798,7 @@ ${SSHD} -t -f $OBJ/sshd_proxy || fatal "sshd_proxy broken" start_sshd () { # start sshd + logfile="${TEST_SSH_LOGDIR}/sshd.`$OBJ/timestamp`.$$.log" $SUDO ${SSHD} -f $OBJ/sshd_config "$@" -t || fatal "sshd_config broken" $SUDO env SSH_SK_HELPER="$SSH_SK_HELPER" \ ${SSHD} -f $OBJ/sshd_config "$@" -E$TEST_SSHD_LOGFILE diff --git a/regress/timestamp.c b/regress/timestamp.c new file mode 100644 index 000000000000..77dae457b6ad --- /dev/null +++ b/regress/timestamp.c @@ -0,0 +1,46 @@ +/* + * Copyright (c) 2023 Darren Tucker + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +/* $OpenBSD: timestamp.c,v 1.1 2023/03/01 09:29:32 dtucker Exp $ */ + +/* + * Print a microsecond-granularity timestamp to stdout in an ISO8601-ish + * format, which we can then use as the first component of the log file + * so that they'll sort into chronological order. + */ + +#include + +#include +#include +#include + +int +main(void) +{ + struct timeval tv; + struct tm *tm; + char buf[1024]; + + if (gettimeofday(&tv, NULL) != 0) + exit(1); + if ((tm = localtime(&tv.tv_sec)) == NULL) + exit(2); + if (strftime(buf, sizeof buf, "%Y%m%dT%H%M%S", tm) <= 0) + exit(3); + printf("%s.%06d\n", buf, (int)tv.tv_usec); + exit(0); +} diff --git a/regress/unittests/kex/test_proposal.c b/regress/unittests/kex/test_proposal.c index d6cf0f5da7d7..fa4192bb661c 100644 --- a/regress/unittests/kex/test_proposal.c +++ b/regress/unittests/kex/test_proposal.c @@ -1,4 +1,4 @@ -/* $OpenBSD: test_proposal.c,v 1.1 2023/02/02 12:12:52 djm Exp $ */ +/* $OpenBSD: test_proposal.c,v 1.2 2023/03/06 12:15:47 dtucker Exp $ */ /* * Regress test KEX * @@ -18,21 +18,24 @@ #include "../test_helper/test_helper.h" +#include "cipher.h" #include "compat.h" #include "ssherr.h" #include "sshbuf.h" #include "kex.h" +#include "myproposal.h" #include "packet.h" #include "xmalloc.h" -void kex_proposal(void); +void kex_proposal_tests(void); +void kex_proposal_populate_tests(void); #define CURVE25519 "curve25519-sha256@libssh.org" #define DHGEX1 "diffie-hellman-group-exchange-sha1" #define DHGEX256 "diffie-hellman-group-exchange-sha256" #define KEXALGOS CURVE25519","DHGEX256","DHGEX1 void -kex_proposal(void) +kex_proposal_tests(void) { size_t i; struct ssh ssh; @@ -81,3 +84,41 @@ kex_proposal(void) } TEST_DONE(); } + +void +kex_proposal_populate_tests(void) +{ + char *prop[PROPOSAL_MAX], *kexalgs, *ciphers, *macs, *hkalgs; + const char *comp = compression_alg_list(0); + int i; + struct ssh ssh; + struct kex kex; + + kexalgs = kex_alg_list(','); + ciphers = cipher_alg_list(',', 0); + macs = mac_alg_list(','); + hkalgs = kex_alg_list(','); + + ssh.kex = &kex; + TEST_START("compat_kex_proposal_populate"); + for (i = 0; i <= 1; i++) { + kex.server = i; + for (ssh.compat = 0; ssh.compat < 0x40000000; ) { + kex_proposal_populate_entries(&ssh, prop, NULL, NULL, + NULL, NULL, NULL); + kex_proposal_free_entries(prop); + kex_proposal_populate_entries(&ssh, prop, kexalgs, + ciphers, macs, hkalgs, comp); + kex_proposal_free_entries(prop); + if (ssh.compat == 0) + ssh.compat = 1; + else + ssh.compat <<= 1; + } + } + + free(kexalgs); + free(ciphers); + free(macs); + free(hkalgs); +} diff --git a/regress/unittests/kex/tests.c b/regress/unittests/kex/tests.c index 2a83dafbc3ae..d3044f033767 100644 --- a/regress/unittests/kex/tests.c +++ b/regress/unittests/kex/tests.c @@ -1,4 +1,4 @@ -/* $OpenBSD: tests.c,v 1.2 2023/02/02 12:12:52 djm Exp $ */ +/* $OpenBSD: tests.c,v 1.3 2023/03/06 12:15:47 dtucker Exp $ */ /* * Placed in the public domain */ @@ -6,11 +6,13 @@ #include "../test_helper/test_helper.h" void kex_tests(void); -void kex_proposal(void); +void kex_proposal_tests(void); +void kex_proposal_populate_tests(void); void tests(void) { kex_tests(); - kex_proposal(); + kex_proposal_tests(); + kex_proposal_populate_tests(); } diff --git a/regress/unittests/misc/test_ptimeout.c b/regress/unittests/misc/test_ptimeout.c index 7adc590e98d6..284f0a1eed00 100644 --- a/regress/unittests/misc/test_ptimeout.c +++ b/regress/unittests/misc/test_ptimeout.c @@ -5,9 +5,13 @@ * Placed in the public domain. */ +#include "includes.h" + #include #include -#include +#ifdef HAVE_STDINT_H +# include +#endif #include #include #include diff --git a/sandbox-seccomp-filter.c b/sandbox-seccomp-filter.c index 4ab49eb6e4c3..23b40b643567 100644 --- a/sandbox-seccomp-filter.c +++ b/sandbox-seccomp-filter.c @@ -1,5 +1,6 @@ /* * Copyright (c) 2012 Will Drewry + * Copyright (c) 2015,2017,2019,2020,2023 Damien Miller * * Permission to use, copy, modify, and distribute this software for any * purpose with or without fee is hereby granted, provided that the above @@ -48,6 +49,7 @@ #include #include +#include #include #include #include @@ -132,6 +134,71 @@ /* reload syscall number; all rules expect it in accumulator */ \ BPF_STMT(BPF_LD+BPF_W+BPF_ABS, \ offsetof(struct seccomp_data, nr)) +/* Deny unless syscall argument contains only values in mask */ +#define SC_DENY_UNLESS_ARG_MASK(_nr, _arg_nr, _arg_mask, _errno) \ + BPF_JUMP(BPF_JMP+BPF_JEQ+BPF_K, (_nr), 0, 8), \ + /* load, mask and test syscall argument, low word */ \ + BPF_STMT(BPF_LD+BPF_W+BPF_ABS, \ + offsetof(struct seccomp_data, args[(_arg_nr)]) + ARG_LO_OFFSET), \ + BPF_STMT(BPF_ALU+BPF_AND+BPF_K, ~((_arg_mask) & 0xFFFFFFFF)), \ + BPF_JUMP(BPF_JMP+BPF_JEQ+BPF_K, 0, 0, 3), \ + /* load, mask and test syscall argument, high word */ \ + BPF_STMT(BPF_LD+BPF_W+BPF_ABS, \ + offsetof(struct seccomp_data, args[(_arg_nr)]) + ARG_HI_OFFSET), \ + BPF_STMT(BPF_ALU+BPF_AND+BPF_K, \ + ~(((uint32_t)((uint64_t)(_arg_mask) >> 32)) & 0xFFFFFFFF)), \ + BPF_JUMP(BPF_JMP+BPF_JEQ+BPF_K, 0, 1, 0), \ + BPF_STMT(BPF_RET+BPF_K, SECCOMP_RET_ERRNO|(_errno)), \ + /* reload syscall number; all rules expect it in accumulator */ \ + BPF_STMT(BPF_LD+BPF_W+BPF_ABS, \ + offsetof(struct seccomp_data, nr)) +#define SC_DENY_UNLESS_MASK(_nr, _arg_nr, _arg_val, _errno) \ +/* Special handling for futex(2) that combines a bitmap and operation number */ +#if defined(__NR_futex) || defined(__NR_futex_time64) +#define SC_FUTEX_MASK (FUTEX_PRIVATE_FLAG|FUTEX_CLOCK_REALTIME) +#define SC_ALLOW_FUTEX_OP(_nr, _op) \ + BPF_JUMP(BPF_JMP+BPF_JEQ+BPF_K, (_nr), 0, 8), \ + /* load syscall argument, low word */ \ + BPF_STMT(BPF_LD+BPF_W+BPF_ABS, \ + offsetof(struct seccomp_data, args[1]) + ARG_LO_OFFSET), \ + /* mask off allowed bitmap values, low word */ \ + BPF_STMT(BPF_ALU+BPF_AND+BPF_K, ~(SC_FUTEX_MASK & 0xFFFFFFFF)), \ + /* test operation number, low word */ \ + BPF_JUMP(BPF_JMP+BPF_JEQ+BPF_K, ((_op) & 0xFFFFFFFF), 0, 4), \ + /* load syscall argument, high word */ \ + BPF_STMT(BPF_LD+BPF_W+BPF_ABS, \ + offsetof(struct seccomp_data, args[1]) + ARG_HI_OFFSET), \ + /* mask off allowed bitmap values, high word */ \ + BPF_STMT(BPF_ALU+BPF_AND+BPF_K, \ + ~(((uint32_t)((uint64_t)SC_FUTEX_MASK >> 32)) & 0xFFFFFFFF)), \ + /* test operation number, high word */ \ + BPF_JUMP(BPF_JMP+BPF_JEQ+BPF_K, \ + (((uint32_t)((uint64_t)(_op) >> 32)) & 0xFFFFFFFF), 0, 1), \ + BPF_STMT(BPF_RET+BPF_K, SECCOMP_RET_ALLOW), \ + /* reload syscall number; all rules expect it in accumulator */ \ + BPF_STMT(BPF_LD+BPF_W+BPF_ABS, offsetof(struct seccomp_data, nr)) + +/* Use this for both __NR_futex and __NR_futex_time64 */ +# define SC_FUTEX(_nr) \ + SC_ALLOW_FUTEX_OP(__NR_futex, FUTEX_WAIT), \ + SC_ALLOW_FUTEX_OP(__NR_futex, FUTEX_WAIT_BITSET), \ + SC_ALLOW_FUTEX_OP(__NR_futex, FUTEX_WAKE), \ + SC_ALLOW_FUTEX_OP(__NR_futex, FUTEX_WAKE_BITSET), \ + SC_ALLOW_FUTEX_OP(__NR_futex, FUTEX_REQUEUE), \ + SC_ALLOW_FUTEX_OP(__NR_futex, FUTEX_CMP_REQUEUE) +#endif /* __NR_futex || __NR_futex_time64 */ + +#if defined(__NR_mmap) || defined(__NR_mmap2) +# ifdef MAP_FIXED_NOREPLACE +# define SC_MMAP_FLAGS MAP_PRIVATE|MAP_ANONYMOUS|MAP_FIXED|MAP_FIXED_NOREPLACE +# else +# define SC_MMAP_FLAGS MAP_PRIVATE|MAP_ANONYMOUS|MAP_FIXED +# endif /* MAP_FIXED_NOREPLACE */ +/* Use this for both __NR_mmap and __NR_mmap2 variants */ +# define SC_MMAP(_nr) \ + SC_DENY_UNLESS_ARG_MASK(_nr, 3, SC_MMAP_FLAGS, EINVAL), \ + SC_ALLOW_ARG_MASK(_nr, 2, PROT_READ|PROT_WRITE|PROT_NONE) +#endif /* __NR_mmap || __NR_mmap2 */ /* Syscall filtering set for preauth. */ static const struct sock_filter preauth_insns[] = { @@ -211,10 +278,10 @@ static const struct sock_filter preauth_insns[] = { SC_ALLOW(__NR_exit_group), #endif #ifdef __NR_futex - SC_ALLOW(__NR_futex), + SC_FUTEX(__NR_futex), #endif #ifdef __NR_futex_time64 - SC_ALLOW(__NR_futex_time64), + SC_FUTEX(__NR_futex_time64), #endif #ifdef __NR_geteuid SC_ALLOW(__NR_geteuid), @@ -244,13 +311,29 @@ static const struct sock_filter preauth_insns[] = { SC_ALLOW(__NR_getuid32), #endif #ifdef __NR_madvise - SC_ALLOW(__NR_madvise), + SC_ALLOW_ARG(__NR_madvise, 2, MADV_NORMAL), +# ifdef MADV_FREE + SC_ALLOW_ARG(__NR_madvise, 2, MADV_FREE), +# endif +# ifdef MADV_DONTNEED + SC_ALLOW_ARG(__NR_madvise, 2, MADV_DONTNEED), +# endif +# ifdef MADV_DONTFORK + SC_ALLOW_ARG(__NR_madvise, 2, MADV_DONTFORK), +# endif +# ifdef MADV_DONTDUMP + SC_ALLOW_ARG(__NR_madvise, 2, MADV_DONTDUMP), +# endif +# ifdef MADV_WIPEONFORK + SC_ALLOW_ARG(__NR_madvise, 2, MADV_WIPEONFORK), +# endif + SC_DENY(__NR_madvise, EINVAL), #endif #ifdef __NR_mmap - SC_ALLOW_ARG_MASK(__NR_mmap, 2, PROT_READ|PROT_WRITE|PROT_NONE), + SC_MMAP(__NR_mmap), #endif #ifdef __NR_mmap2 - SC_ALLOW_ARG_MASK(__NR_mmap2, 2, PROT_READ|PROT_WRITE|PROT_NONE), + SC_MMAP(__NR_mmap2), #endif #ifdef __NR_mprotect SC_ALLOW_ARG_MASK(__NR_mprotect, 2, PROT_READ|PROT_WRITE|PROT_NONE), diff --git a/scp.c b/scp.c index 1adff5cec222..a893d4a285e9 100644 --- a/scp.c +++ b/scp.c @@ -1,4 +1,4 @@ -/* $OpenBSD: scp.c,v 1.252 2023/01/10 23:22:15 millert Exp $ */ +/* $OpenBSD: scp.c,v 1.253 2023/03/03 03:12:24 dtucker Exp $ */ /* * scp - secure remote copy. This is basically patched BSD rcp which * uses ssh to do the data transfer (instead of using rcmd). @@ -394,8 +394,10 @@ do_cmd2(char *host, char *remuser, int port, char *cmd, /* Fork a child to execute the command on the remote host using ssh. */ pid = fork(); if (pid == 0) { - dup2(fdin, 0); - dup2(fdout, 1); + if (dup2(fdin, 0) == -1) + perror("dup2"); + if (dup2(fdout, 1) == -1) + perror("dup2"); replacearg(&args, 0, "%s", ssh_program); if (port != -1) { diff --git a/servconf.c b/servconf.c index 2e039da8b95e..9d5b73ecfc0b 100644 --- a/servconf.c +++ b/servconf.c @@ -1,5 +1,5 @@ -/* $OpenBSD: servconf.c,v 1.390 2023/01/17 09:44:48 djm Exp $ */ +/* $OpenBSD: servconf.c,v 1.392 2023/03/05 05:34:09 dtucker Exp $ */ /* * Copyright (c) 1995 Tatu Ylonen , Espoo, Finland * All rights reserved @@ -54,7 +54,6 @@ #include "sshbuf.h" #include "misc.h" #include "servconf.h" -#include "compat.h" #include "pathnames.h" #include "cipher.h" #include "sshkey.h" @@ -2917,8 +2916,16 @@ dump_cfg_strarray_oneline(ServerOpCodes code, u_int count, char **vals) { u_int i; - if (count <= 0 && code != sAuthenticationMethods) - return; + switch (code) { + case sAuthenticationMethods: + case sChannelTimeout: + break; + default: + if (count <= 0) + return; + break; + } + printf("%s", lookup_opcode_name(code)); for (i = 0; i < count; i++) printf(" %s", vals[i]); diff --git a/serverloop.c b/serverloop.c index 6db0916d8220..de5fa2e3c2e8 100644 --- a/serverloop.c +++ b/serverloop.c @@ -1,4 +1,4 @@ -/* $OpenBSD: serverloop.c,v 1.234 2023/01/17 09:44:48 djm Exp $ */ +/* $OpenBSD: serverloop.c,v 1.236 2023/03/08 04:43:12 guenther Exp $ */ /* * Author: Tatu Ylonen * Copyright (c) 1995 Tatu Ylonen , Espoo, Finland @@ -69,7 +69,6 @@ #include "canohost.h" #include "sshpty.h" #include "channels.h" -#include "compat.h" #include "ssh2.h" #include "sshkey.h" #include "cipher.h" @@ -113,14 +112,12 @@ bind_permitted(int port, uid_t uid) return 1; } -/*ARGSUSED*/ static void sigchld_handler(int sig) { child_terminated = 1; } -/*ARGSUSED*/ static void sigterm_handler(int sig) { diff --git a/session.c b/session.c index f30d7ac519ac..89dcfdab628c 100644 --- a/session.c +++ b/session.c @@ -1,4 +1,4 @@ -/* $OpenBSD: session.c,v 1.333 2023/01/06 02:42:34 djm Exp $ */ +/* $OpenBSD: session.c,v 1.335 2023/03/07 06:09:14 dtucker Exp $ */ /* * Copyright (c) 1995 Tatu Ylonen , Espoo, Finland * All rights reserved @@ -72,7 +72,6 @@ #include "ssherr.h" #include "match.h" #include "uidswap.h" -#include "compat.h" #include "channels.h" #include "sshkey.h" #include "cipher.h" @@ -1159,6 +1158,7 @@ do_setup_env(struct ssh *ssh, Session *s, const char *shell) } *value++ = '\0'; child_set_env(&env, &envsize, cp, value); + free(cp); } /* SSH_CLIENT deprecated */ diff --git a/sftp-client.c b/sftp-client.c index e01464818064..87b4d142aa74 100644 --- a/sftp-client.c +++ b/sftp-client.c @@ -1,4 +1,4 @@ -/* $OpenBSD: sftp-client.c,v 1.168 2023/01/11 05:39:38 djm Exp $ */ +/* $OpenBSD: sftp-client.c,v 1.169 2023/03/08 04:43:12 guenther Exp $ */ /* * Copyright (c) 2001-2004 Damien Miller * @@ -149,7 +149,6 @@ request_find(struct requests *requests, u_int id) return req; } -/* ARGSUSED */ static int sftpio(void *_bwlimit, size_t amount) { diff --git a/sftp-server.c b/sftp-server.c index fe61a35159b3..49ca1ca9f700 100644 --- a/sftp-server.c +++ b/sftp-server.c @@ -1,4 +1,4 @@ -/* $OpenBSD: sftp-server.c,v 1.145 2022/11/09 09:04:12 dtucker Exp $ */ +/* $OpenBSD: sftp-server.c,v 1.146 2023/03/07 05:37:26 djm Exp $ */ /* * Copyright (c) 2000-2004 Markus Friedl. All rights reserved. * @@ -819,7 +819,7 @@ process_read(u_int32_t id) } if (len > buflen) { debug3_f("allocate %zu => %u", buflen, len); - if ((buf = realloc(NULL, len)) == NULL) + if ((buf = realloc(buf, len)) == NULL) fatal_f("realloc failed"); buflen = len; } diff --git a/sftp.c b/sftp.c index b3616c15cd09..29081db3d434 100644 --- a/sftp.c +++ b/sftp.c @@ -1,4 +1,4 @@ -/* $OpenBSD: sftp.c,v 1.225 2023/01/05 05:49:13 djm Exp $ */ +/* $OpenBSD: sftp.c,v 1.229 2023/03/12 09:41:18 dtucker Exp $ */ /* * Copyright (c) 2001-2004 Damien Miller * @@ -217,7 +217,6 @@ static const struct CMD cmds[] = { { NULL, -1, -1, -1 } }; -/* ARGSUSED */ static void killchild(int signo) { @@ -232,7 +231,6 @@ killchild(int signo) _exit(1); } -/* ARGSUSED */ static void suspchild(int signo) { @@ -244,7 +242,6 @@ suspchild(int signo) kill(getpid(), SIGSTOP); } -/* ARGSUSED */ static void cmd_interrupt(int signo) { @@ -256,14 +253,12 @@ cmd_interrupt(int signo) errno = olderrno; } -/* ARGSUSED */ static void read_interrupt(int signo) { interrupted = 1; } -/*ARGSUSED*/ static void sigchld_handler(int sig) { @@ -1012,7 +1007,7 @@ do_globbed_ls(struct sftp_conn *conn, const char *path, */ for (nentries = 0; g.gl_pathv[nentries] != NULL; nentries++) ; /* count entries */ - indices = calloc(nentries, sizeof(*indices)); + indices = xcalloc(nentries, sizeof(*indices)); for (i = 0; i < nentries; i++) indices[i] = i; @@ -1030,6 +1025,7 @@ do_globbed_ls(struct sftp_conn *conn, const char *path, if (lflag & LS_LONG_VIEW) { if (g.gl_statv[i] == NULL) { error("no stat information for %s", fname); + free(fname); continue; } lname = ls_file(fname, g.gl_statv[i], 1, @@ -2001,7 +1997,9 @@ complete_match(EditLine *el, struct sftp_conn *conn, char *remote_path, memset(&g, 0, sizeof(g)); if (remote != LOCAL) { - tmp = make_absolute_pwd_glob(tmp, remote_path); + tmp2 = make_absolute_pwd_glob(tmp, remote_path); + free(tmp); + tmp = tmp2; remote_glob(conn, tmp, GLOB_DOOFFS|GLOB_MARK, NULL, &g); } else glob(tmp, GLOB_DOOFFS|GLOB_MARK, NULL, &g); diff --git a/ssh-add.c b/ssh-add.c index 777f21e26b01..752b86dfcd8e 100644 --- a/ssh-add.c +++ b/ssh-add.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ssh-add.c,v 1.166 2022/06/18 02:17:16 dtucker Exp $ */ +/* $OpenBSD: ssh-add.c,v 1.167 2023/03/08 00:05:58 djm Exp $ */ /* * Author: Tatu Ylonen * Copyright (c) 1995 Tatu Ylonen , Espoo, Finland @@ -477,6 +477,7 @@ test_key(int agent_fd, const char *filename) { struct sshkey *key = NULL; u_char *sig = NULL; + const char *alg = NULL; size_t slen = 0; int r, ret = -1; char data[1024]; @@ -485,14 +486,16 @@ test_key(int agent_fd, const char *filename) error_r(r, "Couldn't read public key %s", filename); return -1; } + if (sshkey_type_plain(key->type) == KEY_RSA) + alg = "rsa-sha2-256"; arc4random_buf(data, sizeof(data)); if ((r = ssh_agent_sign(agent_fd, key, &sig, &slen, data, sizeof(data), - NULL, 0)) != 0) { + alg, 0)) != 0) { error_r(r, "Agent signature failed for %s", filename); goto done; } if ((r = sshkey_verify(key, sig, slen, data, sizeof(data), - NULL, 0, NULL)) != 0) { + alg, 0, NULL)) != 0) { error_r(r, "Signature verification failed for %s", filename); goto done; } diff --git a/ssh-agent.c b/ssh-agent.c index 63e1137bca64..618bb198190e 100644 --- a/ssh-agent.c +++ b/ssh-agent.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ssh-agent.c,v 1.294 2022/12/04 11:03:11 dtucker Exp $ */ +/* $OpenBSD: ssh-agent.c,v 1.297 2023/03/09 21:06:24 jcs Exp $ */ /* * Author: Tatu Ylonen * Copyright (c) 1995 Tatu Ylonen , Espoo, Finland @@ -80,7 +80,6 @@ #include "sshbuf.h" #include "sshkey.h" #include "authfd.h" -#include "compat.h" #include "log.h" #include "misc.h" #include "digest.h" @@ -1024,8 +1023,8 @@ parse_dest_constraint(struct sshbuf *m, struct dest_constraint *dc) error_fr(r, "parse"); goto out; } - if ((r = parse_dest_constraint_hop(frombuf, &dc->from) != 0) || - (r = parse_dest_constraint_hop(tobuf, &dc->to) != 0)) + if ((r = parse_dest_constraint_hop(frombuf, &dc->from)) != 0 || + (r = parse_dest_constraint_hop(tobuf, &dc->to)) != 0) goto out; /* already logged */ if (elen != 0) { error_f("unsupported extensions (len %zu)", elen); @@ -1961,7 +1960,6 @@ cleanup_exit(int i) _exit(i); } -/*ARGSUSED*/ static void cleanup_handler(int sig) { diff --git a/ssh-dss.c b/ssh-dss.c index 2ea0c0a55760..3174ef146dc3 100644 --- a/ssh-dss.c +++ b/ssh-dss.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ssh-dss.c,v 1.48 2022/10/28 00:44:44 djm Exp $ */ +/* $OpenBSD: ssh-dss.c,v 1.49 2023/03/05 05:34:09 dtucker Exp $ */ /* * Copyright (c) 2000 Markus Friedl. All rights reserved. * @@ -37,7 +37,6 @@ #include #include "sshbuf.h" -#include "compat.h" #include "ssherr.h" #include "digest.h" #define SSHKEY_INTERNAL diff --git a/ssh-ecdsa-sk.c b/ssh-ecdsa-sk.c index 729e5487c9f5..5dcd3c13d345 100644 --- a/ssh-ecdsa-sk.c +++ b/ssh-ecdsa-sk.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ssh-ecdsa-sk.c,v 1.17 2022/10/28 00:44:44 djm Exp $ */ +/* $OpenBSD: ssh-ecdsa-sk.c,v 1.18 2023/03/08 04:43:12 guenther Exp $ */ /* * Copyright (c) 2000 Markus Friedl. All rights reserved. * Copyright (c) 2010 Damien Miller. All rights reserved. @@ -230,7 +230,6 @@ webauthn_check_prepare_hash(const u_char *data, size_t datalen, return r; } -/* ARGSUSED */ static int ssh_ecdsa_sk_verify(const struct sshkey *key, const u_char *sig, size_t siglen, diff --git a/ssh-ecdsa.c b/ssh-ecdsa.c index 4bcb89baf517..341c32409bce 100644 --- a/ssh-ecdsa.c +++ b/ssh-ecdsa.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ssh-ecdsa.c,v 1.25 2022/10/28 00:44:44 djm Exp $ */ +/* $OpenBSD: ssh-ecdsa.c,v 1.26 2023/03/08 04:43:12 guenther Exp $ */ /* * Copyright (c) 2000 Markus Friedl. All rights reserved. * Copyright (c) 2010 Damien Miller. All rights reserved. @@ -222,7 +222,6 @@ ssh_ecdsa_deserialize_private(const char *ktype, struct sshbuf *b, return r; } -/* ARGSUSED */ static int ssh_ecdsa_sign(struct sshkey *key, u_char **sigp, size_t *lenp, @@ -288,7 +287,6 @@ ssh_ecdsa_sign(struct sshkey *key, return ret; } -/* ARGSUSED */ static int ssh_ecdsa_verify(const struct sshkey *key, const u_char *sig, size_t siglen, diff --git a/ssh-keygen.0 b/ssh-keygen.0 index 4b2e356bbe00..86cb91b204dd 100644 --- a/ssh-keygen.0 +++ b/ssh-keygen.0 @@ -278,6 +278,14 @@ DESCRIPTION suffixed with a Z character, which causes them to be interpreted in the UTC time zone. + When generating SSHFP DNS records from public keys using the -r + flag, the following options are accepted: + + hashalg=algorithm + Selects a hash algorithm to use when printing SSHFP + records using the -D flag. Valid algorithms are M-bM-^@M-^\sha1M-bM-^@M-^] + and M-bM-^@M-^\sha256M-bM-^@M-^]. The default is to print both. + The -O option may be specified multiple times. -P passphrase @@ -899,4 +907,4 @@ AUTHORS created OpenSSH. Markus Friedl contributed the support for SSH protocol versions 1.5 and 2.0. -OpenBSD 7.2 September 10, 2022 OpenBSD 7.2 +OpenBSD 7.2 February 10, 2023 OpenBSD 7.2 diff --git a/ssh-keygen.1 b/ssh-keygen.1 index 8b1f617d2377..1be08228237d 100644 --- a/ssh-keygen.1 +++ b/ssh-keygen.1 @@ -1,4 +1,4 @@ -.\" $OpenBSD: ssh-keygen.1,v 1.226 2022/09/10 08:50:53 jsg Exp $ +.\" $OpenBSD: ssh-keygen.1,v 1.228 2023/02/10 06:40:48 jmc Exp $ .\" .\" Author: Tatu Ylonen .\" Copyright (c) 1995 Tatu Ylonen , Espoo, Finland @@ -35,7 +35,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.Dd $Mdocdate: September 10 2022 $ +.Dd $Mdocdate: February 10 2023 $ .Dt SSH-KEYGEN 1 .Os .Sh NAME @@ -518,6 +518,21 @@ suffixed with a Z character, which causes them to be interpreted in the UTC time zone. .El .Pp +When generating SSHFP DNS records from public keys using the +.Fl r +flag, the following options are accepted: +.Bl -tag -width Ds +.It Cm hashalg Ns = Ns Ar algorithm +Selects a hash algorithm to use when printing SSHFP records using the +.Fl D +flag. +Valid algorithms are +.Dq sha1 +and +.Dq sha256 . +The default is to print both. +.El +.Pp The .Fl O option may be specified multiple times. diff --git a/ssh-keygen.c b/ssh-keygen.c index ae05440f68bf..2c0c9cd35ae2 100644 --- a/ssh-keygen.c +++ b/ssh-keygen.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ssh-keygen.c,v 1.461 2022/12/04 23:50:49 cheloha Exp $ */ +/* $OpenBSD: ssh-keygen.c,v 1.466 2023/03/08 00:05:37 djm Exp $ */ /* * Author: Tatu Ylonen * Copyright (c) 1994 Tatu Ylonen , Espoo, Finland @@ -476,6 +476,7 @@ do_convert_private_ssh2(struct sshbuf *b) { struct sshkey *key = NULL; char *type, *cipher; + const char *alg = NULL; u_char e1, e2, e3, *sig = NULL, data[] = "abcde12345"; int r, rlen, ktype; u_int magic, i1, i2, i3, i4; @@ -584,6 +585,7 @@ do_convert_private_ssh2(struct sshbuf *b) if ((r = ssh_rsa_complete_crt_parameters(key, rsa_iqmp)) != 0) fatal_fr(r, "generate RSA parameters"); BN_clear_free(rsa_iqmp); + alg = "rsa-sha2-256"; break; } rlen = sshbuf_len(b); @@ -592,10 +594,10 @@ do_convert_private_ssh2(struct sshbuf *b) /* try the key */ if ((r = sshkey_sign(key, &sig, &slen, data, sizeof(data), - NULL, NULL, NULL, 0)) != 0) + alg, NULL, NULL, 0)) != 0) error_fr(r, "signing with converted key failed"); else if ((r = sshkey_verify(key, sig, slen, data, sizeof(data), - NULL, 0, NULL)) != 0) + alg, 0, NULL)) != 0) error_fr(r, "verification with converted key failed"); if (r != 0) { sshkey_free(key); @@ -1337,7 +1339,7 @@ do_known_hosts(struct passwd *pw, const char *name, int find_host, unlink(tmp); fatal("fdopen: %s", strerror(oerrno)); } - fchmod(fd, sb.st_mode & 0644); + (void)fchmod(fd, sb.st_mode & 0644); inplace = 1; } /* XXX support identity_file == "-" for stdin */ @@ -1479,13 +1481,23 @@ do_change_passphrase(struct passwd *pw) */ static int do_print_resource_record(struct passwd *pw, char *fname, char *hname, - int print_generic) + int print_generic, char * const *opts, size_t nopts) { struct sshkey *public; char *comment = NULL; struct stat st; - int r; + int r, hash = -1; + size_t i; + for (i = 0; i < nopts; i++) { + if (strncasecmp(opts[i], "hashalg=", 8) == 0) { + if ((hash = ssh_digest_alg_by_name(opts[i] + 8)) == -1) + fatal("Unsupported hash algorithm"); + } else { + error("Invalid option \"%s\"", opts[i]); + return SSH_ERR_INVALID_ARGUMENT; + } + } if (fname == NULL) fatal_f("no filename"); if (stat(fname, &st) == -1) { @@ -1495,7 +1507,7 @@ do_print_resource_record(struct passwd *pw, char *fname, char *hname, } if ((r = sshkey_load_public(fname, &public, &comment)) != 0) fatal_r(r, "Failed to read v2 public key from \"%s\"", fname); - export_dns_rr(hname, public, stdout, print_generic); + export_dns_rr(hname, public, stdout, print_generic, hash); sshkey_free(public); free(comment); return 1; @@ -3005,6 +3017,7 @@ do_moduli_screen(const char *out_file, char **opts, size_t nopts) } else if (strncmp(opts[i], "start-line=", 11) == 0) { start_lineno = strtoul(opts[i]+11, NULL, 10); } else if (strncmp(opts[i], "checkpoint=", 11) == 0) { + free(checkpoint); checkpoint = xstrdup(opts[i]+11); } else if (strncmp(opts[i], "generator=", 10) == 0) { generator_wanted = (u_int32_t)strtonum( @@ -3043,6 +3056,9 @@ do_moduli_screen(const char *out_file, char **opts, size_t nopts) generator_wanted, checkpoint, start_lineno, lines_to_process) != 0) fatal("modulus screening failed"); + if (in != stdin) + (void)fclose(in); + free(checkpoint); #else /* WITH_OPENSSL */ fatal("Moduli screening is not supported"); #endif /* WITH_OPENSSL */ @@ -3725,7 +3741,7 @@ main(int argc, char **argv) if (have_identity) { n = do_print_resource_record(pw, identity_file, - rr_hostname, print_generic); + rr_hostname, print_generic, opts, nopts); if (n == 0) fatal("%s: %s", identity_file, strerror(errno)); exit(0); @@ -3733,19 +3749,19 @@ main(int argc, char **argv) n += do_print_resource_record(pw, _PATH_HOST_RSA_KEY_FILE, rr_hostname, - print_generic); + print_generic, opts, nopts); n += do_print_resource_record(pw, _PATH_HOST_DSA_KEY_FILE, rr_hostname, - print_generic); + print_generic, opts, nopts); n += do_print_resource_record(pw, _PATH_HOST_ECDSA_KEY_FILE, rr_hostname, - print_generic); + print_generic, opts, nopts); n += do_print_resource_record(pw, _PATH_HOST_ED25519_KEY_FILE, rr_hostname, - print_generic); + print_generic, opts, nopts); n += do_print_resource_record(pw, _PATH_HOST_XMSS_KEY_FILE, rr_hostname, - print_generic); + print_generic, opts, nopts); if (n == 0) fatal("no keys found."); exit(0); diff --git a/ssh-keyscan.0 b/ssh-keyscan.0 index b0c6814c4d1d..b95235eee86a 100644 --- a/ssh-keyscan.0 +++ b/ssh-keyscan.0 @@ -4,8 +4,8 @@ NAME ssh-keyscan M-bM-^@M-^S gather SSH public keys from servers SYNOPSIS - ssh-keyscan [-46cDHv] [-f file] [-p port] [-T timeout] [-t type] - [host | addrlist namelist] + ssh-keyscan [-46cDHv] [-f file] [-O option] [-p port] [-T timeout] + [-t type] [host | addrlist namelist] DESCRIPTION ssh-keyscan is a utility for gathering the public SSH host keys of a @@ -54,6 +54,15 @@ DESCRIPTION be used normally by ssh(1) and sshd(8), but they do not reveal identifying information should the file's contents be disclosed. + -O option + Specify a key/value option. At present, only a single option is + supported: + + hashalg=algorithm + Selects a hash algorithm to use when printing SSHFP + records using the -D flag. Valid algorithms are M-bM-^@M-^\sha1M-bM-^@M-^] + and M-bM-^@M-^\sha256M-bM-^@M-^]. The default is to print both. + -p port Connect to port on the remote host. @@ -109,4 +118,4 @@ AUTHORS Davison added support for protocol version 2. -OpenBSD 7.2 October 28, 2022 OpenBSD 7.2 +OpenBSD 7.2 February 10, 2023 OpenBSD 7.2 diff --git a/ssh-keyscan.1 b/ssh-keyscan.1 index ca4feea2a9e0..aa6d34f63dc3 100644 --- a/ssh-keyscan.1 +++ b/ssh-keyscan.1 @@ -1,4 +1,4 @@ -.\" $OpenBSD: ssh-keyscan.1,v 1.47 2022/10/28 02:29:34 djm Exp $ +.\" $OpenBSD: ssh-keyscan.1,v 1.49 2023/02/10 06:41:53 jmc Exp $ .\" .\" Copyright 1995, 1996 by David Mazieres . .\" @@ -6,7 +6,7 @@ .\" permitted provided that due credit is given to the author and the .\" OpenBSD project by leaving this copyright notice intact. .\" -.Dd $Mdocdate: October 28 2022 $ +.Dd $Mdocdate: February 10 2023 $ .Dt SSH-KEYSCAN 1 .Os .Sh NAME @@ -16,6 +16,7 @@ .Nm ssh-keyscan .Op Fl 46cDHv .Op Fl f Ar file +.Op Fl O Ar option .Op Fl p Ar port .Op Fl T Ar timeout .Op Fl t Ar type @@ -97,6 +98,20 @@ and .Xr sshd 8 , but they do not reveal identifying information should the file's contents be disclosed. +.It Fl O Ar option +Specify a key/value option. +At present, only a single option is supported: +.Bl -tag -width Ds +.It Cm hashalg Ns = Ns Ar algorithm +Selects a hash algorithm to use when printing SSHFP records using the +.Fl D +flag. +Valid algorithms are +.Dq sha1 +and +.Dq sha256 . +The default is to print both. +.El .It Fl p Ar port Connect to .Ar port diff --git a/ssh-keyscan.c b/ssh-keyscan.c index 1318c2fa6fb7..3f3092e63d29 100644 --- a/ssh-keyscan.c +++ b/ssh-keyscan.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ssh-keyscan.c,v 1.149 2022/12/26 19:16:03 jmc Exp $ */ +/* $OpenBSD: ssh-keyscan.c,v 1.151 2023/02/10 06:41:53 jmc Exp $ */ /* * Copyright 1995, 1996 by David Mazieres . * @@ -40,6 +40,7 @@ #include "sshbuf.h" #include "sshkey.h" #include "cipher.h" +#include "digest.h" #include "kex.h" #include "compat.h" #include "myproposal.h" @@ -80,6 +81,8 @@ int print_sshfp = 0; /* Print SSHFP records instead of known_hosts */ int found_one = 0; /* Successfully found a key */ +int hashalg = -1; /* Hash for SSHFP records or -1 for all */ + #define MAXMAXFD 256 /* The number of seconds after which to give up on a TCP connection */ @@ -314,7 +317,7 @@ keyprint_one(const char *host, struct sshkey *key) found_one = 1; if (print_sshfp) { - export_dns_rr(host, key, stdout, 0); + export_dns_rr(host, key, stdout, 0, hashalg); return; } @@ -698,9 +701,8 @@ static void usage(void) { fprintf(stderr, - "usage: %s [-46cDHv] [-f file] [-p port] [-T timeout] [-t type]\n" - "\t\t [host | addrlist namelist]\n", - __progname); + "usage: ssh-keyscan [-46cDHv] [-f file] [-O option] [-p port] [-T timeout]\n" + " [-t type] [host | addrlist namelist]\n"); exit(1); } @@ -726,7 +728,7 @@ main(int argc, char **argv) if (argc <= 1) usage(); - while ((opt = getopt(argc, argv, "cDHv46p:T:t:f:")) != -1) { + while ((opt = getopt(argc, argv, "cDHv46O:p:T:t:f:")) != -1) { switch (opt) { case 'H': hash_hosts = 1; @@ -766,6 +768,14 @@ main(int argc, char **argv) optarg = NULL; argv[fopt_count++] = optarg; break; + case 'O': + /* Maybe other misc options in the future too */ + if (strncmp(optarg, "hashalg=", 8) != 0) + fatal("Unsupported -O option"); + if ((hashalg = ssh_digest_alg_by_name( + optarg + 8)) == -1) + fatal("Unsupported hash algorithm"); + break; case 't': get_keytypes = 0; tname = strtok(optarg, ","); diff --git a/ssh-pkcs11.c b/ssh-pkcs11.c index b2e2b32a5078..6be647ec443c 100644 --- a/ssh-pkcs11.c +++ b/ssh-pkcs11.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ssh-pkcs11.c,v 1.55 2021/11/18 21:11:01 djm Exp $ */ +/* $OpenBSD: ssh-pkcs11.c,v 1.56 2023/03/08 05:33:53 tb Exp $ */ /* * Copyright (c) 2010 Markus Friedl. All rights reserved. * Copyright (c) 2014 Pedro Martelletto. All rights reserved. @@ -523,7 +523,7 @@ ecdsa_do_sign(const unsigned char *dgst, int dgst_len, const BIGNUM *inv, BIGNUM *r = NULL, *s = NULL; if ((k11 = EC_KEY_get_ex_data(ec, ec_key_idx)) == NULL) { - ossl_error("EC_KEY_get_key_method_data failed for ec"); + ossl_error("EC_KEY_get_ex_data failed for ec"); return (NULL); } @@ -545,7 +545,7 @@ ecdsa_do_sign(const unsigned char *dgst, int dgst_len, const BIGNUM *inv, goto done; } if (siglen < 64 || siglen > 132 || siglen % 2) { - ossl_error("d2i_ECDSA_SIG failed"); + error_f("bad signature length: %lu", (u_long)siglen); goto done; } bnlen = siglen/2; @@ -555,7 +555,7 @@ ecdsa_do_sign(const unsigned char *dgst, int dgst_len, const BIGNUM *inv, } if ((r = BN_bin2bn(sig, bnlen, NULL)) == NULL || (s = BN_bin2bn(sig+bnlen, bnlen, NULL)) == NULL) { - ossl_error("d2i_ECDSA_SIG failed"); + ossl_error("BN_bin2bn failed"); ECDSA_SIG_free(ret); ret = NULL; goto done; diff --git a/ssh-rsa.c b/ssh-rsa.c index 6516ddc13acd..be8f51e7576b 100644 --- a/ssh-rsa.c +++ b/ssh-rsa.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ssh-rsa.c,v 1.78 2022/10/28 02:47:04 djm Exp $ */ +/* $OpenBSD: ssh-rsa.c,v 1.79 2023/03/05 05:34:09 dtucker Exp $ */ /* * Copyright (c) 2000, 2003 Markus Friedl * @@ -28,7 +28,6 @@ #include #include "sshbuf.h" -#include "compat.h" #include "ssherr.h" #define SSHKEY_INTERNAL #include "sshkey.h" diff --git a/ssh.c b/ssh.c index 87454b84a95f..918389bccba2 100644 --- a/ssh.c +++ b/ssh.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ssh.c,v 1.584 2023/01/17 18:52:44 millert Exp $ */ +/* $OpenBSD: ssh.c,v 1.585 2023/02/10 04:40:28 djm Exp $ */ /* * Author: Tatu Ylonen * Copyright (c) 1995 Tatu Ylonen , Espoo, Finland @@ -794,6 +794,7 @@ main(int ac, char **av) else if (strcmp(optarg, "key-plain") == 0) cp = sshkey_alg_list(0, 1, 0, '\n'); else if (strcmp(optarg, "key-sig") == 0 || + strcasecmp(optarg, "CASignatureAlgorithms") == 0 || strcasecmp(optarg, "PubkeyAcceptedKeyTypes") == 0 || /* deprecated name */ strcasecmp(optarg, "PubkeyAcceptedAlgorithms") == 0 || strcasecmp(optarg, "HostKeyAlgorithms") == 0 || diff --git a/ssh_config.0 b/ssh_config.0 index 4960dad46322..9bf5bd00da3a 100644 --- a/ssh_config.0 +++ b/ssh_config.0 @@ -11,12 +11,12 @@ DESCRIPTION 2. user's configuration file (~/.ssh/config) 3. system-wide configuration file (/etc/ssh/ssh_config) - For each parameter, the first obtained value will be used. The - configuration files contain sections separated by Host specifications, - and that section is only applied for hosts that match one of the patterns - given in the specification. The matched host name is usually the one - given on the command line (see the CanonicalizeHostname option for - exceptions). + Unless noted otherwise, for each parameter, the first obtained value will + be used. The configuration files contain sections separated by Host + specifications, and that section is only applied for hosts that match one + of the patterns given in the specification. The matched host name is + usually the one given on the command line (see the CanonicalizeHostname + option for exceptions). Since the first obtained value for each parameter is used, more host- specific declarations should be given near the beginning of the file, and @@ -1323,4 +1323,4 @@ AUTHORS created OpenSSH. Markus Friedl contributed the support for SSH protocol versions 1.5 and 2.0. -OpenBSD 7.2 January 13, 2023 OpenBSD 7.2 +OpenBSD 7.2 March 10, 2023 OpenBSD 7.2 diff --git a/ssh_config.5 b/ssh_config.5 index 9eb6b97794a6..c56b9d7be670 100644 --- a/ssh_config.5 +++ b/ssh_config.5 @@ -33,8 +33,8 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $OpenBSD: ssh_config.5,v 1.378 2023/01/13 07:13:40 jmc Exp $ -.Dd $Mdocdate: January 13 2023 $ +.\" $OpenBSD: ssh_config.5,v 1.379 2023/03/10 02:32:04 djm Exp $ +.Dd $Mdocdate: March 10 2023 $ .Dt SSH_CONFIG 5 .Os .Sh NAME @@ -56,7 +56,7 @@ system-wide configuration file .Pq Pa /etc/ssh/ssh_config .El .Pp -For each parameter, the first obtained value +Unless noted otherwise, for each parameter, the first obtained value will be used. The configuration files contain sections separated by .Cm Host diff --git a/sshconnect.c b/sshconnect.c index 792bc34bcb92..e6012f01e4d9 100644 --- a/sshconnect.c +++ b/sshconnect.c @@ -1,4 +1,4 @@ -/* $OpenBSD: sshconnect.c,v 1.361 2023/01/13 02:44:02 djm Exp $ */ +/* $OpenBSD: sshconnect.c,v 1.363 2023/03/10 07:17:08 dtucker Exp $ */ /* * Author: Tatu Ylonen * Copyright (c) 1995 Tatu Ylonen , Espoo, Finland @@ -54,7 +54,6 @@ #include "ssh.h" #include "sshbuf.h" #include "packet.h" -#include "compat.h" #include "sshkey.h" #include "sshconnect.h" #include "log.h" @@ -364,7 +363,7 @@ ssh_create_socket(struct addrinfo *ai) error("socket: %s", strerror(errno)); return -1; } - fcntl(sock, F_SETFD, FD_CLOEXEC); + (void)fcntl(sock, F_SETFD, FD_CLOEXEC); /* Use interactive QOS (if specified) until authentication completed */ if (options.ip_qos_interactive != INT_MAX) diff --git a/sshconnect2.c b/sshconnect2.c index 58fe98db2200..bc05f02142fd 100644 --- a/sshconnect2.c +++ b/sshconnect2.c @@ -1,4 +1,4 @@ -/* $OpenBSD: sshconnect2.c,v 1.361 2022/09/17 10:33:18 djm Exp $ */ +/* $OpenBSD: sshconnect2.c,v 1.366 2023/03/09 07:11:05 dtucker Exp $ */ /* * Copyright (c) 2000 Markus Friedl. All rights reserved. * Copyright (c) 2008 Damien Miller. All rights reserved. @@ -56,7 +56,6 @@ #include "cipher.h" #include "sshkey.h" #include "kex.h" -#include "myproposal.h" #include "sshconnect.h" #include "authfile.h" #include "dh.h" @@ -221,15 +220,18 @@ void ssh_kex2(struct ssh *ssh, char *host, struct sockaddr *hostaddr, u_short port, const struct ssh_conn_info *cinfo) { - char *myproposal[PROPOSAL_MAX] = { KEX_CLIENT }; - char *s, *all_key; - char *prop_kex = NULL, *prop_enc = NULL, *prop_hostkey = NULL; + char *myproposal[PROPOSAL_MAX]; + char *s, *all_key, *hkalgs = NULL; int r, use_known_hosts_order = 0; xxx_host = host; xxx_hostaddr = hostaddr; xxx_conn_info = cinfo; + if (options.rekey_limit || options.rekey_interval) + ssh_packet_set_rekey_limits(ssh, options.rekey_limit, + options.rekey_interval); + /* * If the user has not specified HostkeyAlgorithms, or has only * appended or removed algorithms from that list then prefer algorithms @@ -249,29 +251,15 @@ ssh_kex2(struct ssh *ssh, char *host, struct sockaddr *hostaddr, u_short port, if ((s = kex_names_cat(options.kex_algorithms, "ext-info-c")) == NULL) fatal_f("kex_names_cat"); - myproposal[PROPOSAL_KEX_ALGS] = prop_kex = compat_kex_proposal(ssh, s); - myproposal[PROPOSAL_ENC_ALGS_CTOS] = - myproposal[PROPOSAL_ENC_ALGS_STOC] = prop_enc = - compat_cipher_proposal(ssh, options.ciphers); - myproposal[PROPOSAL_COMP_ALGS_CTOS] = - myproposal[PROPOSAL_COMP_ALGS_STOC] = - (char *)compression_alg_list(options.compression); - myproposal[PROPOSAL_MAC_ALGS_CTOS] = - myproposal[PROPOSAL_MAC_ALGS_STOC] = options.macs; - if (use_known_hosts_order) { - /* Query known_hosts and prefer algorithms that appear there */ - myproposal[PROPOSAL_SERVER_HOST_KEY_ALGS] = prop_hostkey = - compat_pkalg_proposal(ssh, - order_hostkeyalgs(host, hostaddr, port, cinfo)); - } else { - /* Use specified HostkeyAlgorithms exactly */ - myproposal[PROPOSAL_SERVER_HOST_KEY_ALGS] = prop_hostkey = - compat_pkalg_proposal(ssh, options.hostkeyalgorithms); - } - if (options.rekey_limit || options.rekey_interval) - ssh_packet_set_rekey_limits(ssh, options.rekey_limit, - options.rekey_interval); + if (use_known_hosts_order) + hkalgs = order_hostkeyalgs(host, hostaddr, port, cinfo); + + kex_proposal_populate_entries(ssh, myproposal, s, options.ciphers, + options.macs, compression_alg_list(options.compression), + hkalgs ? hkalgs : options.hostkeyalgorithms); + + free(hkalgs); /* start key exchange */ if ((r = kex_setup(ssh, myproposal)) != 0) @@ -295,6 +283,7 @@ ssh_kex2(struct ssh *ssh, char *host, struct sockaddr *hostaddr, u_short port, ssh_dispatch_run_fatal(ssh, DISPATCH_BLOCK, &ssh->kex->done); /* remove ext-info from the KEX proposals for rekeying */ + free(myproposal[PROPOSAL_KEX_ALGS]); myproposal[PROPOSAL_KEX_ALGS] = compat_kex_proposal(ssh, options.kex_algorithms); if ((r = kex_prop2buf(ssh->kex->my, myproposal)) != 0) @@ -308,10 +297,7 @@ ssh_kex2(struct ssh *ssh, char *host, struct sockaddr *hostaddr, u_short port, (r = ssh_packet_write_wait(ssh)) != 0) fatal_fr(r, "send packet"); #endif - /* Free only parts of proposal that were dynamically allocated here. */ - free(prop_kex); - free(prop_enc); - free(prop_hostkey); + kex_proposal_free_entries(myproposal); } /* @@ -506,7 +492,6 @@ ssh_userauth2(struct ssh *ssh, const char *local_user, } } -/* ARGSUSED */ static int input_userauth_service_accept(int type, u_int32_t seq, struct ssh *ssh) { @@ -538,7 +523,6 @@ input_userauth_service_accept(int type, u_int32_t seq, struct ssh *ssh) return r; } -/* ARGSUSED */ static int input_userauth_ext_info(int type, u_int32_t seqnr, struct ssh *ssh) { @@ -583,7 +567,6 @@ userauth(struct ssh *ssh, char *authlist) } } -/* ARGSUSED */ static int input_userauth_error(int type, u_int32_t seq, struct ssh *ssh) { @@ -591,7 +574,6 @@ input_userauth_error(int type, u_int32_t seq, struct ssh *ssh) return 0; } -/* ARGSUSED */ static int input_userauth_banner(int type, u_int32_t seq, struct ssh *ssh) { @@ -611,7 +593,6 @@ input_userauth_banner(int type, u_int32_t seq, struct ssh *ssh) return r; } -/* ARGSUSED */ static int input_userauth_success(int type, u_int32_t seq, struct ssh *ssh) { @@ -644,7 +625,6 @@ input_userauth_success_unexpected(int type, u_int32_t seq, struct ssh *ssh) } #endif -/* ARGSUSED */ static int input_userauth_failure(int type, u_int32_t seq, struct ssh *ssh) { @@ -705,7 +685,6 @@ format_identity(Identity *id) return ret; } -/* ARGSUSED */ static int input_userauth_pk_ok(int type, u_int32_t seq, struct ssh *ssh) { @@ -913,7 +892,6 @@ process_gssapi_token(struct ssh *ssh, gss_buffer_t recv_tok) return status; } -/* ARGSUSED */ static int input_gssapi_response(int type, u_int32_t plen, struct ssh *ssh) { @@ -958,7 +936,6 @@ input_gssapi_response(int type, u_int32_t plen, struct ssh *ssh) return r; } -/* ARGSUSED */ static int input_gssapi_token(int type, u_int32_t plen, struct ssh *ssh) { @@ -991,7 +968,6 @@ input_gssapi_token(int type, u_int32_t plen, struct ssh *ssh) return r; } -/* ARGSUSED */ static int input_gssapi_errtok(int type, u_int32_t plen, struct ssh *ssh) { @@ -1026,7 +1002,6 @@ input_gssapi_errtok(int type, u_int32_t plen, struct ssh *ssh) return 0; } -/* ARGSUSED */ static int input_gssapi_error(int type, u_int32_t plen, struct ssh *ssh) { @@ -1104,7 +1079,6 @@ userauth_passwd(struct ssh *ssh) /* * parse PASSWD_CHANGEREQ, prompt user and send SSH2_MSG_USERAUTH_REQUEST */ -/* ARGSUSED */ static int input_userauth_passwd_changereq(int type, u_int32_t seqnr, struct ssh *ssh) { @@ -1874,20 +1848,6 @@ pubkey_reset(Authctxt *authctxt) id->tried = 0; } -static int -try_identity(struct ssh *ssh, Identity *id) -{ - if (!id->key) - return (0); - if (sshkey_type_plain(id->key->type) == KEY_RSA && - (ssh->compat & SSH_BUG_RSASIGMD5) != 0) { - debug("Skipped %s key %s for RSA/MD5 server", - sshkey_type(id->key), id->filename); - return (0); - } - return 1; -} - static int userauth_pubkey(struct ssh *ssh) { @@ -1908,7 +1868,7 @@ userauth_pubkey(struct ssh *ssh) * private key instead */ if (id->key != NULL) { - if (try_identity(ssh, id)) { + if (id->key != NULL) { ident = format_identity(id); debug("Offering public key: %s", ident); free(ident); @@ -1918,7 +1878,7 @@ userauth_pubkey(struct ssh *ssh) debug("Trying private key: %s", id->filename); id->key = load_identity_file(id); if (id->key != NULL) { - if (try_identity(ssh, id)) { + if (id->key != NULL) { id->isprivate = 1; sent = sign_and_send_pubkey(ssh, id); } @@ -2089,7 +2049,8 @@ ssh_keysign(struct ssh *ssh, struct sshkey *key, u_char **sigp, size_t *lenp, if (dup2(sock, STDERR_FILENO + 1) == -1) fatal_f("dup2: %s", strerror(errno)); sock = STDERR_FILENO + 1; - fcntl(sock, F_SETFD, 0); /* keep the socket on exec */ + if (fcntl(sock, F_SETFD, 0) == -1) /* keep the socket on exec */ + debug3_f("fcntl F_SETFD: %s", strerror(errno)); closefrom(sock + 1); debug3_f("[child] pid=%ld, exec %s", diff --git a/sshd.0 b/sshd.0 index cc72dd619aca..00d6081b824f 100644 --- a/sshd.0 +++ b/sshd.0 @@ -4,7 +4,7 @@ NAME sshd M-bM-^@M-^S OpenSSH daemon SYNOPSIS - sshd [-46DdeiqTtV] [-C connection_spec] [-c host_certificate_file] + sshd [-46DdeGiqTtV] [-C connection_spec] [-c host_certificate_file] [-E log_file] [-f config_file] [-g login_grace_time] [-h host_key_file] [-o option] [-p port] [-u len] @@ -67,6 +67,12 @@ DESCRIPTION /etc/ssh/sshd_config. sshd refuses to start if there is no configuration file. + -G Parse and print configuration file. Check the validity of the + configuration file, output the effective configuration to stdout + and then exit. Optionally, Match rules may be applied by + specifying the connection parameters using one or more -C + options. + -g login_grace_time Gives the grace time for clients to authenticate themselves (default 120 seconds). If the client fails to authenticate the @@ -103,7 +109,9 @@ DESCRIPTION -T Extended test mode. Check the validity of the configuration file, output the effective configuration to stdout and then exit. Optionally, Match rules may be applied by specifying the - connection parameters using one or more -C options. + connection parameters using one or more -C options. This is + similar to the -G flag, but it includes the additional testing + performed by the -t flag. -t Test mode. Only check the validity of the configuration file and sanity of the keys. This is useful for updating sshd reliably as @@ -675,4 +683,4 @@ AUTHORS versions 1.5 and 2.0. Niels Provos and Markus Friedl contributed support for privilege separation. -OpenBSD 7.2 January 18, 2023 OpenBSD 7.2 +OpenBSD 7.2 February 10, 2023 OpenBSD 7.2 diff --git a/sshd.8 b/sshd.8 index bace97839b7a..9c8f2fcaa86a 100644 --- a/sshd.8 +++ b/sshd.8 @@ -33,8 +33,8 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $OpenBSD: sshd.8,v 1.322 2023/01/18 01:50:21 millert Exp $ -.Dd $Mdocdate: January 18 2023 $ +.\" $OpenBSD: sshd.8,v 1.324 2023/02/10 06:39:27 jmc Exp $ +.Dd $Mdocdate: February 10 2023 $ .Dt SSHD 8 .Os .Sh NAME @@ -43,7 +43,7 @@ .Sh SYNOPSIS .Nm sshd .Bk -words -.Op Fl 46DdeiqTtV +.Op Fl 46DdeGiqTtV .Op Fl C Ar connection_spec .Op Fl c Ar host_certificate_file .Op Fl E Ar log_file @@ -154,6 +154,15 @@ The default is .Pa /etc/ssh/sshd_config . .Nm refuses to start if there is no configuration file. +.It Fl G +Parse and print configuration file. +Check the validity of the configuration file, output the effective configuration +to stdout and then exit. +Optionally, +.Cm Match +rules may be applied by specifying the connection parameters using one or more +.Fl C +options. .It Fl g Ar login_grace_time Gives the grace time for clients to authenticate themselves (default 120 seconds). @@ -208,6 +217,11 @@ Optionally, rules may be applied by specifying the connection parameters using one or more .Fl C options. +This is similar to the +.Fl G +flag, but it includes the additional testing performed by the +.Fl t +flag. .It Fl t Test mode. Only check the validity of the configuration file and sanity of the keys. diff --git a/sshd.c b/sshd.c index 6321936c0208..264e81ac705b 100644 --- a/sshd.c +++ b/sshd.c @@ -1,4 +1,4 @@ -/* $OpenBSD: sshd.c,v 1.596 2023/01/18 01:50:21 millert Exp $ */ +/* $OpenBSD: sshd.c,v 1.600 2023/03/08 04:43:12 guenther Exp $ */ /* * Author: Tatu Ylonen * Copyright (c) 1995 Tatu Ylonen , Espoo, Finland @@ -104,7 +104,6 @@ #include "digest.h" #include "sshkey.h" #include "kex.h" -#include "myproposal.h" #include "authfile.h" #include "pathnames.h" #include "atomicio.h" @@ -295,7 +294,6 @@ close_startup_pipes(void) * the server key). */ -/*ARGSUSED*/ static void sighup_handler(int sig) { @@ -325,7 +323,6 @@ sighup_restart(void) /* * Generic signal handler for terminating signals in the master daemon. */ -/*ARGSUSED*/ static void sigterm_handler(int sig) { @@ -336,7 +333,6 @@ sigterm_handler(int sig) * SIGCHLD handler. This is called whenever a child dies. This will then * reap any zombies left by exited children. */ -/*ARGSUSED*/ static void main_sigchld_handler(int sig) { @@ -353,7 +349,6 @@ main_sigchld_handler(int sig) /* * Signal handler for the alarm after the login grace period has expired. */ -/*ARGSUSED*/ static void grace_alarm_handler(int sig) { @@ -901,7 +896,7 @@ usage(void) { fprintf(stderr, "%s, %s\n", SSH_RELEASE, SSH_OPENSSL_VERSION); fprintf(stderr, -"usage: sshd [-46DdeiqTtV] [-C connection_spec] [-c host_cert_file]\n" +"usage: sshd [-46DdeGiqTtV] [-C connection_spec] [-c host_cert_file]\n" " [-E log_file] [-f config_file] [-g login_grace_time]\n" " [-h host_key_file] [-o option] [-p port] [-u len]\n" ); @@ -1524,6 +1519,21 @@ prepare_proctitle(int ac, char **av) return ret; } +static void +print_config(struct ssh *ssh, struct connection_info *connection_info) +{ + /* + * If no connection info was provided by -C then use + * use a blank one that will cause no predicate to match. + */ + if (connection_info == NULL) + connection_info = get_connection_info(ssh, 0, 0); + connection_info->test = 1; + parse_server_match_config(&options, &includes, connection_info); + dump_config(&options); + exit(0); +} + /* * Main program for the daemon. */ @@ -1533,7 +1543,7 @@ main(int ac, char **av) struct ssh *ssh = NULL; extern char *optarg; extern int optind; - int r, opt, on = 1, already_daemon, remote_port; + int r, opt, on = 1, do_dump_cfg = 0, already_daemon, remote_port; int sock_in = -1, sock_out = -1, newsock = -1; const char *remote_ip, *rdomain; char *fp, *line, *laddr, *logfile = NULL; @@ -1581,7 +1591,7 @@ main(int ac, char **av) /* Parse command-line arguments. */ while ((opt = getopt(ac, av, - "C:E:b:c:f:g:h:k:o:p:u:46DQRTdeiqrtV")) != -1) { + "C:E:b:c:f:g:h:k:o:p:u:46DGQRTdeiqrtV")) != -1) { switch (opt) { case '4': options.address_family = AF_INET; @@ -1606,6 +1616,9 @@ main(int ac, char **av) case 'D': no_daemon_flag = 1; break; + case 'G': + do_dump_cfg = 1; + break; case 'E': logfile = optarg; /* FALLTHROUGH */ @@ -1693,7 +1706,7 @@ main(int ac, char **av) } if (rexeced_flag || inetd_flag) rexec_flag = 0; - if (!test_flag && rexec_flag && !path_absolute(av[0])) + if (!test_flag && !do_dump_cfg && rexec_flag && !path_absolute(av[0])) fatal("sshd re-exec requires execution with an absolute path"); if (rexeced_flag) closefrom(REEXEC_MIN_FREE_FD); @@ -1799,6 +1812,9 @@ main(int ac, char **av) debug("sshd version %s, %s", SSH_VERSION, SSH_OPENSSL_VERSION); + if (do_dump_cfg) + print_config(ssh, connection_info); + /* Store privilege separation user for later use if required. */ privsep_chroot = use_privsep && (getuid() == 0 || geteuid() == 0); if ((privsep_pw = getpwnam(SSH_PRIVSEP_USER)) == NULL) { @@ -1981,17 +1997,8 @@ main(int ac, char **av) "world-writable.", _PATH_PRIVSEP_CHROOT_DIR); } - if (test_flag > 1) { - /* - * If no connection info was provided by -C then use - * use a blank one that will cause no predicate to match. - */ - if (connection_info == NULL) - connection_info = get_connection_info(ssh, 0, 0); - connection_info->test = 1; - parse_server_match_config(&options, &includes, connection_info); - dump_config(&options); - } + if (test_flag > 1) + print_config(ssh, connection_info); /* Configuration looks good, so exit if in test mode. */ if (test_flag) @@ -2105,17 +2112,21 @@ main(int ac, char **av) if (rexec_flag) { debug("rexec start in %d out %d newsock %d pipe %d sock %d", sock_in, sock_out, newsock, startup_pipe, config_s[0]); - dup2(newsock, STDIN_FILENO); - dup2(STDIN_FILENO, STDOUT_FILENO); + if (dup2(newsock, STDIN_FILENO) == -1) + debug3_f("dup2 stdin: %s", strerror(errno)); + if (dup2(STDIN_FILENO, STDOUT_FILENO) == -1) + debug3_f("dup2 stdout: %s", strerror(errno)); if (startup_pipe == -1) close(REEXEC_STARTUP_PIPE_FD); else if (startup_pipe != REEXEC_STARTUP_PIPE_FD) { - dup2(startup_pipe, REEXEC_STARTUP_PIPE_FD); + if (dup2(startup_pipe, REEXEC_STARTUP_PIPE_FD) == -1) + debug3_f("dup2 startup_p: %s", strerror(errno)); close(startup_pipe); startup_pipe = REEXEC_STARTUP_PIPE_FD; } - dup2(config_s[1], REEXEC_CONFIG_PASS_FD); + if (dup2(config_s[1], REEXEC_CONFIG_PASS_FD) == -1) + debug3_f("dup2 config_s: %s", strerror(errno)); close(config_s[1]); ssh_signal(SIGHUP, SIG_IGN); /* avoid reset to SIG_DFL */ @@ -2373,30 +2384,23 @@ sshd_hostkey_sign(struct ssh *ssh, struct sshkey *privkey, static void do_ssh2_kex(struct ssh *ssh) { - char *myproposal[PROPOSAL_MAX] = { KEX_SERVER }; + char *hkalgs = NULL, *myproposal[PROPOSAL_MAX]; + const char *compression = NULL; struct kex *kex; - char *prop_kex = NULL, *prop_enc = NULL, *prop_hostkey = NULL; int r; - myproposal[PROPOSAL_KEX_ALGS] = prop_kex = compat_kex_proposal(ssh, - options.kex_algorithms); - myproposal[PROPOSAL_ENC_ALGS_CTOS] = - myproposal[PROPOSAL_ENC_ALGS_STOC] = prop_enc = - compat_cipher_proposal(ssh, options.ciphers); - myproposal[PROPOSAL_MAC_ALGS_CTOS] = - myproposal[PROPOSAL_MAC_ALGS_STOC] = options.macs; - - if (options.compression == COMP_NONE) { - myproposal[PROPOSAL_COMP_ALGS_CTOS] = - myproposal[PROPOSAL_COMP_ALGS_STOC] = "none"; - } - if (options.rekey_limit || options.rekey_interval) ssh_packet_set_rekey_limits(ssh, options.rekey_limit, options.rekey_interval); - myproposal[PROPOSAL_SERVER_HOST_KEY_ALGS] = prop_hostkey = - compat_pkalg_proposal(ssh, list_hostkey_types()); + if (options.compression == COMP_NONE) + compression = "none"; + hkalgs = list_hostkey_types(); + + kex_proposal_populate_entries(ssh, myproposal, options.kex_algorithms, + options.ciphers, options.macs, compression, hkalgs); + + free(hkalgs); /* start key exchange */ if ((r = kex_setup(ssh, myproposal)) != 0) @@ -2431,9 +2435,7 @@ do_ssh2_kex(struct ssh *ssh) (r = ssh_packet_write_wait(ssh)) != 0) fatal_fr(r, "send test"); #endif - free(prop_kex); - free(prop_enc); - free(prop_hostkey); + kex_proposal_free_entries(myproposal); debug("KEX done"); } diff --git a/sshd_config.0 b/sshd_config.0 index b0bb6f92646f..b2003109309e 100644 --- a/sshd_config.0 +++ b/sshd_config.0 @@ -6,10 +6,10 @@ NAME DESCRIPTION sshd(8) reads configuration data from /etc/ssh/sshd_config (or the file specified with -f on the command line). The file contains keyword- - argument pairs, one per line. For each keyword, the first obtained value - will be used. Lines starting with M-bM-^@M-^X#M-bM-^@M-^Y and empty lines are interpreted as - comments. Arguments may optionally be enclosed in double quotes (") in - order to represent arguments containing spaces. + argument pairs, one per line. Unless noted otherwise, for each keyword, + the first obtained value will be used. Lines starting with M-bM-^@M-^X#M-bM-^@M-^Y and empty + lines are interpreted as comments. Arguments may optionally be enclosed + in double quotes (") in order to represent arguments containing spaces. The possible keywords and their meanings are as follows (note that keywords are case-insensitive and arguments are case-sensitive): @@ -49,6 +49,8 @@ DESCRIPTION following order: DenyGroups, AllowGroups. See PATTERNS in ssh_config(5) for more information on patterns. + This keyword may appear multiple times in sshd_config with each + instance appending to the list. AllowStreamLocalForwarding Specifies whether StreamLocal (Unix-domain socket) forwarding is @@ -82,6 +84,8 @@ DESCRIPTION processed in the following order: DenyUsers, AllowUsers. See PATTERNS in ssh_config(5) for more information on patterns. + This keyword may appear multiple times in sshd_config with each + instance appending to the list. AuthenticationMethods Specifies the authentication methods that must be successfully @@ -377,6 +381,8 @@ DESCRIPTION order: DenyGroups, AllowGroups. See PATTERNS in ssh_config(5) for more information on patterns. + This keyword may appear multiple times in sshd_config with each + instance appending to the list. DenyUsers This keyword can be followed by a list of user name patterns, @@ -391,6 +397,8 @@ DESCRIPTION following order: DenyUsers, AllowUsers. See PATTERNS in ssh_config(5) for more information on patterns. + This keyword may appear multiple times in sshd_config with each + instance appending to the list. DisableForwarding Disables all forwarding features, including X11, ssh-agent(1), @@ -1275,4 +1283,4 @@ AUTHORS versions 1.5 and 2.0. Niels Provos and Markus Friedl contributed support for privilege separation. -OpenBSD 7.2 January 18, 2023 OpenBSD 7.2 +OpenBSD 7.2 March 3, 2023 OpenBSD 7.2 diff --git a/sshd_config.5 b/sshd_config.5 index 7313a7f792b2..9a1578f75e86 100644 --- a/sshd_config.5 +++ b/sshd_config.5 @@ -33,8 +33,8 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $OpenBSD: sshd_config.5,v 1.347 2023/01/18 06:55:32 jmc Exp $ -.Dd $Mdocdate: January 18 2023 $ +.\" $OpenBSD: sshd_config.5,v 1.348 2023/03/03 04:36:20 djm Exp $ +.Dd $Mdocdate: March 3 2023 $ .Dt SSHD_CONFIG 5 .Os .Sh NAME @@ -48,7 +48,7 @@ reads configuration data from .Fl f on the command line). The file contains keyword-argument pairs, one per line. -For each keyword, the first obtained value will be used. +Unless noted otherwise, for each keyword, the first obtained value will be used. Lines starting with .Ql # and empty lines are interpreted as comments. @@ -120,6 +120,9 @@ The allow/deny groups directives are processed in the following order: See PATTERNS in .Xr ssh_config 5 for more information on patterns. +This keyword may appear multiple times in +.Nm +with each instance appending to the list. .It Cm AllowStreamLocalForwarding Specifies whether StreamLocal (Unix-domain socket) forwarding is permitted. The available options are @@ -177,6 +180,9 @@ The allow/deny users directives are processed in the following order: See PATTERNS in .Xr ssh_config 5 for more information on patterns. +This keyword may appear multiple times in +.Nm +with each instance appending to the list. .It Cm AuthenticationMethods Specifies the authentication methods that must be successfully completed for a user to be granted access. @@ -629,6 +635,9 @@ The allow/deny groups directives are processed in the following order: See PATTERNS in .Xr ssh_config 5 for more information on patterns. +This keyword may appear multiple times in +.Nm +with each instance appending to the list. .It Cm DenyUsers This keyword can be followed by a list of user name patterns, separated by spaces. @@ -647,6 +656,9 @@ The allow/deny users directives are processed in the following order: See PATTERNS in .Xr ssh_config 5 for more information on patterns. +This keyword may appear multiple times in +.Nm +with each instance appending to the list. .It Cm DisableForwarding Disables all forwarding features, including X11, .Xr ssh-agent 1 , diff --git a/umac.c b/umac.c index a710424ce0fd..d5958babfd34 100644 --- a/umac.c +++ b/umac.c @@ -1,4 +1,4 @@ -/* $OpenBSD: umac.c,v 1.22 2022/01/01 05:55:06 jsg Exp $ */ +/* $OpenBSD: umac.c,v 1.23 2023/03/07 01:30:52 djm Exp $ */ /* ----------------------------------------------------------------------- * * umac.c -- C Implementation UMAC Message Authentication @@ -233,7 +233,8 @@ static void pdf_init(pdf_ctx *pc, aes_int_key prf_key) explicit_bzero(buf, sizeof(buf)); } -static void pdf_gen_xor(pdf_ctx *pc, const UINT8 nonce[8], UINT8 buf[8]) +static void pdf_gen_xor(pdf_ctx *pc, const UINT8 nonce[8], + UINT8 buf[UMAC_OUTPUT_LEN]) { /* 'ndx' indicates that we'll be using the 0th or 1st eight bytes * of the AES output. If last time around we returned the ndx-1st diff --git a/version.h b/version.h index d83ae5b94e4a..69e76e6344fa 100644 --- a/version.h +++ b/version.h @@ -1,6 +1,6 @@ -/* $OpenBSD: version.h,v 1.96 2023/02/02 12:10:22 djm Exp $ */ +/* $OpenBSD: version.h,v 1.97 2023/03/15 21:19:57 djm Exp $ */ -#define SSH_VERSION "OpenSSH_9.2" +#define SSH_VERSION "OpenSSH_9.3" #define SSH_PORTABLE "p1" #define SSH_RELEASE SSH_VERSION SSH_PORTABLE -- cgit v1.2.3