Use openssl rand -hex 3 instead of mktemp
This removes our dependency on an external non-POSIX mktemp implementation and uses openssl's built in rand function. Addresses #478 Signed-off-by: Eric F Crist <ecrist@secure-computing.net>
This commit is contained in:
parent
243bb708b0
commit
4463e1d08f
@ -332,16 +332,9 @@ easyrsa_mktemp() {
|
|||||||
die "Could not create temporary directory '$EASYRSA_TEMP_DIR_session'. Permission or concurrency problem?"
|
die "Could not create temporary directory '$EASYRSA_TEMP_DIR_session'. Permission or concurrency problem?"
|
||||||
[ -d "$EASYRSA_TEMP_DIR_session" ] || die "Temporary directory '$EASYRSA_TEMP_DIR_session' does not exist"
|
[ -d "$EASYRSA_TEMP_DIR_session" ] || die "Temporary directory '$EASYRSA_TEMP_DIR_session' does not exist"
|
||||||
|
|
||||||
template="$EASYRSA_TEMP_DIR_session/tmp.XXXXXX"
|
tempfile="$EASYRSA_TEMP_DIR_session/tmp.$($EASYRSA_OPENSSL rand -hex 3)" || return
|
||||||
tempfile=$(mktemp "$template") || return
|
printf "" > "$tempfile" || return
|
||||||
|
|
||||||
# win32 mktemp shipped by easyrsa returns template as file!
|
|
||||||
if [ "$template" = "$tempfile" ]; then
|
|
||||||
# but win32 mktemp -d does work
|
|
||||||
# but win32 mktemp -u does not work
|
|
||||||
tempfile=$(mktemp -du "$tempfile") || return
|
|
||||||
printf "" > "$tempfile" || return
|
|
||||||
fi
|
|
||||||
echo "$tempfile"
|
echo "$tempfile"
|
||||||
} # => easyrsa_mktemp
|
} # => easyrsa_mktemp
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user