10
10
11
11
config=$1
12
12
13
- unset CC CFLAGS CPPFLAGS LDFLAGS LTESTS SUDO
14
-
15
13
TEST_TARGET=" tests"
16
14
LTESTS=" "
17
15
SKIP_LTESTS=" "
@@ -34,72 +32,19 @@ case "$config" in
34
32
TEST_TARGET=t-exec
35
33
;;
36
34
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"
40
36
;;
41
37
clang-12-Werror)
42
38
CC=" clang-12"
43
39
# clang's implicit-fallthrough requires that the code be annotated with
44
40
# __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"
46
42
CONFIGFLAGS=" --with-pam --with-Werror"
47
43
;;
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
- ;;
99
44
gcc-11-Werror)
100
45
CC=" gcc"
101
46
# -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"
103
48
CONFIGFLAGS=" --with-pam --with-Werror"
104
49
;;
105
50
clang* |gcc* )
@@ -162,15 +107,14 @@ case "$config" in
162
107
# Valgrind slows things down enough that the agent timeout test
163
108
# won't reliably pass, and the unit tests run longer than allowed
164
109
# 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"
167
112
tests4=" cert-userkey cert-hostkey kextype sftp-perm keygen-comment percent"
168
113
case " $config " in
169
114
valgrind-1)
170
115
# 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} "
174
118
;;
175
119
valgrind-2)
176
120
LTESTS=" ${tests2} "
@@ -201,23 +145,10 @@ case "$config" in
201
145
esac
202
146
203
147
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
- ;;
213
148
dfly58* |dfly60* )
214
149
# scp 3-way connection hangs on these so skip until sorted.
215
150
SKIP_LTESTS=scp3
216
151
;;
217
- fbsd6)
218
- # Native linker is not great with PIC so OpenSSL is built w/out.
219
- CONFIGFLAGS=" ${CONFIGFLAGS} --disable-security-key"
220
- ;;
221
152
hurd)
222
153
SKIP_LTESTS=" forwarding multiplex proxy-connect hostkey-agent agent-ptrace"
223
154
;;
@@ -242,10 +173,6 @@ case "${TARGET_HOST}" in
242
173
# SHA256 functions in sha2.h conflict with OpenSSL's breaking sk-dummy
243
174
CONFIGFLAGS=" ${CONFIGFLAGS} --without-hardening --disable-security-key"
244
175
;;
245
- openwrt-* )
246
- CONFIGFLAGS=" ${CONFIGFLAGS} --without-openssl --without-zlib"
247
- TEST_TARGET=" t-exec"
248
- ;;
249
176
sol10|sol11)
250
177
# sol10 VM is 32bit and the unit tests are slow.
251
178
# sol11 has 4 test configs so skip unit tests to speed up.
@@ -257,13 +184,10 @@ case "${TARGET_HOST}" in
257
184
;;
258
185
esac
259
186
187
+ # Unless specified otherwise, build without OpenSSL on Mac OS since
188
+ # modern versions don't ship with libcrypto.
260
189
case " ` ./config.guess` " in
261
- * cygwin)
262
- SUDO=" "
263
- ;;
264
190
* -darwin* )
265
- # Unless specified otherwise, build without OpenSSL on Mac OS since
266
- # modern versions don't ship with libcrypto.
267
191
LIBCRYPTOFLAGS=" --without-openssl"
268
192
TEST_TARGET=t-exec
269
193
;;
@@ -286,5 +210,5 @@ if [ -x "$(which plink 2>/dev/null)" ]; then
286
210
export REGRESS_INTEROP_PUTTY
287
211
fi
288
212
289
- export CC CFLAGS CPPFLAGS LDFLAGS LTESTS SUDO
213
+ export CC CFLAGS LTESTS SUDO
290
214
export TEST_TARGET TEST_SSH_UNSAFE_PERMISSIONS TEST_SSH_FAIL_FATAL
0 commit comments