Skip to content

Commit 27ae664

Browse files
committed
Revert "Merge 9.1 (#626)"
This reverts commit 316ebdc.
1 parent 61207e3 commit 27ae664

File tree

151 files changed

+2453
-4568
lines changed

Some content is hidden

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

151 files changed

+2453
-4568
lines changed

.depend

Lines changed: 3 additions & 4 deletions
Large diffs are not rendered by default.

.git_allowed_signers

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

.git_allowed_signers.asc

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

.github/configs

Lines changed: 10 additions & 86 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,6 @@
1010

1111
config=$1
1212

13-
unset CC CFLAGS CPPFLAGS LDFLAGS LTESTS SUDO
14-
1513
TEST_TARGET="tests"
1614
LTESTS=""
1715
SKIP_LTESTS=""
@@ -34,72 +32,19 @@ case "$config" in
3432
TEST_TARGET=t-exec
3533
;;
3634
cygwin-release)
37-
# See https://cygwin.com/git/?p=git/cygwin-packages/openssh.git;a=blob;f=openssh.cygport;hb=HEAD
38-
CONFIGFLAGS="--with-xauth=/usr/bin/xauth --with-security-key-builtin"
39-
CONFIGFLAGS="$CONFIGFLAGS --with-kerberos5=/usr --with-libedit --disable-strip"
35+
CONFIGFLAGS="--with-libedit --with-xauth=/usr/bin/xauth --disable-strip --with-security-key-builtin"
4036
;;
4137
clang-12-Werror)
4238
CC="clang-12"
4339
# clang's implicit-fallthrough requires that the code be annotated with
4440
# __attribute__((fallthrough)) and does not understand /* FALLTHROUGH */
45-
CFLAGS="-Wall -Wextra -O2 -Wno-error=implicit-fallthrough -Wno-error=unused-parameter"
41+
CFLAGS="-Wall -Wextra -O2 -Wno-error=implicit-fallthrough"
4642
CONFIGFLAGS="--with-pam --with-Werror"
4743
;;
48-
*-sanitize-*)
49-
case "$config" in
50-
gcc-*)
51-
CC=gcc
52-
;;
53-
clang-*)
54-
# Find the newest available version of clang
55-
for i in `seq 10 99`; do
56-
clang="`which clang-$i 2>/dev/null`"
57-
[ -x "$clang" ] && CC="$clang"
58-
done
59-
;;
60-
esac
61-
# Put Sanitizer logs in regress dir.
62-
SANLOGS=`pwd`/regress
63-
# - We replace chroot with chdir so that the sanitizer in the preauth
64-
# privsep process can read /proc.
65-
# - clang does not recognizes explicit_bzero so we use bzero
66-
# (see https://github.com/google/sanitizers/issues/1507
67-
# - openssl and zlib trip ASAN.
68-
# - sp_pwdp returned by getspnam trips ASAN, hence disabling shadow.
69-
case "$config" in
70-
*-sanitize-address)
71-
CFLAGS="-fsanitize=address -fno-omit-frame-pointer"
72-
LDFLAGS="-fsanitize=address"
73-
CPPFLAGS='-Dchroot=chdir -Dexplicit_bzero=bzero -D_FORTIFY_SOURCE=0 -DASAN_OPTIONS=\"detect_leaks=0:log_path='$SANLOGS'/asan.log\"'
74-
CONFIGFLAGS=""
75-
TEST_TARGET="t-exec"
76-
;;
77-
clang-sanitize-memory)
78-
CFLAGS="-fsanitize=memory -fsanitize-memory-track-origins -fno-omit-frame-pointer"
79-
LDFLAGS="-fsanitize=memory"
80-
CPPFLAGS='-Dchroot=chdir -Dexplicit_bzero=bzero -DMSAN_OPTIONS=\"log_path='$SANLOGS'/msan.log\"'
81-
CONFIGFLAGS="--without-openssl --without-zlib --without-shadow"
82-
TEST_TARGET="t-exec"
83-
;;
84-
*-sanitize-undefined)
85-
CFLAGS="-fsanitize=undefined"
86-
LDFLAGS="-fsanitize=undefined"
87-
;;
88-
*)
89-
echo unknown sanitize option;
90-
exit 1;;
91-
esac
92-
features="--disable-security-key --disable-pkcs11"
93-
hardening="--without-sandbox --without-hardening --without-stackprotect"
94-
privsep="--with-privsep-user=root"
95-
CONFIGFLAGS="$CONFIGFLAGS $features $hardening $privsep"
96-
# Because we hobble chroot we can't test it.
97-
SKIP_LTESTS=sftp-chroot
98-
;;
9944
gcc-11-Werror)
10045
CC="gcc"
10146
# -Wnoformat-truncation in gcc 7.3.1 20180130 fails on fmt_scaled
102-
CFLAGS="-Wall -Wextra -O2 -Wno-format-truncation -Wimplicit-fallthrough=4 -Wno-unused-parameter"
47+
CFLAGS="-Wall -Wextra -Wno-format-truncation -O2 -Wimplicit-fallthrough=4"
10348
CONFIGFLAGS="--with-pam --with-Werror"
10449
;;
10550
clang*|gcc*)
@@ -162,15 +107,14 @@ case "$config" in
162107
# Valgrind slows things down enough that the agent timeout test
163108
# won't reliably pass, and the unit tests run longer than allowed
164109
# by github so split into three separate tests.
165-
tests2="rekey integrity try-ciphers"
166-
tests3="krl forward-control sshsig agent-restrict kextype sftp"
110+
tests2="rekey integrity try-ciphers sftp"
111+
tests3="krl forward-control sshsig agent-restrict kextype"
167112
tests4="cert-userkey cert-hostkey kextype sftp-perm keygen-comment percent"
168113
case "$config" in
169114
valgrind-1)
170115
# All tests except agent-timeout (which is flaky under valgrind)
171-
# and hostbased (since valgrind won't let ssh exec keysign).
172-
# Slow ones are run separately to increase parallelism.
173-
SKIP_LTESTS="agent-timeout hostbased ${tests2} ${tests3} ${tests4}"
116+
#) and slow ones that run separately to increase parallelism.
117+
SKIP_LTESTS="agent-timeout ${tests2} ${tests3} ${tests4}"
174118
;;
175119
valgrind-2)
176120
LTESTS="${tests2}"
@@ -201,23 +145,10 @@ case "$config" in
201145
esac
202146

203147
case "${TARGET_HOST}" in
204-
aix*)
205-
# These are slow real or virtual machines so skip the slowest tests
206-
# (which tend to be thw ones that transfer lots of data) so that the
207-
# test run does not time out.
208-
# The agent-restrict test fails due to some quoting issue when run
209-
# with sh or ksh so specify bash for now.
210-
TEST_TARGET="t-exec TEST_SHELL=bash"
211-
SKIP_LTESTS="rekey sftp"
212-
;;
213148
dfly58*|dfly60*)
214149
# scp 3-way connection hangs on these so skip until sorted.
215150
SKIP_LTESTS=scp3
216151
;;
217-
fbsd6)
218-
# Native linker is not great with PIC so OpenSSL is built w/out.
219-
CONFIGFLAGS="${CONFIGFLAGS} --disable-security-key"
220-
;;
221152
hurd)
222153
SKIP_LTESTS="forwarding multiplex proxy-connect hostkey-agent agent-ptrace"
223154
;;
@@ -242,10 +173,6 @@ case "${TARGET_HOST}" in
242173
# SHA256 functions in sha2.h conflict with OpenSSL's breaking sk-dummy
243174
CONFIGFLAGS="${CONFIGFLAGS} --without-hardening --disable-security-key"
244175
;;
245-
openwrt-*)
246-
CONFIGFLAGS="${CONFIGFLAGS} --without-openssl --without-zlib"
247-
TEST_TARGET="t-exec"
248-
;;
249176
sol10|sol11)
250177
# sol10 VM is 32bit and the unit tests are slow.
251178
# sol11 has 4 test configs so skip unit tests to speed up.
@@ -257,13 +184,10 @@ case "${TARGET_HOST}" in
257184
;;
258185
esac
259186

187+
# Unless specified otherwise, build without OpenSSL on Mac OS since
188+
# modern versions don't ship with libcrypto.
260189
case "`./config.guess`" in
261-
*cygwin)
262-
SUDO=""
263-
;;
264190
*-darwin*)
265-
# Unless specified otherwise, build without OpenSSL on Mac OS since
266-
# modern versions don't ship with libcrypto.
267191
LIBCRYPTOFLAGS="--without-openssl"
268192
TEST_TARGET=t-exec
269193
;;
@@ -286,5 +210,5 @@ if [ -x "$(which plink 2>/dev/null)" ]; then
286210
export REGRESS_INTEROP_PUTTY
287211
fi
288212

289-
export CC CFLAGS CPPFLAGS LDFLAGS LTESTS SUDO
213+
export CC CFLAGS LTESTS SUDO
290214
export TEST_TARGET TEST_SSH_UNSAFE_PERMISSIONS TEST_SSH_FAIL_FATAL

.github/configure.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,4 +18,4 @@ if [ "x$LDFLAGS" != "x" ]; then
1818
fi
1919

2020
echo ./configure ${CONFIGFLAGS}
21-
./configure ${CONFIGFLAGS} 2>&1
21+
./configure ${CONFIGFLAGS}

.github/run_test.sh

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -6,20 +6,6 @@
66

77
set -ex
88

9-
# If we want to test hostbased auth, set up the host for it.
10-
if [ ! -z "$SUDO" ] && [ ! -z "$TEST_SSH_HOSTBASED_AUTH" ]; then
11-
sshconf=/usr/local/etc
12-
hostname | $SUDO tee $sshconf/shosts.equiv >/dev/null
13-
echo "EnableSSHKeysign yes" | $SUDO tee $sshconf/ssh_config >/dev/null
14-
$SUDO mkdir -p $sshconf
15-
$SUDO cp -p /etc/ssh/ssh_host*key* $sshconf
16-
$SUDO make install
17-
for key in $sshconf/ssh_host*key*.pub; do
18-
echo `hostname` `cat $key` | \
19-
$SUDO tee -a $sshconf/ssh_known_hosts >/dev/null
20-
done
21-
fi
22-
239
output_failed_logs() {
2410
for i in regress/failed*; do
2511
if [ -f "$i" ]; then

.github/setup_ci.sh

Lines changed: 16 additions & 72 deletions
Original file line numberDiff line numberDiff line change
@@ -1,73 +1,42 @@
11
#!/bin/sh
22

3-
PACKAGES=""
4-
53
. .github/configs $@
64

75
case "`./config.guess`" in
8-
*cygwin)
9-
PACKAGER=setup
10-
echo Setting CYGWIN sustem environment variable.
11-
setx CYGWIN "binmode"
12-
chmod -R go-rw /cygdrive/d/a
13-
umask 077
14-
PACKAGES="$PACKAGES,autoconf,automake,cygwin-devel,gcc-core"
15-
PACKAGES="$PACKAGES,make,openssl-devel,zlib-devel"
16-
;;
176
*-darwin*)
18-
PACKAGER=brew
197
brew install automake
208
exit 0
219
;;
22-
*)
23-
PACKAGER=apt
2410
esac
2511

2612
TARGETS=$@
2713

14+
PACKAGES=""
2815
INSTALL_FIDO_PPA="no"
2916
export DEBIAN_FRONTEND=noninteractive
3017

3118
#echo "Setting up for '$TARGETS'"
3219

3320
set -ex
3421

35-
if [ -x "`which lsb_release 2>&1`" ]; then
36-
lsb_release -a
37-
fi
38-
39-
# Ubuntu 22.04 defaults to private home dirs which prevent the
40-
# agent-getpeerid test from running ssh-add as nobody. See
41-
# https://github.com/actions/runner-images/issues/6106
42-
if [ ! -z "$SUDO" ] && ! "$SUDO" -u nobody test -x ~; then
43-
echo ~ is not executable by nobody, adding perms.
44-
chmod go+x ~
45-
fi
22+
lsb_release -a
4623

4724
if [ "${TARGETS}" = "kitchensink" ]; then
4825
TARGETS="krb5 libedit pam sk selinux"
4926
fi
5027

5128
for flag in $CONFIGFLAGS; do
5229
case "$flag" in
53-
--with-pam) TARGETS="${TARGETS} pam" ;;
54-
--with-libedit) TARGETS="${TARGETS} libedit" ;;
30+
--with-pam) PACKAGES="${PACKAGES} libpam0g-dev" ;;
31+
--with-libedit) PACKAGES="${PACKAGES} libedit-dev" ;;
5532
esac
5633
done
5734

5835
for TARGET in $TARGETS; do
5936
case $TARGET in
60-
default|without-openssl|without-zlib|c89)
37+
default|without-openssl|without-zlib|c89|libedit|*pam)
6138
# nothing to do
6239
;;
63-
clang-sanitize*)
64-
PACKAGES="$PACKAGES clang-12"
65-
;;
66-
cygwin-release)
67-
PACKAGES="$PACKAGES libcrypt-devel libfido2-devel libkrb5-devel"
68-
;;
69-
gcc-sanitize*)
70-
;;
7140
clang-*|gcc-*)
7241
compiler=$(echo $TARGET | sed 's/-Werror//')
7342
PACKAGES="$PACKAGES $compiler"
@@ -78,15 +47,6 @@ for TARGET in $TARGETS; do
7847
heimdal)
7948
PACKAGES="$PACKAGES heimdal-dev"
8049
;;
81-
libedit)
82-
case "$PACKAGER" in
83-
setup) PACKAGES="$PACKAGES libedit-devel" ;;
84-
apt) PACKAGES="$PACKAGES libedit-dev" ;;
85-
esac
86-
;;
87-
*pam)
88-
PACKAGES="$PACKAGES libpam0g-dev"
89-
;;
9050
sk)
9151
INSTALL_FIDO_PPA="yes"
9252
PACKAGES="$PACKAGES libfido2-dev libu2f-host-dev libcbor-dev"
@@ -120,7 +80,7 @@ for TARGET in $TARGETS; do
12080
INSTALL_LIBRESSL=$(echo ${TARGET} | cut -f2 -d-)
12181
case ${INSTALL_LIBRESSL} in
12282
master) ;;
123-
*) INSTALL_LIBRESSL="$(echo ${TARGET} | cut -f2 -d-)" ;;
83+
*) INSTALL_LIBRESSL="v$(echo ${TARGET} | cut -f2 -d-)" ;;
12484
esac
12585
PACKAGES="${PACKAGES} putty-tools"
12686
;;
@@ -139,16 +99,9 @@ if [ "yes" = "$INSTALL_FIDO_PPA" ]; then
13999
sudo apt-add-repository -y ppa:yubico/stable
140100
fi
141101

142-
if [ "x" != "x$PACKAGES" ]; then
143-
case "$PACKAGER" in
144-
apt)
145-
sudo apt update -qq
146-
sudo apt install -qy $PACKAGES
147-
;;
148-
setup)
149-
/cygdrive/c/setup.exe -q -P `echo "$PACKAGES" | tr ' ' ,`
150-
;;
151-
esac
102+
if [ "x" != "x$PACKAGES" ]; then
103+
sudo apt update -qq
104+
sudo apt install -qy $PACKAGES
152105
fi
153106

154107
if [ "${INSTALL_HARDENED_MALLOC}" = "yes" ]; then
@@ -169,20 +122,11 @@ if [ ! -z "${INSTALL_OPENSSL}" ]; then
169122
fi
170123

171124
if [ ! -z "${INSTALL_LIBRESSL}" ]; then
172-
if [ "${INSTALL_LIBRESSL}" = "master" ]; then
173-
(mkdir -p ${HOME}/libressl && cd ${HOME}/libressl &&
174-
git clone https://github.com/libressl-portable/portable.git &&
175-
cd ${HOME}/libressl/portable &&
176-
git checkout ${INSTALL_LIBRESSL} &&
177-
sh update.sh && sh autogen.sh &&
178-
./configure --prefix=/opt/libressl &&
179-
make -j2 && sudo make install)
180-
else
181-
LIBRESSL_URLBASE=https://cdn.openbsd.org/pub/OpenBSD/LibreSSL
182-
(cd ${HOME} &&
183-
wget ${LIBRESSL_URLBASE}/libressl-${INSTALL_LIBRESSL}.tar.gz &&
184-
tar xfz libressl-${INSTALL_LIBRESSL}.tar.gz &&
185-
cd libressl-${INSTALL_LIBRESSL} &&
186-
./configure --prefix=/opt/libressl && make -j2 && sudo make install)
187-
fi
125+
(mkdir -p ${HOME}/libressl && cd ${HOME}/libressl &&
126+
git clone https://github.com/libressl-portable/portable.git &&
127+
cd ${HOME}/libressl/portable &&
128+
git checkout ${INSTALL_LIBRESSL} &&
129+
sh update.sh && sh autogen.sh &&
130+
./configure --prefix=/opt/libressl &&
131+
make -j2 && sudo make install)
188132
fi

0 commit comments

Comments
 (0)