mirror of
https://github.com/isc-projects/bind9.git
synced 2026-02-24 18:30:38 -05:00
Avoid creating any temporary files in the current workdir. Additional/changing files in the bin/tests/system directory are problematic for pytest/xdist collection phase, which assumes the list of files doesn't change between the collection phase of the main pytest thread and the subsequent collection phase of the xdist worker threads. Since the testcrypto.sh is also called during pytest initialization through conf.sh.common (to detect feature support), this could occasionally cause a race condition when the list of files would be different for the main pytest thread and the xdist worker.
95 lines
2 KiB
Bash
Executable file
95 lines
2 KiB
Bash
Executable file
#!/bin/sh
|
|
|
|
# Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
|
#
|
|
# SPDX-License-Identifier: MPL-2.0
|
|
#
|
|
# This Source Code Form is subject to the terms of the Mozilla Public
|
|
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
# file, you can obtain one at https://mozilla.org/MPL/2.0/.
|
|
#
|
|
# See the COPYRIGHT file distributed with this work for additional
|
|
# information regarding copyright ownership.
|
|
|
|
prog=$0
|
|
args=""
|
|
quiet=0
|
|
dir=""
|
|
msg="cryptography"
|
|
|
|
if test -z "$KEYGEN"; then
|
|
. ../conf.sh
|
|
alg="-a $DEFAULT_ALGORITHM -b $DEFAULT_BITS"
|
|
else
|
|
alg=""
|
|
quiet=1
|
|
args="-q"
|
|
fi
|
|
|
|
while test "$#" -gt 0; do
|
|
case $1 in
|
|
-q)
|
|
if test $quiet -eq 0; then
|
|
args="$args -q"
|
|
quiet=1
|
|
fi
|
|
;;
|
|
rsa|RSA|rsasha1|RSASHA1)
|
|
alg="-a RSASHA1"
|
|
msg="RSA cryptography"
|
|
;;
|
|
rsasha256|RSASHA256)
|
|
alg="-a RSASHA256"
|
|
msg="RSA cryptography"
|
|
;;
|
|
rsasha512|RSASHA512)
|
|
alg="-a RSASHA512"
|
|
msg="RSA cryptography"
|
|
;;
|
|
ecdsa|ECDSA|ecdsap256sha256|ECDSAP256SHA256)
|
|
alg="-a ECDSAP256SHA256"
|
|
msg="ECDSA cryptography"
|
|
;;
|
|
ecdsap384sha384|ECDSAP384SHA384)
|
|
alg="-a ECDSAP384SHA384"
|
|
msg="ECDSA cryptography"
|
|
;;
|
|
eddsa|EDDSA|ed25519|ED25519)
|
|
alg="-a ED25519"
|
|
msg="EDDSA cryptography"
|
|
;;
|
|
ed448|ED448)
|
|
alg="-a ED448"
|
|
msg="EDDSA cryptography"
|
|
;;
|
|
*)
|
|
echo "${prog}: unknown argument"
|
|
exit 1
|
|
;;
|
|
esac
|
|
shift
|
|
done
|
|
|
|
if test -z "$alg"; then
|
|
echo "${prog}: no algorithm selected"
|
|
exit 1
|
|
fi
|
|
|
|
if test -n "$TMPDIR"; then
|
|
dir=$(mktemp -d "$TMPDIR/XXXXXX")
|
|
args="$args -K $dir"
|
|
fi
|
|
|
|
if $KEYGEN $args $alg foo > /dev/null 2>&1
|
|
then
|
|
if test -z "$dir"; then
|
|
rm -f Kfoo*
|
|
else
|
|
rm -rf "$dir"
|
|
fi
|
|
else
|
|
if test $quiet -eq 0; then
|
|
echo_i "This test requires support for $msg" >&2
|
|
fi
|
|
exit 255
|
|
fi
|