Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/pkg
Path: blob/main/external/curl/tests/ech_tests.sh
2065 views
1
#!/usr/bin/env bash
2
#***************************************************************************
3
# _ _ ____ _
4
# Project ___| | | | _ \| |
5
# / __| | | | |_) | |
6
# | (__| |_| | _ <| |___
7
# \___|\___/|_| \_\_____|
8
#
9
# Copyright (C) Daniel Stenberg, <[email protected]>, et al.
10
#
11
# This software is licensed as described in the file COPYING, which
12
# you should have received as part of this distribution. The terms
13
# are also available at https://curl.se/docs/copyright.html.
14
#
15
# You may opt to use, copy, modify, merge, publish, distribute and/or sell
16
# copies of the Software, and permit persons to whom the Software is
17
# furnished to do so, under the terms of the COPYING file.
18
#
19
# This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
20
# KIND, either express or implied.
21
#
22
# SPDX-License-Identifier: curl
23
#
24
###########################################################################
25
#
26
27
# Run some tests against servers we know to support ECH (CF, defo.ie, etc.).
28
# as well as some we know don't do ECH but have an HTTPS RR, and finally some
29
# for which neither is the case.
30
31
# TODO: Translate this into something that approximates a valid curl test:-)
32
# Should be useful though even before such translation and a pile less work
33
# to do this than that. The pile of work required would include making an
34
# ECH-enabled server and a DoH server. For now, this is just run manually.
35
#
36
37
# set -x
38
39
# Exit with an error if there's an active ech stanza in ~/.curlrc
40
# as that'd likely skew some results (e.g. turning a fail into a
41
# success or vice versa)
42
: "${CURL_CFG_FILE=$HOME/.curlrc}"
43
active_ech=$(grep ech "$CURL_CFG_FILE" | grep -v "#.*ech")
44
if [[ "$active_ech" != "" ]]
45
then
46
echo "You seem to have an active ECH setting in $CURL_CFG_FILE"
47
echo "That might affect results so please remove that or comment"
48
echo "it out - exiting."
49
exit 1
50
fi
51
52
53
# Targets we expect to be ECH-enabled servers
54
# for which an HTTPS RR is published.
55
# structure is host:port mapped to pathname
56
# TODO: add negative tests for these
57
declare -A ech_targets=(
58
[my-own.net]="ech-check.php"
59
[my-own.net:8443]="ech-check.php"
60
[defo.ie]="ech-check.php"
61
[cover.defo.ie]=""
62
[draft-13.esni.defo.ie:8413]="stats"
63
[draft-13.esni.defo.ie:8414]="stats"
64
[draft-13.esni.defo.ie:9413]=""
65
[draft-13.esni.defo.ie:10413]=""
66
[draft-13.esni.defo.ie:11413]=""
67
[draft-13.esni.defo.ie:12413]=""
68
[draft-13.esni.defo.ie:12414]=""
69
[cloudflare-ech.com]="cdn-cgi/trace"
70
[tls-ech.dev]=""
71
# this one's gone away for now (possibly temporarily)
72
# [epochbelt.com]=""
73
)
74
75
# Targets we expect not to be ECH-enabled servers
76
# but for which an HTTPS RR is published.
77
declare -A httpsrr_targets=(
78
[ietf.org]=""
79
[rte.ie]=""
80
)
81
82
# Targets we expect not to be ECH-enabled servers
83
# and for which no HTTPS RR is published.
84
declare -A neither_targets=(
85
[www.tcd.ie]=""
86
[jell.ie]=""
87
)
88
89
#
90
# Variables that can be over-ridden from environment
91
#
92
93
# Top of curl test tree, assume we're there
94
: "${CTOP:=.}"
95
96
# Place to put test log output
97
: "${LTOP:=$CTOP/tests/ech-log/}"
98
99
# Place to stash outputs when things go wrong
100
: "${BTOP:=$LTOP}"
101
102
# Time to wait for a remote access to work, 10 seconds
103
: "${tout:=10s}"
104
105
# Where we find OpenSSL .so's
106
: "${OSSL:=$HOME/code/openssl-local-inst}"
107
108
# Where we find wolfSSL .so's
109
: "${WSSL:=$HOME/code/wolfssl/inst/lib}"
110
111
# Where we find BoringSSL .so's
112
: "${BSSL:=$HOME/code/boringssl/inst/lib}"
113
114
# Where we send DoH queries when using kdig or curl
115
: "${DOHSERVER:=one.one.one.one}"
116
: "${DOHPATH:=dns-query}"
117
118
# Whether to send mail when bad things happen (mostly for cronjob)
119
: "${DOMAIL:=no}"
120
121
# Misc vars and functions
122
123
DEFPORT=443
124
125
function whenisitagain()
126
{
127
/bin/date -u +%Y%m%d-%H%M%S
128
}
129
130
function fileage()
131
{
132
echo $(($(date +%s) - $(date +%s -r "$1")))
133
}
134
135
function hostport2host()
136
{
137
case $1 in
138
*:*) host=${1%:*} port=${1##*:};;
139
*) host=$1 port=$DEFPORT;;
140
esac
141
echo "$host"
142
}
143
144
function hostport2port()
145
{
146
case $1 in
147
*:*) host=${1%:*} port=${1##*:};;
148
*) host=$1 port=$DEFPORT;;
149
esac
150
echo "$port"
151
}
152
153
function cli_test()
154
{
155
# 1st param is target URL
156
turl=$1
157
# 2nd param is 0 if we expect curl to not work or 1 if we expect it
158
# to have worked
159
curl_winorlose=$2
160
# 3rd param is 0 if we expect ECH to not work or 1 if we expect it
161
# to have worked
162
ech_winorlose=$3
163
# remaining params are passed to command line
164
# echparms=(${@:4})
165
IFS=" " read -r -a echparms <<< "${@:4}"
166
167
TMPF=$(mktemp)
168
cmd="timeout $tout $CURL ${CURL_PARAMS[*]} ${echparms[*]} $turl >$TMPF 2>&1"
169
echo "cli_test: $cmd " >> "$logfile"
170
timeout "$tout" "$CURL" "${CURL_PARAMS[@]}" "${echparms[@]}" "$turl" >"$TMPF" 2>&1
171
eres=$?
172
if [[ "$eres" == "124" ]]
173
then
174
allgood="no"
175
echo "cli_test: Timeout running $cmd"
176
cat "$TMPF" >> "$logfile"
177
echo "cli_test: Timeout running $cmd" >> "$logfile"
178
fi
179
if [[ "$eres" != "0" && "$curl_winorlose" == "1" ]]
180
then
181
allgood="no"
182
echo "cli_test: curl failure running $cmd"
183
cat "$TMPF" >> "$logfile"
184
echo "cli_test: curl failure running $cmd" >> "$logfile"
185
fi
186
ech_success=$(grep -c "ECH: result: status is succeeded" "$TMPF")
187
if [[ "$ech_success" == "$ech_winorlose" ]]
188
then
189
echo "cli_test ok for ${echparms[*]}"
190
else
191
allgood="no"
192
echo "cli_test: ECH failure running $cmd"
193
cat "$TMPF" >> "$logfile"
194
echo "cli_test: ECH failure running $cmd" >> "$logfile"
195
fi
196
rm -f "$TMPF"
197
}
198
199
function get_ech_configlist()
200
{
201
domain=$1
202
ecl=$(dig +short https "$domain" | grep "ech=" | sed -e 's/^.*ech=//' | sed -e 's/ .*//')
203
echo "$ecl"
204
}
205
206
# start of main script
207
208
# start by assuming we have nothing we need...
209
have_ossl="no"
210
have_wolf="no"
211
have_bssl="no"
212
using_ossl="no"
213
using_wolf="no"
214
using_bssl="no"
215
have_curl="no"
216
have_dig="no"
217
have_kdig="no"
218
have_presout="no"
219
have_portsblocked="no"
220
221
# setup logging
222
NOW=$(whenisitagain)
223
BINNAME=$(basename "$0" .sh)
224
if [ ! -d "$LTOP" ]
225
then
226
mkdir -p "$LTOP"
227
fi
228
if [ ! -d "$LTOP" ]
229
then
230
echo "Can't see $LTOP for logs - exiting"
231
exit 1
232
fi
233
logfile=$LTOP/${BINNAME}_$NOW.log
234
235
echo "-----" > "$logfile"
236
echo "Running $0 at $NOW" >> "$logfile"
237
echo "Running $0 at $NOW"
238
239
# check we have the binaries needed and which TLS library we'll be using
240
if [ -f "$OSSL"/libssl.so ]
241
then
242
have_ossl="yes"
243
fi
244
if [ -f "$WSSL"/libwolfssl.so ]
245
then
246
have_wolf="yes"
247
fi
248
if [ -f "$BSSL"/libssl.so ]
249
then
250
have_bssl="yes"
251
fi
252
CURL="$CTOP/src/curl"
253
CURL_PARAMS=(-vvv --doh-url https://one.one.one.one/dns-query)
254
if [ -f "$CTOP"/src/curl ]
255
then
256
have_curl="yes"
257
fi
258
ossl_cnt=$(LD_LIBRARY_PATH=$OSSL $CURL "${CURL_PARAMS[@]}" -V 2> /dev/null | grep -c OpenSSL)
259
if ((ossl_cnt == 1))
260
then
261
using_ossl="yes"
262
# setup access to our .so
263
export LD_LIBRARY_PATH=$OSSL
264
fi
265
bssl_cnt=$(LD_LIBRARY_PATH=$BSSL $CURL "${CURL_PARAMS[@]}" -V 2> /dev/null | grep -c BoringSSL)
266
if ((bssl_cnt == 1))
267
then
268
using_bssl="yes"
269
# setup access to our .so
270
export LD_LIBRARY_PATH=$BSSL
271
fi
272
wolf_cnt=$($CURL "${CURL_PARAMS[@]}" -V 2> /dev/null | grep -c wolfSSL)
273
if ((wolf_cnt == 1))
274
then
275
using_wolf="yes"
276
# for some reason curl+wolfSSL dislikes certs that are ok
277
# for browsers, so we'll test using "insecure" mode (-k)
278
# but that's ok here as we're only interested in ECH testing
279
CURL_PARAMS+=(-k)
280
fi
281
# check if we have dig and it knows https or not
282
digcmd="dig +short"
283
wdig=$(type -p dig)
284
if [[ "$wdig" != "" ]]
285
then
286
have_dig="yes"
287
fi
288
wkdig=$(type -p kdig)
289
if [[ "$wkdig" != "" ]]
290
then
291
have_kdig="yes"
292
digcmd="kdig @$DOHSERVER +https +short"
293
fi
294
# see if our dig version knows HTTPS
295
dout=$($digcmd https defo.ie)
296
if [[ $dout != "1 . "* ]]
297
then
298
dout=$($digcmd -t TYPE65 defo.ie)
299
if [[ $dout == "1 . "* ]]
300
then
301
# we're good
302
have_presout="yes"
303
fi
304
else
305
have_presout="yes"
306
fi
307
308
# Check if ports other than 443 are blocked from this
309
# vantage point (I run tests in a n/w where that's
310
# sadly true sometimes;-)
311
# echo "Checking if ports other than 443 are maybe blocked"
312
not443testurl="https://draft-13.esni.defo.ie:9413/"
313
timeout "$tout" "$CURL" "${CURL_PARAMS[@]}" "$not443testurl" >/dev/null 2>&1
314
eres=$?
315
if [[ "$eres" == "124" ]]
316
then
317
echo "Timeout running curl for $not443testurl" >> "$logfile"
318
echo "Timeout running curl for $not443testurl"
319
have_portsblocked="yes"
320
fi
321
322
{
323
echo "have_ossl: $have_ossl"
324
echo "have_wolf: $have_wolf"
325
echo "have_bssl: $have_bssl"
326
echo "using_ossl: $using_ossl"
327
echo "using_wolf: $using_wolf"
328
echo "using_bssl: $using_bssl"
329
echo "have_curl: $have_curl"
330
echo "have_dig: $have_dig"
331
echo "have_kdig: $have_kdig"
332
echo "have_presout: $have_presout"
333
echo "have_portsblocked: $have_portsblocked"
334
} >> "$logfile"
335
336
echo "curl: have $have_curl, cURL command: |$CURL ${CURL_PARAMS[*]}|"
337
echo "ossl: have: $have_ossl, using: $using_ossl"
338
echo "wolf: have: $have_wolf, using: $using_wolf"
339
echo "bssl: have: $have_bssl, using: $using_bssl"
340
echo "dig: $have_dig, kdig: $have_kdig, HTTPS pres format: $have_presout"
341
echo "dig command: |$digcmd|"
342
echo "ports != 443 blocked: $have_portsblocked"
343
344
if [[ "$have_curl" == "no" ]]
345
then
346
echo "Can't proceed without curl - exiting"
347
exit 32
348
fi
349
350
allgood="yes"
351
352
skip="false"
353
354
if [[ "$skip" != "true" ]]
355
then
356
357
# basic ECH good/bad
358
for targ in "${!ech_targets[@]}"
359
do
360
if [[ "$using_wolf" == "yes" ]]
361
then
362
case $targ in
363
"draft-13.esni.defo.ie:8414" | "tls-ech.dev" | \
364
"cloudflare-ech.com" | "epochbelt.com")
365
echo "Skipping $targ 'cause wolf"; continue;;
366
*)
367
;;
368
esac
369
fi
370
host=$(hostport2host "$targ")
371
port=$(hostport2port "$targ")
372
if [[ "$port" != "443" && "$have_portsblocked" == "yes" ]]
373
then
374
echo "Skipping $targ as ports != 443 seem blocked"
375
continue
376
fi
377
path=${ech_targets[$targ]}
378
turl="https://$host:$port/$path"
379
echo "ECH check for $turl"
380
{
381
echo ""
382
echo "ECH check for $turl"
383
} >> "$logfile"
384
timeout "$tout" "$CURL" "${CURL_PARAMS[@]}" --ech hard "$turl" >> "$logfile" 2>&1
385
eres=$?
386
if [[ "$eres" == "124" ]]
387
then
388
allgood="no"
389
{
390
echo "Timeout for $turl"
391
echo -e "\tTimeout for $turl"
392
echo "Timeout running curl for $host:$port/$path"
393
} >> "$logfile"
394
fi
395
if [[ "$eres" != "0" ]]
396
then
397
allgood="no"
398
echo "Error ($eres) for $turl" >> "$logfile"
399
echo -e "\tError ($eres) for $turl"
400
fi
401
echo "" >> "$logfile"
402
done
403
404
# check if public_name override works (OpenSSL only)
405
if [[ "$using_ossl" == "yes" ]]
406
then
407
for targ in "${!ech_targets[@]}"
408
do
409
host=$(hostport2host "$targ")
410
port=$(hostport2port "$targ")
411
if [[ "$port" != "443" && "$have_portsblocked" == "yes" ]]
412
then
413
echo "Skipping $targ as ports != 443 seem blocked"
414
continue
415
fi
416
if [[ "$host" == "cloudflare-ech.com" ]]
417
then
418
echo "Skipping $host as they've blocked PN override"
419
continue
420
fi
421
path=${ech_targets[$targ]}
422
turl="https://$host:$port/$path"
423
echo "PN override check for $turl"
424
{
425
echo ""
426
echo "PN override check for $turl"
427
} >> "$logfile"
428
timeout "$tout" "$CURL" "${CURL_PARAMS[@]}" --ech pn:override --ech hard "$turl" >> "$logfile" 2>&1
429
eres=$?
430
if [[ "$eres" == "124" ]]
431
then
432
allgood="no"
433
{
434
echo "Timeout for $turl"
435
echo -e "\tTimeout for $turl"
436
echo "Timeout running curl for $host:$port/$path"
437
} >> "$logfile"
438
fi
439
if [[ "$eres" != "0" ]]
440
then
441
allgood="no"
442
echo "PN override Error ($eres) for $turl" >> "$logfile"
443
echo -e "\tPN override Error ($eres) for $turl"
444
fi
445
echo "" >> "$logfile"
446
done
447
fi
448
449
for targ in "${!httpsrr_targets[@]}"
450
do
451
host=$(hostport2host "$targ")
452
port=$(hostport2port "$targ")
453
if [[ "$port" != "443" && "$have_portsblocked" == "yes" ]]
454
then
455
echo "Skipping $targ as ports != 443 seem blocked"
456
continue
457
fi
458
path=${httpsrr_targets[$targ]}
459
turl="https://$host:$port/$path"
460
echo "HTTPS RR but no ECHConfig check for $turl"
461
{
462
echo ""
463
echo "HTTPS RR but no ECHConfig check for $turl"
464
} >> "$logfile"
465
timeout "$tout" "$CURL" "${CURL_PARAMS[@]}" --ech true "$turl" >> "$logfile" 2>&1
466
eres=$?
467
if [[ "$eres" == "124" ]]
468
then
469
allgood="no"
470
{
471
echo "Timeout for $turl"
472
echo -e "\tTimeout for $turl"
473
echo "Timeout running curl for $host:$port/$path"
474
} >> "$logfile"
475
fi
476
if [[ "$eres" != "0" ]]
477
then
478
allgood="no"
479
echo "Error ($eres) for $turl" >> "$logfile"
480
echo -e "\tError ($eres) for $turl"
481
fi
482
echo "" >> "$logfile"
483
done
484
485
for targ in "${!neither_targets[@]}"
486
do
487
host=$(hostport2host "$targ")
488
port=$(hostport2port "$targ")
489
if [[ "$port" != "443" && "$have_portsblocked" == "yes" ]]
490
then
491
echo "Skipping $targ as ports != 443 seem blocked"
492
continue
493
fi
494
path=${neither_targets[$targ]}
495
turl="https://$host:$port/$path"
496
echo "Neither HTTPS nor ECHConfig check for $turl"
497
{
498
echo ""
499
echo "Neither HTTPS nor ECHConfig check for $turl"
500
} >> "$logfile"
501
timeout "$tout" "$CURL" "${CURL_PARAMS[@]}" --ech true "$turl" >> "$logfile" 2>&1
502
eres=$?
503
if [[ "$eres" == "124" ]]
504
then
505
allgood="no"
506
{
507
echo "Timeout for $turl"
508
echo -e "\tTimeout for $turl"
509
echo "Timeout running curl for $host:$port/$path"
510
} >> "$logfile"
511
fi
512
if [[ "$eres" != "0" ]]
513
then
514
allgood="no"
515
echo "Error ($eres) for $turl" >> "$logfile"
516
echo -e "\tError ($eres) for $turl"
517
fi
518
echo "" >> "$logfile"
519
done
520
521
522
# Check various command line options, if we're good so far
523
if [[ "$using_ossl" == "yes" && "$allgood" == "yes" ]]
524
then
525
# use this test URL as it'll tell us if things worked
526
turl="https://defo.ie/ech-check.php"
527
echo "cli_test with $turl"
528
echo "cli_test with $turl" >> "$logfile"
529
cli_test "$turl" 1 1 --ech true
530
cli_test "$turl" 1 0 --ech false
531
cli_test "$turl" 1 1 --ech false --ech true
532
cli_test "$turl" 1 1 --ech false --ech true --ech pn:foobar
533
cli_test "$turl" 1 1 --ech false --ech pn:foobar --ech true
534
echconfiglist=$(get_ech_configlist defo.ie)
535
cli_test "$turl" 1 1 --ech ecl:"$echconfiglist"
536
cli_test "$turl" 1 0 --ech ecl:
537
fi
538
539
fi # skip
540
541
# Check combinations of command line options, if we're good so far
542
# Most of this only works for OpenSSL, which is ok, as we're checking
543
# the argument handling here, not the ECH protocol
544
if [[ "$using_ossl" == "yes" && "$allgood" == "yes" ]]
545
then
546
# ech can be hard, true, grease or false
547
# ecl:ecl can be correct, incorrect or missing
548
# ech:pn can be correct, incorrect or missing
549
# in all cases the "last" argument provided should "win"
550
# but only one of hard, true, grease or false will apply
551
turl="https://defo.ie/ech-check.php"
552
echconfiglist=$(get_ech_configlist defo.ie)
553
goodecl=$echconfiglist
554
echconfiglist=$(get_ech_configlist hidden.hoba.ie)
555
badecl=$echconfiglist
556
goodpn="cover.defo.ie"
557
badpn="hoba.ie"
558
echo "more cli_test with $turl"
559
echo "more cli_test with $turl" >> "$logfile"
560
561
# The combinatorics here are handled via the tests/ech_combos.py script
562
# which produces all the relevant combinations or inputs and orders
563
# thereof. We have to manually assess whether or not ECH is expected to
564
# work for each case.
565
cli_test "$turl" 0 0
566
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
567
cli_test "$turl" 0 0 --ech ecl:"$badecl"
568
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
569
cli_test "$turl" 1 1 --ech ecl:"$badecl" --ech ecl:"$goodecl"
570
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
571
cli_test "$turl" 1 1 --ech ecl:"$badecl" --ech ecl:"$goodecl" --ech pn:"$goodpn"
572
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
573
cli_test "$turl" 0 0 --ech ecl:"$badecl" --ech hard
574
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
575
cli_test "$turl" 1 1 --ech ecl:"$badecl" --ech hard --ech ecl:"$goodecl"
576
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
577
cli_test "$turl" 1 1 --ech ecl:"$badecl" --ech hard --ech ecl:"$goodecl" --ech pn:"$goodpn"
578
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
579
cli_test "$turl" 0 0 --ech ecl:"$badecl" --ech hard --ech pn:"$goodpn"
580
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
581
cli_test "$turl" 0 0 --ech ecl:"$badecl" --ech hard --ech true
582
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
583
cli_test "$turl" 1 1 --ech ecl:"$badecl" --ech hard --ech true --ech ecl:"$goodecl"
584
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
585
cli_test "$turl" 1 1 --ech ecl:"$badecl" --ech hard --ech true --ech ecl:"$goodecl" --ech pn:"$goodpn"
586
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
587
cli_test "$turl" 0 0 --ech ecl:"$badecl" --ech hard --ech true --ech pn:"$goodpn"
588
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
589
cli_test "$turl" 0 0 --ech ecl:"$badecl" --ech pn:"$badpn"
590
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
591
cli_test "$turl" 1 1 --ech ecl:"$badecl" --ech pn:"$badpn" --ech ecl:"$goodecl"
592
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
593
cli_test "$turl" 1 1 --ech ecl:"$badecl" --ech pn:"$badpn" --ech ecl:"$goodecl" --ech pn:"$goodpn"
594
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
595
cli_test "$turl" 0 0 --ech ecl:"$badecl" --ech pn:"$badpn" --ech hard
596
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
597
cli_test "$turl" 1 1 --ech ecl:"$badecl" --ech pn:"$badpn" --ech hard --ech ecl:"$goodecl"
598
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
599
cli_test "$turl" 1 1 --ech ecl:"$badecl" --ech pn:"$badpn" --ech hard --ech ecl:"$goodecl" --ech pn:"$goodpn"
600
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
601
cli_test "$turl" 0 0 --ech ecl:"$badecl" --ech pn:"$badpn" --ech hard --ech pn:"$goodpn"
602
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
603
cli_test "$turl" 0 0 --ech ecl:"$badecl" --ech pn:"$badpn" --ech hard --ech true
604
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
605
cli_test "$turl" 1 1 --ech ecl:"$badecl" --ech pn:"$badpn" --ech hard --ech true --ech ecl:"$goodecl"
606
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
607
cli_test "$turl" 1 1 --ech ecl:"$badecl" --ech pn:"$badpn" --ech hard --ech true --ech ecl:"$goodecl" --ech pn:"$goodpn"
608
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
609
cli_test "$turl" 0 0 --ech ecl:"$badecl" --ech pn:"$badpn" --ech hard --ech true --ech pn:"$goodpn"
610
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
611
cli_test "$turl" 0 0 --ech ecl:"$badecl" --ech pn:"$badpn" --ech pn:"$goodpn"
612
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
613
cli_test "$turl" 0 0 --ech ecl:"$badecl" --ech pn:"$badpn" --ech true
614
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
615
cli_test "$turl" 1 1 --ech ecl:"$badecl" --ech pn:"$badpn" --ech true --ech ecl:"$goodecl"
616
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
617
cli_test "$turl" 1 1 --ech ecl:"$badecl" --ech pn:"$badpn" --ech true --ech ecl:"$goodecl" --ech pn:"$goodpn"
618
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
619
cli_test "$turl" - 0 --ech ecl:"$badecl" --ech pn:"$badpn" --ech true --ech pn:"$goodpn"
620
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
621
cli_test "$turl" 0 0 --ech ecl:"$badecl" --ech pn:"$goodpn"
622
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
623
cli_test "$turl" 0 0 --ech ecl:"$badecl" --ech true
624
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
625
cli_test "$turl" 1 1 --ech ecl:"$badecl" --ech true --ech ecl:"$goodecl"
626
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
627
cli_test "$turl" 1 1 --ech ecl:"$badecl" --ech true --ech ecl:"$goodecl" --ech pn:"$goodpn"
628
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
629
cli_test "$turl" 0 0 --ech ecl:"$badecl" --ech true --ech pn:"$goodpn"
630
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
631
cli_test "$turl" 1 1 --ech ecl:"$goodecl"
632
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
633
cli_test "$turl" 1 1 --ech ecl:"$goodecl" --ech pn:"$goodpn"
634
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
635
cli_test "$turl" 1 0 --ech false
636
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
637
cli_test "$turl" 1 0 --ech false --ech ecl:"$badecl"
638
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
639
cli_test "$turl" 1 0 --ech false --ech ecl:"$badecl" --ech ecl:"$goodecl"
640
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
641
cli_test "$turl" 1 0 --ech false --ech ecl:"$badecl" --ech ecl:"$goodecl" --ech pn:"$goodpn"
642
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
643
cli_test "$turl" 0 0 --ech false --ech ecl:"$badecl" --ech hard
644
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
645
cli_test "$turl" 1 1 --ech false --ech ecl:"$badecl" --ech hard --ech ecl:"$goodecl"
646
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
647
cli_test "$turl" 1 1 --ech false --ech ecl:"$badecl" --ech hard --ech ecl:"$goodecl" --ech pn:"$goodpn"
648
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
649
cli_test "$turl" 0 0 --ech false --ech ecl:"$badecl" --ech hard --ech pn:"$goodpn"
650
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
651
cli_test "$turl" 0 0 --ech false --ech ecl:"$badecl" --ech hard --ech true
652
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
653
cli_test "$turl" 1 1 --ech false --ech ecl:"$badecl" --ech hard --ech true --ech ecl:"$goodecl"
654
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
655
cli_test "$turl" 1 1 --ech false --ech ecl:"$badecl" --ech hard --ech true --ech ecl:"$goodecl" --ech pn:"$goodpn"
656
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
657
cli_test "$turl" 0 0 --ech false --ech ecl:"$badecl" --ech hard --ech true --ech pn:"$goodpn"
658
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
659
cli_test "$turl" 1 0 --ech false --ech ecl:"$badecl" --ech pn:"$badpn"
660
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
661
cli_test "$turl" 1 0 --ech false --ech ecl:"$badecl" --ech pn:"$badpn" --ech ecl:"$goodecl"
662
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
663
cli_test "$turl" 1 0 --ech false --ech ecl:"$badecl" --ech pn:"$badpn" --ech ecl:"$goodecl" --ech pn:"$goodpn"
664
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
665
cli_test "$turl" 0 0 --ech false --ech ecl:"$badecl" --ech pn:"$badpn" --ech hard
666
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
667
cli_test "$turl" 1 1 --ech false --ech ecl:"$badecl" --ech pn:"$badpn" --ech hard --ech ecl:"$goodecl"
668
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
669
cli_test "$turl" 1 1 --ech false --ech ecl:"$badecl" --ech pn:"$badpn" --ech hard --ech ecl:"$goodecl" --ech pn:"$goodpn"
670
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
671
cli_test "$turl" 0 0 --ech false --ech ecl:"$badecl" --ech pn:"$badpn" --ech hard --ech pn:"$goodpn"
672
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
673
cli_test "$turl" 0 0 --ech false --ech ecl:"$badecl" --ech pn:"$badpn" --ech hard --ech true
674
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
675
cli_test "$turl" 1 1 --ech false --ech ecl:"$badecl" --ech pn:"$badpn" --ech hard --ech true --ech ecl:"$goodecl"
676
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
677
cli_test "$turl" 1 1 --ech false --ech ecl:"$badecl" --ech pn:"$badpn" --ech hard --ech true --ech ecl:"$goodecl" --ech pn:"$goodpn"
678
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
679
cli_test "$turl" 0 0 --ech false --ech ecl:"$badecl" --ech pn:"$badpn" --ech hard --ech true --ech pn:"$goodpn"
680
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
681
cli_test "$turl" 1 0 --ech false --ech ecl:"$badecl" --ech pn:"$badpn" --ech pn:"$goodpn"
682
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
683
cli_test "$turl" 0 0 --ech false --ech ecl:"$badecl" --ech pn:"$badpn" --ech true
684
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
685
cli_test "$turl" 1 1 --ech false --ech ecl:"$badecl" --ech pn:"$badpn" --ech true --ech ecl:"$goodecl"
686
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
687
cli_test "$turl" 1 1 --ech false --ech ecl:"$badecl" --ech pn:"$badpn" --ech true --ech ecl:"$goodecl" --ech pn:"$goodpn"
688
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
689
cli_test "$turl" 0 0 --ech false --ech ecl:"$badecl" --ech pn:"$badpn" --ech true --ech pn:"$goodpn"
690
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
691
cli_test "$turl" 1 0 --ech false --ech ecl:"$badecl" --ech pn:"$goodpn"
692
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
693
cli_test "$turl" 0 0 --ech false --ech ecl:"$badecl" --ech true
694
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
695
cli_test "$turl" 1 1 --ech false --ech ecl:"$badecl" --ech true --ech ecl:"$goodecl"
696
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
697
cli_test "$turl" 1 1 --ech false --ech ecl:"$badecl" --ech true --ech ecl:"$goodecl" --ech pn:"$goodpn"
698
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
699
cli_test "$turl" 0 0 --ech false --ech ecl:"$badecl" --ech true --ech pn:"$goodpn"
700
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
701
cli_test "$turl" 1 0 --ech false --ech ecl:"$goodecl"
702
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
703
cli_test "$turl" 1 0 --ech false --ech ecl:"$goodecl" --ech pn:"$goodpn"
704
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
705
cli_test "$turl" 1 1 --ech false --ech hard
706
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
707
cli_test "$turl" 1 1 --ech false --ech hard --ech ecl:"$goodecl"
708
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
709
cli_test "$turl" 1 1 --ech false --ech hard --ech ecl:"$goodecl" --ech pn:"$goodpn"
710
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
711
cli_test "$turl" 1 1 --ech false --ech hard --ech pn:"$goodpn"
712
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
713
cli_test "$turl" 1 1 --ech false --ech hard --ech true
714
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
715
cli_test "$turl" 1 1 --ech false --ech hard --ech true --ech ecl:"$goodecl"
716
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
717
cli_test "$turl" 1 1 --ech false --ech hard --ech true --ech ecl:"$goodecl" --ech pn:"$goodpn"
718
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
719
cli_test "$turl" 1 1 --ech false --ech hard --ech true --ech pn:"$goodpn"
720
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
721
cli_test "$turl" 1 0 --ech false --ech pn:"$badpn"
722
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
723
cli_test "$turl" 1 0 --ech false --ech pn:"$badpn" --ech ecl:"$goodecl"
724
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
725
cli_test "$turl" 1 0 --ech false --ech pn:"$badpn" --ech ecl:"$goodecl" --ech pn:"$goodpn"
726
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
727
cli_test "$turl" 1 1 --ech false --ech pn:"$badpn" --ech hard
728
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
729
cli_test "$turl" 1 1 --ech false --ech pn:"$badpn" --ech hard --ech ecl:"$goodecl"
730
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
731
cli_test "$turl" 1 1 --ech false --ech pn:"$badpn" --ech hard --ech ecl:"$goodecl" --ech pn:"$goodpn"
732
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
733
cli_test "$turl" 1 1 --ech false --ech pn:"$badpn" --ech hard --ech pn:"$goodpn"
734
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
735
cli_test "$turl" 1 1 --ech false --ech pn:"$badpn" --ech hard --ech true
736
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
737
cli_test "$turl" 1 1 --ech false --ech pn:"$badpn" --ech hard --ech true --ech ecl:"$goodecl"
738
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
739
cli_test "$turl" 1 1 --ech false --ech pn:"$badpn" --ech hard --ech true --ech ecl:"$goodecl" --ech pn:"$goodpn"
740
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
741
cli_test "$turl" 1 1 --ech false --ech pn:"$badpn" --ech hard --ech true --ech pn:"$goodpn"
742
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
743
cli_test "$turl" 1 0 --ech false --ech pn:"$badpn" --ech pn:"$goodpn"
744
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
745
cli_test "$turl" 1 1 --ech false --ech pn:"$badpn" --ech true
746
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
747
cli_test "$turl" 1 1 --ech false --ech pn:"$badpn" --ech true --ech ecl:"$goodecl"
748
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
749
cli_test "$turl" 1 1 --ech false --ech pn:"$badpn" --ech true --ech ecl:"$goodecl" --ech pn:"$goodpn"
750
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
751
cli_test "$turl" 1 1 --ech false --ech pn:"$badpn" --ech true --ech pn:"$goodpn"
752
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
753
cli_test "$turl" 1 0 --ech false --ech pn:"$goodpn"
754
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
755
cli_test "$turl" 1 1 --ech false --ech true
756
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
757
cli_test "$turl" 1 1 --ech false --ech true --ech ecl:"$goodecl"
758
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
759
cli_test "$turl" 1 1 --ech false --ech true --ech ecl:"$goodecl" --ech pn:"$goodpn"
760
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
761
cli_test "$turl" 1 1 --ech false --ech true --ech pn:"$goodpn"
762
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
763
cli_test "$turl" 1 1 --ech hard
764
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
765
cli_test "$turl" 1 1 --ech hard --ech ecl:"$goodecl"
766
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
767
cli_test "$turl" 1 1 --ech hard --ech ecl:"$goodecl" --ech pn:"$goodpn"
768
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
769
cli_test "$turl" 1 1 --ech hard --ech pn:"$goodpn"
770
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
771
cli_test "$turl" 1 1 --ech hard --ech true
772
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
773
cli_test "$turl" 1 1 --ech hard --ech true --ech ecl:"$goodecl"
774
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
775
cli_test "$turl" 1 1 --ech hard --ech true --ech ecl:"$goodecl" --ech pn:"$goodpn"
776
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
777
cli_test "$turl" 1 1 --ech hard --ech true --ech pn:"$goodpn"
778
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
779
cli_test "$turl" 1 0 --ech pn:"$badpn"
780
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
781
cli_test "$turl" 1 1 --ech pn:"$badpn" --ech ecl:"$goodecl"
782
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
783
cli_test "$turl" 1 1 --ech pn:"$badpn" --ech ecl:"$goodecl" --ech pn:"$goodpn"
784
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
785
cli_test "$turl" 1 1 --ech pn:"$badpn" --ech hard
786
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
787
cli_test "$turl" 1 1 --ech pn:"$badpn" --ech hard --ech ecl:"$goodecl"
788
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
789
cli_test "$turl" 1 1 --ech pn:"$badpn" --ech hard --ech ecl:"$goodecl" --ech pn:"$goodpn"
790
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
791
cli_test "$turl" 1 1 --ech pn:"$badpn" --ech hard --ech pn:"$goodpn"
792
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
793
cli_test "$turl" 1 1 --ech pn:"$badpn" --ech hard --ech true
794
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
795
cli_test "$turl" 1 1 --ech pn:"$badpn" --ech hard --ech true --ech ecl:"$goodecl"
796
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
797
cli_test "$turl" 1 1 --ech pn:"$badpn" --ech hard --ech true --ech ecl:"$goodecl" --ech pn:"$goodpn"
798
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
799
cli_test "$turl" 1 1 --ech pn:"$badpn" --ech hard --ech true --ech pn:"$goodpn"
800
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
801
cli_test "$turl" 1 0 --ech pn:"$badpn" --ech pn:"$goodpn"
802
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
803
cli_test "$turl" 1 1 --ech pn:"$badpn" --ech true
804
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
805
cli_test "$turl" 1 1 --ech pn:"$badpn" --ech true --ech ecl:"$goodecl"
806
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
807
cli_test "$turl" 1 1 --ech pn:"$badpn" --ech true --ech ecl:"$goodecl" --ech pn:"$goodpn"
808
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
809
cli_test "$turl" 1 1 --ech pn:"$badpn" --ech true --ech pn:"$goodpn"
810
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
811
cli_test "$turl" 1 0 --ech pn:"$goodpn"
812
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
813
cli_test "$turl" 1 1 --ech true
814
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
815
cli_test "$turl" 1 1 --ech true --ech ecl:"$goodecl"
816
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
817
cli_test "$turl" 1 1 --ech true --ech ecl:"$goodecl" --ech pn:"$goodpn"
818
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
819
cli_test "$turl" 1 1 --ech true --ech pn:"$goodpn"
820
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
821
cli_test "$turl" 1 0
822
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
823
cli_test "$turl" 1 1 --ech ecl:"$goodecl"
824
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
825
cli_test "$turl" 1 1 --ech ecl:"$goodecl" --ech pn:"$goodpn"
826
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
827
cli_test "$turl" 1 0 --ech pn:"$goodpn"
828
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
829
cli_test "$turl" 1 1 --ech true
830
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
831
cli_test "$turl" 1 1 --ech true --ech ecl:"$goodecl"
832
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
833
cli_test "$turl" 1 1 --ech true --ech ecl:"$goodecl" --ech pn:"$goodpn"
834
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
835
cli_test "$turl" 1 1 --ech true --ech pn:"$goodpn"
836
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
837
838
# a target URL that doesn't support ECH
839
turl="https://tcd.ie"
840
echo "cli_test with $turl"
841
echo "cli_test with $turl" >> "$logfile"
842
# the params below don't matter much here as we'll fail anyway
843
echconfiglist=$(get_ech_configlist defo.ie)
844
goodecl=$echconfiglist
845
badecl="$goodecl"
846
goodpn="tcd.ie"
847
badpn="tcd.ie"
848
cli_test "$turl" 1 0
849
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
850
cli_test "$turl" 0 0 --ech ecl:"$badecl"
851
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
852
cli_test "$turl" 0 0 --ech ecl:"$badecl" --ech ecl:"$goodecl"
853
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
854
cli_test "$turl" 0 0 --ech ecl:"$badecl" --ech ecl:"$goodecl" --ech pn:"$goodpn"
855
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
856
cli_test "$turl" 0 0 --ech ecl:"$badecl" --ech hard
857
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
858
cli_test "$turl" 0 0 --ech ecl:"$badecl" --ech hard --ech ecl:"$goodecl"
859
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
860
cli_test "$turl" 0 0 --ech ecl:"$badecl" --ech hard --ech ecl:"$goodecl" --ech pn:"$goodpn"
861
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
862
cli_test "$turl" 0 0 --ech ecl:"$badecl" --ech hard --ech pn:"$goodpn"
863
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
864
cli_test "$turl" 0 0 --ech ecl:"$badecl" --ech hard --ech true
865
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
866
cli_test "$turl" 0 0 --ech ecl:"$badecl" --ech hard --ech true --ech ecl:"$goodecl"
867
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
868
cli_test "$turl" 0 0 --ech ecl:"$badecl" --ech hard --ech true --ech ecl:"$goodecl" --ech pn:"$goodpn"
869
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
870
cli_test "$turl" 0 0 --ech ecl:"$badecl" --ech hard --ech true --ech pn:"$goodpn"
871
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
872
cli_test "$turl" 0 0 --ech ecl:"$badecl" --ech pn:"$badpn"
873
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
874
cli_test "$turl" 0 0 --ech ecl:"$badecl" --ech pn:"$badpn" --ech ecl:"$goodecl"
875
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
876
cli_test "$turl" 0 0 --ech ecl:"$badecl" --ech pn:"$badpn" --ech ecl:"$goodecl" --ech pn:"$goodpn"
877
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
878
cli_test "$turl" 0 0 --ech ecl:"$badecl" --ech pn:"$badpn" --ech hard
879
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
880
cli_test "$turl" 0 0 --ech ecl:"$badecl" --ech pn:"$badpn" --ech hard --ech ecl:"$goodecl"
881
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
882
cli_test "$turl" 0 0 --ech ecl:"$badecl" --ech pn:"$badpn" --ech hard --ech ecl:"$goodecl" --ech pn:"$goodpn"
883
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
884
cli_test "$turl" 0 0 --ech ecl:"$badecl" --ech pn:"$badpn" --ech hard --ech pn:"$goodpn"
885
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
886
cli_test "$turl" 0 0 --ech ecl:"$badecl" --ech pn:"$badpn" --ech hard --ech true
887
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
888
cli_test "$turl" 0 0 --ech ecl:"$badecl" --ech pn:"$badpn" --ech hard --ech true --ech ecl:"$goodecl"
889
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
890
cli_test "$turl" 0 0 --ech ecl:"$badecl" --ech pn:"$badpn" --ech hard --ech true --ech ecl:"$goodecl" --ech pn:"$goodpn"
891
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
892
cli_test "$turl" 0 0 --ech ecl:"$badecl" --ech pn:"$badpn" --ech hard --ech true --ech pn:"$goodpn"
893
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
894
cli_test "$turl" 0 0 --ech ecl:"$badecl" --ech pn:"$badpn" --ech pn:"$goodpn"
895
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
896
cli_test "$turl" 0 0 --ech ecl:"$badecl" --ech pn:"$badpn" --ech true
897
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
898
cli_test "$turl" 0 0 --ech ecl:"$badecl" --ech pn:"$badpn" --ech true --ech ecl:"$goodecl"
899
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
900
cli_test "$turl" 0 0 --ech ecl:"$badecl" --ech pn:"$badpn" --ech true --ech ecl:"$goodecl" --ech pn:"$goodpn"
901
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
902
cli_test "$turl" 0 0 --ech ecl:"$badecl" --ech pn:"$badpn" --ech true --ech pn:"$goodpn"
903
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
904
cli_test "$turl" 0 0 --ech ecl:"$badecl" --ech pn:"$goodpn"
905
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
906
cli_test "$turl" 0 0 --ech ecl:"$badecl" --ech true
907
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
908
cli_test "$turl" 0 0 --ech ecl:"$badecl" --ech true --ech ecl:"$goodecl"
909
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
910
cli_test "$turl" 0 0 --ech ecl:"$badecl" --ech true --ech ecl:"$goodecl" --ech pn:"$goodpn"
911
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
912
cli_test "$turl" 0 0 --ech ecl:"$badecl" --ech true --ech pn:"$goodpn"
913
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
914
cli_test "$turl" 0 0 --ech ecl:"$goodecl"
915
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
916
cli_test "$turl" 0 0 --ech ecl:"$goodecl" --ech pn:"$goodpn"
917
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
918
cli_test "$turl" 0 0 --ech false
919
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
920
cli_test "$turl" 0 0 --ech false --ech ecl:"$badecl"
921
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
922
cli_test "$turl" 0 0 --ech false --ech ecl:"$badecl" --ech ecl:"$goodecl"
923
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
924
cli_test "$turl" 0 0 --ech false --ech ecl:"$badecl" --ech ecl:"$goodecl" --ech pn:"$goodpn"
925
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
926
cli_test "$turl" 0 0 --ech false --ech ecl:"$badecl" --ech hard
927
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
928
cli_test "$turl" 0 0 --ech false --ech ecl:"$badecl" --ech hard --ech ecl:"$goodecl"
929
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
930
cli_test "$turl" 0 0 --ech false --ech ecl:"$badecl" --ech hard --ech ecl:"$goodecl" --ech pn:"$goodpn"
931
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
932
cli_test "$turl" 0 0 --ech false --ech ecl:"$badecl" --ech hard --ech pn:"$goodpn"
933
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
934
cli_test "$turl" 0 0 --ech false --ech ecl:"$badecl" --ech hard --ech true
935
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
936
cli_test "$turl" 0 0 --ech false --ech ecl:"$badecl" --ech hard --ech true --ech ecl:"$goodecl"
937
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
938
cli_test "$turl" 0 0 --ech false --ech ecl:"$badecl" --ech hard --ech true --ech ecl:"$goodecl" --ech pn:"$goodpn"
939
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
940
cli_test "$turl" 0 0 --ech false --ech ecl:"$badecl" --ech hard --ech true --ech pn:"$goodpn"
941
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
942
cli_test "$turl" 0 0 --ech false --ech ecl:"$badecl" --ech pn:"$badpn"
943
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
944
cli_test "$turl" 0 0 --ech false --ech ecl:"$badecl" --ech pn:"$badpn" --ech ecl:"$goodecl"
945
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
946
cli_test "$turl" 0 0 --ech false --ech ecl:"$badecl" --ech pn:"$badpn" --ech ecl:"$goodecl" --ech pn:"$goodpn"
947
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
948
cli_test "$turl" 0 0 --ech false --ech ecl:"$badecl" --ech pn:"$badpn" --ech hard
949
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
950
cli_test "$turl" 0 0 --ech false --ech ecl:"$badecl" --ech pn:"$badpn" --ech hard --ech ecl:"$goodecl"
951
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
952
cli_test "$turl" 0 0 --ech false --ech ecl:"$badecl" --ech pn:"$badpn" --ech hard --ech ecl:"$goodecl" --ech pn:"$goodpn"
953
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
954
cli_test "$turl" 0 0 --ech false --ech ecl:"$badecl" --ech pn:"$badpn" --ech hard --ech pn:"$goodpn"
955
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
956
cli_test "$turl" 0 0 --ech false --ech ecl:"$badecl" --ech pn:"$badpn" --ech hard --ech true
957
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
958
cli_test "$turl" 0 0 --ech false --ech ecl:"$badecl" --ech pn:"$badpn" --ech hard --ech true --ech ecl:"$goodecl"
959
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
960
cli_test "$turl" 0 0 --ech false --ech ecl:"$badecl" --ech pn:"$badpn" --ech hard --ech true --ech ecl:"$goodecl" --ech pn:"$goodpn"
961
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
962
cli_test "$turl" 0 0 --ech false --ech ecl:"$badecl" --ech pn:"$badpn" --ech hard --ech true --ech pn:"$goodpn"
963
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
964
cli_test "$turl" 0 0 --ech false --ech ecl:"$badecl" --ech pn:"$badpn" --ech pn:"$goodpn"
965
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
966
cli_test "$turl" 0 0 --ech false --ech ecl:"$badecl" --ech pn:"$badpn" --ech true
967
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
968
cli_test "$turl" 0 0 --ech false --ech ecl:"$badecl" --ech pn:"$badpn" --ech true --ech ecl:"$goodecl"
969
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
970
cli_test "$turl" 0 0 --ech false --ech ecl:"$badecl" --ech pn:"$badpn" --ech true --ech ecl:"$goodecl" --ech pn:"$goodpn"
971
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
972
cli_test "$turl" 0 0 --ech false --ech ecl:"$badecl" --ech pn:"$badpn" --ech true --ech pn:"$goodpn"
973
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
974
cli_test "$turl" 0 0 --ech false --ech ecl:"$badecl" --ech pn:"$goodpn"
975
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
976
cli_test "$turl" 0 0 --ech false --ech ecl:"$badecl" --ech true
977
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
978
cli_test "$turl" 0 0 --ech false --ech ecl:"$badecl" --ech true --ech ecl:"$goodecl"
979
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
980
cli_test "$turl" 0 0 --ech false --ech ecl:"$badecl" --ech true --ech ecl:"$goodecl" --ech pn:"$goodpn"
981
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
982
cli_test "$turl" 0 0 --ech false --ech ecl:"$badecl" --ech true --ech pn:"$goodpn"
983
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
984
cli_test "$turl" 0 0 --ech false --ech ecl:"$goodecl"
985
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
986
cli_test "$turl" 0 0 --ech false --ech ecl:"$goodecl" --ech pn:"$goodpn"
987
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
988
cli_test "$turl" 0 0 --ech false --ech hard
989
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
990
cli_test "$turl" 0 0 --ech false --ech hard --ech ecl:"$goodecl"
991
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
992
cli_test "$turl" 0 0 --ech false --ech hard --ech ecl:"$goodecl" --ech pn:"$goodpn"
993
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
994
cli_test "$turl" 0 0 --ech false --ech hard --ech pn:"$goodpn"
995
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
996
cli_test "$turl" 0 0 --ech false --ech hard --ech true
997
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
998
cli_test "$turl" 0 0 --ech false --ech hard --ech true --ech ecl:"$goodecl"
999
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
1000
cli_test "$turl" 0 0 --ech false --ech hard --ech true --ech ecl:"$goodecl" --ech pn:"$goodpn"
1001
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
1002
cli_test "$turl" 0 0 --ech false --ech hard --ech true --ech pn:"$goodpn"
1003
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
1004
cli_test "$turl" 0 0 --ech false --ech pn:"$badpn"
1005
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
1006
cli_test "$turl" 0 0 --ech false --ech pn:"$badpn" --ech ecl:"$goodecl"
1007
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
1008
cli_test "$turl" 0 0 --ech false --ech pn:"$badpn" --ech ecl:"$goodecl" --ech pn:"$goodpn"
1009
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
1010
cli_test "$turl" 0 0 --ech false --ech pn:"$badpn" --ech hard
1011
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
1012
cli_test "$turl" 0 0 --ech false --ech pn:"$badpn" --ech hard --ech ecl:"$goodecl"
1013
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
1014
cli_test "$turl" 0 0 --ech false --ech pn:"$badpn" --ech hard --ech ecl:"$goodecl" --ech pn:"$goodpn"
1015
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
1016
cli_test "$turl" 0 0 --ech false --ech pn:"$badpn" --ech hard --ech pn:"$goodpn"
1017
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
1018
cli_test "$turl" 0 0 --ech false --ech pn:"$badpn" --ech hard --ech true
1019
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
1020
cli_test "$turl" 0 0 --ech false --ech pn:"$badpn" --ech hard --ech true --ech ecl:"$goodecl"
1021
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
1022
cli_test "$turl" 0 0 --ech false --ech pn:"$badpn" --ech hard --ech true --ech ecl:"$goodecl" --ech pn:"$goodpn"
1023
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
1024
cli_test "$turl" 0 0 --ech false --ech pn:"$badpn" --ech hard --ech true --ech pn:"$goodpn"
1025
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
1026
cli_test "$turl" 0 0 --ech false --ech pn:"$badpn" --ech pn:"$goodpn"
1027
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
1028
cli_test "$turl" 0 0 --ech false --ech pn:"$badpn" --ech true
1029
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
1030
cli_test "$turl" 0 0 --ech false --ech pn:"$badpn" --ech true --ech ecl:"$goodecl"
1031
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
1032
cli_test "$turl" 0 0 --ech false --ech pn:"$badpn" --ech true --ech ecl:"$goodecl" --ech pn:"$goodpn"
1033
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
1034
cli_test "$turl" 0 0 --ech false --ech pn:"$badpn" --ech true --ech pn:"$goodpn"
1035
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
1036
cli_test "$turl" 0 0 --ech false --ech pn:"$goodpn"
1037
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
1038
cli_test "$turl" 0 0 --ech false --ech true
1039
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
1040
cli_test "$turl" 0 0 --ech false --ech true --ech ecl:"$goodecl"
1041
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
1042
cli_test "$turl" 0 0 --ech false --ech true --ech ecl:"$goodecl" --ech pn:"$goodpn"
1043
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
1044
cli_test "$turl" 0 0 --ech false --ech true --ech pn:"$goodpn"
1045
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
1046
cli_test "$turl" 0 0 --ech hard
1047
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
1048
cli_test "$turl" 0 0 --ech hard --ech ecl:"$goodecl"
1049
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
1050
cli_test "$turl" 0 0 --ech hard --ech ecl:"$goodecl" --ech pn:"$goodpn"
1051
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
1052
cli_test "$turl" 0 0 --ech hard --ech pn:"$goodpn"
1053
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
1054
cli_test "$turl" 0 0 --ech hard --ech true
1055
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
1056
cli_test "$turl" 0 0 --ech hard --ech true --ech ecl:"$goodecl"
1057
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
1058
cli_test "$turl" 0 0 --ech hard --ech true --ech ecl:"$goodecl" --ech pn:"$goodpn"
1059
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
1060
cli_test "$turl" 0 0 --ech hard --ech true --ech pn:"$goodpn"
1061
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
1062
cli_test "$turl" 0 0 --ech pn:"$badpn"
1063
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
1064
cli_test "$turl" 0 0 --ech pn:"$badpn" --ech ecl:"$goodecl"
1065
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
1066
cli_test "$turl" 0 0 --ech pn:"$badpn" --ech ecl:"$goodecl" --ech pn:"$goodpn"
1067
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
1068
cli_test "$turl" 0 0 --ech pn:"$badpn" --ech hard
1069
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
1070
cli_test "$turl" 0 0 --ech pn:"$badpn" --ech hard --ech ecl:"$goodecl"
1071
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
1072
cli_test "$turl" 0 0 --ech pn:"$badpn" --ech hard --ech ecl:"$goodecl" --ech pn:"$goodpn"
1073
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
1074
cli_test "$turl" 0 0 --ech pn:"$badpn" --ech hard --ech pn:"$goodpn"
1075
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
1076
cli_test "$turl" 0 0 --ech pn:"$badpn" --ech hard --ech true
1077
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
1078
cli_test "$turl" 0 0 --ech pn:"$badpn" --ech hard --ech true --ech ecl:"$goodecl"
1079
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
1080
cli_test "$turl" 0 0 --ech pn:"$badpn" --ech hard --ech true --ech ecl:"$goodecl" --ech pn:"$goodpn"
1081
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
1082
cli_test "$turl" 0 0 --ech pn:"$badpn" --ech hard --ech true --ech pn:"$goodpn"
1083
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
1084
cli_test "$turl" 0 0 --ech pn:"$badpn" --ech pn:"$goodpn"
1085
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
1086
cli_test "$turl" 0 0 --ech pn:"$badpn" --ech true
1087
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
1088
cli_test "$turl" 0 0 --ech pn:"$badpn" --ech true --ech ecl:"$goodecl"
1089
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
1090
cli_test "$turl" 0 0 --ech pn:"$badpn" --ech true --ech ecl:"$goodecl" --ech pn:"$goodpn"
1091
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
1092
cli_test "$turl" 0 0 --ech pn:"$badpn" --ech true --ech pn:"$goodpn"
1093
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
1094
cli_test "$turl" 0 0 --ech pn:"$goodpn"
1095
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
1096
cli_test "$turl" 0 0 --ech true
1097
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
1098
cli_test "$turl" 0 0 --ech true --ech ecl:"$goodecl"
1099
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
1100
cli_test "$turl" 0 0 --ech true --ech ecl:"$goodecl" --ech pn:"$goodpn"
1101
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
1102
cli_test "$turl" 0 0 --ech true --ech pn:"$goodpn"
1103
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
1104
cli_test "$turl" 0 0
1105
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
1106
cli_test "$turl" 0 0 --ech ecl:"$goodecl"
1107
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
1108
cli_test "$turl" 0 0 --ech ecl:"$goodecl" --ech pn:"$goodpn"
1109
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
1110
cli_test "$turl" 0 0 --ech pn:"$goodpn"
1111
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
1112
cli_test "$turl" 0 0 --ech true
1113
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
1114
cli_test "$turl" 0 0 --ech true --ech ecl:"$goodecl"
1115
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
1116
cli_test "$turl" 0 0 --ech true --ech ecl:"$goodecl" --ech pn:"$goodpn"
1117
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
1118
cli_test "$turl" 0 0 --ech true --ech pn:"$goodpn"
1119
if [[ "$allgood" != "yes" ]]; then echo "$LINENO"; fi
1120
fi
1121
1122
1123
END=$(whenisitagain)
1124
echo "Finished $0 at $END" >> "$logfile"
1125
echo "-----" >> "$logfile"
1126
1127
if [[ "$allgood" == "yes" ]]
1128
then
1129
echo "Finished $0 at $END"
1130
echo "All good, log in $logfile"
1131
exit 0
1132
else
1133
echo "Finished $0 at $END"
1134
echo "NOT all good, log in $logfile"
1135
fi
1136
1137
# send a mail to root (will be fwd'd) but just once every 24 hours
1138
# 'cause we only really need "new" news
1139
itsnews="yes"
1140
age_of_news=0
1141
if [ -f "$LTOP"/bad_runs ]
1142
then
1143
age_of_news=$(fileage "$LTOP"/bad_runs)
1144
# only consider news "new" if we haven't mailed today
1145
if ((age_of_news < 24*3600))
1146
then
1147
itsnews="no"
1148
fi
1149
fi
1150
if [[ "$DOMAIL" == "yes" && "$itsnews" == "yes" ]]
1151
then
1152
echo "ECH badness at $NOW" | mail -s "ECH badness at $NOW" root
1153
fi
1154
# add to list of bad runs (updating file age)
1155
echo "ECH badness at $NOW" >>"$LTOP"/bad_runs
1156
exit 2
1157
1158