2
0
mirror of https://github.com/xcat2/xcat-core.git synced 2026-08-27 00:56:43 +00:00

fix(genesis): preserve destiny client behavior

This commit is contained in:
Vinícius Ferrão
2026-08-20 22:38:45 -03:00
parent 6562a4e9d7
commit 1a8574397d
2 changed files with 29 additions and 14 deletions
+10 -1
View File
@@ -45,7 +45,16 @@ done
temporary_dir=$(mktemp -d "${TMPDIR:-/tmp}/getdestiny.XXXXXX") || exit 1
request_file=$temporary_dir/request.xml
response_file=$temporary_dir/response.xml
trap 'rm -rf -- "$temporary_dir"; [[ -z $metadata_temporary ]] || rm -f -- "$metadata_temporary"' EXIT HUP INT TERM
cleanup() {
rm -rf -- "$temporary_dir"
[[ -z $metadata_temporary ]] || rm -f -- "$metadata_temporary"
}
trap cleanup EXIT
trap 'exit 129' HUP
trap 'exit 130' INT
trap 'exit 143' TERM
printf '%s\n' \
'<xcatrequest>' \
+19 -13
View File
@@ -45,7 +45,16 @@ done
temporary_dir=$(mktemp -d "${TMPDIR:-/tmp}/nextdestiny.XXXXXX") || exit 1
request_file=$temporary_dir/request.xml
response_file=$temporary_dir/response.xml
trap 'rm -rf -- "$temporary_dir"; [[ -z $metadata_temporary ]] || rm -f -- "$metadata_temporary"' EXIT HUP INT TERM
cleanup() {
rm -rf -- "$temporary_dir"
[[ -z $metadata_temporary ]] || rm -f -- "$metadata_temporary"
}
trap cleanup EXIT
trap 'exit 129' HUP
trap 'exit 130' INT
trap 'exit 143' TERM
printf '%s\n' \
'<xcatrequest>' \
@@ -62,20 +71,17 @@ request_destiny() {
openssl s_client -connect "$destination" -quiet \
2>/dev/null <"$request_file" >"$response_file"
fi
[[ -s $response_file ]] && \
{ grep -q '<destiny>' "$response_file" || grep -q '<error>' "$response_file"; }
[[ -s $response_file ]]
}
while ! request_destiny; do
if ((once)); then
exit 1
fi
for ((timer = 60; timer > 0; timer--)); do
printf 'Retrying in %s seconds \r' "$timer" >&2
sleep 1
done
printf '%*s\r' 48 '' >&2
done
if ((once)); then
request_destiny \
&& { grep -q '<destiny>' "$response_file" \
|| grep -q '<error>' "$response_file"; } \
|| exit 1
else
request_destiny || true
fi
extract_element() {
local element=$1