2
0
mirror of https://github.com/mozilla/cipherscan.git synced 2024-11-22 22:33:40 +01:00

few less forks in the script

again, we can use arrays and a bit advanced awk syntax to reduce
the number of forks necessary to run the script
This commit is contained in:
Hubert Kario 2014-07-12 14:54:33 +02:00
parent 413a43ecbf
commit 911b3e2515

View File

@ -192,7 +192,7 @@ test_cipher_on_target() {
/-----BEGIN CERTIFICATE-----/ { output=1 } /-----BEGIN CERTIFICATE-----/ { output=1 }
output==1 { if (n==i) print } output==1 { if (n==i) print }
/-----END CERTIFICATE-----/ { output=0; n++ }' <<<"$tmp") /-----END CERTIFICATE-----/ { output=0; n++ }' <<<"$tmp")
# put the output to an array instead awk '{print $1}' # put the output to an array instead running awk '{print $1}'
local cksum=($(cksum <<<"$cert")) local cksum=($(cksum <<<"$cert"))
# compare the values not just checksums so that eventual collision # compare the values not just checksums so that eventual collision
# doesn't mess up results # doesn't mess up results
@ -348,7 +348,7 @@ get_cipher_pref() {
if [ $success -eq 0 ]; then if [ $success -eq 0 ]; then
cipherspref=("${cipherspref[@]}" "$result") cipherspref=("${cipherspref[@]}" "$result")
ciphercertificates=("${ciphercertificates[@]}" "$certificates") ciphercertificates=("${ciphercertificates[@]}" "$certificates")
pciph=$(echo $result|awk '{print $1}') pciph=($(echo $result))
get_cipher_pref "!$pciph:$ciphersuite" get_cipher_pref "!$pciph:$ciphersuite"
return 0 return 0
fi fi
@ -365,7 +365,7 @@ display_results_in_terminal() {
local different=False local different=False
echo "Target: $TARGET"; echo echo "Target: $TARGET"; echo
for cipher in "${cipherspref[@]}"; do for cipher in "${cipherspref[@]}"; do
pciph=$(echo $cipher|awk '{print $1}') pciph=($(echo $cipher))
if [ $DOBENCHMARK -eq 1 ]; then if [ $DOBENCHMARK -eq 1 ]; then
bench_cipher "$pciph" bench_cipher "$pciph"
r="$ctr $cipher $cipherbenchms" r="$ctr $cipher $cipherbenchms"
@ -419,7 +419,7 @@ display_results_in_terminal() {
echo $result|grep -v '(NONE)' echo $result|grep -v '(NONE)'
else else
# prints priority, ciphersuite, protocols and pfs_keysize # prints priority, ciphersuite, protocols and pfs_keysize
echo $result|grep -v '(NONE)'|awk '{print $1 " " $2 " " $3 " " $9}' awk '!/(NONE)/{print $1 " " $2 " " $3 " " $9}' <<<"$result"
fi fi
done|column -t done|column -t
echo echo