refactor: reparse the original ssh command in the hopes of keeping array arguments in place

This commit is contained in:
Jose Diaz-Gonzalez
2024-03-13 08:35:24 -04:00
parent dc20a38756
commit 91c8e62da5

19
dokku
View File

@@ -107,19 +107,12 @@ fi
if [[ -n "$SSH_ORIGINAL_COMMAND" ]]; then
export -n SSH_ORIGINAL_COMMAND
exit_code=0
if [[ $1 =~ git-* ]] || [[ $1 =~ git:* ]]; then
set -f
$0 $SSH_ORIGINAL_COMMAND
exit_code=$?
set +f
exit $?
else
set -f
xargs $0 <<<$SSH_ORIGINAL_COMMAND
exit_code=$?
set +f
exit $exit_code
fi
readarray -t -O "${#ssh_arg_array[@]}" ssh_arg_array < <( printf '%s' "$SSH_ORIGINAL_COMMAND" | xargs -n 1 )
set -f
$O "${ssh_arg_array[@]}"
exit_code=$?
set +f
exit $exit_code
fi
if ! dokku_auth "$@"; then