Skip to content

Commit 61207e3

Browse files
committed
Revert "Merge 9.2 (#657)"
This reverts commit f71f81e.
1 parent 3c307af commit 61207e3

File tree

135 files changed

+6263
-8246
lines changed

Some content is hidden

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

135 files changed

+6263
-8246
lines changed

.depend

Lines changed: 6 additions & 2 deletions
Large diffs are not rendered by default.

.github/ci-status.md

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,4 @@
1-
master :
2-
[![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?query=branch:master)
3-
[![C/C++ CI self-hosted](https://github.com/openssh/openssh-portable-selfhosted/actions/workflows/selfhosted.yml/badge.svg)](https://github.com/openssh/openssh-portable-selfhosted/actions/workflows/selfhosted.yml?query=branch:master)
4-
[![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)
5-
[![CIFuzz](https://github.com/openssh/openssh-portable/actions/workflows/cifuzz.yml/badge.svg)](https://github.com/openssh/openssh-portable/actions/workflows/cifuzz.yml)
1+
[![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)
2+
[![C/C++ CI self-hosted](https://github.com/openssh/openssh-portable-selfhosted/actions/workflows/selfhosted.yml/badge.svg)](https://github.com/openssh/openssh-portable-selfhosted/actions/workflows/selfhosted.yml)
3+
[![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)
64
[![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)
7-
8-
9.1 :
9-
[![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)
10-
[![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)

.github/configs

Lines changed: 10 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,10 @@
99
# LTESTS
1010

1111
config=$1
12-
if [ "$config" = "" ]; then
13-
config="default"
14-
fi
1512

1613
unset CC CFLAGS CPPFLAGS LDFLAGS LTESTS SUDO
1714

18-
TEST_TARGET="tests compat-tests"
15+
TEST_TARGET="tests"
1916
LTESTS=""
2017
SKIP_LTESTS=""
2118
SUDO=sudo # run with sudo by default
@@ -111,7 +108,7 @@ case "$config" in
111108
kitchensink)
112109
CONFIGFLAGS="--with-kerberos5 --with-libedit --with-pam"
113110
CONFIGFLAGS="${CONFIGFLAGS} --with-security-key-builtin --with-selinux"
114-
CFLAGS="-DSK_DEBUG -DSANDBOX_SECCOMP_FILTER_DEBUG"
111+
CONFIGFLAGS="${CONFIGFLAGS} --with-cflags=-DSK_DEBUG"
115112
;;
116113
hardenedmalloc)
117114
CONFIGFLAGS="--with-ldflags=-lhardened_malloc"
@@ -144,11 +141,6 @@ case "$config" in
144141
;;
145142
openssl-*)
146143
LIBCRYPTOFLAGS="--with-ssl-dir=/opt/openssl --with-rpath=-Wl,-rpath,"
147-
# OpenSSL 1.1.1 specifically has a bug in its RNG that breaks reexec
148-
# fallback. See https://bugzilla.mindrot.org/show_bug.cgi?id=3483
149-
if [ "$config" = "openssl-1.1.1" ]; then
150-
SKIP_LTESTS="reexec"
151-
fi
152144
;;
153145
selinux)
154146
CONFIGFLAGS="--with-selinux"
@@ -160,7 +152,7 @@ case "$config" in
160152
LIBCRYPTOFLAGS="--without-openssl"
161153
TEST_TARGET=t-exec
162154
;;
163-
valgrind-[1-5]|valgrind-unit)
155+
valgrind-[1-4]|valgrind-unit)
164156
# rlimit sandbox and FORTIFY_SOURCE confuse Valgrind.
165157
CONFIGFLAGS="--without-sandbox --without-hardening"
166158
CONFIGFLAGS="$CONFIGFLAGS --with-cppflags=-D_FORTIFY_SOURCE=0"
@@ -169,19 +161,16 @@ case "$config" in
169161
export TEST_SSH_ELAPSED_TIMES
170162
# Valgrind slows things down enough that the agent timeout test
171163
# won't reliably pass, and the unit tests run longer than allowed
172-
# by github so split into separate tests.
173-
tests2="integrity try-ciphers"
164+
# by github so split into three separate tests.
165+
tests2="rekey integrity try-ciphers"
174166
tests3="krl forward-control sshsig agent-restrict kextype sftp"
175167
tests4="cert-userkey cert-hostkey kextype sftp-perm keygen-comment percent"
176-
tests5="rekey"
177168
case "$config" in
178169
valgrind-1)
179-
# All tests except agent-timeout (which is flaky under valgrind),
180-
# connection-timeout (which doesn't work since it's so slow)
170+
# All tests except agent-timeout (which is flaky under valgrind)
181171
# and hostbased (since valgrind won't let ssh exec keysign).
182172
# Slow ones are run separately to increase parallelism.
183-
SKIP_LTESTS="agent-timeout connection-timeout hostbased"
184-
SKIP_LTESTS="$SKIP_LTESTS ${tests2} ${tests3} ${tests4} ${tests5}"
173+
SKIP_LTESTS="agent-timeout hostbased ${tests2} ${tests3} ${tests4}"
185174
;;
186175
valgrind-2)
187176
LTESTS="${tests2}"
@@ -192,9 +181,6 @@ case "$config" in
192181
valgrind-4)
193182
LTESTS="${tests4}"
194183
;;
195-
valgrind-5)
196-
LTESTS="${tests5}"
197-
;;
198184
valgrind-unit)
199185
TEST_TARGET="unit USE_VALGRIND=1"
200186
;;
@@ -224,10 +210,6 @@ case "${TARGET_HOST}" in
224210
TEST_TARGET="t-exec TEST_SHELL=bash"
225211
SKIP_LTESTS="rekey sftp"
226212
;;
227-
debian-riscv64)
228-
# This machine is fairly slow, so skip the unit tests.
229-
TEST_TARGET="t-exec"
230-
;;
231213
dfly58*|dfly60*)
232214
# scp 3-way connection hangs on these so skip until sorted.
233215
SKIP_LTESTS=scp3
@@ -245,15 +227,12 @@ case "${TARGET_HOST}" in
245227
# test that relies on one.
246228
# Also, Minix seems to be very limited in the number of select()
247229
# calls that can be operating concurrently, so prune additional tests for that.
248-
T="addrmatch agent-restrict brokenkeys cfgmatch cfgmatchlisten cfgparse
249-
connect connect-uri exit-status forwarding hostkey-agent
250-
key-options keyscan knownhosts-command login-timeout
230+
T="addrmatch agent-restrict brokenkeys cfgmatch cfgmatchlisten cfgparse connect
231+
connect-uri exit-status forward-control forwarding hostkey-agent
232+
key-options keyscan knownhosts-command login-timeout multiplex
251233
reconfigure reexec rekey scp scp-uri scp3 sftp sftp-badcmds
252234
sftp-batch sftp-cmds sftp-glob sftp-perm sftp-uri stderr-data
253235
transfer"
254-
# Unix domain sockets don't work quite like we expect, so also skip any tests
255-
# that use multiplexing.
256-
T="$T connection-timeout dynamic-forward forward-control multiplex"
257236
SKIP_LTESTS="$(echo $T)"
258237
TEST_TARGET=t-exec
259238
SUDO=""
@@ -281,8 +260,6 @@ esac
281260
case "`./config.guess`" in
282261
*cygwin)
283262
SUDO=""
284-
# Don't run compat tests on cygwin as they don't currently compile.
285-
TEST_TARGET="tests"
286263
;;
287264
*-darwin*)
288265
# Unless specified otherwise, build without OpenSSL on Mac OS since

.github/setup_ci.sh

Lines changed: 3 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -139,29 +139,16 @@ if [ "yes" = "$INSTALL_FIDO_PPA" ]; then
139139
sudo apt-add-repository -y ppa:yubico/stable
140140
fi
141141

142-
tries=3
143-
while [ ! -z "$PACKAGES" ] && [ "$tries" -gt "0" ]; do
142+
if [ "x" != "x$PACKAGES" ]; then
144143
case "$PACKAGER" in
145144
apt)
146145
sudo apt update -qq
147-
if sudo apt install -qy $PACKAGES; then
148-
PACKAGES=""
149-
fi
146+
sudo apt install -qy $PACKAGES
150147
;;
151148
setup)
152-
if /cygdrive/c/setup.exe -q -P `echo "$PACKAGES" | tr ' ' ,`; then
153-
PACKAGES=""
154-
fi
149+
/cygdrive/c/setup.exe -q -P `echo "$PACKAGES" | tr ' ' ,`
155150
;;
156151
esac
157-
if [ ! -z "$PACKAGES" ]; then
158-
sleep 90
159-
fi
160-
tries=$(($tries - 1))
161-
done
162-
if [ ! -z "$PACKAGES" ]; then
163-
echo "Package installation failed."
164-
exit 1
165152
fi
166153

167154
if [ "${INSTALL_HARDENED_MALLOC}" = "yes" ]; then

.github/workflows/c-cpp.yml

Lines changed: 79 additions & 79 deletions
Original file line numberDiff line numberDiff line change
@@ -1,118 +1,118 @@
11
name: C/C++ CI
22

33
on:
4-
workflow_dispatch:
5-
4+
push:
5+
branches: [ master, ci, V_9_0 ]
6+
paths: [ '**.c', '**.h', '**.m4', '**.sh', '.github/**', 'Makefile.in', 'configure.ac' ]
7+
pull_request:
8+
branches: [ master ]
9+
paths: [ '**.c', '**.h', '**.m4', '**.sh', '.github/**', 'Makefile.in', 'configure.ac' ]
10+
611
jobs:
712
ci:
813
if: github.repository != 'openssh/openssh-portable-selfhosted'
914
strategy:
1015
fail-fast: false
1116
matrix:
1217
# First we test all OSes in the default configuration.
13-
target: [ubuntu-20.04, ubuntu-22.04, macos-11, macos-12, windows-2019, windows-2022]
14-
config: [default]
18+
os: [ubuntu-20.04, ubuntu-22.04, macos-11, macos-12, windows-2019, windows-2022]
19+
configs: [default]
1520
# Then we include any extra configs we want to test for specific VMs.
1621
# Valgrind slows things down quite a bit, so start them first.
1722
include:
18-
- { target: windows-2019, config: cygwin-release }
19-
- { target: windows-2022, config: cygwin-release }
20-
- { target: ubuntu-20.04, config: valgrind-1 }
21-
- { target: ubuntu-20.04, config: valgrind-2 }
22-
- { target: ubuntu-20.04, config: valgrind-3 }
23-
- { target: ubuntu-20.04, config: valgrind-4 }
24-
- { target: ubuntu-20.04, config: valgrind-5 }
25-
- { target: ubuntu-20.04, config: valgrind-unit }
26-
- { target: ubuntu-20.04, config: c89 }
27-
- { target: ubuntu-20.04, config: clang-6.0 }
28-
- { target: ubuntu-20.04, config: clang-8 }
29-
- { target: ubuntu-20.04, config: clang-9 }
30-
- { target: ubuntu-20.04, config: clang-10 }
31-
- { target: ubuntu-20.04, config: clang-11 }
32-
- { target: ubuntu-20.04, config: clang-12-Werror }
33-
- { target: ubuntu-20.04, config: clang-sanitize-address }
34-
- { target: ubuntu-20.04, config: clang-sanitize-undefined }
35-
- { target: ubuntu-20.04, config: gcc-sanitize-address }
36-
- { target: ubuntu-20.04, config: gcc-sanitize-undefined }
37-
- { target: ubuntu-20.04, config: gcc-7 }
38-
- { target: ubuntu-20.04, config: gcc-8 }
39-
- { target: ubuntu-20.04, config: gcc-10 }
40-
- { target: ubuntu-20.04, config: gcc-11-Werror }
41-
- { target: ubuntu-20.04, config: pam }
42-
- { target: ubuntu-20.04, config: kitchensink }
43-
- { target: ubuntu-20.04, config: hardenedmalloc }
44-
- { target: ubuntu-20.04, config: tcmalloc }
45-
- { target: ubuntu-20.04, config: musl }
46-
- { target: ubuntu-latest, config: libressl-master }
47-
- { target: ubuntu-latest, config: libressl-2.2.9 }
48-
- { target: ubuntu-latest, config: libressl-2.8.3 }
49-
- { target: ubuntu-latest, config: libressl-3.0.2 }
50-
- { target: ubuntu-latest, config: libressl-3.2.6 }
51-
- { target: ubuntu-latest, config: libressl-3.3.6 }
52-
- { target: ubuntu-latest, config: libressl-3.4.3 }
53-
- { target: ubuntu-latest, config: libressl-3.5.3 }
54-
- { target: ubuntu-latest, config: libressl-3.6.1 }
55-
- { target: ubuntu-latest, config: libressl-3.7.0 }
56-
- { target: ubuntu-latest, config: openssl-master }
57-
- { target: ubuntu-latest, config: openssl-noec }
58-
- { target: ubuntu-latest, config: openssl-1.0.1 }
59-
- { target: ubuntu-latest, config: openssl-1.0.1u }
60-
- { target: ubuntu-latest, config: openssl-1.0.2u }
61-
- { target: ubuntu-latest, config: openssl-1.1.0h }
62-
- { target: ubuntu-latest, config: openssl-1.1.1 }
63-
- { target: ubuntu-latest, config: openssl-1.1.1k }
64-
- { target: ubuntu-latest, config: openssl-1.1.1n }
65-
- { target: ubuntu-latest, config: openssl-1.1.1q }
66-
- { target: ubuntu-latest, config: openssl-1.1.1s }
67-
- { target: ubuntu-latest, config: openssl-3.0.0 }
68-
- { target: ubuntu-latest, config: openssl-3.0.5 }
69-
- { target: ubuntu-latest, config: openssl-3.0.7 }
70-
- { target: ubuntu-latest, config: openssl-1.1.1_stable }
71-
- { target: ubuntu-latest, config: openssl-3.0 } # stable branch
72-
- { target: ubuntu-22.04, config: pam }
73-
- { target: ubuntu-22.04, config: krb5 }
74-
- { target: ubuntu-22.04, config: heimdal }
75-
- { target: ubuntu-22.04, config: libedit }
76-
- { target: ubuntu-22.04, config: sk }
77-
- { target: ubuntu-22.04, config: selinux }
78-
- { target: ubuntu-22.04, config: kitchensink }
79-
- { target: ubuntu-22.04, config: without-openssl }
80-
- { target: macos-11, config: pam }
81-
- { target: macos-12, config: pam }
82-
runs-on: ${{ matrix.target }}
23+
- { os: windows-2019, configs: cygwin-release }
24+
- { os: windows-2022, configs: cygwin-release }
25+
- { os: ubuntu-20.04, configs: valgrind-1 }
26+
- { os: ubuntu-20.04, configs: valgrind-2 }
27+
- { os: ubuntu-20.04, configs: valgrind-3 }
28+
- { os: ubuntu-20.04, configs: valgrind-4 }
29+
- { os: ubuntu-20.04, configs: valgrind-unit }
30+
- { os: ubuntu-20.04, configs: c89 }
31+
- { os: ubuntu-20.04, configs: clang-6.0 }
32+
- { os: ubuntu-20.04, configs: clang-8 }
33+
- { os: ubuntu-20.04, configs: clang-9 }
34+
- { os: ubuntu-20.04, configs: clang-10 }
35+
- { os: ubuntu-20.04, configs: clang-11 }
36+
- { os: ubuntu-20.04, configs: clang-12-Werror }
37+
- { os: ubuntu-20.04, configs: clang-sanitize-address }
38+
- { os: ubuntu-20.04, configs: clang-sanitize-undefined }
39+
- { os: ubuntu-20.04, configs: gcc-sanitize-address }
40+
- { os: ubuntu-20.04, configs: gcc-sanitize-undefined }
41+
- { os: ubuntu-20.04, configs: gcc-7 }
42+
- { os: ubuntu-20.04, configs: gcc-8 }
43+
- { os: ubuntu-20.04, configs: gcc-10 }
44+
- { os: ubuntu-20.04, configs: gcc-11-Werror }
45+
- { os: ubuntu-20.04, configs: pam }
46+
- { os: ubuntu-20.04, configs: kitchensink }
47+
- { os: ubuntu-20.04, configs: hardenedmalloc }
48+
- { os: ubuntu-20.04, configs: tcmalloc }
49+
- { os: ubuntu-20.04, configs: musl }
50+
- { os: ubuntu-latest, configs: libressl-master }
51+
- { os: ubuntu-latest, configs: libressl-2.2.9 }
52+
- { os: ubuntu-latest, configs: libressl-2.8.3 }
53+
- { os: ubuntu-latest, configs: libressl-3.0.2 }
54+
- { os: ubuntu-latest, configs: libressl-3.2.6 }
55+
- { os: ubuntu-latest, configs: libressl-3.3.6 }
56+
- { os: ubuntu-latest, configs: libressl-3.4.3 }
57+
- { os: ubuntu-latest, configs: libressl-3.5.3 }
58+
- { os: ubuntu-latest, configs: openssl-master }
59+
- { os: ubuntu-latest, configs: openssl-noec }
60+
- { os: ubuntu-latest, configs: openssl-1.0.1 }
61+
- { os: ubuntu-latest, configs: openssl-1.0.1u }
62+
- { os: ubuntu-latest, configs: openssl-1.0.2u }
63+
- { os: ubuntu-latest, configs: openssl-1.1.0h }
64+
- { os: ubuntu-latest, configs: openssl-1.1.1 }
65+
- { os: ubuntu-latest, configs: openssl-1.1.1k }
66+
- { os: ubuntu-latest, configs: openssl-1.1.1n }
67+
- { os: ubuntu-latest, configs: openssl-1.1.1p }
68+
- { os: ubuntu-latest, configs: openssl-3.0.0 }
69+
- { os: ubuntu-latest, configs: openssl-3.0.5 }
70+
- { os: ubuntu-latest, configs: openssl-1.1.1_stable } # stable branch
71+
- { os: ubuntu-latest, configs: openssl-3.0 } # stable branch
72+
- { os: ubuntu-22.04, configs: pam }
73+
- { os: ubuntu-22.04, configs: krb5 }
74+
- { os: ubuntu-22.04, configs: heimdal }
75+
- { os: ubuntu-22.04, configs: libedit }
76+
- { os: ubuntu-22.04, configs: sk }
77+
- { os: ubuntu-22.04, configs: selinux }
78+
- { os: ubuntu-22.04, configs: kitchensink }
79+
- { os: ubuntu-22.04, configs: without-openssl }
80+
- { os: macos-11, configs: pam }
81+
- { os: macos-12, configs: pam }
82+
runs-on: ${{ matrix.os }}
8383
steps:
8484
- name: set cygwin git params
85-
if: ${{ startsWith(matrix.target, 'windows') }}
85+
if: ${{ startsWith(matrix.os, 'windows') }}
8686
run: git config --global core.autocrlf input
8787
- name: install cygwin
88-
if: ${{ startsWith(matrix.target, 'windows') }}
88+
if: ${{ startsWith(matrix.os, 'windows') }}
8989
uses: cygwin/cygwin-install-action@master
90-
- uses: actions/checkout@main
90+
- uses: actions/checkout@v2
9191
- name: setup CI system
92-
run: sh ./.github/setup_ci.sh ${{ matrix.config }}
92+
run: sh ./.github/setup_ci.sh ${{ matrix.configs }}
9393
- name: autoreconf
9494
run: sh -c autoreconf
9595
- name: configure
96-
run: sh ./.github/configure.sh ${{ matrix.config }}
96+
run: sh ./.github/configure.sh ${{ matrix.configs }}
9797
- name: save config
98-
uses: actions/upload-artifact@main
98+
uses: actions/upload-artifact@v2
9999
with:
100-
name: ${{ matrix.target }}-${{ matrix.config }}-config
100+
name: ${{ matrix.os }}-${{ matrix.configs }}-config
101101
path: config.h
102102
- name: make clean
103103
run: make clean
104104
- name: make
105105
run: make -j2
106106
- name: make tests
107-
run: sh ./.github/run_test.sh ${{ matrix.config }}
107+
run: sh ./.github/run_test.sh ${{ matrix.configs }}
108108
env:
109109
TEST_SSH_UNSAFE_PERMISSIONS: 1
110110
TEST_SSH_HOSTBASED_AUTH: yes
111111
- name: save logs
112112
if: failure()
113-
uses: actions/upload-artifact@main
113+
uses: actions/upload-artifact@v2
114114
with:
115-
name: ${{ matrix.target }}-${{ matrix.config }}-logs
115+
name: ${{ matrix.os }}-${{ matrix.configs }}-logs
116116
path: |
117117
config.h
118118
config.log

.github/workflows/cifuzz.yml

Lines changed: 0 additions & 29 deletions
This file was deleted.

0 commit comments

Comments
 (0)