Skip to content

Commit f6d478a

Browse files
committed
Merge to release version of OpenSSH 9.8
This will be HPN-SSH 18.5.
2 parents cac53c9 + fa41f65 commit f6d478a

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

41 files changed

+552
-335
lines changed

.github/configs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -210,6 +210,7 @@ case "$config" in
210210
# and hostbased (since valgrind won't let ssh exec keysign).
211211
# Slow ones are run separately to increase parallelism.
212212
SKIP_LTESTS="agent-timeout connection-timeout hostbased"
213+
SKIP_LTESTS="$SKIP_LTESTS penalty-expire"
213214
SKIP_LTESTS="$SKIP_LTESTS ${tests2} ${tests3} ${tests4} ${tests5} ${tests6} ${tests7}"
214215
;;
215216
valgrind-2)
@@ -297,7 +298,7 @@ case "${TARGET_HOST}" in
297298
hostkey-agent key-options keyscan knownhosts-command login-timeout
298299
reconfigure reexec rekey scp scp-uri scp3 sftp sftp-badcmds
299300
sftp-batch sftp-cmds sftp-glob sftp-perm sftp-uri stderr-data
300-
transfer"
301+
transfer penalty penalty-expire"
301302
SKIP_LTESTS="$(echo $T)"
302303
TEST_TARGET=t-exec
303304
SUDO=""

.github/workflows/c-cpp.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,6 @@ jobs:
102102
# - { target: macos-12, config: pam }
103103
# - { target: macos-13, config: pam }
104104
# - { target: macos-14, config: pam }
105-
>>>>>>> master
106105
runs-on: ${{ matrix.target }}
107106
steps:
108107
- uses: actions/checkout@main

.gitignore

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,14 @@
11
Makefile
22
buildpkg.sh
33
config.h
4-
config.h.in
54
config.h.in~
65
config.log
76
config.status
8-
configure
9-
aclocal.m4
107
openbsd-compat/Makefile
118
openbsd-compat/regress/Makefile
129
openssh.xml
1310
opensshd.init
1411
survey.sh
15-
**/*.0
1612
**/*.o
1713
**/*.lo
1814
**/*.so
@@ -48,3 +44,13 @@ hpnssh-keysign
4844
hpnssh-pkcs11-helper
4945
hpnssh-sk-helper
5046
hpnsshd
47+
!regress/misc/fuzz-harness/Makefile
48+
!regress/unittests/sshsig/Makefile
49+
tags
50+
51+
# Ignored on main branch
52+
config.h.in
53+
configure
54+
aclocal.m4
55+
ChangeLog
56+
**/*.0

README

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
See https://www.openssh.com/releasenotes.html#9.7p1 for the release
1+
See https://www.openssh.com/releasenotes.html#9.8p1 for the release
22
notes.
33

44
Please read https://www.openssh.com/report.html for bug reporting

auth-pam.c

Lines changed: 14 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -67,11 +67,6 @@
6767
#include <pam/pam_appl.h>
6868
#endif
6969

70-
#if !defined(SSHD_PAM_SERVICE)
71-
extern char *__progname;
72-
# define SSHD_PAM_SERVICE __progname
73-
#endif
74-
7570
/* OpenGroup RFC86.0 and XSSO specify no "const" on arguments */
7671
#ifdef PAM_SUN_CODEBASE
7772
# define sshpam_const /* Solaris, HP-UX, SunOS */
@@ -105,6 +100,7 @@ extern char *__progname;
105100
#include "ssh-gss.h"
106101
#endif
107102
#include "monitor_wrap.h"
103+
#include "srclimit.h"
108104

109105
extern ServerOptions options;
110106
extern struct sshbuf *loginmsg;
@@ -171,13 +167,13 @@ sshpam_sigchld_handler(int sig)
171167
return;
172168
}
173169
}
174-
if (WIFSIGNALED(sshpam_thread_status) &&
175-
WTERMSIG(sshpam_thread_status) == SIGTERM)
176-
return; /* terminated by pthread_cancel */
177-
if (!WIFEXITED(sshpam_thread_status))
178-
sigdie("PAM: authentication thread exited unexpectedly");
179-
if (WEXITSTATUS(sshpam_thread_status) != 0)
180-
sigdie("PAM: authentication thread exited uncleanly");
170+
if (sshpam_thread_status == -1)
171+
return;
172+
if (WIFSIGNALED(sshpam_thread_status)) {
173+
if (signal_is_crash(WTERMSIG(sshpam_thread_status)))
174+
_exit(EXIT_CHILD_CRASH);
175+
} else if (!WIFEXITED(sshpam_thread_status))
176+
_exit(EXIT_CHILD_CRASH);
181177
}
182178

183179
/* ARGSUSED */
@@ -694,6 +690,8 @@ sshpam_init(struct ssh *ssh, Authctxt *authctxt)
694690
const char **ptr_pam_user = &pam_user;
695691
int r;
696692

693+
if (options.pam_service_name == NULL)
694+
fatal_f("internal error: NULL PAM service name");
697695
#if defined(PAM_SUN_CODEBASE) && defined(PAM_MAX_RESP_SIZE)
698696
/* Protect buggy PAM implementations from excessively long usernames */
699697
if (strlen(user) >= PAM_MAX_RESP_SIZE)
@@ -715,9 +713,10 @@ sshpam_init(struct ssh *ssh, Authctxt *authctxt)
715713
pam_end(sshpam_handle, sshpam_err);
716714
sshpam_handle = NULL;
717715
}
718-
debug("PAM: initializing for \"%s\"", user);
719-
sshpam_err =
720-
pam_start(SSHD_PAM_SERVICE, user, &store_conv, &sshpam_handle);
716+
debug("PAM: initializing for \"%s\" with service \"%s\"", user,
717+
options.pam_service_name);
718+
sshpam_err = pam_start(options.pam_service_name, user,
719+
&store_conv, &sshpam_handle);
721720
sshpam_authctxt = authctxt;
722721

723722
if (sshpam_err != PAM_SUCCESS) {

clientloop.c

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
/* $OpenBSD: clientloop.c,v 1.407 2024/05/17 06:42:04 jsg Exp $ */
1+
/* $OpenBSD: clientloop.c,v 1.408 2024/07/01 04:31:17 djm Exp $ */
22
/*
33
* Author: Tatu Ylonen <[email protected]>
44
* Copyright (c) 1995 Tatu Ylonen <[email protected]>, Espoo, Finland
@@ -614,8 +614,9 @@ obfuscate_keystroke_timing(struct ssh *ssh, struct timespec *timeout,
614614
if (timespeccmp(&now, &chaff_until, >=)) {
615615
/* Stop if there have been no keystrokes for a while */
616616
stop_reason = "chaff time expired";
617-
} else if (timespeccmp(&now, &next_interval, >=)) {
618-
/* Otherwise if we were due to send, then send chaff */
617+
} else if (timespeccmp(&now, &next_interval, >=) &&
618+
!ssh_packet_have_data_to_write(ssh)) {
619+
/* If due to send but have no data, then send chaff */
619620
if (send_chaff(ssh))
620621
nchaff++;
621622
}

configure.ac

Lines changed: 13 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -2078,8 +2078,12 @@ AC_ARG_WITH([security-key-builtin],
20782078

20792079
enable_dsa=
20802080
AC_ARG_ENABLE([dsa-keys],
2081-
[ --disable-dsa-keys disable DSA key support [no]],
2082-
[ enable_dsa="$enableval" ]
2081+
[ --enable-dsa-keys enable DSA key support [no]],
2082+
[
2083+
if test "x$enableval" != "xno" ; then
2084+
enable_dsa=1
2085+
fi
2086+
]
20832087
)
20842088

20852089
AC_SEARCH_LIBS([dlopen], [dl])
@@ -3215,8 +3219,9 @@ if test "x$openssl" = "xyes" ; then
32153219
AC_MSG_RESULT([no])
32163220
]
32173221
)
3222+
32183223
openssl_dsa=no
3219-
if test -z "$enable_dsa" || test "x$enable_dsa" = "xyes"; then
3224+
if test ! -z "$enable_dsa" ; then
32203225
AC_CHECK_DECLS([OPENSSL_NO_DSA], [], [
32213226
AC_CHECK_DECLS([OPENSSL_IS_BORINGSSL], [],
32223227
[ openssl_dsa=yes ],
@@ -3226,22 +3231,12 @@ if test "x$openssl" = "xyes" ; then
32263231
[ #include <openssl/opensslconf.h> ]
32273232
)
32283233
AC_MSG_CHECKING([whether to enable DSA key support])
3229-
if test -z "$enable_dsa"; then
3230-
if test "x$openssl_dsa" = "xno"; then
3231-
AC_MSG_RESULT([not supported by OpenSSL])
3232-
else
3233-
AC_MSG_RESULT([yes])
3234-
AC_DEFINE([WITH_DSA], [1],
3235-
[DSA keys enabled by default])
3236-
fi
3234+
if test "x$openssl_dsa" = "xno"; then
3235+
AC_MSG_ERROR([DSA requested but not supported by OpenSSL])
32373236
else
3238-
if test "x$openssl_dsa" = "xno"; then
3239-
AC_MSG_ERROR([DSA requested but not supported by OpenSSL])
3240-
else
3241-
AC_MSG_RESULT([yes])
3242-
AC_DEFINE([WITH_DSA], [1],
3243-
[DSA keys explicitly enabled])
3244-
fi
3237+
AC_MSG_RESULT([yes])
3238+
AC_DEFINE([WITH_DSA], [1],
3239+
[DSA keys explicitly enabled])
32453240
fi
32463241
fi
32473242
fi

contrib/redhat/openssh.spec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
%global ver 9.7p1
1+
%global ver 9.8p1
22
%global rel 1%{?dist}
33

44
# OpenSSH privilege separation requires a user & group ID

contrib/suse/openssh.spec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313

1414
Summary: OpenSSH, a free Secure Shell (SSH) protocol implementation
1515
Name: openssh
16-
Version: 9.7p1
16+
Version: 9.8p1
1717
URL: https://www.openssh.com/
1818
Release: 1
1919
Source0: openssh-%{version}.tar.gz

hpnssh-add.1

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
.\" $OpenBSD: ssh-add.1,v 1.86 2023/12/19 06:57:34 jmc Exp $
1+
.\" $OpenBSD: ssh-add.1,v 1.87 2024/06/17 08:30:29 djm Exp $
22
.\"
33
.\" Author: Tatu Ylonen <[email protected]>
44
.\" Copyright (c) 1995 Tatu Ylonen <[email protected]>, Espoo, Finland
@@ -35,7 +35,7 @@
3535
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
3636
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
3737
.\"
38-
.Dd $Mdocdate: December 19 2023 $
38+
.Dd $Mdocdate: June 17 2024 $
3939
.Dt HPNSSH-ADD 1
4040
.Os
4141
.Sh NAME
@@ -67,10 +67,9 @@ When run without arguments, it adds the files
6767
.Pa ~/.ssh/id_rsa ,
6868
.Pa ~/.ssh/id_ecdsa ,
6969
.Pa ~/.ssh/id_ecdsa_sk ,
70-
.Pa ~/.ssh/id_ed25519 ,
71-
.Pa ~/.ssh/id_ed25519_sk ,
70+
.Pa ~/.ssh/id_ed25519
7271
and
73-
.Pa ~/.ssh/id_dsa .
72+
.Pa ~/.ssh/id_ed25519_sk .
7473
After loading a private key,
7574
.Nm
7675
will try to load corresponding certificate information from the
@@ -318,13 +317,12 @@ the built-in USB HID support.
318317
.El
319318
.Sh FILES
320319
.Bl -tag -width Ds -compact
321-
.It Pa ~/.ssh/id_dsa
322320
.It Pa ~/.ssh/id_ecdsa
323321
.It Pa ~/.ssh/id_ecdsa_sk
324322
.It Pa ~/.ssh/id_ed25519
325323
.It Pa ~/.ssh/id_ed25519_sk
326324
.It Pa ~/.ssh/id_rsa
327-
Contains the DSA, ECDSA, authenticator-hosted ECDSA, Ed25519,
325+
Contains the ECDSA, authenticator-hosted ECDSA, Ed25519,
328326
authenticator-hosted Ed25519 or RSA authentication identity of the user.
329327
.El
330328
.Pp

0 commit comments

Comments
 (0)